Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Variabel Superglobal Superglobal...

40
Internet II Pertemuan 4 & 5 – Dasar Pemrograman PHP II Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 1

Transcript of Pemrograman Berbasis Web - moeslimar.files.wordpress.com · Variabel Superglobal Superglobal...

Internet II

Pertemuan 4 & 5 – Dasar Pemrograman PHP II

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 1

Apa itu Array ?

Variabel khusus yang

dapat menampung

beberapa nilai dalam

satu variable tunggal

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 2

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";

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 3

Contoh Array

<?PHP

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

echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";

?>

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 4

Jenis Array

Indexed Arrays

Associative Arrays

Multidimensional Arrays

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 5

Indexed Arrays

Array dengan

indeks numerik

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 6

Indexed Arrays

Otomatis

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

Manual

$cars[0] = "Volvo";

$cars[1] = "BMW";

$cars[2] = "Toyota";

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 7

count()

<?PHP

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

echo count($cars);

?>

Digunakan untuk mengembalikan

panjang (jumlah elemen) dari sebuah

array

Sistem Komputer Universitas Serang Raya - 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>";

}

?>

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 9

Associative Arrays

Array dengan

indeks

bernama

Sistem Komputer Universitas Serang Raya - 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";

Sistem Komputer Universitas Serang Raya - 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>";

}

?>

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 12

Multidimensional

Arrays

Array yang

berisi satu atau

lebih array

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 13

Multidimensional Arrays

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

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 14

sort()

<?PHP

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

sort($cars);

?>

Mengurutkan array dalam urutan menaik

(Asc)

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 15

rsort()

<?PHP

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

rsort($numbers);

?>

Mengurutkan array dalam urutan

menurun (Desc)

Sistem Komputer Universitas Serang Raya - 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

Sistem Komputer Universitas Serang Raya - 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

Sistem Komputer Universitas Serang Raya - 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

Sistem Komputer Universitas Serang Raya - 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

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 20

Fungsi

function functionName()

{

code to be executed;

}

Sistem Komputer Universitas Serang Raya - 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

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 22

Contoh Fungsi

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

Sistem Komputer Universitas Serang Raya - 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"); ?> </body> </html>

Informasi dapat dikirimkan ke fungsi

melalui argumen

Sistem Komputer Universitas Serang Raya - 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);

?>

Sistem Komputer Universitas Serang Raya - 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>

Sistem Komputer Universitas Serang Raya - 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

Sistem Komputer Universitas Serang Raya - 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

Sistem Komputer Universitas Serang Raya - 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.

Sistem Komputer Universitas Serang Raya - 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

Sistem Komputer Universitas Serang Raya - 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!

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 31

$_GET Url

http://localhost/welcome.php?

fname=Vicky&age=29

Sistem Komputer Universitas Serang Raya - 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

Sistem Komputer Universitas Serang Raya - 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!

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 34

$_POST Url

http://localhost/welcome.php

Sistem Komputer Universitas Serang Raya - 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

Sistem Komputer Universitas Serang Raya - 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)

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 37

include & require statement

include 'filename';

or

require 'filename';

Sistem Komputer Universitas Serang Raya - 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

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 39

Terima Kasih

Sistem Komputer Universitas Serang Raya - Aditya Wicaksono, SKomp 40