Anda di halaman 1dari 127

2009

Bijak PHP dan MySQL

Faris Adli Jamian


UDM
5/21/2009
2 Bijak PHP dan MySQL

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

May 21, 2009


3

Mengubah Nilai Dalam Tatasusunan................................................................................................. 45


Memaparkan Tatasusunan................................................................................................................ 45
Mendapatkan Saiz Tatasusunan........................................................................................................ 47
Menambah Elemen Tatasusunan...................................................................................................... 48
Menghapus dan Menyusun Elemen Tatasusunan ............................................................................ 50
Kunci Tatasusunan............................................................................................................................. 51
Indeks ................................................................................................................................................ 53
Fungsi Tatasusunan Yang Lain........................................................................................................... 54
BAB 6 MEMBINA KANDUNGAN DINAMIK........................................................................................ 61
Pelayar Web dan Sistem Pengendalian............................................................................................. 61
Tarikh dan Masa ................................................................................................................................ 64
Nombor Rawak.................................................................................................................................. 67
Input Dari Borang Laman Web .......................................................................................................... 69
Fungsi Untuk Rentetan...................................................................................................................... 72
Memori Cache ................................................................................................................................... 75
Hala ke Laman Web Lain ................................................................................................................... 76
BAB 7 FAIL DAN DIREKTORI.............................................................................................................. 80
Papar Fail di Direktori........................................................................................................................ 80
Salin Fail............................................................................................................................................. 82
Tukar Nama Fail................................................................................................................................. 83
Hapus Fail .......................................................................................................................................... 83
Buka dan Tutup Fail........................................................................................................................... 84
Tulis Ke Dalam Fail............................................................................................................................. 87
Log Pelawat ....................................................................................................................................... 89
Muat Naik Fail.................................................................................................................................... 90
BAB 8 COOKIE DAN SESSION............................................................................................................ 97
Cookie ................................................................................................................................................ 97
Session ............................................................................................................................................. 109
Mulakan Session .............................................................................................................................. 110
Cookie atau Session? ....................................................................................................................... 111
BAB 10 PANGKALAN DATA MYSQL .................................................................................................. 112
Pengenalan...................................................................................................................................... 112
Asas Pangkalan Data........................................................................................................................ 113
SQL................................................................................................................................................... 113

May 21, 2009


4 Bijak PHP dan MySQL

INSERT ............................................................................................................................................. 113


SELECT ............................................................................................................................................. 115
UPDATE............................................................................................................................................ 115
DELETE ............................................................................................................................................. 116
Kunci Utama .................................................................................................................................... 117
Jenis Data SQL ................................................................................................................................. 117
Bina Pangkalan Data dan Jadual Menggunakan phpMyADMIN...................................................... 119
Membuat Sambungan Ke MySQL.................................................................................................... 122
Pilih Pangkalan Data ........................................................................................................................ 123
Pernyataan include.......................................................................................................................... 123
ISTILAH BAHASA MELAYU – BAHASA INGGERIS.................................................................................. 126

May 21, 2009


BAB 1 PENGENALAN 5

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.

May 21, 2009


6 Bijak PHP dan MySQL

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’.

May 21, 2009


BAB 2 ASAS PHP 7

BAB 2 ASAS PHP

Tag PHP
Kod aturcara PHP perlu diletakkan di dalam tag. Ada tiga jenis tag seperti yang ditunjukkan di bawah.

<?php echo “Hello World!”; ?>

Cara pertama tag PHP

<? echo “Hello World!”; ?>

Cara kedua tag PHP

<script language=”php"> echo “Hello World!”; </script>

Cara ketiga tag PHP

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

Output aturcara hello.php

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.

May 21, 2009


8 Bijak PHP dan MySQL

Contoh aturcara lain ditunjukkan di bawah. Dalam aturcara ini fungsi number_format() digunakan
untuk memudahkan memaparkan nombor.

<?php

echo ("Jumlah penduduk Malaysia kira - kira ");

echo number_format(26000000);

?>

Aturcara nombor.php

Output nombor.php ditunjukkan di bawah.

Output nombor.php

Tidak Sensitif Kepada Huruf


Anda boleh menggunakan huruf besar atau kecil di dalam pengaturcaraan PHP, tidak seperti bahasa
pengaturcaraan C, C++ dan Java. Ini dapat mengurangkan kesilapan di dalam aturcara.

<?php

echo ("Fakulti Informatik ");

ECHO ("Universiti Darul Iman Malaysia");

?>

Aturcara fakulti.php

May 21, 2009


BAB 2 ASAS PHP 9

Output fakulti.php ditunjukkan dalam rajah di bawah

Output aturcara fakulti.php

Berdasarkan output di atas, dapat dilihat bahawa arahan echo dan ECHO memberikan output dan
tidak menghasilkan ralat atau ‘error’.

May 21, 2009


10 Bijak PHP dan MySQL

Komen
Ada tiga cara komen yang boleh digunakan di dalam PHP seperti yang ditunjukkan dalam aturcara
komen.php di bawah.

<?php

/* Cara 1 komen:

Biasanya digunakan untuk komen yang panjang

*/

// Cara 2 komen: Sesuai digunakan untuk komen yang hanya SATU baris sahaja

# Cara 3 komen

echo "Cara komen"; # Cara 3 komen juga boleh disini

?>

Aturcara komen.php

Output bagi komen.php ditunjukkan dalam rajah di bawah.

Output komen.php

Berdasarkan rajah di atas di dapati hanya perkataan “Cara komen” sahaja yang dipaparkan kerana
komputer tidak memproses atau compile komen.

May 21, 2009


BAB 2 ASAS PHP 11

Aksara Escape (Escape Character)


Aksara escape iaitu simbol ( \ ) perlu digunakan di dalam teks sekiranya simbol pembuka kata ( “ )
atau simbol ( \ ) perlu dipaparkan ke skrin. Aturcara escape.php adalah contoh penggunaan aksara
escape.

<?php

$str = "Kata Faris Adli kepada rakan - rakannya di dalam kelas PHP...\"";

$str .= "PHP ini satu bahasa aturcara yang mudah \\ senang.Cuma memerlukan ";

$str .= "sedikit kesabaran dan ketekunan \" ";

echo $str;

?>

Aturcara escape.php

Output bagi aturcara escape.php ditunjukkan dalam rajah di bawah.

Output escape.php

May 21, 2009


12 Bijak PHP dan MySQL

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.

$umur $nama_pekerja $syif_2

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

May 21, 2009


BAB 2 ASAS PHP 13

<?php

//pembolehubah $str simpan rentetan

$rentetan = "Ini adalah rentetan";

//pembolehubah $int dan $i simpan nombor bulat

$int = 99;

$i = 88;

//pembolehubah $float dan $f simpan nombor perpuluhan

$float = 99.99;

$f = 88.88;

//papar pembolehubah

echo("Rentetan: $rentetan <br>");

echo("Nombor bulat: $int dan $i <br>");

echo("Nombor perpuluhan: $float dan $f <br>");

//mengubah nilai $rentetan kepada nilai nombor bulat

$rentetan = 66;

//papar pembolehubah $rentetan

echo("Rentetan: $rentetan <br>");

?>

Aturcara jenis_data.php

May 21, 2009


14 Bijak PHP dan MySQL

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>

Di bawah ini ditunjukkan bagaimana memanggil sesuatu fungsi<br><br>

<?php

papar("universiti darul iman malaysia");

function papar($argumen)

echo "$argumen";

?>

</body></html>

Aturcara papar.php

Output papar.php ditunjukkan dalam rajah di bawah.

Output papar.php

May 21, 2009


BAB 2 ASAS PHP 15

Contoh aturcara lain yang menggunakan fungsi ditunjukkan di bawah.

<?php

function papar($argumen)

$nomborGandaSepuluh = gandaSepuluh ($argumen);

echo ("$argumen diganda sepuluh ialah $nomborGandaSepuluh");

function gandaSepuluh($argumen2)

return $argumen2 * 10;

echo ("Di bawah ini ditunjukkan hasil bagaimana sesuatu fungsi <br>");

papar(50);

?>

Aturcara fungsi.php

Output fungsi.php ditunjukkan dalam rajah di bawah.

Output fungsi.php

May 21, 2009


16 Bijak PHP dan MySQL

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;

echo ("nilai nom ialah $nom");

?>

<? prosesNilai(10); papar(); ?>

Aturcara fungsi2.php

Output fungsi2.php ditunjukkan disebelah.

May 21, 2009


BAB 2 ASAS PHP 17

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’.

Contoh aturcara yang menggunakan argumen berbilang ditunjukkan dibawah.

<?php

operasiTambah(2,4,6);

operasiTambah(5,10);

function operasiTambah($i = 10, $j = 20, $k = 30)

{ $jumlah = $i + $j + $k; echo ("$i + $j + $k = $jumlah <br>"); }

?>

Aturcara fungsi3.php

Output fungsi3.php ditunjukkan disebelah.

May 21, 2009


18 Bijak PHP dan MySQL

Output fungsi3.php

May 21, 2009


BAB 3 OPERATOR PHP 19

BAB 3 OPERATOR 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.

Contoh aturcara yang menggunakan operator ditunjukkan di bawah.

<?php

$no1 = 10;

$no2 = 5;

