1. Web Programming– PHP PHP Hypertext Preprocessor Pemrograman Web (2010/2011) Teknik Informatika, Universitas Islam Indonesia Follow Hari Setiaji on Twitter
2. Sekilas Pemograman Web (2010/2011) – Hari Setiaji, S.Kom Bahasa pemrograman script di sisi server (server-side scripting) Berupa script yang disisipkan di dalam dokumen HTML, embedded script yang diinterpretasi (bukan di-compile) Dibuat pertama kali oleh Rasmus Lerdorf PHP singkatan dari: P ersonal H ome P age (awalnya) P rofessional H ome P age (kemudian) P HP: H ypertext P reprocessor (resminya) Official Website : http://www.php.net PHP versi terakhir : 5.x Free & opensource Multi platform: Windows, Linux, Mac Menyediakan Library/API yang menyeluruh: Database : MySQL, Oracle, postgreSQL, IBM DB2, ODBC, dll Protocol : HTTP, FTP, POP3, IMAP, LDAP, SNMP, dll Output : HTML, XML, JPEG, GIF, PNG, PDF, SWF dll
3. Alur Kerja PHP Pemograman Web (2010/2011) – Hari Setiaji, S.Kom
4. Contoh Penyisipan Script PHP <html> <? /* Cara I: script PHP dideklarasikan di sini*/ echo "halo 1<br>"; ?> <?php /* Cara II: script PHP dideklarasikan di sini*/ echo "halo 2<br>"; ?> <script language="php"> /* Cara III: script PHP dideklarasikan di sini*/ echo "halo 3"; </script> </html> <html> halo 1<br> halo 2<br> halo 3</html> PHP HTML Browser Pemograman Web (2010/2011) – Hari Setiaji, S.Kom
5. Variabel & Konstanta case sensitive variable dengan prefiks: $ variable tidak perlu dideklarasi variable scope: local (default) global, dengan menyebutkan: global $namavar; Static, dengan menyebutkan: static $namavar; Predefined variables (didefinisikan oleh web server), berupa variabel Array Server variables: $_SERVER Environment variables: $_ENV Cookie: $_COOKIE Request parameter: $_GET , $_POST , $_FILES konstanta Pendefinisian: define("pi", 3.14); Konstanta terdefinisi, contoh: PHP_VERSION (versi PHP), __FILE__ (nama file yang sedang dijalankan), __LINE__ (nomor baris program yang sedang dijalankan), dll Pemograman Web (2010/2011) – Hari Setiaji, S.Kom
9. Konstruksi dasar program PHP Pemilihan if if .. else, If.. else if ..else switch .. case, break Pengulangan while do .. while For foreach (iterasi setiap elemen array) Pencabangan break (keluar dari loop) continue (loncat ke iterasi loop berikutnya) Pemograman Web (2010/2011) – Hari Setiaji, S.Kom
10. Examples <?php // Konstruksi If $bulan=date("m"); if ($bulan==4) echo "Bulan April"; // Konstruksi If .. Else echo "<br />"; $today=date("w"); if ($today==1) echo "Hari Senin"; else echo "Bukan Hari Senin "; // Konstruksi If .. Elseif.. Else echo "<br />"; $today=date("w"); if ($today==1) echo "Hari Senin"; elseif ($today==2) echo "Hari Selasa"; else echo "Bukan Hari Senin atau hari selasa "; ?> PHP Browser Pemograman Web (2010/2011) – Hari Setiaji, S.Kom
11. Examples <?php $today=date("l"); switch ($today) { case "Sunday" : echo "Hari Minggu"; break; case "Monday" : echo "Hari Senin"; break; case "Tuesday" : echo "Hari Selasa"; break; case "Wednesday" : echo "Hari Rabu"; break; default : echo "Hari Sabtu"; } ?> PHP Pemograman Web (2010/2011) – Hari Setiaji, S.Kom
12. Examples Hasil While <br /> <?php $bilangan =1; while ($bilangan <= 25) { echo $bilangan." "; $bilangan++; } echo "<br /><br />"; ?> Hasil Do..While <br /> <?php $a=10; do { echo $a." "; $a--; } while ($a > 5); ?> <br /><br /><b>Hasil For</b> <br /> <?php for ($i=1;$i<=6;$i++) { echo "<h".$i.">Header $i </h".$i.">"; } ?> Browser PHP Pemograman Web (2010/2011) – Hari Setiaji, S.Kom
13. Examples <b>Penggunaan Continue</b> <br /> <?php for ($i=1;$i<=15;$i++) { if ($i >5 && $i<=11) continue; echo $i."<br /> "; } ?> PHP Browser Pemograman Web (2010/2011) – Hari Setiaji, S.Kom
14. Array Array adalah himpunan nilai yang elemennya dapat diacu berdasarkan indeks (angka) atau nama (string) Indeks Array (jika menggunakan angka) dimulai dari 0, meskipun tidak harus Pembuatan Array : 1. Nama_array = new Array() ; 2. Nama_array[]=nilai_1; Nama_array[]=nilai_2; ; Nama_array[]=nilai_n; Pemograman Web (2010/2011) – Hari Setiaji, S.Kom
15. Examples <?php //Pembuatan Array cara I $mahasiswa = array ("Dani","Andini","Sheila","Rudi"); //Pembuatan Array cara II $mahasiswa[] = "Dani"; $mahasiswa[] = "Andini"; $mahasiswa[] = "Sheila"; $mahasiswa[] = "Rudi"; //Pembuatan Array dengan indeks yang tidak terurut $musik=array ("Jazz",5=>"Blues","Rock",10=>"Dankdut"); //Pengaksesan Array mahasiswa echo "Elemen Array mahasiswa pertama adalah : $mahasiswa[0] <br />"; echo "Elemen Array mahasiswa ketiga adalah : $mahasiswa[2] <br />"; //Pengaksesan Array musik echo "Elemen Array musik pertama adalah : $musik[0] <br />"; echo "Elemen Array musik ketiga adalah : $musik[6] <br />"; echo "Elemen Array musik keempat adalah : $musik[10] <br />"; ?> PHP Browser
16. Examples <?php //Pembuatan Array dengan indeks string $hari=array ("Sunday"=>"Minggu", "Monday"=>"Senin", "Tuesday"=>"Selasa", "Wednesday"=>"Rabu", "Thursday"=>"Kamis", "Friday"=>"Jumat", "Saturday"=>"Sabtu" ); echo "jumlah elemen Array : ".count($hari)."<br />"; $hari_inggris=date("l"); echo "Hari ini adalah hari $hari[$hari_inggris]"; ?> PHP Browser Pemograman Web (2010/2011) – Hari Setiaji, S.Kom
17. Examples <?php //Array Multidimensi $peserta = array ( "PHP" => array("Anto","Dani","Rendra","Lani"), "MySQL" => array("Bayu","Lina","Diana","Rinto"), "Delphi" => array("Doni","Dini","Ela","Aryo"), "JSP" => array("Fia","Rina","Roni","Dian")); //Pengaksesan dengan While while (list($indeks_1, $nilai_1) = each($peserta)) { echo "<b>Peserta $indeks_1 </b>: <br />\n"; $nomor=1; while (list($indeks_2,$nilai_2) = each($nilai_1)) { echo $nomor.".".$nilai_2."<br />\n"; $nomor++; } } Browser PHP Pemograman Web (2010/2011) – Hari Setiaji, S.Kom
19. PHP pada pemrograman web Alternatif Sumber Data Input Parameter URL: $_GET Form handling: $_GET, $_POST, $_FILES Cookie: $_COOKIE Session: session_start(), $_SESSION File: fopen(), fread(), fclose(), readfile( ) , file_get_contents() Database: connect, select_db, query, fetch, close Pemograman Web (2010/2011) – Hari Setiaji, S.Kom
20. PHP pada pemrograman web Alternatif Output Image (ke browser): fpassthru(), imagejpeg(), imagegif(), imagepng() Dengan cara meng-output-kan isi file image, atau create image from scratch File: fopen(), fwrite(), fclose() Cookie: setcookie() Session: session_start(), $_SESSION Database: connect, select_db, query, fetch, close Proses Script PHP dieksekusi ketika file dokumen web di- request oleh browser Atau dipanggil oleh aplikasi/script lain sebagai command pada OS shell Pemograman Web (2010/2011) – Hari Setiaji, S.Kom
21. Input dari Parameter URL Dapat digunakan untuk mengetahui link mana yang di-klik oleh user Sebuah link dapat mewakili data dan/atau aksi <? $aksi = $_GET [" act "]; $id = $_GET [" id "]; if ($aksi == "edit") { //lakukan edit terhadap data dengan ID = $id } else if ($aksi == "Delete") { //lakukan delete terhadap data dengan ID = $id } ?> <html> 1. Jaket <a href='go.php? id = 1 & act = edit '>Edit</a> <a href='go.php? id = 1 & act = delete '>Delete</a><br> 2. Sepatu <a href='go.php? id = 2 & act = edit '>Edit</a> <a href='go.php? id = 2 & act = delete '>Delete</a> </html> HTML Browser PHP: go.php
22. Input dari Form HTML Dapat digunakan untuk mendapatkan data yang dimasukkan oleh user <? $nama = $_POST [" nama "]; //berisi string nama $jenis = $_POST [" jenis "]; //berisi "L" atau "P" //simpan data $nama dan $jenis ?> <html> <form action='save.php' method=' POST '> Nama<br> <input type='text' name=' nama '><br> Jenis<br> <input type='radio' name=' jenis ' value=' L '>Laki-laki<br> <input type='radio' name=' jenis ' value=' P '>Perempuan<br> <input type='submit' value='Simpan'> </form> </html> HTML Browser PHP: save.php
23. Input dari Cookie Dapat digunakan untuk mendapatkan data yang dimasukkan oleh user pada halaman sebelumnya <html> <form action='login.php' method='POST'> User <input type='text' name=' user '><br> Password <input type=‘password' name='pass'><br> <input type='submit' value='Login'> </form> </html> Browser <? $user = $_COOKIE [" login "]; //berisi string username if ($user == "") { //belum melakukan login header("Location: login.html"); //redirect ke halaman login } else { // User sudah login, boleh melakukan sesuatu } ?> PHP: anypage.php <? $user = $_POST[" user "]; //berisi string username $pass = $_POST["pass"]; //berisi string password if ( )) { //simpan $user di cookie setcookie (" login ", $user); } ?> PHP: login.php HTML: login.html
24. Input dari Session Dapat digunakan untuk mendapatkan data yang dimasukkan oleh user pada halaman sebelumnya <html> <form action=‘anypage.php' method='POST'> User <input type='text' name=' user '><br> Password <input type='text' name='pass'><br> <input type='submit' value='Login'> </form> </html> HTML: login.html Browser <? Include (“login.php”); $user = $_SESSION [" login "]; //berisi string username if ($user == "") { //belum melakukan login header("Location: login.html"); //redirect ke halaman login } else { // User sudah login, boleh melakukan sesuatu } ?> PHP: anypage.php <? $user = $_POST[" user "]; //berisi string username $pass = $_POST["pass"]; //berisi string password if (cekPass($user, $pass)) { //simpan $user di session session_start(); $_SESSION [" login "] = $user; } ?> PHP: login.php