Membuat Kamus sederhana Inggris - Indonesia dengan PHP dan MySQLTopik

Diposting oleh wanz-blog on Jumat, 16 Desember 2011

Share on :
Untuk tutorial selanjutnya gw pengen bikin kamus inggris-indonesia dengan PHP. hal yang bisa kita pelajari di sini adalah:
  1. bagaimana membuat proyek sederhana,
  2. export csv ke MySQL
  3. bagaimana menghubungkan dengan database mySQL,
  4. bagaimana menampilkan data dan
  5. memanfaatkan pencarian dengan PHP.
Untuk mempermudah mereka yang ingin belajar maka proyek ini saya buat sesederhana mungkin agar mudah dipahami. Apabila Anda ingin mengembangkannya silahkan dan alangkah baiknya kalo Anda share di sini.

PERSIAPAN

Baiklah mari kita mulai, tapi sebelumnya siapkan siapkan alat dan bahan berikut:
  1. server PHP dan server mysql / appserv / xamps : baca artikel instalasi webserver (Appserv)
  2. text editor (notepad++, scite, ultraedit, dll) atau Dreamweaver.
  3. database dari gkamus (gkamus-en.dict dan gkamus-id.dict)
Hal paling penting di kamus adalah databasenya.Setelah nanya-nanya om google akhirnya nemu databasenya gkamus (http://gkamus.sourceforge.net). Syukurlah databasenya public domain, artinya bisa kita pakai di tutorial ini. Makasih buat saudara Ardhan Madras, Firmansyah dan Hantarto Gunawan.

EXPORT DATABASE KE CSV

Database di sini ada dua macam yaitu:
  1. gkamus-en.dict : kamus English ke bahasa Indonesia
  2. gkamus-id.dict : kamus bahasa Indonesia ke English
Selanjutnya database ini kita convert (ubah) menjadi bentuk mysql. Nantinya kita buat dua tabel yakni tabel english dan tabel indonesia.
Mari kita obok-obok database. pertama kita export menjadi bentuk *.CSV lewat excel. Buka aja file gkamus-en.dict dan gkamus-id.dict tadi. tapi satu-satu ajah biar ga ribet. Kalo ga bisa buka sini gw ajarin buka. caranya klik kanan open trus pilih "select program from list" klik OK dan pilih "Microsoft office excel".
Ini screen shotnya.
membuat kamus screen shot database kamus
Kemudian hapus yang tidak berguna. Hapus baris 1 sampai dengan 5. delete rows. Ok siap diexport ke *.csv.
Pilih file | save as another format | di bagian save as type pilih "CSV (comma delimited)". Kasih nama english. Klik save apabila ada prompt klik yes
PENTING:
lakukan juga search an replace karakter " (double quote) menjadi ` (back quote)
ini penting agar waktu import ke mySQL tidak mengalami error.
Catatan: backquote bukanlah quote. Kalo di keyboard gw letaknya di bawah tilde (~)
simpan database kamus jadi csv file
Lakukan juga pada file satunya kemudian export ke *.csv dengan nama indonesia
Apabila ingin tahu hasil exportnya ini gw share: indonesia.csv dan english.csv.

EXPORT CSV KE MySQL

Untuk export dari csv ke MySql kita pakai phpmyadmin. Omong-omong phpmyadmin ini udah ada di bundle phpmyadmin. buka http://localhost dan ada akan mendapatinya di situ.
klik phpmyadmin
Klik link tersebut. kalo diminta password, masukkan user dan password Anda, apabila phpmyadmin-nya belum ada set biasanya user: root dan passwordnya kosong. Kemudian buat database dengan nama kamus.Klik tombol ciptakan.
buat database
Kemudian buat tabel dengan nama "english" jumlahnya 2 fields.
buat tabel di phpmyadmin
Klik go.
Kemudian isikan propertynya. Set seperti ini:
kata : VARCHAR : 100
arti : TEXT :
properti tabel kamus.english
Kemudian klik save.
Struktur tabel english sudah jadi. Sekarang mari kita import file CSV kita.
  1. klik Import di menu atas phpmyadmin.
  2. klik browse dan arahkan ke english.csv
  3. klik go.
Data sudah diimport tinggal tambah kolom id , jadikan primary key dan auto increement.
  1. klik tabel english di bagian kiri
  2. pilih add 1 field. letaknya pilih at beginning of table
  3. klik go
  4. isi dengan
    Field : id
    type : INT
    extra : auto_increement
    pilih primary key
primary dan auto increement
Jadi deh tabel english kita.
Tinggal bikin tabel indonesia. langkahnya sama seperti tadi. field-fieldnya juga sama seperti tadi.
Jangan lupa import seperti tadi dan jangan lupa pula untuk search and repalce karakter double quote (") menjadi back quote(`) biar sewaktu importnya ga error.
Kalo bingung navigasi di phpmyadmin coba klik kata kamus di kiri. Itu akan membawa kita kembali ke halaman depan database kita; yakni database kamus.
Kalo sudah jadi akan tampak seperti inilah database kita.
database kamus

Menampilkan database Kamus dengan PHP

Sekedar mengingat kembali, kita tadi sudah membuat:
  • database dengan nama kamus,
  • dua buah tabel yang masing-masing namanya english dan indonesia
  • kemudian masing-masing tabel berisi field id, kata dan arti
Ok mari kita mulai koding.
Penulis menggunakan appserv untuk servernya. Untuk xamp atau lainnya bisa menyesuaikan.
Pertama kita buat folder dengan nama kamus di folder www. Path lengkapny adalah "C:AppServwwwkamus"
nantinya kita dapat mengakses kamus kita melalui browser dengan alamat "http://localhost/kamus"
Ke dua kita buat file tampil.php
dan isi dengan script berikut untuk koneksi ke database.
  1.   <?php  
  2.   
  3. //   SETTING  
  4.   
  5. $db_host = "localhost";  
  6. $db_user = "root";    // isi sesuai user mysql Anda  
  7. $db_pass = "sipit";   // isi sesuai password mysql Anda  
  8. $db_name = "kamus";   // nama database anda  
  9.   
  10.   
  11. //   KONEKSI KE DATABASE  
  12. $link = mysql_pconnect ($db_host$db_user$db_passor die ("Ga bisa connect");  
  13. mysql_select_db ($db_nameor die ("Ga bisa select database");  
  14.   
  15. ?>  
  16.     
Ke tiga tambahkan script untuk menampilkan database. Script lengkapnya seperti ini

  1.   <?php  
  2.   
  3. //   SETTING  
  4.   
  5. $db_host = "localhost";  
  6. $db_user = "root";    // isi sesuai user mysql Anda  
  7. $db_pass = "sipit";   // isi sesuai password mysql Anda  
  8. $db_name = "kamus";   // nama database anda  
  9.   
  10.   
  11. //   KONEKSI KE DATABASE  
  12. $link = mysql_pconnect ($db_host$db_user$db_passor die ("Ga bisa connect");  
  13. mysql_select_db ($db_nameor die ("Ga bisa select database");  
  14.   
  15.   
  16. //   MENAMPILKAN SEMUA DATA  
  17. //   - masih menampilkan data tanpa pemisah  
  18.   
  19. $sql = mysql_query("SELECT * from english"or die(mysql_error());  
  20.     while ($res=mysql_fetch_array($sql)) {  
  21.             echo $res['id'];  
  22.             echo $res['kata'];  
  23.             echo $res['arti'];                  
  24.         }   
  25.           
  26.           
  27. ?>  
  28.     
Script di atas akan menampilkan semua data di tabel english dan tanpa pemisah.
Untuk memisahkan per data coba tambahkan <BR> pada akhir script, dan untuk memisahkan per field kita bisa pakai dash (-) seperti contoh di bawah ini:
Atau terserah Anda untuk menampilkan data seperti yang Anda kehendaki.
  1. $sql = mysql_query("SELECT * from english"or die(mysql_error());  
  2.  while ($res=mysql_fetch_array($sql)) {  
  3.  echo $res['id'];  
  4.  echo $res['kata'];  
  5.  echo $res['arti'];   
  6.  echo '<br>  
  7.  ';                 
  8.  }   
Ke empat misalkan kita ingin menampilkan data yang cocok dengan kata gecko.
Kita tinggal memodifikasi SQLnya. seperti ini:
  1. $sql = mysql_query("SELECT * from english where kata = 'gecko' "or die(mysql_error());  
  2.  while ($res=mysql_fetch_array($sql)) {  
  3.  echo $res['id'] . ' - ';  
  4.  echo $res['kata'] . ' - ';  
  5.  echo $res['arti'];   
  6.  echo '<br>';                 
  7.  }    
Cermati kode SELECT * from english where kata = 'gecko'
hasil pertama kamus
Ke empat bagaimana apabila kita ingin melakukan kata yang mendekati / mirip?
jawabnya gampang. tinggal tambahkan % di awal dan atau akhir kata yang dicari dan mengubah = dengan LIKE
contohnya seperti ini
  1. SELECT * from english where kata LIKE 'ge%'   
Coba ganti dengan '%ge%' atau '%ge' maka Anda akan mendapatkan hasil yang berbeda.
Hasilnya seperti ini:
hasil kamus
Cuman seperti itu. Gampang khan?

Membuat Form Pencarian

Sekarang kita buat form pencariannya.
buat file berikut dan simpan dengan nama cari.php
  1. <form method="post" action="tampil.php">  
  2.   <p>Kata yang dicari: <input type="text" name="cari" id="cari" /> </p>  
  3.   <p><input type="submit" name="submit" id="submit" value="Submit" /> </p>  
  4. </form>  
Form sederhana di atas apabila diklik akan mengarah ke file tampil.php dengan membawa nilai post cari ($_POST['cari'])

Memodifikasi Tampil.php untuk Menghandle Form Pencarian

tampil.php kita edit seperti di bawah ini agar bisa menangkap variabel post ($_POST['cari'])
  1. <?php  
  2.   
  3. ari = $_POST['cari']; // menangkap inputan dari fiel cari di form pada file cari.php  
  4.   
  5.   
  6.   //   SETTING  
  7.     
  8.   $db_host = "localhost";  
  9.   $db_user = "root";    // isi sesuai user mysql Anda  
  10.   $db_pass = "sipit";   // isi sesuai password mysql Anda  
  11.   $db_name = "kamus";   // nama database anda  
  12.     
  13.     
  14.   //   KONEKSI KE DATABASE  
  15.   $link = mysql_pconnect ($db_host$db_user$db_passor die ("Ga bisa connect");  
  16.   mysql_select_db ($db_nameor die ("Ga bisa select database");  
  17.     
  18.     
  19.   //   MENAMPILKAN SEMUA DATA  
  20.   //   - masih menampilkan data tanpa pemisah  
  21.     
  22.   $sql = mysql_query("SELECT * from english where kata LIKE '$cari' "or die(mysql_error());  
  23.           while ($res=mysql_fetch_array($sql)) {  
  24.               echo $res['id'] . ' - ';  
  25.               echo $res['kata'] . ' - ';  
  26.               echo $res['arti'];    
  27.               echo '<br>';              
  28.           }   
  29.      
  30.         
  31. gt;  
Kemudian apabila ingin menampilkan form dan hasil pencarian dalam satu halaman bisa menggunakan satu file berikut.
  1. <form method="post" action="<?=$_SERVER['PHP_SELF']?>">  
  2.   <p>Kata yang dicari: <input type="text" name="cari" id="cari" /> </p>  
  3.   <p><input type="submit" name="submit" id="submit" value="Submit" /> </p>  
  4. </form>  
  5.   
  6.   
  7. <?php  
  8.   
  9. $cari = $_POST['cari']; // menangkap inputan dari fiel cari di form pada file cari.php  
  10.   
  11. If (isset($cari)) {  
  12.     //   SETTING  
  13.       
  14.     $db_host = "localhost";  
  15.     $db_user = "root";    // isi sesuai user mysql Anda  
  16.     $db_pass = "sipit";   // isi sesuai password mysql Anda  
  17.     $db_name = "kamus";   // nama database anda  
  18.       
  19.       
  20.     //   KONEKSI KE DATABASE  
  21.     $link = mysql_pconnect ($db_host$db_user$db_passor die ("Ga bisa connect");  
  22.     mysql_select_db ($db_nameor die ("Ga bisa select database");  
  23.       
  24.       
  25.     //   MENAMPILKAN SEMUA DATA  
  26.     //   - masih menampilkan data tanpa pemisah  
  27.       
  28.     $sql = mysql_query("SELECT * from english where kata LIKE '$cari' "or die(mysql_error());  
  29.             while ($res=mysql_fetch_array($sql)) {  
  30.                 echo $res['id'] . ' - ';  
  31.                 echo $res['kata'] . ' - ';  
  32.                 echo $res['arti'];    
  33.                 echo '<br>';              
  34.             }   
  35. }          
  36.           
  37. ?>  
perubahannya adalah : <form method="post" action="kamus.php"> untuk redirect ke halamannya sendiri.
Atau bisa kita ubah menjadi <form method="post" action="<?=$_SERVER['PHP_SELF']?>"
kemudian untuk mengecek apakah inputannya sudah di set ataukah belum menggunakan:

  1. if (isset($cari)) {  
  2. // kode isinya di sini  
  3. //  
  4. // kode isinya di sini  
  5. }  

Finaly

Akhirnya selesai sudah. Project kamus dengan PHP kita sudah selesai dan cuman diwakili oleh satu buah file kamus.php
Tentunya itu untuk keperluan belajar aja. Untuk aplikasi sebenarnya perlu beberapa opsi security dan tambahan fungsi. Mungkin ada yang nanya. Tabel indonesia-nya mo diapain?? Hehe itu untuk PR bikin kamus yang versi English ke bahasa Indonesia.

{ 1 komentar... read them below or add one }

Safari Javatrans mengatakan...

terima kasih banyak sudah share ilmu nya :)

Posting Komentar