ISI KANDUNGAN
BAB 1 PENGENALAN .......................................................................................................................... 5
Sejarah PHP ......................................................................................................................................... 5
Keperluan ............................................................................................................................................ 6
BAB 2 ASAS PHP ................................................................................................................................. 7
Tag PHP................................................................................................................................................ 7
Tidak Sensitif Kepada Huruf ................................................................................................................ 8
Komen ............................................................................................................................................... 10
Aksara Escape (Escape Character)..................................................................................................... 11
Pembolehubah (Variable) ................................................................................................................. 12
Jenis Data........................................................................................................................................... 12
Fungsi................................................................................................................................................. 14
Skop Pembolehubah.......................................................................................................................... 16
Argumen Berbilang............................................................................................................................ 17
BAB 3 OPERATOR PHP...................................................................................................................... 19
Operator Aritmetik............................................................................................................................ 19
Operator Logik................................................................................................................................... 21
Operator Memberi Nilai .................................................................................................................... 24
Operator Perbandingan..................................................................................................................... 25
Keutamaan Operator......................................................................................................................... 26
Operator Bersyarat (Conditional Operator) ...................................................................................... 27
BAB 4 PILIHAN DAN GELUNG (SELECTION AND LOOPING).............................................................. 29
Pernyataan if ..................................................................................................................................... 29
Pernyataan if-else.............................................................................................................................. 30
Pernyataan if-else if-else ................................................................................................................... 31
Pernyataan switch ............................................................................................................................. 32
Gelung for.......................................................................................................................................... 35
Gelung while...................................................................................................................................... 36
Gelung do-while................................................................................................................................. 38
Break.................................................................................................................................................. 39
Continue ............................................................................................................................................ 40
Return ................................................................................................................................................ 41
BAB 5 TATASUSUNAN (ARRAY) ........................................................................................................ 43
Membina Tatasusunan...................................................................................................................... 43
BAB 1 PENGENALAN
Sejarah PHP
PHP merupakan satu bahasa yang dihasilkan dari satu bahasa pengaturcaraan yang awal iaitu PHP/FI1
yang telah dihasilkan oleh Ramus Lerdorf pada tahun 1995. Pada asalnya, ia adalah satu set skrip dari
bahasa pengaturcaraan Perl yang digunakan beliau untuk memudahkan beliau mencapai maklumat
biodata dan pengalaman beliau secara dalam talian. Beliau menamakan set skrip ini sebagai alat
‘Personal Home Page’.
Apabila lebih banyak lagi fungsi yang diperlukan, Rasmus telah menulis menggunakan bahasa C pula,
yang boleh berinteraksi dengan pangkalan data dan membolehkan pengguna membina laman web
dinamik dengan mudah. Kemudian beliau memberikan sumber kod kepada semua orang supaya
boleh digunakan dan pada masa yang sama dapat membaiki ralat dan memperkemaskan lagi kod
yang kemudiannya dikenali sebagai bahasa PHP/FI.
PHP/FI mengandungi fungsi – fungsi asas PHP seperti yang digunakan pada hari ini. Pembaharuan
dilakukan menggunakan bahasa C dan kemudiannya dikenali sebagai PHP/FI 2.0. Sehingga 1997,
bahasa ini dianggarkan telah digunakan di dunia sebanyak 50,000 domain iaitu 1% dari domain yang
ada di Internet pada masa itu. Pembangunan kod pada masa tersebut masih dilakukan sendiri oleh
Rasmus dengan bantuan dari beberapa orang lain.
PHP/FI telah dilancarkan secara rasmi pada November 1997. Pembangunan PHP 3.0 versi alpha2
telah dimulakan beberapa bulan selepas itu. PHP 3.0 telah dibangunkan semula dari PHP/FI oleh Andi
Gutmans dan Zeev Suraski3 pada tahun 1997. Pada masa itu, kedua – dua pelajar universiti ini sedang
terlibat di dalam sebuah projek. Bahasa PHP/FI ini tidak didapati tidak begitu sesuai untuk
membangunkan aplikasi e – dagang. Oleh itu, Andi, Ramus dan Zeev bekerjasama untuk
membangunkan PHP 3.0.
Di antara kekuatan PHP 3.0 ialah mempunyai banyak ciri – cirinya yang boleh dikembangkan,
keupayaannya untuk digunakan dengan banyak jenis pangkalan data, protokol dan ‘Application
Programming Interface’4. Ramai pembangun perisian turut bekerjasama dalam menghasilkan 3.0 ini.
PHP kemudiannya diberikan makna yang baru iaitu sama nama yang rekursif5 – ‘PHP: Hypertext
Preprocessor’. Sehingga hujung tahun 1998, telah dianggarkan 10% daripada pelayan web di Internet
1
PHP/FI bermaksud Personal Home Page / Form Interpreter
2
Pembangunan perisian computer melalui dua fasa iaitu fasa alpha dan fasa beta. Perisian yang telah siap
dalam fasa alpha akan diuji oleh penguji perisian. Perisian yang telah dikeluarkan sebagai versi beta pula adalah
untuk diuji oleh pengguna yang terpilih sahaja (TETAPI perisian sumber terbuka dan freeware selalunya boleh
diuji oleh semua pengguna). Selepas diuji dan didapati tiada masalah, barulah perisian ini dikeluarkan untuk
semua pengguna.
3
Andi Gutmans dan Zeev Suraski merupakan pengaturcara dari Israel yang pernah menuntut di Technion,
Haifa. Mereka telah bergabung untuk membangunkan PHP 3.0 pada tahun 1997. Mereka terkenal dengan
penciptaan enjin Zend.
4
Application Programming Interface (API) merupakan fungsi, protokol dan alat untuk membina perisian.
Sebagai contoh, sistem pengendalian Windows menyediakan API untuk membolehkan pengaturcara membina
aplikasi yang konsisten untuk digunakan dengan sistem pengoperasiannya. Satu kelebihannya ialah, semua
aturcara yang mengngunakan API yang sama akan mempunyai antaramuka yang sama dan ini memudahkan
pengguna menggunakan program yang baru.
telah menggunakan PHP. PHP 3.0 telah dilancarkan secara rasmi pada Jun 1998 setelah sembilan
bulan diuji oleh penguna – pengguna seluruh dunia.
Sebaik sahaja PHP 3.0 dilancarkan, Andi dan Zeev telah mula menulis semula bahagian utama PHP.
Tujuannya ialah untuk memperbaiki prestasi apabila membangunkan aplikasi yang rumit dan menjadi
kod asas PHP lebih modular (kod dapat dikumpulkan dalam modul – modul yang lebih mudah).
Aplikasi – aplikasi yang rumit dapat dibangunkan dengan sokongan ciri – ciri baru PHP 3.0 yang
membolehkan integrasi dengan sebahagian besar pangkalan data yang ada dan API. Walau
bagaimanapun ciri – ciri yang dibangunkan masih belum efisyen.
Enjin baru ini (bahagian utama PHP) dipanggil sebagai Enjin Zend telah berjaya mencapai
matlamatnya dan diperkenalkan pada pertengahan 1999. Dalam PHP 4.0, enjin ini ditambah dengan
ciri – ciri baru dan telah dilancarkan secara rasmi pada Mei 2000.
Di antara ciri – ciri baru yang penting ialah sokongan yang lebih baik kepada pelayan web, sesi HTTP,
penimbal output dan pengendalian input pengguna dengan lebih selamat. Di samping itu, beberapa
arahan baru juga telah diperkenalkan.
PHP 5.0 telah dilancarkan pada Julai 2004. Perubahan utama ialah pada enjin Zend 2.0 dengan
pengenalan model objek yang baru dan beberapa ciri – ciri baru.
Keperluan
Sebelum anda mencuba membuat pengaturcaran, ada beberapa perkara yang perlu dilakukan
terlebih dahulu. PHP selalunya digunakan bergandingan dengan perisian lain seperti aplikasi pelayan
web iaitu Apache dan pangkalan data MySQL. Anda boleh memilih untuk menggunakan Sistem
Pengendalian Linux atau pun Windows. Walau bagaimanapun dalam buku ini hanya fokus pada
Sistem Pengendalian Windows sahaja.
Dalam Sistem Pengendalian Windows, servis Apache dan MySQL boleh diinstall secara berasingan
dengan memuat turun (download) perisian Apache dan MySQL dari Internet. Walau bagaimanapun,
cara ini lebih sukar kerana anda perlu membuat sedikit perubahan di dalam fail – fail konfigurasi
tertentu seperti httpd.conf.
Cara yang lebih mudah ialah dengan memuat turun perisian yang telah menggabungkan perisian
Apache, MySQL, dan PHP seperti XAMPP.
5
Rekursif di dalam pengaturcaraan (programming) bermaksud fungsi yang memanggil dirinya sendiri. Dalam
kes nama PHP, nama PHP itu sendiri adalah rekursif kerana takrifnya ialah ‘PHP: Hypertext Preprocessor’
dimana perkataan PHP digunakan sekali lagi. Contph lain yang menggunakan rekursif ialah GNU yang
bermaksud ‘GNU Not UNIX’.
Tag PHP
Kod aturcara PHP perlu diletakkan di dalam tag. Ada tiga jenis tag seperti yang ditunjukkan di bawah.
Tag cara pertama merupakan tag biasa dipakai di dalam pengaturcaraan PHP. Arahan echo
merupakan arahan yang diberikan oleh pengguna untuk komputer output sesuatu. Output yang
terhasil dalam aturcara di atas ditunjukkan dalam rajah di bawah
Jika anda menggunakan perisian XAMPP, anda perlu menyimpan fail hello.php dalam C:\Program
Files\xampp\htdocs. ebook merujuk kepada folder dalam httdocs dan ch2 merujuk folder dalam
ebook.
Contoh aturcara lain ditunjukkan di bawah. Dalam aturcara ini fungsi number_format() digunakan
untuk memudahkan memaparkan nombor.
<?php
echo number_format(26000000);
?>
Aturcara nombor.php
Output nombor.php
<?php
?>
Aturcara fakulti.php
Berdasarkan output di atas, dapat dilihat bahawa arahan echo dan ECHO memberikan output dan
tidak menghasilkan ralat atau ‘error’.
Komen
Ada tiga cara komen yang boleh digunakan di dalam PHP seperti yang ditunjukkan dalam aturcara
komen.php di bawah.
<?php
/* Cara 1 komen:
*/
// Cara 2 komen: Sesuai digunakan untuk komen yang hanya SATU baris sahaja
# Cara 3 komen
?>
Aturcara komen.php
Output komen.php
Berdasarkan rajah di atas di dapati hanya perkataan “Cara komen” sahaja yang dipaparkan kerana
komputer tidak memproses atau compile komen.
<?php
$str = "Kata Faris Adli kepada rakan - rakannya di dalam kelas PHP...\"";
$str .= "PHP ini satu bahasa aturcara yang mudah \\ senang.Cuma memerlukan ";
echo $str;
?>
Aturcara escape.php
Output escape.php
Pembolehubah (Variable)
Pembolehubah digunakan untuk menyimpan data. Semua pembolehubah PHP dimulakan dengan
simbol ‘$’ diikuti nama yang bersesuaian dengan data yang akan disimpan. Pembolehubah boleh
menggunakan huruf, nombor atau simbol ‘_’ tetapi pembolehubah TIDAK boleh dimulakan dengan
nombor. Di bawah ini adalah antara contoh – contoh pembolehubah yang sah.
Data disimpan ke dalam pembolehubah menggunakan operator ‘=’. Seperti penyertaan yang lain, ia
mesti diakhiri dengan simbol ‘;’.
$umur=37;
Nama pembolehubah adalah SENSITIF kepada huruf. Oleh itu, $umur dan $UMUR merupakan dua
pembolehubah yang berbeza.
Jenis Data
PHP menggunakan jenis data yang mudah iaitu tidak mempunyai data yang spesifik atau khusus.
Dalam bahasa C sebagai contoh, anda perlu mengisytiharkan dulu sebelum sesuatu pembolehubah
boleh digunakan untuk menyimpan nombor bulat seperti dibawah.
Int umur;
Dalam PHP, pembolehubah $umur boleh mula digunakan untuk menyimpan nombor bulat dengan
hanya memasukkan arahan seperti di bawah.
$umur = 0;
Di sebelah adalah contoh aturcara menggunakan jenis – jenis data dalam PHP. Output aturcara
jenis_data.php ditunjukkan dalam rajah di bawah.
Output jenis_data.php
<?php
$int = 99;
$i = 88;
$float = 99.99;
$f = 88.88;
//papar pembolehubah
$rentetan = 66;
?>
Aturcara jenis_data.php
Fungsi
Fungsi mempunyai simbol ‘ () ’ dibelakang nama fungsi. Salah satu contoh fungsi ialah echo(). Di
dalam () boleh mengandungi data yang akan digunakan yang dipanggil sebagai parameter atau
argumen, di mana data ini akan diproses oleh fungsi tersebut. Dalam contoh di bawah, fungsi papar()
menggunakan pembolehubah $argumen sebagai parameter untuk diproses di dalam fungsi tersebut.
<html><body>
<?php
function papar($argumen)
echo "$argumen";
?>
</body></html>
Aturcara papar.php
Output papar.php
<?php
function papar($argumen)
function gandaSepuluh($argumen2)
echo ("Di bawah ini ditunjukkan hasil bagaimana sesuatu fungsi <br>");
papar(50);
?>
Aturcara fungsi.php
Output fungsi.php
Skop Pembolehubah
Skop pembolehubah ialah had di mana sesuatu pembolehubah boleh digunakan. Pembolehubah
yang diisytiharkan di dalam fungsi dikenali sebagai pembolehubah lokal (local variable). Ia boleh
digunakan di dalam fungsi di mana pembolehubah tersebut telah diisytiharkan.
Pembolehubah global pula diisytiharkan diluar fungsi dan boleh digunakan dimana – mana fungsi di
dalam dokumen tersebut. Dalam PHP, pembolehubah global mestilah diisytiharkan semula, tidak
seperti di dalam bahasa pengaturcaraan yang lain. Contoh aturcara ditunjukkan di bawah.
<?php $nom;
function prosesNilai($argumen)
global $nom;
$nom = $argumen * 2;
function papar()
global $nom;
?>
Aturcara fungsi2.php
Output fungsi2.php
Argumen Berbilang
Sesuatu fungsi boleh mempunyai beberapa argumen untuk dihantar ke dalam kod aturcaranya.
Pembolehubah bagi setiap argumen dipisahkan menggunakan simbol koma ‘,’.
Semua panggilan fungsi mestilah mengandungi bilangan argumen yang sama bagi mengelakkan dari
berlakunya ralat. Walau bagaimanapun, sesuatu argumen di dalam fungsi boleh diberikan nilai secara
‘default’.
<?php
operasiTambah(2,4,6);
operasiTambah(5,10);
?>
Aturcara fungsi3.php
Output fungsi3.php
Operator Aritmetik
Operator ini digunakan di dalam aturcara untuk membuat pengiraan matematik atau penggabungan
rentetan (string) seperti yang disenaraikan di bawah.
OPERATOR OPERASI
+ Tambah
- Tolak
* Darab
/ Bahagi
. Percantuman rentetan
% Modulus
++ Menambah 1 nilai
-- Menolak 1 nilai
Operator + untuk digunakan untuk mencampurkan dua nombor dan tidak boleh digunakan untuk
menggabungkan dua rentetan. Untuk menggabungkan rentetan operator . digunakan. Operator ++
digunakan untuk menambah 1 nilai nombor.
<?php
$no1 = 10;
$no2 = 5;
--$no1;
$no1++;
?>
Aturcara operator.php
Output operator.php
Operator Logik
Operator logik PHP digunakan dalam kriteria pemilihan. Seorang pengaturcara yang mahu
menyenaraikan semua nama pelajar lelaki dan perempuan, akan membuat kriterianya sebagai
“LELAKI atau PEREMPUAN” dan bukannya “LELAKI dan PEREMPUAN” kerana tidak mungkin pelajar
mempunyai jantina lelaki dan perempuan iaitu kedua – duanya sekaligus.
Operator logikal digunakan dengan pembolehubah yang menyimpan nilai boolean iaitu TRUE atau
FALSE atau BENAR atau PALSU.
OPERATOR OPERASI
AND DAN
|| ATAU atau OR
OR ATAU
! TIDAK
Operator logikal && atau AND akan menilai dua pembolehubah atau pernyataan dan
mengembalikan nilai benar hanya sekiranya kedua – duanya benar.
Logikal || atau OR akan menilai dua pembolehubah dan mengembalikan nilai benar sekiranya salah
satu daripada kedua – dua pembolehubah menyimpan nilai benar.
PEMBOLEHUBAH X PEMBOLEHUBAH Y X || Y
Logikal XOR pula akan mengembalikan nilai benar jika salah satu adalah benar tetapi bukan kedua –
duanya sekali.
Logikal ! atau TIDAK adalah merupakan operator unari iaitu digunakan kepada satu operand sahaja.
Sebagai contoh operand X menyimpan nilai palsu maka !X adalah benar. Begitu juga sebaliknya.
Contoh aturcara logikal ditunjukkan disebelah.
<?php
$nama1 = "Faris";
$pelajar = true;
$lelaki = true;
if($pelajar and $lelaki) //nilai $pelajar dan $lelaki adalah benar atau true
else if($pelajar and !$lelaki) //nilai $pelajar benar dan nilai $lelaki adalah palsu
atau false
else if(!$pelajar and !$lelaki) //nilai $pelajar dan nilai $lelaki adalah palsu atau
false
else if(!$pelajar and $lelaki) //nilai $pelajar palsu dan nilai $lelaki adalah true
?>
Aturcara logikal.php
Output logikal.php
= $x = $y $x = $y
+= (untuk nombor) $x += $y $x = $x + $y
-= (untuk nombor) $x -= $y $x = $x - $y
.= (untuk rentetan) $x .= $y $x = $x . $y
*= (untuk nombor) $x *= $y $x = $x * $y
/= (untuk nombor) $x /= $y $x = $x / $y
%= (untuk nombor) $x %= $y $x = $x % $y
Operator = digunakan untuk memberi nilai dan bukannya sebagai perbandingan. Di dalam contoh di
atas, nilai $x diperolehi daripada $y. Di bawah ini adalah contoh aturcara.
<?php
$harga_barang = 1200;
$harga_barang -= $harga_diskaun;
?>
Aturcara nilai.php
Output nilai.php
Operator Perbandingan
Operator di bawah ini digunakan untuk membuat perbandingan.
OPERATOR BANDINGAN
== Bersamaan
!= Tidak bersamaan
<?php
$harga_barang = 1200;
$diskaun = 0.1;
Bersambung di sebelah......
$diskaun = 0.11;
else
$diskaun = 0.12;
$harga_barang -= $harga_diskaun;
?>
Aturcara banding.php
Di dalam aturcara ini, diskaun sebanyak 10% diberikan sekiranya harga barang yang dibeli ialah dari
RM 1 hingga RM 999, diskaun sebanyak 11% pula diberikan sekiranya harga barang yang dibeli
adalah di antara RM 1000 hingga RM 1499 dan diskaun sebanyak 12% diberikan sekiranya harga
belian ialah RM 1500 ke atas. Output banding.php ditunjukkan di bawah.
Output banding.php
Keutamaan Operator
Di bawah ini disenaraikan semua operator PHP mengikut keutamaannya. Adalah lebih elok sekiranya
menggunakan kurungan () di dalam pernyataan yang rumit supaya dapat mengelakkan ralat dalam
pernyataan.
++, --, ()
/, *, %
+, -
==, ===, !=
&&
||
AND
XOR
OR
4+5*2
Simbol darab akan mempunyai keutamaan yang lebih tinggi dari tambah. Oleh itu, operasi darab
akan dilakukan dahulu iaitu 5 akan didarabkan dengan 2 dan akan menghasilkan nilai 10. Nilai ini
seterusnya akan dicampurkan dengan 4 dan menghasilkan jawapan 14.
(4 + 5) * 2
Operasi tambah dapat dilaksanakan terlebih dahulu dengan menggunakan kurungan. Kurungan
mempunyai keutamaan yang lebih tinggi daripada darab. Oleh itu (4 + 5) akan dilaksanakan terlebih
dahulu dan menghasilkan nilai 9. Nilai ini akan didarabkan dengan 2 dan akan menghasilkan jawapan
18.
<?php
$nombor = 52;
?>
Aturcara conditional.php
Output conditional.php
Pernyataan if
Pernyataan if digunakan untuk membuat pilihan asas di dalam PHP. Sintaks pernyataan if adalah
seperti di bawah.
Contoh aturcara di bawah akan memaparkan CEMERLANG sekiranya markah yang didapati adalah
melebihi 80.
<?php
$markah = 90;
echo ("CEMERLANG");
?>
Aturcara if1.php
Output if1.php
Pernyataan if-else
Pernyataan if-else digunakan apabila ingin memberikan respon alternatif. Contohnya, sekiranya
pernyataan yang diuji adalah benar maka ia akan melakukan pernyataan 1 dan sekiranya palsu maka
pernyataan 2 pula akan dilakukan. Sintaks seperti di bawah.
penyataan 1;
else
penyataan 2;
Contoh aturcara di bawah ini akan menentukan pelajar lulus atau gagal berdasarkan markah.
Sekiranya mendapat 40 dan ke atas, maka pelajar akan lulus.
<?php
$markah = 62;
echo ("LULUS");
else
echo ("GAGAL");
?>
Aturcara if2.php
Output if2.php
pernyataan 1;
else
Contoh aturcara kali ini ialah untuk memaparkan gred pelajar mengikut markah yang didapati
berpandukan jadual di bawah.
MARKAH GRED
80 – 100 A
65 – 79 B
50 – 64 C
40 – 49 D
0 – 39 f
<?php
$markah = 85;
?>
Aturcara if3.php
Output if3.php
Pernyataan switch
Pernyataan switch memerlukan label nilai yang boleh terdiri daripada nombor, rentetan (string) atau
boolean. Ia akan menguji nilai pembolehubah di dalam switch dan akan dibandingkan dengan nilai di
label – label. Sekiranya ada persamaan, maka pernyataan di dalam label tersebut akan dilakukan, jika
tidak ada nilai yang sama dengan label, maka pernyataan di dalam label default akan dilakukan.
Semua pernyataan di dalam label diakhiri dengan perkataan break. Sekiranya break tidak ada, maka
bukan sahaja pernyataan di label tersebut dilakukan, tetapi juga pernyataan di dalam label yang lain
di bawahnya sehingga ia bertemu dengan perkataan break atau sehingga label default dilaksanakan
pernyataannya.
<?php
$nombor = 3;
switch ($nombor)
?>
Aturcara switch1.php
Output switch1.php
Contoh aturcara yang menggunakan switch tetapi tidak menggunakan break ditunjukkan disebelah.
<?php
$nombor = 3;
switch ($nombor)
?>
Aturcara switch2.php
Output switch2.php
Gelung for
Sintaks gelung for adalah seperti di bawah.
for( nilai awal, pernyataan ujian, penambahan atau pengurangan nilai awalan)
pernyataan;
Nilai awal digunakan sebagai nilai pertama untuk permulaan gelung. Selalunya pembolehubah $i
digunakan untuk menyimpan nilai awal. Dalam setiap pusingan gelung, pernyataan ujian akan
dilakukan dan gelung akan berhenti apabila keputusannya ialah palsu. Pada hujung setiap pusingan
gelung, nilai awalan $i akan bertambah atau berkurang nilainya bergantung pada situasi. Contoh
aturcara ditunjukkan di bawah.
<?php
$jawapan = 0;
$jawapan = $i * 12;
?>
Aturcara for.php
Output for.php
Gelung while
Sintaks gelung while adalah seperti di bawah.
nilai awalan;
while(pernyataan ujian)
pernyataan;
Gelung while membuat ujian pada awal gelung.pusingan gelung akan berhenti apabila pernyataan
ujian adalah palsu. Contoh aturcara ditunjukkan di sebelah.
<?php
$i = 2;
while($i <21)
echo ("$i<br>");
$i += 2;
?>
Aturcara while.php
Output while.php
Gelung do-while
Sintaks gelung do-while adalah seperti di bawah.
nilai awalan;
do
pernyataan;
while(pernyataan ujian);
Gelung do-while berbeza dengan gelung while. Gelung do-while membuat ujian pada hujung gelung
tetapi gelung while membuat ujian pada awal gelung. Contoh aturcara do-while ditunjukkan di
bawah yang mengira jumlah tambah dari 1 hingga 100.
<?php
$i = 1;
$jumlah = 0;
do
$jumlah += $i;
$i++;
?>
Aturcara dowhile.php
Output dowhile.php
Break
Arahan break boleh digunakan untuk keluar dari gelung secara paksa walaupun pernyataan ujiannya
masih membeikan keputusan benar. Contoh aturcara break ditunjukkan di bawah.
<?php
$i = 1;
echo ("$i<br>");
if($i == 4)
break;
$i++;
?>
Aturcara break.php
Output break.php
Continue
Arahan continue boleh digunakan untuk memberhentikan pusingan gelung pada masa itu tetapi
tidak memberhentikan terus pusingan gelung yang seterusnya. Contoh aturcara continue
ditunjukkan di bawah.
<?php
$i = 0;
$i++;
if($i == 4)
continue;
echo ("$i<br>");
?>
Aturcara continue.php
Output continue.php
Return
Arahan return digunakan di dalam fungsi untuk mengembalikan nilai kepada program yang
memanggil. Di bawah ini adalah contoh aturcara yang memanggil fungsi kira_luas() untuk mengira
keluasan sesuatu kawasan berbentuk segiempat dengan memasukkan nilai lebar dan panjang.
<?php
return $luas;
echo ("Keluasan kawasan dengan panjang $panjang meter dan lebar $lebar meter
ialah ".kira_luas(80, 20)." meter persegi");
?>
Aturcara return.php
Output return.php
BAB 5 TATASUSUNAN
Membina Tatasusunan
Tatasusunan merupakan pembolehubah yang boleh menyimpan lebih dari satu nilai. Tatasusunan
diisytihar menggunakan fungsi PHP array(). Nilai boleh dimasukkan ke dalam tatasusunan dengan
menggiunakan pembolehubah tatasusunan bersama indeks di dalam kotak seperti contoh di bawah.
$ts[5] = 10;
Indeks tatasusunan bermula dengan nilai 0. Di bawah ialah contoh bagaimana memasukkan nilai ke
dalam tatasusunan.
<?php
$ts = array();
$ts[0] = "Faris";
$ts[1] = "Adli";
$ts[2] = "Jamian";
?>
Aturcara array1.php
Output array1.php
Contoh aturcara tatasusunan yang lain ditunjukkan disebelah yang mana tatasusunan diberikan nilai
awalan semasa pengisytiharan.
<?php
$hari = array();
$tahun = array("1986","2005","2006","2007","2009");
?>
Aturcara array2.php
Output array2.php
<?php
$ts = array();
$ts[0] = 62;
$ts[1] = 9.9;
?>
Aturcara array3.php
Output array3.php
Memaparkan Tatasusunan
Fungsi foreach() membolehkan elemen – elemen di dalam sesuatu tatasusunan dapat dipaparkan
satu persatu. Setiap elemen boleh dikenali sebagai satu nama pembolehubah lain dengan
menggunakan perkataan as. Sintaks foreach() adalah seperti di bawah.
<?php
foreach($ts as $universiti)
?>
Aturcara array4.php
Output array4.php
Selain memaparkan elemen – elemen di dalam tatasusunan menggunakan fungsi foreach(), gelung
while, do-while, juga boleh digunakan sebagaimana yang ditunjukkan dalam aturcara di sebelah.
<?php
$i = 0;
while($i < 4)
$i++;
?>
Aturcara array5.php
Output array5.php
pembolehubah = sizeof(tatasusunan)
ATAU
pembolehubah = sizeof(tatasusunan)
<?php
$ts = array("Fakulti","Informatik","UDM");
$saiz1 = count($ts);
$saiz2 = sizeof($ts);
echo("Saiz tatasusnan menggunakan count ialah $saiz1 dan menggunakan sizeof ialah
$saiz2");
?>
Aturcara array6.php
Output array6.php
array_push(tatasusunan,“elemen baru”);
<?php
$ts = array("Universiti","Darul","Iman");
foreach($ts as $nama)
array_push($ts, "Malaysia");
foreach($ts as $nama)
?>
Aturcara array7.php
Output array7.php
pembolehubah = array_shift(tatasusunan);
pembolehubah = array_pop(tatasusunan);
Di bawah ini contoh aturcara menggunakan fungsi – fungsi untuk membuang elemen dari depan dan
dari belakang tatasusunan.
<?php
foreach($ts as $nama)
foreach($ts as $nama)
sort($ts);
foreach($ts as $nama)
?>
Aturcara array8.php
Output array8.php
Kunci Tatasusunan
Selain dari mempunyai satu data dalam setiap indeks, tatasusunan juga boleh mempunyai gabungan
kunci dan data untuk menjadikan maklumat lebih jelas dan bermakna. Contohnya $os[‘windows’]
boleh menyimpan nilai ‘vista business’. Di sini, $os ialah nama pembolehubah tatasusunan,
‘windows’ ialah kunci dan ‘vista business’ adalah nilai yang disimpan. Contoh aturcara ditunjukkan di
sebelah.
<?php
echo ("Di ". $ts['universiti']." ada Fakulti ". $ts['fakulti']." yang menawarkan program
".$ts['program']);
?>
Aturcara array9.php
Output array9.php
Contoh aturcara yang lain tentang kunci tatasusunan ditunjukkan disebelah. Aturcara ini
memaparkan nilai kunci tatasusunan ditambah satu dan dan dijumlahkan dengan pembolehubah
tatasusunan yang sama tapi berbeza kunci tatasusunan.
<?php
$hidangan['Ayam Bakar'] = 5;
?>
Aturcara array_key.php
Output array_key.php
Indeks
Indeks di dalam tatasusunan membolehkan capaian kepada setiap elemen. Indeks tatasusunan
bermula dengan nilai 0 tetapi ia boleh ditukar kepada nilai yang lain. Contoh aturcara di sebelah
menukarkan indeks tatasusunan $ts dari 1 hingga 5 iaitu menggantikan indeks yang sepatutnya iaitu
indeks 0 hingga 4. Penukaran indeks permulaan dari 0 ke 1 boleh dibuat dengan menggunakan
simbol ‘=>’.
<?php
?>
Aturcara array10.php
Output array10.php
Antara fungsi lain yang boleh digunakan untuk memudahkan penggunaan tatasusunan ialah fungsi
array_merge() yang digunakan untuk menggabungkan dua tatasusunan, array_slice() untuk memilih
elemen – elemen tertentu di dalam sesuatu tatasusunan menggunakan julat indeks yang dikehendaki
san shuffle() untuk menyusun elemen – elemen di dalam sesuatu tatasusunan secara rawak.
shuffle(tatasusunan);
<?php
$ipta = array("upnm","uiam","usim","ukm","usm","uthm","udm");
$ipts = array("mmu","msu","unisel","unikl","utp","uniten","oum");
foreach($ipta as $list)
foreach($ipts as $list)
$ipt_malaysia = array_merge($ipta,$ipts);
foreach($ipt_malaysia as $list)
foreach($ipt_pilih as $list)
shuffle($ipt_malaysia);
foreach($ipt_malaysia as $list)
?>
Aturcara array11.php
Output array11.php
Contoh fungsi – fungsi lain ialah fungsi in_array() dan fungsi array_search(). Contoh aturcara
ditunjukkan di sebelah.
<?php
$makanan = array('Roti Kaya' => 1, 'Nasi Lemak Buah Bidara' => 4.95, 'Ayam
Goreng' => 3.00, 'Roti Telur' => 2.50, 'Air Kembang Semangkuk' => 3.00);
$buku = array("Bijak PHP dan MySQL", 'Bijak PHP Dalam Masa 24 jam');
if (in_array(3, $makanan)) {
echo("Saya ada buku Bijak PHP dalam masa 24 jam. Nak pinjam?<br>");
?>
Aturcara array12.php
Output array12.php
Fungsi in_array() akan memulangkan nilai benar jika ia menjumpai elemen yang mempunyai nilai
yang diberi. Ia bersifat case – sensitive apabila ia membandingkan rentetan. Fungsi array_search()
adalah sama seperti in_array(), tetapi jika ia menjumpai elemen, ia akan memulangkan nilai emelen
yang benar.
<?php
$makanan = array('Roti Kaya' => 1, 'Nasi Lemak Buah Bidara' => 4.95, 'Ayam
Goreng' => 3.00, 'Roti Telur' => 2.50, 'Air Kembang Semangkuk' => 3.00);
if ($carian) {
?>
Aturcara array13.php
Output array13.php
Fungsi implode() digunakan untuk memudahkan memaparkan nilai – nilai dalam tatasusunan.
Sintaksnys ditunjukkan di bawah.
implode(nama-pembolehubah-tatasusunan);
<?php
$huruf = array('A','B','C','D');
echo implode($huruf);
?>
Aturcara implode.php
Output implode.php
Lawan bagi fungsi implode() ialah fungsi explode(). Fungsi explode() menukar rentetan kepada
tatasusunan.
<?php
?>
Aturcara explode.php
Output explode.php
Di bawah ini ditunjukkan sebahagian dari maklumat pembolehubah persekitaran selain dari
HTTP_USER_AGENT.
<?php
phpinfo();
?>
Aturcara phpinfo.php
Output phpinfo.php
HTTP_USER_AGENT ialah pembolehubah persekitaran yang boleh mengenali jenis pelayar web dan
Sistem Pengendalian komputer pengguna. Ia juga boleh digunakan bersama – sama dengan fungsi
getenv(). Ada juga versi PHP yang tidak memerlukan penggunaan getenv() untuk menggunakan
pembolehubah $HTTP_USER_AGENT.
<?php
$info = getenv("HTTP_USER_AGENT");
echo ("Maklumat tentang pelayar web dan sistem pengoperasian seperti berikut: <br>
$info");
?>
Aturcara getenv.php
Output getenv.php
Fungsi preg_match() digunakan untuk mencari corak perkataan di dalam maklumat yang dihasilkan
dari HTTP_USER_AGENT. Sintaks preg_match() adalah seperti di bawah.
<?php
$info = getenv("HTTP_USER_AGENT");
if(preg_match("/MSIE/i","$info"))
else if(preg_match("/Netscape/i","$info"))
{ $pelayar_web = "Netscape"; }
else if(preg_match("/Opera/i","$info"))
{ $pelayar_web = "Opera"; }
else if(preg_match("/Mozilla/i","$info"))
{ $pelayar_web = "Mozilla"; }
if(preg_match("/Windows/i","$info"))
else if(preg_match("/Linux/i","$info"))
{ $sistem_pengoperasian = "Linux"; }
?>
Aturcara preg_match.php
AKSARA PENERANGAN
i Minit (00-59)
s Saat (00-59)
<?php
$tarikh02 = date("d.m.y");
$masa02 = date("H:i:s");
?>
Aturcara tarikh.php
Output tarikh.php
<?php
$jam = date("G");
?>
Aturcara tarikh2.php
Output tarikh2.php
Nombor Rawak
PHP boleh menghasilkan nombor secara rawak dengan menggunakan fungsi rand(). Fungsi ini boleh
digunakan sama ada tanpa parameter atau dengan parameter. Sekiranya rand(), digunakan tanpa
parameter, satu nombor rawak di antara 0 hingga 32767 akan dihasilkan. Sekiranya 2 parameter iaitu
2 nombor bulat dimasukkan, maka satu nombor rawak di antara kedua – dua nombor tadi akan
dihasilkan.
Fungsi srand() perlu dipanggil sebelum rand() digunakan supaya nombor rawak yang dihasilkan tidak
akan sama seperti nombor yang telah dihasilkan sebelumnya. (srand = seed for random function).
Contoh penggunaan srand() adalah seperti di bawah.
srand(microtime( ) * 1000000);
<?php
srand(microtime()*1000000);
$nombor01 = rand();
?>
Aturcara rawak.php
Output rawak.php
Kandungan laman web dinamik diperlukan agar pengguna yang melayari laman web anda melihat
sesuatu yang berlainan pada setiap lawatan supaya tidak merasa jemu. Ianya boleh dilakukan dengan
memaparkan grafik, berita atau teks secara rawak.
Aturcara di bawah ini menunjukkan setiap kali laman ini dilayar, satu daripada tiga ayat akan
dipaparkan secara rawak.
<?php
srand(microtime() * 1000000);
$nom = rand(1,3);
switch($nom)
?>
Aturcara rawak2.php
Output rawak2.php
Di dalam contoh aturcara borang di bawah, ada empat pembolehubah yang akan diproses atau
dihantar ke proses.php iaitu nama, status, umur dan warganegara.
<?php
echo ("<option>Malaysia</option>");
echo ("</select><br>");
echo ("</select><br>");
echo ("</form>");
?>
Aturcara form.php
Output form.php
Apabila maklumat di borang telah diisi dan butang “Hantar” diklik, maka satu program lain akan
dipanggil iaitu form2.php. nama – nama pembolehubah dari borang (form.php) iaitu nama,
status,warganegara dan umur dari borang boleh diakses dari form2.php dengan pelbagai cara.
Apabila cara POST (method = ‘post’) digunakan di dalam borang, maka setiap input dari borang boleh
diakses seperti di bawah:
ATAU
Sekiranya cara GET (method = ‘get’) digunakan, maka pembolehubah boleh diakses dengan cara di
bawah. Walau bagaimanapun, di dalam aturcara form.php di atas tidak menggunakan cara GET
tetapi sebaliknya menggunakan cara POST.
ATAU
<?php
$nama_proses = $_POST['nama'];
$status_proses = $_POST['status'];
$umur_proses = $_POST['umur'];
$warganegara_proses = $_POST['warganegara'];
switch($status_proses)
echo("Nama : $nama_proses<br>");
echo("Status : $status_proses<br>");
echo("Warganegara : $warganegara_proses<br>");
?>
Aturcara form2.php
Output form2.php
FUNGSI PENERANGAN
<?php
?>
Aturcara str.php
output str.php
<?php
$komen = $_POST['komen'];
$strlen = $_POST['chk1'];
$strtoupper = $_POST['chk2'];
$strtolower = $_POST['chk3'];
$ucwords = $_POST['chk4'];
$strrev = $_POST['chk5'];
?>
Aturcara str2.php
Output str2.php
Memori Cache
Sesuatu laman web dipanggil melalui alamatnya atau URL. Komputer pengguna akan mencari data
dari memori cache komputernya sendiri dengan cepat. Sekiranya tiada, maka data akan diambil dari
pelayan yang mungkin terletak jauh di luar negara dan memakan masa yang lebih lama.
Ada kalanya, walaupun data ada di dalam memori cache, tetapi kita mahukan setiap pengguna
mengambil data terbaru dari pelayan bukan dari memori cache komputer pengguna.
Ini adalah untuk memastikan pengguna sentiasa mendapat data terkini tetapi akan mengambil masa
yang lebih. Untuk tujuan ini, fungsi header() digunakan seperti disebelah.
header(“Cache-Control : no-cache”);
Aturcara di bawah ini memaksa pelayar web pengguna supaya sentiasa mengambil data iaitu
sebarang nombor rawak terkini terus dari pelayan.
<?php
header("Cache-Control: no-cache");
srand(microtime() * 1000000);
echo ("Nombor rawak yang dihasilkan pada kali ini ialah $nom");
?>
Aturcara header.php
Output header.php
Contoh penggunaan fungsi header() ditunjukkan dalam aturcara header2.php, header3.php dan
header4.php.
<?php
header("Location: header3.php");
?>
Aturcara header2.php
<?php
?>
Aturcara header3.php
Output header3.php
Walaupun header2.php yang dibuka oleh pelayar web, tetapi paparan telah dialihkan ke
header3.php. Di sebelah ditunjukkan satu lagi contoh aturcara yang menggunakan fungsi header().
<?php
$url = $_POST['url'];
if($url)
header("Location: $url");
?>
<html>
<body>
<select name="url">
<option value="http://www.udm.edu.my">UDM</option>
</select>
</form>
</body>
</html>
Aturcara header4.php
Output header4.php
opendir(“D:\\sem 4”);
opendir(“/usr/sem 4”);
Fungsi readdir() boleh digunakan selepas opendir() digunakan. Fungsi readdir() digunakan untuk
memasukkan nama fail yang di baca di dalam gelung ke satu pembolehubah yang lain. Lihat contoh
di bawah.
Perhatikan anda perlu memasukkan aksara escape ‘\’ untuk setiap simbol ‘\’. Oleh itu perlu ditulis
sebagai \\. Pada penghujung aturcara, fungsi closedir() digunakan untuk menutup direktori tersebut.
Lihat contoh di bawah.
closedir(“D:\\sem 4”);
<?php
$dir = opendir($nama_dir);
while($fail = readdir($dir))
closedir();
$papar .= "Senarai nama fail dalam direktori $nama_dir adalah seperti di bawah
<br>";
$papar .= $senarai_fail;
echo $papar;
?>
Aturcara direktori.php
Output direktori.php
Salin Fail
Fail di salin dalam PHP menggunakan fungsi copy(). Fungsi ini memerlukan dua parameter iaitu nama
fail untuk di salin dan juga nama fail baru serta direktorinya. Fungsi copy() akan mengembalikan nilai
benar sekiranya berjaya menyalin fail dan palsu jika tidak berjaya. Nama fail dalam Windows adalah
format “C:\\fail.txt”.
<?php
$sumber = "D:\\cinta.txt";
if(copy($sumber,$destinasi))
else
echo $mesej;
?>
Aturcara salin.php
Output salin.php
<?php
$sumber = "D:\\cinta.txt";
$destinasi = "D:\\cinta2009.txt";
if(copy($sumber,$destinasi))
else
echo $mesej;
?>
Aturcara rename.php
Output rename.php
Hapus Fail
Fungsi unlink() digunakan dalam PHP untuk menghapus fail. Apabila ia berjaya membuang fail
tersebut, ia akan mengembalikan nilai benar atau mengembalikan nilai palsu jika sebaliknya.
<?php
$fail = "D:\\cinta2009.txt";
if(unlink($fail))
else
echo $mesej;
?>
Aturcara buang.php
Output buang.php
NAMA PENERANGAN
FUNGSI
r+ Buka fail untuk dibaca dan ditulis. Penunding diletakkan di awal fail
w Buka fail untuk ditulis sahaja. Penunding diletakkan di awal fail dan menjadikan
saiz fail kepada 0. Sekiranya fail tidak wujud, fail ini akan dibina
w+ Buka fail untuk dibaca dan ditulis. Penunding diletakkan di awal fail dan
menjadikan saiz fail kepada 0. Sekiranya fail tidak wujud, fail ini akan dibina.
a Buka fail untuk ditulis sahaja. Penunding diletakkan di hujung fail dan
menjadikan saiz fail kepada 0. Sekiranya fail tidakwujud, fail ini akan dibina
a+ Buka fail untukdibaca dan ditulis. Penunding diletakkan di hujung fail dan
menjadikan saiz fail kepada 0. Sekiranya fail tidak wujud, fail ini akan dibina
$penunding = fopen(“C:\\info.txt”,”r”);
Di dalam contoh di bawah, sebuah fail 06_Isteri Solehah.txt dibuka untuk dibaca. Kandungan fail
tersebut akan dibaca dan dipaparkan semula ke skrin. Kemudian, fail tersebut akan ditutup.
<?php
$penunding_fail = fopen($nama_fail,"r");
$saiz = filesize($nama_fail);
fclose($penunding_fail);
echo ("<pre>$kandungan</pre>");
?>
Aturcara baca_fail.php
Output baca_fail.php
Fungsi fwrite() boleh digunakan dengan dua atau tiga parameter. Lihat contoh di bawah.
FORMAT PERTAMA
- Dengan memasukkan saiz fail, maka proses menulis ke dalam fail info.txt akan diberhentikan
apabila saiz tersebut telah pun menyamai
FORMAT KEDUA
<?php
$nama_fail = "D:\\tulis.txt";
$penunding_fail = fopen($nama_fail,"w");
fclose($penunding_fail);
$penunding_fail1 = fopen($nama_fail,"r");
$saiz = filesize($nama_fail);
fclose($penunding_fail1);
echo $papar;
?>
Aturcara fwrite.php
Output fwrite.php
Log Pelawat
Di sini anda akan belajar cara untuk membina buku log pelawat secara dalam talian yang akan
merakam maklumat pengguna yang mengunjungi laman anda. Di bawah ialah beberapa
pembolehubah persekitaran yang boleh digunakan.
PEMBOLEHUBAH PENERANGAN
PERSEKITARAN
<?php
$nama_fail = "D:\\log.txt";
$penunding = fopen($nama_fail,"a");
$info1 = getenv(HTTP_REFERER);
$info2 = getenv(REMOTE_ADDR);
$info3 = getenv(HTTP_USER_AGENT);
if($info2 != NULL)
if($info1 != NULL)
fclose($penunding);
$penunding = fopen($nama_fail,"r");
$saiz = filesize($nama_fail);
echo $teks;
?>
Aturcara buku_pelawat.php
Output buku_pelawat.php
Maklumat direktori sementara di atas di dapati dari fungsi phpinfo(). Direktori ini digunakan
untuk menyimpan fail yang dimuatnaik sebelum disalin ke direktori yang sebenar. Dari contoh
diatas, lokasi direktori sementara itu ialah di C:\Windows\TEMP iaitu melalui pembolehubah
TEMP dan TMP. Konfigurasi ini boleh ditukar dengan mengedit fail PHP.ini iaitu fail yang
mengandungi konfigurasi untuk PHP.
Proses muat naik fail ini memerlukan maklumat dua direktori iaitu direktori sementara dan direktori
di mana fail itu sepatutnya dimuat naik. Direktori muat naik mesti disetkan untuk memberi
kebenaran menulis (write access) kepada pengguna.
Borang muat naik adalah sama seperti borang yang lain TETAPI berbeza di dua bahagian seperti di
bawah.
Di bawah ini diterangkan dengan lebih terperinci mengenai arahan – arahan lain yang digunakan di
dalam contoh aturcara selanjutnya. Nilai pembolehubah dari borang akan dihantar ke program PHP
yang dipanggil melalui arahan action. Di dalam contoh di bawah, maklumat dari borang (form.php)
akan dihantar ke fail upload.php.
a. Arahan form digunakan untuk menggunakan borang. Apabila borang telah dipenuhi
dan butang “HANTAR” diklik, maklumat akan dihantar ke fail upload.php
a. Satu kotak input bersama butang browse disebelahnya akan dipaparkan di skrin.
b. PHP secara automatik akan membina 3 pembolehubah tambahan untuk input jenis
fail. Pembolehubah tambahan itu berasaskan nama pembolehubah iaitu $namafile
kepada $_FILES[‘namafile’][‘name’], $_FILES[‘namafile’][‘size’] dan
$_FILES[‘namafiles’][‘type’].
c. $_FILES[‘namefile’][‘name’] – ini adalah cara untuk mengambil nama fail yang akan di
muat naik melalui name dari pembolehubah namefile dalam fail upload.php
d. $_FILES[‘namafile’][‘type’] – ini adalah cara untuk mengambil jenis fail yang akan
dimuat naik melalui type dari pembolehubah namafile dalam fail upload.php
e. $_FILES[‘namafile’][‘size’] – ini adalah cara untuk mengambil nilai saiz fail yang akan
dimuat naik melalui size dari pembolehubah filename dalam fail upload.php
a. Salin fail dari fail sementara di direktori sementara iaitu $filetmp ke destinasi
sebenar
6
Di dalam istilah komputer, encode bermaksud penukaran data dari satu format ke format lain. Contohnya fail
teks atau grafik perlu diencode ke kod binari (0 dan 1) supaya komputer boleh memahaminya.
c. Sekiranya berlaku masalah, mesej “Tidak boleh dimuat naik” akan dipaparkan.
5. exec(‘xcopy d:\\15-SKT c:\\15-SKT /e/i’, $a, $a1); - digunakan untuk menyalin direktori
termasuk semua fail didalamnya.
<html>
<body>
</form>
</body>
</html>
Aturcara form_upload.html
Output form_upload.html adalah berbeza mengikut pelayar web yang digunakan oleh pengguna. Jika
pengguna menggunkan pelayar web Microsoft Internet Explorer atau Mozilla Firefox, outputnya
adalah seperti di bawah.
Jika pengguna menggunakan pelayar web Apple Safari atau Google Chrome, outputnya adalah sedikit
berbeza seperti yang ditunjukkan di bawah. Walau pun output setiap pelayar web adalah berbeza,
tetapi hasil setiap pelayar web adalah sama.
<?php
$namafail = $_FILES['namafile']['name'];
$semfail = $_FILES['namafile']['tmp_name'];
$saizfail = $_FILES['namafile']['size'];
$jenisfail = $_FILES['namafile']['type'];
if($namafail != "")
copy($semfail, 'C:\\Program
Files\\xampp\\htdocs\\ebook\\ch7\\'.$namafail) or die ("Tidak boleh salin fail dari
direktori sementara");
//guna fungsi exec() jika mahu salin semua fail dan sub direktorinya di
dalamnya
echo $mesej;
?>
Aturcara upload.php
Output upload.php
Cookie
Cookies boleh diberikan nilai dengan menggunakan fungsi setcookie(). Fungsi ini mestilah diletakkan
di permulaan aturcara. Jika tidak, ia akan memberikan ralat apabila aturcara dijalankan.
Contohnya, nama pengguna boleh disimpan di dalam cookie supaya dapat digunakan banyak kali
sehingga pengguna keluar dari laman web anda. Fail cookie boleh dibuka melalui editor teks seperti
Notepad. Sekiranya ada maklumat sulit seperti kata laluan, maka ia boleh dienkripsikan. Namun
begitu, maklumat sulit tidak digalakkan untuk dimasukkan ke dalam cookie, sebaliknya perkataan
unik yang digunakan sebagai rujukan untuk mencapai maklumat di dalam pangkalan data.
Cookie selalunya digunakan untuk menyimpan maklumat pegguna seperti nama pengguna, jenis
buku yang diminati, tarikh akhir melayari laman web itu. Sekiranya kita pernah melayari sesuatu
laman web tertentu, pelayar web tersebut akan memaparkan laman web seperti mana kali terakhir
kita layari sebelum ini. Ini dapat dilakukan dengan membaca maklumat cookie terdahulu yang
disimpan di komputer pengguna untuk mengetahui lokasi terakhir yang pernah dilawati oleh
pengguna tersebut.
Contohnya, sekiranya anda melayari sebuah laman web yang mempunyai beribu jenis buku, apabila
anda layari laman web itu hari ini, ia akan memaparkan terus ke laman yang mengandungi maklumat
tentang buku – buku bahasa pengaturcaraan PHP kerana anda melayarinya ketika kali terakhir anda
melayarinya.
Fungsi setcookie() hanya boleh menyimpan satu cookie sahaja pada satu – satu masa dan boleh
mengandungi sehingga enam parameter. Parameter yang digunakan disenaraikan seperti di bawah.
PARAMETER PENERANGAN
Parameter ini untuk memberikan nama kepada cookie dan disimpan di dalam
Name pembolehubah persekitaran HTTP_COOKIE_VARS. Nama ini boleh digunakan di
laman – laman lain.
Parameter ini ialah dalam saat yang digunakan untuk memberitahu bila cookie ini
akan tamat. Contohnya, time() + 86400 iaitu waktu sekarang dan ditambah dengan
Expire 86400 saat beerti cookie ini akan tamat selepas 24 jam ianya dihasilkan. Sekiranya
tiada masa dinyatakan, maka cookie ini akan tamat sebaik sahaja laman web ini
ditutup.
Parameter ini menyatakan bahawa cookie ini hanya sah digunakan di dalam laman –
Path laman yang berada di direktori tersebut sahaja. Sekiranya ‘/’ digunakan, cookie
tersebut boleh digunakan di dalam semua direktori di pelayan tersebut.
Semua cookie hanya boleh digunakan di hos dan domain yang menghasilkan cookie
Domain tersebut. Sekiranya domain tidak dinyatakan, maka ia hanya akan sah digunakan di
hos pelayan yang menghasilkannya sahaja.
Sekiranya nilai security atau keselamatan di set sebagai 1, ini bermakna cookie hanya
boleh dihantar melalui talian yang selamat sahaja iaitu menggunakan protokol
Security
HTTPS (Security HTTP), dan jika nilainya ialah 0 maka cookie boleh dihantar melalui
protokol biasa sahaja iaitu HTTP
Parameter name diperlukan di dalam fungsi setcookie(), manakala parameter yang lain merupakan
pilihan sahaja. Sekiranya hanya parameter name sahaja yang dinyatakan, maka cookie yang
mempunyai nama tersebut akan dibuang dari komputer tersebut.
setcookie(“nama”);
setcookie(“kp”, “861101236341”, time() + 86400, “/”, “ ”, 0) beerti, membina satu cookie dengan
maklumat di bawah
3. expiry – cookie kp akan tamat selepas time() + 86400 atau selepas 24 jam cookie kp
dihasilkan
<?php
?>
Aturcara cookie.php
Output cookie.php
Setelah nilai cookie dimasukkan, ianya boleh dilihat menggunakan fungsi phpinfo(). Kandungannya di
simpan di dalam pembolehubah persekitaran di antaranya $HTTP_COOKIE, $_REQUEST, $_COOKIE,
$_SERVER[“HTTP_COOKIE”]. Di bawah ini diberikan beberapa contoh dari maklumat phpinfo().
Paparan di pelayar web menggunakan fungsi phpinfo(). Cookie nama dapat dilihat melalui
pembolehubah $REQUEST[“nama”] dan $COOKIE[‘nama’] menyimpan nilai Faris Adli Jamian
Paparan di pelayar web menggunakan fungsi phpinfo(). Pembolehubah cookie iaitu $Cookie
menyimpan nilai nama = Faris Adli Jamian
Di bawah ini ialah contoh aturcara pendek untuk memaparkan nilai yang telah disetkan nilainya
melalui setcookie() di dalam program cookie.php melalui $HTTP_COOKIE_VARS
<?php
echo $HTTP_COOKIE_VARS['nama'];
?>
Aturcara papar_cookie.php
Output papar_cookie.php
Pembolehubah cookie dan nilainya boleh dilihat melalui pelayar web. Sekiranya pelayar web
pengguna ialah Mozilla Firefox 3.0.10, cara untuk melihat cookie adalah seperti di bawah.
Jika pengguna menggunakan pelayar web Internet Explorer 8, cara untuk melihat cookie adalah
seperti di bawah.
Klik pada butang “Settings” pada bawah perkataan Browsing history untuk melihat cookies
Jika pengguna menggunakan pelayar web Google Chrome, cara melihat cookies adalah seperti di
bawah.
Jika pengguna menggunakan pelayar web Safari 3.2.3, cara untuk melihat cookies ditunjukkan di
bawah.
Session
Satu lagi alternatif untuk memudahkan data supaya boleh digunakan di dalam semua laman – laman
web yang lain ialah dengan menggunakan session.
Bila session digunakan, sebuah fail sementara dibina di ditektori sementara untuk menyimpan
pembolehubah session. Lokasi direktori sementara yang menyimpan fail sementara session dapat
dilihat di dalam fail konfigurasi php.ini melalui session_save_path. Di dalam rajah di bawah, direktori
sementaranya ialah C:\Program Files\xampp\tmp.
Session boleh dimulakan dengan memanggil fungsi session_start(). Walau bagaimanapun, konfigurasi
di dalam php.ini boleh ditukar supaya session dapat digunakan secara automatik di setiap laman
dengan menukar nilai session session_auto_start kepada 1. Dengan cara ini, session boleh digunakan
tanpa perlu session_start().
Mulakan Session
Sekiranya fail konfigurasi php.ini tidak diubah, fungsi session_start() perlu digunakan pada
permulaan aturcara. Pembolehubah session digunakan dengan cara yang berbeza mengikut versi.
Untuk versi baru, arahan yang digunakan ditunjukkan di bawah.
<?php
session_start();
header("Location: guna_session.php");
?>
Aturcara session.php
<?php
session_start();
?>
Aturcara guna_session.php
Penggunaan session adalah semakin popular berbanding penggunaan cookie. Walau bagaimanapun,
penggunaan session akan meningkatkan penggunaan sumber di pelayan (cookie disimpan di
komputer pengguna, jadi kurang penggunaan sumber di pelayan TETAPI bertambah penggunaan
sumber di komputer pelanggan.)
Pengenalan
Pangkalan data merupakan satu ruang untuk menyimpan data. Pengaturcaraan PHP menjadi lebih
berkesan dengan keupayaannya menyimpan data – data untuk digunakan semula untuk paparan,
laporan dan rujukan.
Di antara pangkalan data yang ada pada hari ini ialah Oracle, MySQL, PostgresSQL, Microsoft Access
dan Microsoft SQL Server. Sebenarnya banyak lagi pangkalan data yang lain yang tidak disebut disini.
Oracle adalah pangkalan data yang selalu digunakan oleh syarikat – syarikat besar kerana harga serta
yuran tahunannya yang tinggi. Walau bagaimanapun, Oracle ada mengeluarkanversi pangkalan data
percumanya pada tahun 2005 iaitu Oracle Database10g Express Edition atau nama lainnya Oracle
Database XE. Oracle Database XE menyokong pengaturcaraan PHP. Versi ini boleh menyimpan
sehingga 4GB data pengguna.
Microsoft pula ada mengeluarkan dua jenis pangkalan data. Yang pertama ialah Microsoft Access
yang dijual dalam pakej Microsoft Office Professional bersama – sama dengan Microsoft Word,
Microsoft Excel dan Microsoft Powerpoint. Yang keduanya ialah Microsoft SQL Server yang boleh
dibeli dengan harga tertentu dengan lesen pengguna mengikut bilangan pengguna yang diperlukan.
MySQL telah dibangunkan oleh syarikat MySQL AB. MySQL AB merupakan syarikat komersil yang
diasaskan oleh pembangun asal MySQL. Ia merupakan sebuah syarikat yang memberikan
perkhidmatan dan sokongan kepada pelanggan MySQL yang berbayar.
Pada masa yang sama, pengguna boleh memuat turun pangkalan data MySQL secara percuma dari
Internet tetapi tanpa sokongan dari MySQL AB. Logo ikan lumba – lumba yang digunakan diberi nama
Sakila melalui satu pertandingan “Name the Dolphin” yang telah dimenangi oleh Ambrose Twebaze
dari Swaziland, Afrika. Beliau merupakan seorang pembangun perisian sumber terbuka. Perkataan
“My” adalah merujuk kepada nama anak perempuan Monty Widenius iaitu salah seorang pengasas
MySQL.
Buku ini hanya akan membincangkan tentang pangkalan data MySQL sahaja kerana ia merupakan
salah satu perisian sumber terbuka yang popular dan sering digunakan dengan meluas.
Nama, tarikh, ubat dan jenis sakit adalah merupakan entiti yang penting di dalam sesebuah
pangkalan data yang dipanggil medan. Medan – medan yang pelbagai disatukan mengikut kesesuaian
untuk membentuk satu jadual. Setiap kad perubatan pesakit pula mewakili satu rekod di dalam
jadual. Maklumat setiap kad perubatan yang digabungkan dalam satu ruang simpanan dinamakan
jadual.
SQL
Sebelum pengguna boleh membuat aturcara PHP yang menggunakan pangkalan data, ia perlu
memahami dulu bahasa Structured Query Language atau SQL iaitu bahasa yang digunakan di dalam
MySQL. Di antara arahan SQL yang digunakan adalah seperti berikut:
1. Pernyataan SELECT yang digunakan untuk memilih rekod yang tertentu dari pangkalan data
2. Pernyataan UPDATE yang digunakan untuk mengemaskini data dalam rekod tertentu
3. Pernyataan DELETE yang digunakan untuk menghapuskan data, jadual atau pangkalan data
4. Pernyataan INSERT yang digunakan untuk memasukkan data baru ke dalam pangkalan data
Arahan – arahan asas ini akan diterangkan dengan lebih jelas dalam buku ini.
INSERT
Untuk memasukkan data ke dalam MySQL, arahan SQL iaitu INSERT digunakan. Sintaks INSERT
ditunjukkan di bawah.
Pengguna boleh menggunakan satu atau lebih medan tetapi bilangan medan dan nilai mestilah sama.
Ini adalah kerana satu nilai akan dimasukkan ke satu medan tertentu mengikut kedudukan
susunannya. Andaikan, satu pangkalan data bernama KOLEJ telah dibina. Di dalam pangkalan data
KOLEJ, ada satu jadual bernana PELAJAR. Di dalam jadual PELAJAR, ada empat medan iaitu KP yang
menyimpan nilai nombor kad pengenalan, NAMA iaitu nama pelajar, NEGERI iaitu negeri kelahiran
pelajar dan ALAMAT sebagaimana jadual di sebelah.
JADUAL PELAJAR
Contoh – contoh seterusnya di dalam bab ini adalah berpandukan kepada jadual di atas. Apabila ada
pelajar baru masuk, maklumat pelajar tersebut dimasukkan dengan cara berikut:
JADUAL PELAJAR
SELECT
Setelah data dimasukkan, ia boleh diambil semula untuk dipaparkan ke skrin dengan menggunakan
arahan SQL iaitu SELECT. Sintaks SELECT ditunjukkan di bawah.
Sekiranya anda ingin memaparkan semua maklumat pelajar, maka arahan SQLnya adalah seperti
berikut.
Simbol * mewakili semua medan yang terdapat di dalam jadual PELAJAR. Jadi arahan di atas adalah
untuk mendapatkan semua data medan seperti KP, NAMA, NEGERI, ALAMAT dari jadual PELAJAR.
Jika pengguna hanya ingin mendapatkan maklumat tentang pelajar yang mempunyai kad pengenalan
871125049991 sahaja, pengguna boleh menggunakan arahan SQL seperti di bawah.
jika pengguna ingin mendapatkan nama dan kad pengenalan semua pelajar, maka pengguna boleh
menggunakan arahan di bawah.
Dalam MySQL, arahan SELECT memang banyak kali digunakan untuk pengambilan data bagi tujuan
paparan.
UPDATE
Maklumat di dalam jadual juga boleh diubah suai atau dikemaskini dengan menggunakan arahan SQL
iaitu UPDATE melalui beberapa cara. Sintaks UPDATE seperti di bawah.
Katakan, pelajar bernama Faris Adli (KP = “861101236341”) telah berpindah ke “Gong Badak, Kuala
Terengganu”. Untuk mengemaskini maklumatpelajar tersebut, arahan SQL di bawah digunakan.
update PELAJAR set ALAMAT = “Gong Badak, Kuala Terengganu” where KP=“861101236341”;
Untuk menukar alamat Faris Adli sahaja, arahan SQL di bawah tidak boleh digunakan.
sekiranya arahan SQL di atas digunakan, maka alamat untuk kesemua pelajar akan ditukar ke alamat
baru. Di bawah ini ditunjukkan data jadual PELAJAR yang terkini.
JADUAL PELAJAR
DELETE
Maklumat di dalam jadual boleh ditukar dengan menggunakan arahan SQL DELETE. Sintaks DELETE
ditunjukkan di bawah.
Katakan pelajar bernama Afiqah (KP = “870604101244”) telah bertukar ke kolej lain. Maka maklumat
pelajar tersebut perlu dihapuskan dari jadual PELAJAR dengan menggunakan arahan di bawah.
JADUAL PELAJAR
Kunci Utama
Berdasarkan contoh – contoh sebelum ini, di dapati medan KP selalu digunakan untuk mendapatkan
semula rekod pelajar tertentu. Ini adalah kerana KP mempunyai nilai yang unik dan tidak ada pelajar
lain yang mempunyai KP yang sama, oleh itu ia memudahkan carian.
Pengguna boleh membuat carian pelajar berdasarkan nama pelajar seperti “Kamil” tetapi ada
kemungkinan apabila pelajar bertambah, akan terdapat lebih dari seorang pelajar di kolej yang
mempunyai nama yang sama. Perkara yang sama TIDAK akan berlaku jika carian dilakukan
menggunakan medan KP kerana tidak akan ada pelajar yang akan mempunyai nombor kad
pengenalan yang sama walaupun berapa banyak bilangan pelajar bertambah. Oleh itu, cara terbaik
ialah dengan menggunakan KP. Ia mempunyai nilai yang unik yang boleh diibaratkan sebagai cap jari
manusia tetapi dalam bentuk digital, yang tidak ada persamaan di antara seorang pelajar dengan
pelajar – pelajar yang lain. Ini adalah ciri utama untuk sesuatu medan dipilih sebagai kunci utama dari
sesuatu jadual. Di dalam jadual PELAJAR, kunci utama yang paling sesuai ialah KP.
Nombor kad pengenalan selalunya dijadikan kunci utama di dalam aplikasi sebenar di Malaysia.
Dengan adanya kunci utama, setiap rekod dapat dibezakan dan ini akan memudahkan untuk
mendapatkan maklumat dan carian dengan lebih cepat.
JENIS PENERANGAN
DATA
decimal Nombor perpuluhan. Pengguna boleh menyenaraikan berapa digit yang anda mahu
gunakan. Contohnya decimal(2,2) membenarkan nombor dari -99.99 sehingga 99.99
year Tahun dari 1901 sehingga 2155 dalam format YY atau YYYY
timestamp Tarikh dan masa rekod terakhir dimasukkan ke dalam pangkalan data
char() Rentetan yang boleh mencapai saiz sehingga 255 aksara. Sekiranya char(33) digunakan,
maka bahagian kosong yangtidak digunakan akan ditambah secara automatik untuk
menjadikan saiznya tepat 33 aksara panjang
varchar() Rentetan yang boleh mencapai sehingga 255 panjang saiznya tetapi bahagian kosong
tidak akan ditambah seperti yang perlu dilakukan kepada char(). Oleh itu jika
varchar(33) digunakan, tidak semestinya saiznya sentiasa 33 aksara panjang. Oleh itu,
penggunaan varchar() adalah lebih menjimatkan ruang dalam cakera keras jika
digunakan dalam jangka masa yang panjang
enum Sebagai contoh, enum(“bola”, “hoki”, “sepaktakraw”) akan hanya menerima salah satu
permainan dari senarai nama permainan yang diberikan di atas.
set Sebagai contoh, enum(“bola”, “hoki”, “sepaktakraw”) akan hanya menerima salah satu
atau beberapa permainan dari senarai nama permainan yang diberikan di atas.
Selain dari jenis data yang boleh disimpan di dalam sesuatu medan, ada empat lagi pi;ihan yang
boleh digunakan untuk menentukan bagaimana medan tersebut berfungsi. Contohnya, adakah
medan tertentu boleh dibiarkan kosong atau mesti diisi dengan sesuatu nilai, adakah data yang
dimasukkan ke dalam medan tersebut mesti unik atau pun boleh mempunyai nilai yang berulang
atau sama dengan rekod sebelumnya, adakah medan tersebut akan digunakan sebagai indeks atau
kunci utama untuk memudahkan carian. Maklumat tambahan yang diterangkan boleh disetkan
kepada sesuatu medan dengan menggunakan maklumat di bawah.
MAKLUMAT PENERANGAN
TAMBAHAN
not null Medan mestilah diisi dengan nilai, tidak boleh dibiatkan kosong
unique Semua nilai di dalam medan ini di dalam rekod – rekod yang lain mestilah
berlainan, tidak boleh nilai yang sama
primary_key() Pilihan ini menjadikan medan ini sebagai kunci utama yang akan digunakan
sebagai indeks semasa membuat carian
2. Bina pangkalan data KOLEJ dengan menaip perkataan KOLEJ di dalam kotak “Create new
database” dan kemudiannya klik di butang “Create”
3. Bina jadual PELAJAR dengan menaip perkataan PELAJAR di dalam kotak “Name” dan
masukkan nilai 4 di dalam kotak “Number of Fields”
5. Bina medan – medan dengan menggunakan nama, jenis data serta saiz di jadual di bawah
KP VARCHAR 14
NAMA VARCHAR 50
NEGERI VARCHAR 15
ALAMAT TEXT
6. Jadikan medan KP sebagai kunci utama dengan memilih “primary” di bawah perkataan Index
9. Isikan di kotak “Value” dengan nilai – nilai seperti di jadual di sebelah ini mengikut
medannya.
10. Klik butang “Go” setelah dimasukkan nilai dan ulang semula dengan mengisi data untuk baris
seterusnya di dalam jadual
11. Klik di tab “Browse” untuk melihat kesemua rekod yang telah dimasukkan.
Selalunya pelayan yang digunakan ialah localhost. Namun begitu, nama pelayan bergantung kepada
nama yang diberikan kepada komputer pelayan pengguna seperti kolej.com.my, dan lain – lain.
Apabila MySQL dipasang pada komputer, nama pengguna “root” tanpa kata laluan akan terhasil
secara automatik. Sekiranya pengguna ingin menggunakan MySQL untuk aplikasi penting, sebagai
langkah keselamatan, disarankan agar kata laluan ditukar terlebih dahulu. Contoh sambungan yang
selalu digunakan ditunjukkan di bawah.
Kod aturcara sambungan ini mestilah diletakkan sebelum arahan SQL yang lain digunakan. Oleh itu,
pernyataan ini perlu diletakkan di permulaan aturcara. Untuk memudahkan lagi penggunaan
sambungan, ia boleh disimpan di dalam pemboleh ubah seperti $conn. Selain daripada itu, untuk
mengesan ralat semasa melakukan sambungan ialah dengan menggabungkannya dengan fungsi
die().
ATAU
mysql_select_db(“KOLEJ”);
ATAU
$db = mysql_select_db(“KOLEJ”);
ATAU
Berdasarkan tiga cara memilih pangkalan data di atas, cara ketiga adalah cara yang terbaik kerana
dapat mengesan ralat semasa melakukan pemilihan pangkalan data.
Pernyataan include
Pernyataan include digunakan untuk menggunakan semula kod aturcara dari sesuatu fail lain.
Dengan cara ini, kod di dalam fail include seolah – olah disalin ke dalam fail yang menggunakan
arahan include.
Sekiranya pengguna ingin menggunakan pangkalan data KOLEJ di dalam kebanyakkan aturcara,
maka cara mudah ialah dengan memasukkan arahan – arahan mysql_connect() dan
mysql_select_db() ke dalam satu fail lain yang dinamakan connection.php sebagai contoh. Sintaks
pernyataan adalah seperti berikut.
include “nama-fail.php”
<?php
?>
Aturcara connection.php
<?php
include "connection.php";
if($rs)
while($rows = mysql_fetch_array($rs))
echo $str;
$str = "";
?>
Aturcara mysql_papar.php
Output mysql_papar.php
Kod aturcara sambungan dan pemilihan pangkalan data dipisahkan ke dalam fail berasingan iaitu
connection.php. cara ini lebih efisyen kerana pernyataan include membolehkan penggunaan semula
kod dari fail connection.php. dengan cara ini, ia boleh digunakan berulang kali dalam mana – mana
program lain melalui pernyataan include.
Konfigurasi Configuration
Pelayan Server
Rekursif Recursive
Pengaturcara Programmer
Antaramuka Interface
Pembolehubah Variable
Rentetan String
Aksara Character
Fungsi Function
Gelung Loop
Pernyataan Statement
Tatasusunan Array
Penunding Pointer
Salin Copy
Jadual Table
Medan Field
Rekod Record
Unik Unique
Masukkan Insert
Hapus Delete
Kemaskini Update