Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8...

40
Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma IPB - Aditya Wicaksono, SKomp 1

Transcript of Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8...

Page 1: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

Pemrograman Berbasis Web

Pertemuan 8 – Dasar Pemrograman PHP II

Program Diploma IPB - Aditya Wicaksono, SKomp 1

Page 2: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

Apa itu Array ?

Variabel khusus yang

dapat menampung

beberapa nilai dalam

satu variable tunggal

Program Diploma IPB - Aditya Wicaksono, SKomp 2

Page 3: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

Analogi Array

Bagaimana jika ingin loop variabel cars dan menemukan satu yang spesifik ?

Bagaimana jika datanya bukan 3 mobil, tapi 300 ?

SOLUSINYA …

ARRAY

Sebuah array dapat menyimpan banyak nilai dibawah satu nama, dan nilai tersebut dapat diakses dengan mengacu pada nomor indeks

$cars1 = "Volvo"; $cars2 = "BMW"; $cars3 = "Toyota";

Program Diploma IPB - Aditya Wicaksono, SKomp 3

Page 4: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 5: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

Jenis Array

Indexed Arrays

Associative Arrays

Multidimensional Arrays

Program Diploma IPB - Aditya Wicaksono, SKomp 5

Page 6: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

Indexed Arrays

Array dengan

indeks numerik

Program Diploma IPB - Aditya Wicaksono, SKomp 6

Page 7: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 8: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 9: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 10: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

Associative Arrays

Array dengan

indeks

bernama

Program Diploma IPB - Aditya Wicaksono, SKomp 10

Page 11: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 12: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 13: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

Multidimensional

Arrays

Array yang

berisi satu atau

lebih array

Program Diploma IPB - Aditya Wicaksono, SKomp 13

Page 14: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

Multidimensional Arrays

$families = array ( "Griffin" => array ( "Peter", "Lois", "Megan" ), "Quagmire" => array ( "Glenn" ), "Brown" => array ( "Cleveland", "Loretta", "Junior" ) );

Program Diploma IPB - Aditya Wicaksono, SKomp 14

Page 15: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

sort()

<?PHP

$cars = array("Volvo", "BMW", "Toyota");

sort($cars);

?>

Mengurutkan array dalam urutan menaik

(Asc)

Program Diploma IPB - Aditya Wicaksono, SKomp 15

Page 16: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

rsort()

<?PHP

$numbers = array(4, 6, 2, 22, 11);

rsort($numbers);

?>

Mengurutkan array dalam urutan

menurun (Desc)

Program Diploma IPB - Aditya Wicaksono, SKomp 16

Page 17: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 18: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 19: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 20: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 21: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

Fungsi

function functionName()

{

code to be executed;

}

Program Diploma IPB - Aditya Wicaksono, SKomp 21

Page 22: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 23: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

Contoh Fungsi

<html> <body> <?PHP function writeName() { echo “Aditya Wicaksono"; } echo "My name is "; writeName(); ?> </body> </html>

Program Diploma IPB - Aditya Wicaksono, SKomp 23

Page 24: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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"); ?> </body> </html>

Informasi dapat dikirimkan ke fungsi

melalui argumen

Program Diploma IPB - Aditya Wicaksono, SKomp 24

Page 25: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 26: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 27: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 28: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 29: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 30: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 31: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

$_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

Page 32: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

$_GET Url

http://localhost/welcome.php?

fname=Vicky&age=29

Program Diploma IPB - Aditya Wicaksono, SKomp 32

Page 33: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 34: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

$_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

Page 35: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

$_POST Url

http://localhost/welcome.php

Program Diploma IPB - Aditya Wicaksono, SKomp 35

Page 36: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 37: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 38: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

include & require statement

include 'filename';

or

require 'filename';

Program Diploma IPB - Aditya Wicaksono, SKomp 38

Page 39: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

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

Page 40: Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Pemrograman Berbasis Web Pertemuan 8 – Dasar Pemrograman PHP II Program Diploma ... GET vs POST Keduanya membuat sebuah

Terima Kasih

Program Diploma IPB - Aditya Wicaksono, SKomp 40