Loading..
Sponsored By :GoogleAdsense.

Tuesday, May 31, 2011

Membuat Kamus sederhana Inggris - Indonesia dengan PHP dan MySQL

Untuk tutorial selanjutnya gw pengen bikin kamus. 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.   
  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.   
  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
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 '
      
  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 '
    '
    ;                 
  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. "post" action="tampil.php">  
  2.   Kata yang dicari: "text" name="cari" id="cari" /> 
      
  3.   "submit" name="submit" id="submit" value="Submit" /> 
      
  4.   
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.   
  2. ari = $_POST['cari']; // menangkap inputan dari fiel cari di form pada file cari.php  
  3.   
  4.   
  5.   //   SETTING  
  6.     
  7.   $db_host = "localhost";  
  8.   $db_user = "root";    // isi sesuai user mysql Anda  
  9.   $db_pass = "sipit";   // isi sesuai password mysql Anda  
  10.   $db_name = "kamus";   // nama database anda  
  11.     
  12.     
  13.   //   KONEKSI KE DATABASE  
  14.   $link = mysql_pconnect ($db_host$db_user$db_passor die ("Ga bisa connect");  
  15.   mysql_select_db ($db_nameor die ("Ga bisa select database");  
  16.     
  17.     
  18.   //   MENAMPILKAN SEMUA DATA  
  19.   //   - masih menampilkan data tanpa pemisah  
  20.     
  21.   $sql = mysql_query("SELECT * from english where kata LIKE '$cari' "or die(mysql_error());  
  22.           while ($res=mysql_fetch_array($sql)) {  
  23.               echo $res['id'] . ' - ';  
  24.               echo $res['kata'] . ' - ';  
  25.               echo $res['arti'];    
  26.               echo '
    '
    ;              
  27.           }   
  28.      
  29.         
  30. gt;  
Kemudian apabila ingin menampilkan form dan hasil pencarian dalam satu halaman bisa menggunakan satu file berikut.
  1. "post" action="">  
  2.   Kata yang dicari: "text" name="cari" id="cari" /> 
      
  3.   "submit" name="submit" id="submit" value="Submit" /> 
      
  4.   
  5.   
  6.   
  7.   
  8. $cari = $_POST['cari']; // menangkap inputan dari fiel cari di form pada file cari.php  
  9.   
  10. If (isset($cari)) {  
  11.     //   SETTING  
  12.       
  13.     $db_host = "localhost";  
  14.     $db_user = "root";    // isi sesuai user mysql Anda  
  15.     $db_pass = "sipit";   // isi sesuai password mysql Anda  
  16.     $db_name = "kamus";   // nama database anda  
  17.       
  18.       
  19.     //   KONEKSI KE DATABASE  
  20.     $link = mysql_pconnect ($db_host$db_user$db_passor die ("Ga bisa connect");  
  21.     mysql_select_db ($db_nameor die ("Ga bisa select database");  
  22.       
  23.       
  24.     //   MENAMPILKAN SEMUA DATA  
  25.     //   - masih menampilkan data tanpa pemisah  
  26.       
  27.     $sql = mysql_query("SELECT * from english where kata LIKE '$cari' "or die(mysql_error());  
  28.             while ($res=mysql_fetch_array($sql)) {  
  29.                 echo $res['id'] . ' - ';  
  30.                 echo $res['kata'] . ' - ';  
  31.                 echo $res['arti'];    
  32.                 echo '
    '
    ;              
  33.             }   
  34. }          
  35.           
  36. ?>  

0 Comments:

Post a Comment

leave comment for this article...

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites

 
Photobucket