web programming - php
DESCRIPTION
Materi PHP dasar disertai dengan contoh-contoh sintaks. Enjoy..TRANSCRIPT
Web Programming– PHPPHP Hypertext Preprocessor
Pemrograman Web (2010/2011)Teknik Informatika, Universitas Islam Indonesia
Follow Hari Setiaji on Twitter
Sekilas
Pemograman Web (2010/2011) – Hari Setiaji, S.KomPemograman 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:
•Personal Home Page (awalnya)•Professional Home Page (kemudian)•PHP: Hypertext Preprocessor (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, dllProtocol : HTTP, FTP, POP3, IMAP, LDAP, SNMP, dllOutput : HTML, XML, JPEG, GIF, PNG, PDF, SWFdll
Alur Kerja PHP
Pemograman Web (2010/2011) – Hari Setiaji, S.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
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>
<html>halo 1<br>halo 2<br>halo 3</html>
PHP
HTML
Browser
Pemograman Web (2010/2011) – Hari Setiaji, S.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
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.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
Operator Assignment: =, +=, -=, *=, /=, %= ($a += 1 artinya $a = $a
+ 1) Aritmatika: +, -, *, /, % Operator pre/post increment/decrement: ++$a, --$a, $b++,
$b-- Perbandingan: == (equal), === (identical, sama nilai dan sama
tipe), !=, >, <, >=, <= Operator logika: && (and), || (or), ! (not) Operator kondisi: ?
$jenis = ($bil % 2 == 0 ? ”Genap” : ”Ganjil”); Operator string: . (concat) Operator new (untuk object): new
Pemograman Web (2010/2011) – Hari Setiaji, S.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
Examples<?phpecho "<h3>Postincrement</h3>";$a = 5;echo "Should be 5: " . $a++ . "<br />\n";echo "Should be 6: " . $a . "<br />\n";
echo "<h3>Preincrement</h3>";$a = 5;echo "Should be 6: " . ++$a . "<br />\n";echo "Should be 6: " . $a . "<br />\n";
echo "<h3>Postdecrement</h3>";$a = 5;echo "Should be 5: " . $a-- . "<br />\n";echo "Should be 4: " . $a . "<br />\n";
echo "<h3>Predecrement</h3>";$a = 5;echo "Should be 4: " . --$a . "<br />\n";echo "Should be 4: " . $a . "<br />\n";?>
<?phpecho "<h3>Postincrement</h3>";$a = 5;echo "Should be 5: " . $a++ . "<br />\n";echo "Should be 6: " . $a . "<br />\n";
echo "<h3>Preincrement</h3>";$a = 5;echo "Should be 6: " . ++$a . "<br />\n";echo "Should be 6: " . $a . "<br />\n";
echo "<h3>Postdecrement</h3>";$a = 5;echo "Should be 5: " . $a-- . "<br />\n";echo "Should be 4: " . $a . "<br />\n";
echo "<h3>Predecrement</h3>";$a = 5;echo "Should be 4: " . --$a . "<br />\n";echo "Should be 4: " . $a . "<br />\n";?>
PHP
Browser
Pemograman Web (2010/2011) – Hari Setiaji, S.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
Examples<?php$a=5;$b="5";$hasil = $a==$b;echo "$hasil <br />";
$a=5;$c=5;$hasil = $a===$c;echo "$hasil <br />";
$jenis = ($a % 2 == 0 ? Genap : Ganjil);echo $a." adalah bilangan $jenis";?>
<?php$a=5;$b="5";$hasil = $a==$b;echo "$hasil <br />";
$a=5;$c=5;$hasil = $a===$c;echo "$hasil <br />";
$jenis = ($a % 2 == 0 ? Genap : Ganjil);echo $a." adalah bilangan $jenis";?>
PHP
Browser
Pemograman Web (2010/2011) – Hari Setiaji, S.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
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.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
Examples<?php// Konstruksi If$bulan=date("m");if ($bulan==4)
echo "Bulan April";// Konstruksi If .. Elseecho "<br />";$today=date("w");if ($today==1)
echo "Hari Senin";else
echo "Bukan Hari Senin ";
// Konstruksi If .. Elseif.. Elseecho "<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// Konstruksi If$bulan=date("m");if ($bulan==4)
echo "Bulan April";// Konstruksi If .. Elseecho "<br />";$today=date("w");if ($today==1)
echo "Hari Senin";else
echo "Bukan Hari Senin ";
// Konstruksi If .. Elseif.. Elseecho "<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.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
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$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.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
ExamplesHasil 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 /><?phpfor ($i=1;$i<=6;$i++) { echo "<h".$i.">Header $i </h".$i.">";}?>
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 /><?phpfor ($i=1;$i<=6;$i++) { echo "<h".$i.">Header $i </h".$i.">";}?>
Browser
PHP
Pemograman Web (2010/2011) – Hari Setiaji, S.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
Examples
<b>Penggunaan Continue</b> <br /><?phpfor ($i=1;$i<=15;$i++) { if ($i >5 && $i<=11)
continue;
echo $i."<br /> ";}?>
<b>Penggunaan Continue</b> <br /><?phpfor ($i=1;$i<=15;$i++) { if ($i >5 && $i<=11)
continue;
echo $i."<br /> ";}?>
PHP
Browser
Pemograman Web (2010/2011) – Hari Setiaji, S.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
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.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
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 mahasiswaecho "Elemen Array mahasiswa pertama adalah : $mahasiswa[0] <br />";echo "Elemen Array mahasiswa ketiga adalah : $mahasiswa[2] <br />";
//Pengaksesan Array musikecho "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//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 mahasiswaecho "Elemen Array mahasiswa pertama adalah : $mahasiswa[0] <br />";echo "Elemen Array mahasiswa ketiga adalah : $mahasiswa[2] <br />";
//Pengaksesan Array musikecho "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
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//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.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
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 Whilewhile (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++;
}}
<?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 Whilewhile (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.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
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 Foreachforeach ($peserta as $indeks_1 => $nilai_1) {
echo “<b>Peserta $indeks_1 </b>: <br />\n";$nomor=1;foreach ($nilai_1 as $indeks_2 => $nilai_2) { echo $nomor.".".$nilai_2."<br />\n"; $nomor++;}
}
?>
<?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 Foreachforeach ($peserta as $indeks_1 => $nilai_1) {
echo “<b>Peserta $indeks_1 </b>: <br />\n";$nomor=1;foreach ($nilai_1 as $indeks_2 => $nilai_2) { echo $nomor.".".$nilai_2."<br />\n"; $nomor++;}
}
?> Browser
PHP
Pemograman Web (2010/2011) – Hari Setiaji, S.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
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.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
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.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom
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>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
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> <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
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>
<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 usernameif ($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 cookiesetcookie("login", $user);
}?>
PHP: login.php
HTML: login.html
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> <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 usernameif ($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 sessionsession_start();$_SESSION["login"] = $user;
}?>
PHP: login.php
Finally
25Pemograman Web (2010/2011) – Hari Setiaji, S.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom