You are on page 1of 12

Dasar Pemrograman PHP dan MySQL

Modul PHP Lanjut

Developed by : Paijan Indehoi

Copyright @ USM 2010

Page 1

Dasar Pemrograman PHP dan MySQL Pemrograman menggunakan database


PHP sebagai sebuah bahasa pemrograman membutuhkan database sebagai media penyimpanannya, maka dalam hal ini PHP membutuhkan MySQL dalam menyimpan hasil pemprosesannya. Keduanya sangatlah populer dikalangan developer-developer dunia, karena berbasis open source. MySQL sendiri yang menggunakan bahasa SQL yang banyak di gunakan dalam pembangunan sebuah aplikasi yang berbasis web. Di dalam pemrosesan database, semua bahasa pemrograman mempunyai aturan dasar (basic) yang harus di ketahui dan di pahami untuk mempelajarinya. Ada 5 metode atau cara dalam memproses database, yaitu : 1. 2. 3. 4. 5. Input/tambah data ( Insert) Tampil data/ Output ( Select) Edit data (update) Hapus data (delete) Pencarian (searching)

Kelima metode tersebut sudah menjadikan patokan untuk belajar bahasa pemrograman yang menggunakan database. Jadi, tidak berlebihan jika dalam mempelajarinya, kelima metode di atas harus di kuasai oleh seorang ataupun calon programmer (pembuat program). Dari uraian di atas, akan di jabarkan satu persatu metode tersebut dan di sertai kode program sebagai bahan implementasi dari setiap method tersebut.

Copyright @ USM 2010

Page 2

Dasar Pemrograman PHP dan MySQL 1. Input / Tambah data ( insert)


Dalam hal pemrosesan data, input data sangat penting fungsinya karena disinilah data-data yang akan di olah tersebut harus di masukkan ke dalam database melalui aplikasi yang di buat. Bahasa SQL untuk memasukkan data menggunakan kata INSERT. Nah, PHP mempunyai metode khusus untuk melakukan input data, yaitu di pisah antara tampilan (antar muka) form untuk input, dan pemrosesannya. Di dalam contoh, ada 2 script(kode program) untuk tata cara input data, yaitu input.html dan tambah_data.php. Disini input.html sebagai form tampilan untuk menambah data, dan tambah_data.php sebagai file untuk memproses data tersebut untuk di masukkan kedalam database. File input.html berisi :
<html> <head> <title> Input Data </title> </head> <body bgcolor = "#ECE9D8"> <table border="0" width="100%" > <tr bgcolor="#A2B38F"> <td height="22" colspan="2" align="right"><center>Pengisian Data Karyawan</center></td> </tr> <form method="POST" action="tambah_data.php"> <tr> <td height="22" align="right"><div align="justify">NIK</div></td> <td width="418"> <div align="justify"> <input type="text" name="nomor" size="33"> </div></td> </tr> <tr><td width="74" align="right"><p align="justify">Nama : </p></td> <td><input type="text" name="nama" size="33"></td> </tr> <tr><td width="74" align="right"><div align="justify">Alamat: </div></td> <td> <input type="text" name="alamat" size="33"></td></tr> <tr><td width="74" align="right"><div align="justify">Jabatan: </div></td> <td> <input type="text" name="jabatan" size="33"></td> </tr> <tr> <td width="74"> </td> <td><input type="submit" value="KIRIM" name="submit"></td></tr> </form> </table> </body> </html>

Copyright @ USM 2010

Page 3

Dasar Pemrograman PHP dan MySQL


Dari file di atas, akan tampil form seperti di bawah ini :

File penginputan ke dalam database adalah tambah_data.php yang berisi :


<? mysql_connect("localhost","root",""); mysql_select_db("data"); $baca=mysql_query("select nomor from karyawan where nomor='$nomor'"); $no=mysql_num_rows($baca); $nomor=$_POST['nomor']; $nama=$_POST['nama']; $alamat=$_POST['alamat']; $jabatan=$_POST['jabatan']; if($nomor=="" || $nama=="" || $alamat=="" || $jabatan==""){ $err="<td>Anda Belum melengkapi formulir Anda:<ul type=\"circle\">"; if($nomor==""){ $err1="<li><font color=\"#FF0000\">Nomor karyawan belum diisi</font></li>"; } if($nama==""){ $err2="<li><font color=\"#FF0000\">Nama karyawan masih kosong</font></li>"; } if($alamat==""){ $err3="<li><font color=\"#FF0000\">Ulangi penulisan alamat</font></li>"; } if($jabatan==""){ $err4="<li><font color=\"#FF0000\">Ulangi penulisan jabatan</font></li>"; } $psn="$err $err1 $err2 $err3 $err4 </ul><p>&nbsp;</p><p align=\"center\">::: &nbsp; <b><a href=\"javascript:history.back();\">ulangi</a></b>&nbsp; :::</p><p>&nbsp;</td><td width=\"22\">&nbsp;"; }elseif($no!== 0){ $psn="<p align=\"center\"><font color=\"#FF0000\"> User id $user sudah terdaftar.<br>Pilih yang lain.</font></p> <p align=\"center\">:::&nbsp; <b><a href=\"javascript:history.back();\">ulangi</a></b>&nbsp; :::</p> <p>&nbsp;"; }else{ $add_karyawan="insert into karyawan(nomor,nama,alamat,jabatan)values('$nomor','$nama','$alamat','$jabatan')";

Copyright @ USM 2010

Page 4

Dasar Pemrograman PHP dan MySQL


$sukses=mysql_query($add_karyawan); if($sukses){ $psn="<p style=\"margin-top: 6px; margin-bottom: 5px\"> Selamat ....</p> <p style=\"margin-top: 6px; margin-bottom: 5px\"> Data karyawan berhasil dimasukan.</p>"; }else{ $psn="gagal"; } } ?> <html> <style type="text/css"> <!-.style1 {color: #000000} --> </style> <body> <body bgcolor = "#ECE9D8"> <table width="100%" border="0" cellpadding="0" background="" id="table22" style="border-collapse: collapse"> <tr background=""> <td width="96%" height="41" align="center" bordercolor="#ECE9D8" background="" bgcolor="#9BAD7C"> <span class="style1"><font size="4">konfirmasi pengisian data karyawan </font></span></td> </tr> <tr background=""> <td align="center"><table border="0" style="border-collapse: collapse" width="100%" cellspacing="1" cellpadding="0" id="table23"> <tr> <td width="22">&nbsp;</td> <td> <?echo"$psn"?> </td> </tr></table></td> </tr></table> </body> </html>

Dari script diatas, di jelaskan bahwa dalam proses penginputan data dari form di file input.html .Langkah yang pertama adalah koneksi ke server, dalam hal ini localhost, serta memasukkan username dan password. Setelah itu, baru koneksi database dengan mencantumkan nama database tersebut. Nah, berikutnya adalah mendeklarasikan variable yang di ambil dari form input.html, sebagai contoh : $nama = $_POST[nama];. Hal ini di gunakan jika settingan apache (web server)nya dalam register_globalnya di offkan, tetapi jika settingan register_global on, tidak perlu di deklarasikan ke variable tidak masalah karena untuk PHP veris 5 keatas sudah otomatis di anggap sebagai variable. Untuk mengecek register global on atau off di phpinfo.php yang tampilannya seperti ini :

Copyright @ USM 2010

Page 5

Dasar Pemrograman PHP dan MySQL


Karena settingan register_global saya off, jadi saya deklarasikan variable POST nya dulu. Selanjutnya, point penting adalah tentang penginputannya ke database, melalui script : $add_karyawan="insert into karyawan(nomor,nama,alamat,jabatan)values('$nomor','$nama','$alamat','$jabatan')"; $sukses=mysql_query($add_karyawan); Di dalam script di atas jelas di terangkan jika menginput data dengan perintah INSERT, lebih lengkapnya insert into nama_tabel(field1,field2,field3,field4) values ($variable1,$variable2,$variable3,$variable4). Variable2 tersebut di ambil dari name dari form yang telah di buat di input.html.

2. Tampil Data / Output (SELECT)


Di bagian ini, pemrosesan yang terjadi hanyalah menampilkan isi table yang di pilih dengan menggunakan perintah SELECT. Contoh untuk menampilkan data ada di file data_karyawan.php yang berisi :
<html> <head><title>Data Karyawan</title></head> <body> <table width="100%" border="0" cellpadding="0" cellspacing="1"> <tr><td bgcolor="#A2B38D"><div align="center"><strong>Data Karyawan </strong></div></td> </tr> <tr><td nowrap> </td></tr> </table> <table width="100%" border="1" cellpadding="0" cellspacing="1" bordercolor="#A2B38D" id="table1"> <tr> <td align="center" width="119"><b>Nomor</b></td> <td align="center" width="183"><strong>Nama</strong></td> <td align="center" width="226"><b>Alamat</b></td> <td width="238" align="center"><b>Jabatan</b></td> </tr> <? $sambung=mysql_connect("localhost","root",""); mysql_select_db("data"); $cari="SELECT * FROM karyawan ORDER BY nama DESC"; $hasil=mysql_query($cari); while($data=mysql_fetch_row($hasil)){ echo"<tr> <td width=\"140\">$data[0]</td> <td width=\"81\">$data[1]</td> <td width=\"212\">$data[2]</td> <td>$data[3]</td> </tr>"; } ?> </table> </body> </html>

Copyright @ USM 2010

Page 6

Dasar Pemrograman PHP dan MySQL


Tampilan dari script diatas adalah sebagai berikut :

Penjelasan : File data_karyawan.php menampilkan data-data yang ada di table karyawan yang berisi : nomor, nama, alamat, dan jabatan. Sebelum menampilkannya, membuat script untuk koneksi ke server dan databasenya sama seperti yang di lakukan di file tambah_data.php hal ini untuk memastikan apakah file tersebut sudah terkoneksi dengan database atau belum. Setelah itu barulah membuat script untuk menampilkan data dari table karyawan tersebut dengan perintah SELECT. Script lengkapnya sebagai berikut : SELECT * FROM karyawan ORDER BY nama DESC Select yang berarti memilih, tanda * berarti semua field, FROM karyawan di ambil dari table karyawan, dan ORDER BY nama DESC maksudnya di urutkan menurut nama berdasarkan alfabeth yang di tampilkan secara terbalik ( maksudnya dari Z ke A, bukan dari A ke Z).

3. Edit data ( UPDATE)


Edit data di gunakan jika ada data yang salah penginputan atau ada perubahan data dalam sebuah table. Langsung saja ke file untuk menampilkan antar muka pengeditan di file edit.php yang berisi :
<html> <head> <title>Form Ubah Data</title> </head> <body bgcolor = "#ECE9D8"> <body> <? $sambung=mysql_connect("localhost","root",""); mysql_select_db("data"); $cari="SELECT * FROM karyawan WHERE nomor='$_GET[id]'"; $hasil=mysql_query($cari); $data=mysql_fetch_row($hasil); ?> <table width="100%" border="1" bordercolor="#A2B38F" id="table2"> <tr><td bgcolor="#A2B38F"><p align="center"><b>Form Ubah Data</b></td></tr> <tr><td><form method="POST" action="./proses_ubah.php"> <p>Nama :&nbsp;&nbsp; <? echo"<input type=\"text\" name=\"nama\" size=\"20\" value=\"$data[1]\"><br> Alamat : <input type=\"text\" name=\"alamat\" size=\"36\" value=\"$data[2]\"><br> Jabatan :<input type=\"text\" name=\"jabatan\" size=\"25\" value=\"$data[3]\"><br> <input type=\"hidden\" name=\"id\" value=\"$data[0]\"><br>"; ?> </p><p>&nbsp; <input type="submit" value="UBAH" name="submit"></p> </form> </td></tr></table></body></html>

Copyright @ USM 2010

Page 7

Dasar Pemrograman PHP dan MySQL


Dan hasil dari file tersebut adalah :

File edit.php menampilkan antar muka dari hasil menampilkan semua isi table, jadi sebelum proses pengeditan, data tersebut di tampilkan dulu dengan perintah SELECT, sama seperti ketika menampilkan data (output). Dan ketika kita klik tombol ubah,akan muncul tambahan form untuk mengeditnya yang scriptnya berisi :
<form method="POST" action="./proses_ubah.php"> <p>Nama :&nbsp;&nbsp; <? echo"<input type=\"text\" name=\"nama\" size=\"20\" value=\"$data[1]\"><br> Alamat : <input type=\"text\" name=\"alamat\" size=\"36\" value=\"$data[2]\"><br> Jabatan :<input type=\"text\" name=\"jabatan\" size=\"25\" value=\"$data[3]\"><br> <input type=\"hidden\" name=\"id\" value=\"$data[0]\"><br>"; ?> </p><p>&nbsp; <input type="submit" value="UBAH" name="submit"></p> </form>

Tampilan dari form tersebut adalah :

Form edit di atas menampilkan data yang akan di edit, data yang di tampilkan tersebut di ambil dari hasil SELECT dan di masukkan ke dalam value nya. Untuk input type=hidden itu nantinya akan di pake untuk perintah mengupdate datanya, disini di pilih $data[0] yang berarti adalah field nomor yang berstatus sebagai primary key. Kenapa yang di pakai primary key?karena field yang mempunyai field kunci adalah field yang unik, yang tidak ada kembarannya, jadi dalam mengupdatenya lebih gampang. Langsung saja ke script untuk mengubah data, di dalam file proses_ubah.php yang berisi :
<? mysql_connect("localhost","root",""); mysql_select_db("data"); $nama=$_POST['nama']; $alamat=$_POST['alamat']; $jabatan=$_POST['jabatan'];

Copyright @ USM 2010

Page 8

Dasar Pemrograman PHP dan MySQL


$id=$_POST['id']; $ubah="UPDATE karyawan SET nama='$nama', alamat='$alamat', jabatan='$jabatan' WHERE nomor='$id'"; mysql_query($ubah); header("location:./edit_data.php"); ?>

Script di atas adalah script untuk mengupdate(mengubah) hasil tindakan dari form ubah.php tadi. Perintah yang digunakan adalah UPDATE yang berarti mengubah data, lalu di barengi dengan nama table SET field4=variable3, field3=variable3, field4=variable4 WHERE field1=variable1(variable primary hasil input type hidden).

4. Hapus data (DELETE)


Di dalam menghapus data, tata caranya sama dengan edit, yaitu data harus di tampilkan dalam bentuk table, baru di kasih link untuk menghapus, seperti gambar di bawah ini :

Script di atas, sama seperti yang ada di script edit yang ada di file edit.php jadi tidak perlu saya jelaskan lagi. Sedikit tambahan saja, link hapus itu sama seperti link ubah yang memakai primary key(kunci utama) yaitu field nomor yang di gunakan untuk di jadikan patokan dalam menghapus. Langsung saja ke file proses_hapus.php yang menjelaskan proses menghapus data di dalam sebuah table. Script tersebut berisi :
<? mysql_connect("localhost","root",""); mysql_select_db("data"); $hapus="DELETE FROM karyawan WHERE nomor='$_GET[id]'"; $hasil=mysql_query($hapus); if($hasil){ echo"<br>Data karyawan telah terhapus"; }else{ echo"<br>Data karyawan belum terhapus"; } ?>

Script di atas menjelaskan tentang hapus data yang menjadikan patokan adalah link hapus di atas yang menggunakan id sebagai primary key (field nomor dalam hal ini). Perintahnya adalah DELETE FROM nama_table WHERE primary_key=$variable_yang_dikirim.

Copyright @ USM 2010

Page 9

Dasar Pemrograman PHP dan MySQL 5. Pencarian data (Serching)


Pencarian data di fungsikan untuk memudahkan user (pemakai system) untuk mencari data yang di kehendaki. Script dalam contoh ini ada di file kiri.html yang saya kutip untuk pencariannya saja sebagai berikut :
<form method="POST" action="pencarian.php" target="mainFrame"> <p align="center" style="margin: 2px 10px; font-weight: bold;">Kata Kunci</p> <h4 align="center" style="margin: 2px 10px"> <input type="text" name="k" size="14" style="font-family: Arial; font-size: 12pt; color: #000000; background-image: url('')" maxlength="20"> </h4> <p align="center" style="margin: 2px 10px"> <input type="submit" name="Submit" value="cari"> </p> <p align="center" style="margin: 2px 10px"> <input type="hidden" name="p" value="0"> <input type="hidden" name="ses" value="echo"$ses"> </p> </form>

Dan untuk script pemrosesannya ada di file pencarian.php yang berisi :


<html> <head> <title>Pencarian Data Karyawan</title> </head> <body bgcolor = "#ECE9D8"> <body> <table width="100%" cellspacing="1"> <tr> <td bgcolor="#A2B38D"><center>Data Karyawan </center></td> </tr> <tr> <td nowrap> </td> </tr> </table> <table width="100%" border="0" cellpadding="0" id="table6" style="border-collapse: collapse"> <tr> <td> <? $sambung=mysql_connect("localhost","root",""); mysql_select_db("data"); $cari1 = mysql_query("SELECT * FROM karyawan WHERE nama LIKE '%$_POST[k]%'"); $cek = mysql_num_rows($cari1); if ($cek > 0){

Copyright @ USM 2010

Page 10

Dasar Pemrograman PHP dan MySQL


echo "<p style='margin-top: 0; margin-bottom: 0'> Hasil pencarian berdasarkan kata <b><i>".$_POST['k']."</i></b><br> Ditemukan sebanyak <b>".$cek."</b> data </p> <p style='margin-top: 0; margin-bottom: 0'> <hr> <table width='100%' border='1' cellpadding='0' cellspacing='1' bordercolor='#A2B38D' id='table1'> <tr> <td align='center' width='119'><b>Nomor</b></td> <td align='center' width='183'><strong>Nama</strong></td> <td align='center' width='226'><b>Alamat</b></td> <td width='238' align='center'><b>Jabatan</b></td> </tr>"; while($data=mysql_fetch_array($cari1)){ echo"<tr> <td width=\"140\">$data[nomor]</td> <td width=\"81\">$data[nama]</td> <td width=\"212\">$data[alamat]</td> <td>$data[jabatan]</td> </tr>"; } } ?> </table> </td> </tr> <tr> <td> </td> </tr> <tr> <td>Halaman :<b> <? $hal= 1; for($s=0;$s<$cek;$s+=6){ if($cek >6){ echo"<a href=\"pencarian.php?p=$s&hit=$cek&k=$k\">$hal</a> "; $hal++; }else{ echo "1"; }} ?> &nbsp;</b></td> </tr> </table> </body> </html>

Sebenarnya untuk pencarian, bahasa SQL nya sama seperti ketika menampilkan data, yaitu memakai SELECT yang berarti memilih data, hanya saja dalam konteks bahasanya di tambahi dengan kata LIKE yang berarti seperti, yang akan di pakai untuk mencocokkan dengan kata kunci yang di inputkan user dari form pencarian. Hasil untuk pencarian tersebut seperti pada gambar di bawah ini :

Copyright @ USM 2010

Page 11

Dasar Pemrograman PHP dan MySQL

Sekian dari saya, pastinya banyak kekurangan dalam pembuatan modul yang sangat sederhana ini, jika ada pertanyaan seputar PHP & MySQL silahkan kirimkan ke email saya ke zackycoy@gmail.com

At least, tidak ada kata sempurna dalam mencari ilmu, tetapi didalam ketidak sempurnaan itu,alangkah baiknya untuk di sharingkan ke orang yang ingin belajar terhadap sesuatu tersebut..
Terima kasih.

Copyright @ USM 2010

Page 12

You might also like