web programming - php

25
Web Programming– PHP PHP Hypertext Preprocessor Pemrograman Web (2010/2011) Teknik Informatika, Universitas Islam Indonesia Follow Hari Setiaji on Twitter

Upload: hari-setiaji

Post on 18-May-2015

2.075 views

Category:

Education


4 download

DESCRIPTION

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

TRANSCRIPT

Page 1: Web Programming - PHP

Web Programming– PHPPHP Hypertext Preprocessor

Pemrograman Web (2010/2011)Teknik Informatika, Universitas Islam Indonesia

Follow Hari Setiaji on Twitter

Page 2: Web Programming - PHP

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

Page 3: Web Programming - PHP

Alur Kerja PHP

Pemograman Web (2010/2011) – Hari Setiaji, S.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom

Page 4: Web Programming - PHP

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

Page 5: Web Programming - PHP

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

Page 6: Web Programming - PHP

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

Page 7: Web Programming - PHP

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

Page 8: Web Programming - PHP

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

Page 9: Web Programming - PHP

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

Page 10: Web Programming - PHP

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

Page 11: Web Programming - PHP

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

Page 12: Web Programming - PHP

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

Page 13: Web Programming - PHP

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

Page 14: Web Programming - PHP

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

Page 15: Web Programming - PHP

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

Page 16: Web Programming - PHP

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

Page 17: Web Programming - PHP

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

Page 18: Web Programming - PHP

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

Page 19: Web Programming - PHP

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

Page 20: Web Programming - PHP

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

Page 21: Web Programming - PHP

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

Page 22: Web Programming - 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

Page 23: Web Programming - 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

Page 24: Web Programming - PHP

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

Page 25: Web Programming - PHP

Finally

25Pemograman Web (2010/2011) – Hari Setiaji, S.KomPemograman Web (2010/2011) – Hari Setiaji, S.Kom