Pemrograman Berbasis Web Pertemuan 8 Dasar Pemrograman PHP II Program Diploma IPB - Aditya Wicaksono, SKomp 1
Apa itu Array? Variabel khusus yang dapat menampung beberapa nilai dalam satu variable tunggal Program Diploma IPB - Aditya Wicaksono, SKomp 2
Bagaimana jika ingin loop variabel cars dan menemukan satu yang spesifik? Bagaimana jika datanya bukan 3 mobil, tapi 300? Analogi Array SOLUSINYA $cars1 = "Volvo"; $cars2 = "BMW"; $cars3 = "Toyota"; ARRAY Sebuah array dapat menyimpan banyak nilai dibawah satu nama, dan nilai tersebut dapat diakses dengan mengacu pada nomor indeks Program Diploma IPB - Aditya Wicaksono, SKomp 3
Contoh Array <?PHP $cars = array("volvo", "BMW", "Toyota"); echo "I like ". $cars[0]. ", ". $cars[1]. " and ". $cars[2]. ".";?> Program Diploma IPB - Aditya Wicaksono, SKomp 4
Jenis Array Indexed Arrays Associative Arrays Multidimensional Arrays Program Diploma IPB - Aditya Wicaksono, SKomp 5
Array dengan Indexed Arrays indeks numerik Program Diploma IPB - Aditya Wicaksono, SKomp 6
Indexed Arrays Otomatis $cars = array("volvo", "BMW", "Toyota"); Manual $cars[0] = "Volvo"; $cars[1] = "BMW"; $cars[2] = "Toyota"; Program Diploma IPB - Aditya Wicaksono, SKomp 7
count() <?PHP $cars = array("volvo", "BMW", "Toyota"); echo count($cars);?> Digunakan untuk mengembalikan panjang (jumlah elemen) dari sebuah array Program Diploma IPB - Aditya Wicaksono, SKomp 8
Loop dengan Indexed Arrays <?PHP $cars = array("volvo", "BMW", "Toyota"); $arrlength = count($cars); for($x = 0; $x < $arrlength; $x++) { echo $cars[$x]; echo "<br>"; }?> Program Diploma IPB - Aditya Wicaksono, SKomp 9
Array dengan indeks Associative Arrays bernama Program Diploma IPB - Aditya Wicaksono, SKomp 10
Associative Arrays Cara 1 $age = array("peter"=>"35", "Ben"=>"37", "Joe"=>"43"); Cara 2 $age['peter'] = "35"; $age['ben'] = "37"; $age['joe'] = "43"; Program Diploma IPB - Aditya Wicaksono, SKomp 11
Loop dengan Associative Arrays <?PHP $age = array("peter" => "35", "Ben" => "37", "Joe" => "43"); foreach($age as $x => $x_value) { echo "Key = ". $x. ", Value = ". $x_value; echo "<br>"; }?> Program Diploma IPB - Aditya Wicaksono, SKomp 12
Array yang Multidimensional Arrays berisi satu atau lebih array Program Diploma IPB - Aditya Wicaksono, SKomp 13
Multidimensional Arrays $families = array ( "Griffin" => array ( "Peter", "Lois", "Megan" ), "Quagmire" => array ( "Glenn" ), "Brown" => array ( "Cleveland", "Loretta", "Junior" ) ); Program Diploma IPB - Aditya Wicaksono, SKomp 14
sort() <?PHP $cars = array("volvo", "BMW", "Toyota"); sort($cars);?> Mengurutkan array dalam urutan menaik (Asc) Program Diploma IPB - Aditya Wicaksono, SKomp 15
rsort() <?PHP $numbers = array(4, 6, 2, 22, 11); rsort($numbers);?> Mengurutkan array dalam urutan menurun (Desc) Program Diploma IPB - Aditya Wicaksono, SKomp 16
asort() <?PHP $age = array("peter" => "35", "Ben" => "37", "Joe" => "43"); asort($age);?> Mengurutkan assosiatif array dalam urutan menaik (Asc) berdasarkan value Program Diploma IPB - Aditya Wicaksono, SKomp 17
arsort() <?PHP $age = array("peter" => "35", "Ben" => "37", "Joe" => "43"); arsort($age);?> Mengurutkan assosiatif array dalam urutan menurun (Desc) berdasarkan value Program Diploma IPB - Aditya Wicaksono, SKomp 18
ksort() <?PHP $age = array("peter" => "35", "Ben" => "37", "Joe" => "43"); ksort($age);?> Mengurutkan assosiatif array dalam urutan menaik (Asc) berdasarkan key Program Diploma IPB - Aditya Wicaksono, SKomp 19
krsort() <?PHP $age = array("peter" => "35", "Ben" => "37", "Joe" => "43"); krsort($age);?> Mengurutkan assosiatif array dalam urutan menurun (Desc) berdasarkan key Program Diploma IPB - Aditya Wicaksono, SKomp 20
Fungsi function functionname() { code to be executed; } Program Diploma IPB - Aditya Wicaksono, SKomp 21
Fungsi Selain built-in fungsi PHP, kita dapat membuat fungsi kita sendiri Fungsi adalah sebuah blok pernyataan yang dapat digunakan berulangkali dalam sebuah program Sebuah fungsi tidak akan dieksekusi langsung ketika halaman dipanggil Sebuah fungsi akan dieksekusi dengan pemanggilan fungsi Nama fungsi dapat dimulai dengan huruf atau garis bawah (bukan angka) Berikan nama fungsi yang mencerminkan apa yang dilakukan fungsi tersebut Nama fungsi case-insensitive Program Diploma IPB - Aditya Wicaksono, SKomp 22
Contoh Fungsi <html> <body> <?PHP function writename() { echo Aditya Wicaksono"; } echo "My name is "; writename();?> </body> </html> Program Diploma IPB - Aditya Wicaksono, SKomp 23
Fungsi dengan Parameter <html> <body> <?PHP function writename($fname) { echo $fname. " Refsnes.<br>"; } echo "My name is "; writename("kai Jim"); echo "My sister's name is "; writename("hege"); echo "My brother's name is "; writename("stale");?> Informasi dapat dikirimkan ke fungsi melalui argumen </body> </html> Program Diploma IPB - Aditya Wicaksono, SKomp 24
Fungsi dengan Parameter Default <?php function setheight($minheight=50) { echo "The height is : $minheight <br>"; } setheight(350); setheight(); // will use the default value of 50 setheight(135); setheight(80);?> Program Diploma IPB - Aditya Wicaksono, SKomp 25
Fungsi dengan Return Value <html> <body> <?PHP function add($x, $y) { $total = $x + $y; return $total; } echo "1 + 16 = ". add(1, 16);?> </body> </html> Program Diploma IPB - Aditya Wicaksono, SKomp 26
Variabel Superglobal Superglobal diperkenalkan di PHP 4.1.0 Built-in variable selalu tersedia di semua scope Beberapa variabel yang telah ditetapkan dalam PHP adalah superglobal, yang berarti bahwa mereka selalu dapat diakses, terlepas dari scope, dan dapat diakses dari semua fungsi, class, atau file tanpa harus melakukan sesuai yang khusus Program Diploma IPB - Aditya Wicaksono, SKomp 27
Variabel Superglobal $GLOBALS $_ENV $_REQUEST Mengumpulkan data setelah form HTML di submit $_POST Mengumpulkan data setelah form HTML di submit dengan metode POST $_GET Mengumpulkan data setelah form HTML di submit dengan metode GET $_SERVER Menyimpan informasi tentang headers, paths, dan lokasi script $_FILES Menyimpan informasi file upload dari computer client ke remote server $_COOKIE Menyimpan informasi pada client (browser) $_SESSION Menyimpan informasi pada server Program Diploma IPB - Aditya Wicaksono, SKomp 28
GET vs POST Keduanya membuat sebuah array. Array ini memegang pasangan kunci / nilai, dimana kunci adalah nama-nama bentuk kontrol dan nilai-nilai data input dari user. Keduanya merupakan superglobals, yang berarti bahwa keduanya selalu dapat diakses, terlepas dari scope, dan keduanya dapat diakses dari semua fungsi, class, atau file tanpa harus melakukan sesuatu yang khusus. $_GET merupakan array dari variabel yang dilewatkan ke sebuah script melalui parameter URL. $_POST merupakan array dari variabel yang dilewatkan ke sebuah script melalui metode HTTP POST. Program Diploma IPB - Aditya Wicaksono, SKomp 29
Kapan menggunakan GET Informasi yang dikirim dari form dengan metode GET terlihat oleh semua orang (semua nama variabel dan nilai-nilai ditampilkan dalam URL) GET memiliki batasan pada jumlah informasi yang dikirim (2000 karakter) GET dapat digunakan untuk mengirimkan data non sensitif Program Diploma IPB - Aditya Wicaksono, SKomp 30
$_GET Index.php <form action="welcome.php" method="get"> Name: <input type="text" name="fname"> Age: <input type="text" name="age"> <input type="submit"> </form> Welcome.php Welcome <?php echo $_GET["fname"];?>.<br> You are <?php echo $_GET["age"];?> years old! Program Diploma IPB - Aditya Wicaksono, SKomp 31
$_GET Url http://localhost/welcome.php? fname=vicky&age=29 Program Diploma IPB - Aditya Wicaksono, SKomp 32
Kapan menggunakan POST Informasi yang dikirim dari form dengan metode POST tidak terlihat oleh orang lain (semua nama/nilai tertanam dalam body HTTP request) Tidak memiliki batasan pada jumlah informasi yang dikirim Mendukung fungsi canggih seperti dukungan untuk masukkan multi-part binary ketika mengupload file ke server Program Diploma IPB - Aditya Wicaksono, SKomp 33
$_POST Index.php <form action="welcome.php" method= post"> Name: <input type="text" name="fname"> Age: <input type="text" name="age"> <input type="submit"> </form> Welcome.php Welcome <?php echo $_POST["fname"];?>.<br> You are <?php echo $_POST["age"];?> years old! Program Diploma IPB - Aditya Wicaksono, SKomp 34
http://localhost/welcome.php $_POST Url Program Diploma IPB - Aditya Wicaksono, SKomp 35
date() date(format,timestamp) Digunakan untuk memformat waktu dan/atau tanggal Parameter format digunakan untuk menentukan bagaimana format tanggal/waktu agar tanggal dan waktu lebih mudah dibaca Parameter timestamp merupakan rangkaian karakter, yang menunjukkan tanggal dan/atau waktu Program Diploma IPB - Aditya Wicaksono, SKomp 36
Contoh date() <?PHP echo date("y/m/d"). "<br>"; echo date("y.m.d"). "<br>"; echo date("y-m-d");?> d Merepresentasikan tanggal dalam suatu bulan (01 sampai 31) m Merepresentasikan bulan (01 sampai 12) Y Merepresentasikan tahun (dalam 4 digit) Program Diploma IPB - Aditya Wicaksono, SKomp 37
include & require statement include 'filename'; or require 'filename'; Program Diploma IPB - Aditya Wicaksono, SKomp 38
Apa perbedaan include & require? require akan menghasilkan fatal error (E_COMPILE_ERROR) dan menghentikan script include akan menghasilkan warning (E_WARNING) dan script akan dilanjutkan Program Diploma IPB - Aditya Wicaksono, SKomp 39
Terima Kasih Program Diploma IPB - Aditya Wicaksono, SKomp 40