Pada utorial ini mari kita belajar bersama menginstall web server dan database server di komputer kita. Hal ini sangat berguna untuk belajar dan mencoba script kita. Bayangkan apabila belajar PHP saja harus bolak-balik upload lewat FTP. Sungguh tidak menyenangkan tentunya.
Di bagian ini kita akan mempersiapkan hal-hal yang dibutuhkan untuk belajar PHP. Lihat daftar berikut:
>Installer Server: AppServ, Xampp, dan lain-lain AppServ adalah paket installer untuk Windows yang membundel program opensource yang terdiri dari:
Text editor: Notepad atau lainnya (Scite, Ultra Edit, Notepad++, dan lain-lain) PHP adalah berupa script yang tidak perlu dikompilasi. Dengan menggunakan Notepad pun kita sudah bisa, akan tetapi apabila ingin lebih mudah kita bisa memanfaatkan software text editor yang memang didesain untuk itu. fasilitas yang biasanya ada adalah syntax hiliter dan line numbering.
Browser: Internet Explorer atau lainnya (Mozilla Firefox, Opera, dan lain-lain) Browser digunakan untuk menampilkan script yang telah kita buat.
Yang harus Anda lakukan adalah mendapatkan paket installer. Untuk tutorial kali ini digunakan Appserv. Kita bisa memperolehnya di http://www.AppServNetwork.com dengan ukuran sekitar 14kb untuk AppServ versi 2.5.8. Sekarang mari kita install.
Klik ganda file yang telah kita peroleh tadi
Klik agree untuk melanjutkan installasi
Klik next atau ganti "Destination Folder" apabila Anda ingin menginstallnya di tempat lain
Karena semua paket instalasi dibutuhkan, maka langkah selanjutnya adalah klik next
Isikan "Server Name" misalnya localhost, dan email Anda misalnya eko@imut.com, selanjutnya klik next
Isi password Anda dua kali dan klik install
Proses instalasi akan berjalan dan tunggu hingga selesai. Klik Finish
Buka browser Anda misalnya Internet Explore dan ketikkan localhost di address bar, kemudian tekan enter. Apabila muncul tampilan seperti gambar di bawah ini berarti proses instalasi sudah berhasil.
Selanjutnya klik tulisan phpMyAdmin Database Manager atau ketik localhost/phpmyadmin di address bar kemudian tekan enter.
Kemudian Anda diminta mengisikan username dan password. Username : root Password : sesuai yang Anda isikan waktu instalasi
Klik OK, kemudian akan muncul tampilan seperti ini:
Proses installasi webserver dan database server selesai dan berfungsi sebagaimana mestinya. Selanjutnya kita bisa melanjutkan ke tahap selanjutnya.
Setelah menginstall server web, PHP dan server adatabase yang dibundle dalam appserv, mari kita belajar syntax-syntax PHP. Bagi Anda yang belum pernah belajar pemrograman sebelumnya tidak usah takut belajar karena PHP sangatlah mudah dan tidak harus menghafal keseluruhan syntax. Melihat cheatsheet adalah suatu hal yang biasa bagi pemula bahkan bukan suatu hal yang memalukan bagi yang sudah mahir
sekalipun.
Setelah kita menginstall appserv maka beginilah susunan direktori kita:
C:/appserv
Apache2.2
MySQL
php5
www
appserv
phpMyAdmin
belajar
Kita dapat mengakses / mengeksekusi file php kita dengan mengetikkan alamat di web browser kita (firefox, ie, opera, dll). Silahkan ketik localhost di browser Anda. Maka akan tampil halaman pembuka dari appserv.
Apabila kita mengetik localhost maka file yang diakses adalah c://appserv/www/index.php
Mari kita belajar syntax-syntaxnya. Terlebih dahulu mari kita buat sebuah direktory baru dengan nama belajar. Letaknya adalah C:/appserv/www/belajar Setelah selesai mari kita buka notepad atau text editor lain yang Anda suka. Ketik beberapa baris kode berikut ini:
Perlu digarisbawahi, pastikan extensi dari file Anda adalah *.php. Untuk notepad cara menyimpannya adalah pilih Save As | file type ganti dengan All Files | ketik nama filenya; halo.php | save
Sudah selesai. Tinggal mengakses dengan browser. Caranya ketik localhost/belajar/halo.php di browser kemudian pencet enter.
Coba juga mengetikkan localhost/belajar. maka kita akan melihat list file yang ada di direktori belajar. Mengapa? karena kita tidak membuat file devault di direktori kita. Biasanya berupa file dengan nama index.php atau index.htm atau index.html.
Coba lagi dengan membuat mengetikkan syntax berikut:
Sebelum lebih jauh mari kita kenali dulu struktur dan aturan dasar dalam pemrograman PHP. Dalam tutorial kali ini alat yang diperlukan yaitu:
Editor text yang bagus, bukan sekedar notepad. Tapi kita membutuhkan editor text yang memberikan kemudahan kepada kita misalnya text highliting, auto completion, line numbering dll. Penulis memakai Notepad++.
Browser: Firefox, opera atau IE
a. Awal dan Akhir Tags PHP
Pada contoh di bawah ini kita akan menggunakan sebagai akhir tags PHP. Semua karakter di dalam tags PHP ( sesudah ) akan diolah oleh intrepeter PHP. Sedangkan di luarnya ( sebelum ) akan diabaikan oleh intrepeter PHP.
Di PHP versi-versi terdahulu juga menggunakan short open tags. Tags ini masih berfungsi di PHP 5 akan tetapi dapat dinon aktifkan dengan merubah konfigurasi PHPnya. jadi lebih baik menggunanan
kalo yang di bawah ini terlalu mepet. terlalu pelit spasi
"empet-empetan jadi susah bacanya"; ?>
c. Case-Sensitivity
Fungsi-fungsi di PHP tidak case sensitive. Jadi tidak ada perbedaan anatara penggunaan huruf besar dan kecil. Contoh di bawah ini menghasilkan output yang sama.
// Empat baris script ini menghasilkan output yang sama
print number_format(285266237);
PRINT Number_Format(285266237);
Print number_format(285266237);
pRiNt NUMBER_FORMAT(285266237);
Di beberapa sumber menyebutkan bahwa eksekusi fungsi dengan huruf kecil lebih cepat daripada fungsi yang ditulis dengan huruf besar atau ditulis menggunakan kombinasi huruf besar dan kecil. Jadi ga ada ruginya menggunakan huruf kecil saja, betul?
Catatan: Berbeda halnya kalau berurusan dengan file. Di server dengan mesin LINUX penamaan file adalah case sensitif. File dengan nama gecko.jpg berbeda dengan GECKO.JPG
Untuk tutorial selanjutnya gw pengen bikin kamus. hal yang bisa kita pelajari di sini adalah:
bagaimana membuat proyek sederhana,
export csv ke MySQL
bagaimana menghubungkan dengan database mySQL,
bagaimana menampilkan data dan
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:
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:
gkamus-en.dict : kamus English ke bahasa Indonesia
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.
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 (~)
Lakukan juga pada file satunya kemudian export ke *.csv dengan nama indonesia
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 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.
Kemudian buat tabel dengan nama "english" jumlahnya 2 fields.
Klik go.
Kemudian isikan propertynya. Set seperti ini:
kata : VARCHAR : 100
arti : TEXT :
Kemudian klik save.
Struktur tabel english sudah jadi. Sekarang mari kita import file CSV kita.
klik Import di menu atas phpmyadmin.
klik browse dan arahkan ke english.csv
klik go.
Data sudah diimport tinggal tambah kolom id , jadikan primary key dan auto increement.
klik tabel english di bagian kiri
pilih add 1 field. letaknya pilih at beginning of table
klik go
isi dengan
Field : id
type : INT
extra : auto_increement
pilih primary key
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.
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.
$db_pass = "sipit"; // isi sesuai password mysql Anda
$db_name = "kamus"; // nama database anda
// KONEKSI KE DATABASE
$link = mysql_pconnect ($db_host, $db_user, $db_pass) ordie ("Ga bisa connect");
mysql_select_db ($db_name) ordie ("Ga bisa select database");
// MENAMPILKAN SEMUA DATA
// - masih menampilkan data tanpa pemisah
$sql = mysql_query("SELECT * from english") ordie(mysql_error());
while ($res=mysql_fetch_array($sql)) {
echo$res['id'];
echo$res['kata'];
echo$res['arti'];
}
?>
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.
$sql = mysql_query("SELECT * from english where kata = 'gecko' ") ordie(mysql_error());
while ($res=mysql_fetch_array($sql)) {
echo$res['id'] . ' - ';
echo$res['kata'] . ' - ';
echo$res['arti'];
echo' ';
}
Cermati kode SELECT * from english where kata = 'gecko'
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
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.
Yup PRnya dikumpulin lusa dan ga boleh kopas OK. Met belajar
$db_pass = ""; //password isi sesuai seting server Anda.
$db_name = "pencarian"; // karena nama database yang kita buat adalah pencarian
// koneksi ke database
$link = mysql_pconnect ($db_host, $db_user, $db_pass) ordie ("Ga bisa connect");
mysql_select_db ($db_name) ordie ("Ga bisa select database");
// menampilkan data
$sql = mysql_query("SELECT * FROM siswa") ordie(mysql_error());
while ($res=mysql_fetch_array($sql)) {
echo$res[nama].' ';
}
?>
ini adalah script sederhana untuk menampilkan data. Nantinya kita ubah agar bisa menampilkan hasil pencarian
Merubah script agar bisa menampilkan data tertentu.
Di sini kita tinggal mengubag kode SQLnya. Kita bisa menggunakan LIKE diikuti kata yang ingin dicari. Dan diikuti kata yang dicari dan diberi tanda %.
Contoh: apabila kita ingin menampilkan semua siswa yang berawalan huruf s maka kita buat seperti ini:
Ini maksudnya pencarian akan dilakukan di file tampil.php yakni file yang kita buat sebelumnya.
Form pencarian sudah OK. Kita tinggal tangkap variabel dari form_cari.php.
Karena metode yang digunakan adalah POST kita bisa menangkap variabelnya dengan $_POST['search'];
search di sini adalah id dari Text Field di form pencarian.
Ini dia script yang udah kita modifikasi:
$db_pass = ""; //password isi sesuai seting server Anda.
$db_name = "pencarian"; // karena nama database yang kita buat adalah pencarian
// koneksi ke database
$link = mysql_pconnect ($db_host, $db_user, $db_pass) ordie ("Ga bisa connect");
mysql_select_db ($db_name) ordie ("Ga bisa select database");
// menampilkan data
// lihat perubahannya di bawah ini:
$search = $_POST['search'];
// kemudian kita ubah kata kunci pencarian menjadi variabel
// lihat pada $search
// untuk mencari kata yang mengandung kata tertentu, kita ubah tanda % menjadi di awal dan akhir kata kunci.
$sql = mysql_query("SELECT * FROM siswa WHERE nama LIKE '%$search%' ") ordie(mysql_error());
while ($res=mysql_fetch_array($sql)) {
echo$res[nama].' ';
}
?>
Agar lebih simple kita bisa menjadikan 2 file (tampil.php dan form_cari.htm) menjadi satu file.
Tapi kita juga harus memikirkan agar kode dieksekusi apabila tombol cari sudah dipencet. :D
Tidak lucu apabila belum diapa-apain udah basah eh maaf, sudah mengeksekusi script. Yang ada hanyalah menampilkan halaman kosong atau lebih parah lagi menampilkan kode error.
if ((isset($_POST['submit'])) AND ($_POST['search'] <> "")) {
...
}
Maksud kode di atas adalah kode yang diantara kurung kurawal hanya akan dieksekusi jika $_POST['submit']sudah diklik dan apabila ($_POST['search'] sudah ada nilainya.
Mari kita lihat script yang sudah jadi. dan ingat cukup satu file ini untuk menghandle pencarian.
$db_pass = ""; //password isi sesuai seting server Anda.
$db_name = "pencarian"; // karena nama database yang kita buat adalah pencarian
// koneksi ke database
$link = mysql_pconnect ($db_host, $db_user, $db_pass) ordie ("Ga bisa connect");
mysql_select_db ($db_name) ordie ("Ga bisa select database");
// menampilkan data
// lihat perubahannya di bawah ini:
if ((isset($_POST['submit'])) AND ($_POST['search'] <> "")) {
$search = $_POST['search'];
$sql = mysql_query("SELECT * FROM siswa WHERE nama LIKE '%$search%' ") ordie(mysql_error());
while ($res=mysql_fetch_array($sql)) {
echo$res[nama].' ';
}
}
?>
Catatan:
Perhatikan pula kode yang semula adalah tampil.php. Kode diatas untuk mencegah adanya error apabila nama file diganti dan akan mengeksekusi dirinya sendiri.
Sedikit Tambahan.
Kita coba modif dikit kode diatas agar bisa menampilkan:
nomor pencarian
jumlah pencarian
pesan apabila tidak ada hasil pencarian
Untuk nomor pencarian kita bisa menggunakan increement dengan kode sederhana berikut: