Belajar Web Programming PHP, HTML, MySQL dan Tutorial

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









Labels: Aplikasi Web, Belajar, Membuat Website, PHP, Tutorial

Terima kasih telah membaca Aplikasi Import Data Siswa Dari Excel Ke Database MySQL Dengan PHP. Bila bermanfaat boleh di share yah :)

0 Comment for "Aplikasi Import Data Siswa Dari Excel Ke Database MySQL Dengan PHP"

Back To Top