echo ("no1 = $no1, no2 = $no2<br>");

--$no1;

Aturcara bersambung disebelah....

May 21, 2009


20 Bijak PHP dan MySQL

echo ("no1 = $no1<br>");

$no1++;

echo ("no1 = $no1<br>");

$jumlah = $no1 + $no2;

echo ("$no1 + $no2 = $jumlah<br>");

$jumlah = $no1 - $no2;

echo ("$no1 - $no2 = $jumlah<br>");

$jumlah = $no1 * $no2;

echo ("$no1 * $no2 = $jumlah<br>");

$jumlah = $no1 / $no2;

echo ("$no1 / $no2 = $jumlah<br>");

$jumlah = $no1 % $no2;

echo ("$no1 + $no2 = $jumlah<br>");

?>

Aturcara operator.php

Output operator.php ditunjukkan disebelah

May 21, 2009


BAB 3 OPERATOR PHP 21

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

&& DAN atau AND

AND DAN

|| ATAU atau OR

OR ATAU

XOR ESKLUSIF ATAU

! TIDAK

Operator logikal && atau AND akan menilai dua pembolehubah atau pernyataan dan
mengembalikan nilai benar hanya sekiranya kedua – duanya benar.

May 21, 2009


22 Bijak PHP dan MySQL

PEMBOLEHUBAH X PEMBOLEHUBAH Y X && Y

Palsu Palsu Palsu

Palsu Benar Palsu

Benar Palsu Palsu

Benar Benar 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

Palsu Palsu Palsu

Benar Palsu Benar

Palsu Benar Benar

Benar Benar Benar

Logikal XOR pula akan mengembalikan nilai benar jika salah satu adalah benar tetapi bukan kedua –
duanya sekali.

PEMBOLEHUBAH X PEMBOLEHUBAH Y X XOR Y

Palsu Palsu Palsu

Benar Palsu Benar

Palsu Benar Benar

Benar Benar Palsu

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.

May 21, 2009


BAB 3 OPERATOR PHP 23

<?php

$nama1 = "Faris";

$pelajar = true;

$lelaki = true;

if($pelajar and $lelaki) //nilai $pelajar dan $lelaki adalah benar atau true

echo ("$nama1 adalah seorang pelajar lelaki");

else if($pelajar and !$lelaki) //nilai $pelajar benar dan nilai $lelaki adalah palsu
atau false

echo ("$nama1 adalah seorang pelajar perempuan");

else if(!$pelajar and !$lelaki) //nilai $pelajar dan nilai $lelaki adalah palsu atau
false

echo ("$nama1 adalah seorang perempuan dan bukan pelajar");

else if(!$pelajar and $lelaki) //nilai $pelajar palsu dan nilai $lelaki adalah true

echo ("$nama1 adalah seorang lelaki dan bukan pelajar");

?>

Aturcara logikal.php

Output logikal.php ditunjukkan di bawah.

Output logikal.php

May 21, 2009


24 Bijak PHP dan MySQL

Operator Memberi Nilai


Operator ini digunakan untuk memberi nilai atau memasukkan nilai ke dalam sesuatu
pembolehubah. Senarai operatornya adalah seperti di bawah.

OPERATOR CONTOH SETARA

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

$diskaun = 0.1; //diskaun 10%

$harga_barang = 1200;

echo ("Harga barang ialah RM $harga_barang <br>");

$harga_diskaun = $diskaun * $harga_barang;

$harga_barang -= $harga_diskaun;

echo ("Harga barang selepas diskaun ialah RM $harga_barang");

?>

Aturcara nilai.php

Output nilai.php ditunjukkan disebelah

May 21, 2009


BAB 3 OPERATOR PHP 25

Output nilai.php

Operator Perbandingan
Operator di bawah ini digunakan untuk membuat perbandingan.

OPERATOR BANDINGAN

== Bersamaan

!= Tidak bersamaan

> Lebih besar

< Lebih kecil

>= Lebih besar atau bersamaan

<= Lebih kecil atau bersaman

Di bawah ini adalah contoh aturcara.

<?php

$harga_barang = 1200;

echo ("Harga barang ialah RM $harga_barang<br>");

if($harga_barang <= 900)

$diskaun = 0.1;

else if($harga_barang <= 1500)

Bersambung di sebelah......

May 21, 2009


26 Bijak PHP dan MySQL

$diskaun = 0.11;

else

$diskaun = 0.12;

$harga_diskaun = $diskaun * $harga_barang;

$harga_barang -= $harga_diskaun;

echo ("Harga barang selepas diskaun ialah RM $harga_barang");

?>

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.

SENARAI OPERATOR PHP MENGIKUT KEUTAMAAN

++, --, ()

May 21, 2009


BAB 3 OPERATOR PHP 27

/, *, %

+, -

<, <=, >, >=

==, ===, !=

&&

||

=, +=, -=, /=, *=, %=, .=

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.

Operator Bersyarat (Conditional Operator)


Operator ini digunakan untuk menilai sesuatu pernyataan untuk mendapatkan jawapan benar atau
palsu dan kemudiannya menjalankan satu daripada dua pernyataan yang diberikan bergantung
kepada jawapan benar atau palsu itu tadi. Sintaks seperti di bawah:

(pernyataan) ? jika benar lakukan ini : jika palsu lakukan ini

Contoh aturcara ditunjukkan disebelah.

May 21, 2009


28 Bijak PHP dan MySQL

<?php

$nombor = 52;

$str = ($nombor % 2 == 0) ? "nombor genap" : "nombor ganjil";

echo ("Nombor $nombor ialah $str");

?>

Aturcara conditional.php

Output conditional.php ditunjukkan dibawah.

Output conditional.php

May 21, 2009


BAB 4 PILIHAN DAN GELUNG (SELECTION AND LOOPING) 29

BAB 4 PILIHAN DAN GELUNG (SELECTION AND LOOPING)

Pernyataan if
Pernyataan if digunakan untuk membuat pilihan asas di dalam PHP. Sintaks pernyataan if adalah
seperti di bawah.

if(pernyataan untuk diuji)

lakukan pernyataan sekiranya pernyataan diuji BENAR;

Contoh aturcara di bawah akan memaparkan CEMERLANG sekiranya markah yang didapati adalah
melebihi 80.

<?php

$markah = 90;

if($markah > 80)

echo ("CEMERLANG");

?>

Aturcara if1.php

Output if1.php ditunjukkan dibawah.

Output if1.php

May 21, 2009


30 Bijak PHP dan MySQL

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.

if(penyataan untuk diuji)

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;

if($markah >= 40)

echo ("LULUS");

else

echo ("GAGAL");

?>

Aturcara if2.php

Output if2.php ditunjukkan di bawah.

Output if2.php

May 21, 2009


BAB 4 PILIHAN DAN GELUNG (SELECTION AND LOOPING) 31

Pernyataan if-else if-else


Pernyataan if-else if-else digunakan apabila ada pelbagai pilihan pernyataan yang diuji. Contohnya,
sekiranya pernyataan yang diuji adalah benar, maka ia akan melakukan pernyataan 1. Jika tidak, ia
akan menguji penyataan yang seterusnya. Jika benar, ia akan melakukan pernyataan 2. Jika tidak, ia
akan melakukan pernyataan 3. Sintaks pernyataan ini adalah seperti di bawah.

if(pernyataan untuk diuji)

pernyataan 1;

else if (pernyataan lain untuk diuji)

pernyataan 2; //pernyataan 2 dilaksanakan apabila pernyataan pertama adalalah palsu dan


pernyatan lain adalah benar

else

pernyataan 3; // pernyataan 3 dilaksanakan apabila kesemua pernyataan yang diuji adalah


palsu

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;

echo ("GRED ");

Aturcara bersambung sebelah...

May 21, 2009


32 Bijak PHP dan MySQL

if($markah >= 80) echo ("A");

else if($markah >= 65) echo ("B");

else if($markah >= 50) echo ("C");

else if($markah >= 40) echo ("D");

else echo ("D");

?>

Aturcara if3.php

Output if3.php ditunjukkan di bawah.

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.

Contoh aturcara ditunjukkan di sebelah.

May 21, 2009


BAB 4 PILIHAN DAN GELUNG (SELECTION AND LOOPING) 33

<?php

$nombor = 3;

switch ($nombor)

case 1 : echo ("Nombor satu"); break;

case 2 : echo ("Nombor dua"); break;

case 3 : echo ("Nombor tiga"); break;

case 4 : echo ("Nombor empat"); break;

default : echo ("Bukan nombor 1 hingga 4");

?>

Aturcara switch1.php

Output switch.php ditunjukkan di bawah.

Output switch1.php

Contoh aturcara yang menggunakan switch tetapi tidak menggunakan break ditunjukkan disebelah.

May 21, 2009


34 Bijak PHP dan MySQL

<?php

$nombor = 3;

switch ($nombor)

case 1 : echo ("Nombor satu");

case 2 : echo ("Nombor dua");

case 3 : echo ("Nombor tiga");

case 4 : echo ("Nombor empat");

default : echo ("Bukan nombor 1 hingga 4");

?>

Aturcara switch2.php

Output switch2.php ditunjukkan di bawah.

Output switch2.php

May 21, 2009


BAB 4 PILIHAN DAN GELUNG (SELECTION AND LOOPING) 35

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;

