Web Programming - PHP

2,353 views
2,243 views

Published on

Materi PHP dasar disertai dengan contoh-contoh sintaks. Enjoy..

Published in: Education
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,353
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
245
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide
  • Pemrograman Web
  • Web Programming - PHP

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

    ×