Belajar Web Programming PHP, HTML, MySQL dan Tutorial

Aplikasi Import Data Siswa Dari Excel Ke Database MySQL Dengan PHP

Aplikasi Import Data Siswa Dari Excel Ke Database MySQL Dengan PHP

Dalam keseharian penggunaan program kadang kala kita menemukan suatu kondisi dimana melakukan input data terhadap sistem yang digunakan menjadi sesuatu yang memakan waktu. Apabila datanya masih dalam bentuk hardcopy mungkin memang mau tidak mau harus dilakukan, tetapi apabila data tersebut dalam bentuk Excel tentunya akan cukup memusingkan bukan? data sudah dalam bentuk file tetapi memasukannya secara otomatis kedalam sistem kita tampaknya terlihat ribet ^^


Pada dasarnya sistem yang dibuat apabila telah menggunakan database khususnya database mysql kita dapat menggunakan tools salah satunya yaitu phpmyadmin untuk melakukan import data dari excel ke database mysql. Hal ini cukup mudah bagi pengguna yang mengerti teknis khususnya programmer maupun developer. Akan tetapi ini menjadi hal yang kadang bisa saja memusingkan pengguna khususnya pengguna-pengguna umum yang sifatnya sebagai operator dalam menjalankan sistem tersebut.

Perlu kita ingat bahwa dalam menghasilkan suatu sistem atau aplikasi yang akan digunakan oleh end user tentu harus juga memikirkan mengenai aspek kemudahan dalam mengoperasikan sistem ^^ pada tutorial kali ini kita menggunakan sourcecode opensource yang di submit oleh anthu1510 dimana dapat diperoleh di sourcecodester.com. Namun pada tutorial kali ini berisi penjelasan-penjelasan sedikit yang nantinya akan kita gunakan untuk studi kasus yang berbeda.

Oke mari kita lanjutkan ke tutorial mengenai aplikasi tersebut. Berdasarkan hasil download terdapat dokumentasi yang sederhana berupa instruksi sebagai berikut:

1. Ekstrak fil zip yang telah di download
2. Buat database dengan nama "excelimport"
3. buka folder dengan nama db
4. import "excelimport.sql" kedalam database (bisa melalui phpmydadmin)
5. demo aplikasi dapat menggunaan file excel dengan nama "users.xlsx"

instruksi diatas merupakan terjemahan singkat dari sumber aslinya yaitu disini
 www.sourcecodester.com/php/11609/import-excel-data-mysql-database-using-php.html  

jika ingin menggunakan file sumber aslinya dapat menggunakan link diatas. Pada tutorial ini kita akan mengubah sedikit dari kode diatas dengan menggunakan contoh yang lain. Apabila dari sumber diatas menggunakan data untuk menyimpan nomor kontak, kita bisa mencobanya dengan yang lain misalnya untuk data siswa.