echo ("Sifir 12<br>");

for($i = 1; $i <= 12; $i++)

$jawapan = $i * 12;

echo ("$i x 12 = $jawapan<br>");

?>

Aturcara for.php

Output for.php ditunjukkan di sebelah.

May 21, 2009


36 Bijak PHP dan MySQL

Output for.php

Gelung while
Sintaks gelung while adalah seperti di bawah.

nilai awalan;

while(pernyataan ujian)

pernyataan;

penambahan atau pengurangan nilai awalan;

Gelung while membuat ujian pada awal gelung.pusingan gelung akan berhenti apabila pernyataan
ujian adalah palsu. Contoh aturcara ditunjukkan di sebelah.

May 21, 2009


BAB 4 PILIHAN DAN GELUNG (SELECTION AND LOOPING) 37

<?php

echo ("Nombor genap dari 2 hingga 20<br>");

$i = 2;

while($i <21)

echo ("$i<br>");

$i += 2;

?>

Aturcara while.php

Output while.php ditunjukkan di bawah.

Output while.php

May 21, 2009


38 Bijak PHP dan MySQL

Gelung do-while
Sintaks gelung do-while adalah seperti di bawah.

nilai awalan;

do

pernyataan;

penambahan atau pengurangan nilai awalan;

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

while($i <= 100);

echo ("Jumlah hasil tambah 1 hingga 100 ialah $jumlah<br>");

?>

Aturcara dowhile.php

May 21, 2009


BAB 4 PILIHAN DAN GELUNG (SELECTION AND LOOPING) 39

Output dowhile.php ditunjukkan di bawah.

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;

while($i < 11)

echo ("$i<br>");

if($i == 4)

break;

$i++;

echo ("Gelung berhenti pada pusingan ke $i oleh pernyataan break");

?>

Aturcara break.php

May 21, 2009


40 Bijak PHP dan MySQL

Output break.php ditunjukkan di bawah.

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;

while($i < 10)

$i++;

if($i == 4)

continue;

echo ("$i<br>");

echo ("Gelung berhenti pada pusingan ke 4 oleh pernyataan continue");

?>

Aturcara continue.php

May 21, 2009


BAB 4 PILIHAN DAN GELUNG (SELECTION AND LOOPING) 41

Output continue.php diunjukkan di bawah.

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

function kira_luas($panjang, $lebar)

$luas = $panjang * $lebar;

return $luas;

$panjang = 80; $lebar = 20;

