Anda di halaman 1dari 4

Baca Tulis File DBF dengan PHP

Tutorial dibuat oleh Achmad Solichin (http://achmatim.net) pada tanggal 16 Maret 2010

Setelah sebelumnya kita membahas mengenai bagaimana baca tulis file CSV dengan PHP, maka
pada tutorial ini akan dibahas mengenai baca tulis file DBF. Tutorial ini menjawab pertanyaan salah
satu pengunjung Achmatim.Net yang menanyakan bagaimana penanganan file DBF dengan PHP.
Berikut ini kutipannya:

“terima kasih pak artikelnya, mohon kami diberi sampel cara membaca file dbf dengan php beserta
cara insert, delete dan update, serta kalau ingin menampilkan beberapa filed saja bagaimana terima
kasih.”

Format file DBF (Database File) merupakan format penyimpanan basis data yang bisa dibilang
generasi pertama dari DBMS (database management system). DBF dikenalkan pertama kali sebagai
format file database dari DBMS dBase, yang selanjutnya digunakan juga oleh Paradox, Clipper,
FoxPro dan beberapa database lainnya.

PHP sebagai bahasa pemrograman populer saat ini juga mendukung baca tulis file DBF (dBase). PHP
memiliki sekumpulan fungsi khusus terkait penanganan dBase. Untuk dapat menggunakan fungsi
tersebut, library PHP seperti php_dbase.dll (di Windows) harus diaktifkan. Namun dalam tutorial ini
kita tidak akan menggunakan fungsi terkait dBase tersebut, tapi kita akan menggunakan salah satu
library (class) yang saya dapat dari situs kumpulan class php. Library tersebut bernama phpxbase
dan dibuat oleh Erwin Kooi.

Membuat dan Menulis File DBF

Dalam tutorial ini kita akan membuat file DBF sederhana bernama “mahasiswa.dbf” dimana
didalamnya berisi data mahasiswa beserta nilainya. Field data yang akan disimpan adalah nim, nama
dan nilai. Data mahasiswa akan diisikan melalui sebuah form sederhana.

Nama File: tulis_dbf.php

1 <html>
2 <head><title>Input Nilai Mahasiswa (Demo Menulis File DBF) </title>
3 </head>
4 <body>
5 <h1>Input Nilai Mahasiswa</h1>
6 <form action="" method="post">
7 NIM : <input type="text" name="nim" maxlength="10"/><br/>
8 NAMA : <input type="text" name="nama" size="30"/><br/>
9 NILAI : <input type="text" name="nilai" size="5"/><br/>
10 <input type="submit" name="Simpan" value="Simpan"/>
11 <input type="reset" name="Reset" value="Reset"/>
12 </form>
13
14 <?php
15
16 if (isset($_POST['Simpan'])) {
17 //ambil data
18 $nim = $_POST['nim'];
19 $nama = $_POST['nama'];
20 $nilai = $_POST['nilai'];
21
22
23 /* load the required classes */
24 require_once "phpxbase/Column.class.php";
25 require_once "phpxbase/Record.class.php";
26 require_once "phpxbase/Table.class.php";
27 require_once "phpxbase/WritableTable.class.php";
28
29 /* definisikan field */
30 $fields = array(
31 array("nim" , DBFFIELD_TYPE_CHAR, 11),
32 array("nama" , DBFFIELD_TYPE_CHAR, 50),
array("nilai" , DBFFIELD_TYPE_NUMERIC, 3, 0)
33 );
34
35 /* buat tabel / db baru */
36 $tableNew =
XBaseWritableTable::create("mahasiswa.dbf",$fields,false);
37
38 /* masukkan data */
39 $r =& $tableNew->appendRecord();
40 $r->setObjectByName("nim",$nim);
41 $r->setObjectByName("nama",$nama);
42 $r->setObjectByName("nilai",$nilai);
43 $tableNew->writeRecord();
44
45 echo '<h2>Data berhasil disimpan</h2>';
46 echo '<p>Klik <a href="baca_dbf.php">di sini</a> untuk menampilkan
data</p>';
47 /* tutup tabel */
48 $tableNew->close();
49
50 } // end of if
51 ?>
52 </body>
53 </html>

Membaca dan Menampilkan Isi File DBF

Untuk membaca file DBF, digunakan class XbaseTable dari library phpxbase yang kita gunakan.
Berikut ini contoh pembacaan file DBF yang sudah dibuat di program sebelumnya. Data akan
ditampilkan ke dalam bentuk tabel di browser.

Nama File: baca_dbf.php

1 <html>
2 <head><title>Daftar Nilai Mahasiswa (Demo Baca File DBF)</title>
3 </head>
4 <body>
5 <h1>Daftar Nilai Mahasiswa</h1>
6
7 <table width="100%" border="1">
8 <tr>
9 <th>NO</th>
10 <th>NIM</th>
11 <th>NAMA</th>
12 <th>NILAI</th>
13 </tr>
14
15 <?php
16 /* load the required classes */
17 require_once "phpxbase/Column.class.php";
18 require_once "phpxbase/Record.class.php";
19 require_once "phpxbase/Table.class.php";
20
21 /* buat object table dan buka */
22 $table = new XBaseTable("mahasiswa.dbf");
23 $table->open();
24
25 $row = 1;
26 while ($record=$table->nextRecord()) {
27 echo "<tr>";
28 echo "<td>".$row++."</td>";
29 foreach ($table->getColumns() as $i=>$c) {
30 echo "<td>".$record->getString($c)."</td>";
31 }
32 echo "</tr>";
33 } //end while
34
35 $table->close();
36
37 ?>
38 </table>
39 <p><a href="tulis_dbf.php">Input Nilai Mahasiswa</a></p>
40 </body>
41 </html>

Demo dan Download Contoh Program


• Demo Program dan Download Contoh Program di http://achmatim.net

Kesimpulan

Proses baca tulis file DBF di PHP dapat menggunakan fungsi‐fungsi yang sudah tersedia di PHP, yaitu
fungsi yang berhubungan dengan penanganan database dBase. Sebagai alternatif, kita juga dapat
menggunakan beberapa library (class) yang dibuat khusus untuk penanganan file DBF (dBase), salah
satunya PHPXBASE. Tutorial ini hanya menjelaskan mengenai proses baca tulis file DBF
menggunakan library PHPXBASE tersebut secara sederhana, namun selanjutnya dapat
dikembangkan menjadi aplikasi yang lebih kompleks.

Selamat mencoba dan maju terus ilmu pengetahuan Indonesia!

‐oOo‐

Tentang Penulis
Achmad Solichin. Adalah Lulusan Teknik Informatika, Fakultas Teknologi
Informasi, Universitas Budi Luhur, Jakarta (S1, 2005). Saat ini sedang menempuh
pendidikan S2 di Magister Teknologi Informasi Universitas Indonesia (2008).
Kegiatan sehari‐hari adalah sebagai Dosen di Universitas Budi Luhur
(http://www.bl.ac.id). Kegiatan lain aktif sebagai programmer, web developer,
system analyst dan memberikan pelatihan di berbagai bidang komputer serta
membuat tutorial‐tutorial praktis di bidang komputer. Penulis memiliki situs
utama di http://achmatim.net yang berisi berbagai tutorial praktis di bidang
komputer serta menyediakan buku gratis komputer. Penulis dapat dihubungi melalui email di
achmatim@gmail.com, YM achmatim, Facebook achmatim dan Twitter achmatim.

Lisensi Dokumen

Seluruh isi dalam dokumen ini dapat digunakan, dimodifikasi dan disebarluaskan secara bebas untuk
tujuan pendidikan, pembelajaran dan bukan komersial (non profit), dengan syarat tidak
menghilangkan, menghapus atau mengubah atribut penulis dokumen ini dan pernyataan dalam
lisensi dokumen yang disertakan di setiap dokumen. Tidak diperbolehkan mengkomersialkan tutorial
ini kecuali mendapatkan ijin terlebih dahulu dari penulis.