Buat terlebih dahulu database dengan nama "dbsekolah" dan Tabel "siswa" dengan field (nis,nama,gender,kelas) berikut adalah sintak SQLnya

 -- phpMyAdmin SQL Dump  
 -- version 3.3.8.1  
 -- http://www.phpmyadmin.net  
 --  
 -- Host: localhost  
 -- Generation Time: Sep 28, 2017 at 07:35 AM  
 -- Server version: 5.6.12  
 -- PHP Version: 5.4.16  
 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";  
 --  
 -- Database: `dbsekolah`  
 --  
 CREATE DATABASE `dbsekolah` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;  
 USE `dbsekolah`;  
 -- --------------------------------------------------------  
 --  
 -- Table structure for table `siswa`  
 --  
 CREATE TABLE IF NOT EXISTS `siswa` (  
  `nis` bigint(20) NOT NULL AUTO_INCREMENT,  
  `nama` varchar(50) NOT NULL,  
  `gender` varchar(1) NOT NULL,  
  `kelas` varchar(10) NOT NULL,  
  PRIMARY KEY (`nis`)  
 ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;  
 --  
 -- Dumping data for table `siswa`  
 --  

Untuk menjalankan kode SQL diatas dapat mengikuti instruksi berikut ini:
1. buka aplikasi untuk pengelola database misalnya phpmyadmin atau sqlyog
2. buka bagian untuk mengeksekusi perintah SQL
3. paste kode diatas di textarea tempat sql akan dieksekusi
4. run/ekskusi



Apabila database dan tabel telah jadi maka kita akan melakukan langkah yang kurang lebih sama dengan diatas. Berikut ini adalah penggalan kode dari kode sumber yang lengkap

Halaman koneksi.php
 <?php  
 $host = 'localhost';  
 $user = 'root';  
 $pass = '';  
 $db  = 'dbsekolah';  
 $connect = mysqli_connect($host,$user,$pass);  
 mysqli_select_db($connect,$db);  
 ?>  

Halaman index.php
 <!DOCTYPE html>  
 <html>  
 <head>  
   <meta charset="UTF-8">  
   <title>Aplikasi Import File Excel Kedalam Database MySQL</title>  
   <link href="bootstrap/css/bootstrap.min.css" rel="stylesheet">  
 </head>  
 <body>  
 <div class="container">  
   <div class="row">  
     <div class="col-lg-offset-4 col-lg-4 col-md-offset-4 col-md-4 well">  
       <div class="form-group">  
         <h4>Pilih File Excel yang akan diupload</h4>  
       </div>  
       <form method="post" action="import_excel.php" enctype="multipart/form-data">  
         <div class="form-group">  
           <input type="file" name="excelfile" id="excelfile">  
         </div>  
         <div class="form-group">  
           <button class="btn btn-primary">Upload</button>  
         </div>  
       </form>  
     </div>  
   </div>  
 </div>  
 </body>  
 </html>  

Halaman index tersebut akan menampilkan sebuah form sederhana untuk mengupload file excel yang akan disimpan kedalam database.

Penggalan kode import_excel.php
 // Number of Rows in Excel sheet  
       foreach ($sheet->getRowIterator() as $row)  
       {  
         // It reads data after header. In the my excel sheet,  
         // header is in the first row.  
         if ($count > 0) { //lebih dari nol agar bagian header tidak ikut tersimpan  
           // Data of excel sheet  
           $nis  = $row[0];  
           $nama  = $row[1];  
           $gender = $row[2];  
           $kelas = $row[3];  
           //insert data setiap baris kedalam database  
           $sql = "INSERT INTO siswa (nis, nama, gender, kelas)   
                 VALUES ('$nis', '$nama', '$gender', '$kelas' )";  
           $query = mysqli_query($connect,$sql);  
         }  
         $count++;  

Disana kita melihat bahwa fungsi getRowIterator() digunakan untuk menyeleksi kolom-kolom mana saja yang akan diambil datanya setiap baris untuk dimasukan kedalam perintah insert. Dalam file excel yang diberikan terdapat header masing-masing kolom yang menunjukan field dari data tersebut, maka pada saat memilih baris yang akan dimasukan ke perintah insert adalah baris yang bukan header yaitu baris yang lebih dari nol. Bagian kode yang lain dapat dilihat dengan mendownload fullsourcecode yang ada di bagian akhir artikel.

Hasil

Form untuk mengupload file excel


Import file excel berhasil

Hasil import file excel ditampilkan menggunakan phpmyadmin


Dengan berhasilnya data masuk kedalam database MySQL tentunya ini menjadi dasar jika kita ingin membuat aplikasi yang lebih kompleks lagi dengan memanfaatkan fitur upload file excel untuk mengisi data-data yang mungkin sebelumnya telah ada di file excel yang digunakan dalam sistem berjalan sebelumnya. Untuk implementasi menjadi aplikasi yang lebih kompleks akan dibahas kemudian :) jika ingin menggunakan kode diatas dapat mendownloadnya dari link dibawah ini.

Download Sourcode Aplikasi Import Data Siswa Dari Excel Ke Database MySQL Dengan PHP









Penggunaan Konstanta Dalam PHP Untuk Menghitung Luas Lingkaran

Penggunaan Konstanta Dalam PHP Untuk Menghitung Luas Lingkaran

Konstanta digunakan dalam menampung data nilai yang bersifat tetap atau konstan. Menurut Wikipedia konstanta (constant ) adalah suatu lokasi penyimpanan yang terdapat di dalam memori dengan berisikan nilai yang memiliki sifat tetap dan tidak dapat diubah selama program tersebut berjalan. Kondisi ini sangat diperlukan dalam suatu pemrograman dimana kita membutuhkan suatu nilai atau kondisi yang tidak berubah sepanjang waktu atau jika ada perubahan pun kita dimudahkan dengan hanya memperbaharui nilai dari konstanta tersebut apabila diperlukan.

Image Source: vexytech.com

Dalam pemrograman PHP penciptaan konstanta dapat dilakukan dengan dua cara yaitu dengan menggunakan fungsi const dan define(). Masing-masing fungsi mempunyai sintaksnya tersendiri yang dapat digunakan sesuai dengan kebutuhan programmer.

1. Membuat konstanta menggunakan const

 <?php  
 //menciptakan konstanta  
 const HOMELINK = “www.belajarwebpedia.com”;   
 echo HOMELINK;  
 //kode diatas akan menghasilkan keluaran www.belajarwebpedia.com  
 ?>  

2. Membuat konstanta menggunakan define()

 <?php  
 Define (“HOME”, “ www.belajarwebpedia.com”);  
 echo HOME;  
 //kode diatas akan menghasilkan keluaran yang sama yaitu www.belajarwebpedia.com  
 ?>  

Pembuatan konstanta memiliki sifat case sensitive yang artinya huruf besar dan huruf kecil dianggap berbeda. Secara umum pembuataan konstanta menggunakan huruf besar dengan dasar agar mempermudah untuk mengenali perbedaan antara variabel dan konstanta.

Untuk lebih memahami penggunaan konstanta kita dapat mencobanya dengan membuat sebuah aplikasi untuk menghitung luas lingkaran dimana dalam luas lingkaran terdapat suatu konstanta bernama phi. Berikut ini adalah contoh sourcecode tersebut.

 <!DOCTYPE HTML>  
 <html>  
 <head>  
      <title>Belajar Konstanta dengan PHP</title>  
 </head>  
 <body>  
 <?php  
 define("PHI", 3.14);  
 $r= 10;  
 $luas = PHI * $r * $r;  
 echo "Luas Lingkaran untuk jari-jari $r cm adalah $luas cm2";   
 //hasil output dari program diatas adalah seperti gambar dibawah  
 ?>  
 </body>  
 </html>  

Hasil kode diatas


Kode diatas adalah gambaran jika kita menggunakan konstanta phi untuk perhitungan luas lingkaran. Contoh kode diatas masih bersifat statis dimana jari-jari dari lingkaran kita tentukan bernilai 10. Apabila diperlukan kita dapat membuat suatu aplikasi sederhana untuk menentukan berapa luas lingkaran apabila jari-jarinya diinputkan oleh pengguna. Dibawah ini adalah kode sumber untuk aplikasi tersebut.

Sourcecode Aplikasi menghitung luas lingkaran

 <!DOCTYPE HTML>  
 <html>  
 <head>  
      <title>Belajar Konstanta dengan PHP</title>  
 </head>  
 <body>  
 <?php  
 define("PHI", 3.14);  
 ?>  
 <h2>Aplikasi Sederhana Menghitung Luas Lingkaran</h2>  
 <hr>  
      <form action="" method="get">  
      <b>Masukan</b>  
      <input type="text" name="r" placeholder="Jari-jari (Cm)">  
      <input type="submit" value="Hitung">  
      </form>  
 <hr>  
 <?php  
 $r = trim($_GET['r']);  
 $r = isset($r)?$r:'';  
 if (!empty($r))  
 {  
      $luas = PHI * $r *$r;  
 //kode html didalam tanda petik  
 echo "  
           <table width='100%' border='0' >  
           <tr>  
                <td width='120'>Jari-jari</td>  
                <td>: $r cm</td>  
           </tr>  
           <tr>  
                <td width='120'>Luas Lingkaran</td>  
                <td>: $luas cm2</td>  
           </tr>  
           </table>  
       ";  
 }  
 ?>  
 </body>  
 </html>  

hasil dari kode program diatas adalah sebagai berikut



secara sederhana user memasukan nilai jari-jari yang ditentukannya sendiri kemudian sistem akan memperoses jari-jari tersebut menjadi luas lingkaran dengan rumus phi dikali jari-jari dikali jari-jari (jari-jari pangkat 2). Berdasarkan perhitungan tersebut maka kita dapat menemukan berapa luas lingkaran dari jari-jari yang diinputkan tersebut.




Membuat Buku Tamu Dengan PHP Yang Dapat Mencatat IP Pengguna

Membuat Buku Tamu Dengan PHP Yang Dapat Mencatat IP Pengguna

Tutorial mengenai pembuatan buku tamu menggunakan PHP dapat kita temui dengan mudah apa bila kita melakukan pencarian menggunakan google. Namun kadang kala aplikasi buku tamu seperti apa yang kita inginkan tentunya tidak begitu saja terakomodir secara optimal. Pada tutorial kali ini kita akan mencoba membuat buku tamu secara statis terlebih dahulu berikut dengan penjelasan tahap demi tahap agar kita mengerti alur dari program tersebut. Secara sederhana kita bisa membuat algoritma mengenai aplikasi buku tamu seperti berikut ini.

Image source: images.google.com

1. Menampilkan Form input nama, pekerjaan, usia, dan komentar

2.1. Pengguna menginput nama lengkap mereka
2.2. Pengguna memilih pekerjan mereka dengan klasifikasi
  - Pelajar
  - Mahasiswa
  - Guru/Dosen
  - PNS
  - Karyawan Swasta
  - Lain-lain
2.3. Pengguna memilih usia mereka dengan klasifikasi
  - < 20 Tahun
  - 20 s/d 30 Tahun
  - > 30 Tahun
2.4. Pengguna memberikan komentar mereka Maksimal 160 Karakter

3. Sistem memproses data yang dikirim oleh pengguna
3.1. Sistem melakukan verifikasi panjang komentar.
3.1.1. Jika panjang komentar > 160 Karakter maka sistem menampilkan pesan
"Panjang komentar melebihi 160 karakter" dan kembali ke tahap 1.
3.1.2. Jika tidak maka akan lanjut ke tahap 3.2
3.2 Sistem Mencatat tanggal, jam dan IP pengguna

4. Sistem Menampilkan Data buku tamu yang baru saja dinput oleh pengguna.
5. Selesai

Dari algoritma sederhana diatas kita mengetahui bahwa ada 3 bagian penting yang menjadi dasar berjalannya suatu sistem terkomputerisasi, yaitu input, proses dan output. bagian input dimulai dari langkah poin 2, bagian proses dimulai dari langkah poin 3 sedangkan bagian output dimulai pada langkah poin 4. Apa bila hal tersebut telah dipenuhi maka kita dapat membuat aplikasi buku tamu sederhana dengan menggunakan bahasa pemrograman PHP. Pertama kita akan membuat form input dengan menggunakan kode HTML yang dapat kita lihat berikut ini.

Source code Halaman Form Buku Tamu

 <!DOCTYPE HTML>  
 <html>  
 <head>  
      <title>Buku Tamu Dengan Mencatat IP Pengguna</title>  
 </head>  
 <body>  
 <h2>Form Pengisian Buku Tamu</h2>  
 <hr>  
 <form action="index.php" method="GET">  
 <table width="100%" border="0">  
 <tr>  
      <td width="120">Nama Lengkap</td>  
      <td width="5">:</td>  
      <td>  
           <input type="text" name="nama" size="30">  
      </td>  
 </tr>  
 <tr>  
      <td width="120">Pekerjaan</td>  
      <td width="5">:</td>  
      <td>  
           <select name="pekerjaan">  
           <option value="Pelajar"> Pelajar </option>  
           <option value="Mahasiswa"> Mahasiswa </option>  
           <option value="Guru/Dosen"> Guru/Dosen </option>  
           <option value="PNS"> PNS </option>  
           <option value="Karyawan Swasta"> Karyawan Swasta </option>  
           <option value="Lain-lain"> Lain-lain </option>  
           </select>  
      </td>  
 </tr>  
 <tr>  
      <td width="120">Usia</td>  
      <td width="5">:</td>  
      <td>  
           <select name="usia">  
           <option value="u1"> < 20 Tahun </option>  
           <option value="u2"> 20 s/d 30 Tahun </option>  
           <option value="u3"> > 30 Tahun </option>  
           </select>  
      </td>  
 </tr>  
 <tr>  
      <td width="120">Komentar</td>  
      <td width="5">:</td>  
      <td>  
           <textarea name="komentar" cols="50" rows="4"></textarea>  
      </td>  
 </tr>  
 <tr>  
      <td width="120"></td>  
      <td width="5"></td>  
      <td>  
           <input type="submit" value="Kirim Komentar">  
      </td>  
 </tr>  
 </table>  
 </form>  
 <hr>  
 <!-- Kode php untuk inisiasi dibawah baris ini -->  
 <!-- Kode php untuk pemrosesan dan output dibawah baris ini -->  
 </body>  
 </html>  

Kode tersebut diatas akan menampilkan tampilan seperti dibawah ini apabila diakses melalui browser (melalui localhost atau 127.0.0.1 karena nantinya akan ada pemrosesan dengan kode PHP)


Berdasarkan gambar tersebut maka langkah pada algoritma poin 2 dapat kita lakukan, untuk langkah selanjutnya kita membutuhkan sintaks PHP untuk mengakomodir proses-proses tersebut.

Inisiasi variabel dengan PHP

letakan kode ini dibawah komentar
<!-- Kode php untuk inisiasi dibawah baris ini -->

<?php  
 $nama = isset($_GET[nama]) ? $_GET[nama]:'';  
 $pekerjaan = isset($_GET[pekerjaan]) ? $_GET[pekerjaan]:'';  
 $usia = isset($_GET[usia]) ? $_GET[usia]:'';  
 $komentar= isset($_GET[komentar]) ? $_GET[komentar]:'';  
 //menghapus karakter kosong diawal dan akhir value dari variabel  
 $nama = trim($nama);  
 $pekerjaan = trim($pekerjaan);  
 $usia = trim($usia);  
 $komentar = trim($komentar);  
 ?>  

Penggalan kode diatas merupakan bagian dari inisiasi variabel yang dikirim oleh pengguna untuk kemudian diproses dengan menggunakan kode-kode dibawah ini.

Kode untuk melakukan pemrosesan

letakan kode ini dibawah komentar
<!-- Kode php untuk pemrosesan dan output dibawah baris ini -->

<?php  
 if (!empty($nama) and !empty($pekerjaan) and !empty($usia) and !empty($komentar))  
 {  
 $ip = $_SERVER['REMOTE_ADDR'];  
 $tanggal = date("d/m/Y");  
      if ($usia == "u1") { $rangeusia = " < 20 Tahun "; }  
      if ($usia == "u2") { $rangeusia = " 20 s/d 30 Tahun "; }  
      if ($usia == "u3") { $rangeusia = " > 30 Tahun "; }  
 echo "  
 <table width='100%' border='0'>  
 <tr>  
   <td style='border-bottom:1px solid black;'>  
   <b>$nama</b>   
   [ <i>Pekerjaan: $pekerjaan :: Usia: $rangeusia</i> ]  
   </td>  
 <tr>  
 <tr>  
   <td>  
   Komentar : <br>  
   $komentar  
   </td>  
 <tr>  
 <tr>  
   <td style='border-top:1px solid black;'>  
   <i>Dikirim pada tanggal $tanggal :: IP: <b>$ip</b></i>  
   </td>  
 <tr>  
 </table>  
 ";  
 }  
 ?>  

Apa bila kode tersebut diatas telah digabungkan maka kita akan memperoleh hasil seperti dibawah ini.


Melihat dari hasil tersebut, pada bagian IP Address bernilai ::1 dimana itu merupakan IPv6 yang terdapat dikomputer penulis, jika komputer yang digunakan masih menggunakan IPv4 maka yang akan muncul disitu adalah IP 127.0.0.1 Aplikasi buku tamu yang dihasilkan masih berupa data statis dimana akan hilang apabila di refresh. Untuk aplikasi buku tamu menggunakan database akan dibahas kemudian pada web ini.

Jika terdapat kesulitan dalam menggabungkan penggalan kode diatas maka kalian dapat mendownload sourcecode lengkap dengan link dibawah ini:

Link : Download full sourcecode

Terimakasih dan semoga artikel sederhana ini dapat membantu bagi yang baru memulai belajar pemrograman web, khususnya yang menggunakan bahasa pemrograman PHP.
Back To Top