echo ("Keluasan kawasan dengan panjang $panjang meter dan lebar $lebar meter
ialah ".kira_luas(80, 20)." meter persegi");

?>

Aturcara return.php

May 21, 2009


42 Bijak PHP dan MySQL

Output return.php ditunjukkan di bawah.

Output return.php

May 21, 2009


BAB 5 TATASUSUNAN 43

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

echo ("$ts[0] $ts[1] $ts[2]");

?>

Aturcara array1.php

Output array1.php ditunjukkan di bawah.

Output array1.php

Contoh aturcara tatasusunan yang lain ditunjukkan disebelah yang mana tatasusunan diberikan nilai
awalan semasa pengisytiharan.

May 21, 2009


44 Bijak PHP dan MySQL

<?php

$hari = array();

for($i = 0; $i < 32; $i++)

$hari[$i] = ($i + 1);

$bulan = array("Jan", "Feb", "Mac", "Apr","Mei","Jun","Jul","Ogs","Sep", "Okt",


"Nov", "Dis");

$tahun = array("1986","2005","2006","2007","2009");

echo("$hari[0] $bulan[10] $tahun[0]<br>");

echo("$hari[20] $bulan[4] $tahun[4]");

?>

Aturcara array2.php

Output array2.php ditunjukkan dibawah.

Output array2.php

May 21, 2009


BAB 5 TATASUSUNAN 45

Mengubah Nilai Dalam Tatasusunan


Tatasusunan di dalam bahasa pengaturcaraan lain seperti C dan C++ hanya boleh menyimpan satu
jenis data di dalam satu tatasusunan. Walau bagaimanapun, tatasusunan ada keistimewaannya yang
unik di dalam PHP iaitu ia boleh menyimpan pelbagai jenis data di dalam tatasusunan yang sama.
Contoh aturcara ditunjukkan di bawah.

<?php

$ts = array();

$ts[0] = 62;

$ts[1] = 9.9;

$ts[2] = $ts[0] - $ts[1];

echo("$ts[0] - $ts[1] = $ts[2]");

?>

Aturcara array3.php

Output array3.php ditunjukkan di bawah.

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.

foreach (tatasusunan as pembolehubah) {pernyataan;}

Contoh aturcara ditunjukkan disebelah.

May 21, 2009


46 Bijak PHP dan MySQL

<?php

$ts = array ("Universiti", "Darul", "Iman", "Malaysia");

foreach($ts as $universiti)

echo ("$universiti ");

?>

Aturcara array4.php

Output array4.php ditunjukkan di bawah.

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.

May 21, 2009


BAB 5 TATASUSUNAN 47

<?php

$ts = array ("Universiti", "Darul", "Iman", "Malaysia");

$i = 0;

while($i < 4)

echo ("$ts[$i] ");

$i++;

?>

Aturcara array5.php

Output array5.php ditunjukkan di bawah.

Output array5.php

Mendapatkan Saiz Tatasusunan


Saiz tatasusunan boleh didapati dengan menggunakan dua fungsi iaitu sizeof(pembolehubah
tatasusunan) atau count(pembolehubah tatasusunan). Sintaks adalah seperti di bawah.

pembolehubah = sizeof(tatasusunan)

ATAU

pembolehubah = sizeof(tatasusunan)

May 21, 2009


48 Bijak PHP dan MySQL

Contoh aturcara ditunjukkan dibawah.

<?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 ditunjukkan di bawah.

Output array6.php

Menambah Elemen Tatasusunan


Elemen di dalam tatasusunan boleh di tambah sama ada di depan tatasusunan dengan menggunakan
array_unshift() atau di tambah di belakang tatasusunan dengan menggunakan aray_push().
Parameter yang diperlukan ialah nama tatasusunan dan diikuti oleh elemen tatasusunan yang baru.
Lebih dari satu elemen boleh dimasukkan. Sintaks adalah seperti di bawah.

array_unshift(tatasusunan, “elemen baru”);

array_push(tatasusunan,“elemen baru”);

Contoh aturcara ditunjukkan di sebelah.

May 21, 2009


BAB 5 TATASUSUNAN 49

<?php

$ts = array("Universiti","Darul","Iman");

echo ("Perkataan asal dalam tatasusunan - ");

foreach($ts as $nama)

echo ("$nama ");

array_unshift($ts, "Fakulti", "Informatik");

array_push($ts, "Malaysia");

echo ("<br>Perkataan baru dalam tatasusunan - ");

foreach($ts as $nama)

echo ("$nama ");

?>

Aturcara array7.php

Output array7.php ditunjukkan di bawah.

Output array7.php

May 21, 2009


50 Bijak PHP dan MySQL

Menghapus dan Menyusun Elemen Tatasusunan


Elemen di dalam tatasusunan boleh dibuang dari depan tatasusunan dengan menggunakan fungsi
array_shift() atau dibuang dari belakang tatasusunan dengan menggunakan fungsi array_pop().
Parameter yang diperlukan ialah tatasusunan sahaj.

Sintaksnya seperti di bawah.

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

$ts = array ("Fakulti","Informatik","Universiti","Darul","Iman","Malaysia");

echo ("Perkataan asal dalam tatasusunan - ");

foreach($ts as $nama)

echo ("$nama ");

$pertama = array_shift($ts); //buang elemen pertama

$akhir = array_pop($ts); //buang elemen akhir

echo ("<br>Perkataan sekarang dalam tatasusunan - ");

foreach($ts as $nama)

echo ("$nama ");

Aturcara bersambung disebelah...

May 21, 2009


BAB 5 TATASUSUNAN 51

sort($ts);

echo ("<br>Perkataan dalam tatasusunan selepas disusun - ");

foreach($ts as $nama)

echo ("$nama ");

?>

Aturcara array8.php

Output array8.php ditunjukkan di bawah.

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.

May 21, 2009


52 Bijak PHP dan MySQL

<?php

$ts = array('universiti'=>"UDM", 'fakulti'=>"Informatik", 'program'=>"Sains Komputer");

echo ("Di ". $ts['universiti']." ada Fakulti ". $ts['fakulti']." yang menawarkan program
".$ts['program']);

?>

Aturcara array9.php

Output array9.php ditunjukkan di bawah.

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.

May 21, 2009


BAB 5 TATASUSUNAN 53

<?php

$hidangan['Nasi Goreng Ayam'] = 15;

$hidangan['Nasi Goreng Ayam']++;

$hidangan['Ayam Bakar'] = 5;

$hidangan['jumlah'] = $hidangan['Nasi Goreng Ayam'] + $hidangan['Ayam Bakar'];

if($hidangan['jumlah'] > 14)

echo("Anda telah makan banyak: ");

echo("Anda telah makan ".$hidangan['Nasi Goreng Ayam']." pinggan Nasi Goreng


Ayam dan ".$hidangan['Ayam Bakar']." ekor Ayam Bakar");

?>

Aturcara array_key.php

Output array_key.php ditunjukkan dibawah.

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 ‘=>’.

May 21, 2009


54 Bijak PHP dan MySQL

<?php

$ts = array(1 => "kambing","lembu","kerbau","ayam");

for($i = 1; $i <=sizeof($ts); $i++)

echo ("Haiwan $ts[$i] berada di indeks $i<br>");

?>

Aturcara array10.php

Output array10.php ditunjukkan di bawah.

Output array10.php

Fungsi Tatasusunan Yang Lain

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.

Sintaks untuk fungsi – fungsi tersebut seperti di bawah.

pembolehubah = array_merge(tatasusunan1, tatasusunan2);

pembolehubah = array_slice(tatasusunan1, indeks1, indeks2);

shuffle(tatasusunan);

May 21, 2009


BAB 5 TATASUSUNAN 55

Contoh aturcara ditunjukkan di bawah.

<?php

$ipta = array("upnm","uiam","usim","ukm","usm","uthm","udm");

$ipts = array("mmu","msu","unisel","unikl","utp","uniten","oum");

echo ("Senarai IPTA di Malaysia - ");

foreach($ipta as $list)

echo ("$list ");

echo ("<br>Senarai IPTS di Malaysia - ");

foreach($ipts as $list)

echo ("$list ");

$ipt_malaysia = array_merge($ipta,$ipts);

echo ("<br>Senarai IPT di Malaysia - ");

foreach($ipt_malaysia as $list)

echo ("$list ");

$ipt_pilih = array_slice($ipt_malaysia, 4, 6);

echo ("<br>6 IPTA di Malaysia dari indeks 4 - ");

Aturcara bersambung disebelah...

May 21, 2009


56 Bijak PHP dan MySQL

foreach($ipt_pilih as $list)

echo ("$list ");

echo ("<br>Senarai IPT di Malaysia secara rawak - ");

shuffle($ipt_malaysia);

foreach($ipt_malaysia as $list)

echo ("$list ");

?>

Aturcara array11.php

Output aturcara array11.php ditunjukkan di bawah.

Output array11.php

Contoh fungsi – fungsi lain ialah fungsi in_array() dan fungsi array_search(). Contoh aturcara
ditunjukkan di sebelah.

May 21, 2009


BAB 5 TATASUSUNAN 57

<?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("Terdapat menu yang berharga RM 3 senarai makanan<br>");

if (in_array('Bijak PHP dan MySQL', $buku)) {

echo("Saya ada buku Bijak PHP dan MySQL. Nak pinjam?<br>");

if (in_array("bijak php dalam masa 24 jam'", $buku)) {

echo("Saya ada buku Bijak PHP dalam masa 24 jam. Nak pinjam?<br>");

?>

Aturcara array12.php

Output array12.php ditunjukkan di bawah.

Output array12.php

May 21, 2009


58 Bijak PHP dan MySQL

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

$carian = array_search(4.95, $makanan);

if ($carian) {

echo ("$carian bernilai RM 4.95");

?>

Aturcara array13.php

Output array13.php ditunjukkan di bawah.

Output array13.php

May 21, 2009


BAB 5 TATASUSUNAN 59

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 ditunjukkan dibawah.

Output implode.php

Lawan bagi fungsi implode() ialah fungsi explode(). Fungsi explode() menukar rentetan kepada
tatasusunan.

<?php

$kereta = "Saga, Iswara, Wira, Satria";

$senarai = explode(', ',$kereta);

echo ("Kereta yang kedua ialah $senarai[1]");

?>

Aturcara explode.php

May 21, 2009


60 Bijak PHP dan MySQL

Output explode.php ditunjukkan dibawah.

Output explode.php

May 21, 2009


BAB 6 MEMBINA KANDUNGAN DINAMIK 61

BAB 6 MEMBINA KANDUNGAN DINAMIK

Pelayar Web dan Sistem Pengendalian


Pembolehubah persekitaran dalam PHP boleh dilihat dari pelayar web melalui fungsi phpinfo().
Fungsi ini memaparkan maklumat konfigurasi pelayan Apache, bahasa pengaturcaraan PHP, direktori
sementara dan banyak lagi. Pada masa yang sama, phpinfo() juga boleh digunakan sebagai penunjuk
bahawa pemasangan (installation) yang dilakukan telah berjaya dan berfungsi dengan betul.

Di bawah ini ditunjukkan sebahagian dari maklumat pembolehubah persekitaran selain dari
HTTP_USER_AGENT.

<?php

phpinfo();

?>

Aturcara phpinfo.php

Output phpinfo.php ditunjukkan di bawah.

Output phpinfo.php

May 21, 2009


62 Bijak PHP dan MySQL

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 ditunjukkan di bawah.

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.

preg_match(“/perkataan yang dicari/i”,”hasil dari HTTP_USER_AGENT”);

Contoh aturcara ditunjukkan di sebelah.

May 21, 2009


BAB 6 MEMBINA KANDUNGAN DINAMIK 63

<?php

$info = getenv("HTTP_USER_AGENT");

$pelayar_web = ("Pelayar yang tidak boleh dikenalpasti");

if(preg_match("/MSIE/i","$info"))

{ $pelayar_web = "Microsoft Internet Explorer"; }

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

$sistem_pengoperasian = "Sistem pengoperasian yang tidak boleh


dikenalpasti";

if(preg_match("/Windows/i","$info"))

{ $sistem_pengoperasian = "Microsoft Windows"; }

else if(preg_match("/Linux/i","$info"))

{ $sistem_pengoperasian = "Linux"; }

echo ("Anda menggunakan pelayar web $pelayar_web dan sistem


pengoperasian $sistem_pengoperasian");

?>

Aturcara preg_match.php

Output preg_match.php ditunjukkan di sebelah

May 21, 2009


64 Bijak PHP dan MySQL

Output preg_match.ph menggunakan pelayar web Google Chrome, Apple Safari,

Microsoft Internet Explorer dan Mozilla Firefox

Tarikh dan Masa


Fungsi date() dalam PHP mengembalikan tarikh dan masa dari pelayan. Nilai yang dikembalikan
boleh diformat mengikut aksara di dalam jadual di bawah.

AKSARA PENERANGAN

a/A am atau pm / AM atau PM

g/h Jam dalam format 12 jam (1-12) / (01-12)

G/H Jam dalam format 24 jam (0-23) / (00-23)

i Minit (00-59)

s Saat (00-59)

Z Perbezaan zon masa dalam saat (-43200 hingga 43200)

U Saat dari Jan 1, 1970 00:00:00 GMT

j/d Haribulan (1-31) / (01-31)

D/l Hari (Mon – Sun) / (Monday – Sunday)

w Hari (0-6) dari Sunday hingga Saturday

May 21, 2009


BAB 6 MEMBINA KANDUNGAN DINAMIK 65

M/F Bulan (Jan – Dec) / (January – December)

n/m Bulan (0 – 12)/ (01 – 12)

y/Y Tahun (09) / (2006)

z Hari dalam setahun (0 – 365)

t Bilangan hari dalam sebulan (28 – 31)

S Tambahan kepada nombor Inggeris (“th”,”nd”, “st”)

Di bawah ini ditunjukkan contoh penggunaan fungsi date().

<?php

$tarikh01 = date("j M, Y");

$tarikh02 = date("d.m.y");

$masa01 = date("g: i a");

$masa02 = date("H:i:s");

echo ("Format tarikh 1 : $tarikh01 <br>Format tarikh 2 : $tarikh02<br>Format masa 1 :


$masa01 <br>Format masa 2 : $masa02");

?>

Aturcara tarikh.php

Output tarikh.php ditunjukkan di bawah.

Output tarikh.php

May 21, 2009


66 Bijak PHP dan MySQL

Aturcara di bawah ini akan memaparkan ucapan selamat mengikut masa.

<?php

$jam = date("G");

$masa = date("g: i a");

$ucap_selamat = "Selamat malam";

if ($jam < 12) $ucap_selamat = "Selamat pagi";

else if ($jam == 12) $ucap_selamat = "Selamat tengah hari";

else if ($jam < 18) $ucap_selamat = "Selamat petang";

echo ("$ucap_selamat, waktu sekarang ialah $masa");

?>

Aturcara tarikh2.php

Output tarikh2.php ditunjukkan di bawah.

Output tarikh2.php

May 21, 2009


BAB 6 MEMBINA KANDUNGAN DINAMIK 67

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.

rand(); //menghasilkan satu nombor rawak di antara 0 – 32767

rand(1,100); //menghasilkan satu nombor rawak di antara 1 – 100

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

Di bawah ini adalah contoh aturcara untuk menghasilkan nombor rawak.

<?php

srand(microtime()*1000000);

$nombor01 = rand();

$nombor02 = rand(1, 100);

echo ("Nombor rawak pertama ialah $nombor01<br>Nombor rawak kedua ialah


$nombor02");

?>

Aturcara rawak.php

Output rawak.php akan ditunjukkan di sebelah.

May 21, 2009


68 Bijak PHP dan MySQL

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)

case 1 : echo ("Mauris at odio nunc, eu sagittis libero"); break;

case 2 : echo ("Duis et placerat mi"); break;

case 3 : echo ("Sed luctus volutpat dui"); break;

?>

Aturcara rawak2.php

Output rawak2.php ditunjukkan disebelah.

May 21, 2009


BAB 6 MEMBINA KANDUNGAN DINAMIK 69

Output rawak2.php

Input Dari Borang Laman Web


Input yang digunakan di dalam borang laman web mempunyai nama dan nilai. Setiap elemen di
dalam borang dikenal pasti dengan satu nama yang akan digunakan untuk menghantar nilai kepada
program yang dipanggil melalui penyataan action di dalam aturcara form.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 ("<form method='post' action='form2.php'>");

echo ("Nama : ");

echo ("<input name='nama' type='text' size='15' maxlength='15'><br>");

echo ("Sila pilih status anda: <br>");

echo ("<input type='radio' name='status' value='1'>Bujang<br>");

echo ("<input type='radio' name='status' value='2'>Berkahwin<br>");

echo ("<input type='radio' name='status' value='3'>Duda / Janda<br>");

echo ("Warganegara : <br>");

echo ("<select name='warganegara'>");

echo ("<option>Malaysia</option>");

echo ("<option>Bukan Warganegara</option>");

echo ("</select><br>");

Aturcara bersambung disebelah...

May 21, 2009


70 Bijak PHP dan MySQL

echo ("</select><br>");

echo ("Umur : <br>");

echo ("<input type='checkbox' name='umur1' value='1'>Bawah 18 tahun<br>");

echo ("<input type='checkbox' name='umur2' value='2'>18 hingga 25 tahun<br>");

echo ("<input type='checkbox' name='umur3' value='3'>25 tahun ke atas<br>");

echo ("<input type='submit' value='Hantar'>");

echo ("</form>");

?>

Aturcara form.php

Output form.php ditunjukkan di bawah.

Output form.php

May 21, 2009


BAB 6 MEMBINA KANDUNGAN DINAMIK 71

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:

$_POST[‘nama’], $_POST[‘status’], $_POST[‘warganegara’], $_POST[‘umur’]

ATAU

$_REQUEST[‘nama’], $_REQUEST[‘status’], $_REQUEST[‘warganegara’], $_REQUEST[‘umur’]

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.

$_GET[‘nama’], $_GET[‘status’], $_GET[‘warganegara’], $_GET[‘umur’]

ATAU

$_REQUEST[‘nama’], $_REQUEST[‘status’], $_REQUEST[‘warganegara’], $_REQUEST[‘umur’]

Di bawah ini ialah aturcara form2.php

<?php

$nama_proses = $_POST['nama'];

$status_proses = $_POST['status'];

$umur_proses = $_POST['umur'];

$warganegara_proses = $_POST['warganegara'];

switch($status_proses)

case 1 : $status_proses = "Bujang"; break;

case 2 : $status_proses = "Berkahwin"; break;

case 3 : $status_proses = "Duda / Janda"; break;

Aturcara bersambung disebelah...

May 21, 2009


72 Bijak PHP dan MySQL

echo("Nama : $nama_proses<br>");

echo("Status : $status_proses<br>");

echo("Warganegara : $warganegara_proses<br>");

if($umur_proses1 == "1") echo("Bawah 18 tahun<br>");

if($umur_proses2 == "2") echo("18 hingga 25 tahun<br>");

if($umur_proses3 == "3") echo("25 tahun ke atas<br>");

?>

Aturcara form2.php

Output form2.php ditunjukkan di bawah.

Output form2.php

Fungsi Untuk Rentetan


Ada beberapa fungsi yang boleh digunakan untuk operasi rentetan. Fungsi – fungsi tersebut
disenaraikan di dalam jadual di bawah.

FUNGSI PENERANGAN

strlen() Mengembalikan nilai panjang sesuatu rentetan

strrev() Menterbalikkan susunan huruf dalam rentetan

strtoupper() Menukar semua huruf dalam rentetan kepada huruf besar

May 21, 2009


BAB 6 MEMBINA KANDUNGAN DINAMIK 73

strtolower() Menukar semua huruf dalam rentetan kepada huruf kecil

ucwords() Menukar setiap permulaan perkataan kepada huruf besar

Contoh aturcara di bawah menunjukkan cara menggunakan fungsi – fungsi rentetan.

<?php

echo ("<form action='str2.php' method='post'>");

echo ("Sila masukkan komen anda di bawah: <br>");

echo ("<textarea name='komen' cols='50' rows='3'></textarea><br><br>");

echo ("<input type='checkbox' name='chk1' value='strlen'>Kira panjang


komen<br>");

echo ("<input type='checkbox' name='chk2' value='strtoupper'>TUKAR KE


HURUF BESAR<br>");

echo ("<input type='checkbox' name='chk3' value='strtolower'>Tukar ke huruf


kecil<br>");

echo ("<input type='checkbox' name='chk4' value='ucwords'>Tukar huruf


pertama setiap perkataan kepada HURUF BESAR<br>");

echo ("<input type='checkbox' name='chk5' value='strrev'>Terbalikkan


komen<br><br>");

echo ("<input type='submit' value='HANTAR'></form>");

?>

Aturcara str.php

Output str.php ditunjukkan di sebelah.

May 21, 2009


74 Bijak PHP dan MySQL

output str.php

Aturcara str2.php ditunjukkan di bawah.

<?php

$komen = $_POST['komen'];

$strlen = $_POST['chk1'];

$strtoupper = $_POST['chk2'];

$strtolower = $_POST['chk3'];

$ucwords = $_POST['chk4'];

$strrev = $_POST['chk5'];

echo ("Komen anda: \"$komen \"");

Aturcara bersambung di sebelah...

May 21, 2009


BAB 6 MEMBINA KANDUNGAN DINAMIK 75

echo("<br>Kira panjang komen: ".$strlen($komen)."");

echo("<br>TUKAR HURUF BESAR: ".$strtoupper($komen)."");

echo("<br>Tukar ke huruf kecil: ".$strtolower($komen)."");

echo("<br>Tukar huruf pertama setiap perkataan kepada HURUF BESAR:


".$ucwords($komen)."");

echo("<br>Terbalikkan komen: ".$strrev($komen)."");

?>

Aturcara str2.php

Output str2.php ditunjukkan di bawah.

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.

May 21, 2009


76 Bijak PHP dan MySQL

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

$nom = rand(1, 1000);

echo ("Nombor rawak yang dihasilkan pada kali ini ialah $nom");

?>

Aturcara header.php

Output header.php ditunjukkan dibawah.

Output header.php

Hala ke Laman Web Lain


Fungsi header() boleh juga digunakan untuk menghalakan laman sekarang ke alamat laman web yang
lain menggunakan sintaks di bawah ini.

header(“Location : alamat laman web”);

Contoh penggunaan fungsi header() ditunjukkan dalam aturcara header2.php, header3.php dan
header4.php.

May 21, 2009


BAB 6 MEMBINA KANDUNGAN DINAMIK 77

<?php

header("Location: header3.php");

?>

Aturcara header2.php

<?php

echo("Ini adalah fail header3.php iaitu fail kedua");

?>

Aturcara header3.php

Output header3.php ditunjukkan di bawah.

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().

May 21, 2009


78 Bijak PHP dan MySQL

<?php

$url = $_POST['url'];

if($url)

header("Location: $url");

?>

<html>

<body>

Sila pilih salah satu laman web di bawah:<br><br>

<form method="post" action="<?php $PHP_SELF;?>">

<select name="url">

<option>--Sila pilih satu--</option>

<option value="http://farisadli.via.my">Dunia Faris Adli</option>

<option value="http://www.udm.edu.my">UDM</option>

<option value="http://www.sentral.udm.edu.my">Sentral UDM</option>

</select>

<input type="submit" name="Hantar">

</form>

</body>

</html>

Aturcara header4.php

Output header4.php ditunjukkan disebelah.

May 21, 2009


BAB 6 MEMBINA KANDUNGAN DINAMIK 79

Output header4.php

Paparan di pelayar web di header4.php apabila “Dunia Faris Adli” dipilih

May 21, 2009


80 Bijak PHP dan MySQL

BAB 7 FAIL DAN DIREKTORI

Papar Fail di Direktori


Direktori di dalam cakera keras boleh dipaparkan menggunakan fungsi opendir(). Ia mengambil satu
parameter iaitu nama direktori yang penuh. Sintaks opendir() ditunjukkan di bawah.

Untuk Sistem Pengendalian Windows

opendir(“D:\\sem 4”);

Untuk Sistem Pengendalian Linux

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.

$nama_fail = readdir(“D:\\sem 4”);

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

$nama_dir = "D:\\sem 4";

$dir = opendir($nama_dir);

$senarai_fail = " ";

while($fail = readdir($dir))

if(($fail != ".") and ($fail != ".."))

$senarai_fail .= "<li> $fail";

Aturcara bersambung disebelah...

May 21, 2009


BAB 7 FAIL DAN DIREKTORI 81

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 ditunjukkan dibawah.

Output direktori.php

May 21, 2009


82 Bijak PHP dan MySQL

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

$destinasi = "D:\\sem 4\\cinta.txt";

if(copy($sumber,$destinasi))

{ $mesej = "Fail $sumber telah disalin ke $destinasi"; }

else

{ $mesej = "Fail $sumber GAGAL disalin ke $destinasi"; }

echo $mesej;

?>

Aturcara salin.php

Output salin.php ditunjukkan di bawah.

Output salin.php

May 21, 2009


BAB 7 FAIL DAN DIREKTORI 83

Tukar Nama Fail


Fungsi rename() digunakan untuk menukar nama fail. Apabila nama fail berjaya ditukar, ia akan
mengembalikan nilai benar dan mengembalikan nilai palsu sekiranya tidak berjaya.

<?php

$sumber = "D:\\cinta.txt";

$destinasi = "D:\\cinta2009.txt";

if(copy($sumber,$destinasi))

{ $mesej = "Fail $sumber telah ditukarkan nama kepada $destinasi"; }

else

{ $mesej = "Fail $sumber GAGAL ditukar nama kepada $destinasi"; }

echo $mesej;

?>

Aturcara rename.php

Output rename.php ditunjukkan di bawah.

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.

May 21, 2009


84 Bijak PHP dan MySQL

<?php

$fail = "D:\\cinta2009.txt";

if(unlink($fail))

{ $mesej = "Fail $fail telah dibuang"; }

else

{ $mesej = "Fail $fail GAGAL dibuang"; }

echo $mesej;

?>

Aturcara buang.php

Output buang.php ditunjukkan di bawah.

Output buang.php

Buka dan Tutup Fail


Di bawah ini di senaraikan beberapa fungsi dan pilihan – pilihan yang boleh digunakan semasa
sesuatu operasi dilakukan ke atas fail seperti dibuka untuk dibaca, ditulis atau ditutup.

NAMA PENERANGAN
FUNGSI

fopen() Buka fail.

Fail boleh dibuka melalui beberapa mod seperti di bawah:

r Buka fail untuk dibaca sahaja. Penunding diletakkan di awal fail

r+ Buka fail untuk dibaca dan ditulis. Penunding diletakkan di awal fail

May 21, 2009


BAB 7 FAIL DAN DIREKTORI 85

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”);

Fungsi fopen() mengembalikan kedudukan penunding di dalam fail yang dibuka. Di


dalam contoh di atas, kedudukan penunding disimpan di dalam $penunding. Penunding
ini diperlukan semasa menggunakan fungsi yang lain seperti fread(), fwrite(), dan
fclose().

filesize() Dapatkan saiz fail

fread() Baca fail

fclose() Tutup fail

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

$nama_fail = "D:\\My Song\\N\\Nazrey Johani\\Nasyid Nostalgia Memori The


Zikr\\06_Isteri Solehah.txt";

$penunding_fail = fopen($nama_fail,"r");

$saiz = filesize($nama_fail);

$kandungan = fread($penunding_fail, $saiz);

fclose($penunding_fail);

echo ("Saiz fail $nama_fail ialah $saiz bait<br>");

echo ("<pre>$kandungan</pre>");

?>

Aturcara baca_fail.php

May 21, 2009


86 Bijak PHP dan MySQL

Kandungan fail 06_Isteri Solehah.txt

May 21, 2009


BAB 7 FAIL DAN DIREKTORI 87

Output baca_fail.php ditunjukkan di bawah.

Output baca_fail.php

Tulis Ke Dalam Fail


PHP membenarkan menulis ke dalam fail menggunakan fungsi fwrite(). Ia perlu dibuka dahulu
menggunakan fopen() dan akhirnya ditutup dengan fclose(). Kedudukan penunding adalah
bergantung kepada parameter yang digunakan di dalam fopen() sebagaimana yang telah
diterangkan.

Fungsi fwrite() boleh digunakan dengan dua atau tiga parameter. Lihat contoh di bawah.

FORMAT PERTAMA

fwrite(“nama fail”,”teks yang hendak dimasukkan”,”saiz fail”);

fwrite(“C:\\info.txt”,”Teks ini akan ditulis ke dalam fail info.txt”,”10”);

- Dengan memasukkan saiz fail, maka proses menulis ke dalam fail info.txt akan diberhentikan
apabila saiz tersebut telah pun menyamai

FORMAT KEDUA

May 21, 2009


88 Bijak PHP dan MySQL

fwrite(“nama fail”,”teks yang hendak dimasukkan”);

fwrite(“C:\\info.txt”,”Teks ini akan ditulis ke dalam fail info.txt”);

- Semua teks tersebt akan ditulis ke dalam fail info.txt

<?php

$nama_fail = "D:\\tulis.txt";

$penunding_fail = fopen($nama_fail,"w");

fwrite($penunding_fail, "Teks untuk ditulis ke dalam fail");

fclose($penunding_fail);

$penunding_fail1 = fopen($nama_fail,"r");

$saiz = filesize($nama_fail);

$papar = fread($penunding_fail1, $saiz);

fclose($penunding_fail1);

echo $papar;

?>

Aturcara fwrite.php

Output fwrite.php ditunjukkan di bawah.

Output fwrite.php

May 21, 2009


BAB 7 FAIL DAN DIREKTORI 89

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

$HTTP_REFERER Pembolehubah ini menyimpan alamat laman web sebelum


pengguna sampai ke laman web anda.

$REMOTE_ADDR Pembolehubah ini menyimpan alamat IP pengunjung

$HTTP_USER_AGENT Pembolehubah ini menyimpan beberapa maklumat iaitu jenis


pelayan web dan jenis Sistem Pengendalian

Contoh aturcara ditunjukkan di bawah.

<?php

$nama_fail = "D:\\log.txt";

$penunding = fopen($nama_fail,"a");

$masa = date("h A, l dS F");

$info1 = getenv(HTTP_REFERER);

$info2 = getenv(REMOTE_ADDR);

$info3 = getenv(HTTP_USER_AGENT);

if($info2 != NULL)

{ fwrite($penunding, "Masa dan tarikh : <br> $masa <br>"); }

if($info1 != NULL)

{ fwrite($penunding, "Dari: <br> $info1 <br>"); }

fwrite($penunding, "Pelayar web: <br> $info3 <br>");

Aturcara bersambung disebelah...

May 21, 2009


90 Bijak PHP dan MySQL

fclose($penunding);

$penunding = fopen($nama_fail,"r");

$saiz = filesize($nama_fail);

$teks = fread($penunding, $saiz);

echo $teks;

?>

Aturcara buku_pelawat.php

Output buku_pelawat.php ditunjukkan di bawah.

Output buku_pelawat.php

Muat Naik Fail


Di sini anda akan belajar cara untuk membuat memuat naik fail. Mula – mula fail yang perlu dimuat
naik akan disalin ke direktori sementara. Direktori sementara ini boleh dilihat lokasi sebenarnya
menggunakan fungsi phpinfo().

May 21, 2009


BAB 7 FAIL DAN DIREKTORI 91

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.

1. Di dalam tag form mesti digunakan enctype dengan atribut multipart/form-data

2. Input di dalam borang menggunakan type=”file” untuk membolehkan butang browse


dipaparkan disebelah kotak input 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.

Penerangan mengenai arahan yang digunakan di dalam aturcara di bawah.

1. <form action=”upload.php” method=”post enctype=multipart/form-data”>

a. Arahan form digunakan untuk menggunakan borang. Apabila borang telah dipenuhi
dan butang “HANTAR” diklik, maklumat akan dihantar ke fail upload.php

May 21, 2009


92 Bijak PHP dan MySQL

b. enctype menentukan bagaimana data di borang diencodekan6

c. Ada tiga atribut yang boleh digunakan dalam borang iaitu

i. enctype = “multipart/form-data” – atribut ini digunakan apabila anda ingin


memuat naik fail

ii. enctype = “application/x-www-form-urlencoded” – atribut ini digunakan


secara default sekiranya tiada atribut dinyatakan

iii. enctype = “text/plain” – atribut selalunya digunakan untuk menghantar


maklumat melalui emel menggunakan fungsi mailto(). Contohnya <form
action = “mailto:faris@farisadli.via.my” method=”post” enctype =
“text/plain”>

2. <input type = “file” name=”namafile” size=”60”>

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

3. $filetmp = $_FILES[‘namafile’][‘tmp_name’] – apabila fail dimuat naik dari borang, maka ia


akan disimpan di dalam direktori sementara dengan nama fail sementara. Nama fail
sementara itu boleh diambil dengan menggunakan arahan ini di mana nama fail sementara
tersebut akan disimpan di dalam $filetmp

4. copy ($filetmp, ‘C:\\Program Files\\xampp\\htdocs\\ebook\\ch7’.$namafile_name) or


die(“Tidak boleh dimuat naik”);

a. Salin fail dari fail sementara di direktori sementara iaitu $filetmp ke destinasi
sebenar

b. Untuk salin fail sahaja, TIDAK termasuk direktori

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.

May 21, 2009


BAB 7 FAIL DAN DIREKTORI 93

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>

Sila pilih fail untuk dimuat naik: <br>

<form action="upload.php" method="post" enctype="multipart/form-data">

<input type="file" name="namafile" size="100"><br>

<input type="submit" value="upload">

</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.

Output form_upload.html menggunakan Internet Explorer 8

May 21, 2009


94 Bijak PHP dan MySQL

Output form_upload.html menggunakan Mozilla Firefox 3

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.

Output form_upload.html menggunakan Apple Safari 3.2.3

Output form_upload.html menggunakan Googlr Chrome 2.0.172.30

May 21, 2009


BAB 7 FAIL DAN DIREKTORI 95

<?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

//exec(‘xcopy d:\\15-SKT c:\\15-SKT /e/i’, $a, $a1);

else die("TIADA fail yang dimuat naik");

$mesej = "Muat naik data telah selesai<br><br>";

$mesej .= "Nama fail : ".$namafail."<br>";

$mesej .= "Saiz fail : ".$saizfail."<br>";

$mesej .= "Jenis fail : ".$jenisfail."<br>";

echo $mesej;

?>

Aturcara upload.php

May 21, 2009


96 Bijak PHP dan MySQL

Output upload.php ditunjukkan di bawah.

Output upload.php

May 21, 2009


BAB 8 COOKIE DAN SESSION 97

BAB 8 COOKIE DAN SESSION

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.

Value Parameter ini memberikan nilai kepada nama cookie di atas.

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.

May 21, 2009


98 Bijak PHP dan MySQL

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”);

Contoh di atas menunjukkan bahawa cookie bernama nama akan dibuang.

setcookie(“kp”, “861101236341”, time() + 86400, “/”, “ ”, 0);

setcookie(“kp”, “861101236341”, time() + 86400);

setcookie(“kp”, “861101236341”, time() + 86400, “/”, “ ”, 0) beerti, membina satu cookie dengan
maklumat di bawah

1. name – cookie bernama kp

2. value – nilai cookie kp ialah 861101236341

3. expiry – cookie kp akan tamat selepas time() + 86400 atau selepas 24 jam cookie kp
dihasilkan

4. path – nilai “/” beerti cookie kp boleh digunakan di semua direktori

5. domain – “ “ beerti tiada domain

6. security – 0 beerti cookie boleh dihantar melalui HTTP sahaja

setcookie(“kp”, “861101236341”, time() + 86400) mempunyai maklumat 1 hingga 3 di atas

<?php

setcookie("nama", "Faris Adli Jamian", time() + 86400, "/", "", 0);

echo ("Kandungan pembolehubah cookie nama ialah ".


$HTTP_COOKIE_VARS['nama']."<br");

?>

Aturcara cookie.php

May 21, 2009


BAB 8 COOKIE DAN SESSION 99

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(),

pembolehubah $HTTP_COOKIE dapat dilihat

May 21, 2009


100 Bijak PHP dan MySQL

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


$_SERVER[“HTTP_COOKIE”] menyimpan nilai nama = Faris Adli Jamian

Paparan di pelayar web menggunakan fungsi phpinfo(). Pembolehubah cookie iaitu $Cookie
menyimpan nilai nama = Faris Adli Jamian

May 21, 2009


BAB 8 COOKIE DAN SESSION 101

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("Nilai cookie yang dipanggil dari program ialah : ");

echo $HTTP_COOKIE_VARS['nama'];

?>

Aturcara papar_cookie.php

Output papar_cookie.php ditunjukkan di bawah.

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.

Tools  Options  Privacy  Butang “Show Cookies”

May 21, 2009


102 Bijak PHP dan MySQL

Klik butang Show Cookies untuk melihat senarai cookies

May 21, 2009


BAB 8 COOKIE DAN SESSION 103

Cookies nama di pelayan localhost, dengan enam jenis maklumat iaitu

Name, value, domain, path, security dan expiry

Jika pengguna menggunakan pelayar web Internet Explorer 8, cara untuk melihat cookie adalah
seperti di bawah.

Tools  Internet Options  tab “General” 

Bawah “Browsing History” klik butang “Setting” 

Klik butang “View Objects” atau “View Files”

May 21, 2009


104 Bijak PHP dan MySQL

Klik pada butang “Settings” pada bawah perkataan Browsing history untuk melihat cookies

May 21, 2009


BAB 8 COOKIE DAN SESSION 105

Klik pada butang “View files” untuk melihat cookies

Jika pengguna menggunakan pelayar web Google Chrome, cara melihat cookies adalah seperti di
bawah.

Klik ikon  Options  Tab “Under the Hood” 

Bawah perkataan Privacy, klik butang “show cookies”

May 21, 2009


106 Bijak PHP dan MySQL

Klik butang “Show cookies” untuk melihat cookies

May 21, 2009


BAB 8 COOKIE DAN SESSION 107

Senarai cookies dalam Google Chrome

Jika pengguna menggunakan pelayar web Safari 3.2.3, cara untuk melihat cookies ditunjukkan di
bawah.

Edit  Preferences  tab “Security”  butang “Show Cookies”

May 21, 2009


108 Bijak PHP dan MySQL

Klik butang “Show Cookies” untuk melihat cookies

Senarai cookies dalam Safari

May 21, 2009


BAB 8 COOKIE DAN SESSION 109

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.

Paparan di pelayar web untuk fungsi phpinfo()

session.save_path session.auto_start (nilainya


adalah off secara default)

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().

May 21, 2009


110 Bijak PHP dan MySQL

Konfigurasi session.auto_start dalam fail php.ini.

Tukarkan nilai session.auto_start kepada 1 untuk memulakan session secara automatik

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.

$_SESSION[‘nama’] = “Faris Adli Jamian”

Contoh aturcara ditunjukkan di bawah.

<?php

session_start();

$_SESSION['nama'] = "Faris Adli Jamian";

header("Location: guna_session.php");

?>

Aturcara session.php

May 21, 2009


BAB 8 COOKIE DAN SESSION 111

<?php

session_start();

echo ("Kandungan pembolehubah session nama ialah : ".$_SESSION['nama']."");

?>
Aturcara guna_session.php

Apabila session.php dibuka, guna_session.php dipanggil untuk memaparkan kandungan


pembolehubah session iaitu nama

Cookie atau Session?


Cookie adalah mudah digunakan tetapi semakin TIDAK popular dengan meningkatnya kesedaran
tentang keselamatan data. Selain daripada itu, ia juga memerlukan kerjasama dari pengguna untuk
membenarkan cookie disimpan di komputer pengguna. Cookie disimpan di komputer pengguna
menggunakan arahan fungsi setcookie().

Session mula digunakan dengan memanggil fungsi session_start(). Sekiranya konfigurasi


session.auto_start dijadikan 1 (ON) di dalam fail php.ini, maka penggunaan fungsi sessin_start()
tidak diperlukan.

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.)

May 21, 2009


112 Bijak PHP dan MySQL

BAB 10 PANGKALAN DATA MYSQL

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 (http://www.mysql.com) dan PostgreSQL (http://www.postgresql.org) merupakan pangkalan


data sumber terbuka. Dengan erti kata lain, pengguna boleh mendapatkannya dengan memuat turun
dari Internet beserta dengan sumber kod aturcaranya. Pengguna boleh memberikan derma untuk
menyokong projek yang mereka lakukan ini atau membayar sedikit yuran untuk mendapatkan
sokongan dari pembangunnya.

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.

May 21, 2009


BAB 10 PANGKALAN DATA MYSQL 113

Asas Pangkalan Data


Pangkalan data merupakan satu keperluan di mana data yang dimasukkan dapat diolah dan
digunakan berkali – kali dalam pelbagai bentuk. Sebelum adanya pangkalan data, maklumat disimpan
di kertas – kertas dan di kad – kad. Cuba lihat bagaimana sesebuah klinik beroperasi. Klinik yang
beroprasi tanpa menggunakan komputer selalunya menyimpan maklumat pesakit di dalam sekeping
kad perubatan yang mengandungi maklumat pesakit seperti nama pesakit, tarikh pesakit menerima
rawatan, ubat yang diberikan dan no kad pengenalan pesakit.

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.

Apabila beberapa jadual digabungkan, maka ia dipanggil sebagai pangkalan data.

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.

insert into nama-jadual (medan1, medan2) values (nilai1, nilai2);

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.

May 21, 2009


114 Bijak PHP dan MySQL

JADUAL PELAJAR

KP NAMA NEGERI ALAMAT

861101236341 Faris Adli Johor Bandar Baru UDA, Johor Bahru

870205013491 Kamil Johor Taman Sri Saujana, Kota Tinggi

870604101244 Afiqah Selangor Seksyen 25, Shah Alam

871201107866 Khalijah Selangor Taman Rekaan, Sepang

871125049991 Azizi Melaka Taman Mengantuk, Bukit Katil

871125049992 Anis Melaka Taman Haus, Air Keroh

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:

insert into PELAJAR (KP, NAMA, NEGERI, ALAMAT) values (“870404019091”,


“Nizam”, “Johor”, “Felda Ulu Tebrau, Ulu Tiram”);

Maka rekod di dalam jadual PELAJAR akan menjadi seperti di bawah.

JADUAL PELAJAR

KP NAMA NEGERI ALAMAT

861101236341 Faris Adli Johor Bandar Baru UDA, Johor Bahru

870205013491 Kamil Johor Taman Sri Saujana, Kota Tinggi

870604101244 Afiqah Selangor Seksyen 25, Shah Alam

871201107866 Khalijah Selangor Taman Rekaan, Sepang

871125049991 Azizi Melaka Taman Mengantuk, Bukit Katil

871125049992 Anis Melaka Taman Haus, Air Keroh

870404019091 Nizam Johor Felda Ulu Tebrau, Ulu Tiram

May 21, 2009


BAB 10 PANGKALAN DATA MYSQL 115

SELECT
Setelah data dimasukkan, ia boleh diambil semula untuk dipaparkan ke skrin dengan menggunakan
arahan SQL iaitu SELECT. Sintaks SELECT ditunjukkan di bawah.

select NAMA-MEDAN from NAMA-JADUAL;

select NAMA-MEDAN from NAMA-JADUAL where NAMA-MEDAN= “NILAI”;

select * from NAMA-JADUAL;

select * from NAMA-JADUAL where NAMA-MEDAN= “NILAI”;

Sekiranya anda ingin memaparkan semua maklumat pelajar, maka arahan SQLnya adalah seperti
berikut.

select * from PELAJAR;

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.

select * from PELAJAR where KP= “871125049991”;

jika pengguna ingin mendapatkan nama dan kad pengenalan semua pelajar, maka pengguna boleh
menggunakan arahan di bawah.

select * KP, NAMA from PELAJAR;

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.

update nama-jadual set nama-medan = “nilai”;

update nama-jadual set nama-medan = “nilai” where nama-medan = “nilai”;

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

May 21, 2009


116 Bijak PHP dan MySQL

Untuk menukar alamat Faris Adli sahaja, arahan SQL di bawah tidak boleh digunakan.

update PELAJAR set ALAMAT = “Gong Badak, Kuala Terengganu”;

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

KP NAMA NEGERI ALAMAT

861101236341 Faris Adli Johor Gong Badak, Kuala Terengganu

870205013491 Kamil Johor Taman Sri Saujana, Kota Tinggi

870604101244 Afiqah Selangor Seksyen 25, Shah Alam

871201107866 Khalijah Selangor Taman Rekaan, Sepang

871125049991 Azizi Melaka Taman Mengantuk, Bukit Katil

871125049992 Anis Melaka Taman Haus, Air Keroh

870404019091 Nizam Johor Felda Ulu Tebrau, Ulu Tiram

DELETE
Maklumat di dalam jadual boleh ditukar dengan menggunakan arahan SQL DELETE. Sintaks DELETE
ditunjukkan di bawah.

delete from nama-jadual where nama-medan = “nilai”;

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.

delete from PELAJAR where KP = “870604101244”;

Maklumat jadual PELAJAR yang terkini adalah seperti di bawah.

JADUAL PELAJAR

KP NAMA NEGERI ALAMAT

861101236341 Faris Adli Johor Gong Badak, Kuala Terengganu

870205013491 Kamil Johor Taman Sri Saujana, Kota Tinggi

May 21, 2009


BAB 10 PANGKALAN DATA MYSQL 117

871201107866 Khalijah Selangor Taman Rekaan, Sepang

871125049991 Azizi Melaka Taman Mengantuk, Bukit Katil

871125049992 Anis Melaka Taman Haus, Air Keroh

870404019091 Nizam Johor Felda Ulu Tebrau, Ulu Tiram

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 Data SQL


Di bawah ini disenaraikan jenis data SQL yang boleh digunakan di dalam MySQL.

JENIS PENERANGAN
DATA

int Nombor bulat dari -2147483648 hingga 2147483647

decimal Nombor perpuluhan. Pengguna boleh menyenaraikan berapa digit yang anda mahu
gunakan. Contohnya decimal(2,2) membenarkan nombor dari -99.99 sehingga 99.99

double Nombor perpuluhan dengan ketepatan tinggi

date Tarikh dalam format YYYY-MM-DD

time Masa dalam format HH:MM:SS

May 21, 2009


118 Bijak PHP dan MySQL

datetime Gabungan tarikh dan masa dalam format YYYY-MM-DD HH:MM:SS

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

text Rentetan yang boleh mencapai sehingga 65535 aksara panjang

blob Jenis binari untuk data yang berubah – ubah

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

auto_increment Digunakan untuk menjana nombor bulat yang berturutan

primary_key() Pilihan ini menjadikan medan ini sebagai kunci utama yang akan digunakan
sebagai indeks semasa membuat carian

May 21, 2009


BAB 10 PANGKALAN DATA MYSQL 119

Bina Pangkalan Data dan Jadual Menggunakan phpMyADMIN


1. Buka pelayar web anda ke alamat http://localhost/phpmyadmin

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”

4. Kemudiannya kilk butang “Go”

May 21, 2009


120 Bijak PHP dan MySQL

5. Bina medan – medan dengan menggunakan nama, jenis data serta saiz di jadual di bawah

Field Type Length/Values

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

7. Kemudian klik butang “Save”

8. Klik di tab “Insert”

9. Isikan di kotak “Value” dengan nilai – nilai seperti di jadual di sebelah ini mengikut
medannya.

May 21, 2009


BAB 10 PANGKALAN DATA MYSQL 121

KP NAMA NEGERI ALAMAT

861101-23-6341 Faris Adli Johor Bandar Baru UDA, Johor Bahru

870205-01-3491 Kamil Johor Taman Sri Saujana, Kota Tinggi

870604-10-1244 Afiqah Selangor Seksyen 25, Shah Alam

871201-10-7866 Khalijah Selangor Taman Rekaan, Sepang

871125-04-9991 Azizi Melaka Taman Mengantuk, Bukit Katil

871125-04-9992 Anis Melaka Taman Haus, Air Keroh

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.

May 21, 2009


122 Bijak PHP dan MySQL

Membuat Sambungan Ke MySQL


Sambungan PHP ke MySQL boleh dilakukan melalui fungsi mysql_connect(). Sambungan perlu dibuat
apabila data perlu disimpan, diambil, dikemaskini atau dihapus MySQL. Sintaksnya seperti di bawah.

mysql_connect(“nama-pelayan”, “nama-pengguna”, “katalaluan”);

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.

mysql_connect(“localhost”, “root”, “ ”); //pengguna “root” tanpa kata laluan

mysql_connect(“localhost”, “pengurus”, “masuk”); //pengguna “pengurus” kata laluan


“masuk”

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().

May 21, 2009


BAB 10 PANGKALAN DATA MYSQL 123

$conn = mysql_connect(“localhost”, “root”, “ ”);

ATAU

$conn = mysql_connect(“localhost”, “root”, “ ”) or die (“Tidak boleh membuat sambungan ke


pangkalan data”);

Pilih Pangkalan Data


Apabila sambungan ke MySQL telah berjaya dilaksanakan, pengguna perlu memilih pangkalan data
yang perlu digunakan. Sintaksnya ditunjukkan di bawah.

mysql_select_db(“KOLEJ”);

ATAU

$db = mysql_select_db(“KOLEJ”);

ATAU

$db = mysql_select_db(“KOLEJ”) or die(“Tidak dapat menggunakan pangkalan data


KOLEJ”);

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”

Contoh aturcara ditunjukkan disebelah.

May 21, 2009


124 Bijak PHP dan MySQL

<?php

$conn = mysql_connect("localhost", "root", "") or die("Tidak boleh membuat


sambungan ke pangkalan data");

$db = mysql_select_db("KOLEJ") or die("Tidak dapat menggunakan pangkalan data


KOLEJ");

?>

Aturcara connection.php

<?php

include "connection.php";

$sql = "select * from PELAJAR";

$rs = mysql_query($sql, $conn);

if($rs)

while($rows = mysql_fetch_array($rs))

$str = "Nama pelajar : ".$rows['NAMA']."<br>";

$str .= "Nombor kad pengenalan : ".$rows['KP']."<br>";

$str .= "Negeri dilahirkan : ".$rows['NEGERI']."<br>";

$str .= "Alamat : ".$rows['ALAMAT']."<br><br>";

echo $str;

$str = "";

else echo ("Tiada rekod");

?>

Aturcara mysql_papar.php

May 21, 2009


BAB 10 PANGKALAN DATA MYSQL 125

Output mysql_papar ditunjukkan di bawah.

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.

May 21, 2009


126 Bijak PHP dan MySQL

ISTILAH BAHASA MELAYU – BAHASA INGGERIS

BAHASA MELAYU BAHASA INGGERIS


Capaian Access

Dalam talian Online

Konfigurasi Configuration

Pelayan Server

Penimbal output Output buffer

Rekursif Recursive

Sistem pengendalian Operating system

Versi alpha Alpha version

Penguji perisian Software tester

Perisian sumber terbuka Open source software

Pengaturcara Programmer

Antaramuka Interface

Pelayan web Web server

Pembolehubah Variable

Jenis data Data type

Rentetan String

Aksara Character

Fungsi Function

Pelayar web Web browser

Pembolehubah lokal Local variable

Pembolehubah global Global variable

Gelung Loop

Pernyataan Statement

May 21, 2009


ISTILAH BAHASA MELAYU – BAHASA INGGERIS 127

Tatasusunan Array

Kunci tatasusunan Array key

Pembolehubah persekitaran Environment variable

Penunding Pointer

Kebenaran menulis Write access

Muat turun Download

Muat naik Upload

Salin Copy

Tukar nama Rename

Log pelawat Visitor log

Pangkalan data Database

Jadual Table

Medan Field

Rekod Record

Kunci utama Primary key

Unik Unique

Cap jari Thumb print

Memasukkan semula Restore

Masukkan Insert

Hapus Delete

Kemaskini Update

Ketepatan tinggi High precision

May 21, 2009

Anda mungkin juga menyukai