PHP & MySQL Basic

48
s|c|i|e| 1 Pemrograman PHP Tingkat Dasar - Menengah

Transcript of PHP & MySQL Basic

Page 1: PHP & MySQL Basic

s|c|i|e|ncom

1

Pemrograman PHPTingkat Dasar - Menengah

Page 2: PHP & MySQL Basic

s|c|i|e|ncom

2

Apa itu PHP ?• PHP (Hypertext Preprocessor) adalah bahasa pemrograman berbasis web yang bekerja di

server (Server Side). • Kode program (source code) file diletakkan di Server (Web Server).• Extension File (.php)

Sejarah PHP• PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995• Pada November 1997, dirilis PHP/FI 2.0• Pada tahun 1998, PHP 3.0• Pada pertengahan tahun 1999, PHP 4.0• Pada Juni 2004, Zend merilis PHP 5.0

Cara Kerja PHP

Mengenal PHP

Request User

Diterima Server

Client

Server

Hasil dalam halaman web diterima user

PHP Memproses konten yang diminta user

Page 3: PHP & MySQL Basic

s|c|i|e|ncom

3

Sintaks Dasar PHPBahasa pemrograman PHP disimpan dalam bentuk file teks berekstensi “.php” (tanpa tanda kutip). Penulisan kode PHP diawali dengan tags “<?php” dan diakhiri/ditutup dengan tags “?>”Misal :

<?phpecho "Hello World !";

?>

Persiapan Pemograman PHPUntuk menjalankan Progam PHP, maka pada server diperlukan aplikasi-aplikasi pendukung sebagai berikut :

PHP Versi 5 keatas MySQL Versi 5 keatas (database server) Apache versi 2 keatas (web server) PHPMyAdmin versi 3 keatas (tools untuk administrasi database)

Namun selain aplikasi-aplikasi diatas saat ini sudah terdapat aplikasi paket PHP & MySQL yang didalamnya sudah lengkap dengan aplikasi-aplikasi seperti tersebut diatas, aplikasi paket tersebut antara lain :

EasyPHP

XAMPP

WAMPSERVER

Statement & Comment

Page 4: PHP & MySQL Basic

s|c|i|e|ncom

4

A. Statement Statement adalah satuan perintah dalam PHP. Statement harus diakhiri dengan tanda semicolon/titik-koma (;). Misal :

<?phpecho (“Hello World”);

?>

B. ExpressionExpression adalah satu bagian kecil kode yang akan dihitung hasilnya oleh PHP. Misal :

<?phpecho (“4 + 5 = “ . 4+5);

?>

C. CommentComment adalah bagian dari kode yang tidak akan dieksekusi/dijalankan. Comment dibuat untuk memperjelas atau memberi keterangan pada kode program.

Ada 2 cara penulisan comment :1. Comment hanya 1 baris menggunakan tanda //. Misal :

<?php echo “Hello World”; //ini adalah baris comment 1 baris

?>

2. Comment lebih dari 1 baris diawali /* dan diakhiri dengan */. Misal :

<?php echo “Hello World”; /* ini adalah comment yang lebih dari 1 baris Untuk kode di PHP*/

?>

Variable PHPVariable digunakan sebagai tempat penyimpanan data sementara. Data yang disimpan dalam variable akan hilang setelah program selesai dieksekusi.Untuk penyimpanan data yang permanen, kita dapat menyimpan data di database atau di disk. Silahkan mengacu pada Akses Database untuk mendalami penggunaan database, dan Akses File dan Folder untuk penyimpanan data di filesystem.Untuk dapat menggunakan variable, ada dua langkah yang harus dilakukan, deklarasi dan inisialisasi.

A. Deklarasi VariableDeklarasi variable bisa disebut juga memperkenalkan atau mendaftarkan variable kedalam program. Dalam php, deklarasi variable seringkali digabung dengan inisialisasi. Variable dalam PHP dinyatakan dengan awalan $.

Page 5: PHP & MySQL Basic

s|c|i|e|ncom

5

Ada beberapa aturan yang diikuti berkenaan dengan penggunaan nama variabel. Aturan pemberian nama variabel :

1. Diawali dengan tanda $. Misal : $namasiswa, $alamat.2. Nama variable harus dimulai dengan huruf atau garis bawah (_). Misal : $_harga,

$jumlah.3. Nama variable dapat menggunakan karakter, Angka atau garis bawah (A-z, 0-9, dan

_ ).4. Case sensitive, artinya penulisan nama variable dengan huruf kecil dan huruf kapital

adalah berbeda. Misal : $Y dengan $y adalah 2 variable berbeda.

B. Inisialisasi VariableInisialisasi variabel adalah mengisi nilai untuk pertama kalinya ke dalam variabel.

Misal : $namaDepan = “Hendy”;$namaBelakang = “Wijaya”;$jumlah = 10;$harga = 50000

C. Passing VariableVariable dapat di passing atau diteruskan ke halaman web berikutnya yang dapat diakses oleh user. Ada beberapa teknik untuk meneruskan variable, antara lain :

1) Melalui URL2) Melalui Form3) Melalui Cookie

URLVariable diteruskan melalui URL seperti contoh berikut :

http://locahost/welcom.php?nama=Eddy&alamat=Jakarta

Isi pada file welcome.php

<?phpecho “Variable \$nama isinya ” . $nama . “<br>”;echo “Variable \$alamat isinya “ . $alamat . “<br>”;

?>

FORMCara lain untuk mengirimkan kedua variable tersebut adalah dengan menggunakan form, berikut kode nya :

File index.php

Page 6: PHP & MySQL Basic

s|c|i|e|ncom

6

Hasil file index.php

File welcome.php

Hasil file welcome.php

Tipe Data PHPDalam bahasa pemrograman lain, ada bermaca-macam jenis tipe data, misalnya integer, float, char, string dan berbagai tipe data lainnya.Di dalam PHP juga memiliki tipe data yang dapat digunakan saat dalam pembuatan kode PHP. Tipe data dalam PHP antara lain :

1. Integer2. String3. Floating point numbers4. Boolean

5. Array6. Object7. NULL

Tipe Data IntegerInteger adalah angka tanpa tanda desimal. Syarat tipe data Integer:

Integer harus berisi angka (0-9) Integer tidak boleh berisi tanda koma atau kosong.

Page 7: PHP & MySQL Basic

s|c|i|e|ncom

7

Integer dapat berisi nilai positif dan negative Integer dapat memiliki 3 (tiga) format:

decimal (10-based) hexadecimal (16-based - prefixed with 0x) octal (8-based - prefixed with 0)

Misal :

Hasil :

StringTipe data String adalah kumpulan dari karakter-karakter. String dapat menggunakan tanda petik tunggal (‘...’) atau tanda petik (“...”).

Misal :$namaSiswa = “Ridwan Kamil”$alamat = ‘Bandung’;

Floating point numbersTipe data angka yang mengandung desimal atau mengandung eksponensial.

Misal :

Page 8: PHP & MySQL Basic

s|c|i|e|ncom

8

Hasil :

BooleanTipe data boolean dapat berupa TRUE atau FALSE, Untuk menguji benar salah (true / false), kita menggunakan tipe data yang tersedia. FALSE dapat digantikan oleh integer 0, double 0.0 atau string kosong, yaitu "". Selain nilai itu, semua dianggap TRUE.

Misal :

Hasil :

ArrayArray adalah kumpulan beberapa data yang disimpan dalam satu variable.

Misal :

Hasil :

Object Tipe data yang menyimpan data dan informasi untuk memproses data tersebut. Sebuah objek harus dideklarasikan secara eksplisit dalam sebuah Kelas (Class). Struktur Class terdiri atas property dan method.

Misal :

Page 9: PHP & MySQL Basic

s|c|i|e|ncom

9

Hasil :

NULL NULL khusus menyatakan bahwa variabel tidak memiliki nilai. Nilai NULL mengidentifikasi apakah suatu variabel kosong atau tidak. Pada Database berguna untuk membedakan antara string kosong dan nilai null.

Misal :

Hasil : NULL

Page 10: PHP & MySQL Basic

s|c|i|e|ncom

10

Konstanta (constant) PHPDalam bahasa pemograman, Konstanta (constant) adalah suatu lokasi penyimpanan (dalam memory) yang berisikan nilai yang sifatnya tetap dan tidak bisa diubah sepanjang program berjalan (wikipedia).Berbeda dengan variabel yang isi/nilainya dapat diubah bahkan dihapus selama program berjalan, sebuah konstanta jika telah diberikan nilai, tidak dapat diubah lagi dalam kode program. Hal ini sesuai dengan namanya, yakni konstant.

Aturan penulisan konstanta dalam PHP

1. Cara Pendefenisikan Konstanta dalam PHP

Jika variabel di dalam PHP dibuat dengan menambahkan tanda dollar, seperti: $nama. Untuk membuat konstanta PHP menyediakan 2 cara:

1. Menggunakan kata kunci (keyword) const.2. Menggunakan fungsi define.

Untuk mendefenisikan konstanta dengan kata kunci const, caranya mirip dengan menambahkan nilai kepada sebuah variabel, namun didahului kata const. Berikut adalah contoh penulisannya:

<?php   const situs = "www.duniailkom.com";   echo situs;  // www.duniailkom.com?>Jika menggunakan fungsi define, fungsi ini membutuhkan 2 nilai, yakni nama konstanta, dan nilainya. Seperti contoh berikut ini:<?php   define("situs", "www.duniailkom.com");   echo situs;  // www.duniailkom.com?>

Aturan penamaan konstanta sama seperti variabel, yakni untuk karakter pertama hanya boleh menggunakan huruf dan underscore (_), dan untuk huruf kedua dan seterusnya, boleh menggunakan huruf, angka dan underscore. Sehingga sebuah konstanta juga tidak boleh diawal angka atau mengandung karakter khusus sepert #,*, atau &.

2. Konstanta PHP bersifat Case Sensitif

Sama seperti variabel, konstanta dalam PHP bersifat case sensitif, sehingga perbedaan huruf besar dan kecil dianggap berbeda. GAJI, GaJi, dan gaji merupakan 3 konstanta yang berbeda.Walaupun kita boleh menggunakan huruf kecil dalam penulisan konstanta, kesepakatan programmer PHP menganjurkan menggunakan HURUF BESAR untuk penulisan konstanta. Tujuannya agar lebih mudah untuk membedakan dengan variabel (dimana variabel dianjurkan menggunakan huruf kecil).

3. Nilai Konstanta PHP Tidak Dapat Diubah

Jika sebuah konstanta telah didefenisikan, kita tidak bisa merubah nilai tersebut.Contoh error konstanta:

Page 11: PHP & MySQL Basic

s|c|i|e|ncom

11

<? define("GAJI", 5000000); echo GAJI; echo "<br />"; define("GAJI", 50000);?>

Jika kode program tersebut dijalankan, berikut tampilannya:

5000000Notice: Constant GAJI already defined in D:\xampp\htdocs\belajar\test.php on line 4

4. Konstanta hanya dapat berisi tipe data tertentu

Konstanta dalam PHP hanya dapat berisi tipe data sederhana (disebut juga jenis tipe skalar), yakni: boolean, integer, float dan string. Hal ini berbeda dengan variabel, yang dapat juga berisi tipe data turunan seperti array, objek atau resources.

<?php define("GAJI", 5000000); echo GAJI; echo "<br />"; define("GAJI_PEGAWAI", array( 1000000,1500000));?>

Hasil contoh diatas akan menghasilkan error sebagai berikut:

5000000Warning: Constants may only evaluate to scalar values in D:\xampp\htdocs\belajar\test.php on line 4

Di dalam contoh diatas saya mencoba memberikan nilai array sebagai nilai dari konstanta GAJI_PEGAWAI, namun PHP mengeluarkan error yang menjelaskan bahwa konstanta hanya dapat berisi nilai dengan tipe skalar saja. Tipe skalar ini adalah boolean, integer, float dan string. Kita akan mempelajari tipe-tipe data ini dalam tutorial selanjutnya.

5. Konstanta Sistem PHP (Predefined Constant)

Sama seperti variabel, PHP juga telah membuat beberapa konstanta yang telah didefinisikan dan tidak bisa dirumah nilainya. Namun karena banyaknya modul yang dapat ditambahkan kedalam PHP, Predefined Constant dalam PHP akan bertambah tergantung modul yang ada. Namun sebagai contOh, berikut adalah Predefined Constant dalam sistem inti PHP:PHP_VERSION, PHP_MAJOR_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION, PHP_VERSION_ID, PHP_EXTRA_VERSION, PHP_ZTS, PHP_DEBUG, PHP_MAXPATHLEN, PHP_OS, PHP_SAPI, PHP_EOL, PHP_INT_MAX, PHP_INT_SIZE, DEFAULT_INCLUDE_PATH, PEAR_INSTALL_DIR, PEAR_EXTENSION_DIR, PHP_EXTENSION_DIR, PHP_PREFIX, PHP_BINDIR, PHP_BINARY, PHP_MANDIR, PHP_LIBDIR, PHP_DATADIR, __LINE__ , __FILE__ , __DIR__ , __FUNCTION__ , __CLASS__ , __TRAIT__ , __METHOD__, __NAMESPACE__,Daftar list Predefined Constant diatas saya ambil langsung dari manual PHP di http://php.net/manual/en/reserved.constants.php. Kebanyakan dari konstanta tersebut menyimpan nilai yang dapat membantu kita dalam membuat program PHP, khususnya untuk debugging, saya akan membahasnya pada lain kesempatan.

Page 12: PHP & MySQL Basic

s|c|i|e|ncom

12

Operator PHPOperator digunakan untuk memanipulasi nilai suatu variabel. Variabel yang nilainya dimodifikasi oleh operator disebut operand. Contoh penggunaan operator misalnya 13 - 3. 13 dan 3 adalah operand. Tanda "-" disebut operator.Berikut ini adalah klasifikasi operator di PHP :

1) Arithmetic Operators2) Assignment Operators3) String Operators4) Increment / Decrement Operators5) Comparison Operators6) Logical Operators

1. Arithmetic OperatorsArithmetic Operators digunakan untuk melakukan perhitungan matematika. Misalnya : $a = 5 + 3; Operator "+ " berfungsi untuk menambahkan kedua operand (5 dan 3).Ada beberapa arithmetic operator, yaitu :

+ : penjumlahan - : pengurangan * : perkalian / : pembagian % : nilai sisa pembagian

Contoh Penggunaan:

<?php $x=10; $y=6;echo ($x + $y); // outputs 16; Untuk Penjumlahanecho ($x - $y); // outputs 4; Untuk Penguranganecho ($x * $y); // outputs 60; Untuk Perkalianecho ($x / $y); // outputs 1.6666666666667; Untuk Pembagianecho ($x % $y); // outputs 4; Untuk Sisa Pembagian

?>

2. Assigment OperatorsAssignment operators digunakan untuk memberi/mengisi nilai ke dalam variabel tertentu. Ada beberapa jenis Assignment Operators, yaitu :

Assignment Similar

x=y x = y

x += y x = x + y

x -= y x = x - y

x *= y x = x * y

x /= y x = x / y

x %= y x = x % y

Page 13: PHP & MySQL Basic

s|c|i|e|ncom

13

Contoh Penggunaan :

<?php $x=10; // sama dengan $x = 10;echo $x; // outputs 10$y=20; $y += 100; // sama dengan $y = $y + 100;echo $y; // outputs 120$z=50;$z -= 25; // sama dengan $z = $z – 25;echo $z; // outputs 25$i=5;$i *= 6; // sama dengan $i = $i * 6;echo $i; // outputs 30$j=10;$j /= 5; // sama dengan $j = $j / 5;echo $j; // outputs 2$k=15;$k %= 4; // sama dengan $k = $k % 4;echo $k; // outputs 3

?>

3. String OperatorsSelain operators assignment yang berbentuk aritmatika/matematika, ada operator assignment yang digunakan untuk tipe data String, yaitu menggunakan tanda titik (.) sebagai penggabungnya.

Operator

Contoh Hasil

. $txt1 = “Selamat"$txt2 = $txt1 . " Siang"

Isi $txt2 = “Selamat Siang”

.= $txt1 = “Selamat"$txt1 .= “ Siang"

Isi $txt1 = “Selamat Siang”

Contoh Penggunaan :

<?php$a = “Selamat";$b = $a . " Siang!";echo $b; // outputs Selamat Siang!

$x=“Selamat";$x .= " Siang!";echo $x; // outputs Selamat Siang!

?>

4. Increment / Decrement Operators

Page 14: PHP & MySQL Basic

s|c|i|e|ncom

14

Operator Increment dan Decrement adalah penyebutan untuk operasi sepert $a++, dan $a–. Jika anda telah mempelajari bahasa pemograman lain, operasi increment dan decrement ini sering digunakan dalam perulangan (looping).

Increment digunakan untuk menambah variabel sebanyak 1 angka, sedangkan decrement digunakan untuk mengurangi variabel sebanyak 1 angka. Penulisannya menggunakan tanda tambah 2 kali untuk increment, dan tanda kurang 2 kali untuk decrement. Penempatan tanda tambah atau kurang ini boleh diwal, atau diakhir variabel, namun keduanya memiliki perbedaan, sehingga terdapat 4 jenis increment dan decrement dalam PHP.

Operator Nama Contoh Hasil

++$x Panambahan diawal $x = 10 : ++$x 11

$x++ Penambahan diakhir $x = 10 : $x++ 10

--$x Pengurangan diawal $x = 10 : --$x 9

$x-- Pengurangan diakhir $x = 10 : $x-- 10

Contoh Penggunaan :

<?php$x=10;echo ++$x."<br>"; // outputs 11

$y=10;echo $y++."<br>"; // outputs 10$z=5;echo --$z."<br>"; // outputs 4$i=5;echo $i--."<br>"; // outputs 5?>

5. Comparison/Relational OperatorsComparasion/Relational operator digunakan untuk membandingkan nilai dari dua operand. Hasil perbandingan dinyatakan dalam nilai boolean. TRUE berarti benar, dan FALSE berarti salah.

Operator Nama Contoh Hasil

== Sama dengan $x == $y True : Jika $x nilainya sama dengan $y

=== Identik $x === $y True : Jika $x nilainya sama dengan $y, dan tipe data $x dan $y sama

!= Tidak Sama dengan $x != $y True : Jika $x nilainya tidak sama dengan $y

<> Tidak Sama dengan $x <> $y True : Jika $x nilainya tidak sama dengan $y

!== Tidak Identik $x !== $y True : Jika $x nilainya tidak sama dengan $y, dan tipe data $x dan $y sama

> Lebih Besar $x > $y True : Jika $x lebih besar dari $y

Page 15: PHP & MySQL Basic

s|c|i|e|ncom

15

< Lebih Kecil $x < $y True : Jika $x lebih kecil dari $y

>= Lebih Besar sama dengan

$x >= $y True : Jika $x lebih besar atau sama dengan $y

<= Lebih Kecil sama dengan $x <= $y True : Jika $x lebih kecil atau sama dengan $y

Contoh Penggunaan :

<?php$x=100;$y="100";var_dump($x == $y); // returns true because values are equalecho "<br>";var_dump($x === $y); // returns false because types are not equalecho "<br>";var_dump($x != $y); // returns false because values are equalecho "<br>";var_dump($x !== $y); // returns true because types are not equalecho "<br>";$a=50;$b=90;var_dump($a > $b);echo "<br>";var_dump($a < $b);?>

6. Logical OperatorsLogical Operators digunakan untuk membandingkan dua nilai variable yang bertipe Boolean. Hasil yang didapat dari penggunaan logical operator adalah boolean.

Operator Nama Contoh Hasil

and dan $x and $y True : Jika $x dan $y benar

or atau $x or $y True : Jika salah satu bernilai benar

xor Explisit Or $x xor $y True : Jika hanya salah satu bernilai benar

&& dan $x && $y True : Jika $x dan $y benar

|| atau $x || $y True : Jika salah satu bernilai benar

! invers !$x True : Jika $x bernilai False

Contoh Penggunaan :

<?php$x=True;

Page 16: PHP & MySQL Basic

s|c|i|e|ncom

16

$y=False;var_dump($x and $y); // returns falseecho "<br>";var_dump($x or $y); // returns trueecho "<br>";var_dump($x xor $y); // returns trueecho "<br>";var_dump(!$x); // returns falseecho "<br>";?>

Control FlowControl flow dalam bahasa Indonesia dapat diartikan sebagai aliran kendali. Maksud sebenarnya dari control flow adalah bagaimana urutan eksekusi perintah di dalam program.Misalnya, dalam function :

function testFlow(){

int a = 5;echo(a);

}

Perintah pertama yang dijalankan adalah mengisi nilai 5 ke dalam variabel a. Perintah kedua yang dijalankan adalah menampilkan nilai yang tersimpan dalam variabel a (dalam hal ini 5) ke browser.Control flow di atas merupakan sebuah contoh sederhana. Beberapa

Control flow yang tersedia dalam PHP : Percabangan (branching) Perulangan (looping) Perpindahan (jumping)

A. PercabanganPercabangan, atau sering disebut juga dengan istilah decision-making, memungkinkan aplikasi untuk memeriksa isi suatu variabel atau hasil perhitungan ekspresi dan mengambil tindakan yang sesuai. Ada dua jenis percabangan, dipilih berdasarkan kriteria pemeriksaan dan jumlahPilihan yang tersedia.

IFKonstruksi if dapat dijelaskan sebagai berikut :

If (condition) {code to be executed if condition is true;

}

Contoh :<?php

$t=date("H");if ($t<"20") {

Page 17: PHP & MySQL Basic

s|c|i|e|ncom

17

echo "Have a good day!";}

?>

IF – ELSEKonstruksi if-else dapat dijelaskan sebagai berikut :

if (condition) {code to be executed if condition is true;

} else {code to be executed if condition is false;

}

Contoh :

<?php$t=date("H");

if ($t<"20") { echo "Have a good day!";} else { echo "Have a good night!";}

?>

IF – ELSEIF – ELSEUntuk pilihan yang lebih dari dua, PHP menyediakan konstruksi if-elseif-else.

Konstruksi kondisi if – elseif – else sebagai berikut :

if (condition) {code to be executed if condition is true;

} elseif (condition) {code to be executed if condition is true;

} else {code to be executed if condition is false;

}

Contoh : <?php

$t=date("H");if ($t<"10") {

echo "Have a good morning!";} elseif ($t<"20") {

echo "Have a good day!";} else {

echo "Have a good night!";}

?>Selain dapat menggunakan if – elseif – else, dalam memilih lebih dari 2 kondisi, dapat pula menggunakan SWITCH – CASE. Berikut ini adalah konstruksi penulisan switch – case :

Page 18: PHP & MySQL Basic

s|c|i|e|ncom

18

switch (n) {case label1:

code to be executed if n=label1;break;case label2:

code to be executed if n=label2;break;

case label3:code to be executed if n=label3;

break;...default:

code to be executed if n is different from all labels;}

Contoh :

<?php$favcolor="red";switch ($favcolor) {

case "red":echo "Your favorite color is red!";break;case "blue":echo "Your favorite color is blue!";break;case "green":echo "Your favorite color is green!";break;default:echo "Your favorite color is neither red, blue, or green!";

}?>

B. Perulangan (Loop)Struktur perulangan (atau dalam bahasa inggris disebut dengan loop) adalah instruksi program yang bertujuan untuk mengulang beberapa baris perintah. Dalam merancang perulangan kode program, kita setidaknya harus mengetahui 3 komponen, yaitu kondisi awal dari perulangan, perintah program yang akan diulang, serta kondisi akhir dimana perulangan akan berhenti.

Terdapat beberapa jenis perulangan di dalam PHP, antara lain :

FORLooping dengan for disebut juga determinate loop, artinya looping yang jumlah pengulangannya (iterasi) telah ditentukan di awal looping.

Berikut struktur perulangan FOR :

for (start; condition; increment)

Page 19: PHP & MySQL Basic

s|c|i|e|ncom

19

{statement;

}

Contoh Penggunaan :

<?phpfor ($i= 1; $i <= 5; $i++){

echo "Saya sedang belajar PHP";echo "<br />";

}?>

Hasil :

WHILEwhile loop juga dikenal dengan istilah indeterminate loop, artinya jumlah loopingnya tidak ditentukan pada awal looping. while loop lebih sederhana daripada for loop.

Berikut stuktur perulangan WHILE :

while (condition){

statement;statement;

}

Contoh Penggunaan :

<?php$i=1;while ($i <= 5){

echo "Data Baris Ke-“.$i;echo "<br />";$i=$i+1;

}?>

Hasil :

Page 20: PHP & MySQL Basic

s|c|i|e|ncom

20

DO WHILEPerulangan while dan do-while pada dasarnya hampir sama. Perbedaan terletak pada ’lokasi’ pengecekan kondisi perulangan.

Dalam struktur while, pengecekan untuk kondisi perulangan di lakukan di awal, sehingga jika kondisi tidak terpenuhi, maka perulangan tidak akan pernah dijalankan.

Namun pada perulangan do-while, pengecekan kondisi akan dilakukan di akhir perulangan, sehingga walaupun kondisi adalah FALSE, perulangan akan tetap berjalan minimal 1 kali.

Berikut adalah struktur perulangan do - while :

do {statement;statement;

} while (condition);

Contoh Penggunaan :

<?php$i=1;do{echo "Data Baris Ke-".$i;echo "<br />";$i=$i+1;} while ($i <= 5);

?>

Hasil :

Page 21: PHP & MySQL Basic

s|c|i|e|ncom

21

FUNCTION (Fungsi)Fungsi (atau Function) dalam bahasa pemograman adalah kode program yang dirancang untuk menyelesaikan sebuah tugas tertentu, dan merupakan bagian dari program utama. Kita dapat membuat fungsi sendiri, atau menggunakan fungsi yang dibuat oleh programmer lain.

Dalam dunia pemograman terdapat istilah ‘lazy progamming’ yang artinya bukanlah programmer yang malas. Tetapi, daripada membuat kode program umum dari dasar, kita bisa menggunakan fungsi yang telah dibuat oleh programmer lain. PHP bahkan menyediakan ribuan fungsi bawaan yang tersedia untuk membantu kita dalam merancang program.

Cara Menggunakan Function (fungsi)Menggunakan fungsi dalam teori pemograman sering juga disebut dengan istilah ‘memanggil fungsi’ (calling a function). Fungsi dipanggil dengan menulis nama dari fungsi tersebut, dan diikuti dengan argumen (jika ada). Argumen ditulis di dalam tanda kurung, dan jika jumlah argumen lebih dari satu, maka diantaranya dipisahkan oleh karakter koma.

Setelah memproses nilai inputan, hampir semua fungsi akan memberikan nilai hasil pemrosesan tersebut (walaupun ada fungsi yang tidak memberikan nilai). Cara fungsi memberikan nilainya ini sering disebut dengan ‘mengembalikan nilai’ (return a value). Nilai yang dikembalikan oleh sebuah fungsi dapat ditampung ke dalam variabel, atau langsung ditampilkan ke web browser.

Argumen & Parameter pada Function (fungsi)Sebuah fungsi dalam memproses data, kadang memerlukan beberapa inputan atau nilai masukan. Inputan inilah yang dimaksud dengan argumen. Sebuah fungsi bisa membutuhkan 1, 2, atau 5 argumen, namun bisa juga tidak memerlukan argumen sama sekali.

Parameter adalah sebutan lain untuk argumen. Perbedaannya, parameter merujuk kepada inputan fungsi pada saat pendefenisian fungsi tersebut, dan agrumen adalah sebutan untuk inputan fungsi pada saat pemanggilan fungsi. Kita akan membahas perbedaan Argumen dan Parameter secara lebih dalam pada tutorial selanjutnya, namun pada dasarnya argumen dan parameter merujuk kepada hal yang sama, yaitu inputan kepada fungsi dan kedua istilah ini sering dipertukarkan.

Cara penulisan function (fungsi) :

function nama_fungsi ($parameter1, $parameter2){ // kode program fungsi return $nilai_akhir}

Contoh Penggunaan Function (fungsi) :

<?phpfunction hitungLuas($panjang, $lebar){

$luas = $panjang * $lebar;return $luas;

}

Page 22: PHP & MySQL Basic

s|c|i|e|ncom

22

function hitungKeliling($panjang, $lebar){$varKeliling = 2;$keliling = $varKeliling * ($panjang + $lebar);return $keliling;

}

function hitungVolume($panjang,$lebar,$tinggi){$volume = $panjang * $lebar * $tinggi;return $volume;

}

$hasilLuas = hitungLuas(10, 5);$hasilKeliling = hitungKeliling(10, 5);$hasilVolume = hitungVolume(10, 5, 7);echo "Hitung Luas Persegi Panjang";echo "<br>";echo "Panjang = 10 cm";echo "<br>";echo "Lebar = 5 cm";echo "<br>";echo "Luas = ".$hasilLuas." cm";echo "<br><br>";echo "Hitung Keliling Persegi Panjang";echo "<br>";echo "Panjang = 10 cm";echo "<br>";echo "Lebar = 5 cm";echo "<br>";echo "Keliling = ".$hasilKeliling." cm";echo "<br><br>";echo "Hitung Volume Balok";echo "<br>";echo "Panjang = 10 cm";echo "<br>";echo "Lebar = 5 cm";echo "<br>";echo "Tinggi = 7 cm";echo "<br>";echo "Volume = ".$hasilVolume." cm3";

?>

Page 23: PHP & MySQL Basic

s|c|i|e|ncom

23

Hasil :

ARRAYArray (atau larik dalam bahasa indonesia) bukanlah tipe data dasar seperti integer atau boolen, Array adalah sebuah tipe data bentukan yang terdiri dari kumpulan tipe data lainnya. Menggunakan array akan memudahkan dalam membuat kelompok data, serta menghemat penulisan dan penggunaan variabel. Atau dapat pula disederhanakan menjadi, Array adalah kumpulan beberapa data yang disimpan dalam satu variabel.

Cara Penulisan Array dalam PHPPHP mendukung beberapa cara penulisan array, salah satunya dengan menggunakan konstruktor array PHP (array language construct) sebagai berikut:

$nama_variabel = array(key => value,key2 => value2,key3 => value3,...)

Komponen array terdiri dari pasangan kunci (key) dan nilai (value). Key adalah penunjuk posisi dimana value disimpan. Perhatikan juga bahwa PHP menggunakan tanda panah (=>) untuk memberikan nilai kepada key.

Mengakses Array dalam PHPDalam mengakses nilai dari array, kita menggunakan kombinasi $nama_variabel dan nilai key-nya, dengan penulisan sebagai berikut:$nama_variabel[key];

Page 24: PHP & MySQL Basic

s|c|i|e|ncom

24

Berikut adalah contoh pengaksesan array dalam PHP:

<?php//pembuatan array$nama = array( 1=>"Andri", 2=>"Joko", 3=>"Sukma", 4=>"Rina", 5=>"Sari"); //cara akses arrayecho $nama[1]; //Andriecho "<br />";echo $nama[2]; //Jokoecho "<br />";echo $nama[3]; //Sukma?>

Dalam contoh diatas, saya menggunakan angka integer sebagai key (1,2,3…) dan string sebagai value (Andri, Joko, Sukma, …).

Selain mendefenisikan key secara langsung, PHP juga memperbolehkan penulisan array tanpa key, dan key itu secara otomatis akan diurutkan dari nilai 0, 1, 2, dst.

Berikut adalah contoh pendefenisian array tanpa key:

<?php// pembuatan array$nama = array("Andri","Joko","Sukma","Rina","Sari"); // pengaksesan arrayecho $nama[1]; //Jokoecho "<br />";echo $nama[2]; //Sukmaecho "<br />";echo $nama[3]; //Rina?>

Perhatikan bahwa sekarang, index atau key dari array dimulai dari angka 0, bukan 1. sehingga $nama[1] berisi Joko. nama Andri berada di $nama[0]. Dalam penggunaan array di dalam PHP, konsep “key” array dimulai dari angka 0 ini sangat penting untuk dipahami

Selain menggunakan angka, key dalam PHP dapat berisi string atau boolean. Sedangkan untuk value dapat menyimpan berbagai tipe data seperti integer, float, string, boolan, bahkan array lainnya. Array seperti ini disebut juga dengan istilah “associate array“.

Berikut contoh penggunaan array dengan kombinasi tipe data.

Page 25: PHP & MySQL Basic

s|c|i|e|ncom

25

<?php// pembuatan array$coba = array ( 2=>"Andri", "dua"=>"2", 'tiga'=>3, true=>true, 9=>"sembilan",); // pengaksesan arrayecho $coba[2]; //Andriecho "<br />";echo $coba["dua"]; //2echo "<br />";echo $coba['tiga']; //3echo "<br />";echo $coba[true]; //1 (true di konversi menjadi 1)echo "<br />";echo $coba[9]; // sembilan?>

Dari contoh diatas, saya membuat array $coba dengan menggunakan berbagai tipe data untuk key dan value, yaitu dengan tipe data integer, string, dan boolean. Namun jika key di defenisikan dengan tipe data boolean seperti pada baris ke-6, maka secara otomatis PHP akan mengkonversinya menjadi 1.

Fungsi-fungsi ArrayElemen array dapat diurutkan dengan menggunakan :

1. sort() – pengurutan dari kecil ke besarContoh :<?php

$teman = array("Andi","Budi","Roni","Sisca","Maria","Kirana","Charlie");sort($teman);for($i=0; $i<count($teman);$i++){echo "Array \$teman index ke-".$i." adalah ".$teman[$i];echo "<br>";}

?>Hasil : Array $teman index ke-0 adalah AndiArray $teman index ke-1 adalah BudiArray $teman index ke-2 adalah CharlieArray $teman index ke-3 adalah KiranaArray $teman index ke-4 adalah MariaArray $teman index ke-5 adalah RoniArray $teman index ke-6 adalah Sisca

Page 26: PHP & MySQL Basic

s|c|i|e|ncom

26

2. rsort() - pengurutan dari besar ke kecilContoh : <?php

$teman = array("Andi","Budi","Roni","Sisca","Maria","Kirana","Charlie");rsort($teman);for($i=0; $i<count($teman);$i++){echo "Array \$teman index ke-".$i." adalah ".$teman[$i];echo "<br>";}

?>Hasil : Array $teman index ke-0 adalah SiscaArray $teman index ke-1 adalah RoniArray $teman index ke-2 adalah MariaArray $teman index ke-3 adalah KiranaArray $teman index ke-4 adalah CharlieArray $teman index ke-5 adalah BudiArray $teman index ke-6 adalah Andi

3. asort() – pengurutan associative dari nilai kecil ke besarContoh : <?php$teman = array("Andi"=>123,"Budi"=>543,"Roni"=>345,"Sisca"=>234,"Maria"=>876,"Kirana"=>124,"Charlie"=>765);asort($teman);while(list($index, $nilai) = each($teman)){echo "Array \$teman index label ".$index." berisi nilai ".$nilai;echo "<br>";}?>Hasil : Array $teman index label Andi berisi nilai 123Array $teman index label Kirana berisi nilai 124Array $teman index label Sisca berisi nilai 234Array $teman index label Roni berisi nilai 345Array $teman index label Budi berisi nilai 543Array $teman index label Charlie berisi nilai 765Array $teman index label Maria berisi nilai 876

4. ksort() - pengurutan associative dari Key kecil ke besarContoh : <?php$teman = array("Andi"=>123,"Budi"=>543,"Roni"=>345,"Sisca"=>234,"Maria"=>876,"Kirana"=>124,"Charlie"=>765);ksort($teman);while(list($index, $nilai) = each($teman)){echo "Array \$teman index label ".$index." berisi nilai ".$nilai;echo "<br>";}?>

Page 27: PHP & MySQL Basic

s|c|i|e|ncom

27

Hasil : Array $teman index label Andi berisi nilai 123Array $teman index label Budi berisi nilai 543Array $teman index label Charlie berisi nilai 765Array $teman index label Kirana berisi nilai 124Array $teman index label Maria berisi nilai 876Array $teman index label Roni berisi nilai 345Array $teman index label Sisca berisi nilai 234

5. arsort() - pengurutan associative dari nilai besar ke kecilContoh :<?php$teman = array("Andi"=>123,"Budi"=>543,"Roni"=>345,"Sisca"=>234,"Maria"=>876,"Kirana"=>124,"Charlie"=>765);arsort($teman);while(list($index, $nilai) = each($teman)){echo "Array \$teman index label ".$index." berisi nilai ".$nilai;echo "<br>";}?>Hasil :Array $teman index label Maria berisi nilai 876Array $teman index label Charlie berisi nilai 765Array $teman index label Budi berisi nilai 543Array $teman index label Roni berisi nilai 345Array $teman index label Sisca berisi nilai 234Array $teman index label Kirana berisi nilai 124Array $teman index label Andi berisi nilai 123

6. krsort() - pengurutan associative dari Key besar ke kecilContoh : <?php$teman = array("Andi"=>123,"Budi"=>543,"Roni"=>345,"Sisca"=>234,"Maria"=>876,"Kirana"=>124,"Charlie"=>765);krsort($teman);while(list($index, $nilai) = each($teman)){echo "Array \$teman index label ".$index." berisi nilai ".$nilai;echo "<br>";}?>Hasil :Array $teman index label Sisca berisi nilai 234Array $teman index label Roni berisi nilai 345Array $teman index label Maria berisi nilai 876Array $teman index label Kirana berisi nilai 124Array $teman index label Charlie berisi nilai 765Array $teman index label Budi berisi nilai 543Array $teman index label Andi berisi nilai 123

Page 28: PHP & MySQL Basic

s|c|i|e|ncom

28

VARIABLE LIFETIMEScopeScope, lifetime, visibility adalah berbagai istilah yang sama, menyatakan di mana variabel dapat digunakan dalam program. PHP mengenal dua macam scope, yaitu local dan global. Variabel local hanya dapat digunakan dalam blok tempatnya dideklarasi. Variabel global dapat digunakan di mana saja dalam program setelah dideklarasi dan diinisialisasi.

Variabel yang didefenisikan di dalam sebuah fungsi, secara default tidak dapat diakses oleh kode program di luar fungsi tersebut. Dan begitu juga sebaliknya, variabel yang didefenisikan di luar fungsi, tidak bisa diakses dari dalam fungsi.

Variable LocalVariable Local adalah variabel yang di defenisikan di dalam sebuah fungsi, variable itu belum tentu bisa diakses dari luar fungsi tersebut

Untuk lebih memahami scope local, perhatikan script di bawah :<?php

$a = 5;

function coba(){

$a=10;$b=7;

}

// pemanggilan fungsi coba()coba();echo $a; // 5echo $b; // error:notice

?>

Pada baris ke-2, saya mendefenisikan variabel $a, dan memberikan nilai awal = 5. Pada baris ke-4 saya membuat fungsi coba() dan mendefenisikan kembali variabel $a yang kali ini nilainya adalah 10, dan juga membuat sebuah variabel baru, yakni $b.

Setelah memanggil fungsi coba() pada baris ke-11, saya kemudian memeriksa nilai $a dengan perintah echo. Dan ternyata nilai $a adalah 5, bukan 10. Dan ketika saya ingin mengakses variabel $b, PHP akan mengeluarkan peringatan bahwa variabel $b belum di defenisikan, dengan pesan error: Notice: Undefined variable: b in D:\xampp\htdocs\belajar\test.php on line 13.

Hal ini terjadi karena variabel $a dan $b berada di dalam fungsi coba() yang merupakan variabel yang berbeda dengan variabel $a yang berada diluar fungsi. Jangkauan variabel $a dan $b hanya berada di dalam fungsi.

Variable GlobalJika kita tetap ingin menggunakan variabel yang didefenisikan di luar fungsi dan sebaliknya, PHP memperbolehkan hal tersebut dengan menambahkan sebuah kata kunci ‘global’ sebelum pendefenisian nama variabel.

Page 29: PHP & MySQL Basic

s|c|i|e|ncom

29

Berikut contoh penggunaan keyword global:<?php

$a = 7;

function coba(){

global $a;global $b;$b=15;echo $a."<br>"; //7echo $b."<br>"; //15

}

coba();echo $a."<br>"; //7echo $b."<br>"; //15

?>

Program diatas tidak akan menghasilkan error seperti sebelumnya, dan kita bisa mengakses nilai variabel $a dari dalam fungsi coba(), dan nilai variabel $b di luar fungsi.

Kata kunci global membuat fungsi dapat mengakses variabel yang didefenisikan diluar fungsi.

Variable StaticStatic Variabel, atau variabel statis adalah jenis variabel yang mempertahankan nilainya pada setiap pemanggilan fungsi. Untuk variabel normal, nilai dari variabel tersebut akan secara otomatis dihapus pada saat fungsi selesai dijalankan, dan akan dibuat ulang pada saat fungsi dipanggil.

Namun jika sebuah variabel dinyatakan sebagai static variabel, maka nilai variabel tersebut akan tetap dipertahankan walaupun fungsi telah selesai dijalankan. Biasanya fungsi ini dimanfaatkan jika kita ingin menghitung berapa kali sebuah fungsi dipanggil.

Berikut adalah contoh program penggunaan variabel statis dalam PHP:

<?phpfunction coba(){ static $a=0; $a=$a+1; return "Ini adalah pemanggilan ke-$a fungsi coba() <br />";} echo coba();echo coba();echo coba();echo coba();

?>

Jika anda menghapus keyword static pada baris ke-4, maka variabel $a akan selalu bernilai 0, karena nilainya akan dihapus pada setiap kali pemanggilan fungsi coba(). Namun dengan membuat $a sebagai static variable, maka nilai dari $a akan terus dipertahankan sepanjang pemrosesan halaman oleh PHP.

Page 30: PHP & MySQL Basic

s|c|i|e|ncom

30

CLASS dan OBJECTSPemrograman berbasis objek tidak hanya berisi ‘object’. Kali ini kita akan membahas tentang pengertian class, object, property dan method. Keempat ‘keyword’ inilah yang menjadi pondasi dasar dari Pemrograman Berbasis Objek. Selain pengertian, kita juga akan mempelajari cara penulisannya dengan PHP.

A. CLASSClass adalah ‘cetak biru’ atau ‘blueprint’ dari object. Class digunakan hanya untuk membuat kerangka dasar. Yang akan kita pakai nantinya adalah hasil cetakan dari class, yakni object.

Sebagai analogi, class bisa diibaratkan dengan laptop atau notebook. Kita tahu bahwa laptop memiliki ciri-ciri seperti merk, memiliki keyboard, memiliki processor, dan beberapa ciri khas lain yang menyatakan sebuah benda tersebut adalah laptop. Selain memiliki ciri-ciri, sebuah laptop juga bisa dikenakan tindakan, seperti: menghidupkan laptop atau mematikan laptop.

Class dalam analogi ini adalah gambaran umum tentang sebuah benda. Di dalam pemrograman nantinya, contoh class seperti: koneksi_database dan profile_user.

Di dalam PHP, penulisan class diawali dengan keyword class, kemudian diikuti dengan nama dari class. Aturan penulisan nama class sama seperti aturan penulisan variabel dalam PHP, yakni diawali dengan huruf atau underscore untuk karakter pertama, kemudian boleh diikuti dengan huruf, underscore atau angka untuk karakter kedua dan selanjutnya. Isi dari class berada dalam tanda kurung kurawal.

Berikut adalah contoh penulisan class dalam PHP:

<?phpclass laptop { // isi dari class laptop...}

?>

B. PROPERTYProperty (atau disebut juga dengan atribut) adalah data yang terdapat dalam sebuah class. Melanjutkan analogi tentang laptop, property dari laptop bisa berupa merk, warna, jenis processor, ukuran layar, dan lain-lain.

Jika anda sudah terbiasa dengan program PHP, property ini sebenarnya hanyalah variabel yang terletak di dalam class. Seluruh aturan dan tipe data yang biasa diinput kedalam variabel, bisa juga diinput kedalam property. Aturan tata cara penamaan property sama dengan aturan penamaan variabel.

Berikut adalah contoh penulisan class dengan penambahan property:

<?phpclass laptop {var $pemilik;var $merk;

Page 31: PHP & MySQL Basic

s|c|i|e|ncom

31

var $ukuran_layar;// lanjutan isi dari class laptop...}

?>

Dari contoh diatas, $merk, $ukuran_layar dan $jenis_processor adalah property dari class laptop. Seperti yang kita lihat, penulisan property di dalam PHP sama dengan cara penulisan variabel, yakni menggunakan tanda dollar ($). Sebuah class tidak harus memiliki property.

C. METHODMethod adalah tindakan yang bisa dilakukan didalam class. Jika menggunakan analogi class laptop kita, maka contoh method adalah: menghidupkan laptop, mematikan laptop, mengganti cover laptop, dan berbagai tindakan lain.

Method pada dasarnya adalah function yang berada di dalam class. Seluruh fungsi dan sifat function bisa diterapkan kedalam method, seperti argumen/parameter, mengembalikan nilai (dengan keyword return), dan lain-lain.

Berikut adalah contoh penulisan class dengan penambahan method:

<?phpclass laptop {

function hidupkan_laptop() {//... isi dari method hidupkan_laptop} function matikan_laptop() {//... isi dari method matikan_laptop} ... //isi dari class laptop

}?>

Dari contoh diatas, function hidupkan_laptop() dan function matikan_laptop() adalah method dari class laptop. Seperti yang kita lihat, bahwa penulisan method di dalam PHP sama dengan cara penulisan function. Sebuah class tidak harus memiliki method.

D. OBJECTObject atau Objek adalah hasil cetak dari class, atau hasil ‘konkrit’ dari class. Jika menggunakan analogi class laptop, maka objek dari class laptop bisa berupa: laptop_andi, laptop_anto, laptop_duniailkom, dan lain-lain. Objek dari class laptop akan memiliki seluruh ciri-ciri laptop, yaitu property dan method-nya.

Proses ‘mencetak’ objek dari class ini disebut dengan ‘instansiasi’ (atau instantiation dalam bahasa inggris). Pada PHP, proses instansiasi dilakukan dengan menggunakan keyword ‘new’. Hasil cetakan class akan disimpan dalam variabel untuk selanjutnya digunakan dalam proses program.

Sebagai contoh, berikut adalah cara membuat objek laptop_andi dan laptop_anto yang dibuat dari class laptop:

Page 32: PHP & MySQL Basic

s|c|i|e|ncom

32

<?phpclass laptop {//... isi dari class laptop} $laptop_andi = new laptop();$laptop_anto = new laptop();

?>

Dari contoh diatas, $laptop_andi dan $laptop_anto merupakan objek dari class laptop. Kedua objek ini akan memiliki seluruh property dan method yang telah dirancang dari class laptop.

FILE HANDLINGPada bagian ini akan dijelaskan cara script PHP melakukan interaksi dengan file. Adapun interaksi-interaksi tersebut adalah :

1. Membuka FileSecara umum terdapat 3 cara membuka file, yaitu :

• membuka file hanya untuk dibaca (read: 'r')• membuka file hanya untuk ditulisi baru (write: 'w')• membuka file hanya untuk ditambahi isinya (append: 'a')

Selain 3 cara membuka file tersebut, terdapat pula cara lain membuka file yaitu dapat dibaca dan ditulisi (read/write: 'r+'), serta dapat dibaca dan ditambahi isinya (append: 'a+').

Berikut ini adalah contoh kode PHP untuk membuka file

<?php$nama_file = "nama_file.txt";$fh = fopen($nama_file, "w") or die("File tidak bisa dibuka");

?>

'w' dapat diganti dengan 'r', 'a', 'r+', 'a+'.

Apabila nama file yang akan dibuka ternyata salah, atau letak filenya yang tidak tepat, maka function die() yang akan dijalankan. Function die() akan menampilkan teks sebagai peringatan apabila proses membuka file gagal.

2. Menutup FileSetelah file dibuka, hendaknya file tersebut juga ditutup ketika pemrosesan selesai. File yang yang tidak ditutup kemungkinan dapat terjadi kerusakan pada strukturnya.

<?php$NamaFile = "testFile.txt";$FileHandle = fopen($NamaFile, 'w') or die("File tidak bisa dibuka");fclose($FileHandle);

?>

Page 33: PHP & MySQL Basic

s|c|i|e|ncom

33

Note : File yang telah ditutup tidak bisa untuk dibaca, ditulisi, dan ditambah. Untuk bisa melakukan hal itu kembali, file terlebih dahulu harus dibuka lagi seperti sebelumnya.

3. Menulis ke FileFile yang telah dibuka dapat ditulisi dengan data di dalamnya. Contoh :

<?php$f = "nama_file.txt";$FileHandle = fopen($f, 'w') or die("File gagal dibuka");$DataString = "Hallo World !!";fwrite($FileHandle, $DataString);fclose($FileHandle);

?>

Apabila Anda menggunakan mode 'w' pada fopen(), dan selanjutnya Anda menuliskan data pada file, maka isi file yang lama akan terhapus dan diganti dengan isi yang baru. Sedangkan apabila Anda menginginkan data yang lama pada suatu file tidak dihapus, maka gunakan mode append 'a+' atau 'a'. Membaca Isi File

Misalkan kita memiliki file nama_file.txt yang isinya adalah sbb:

Selamat berjumpa lagi kawan!!Senang bertemu Anda.

Kita dapat menggunakan kode PHP untuk membaca file tersebut dan selanjutnya hasil pembacaan dapat ditampilkan di browser atau diproses lebih lanjut.

<?php$f = "nama_file.txt";$FileHandle = fopen($f, 'r');$Data = fread($FileHandle, 4);fclose($FileHandle);echo $Data;

?>

Apabila kode di atas dijalankan, maka pada browser hanya akan menampilkan teks

Sela

Hal ini dikarenakan adanya nilai 4 pada fread(). Nilai tersebut menyatakan jumlah karakter awal yang dibaca dari file. Supaya seluruh isi file dapat dibaca, gunakan function filesize().

<?php$f = "nama_file.txt";$FileHandle = fopen($f, 'r');$Data = fread($FileHandle, filesize($f));fclose($FileHandle);echo $Data;

?>

Apabila kode di atas dijalankan, maka pada browser hanya akan menampilkan teks

Page 34: PHP & MySQL Basic

s|c|i|e|ncom

34

Selamat berjumpa lagi kawan!! Senang bertemu Anda. Hallo World !!

4. Menghapus FileDalam PHP, function untuk menghapus file adalah unlink(). Berikut ini contohnya.

<?php$myFile = "nama_file.txt";unlink($myFile);

?>

Jika script tersebut dijalankan maka file nama_file.txt akan hilang/terhapus dari direktori.

DATABASE ACCESSMenyimpan data dalam file biasa memiliki banyak keterbatasan. Semakin besar ukuran file, pencarian data menjadi lebih sulit. File biasa juga tidak memiliki kemampuan untuk mengolah data, misalnya menghitung total nilai, rata-rata, dan lain sebagainya. Dan yang lebih penting, adanya keterbatasan untuk mengendalikan akses terhadap data. Kita tidak dapat menentukan siapa yang boleh dan siapa yang tidak boleh mengakses data. Siapa yang boleh membaca dan tidak boleh menulis, dan sebagainya.

Karena itu, sekarang kita akan menggunakan media penyimpanan data yang lebih mutakhir, yaitu database. Operasi data dalam database umumnya mengikuti pola yang sama, sama, yaitu melalui rangkaian langkah sebagai berikut :

Membuka sambungan dengan database server Memilih dan membuka database yang diinginkan Mengirim perintah untuk mengambil/mengubah/menghapus data. Mengakses hasil pengambilan data Mengakhiri sambungan

Dalam PHP biasanya menggunakan database MySQL untuk menyimpan data-data yang telah dikirimkan oleh user melalui form. Sebelum membahas database access pada PHP, akan dibahas secara singkat tentang MySQL, yaitu :

MySQL adalah database terpopuler untuk web. MySQL database dapat digunakan di beberapa Sistem Operasi (Windows, LINUX /

Multiplatform) MySQL sangat ideal baik bagi data kecil maupun data besar MySQL sangat handal dan cepat serta mudah dalam pengoperasiannya. MySQL dikembangkan dan disupport oleh Oracle Corporation

Selanjutnya akan dibahas database access menggunakan PHP dan MySQL seperti yang telah di sebutkan pada rangkaian langkah diatas.

1) Membuka sambungan dengan serverUntuk dapat menghubungkan PHP dengan MySQL maka dibutuhkan sebuah koneksi, script untuk menghubungkan ke MySQL, yaitu menggunakan fungsi mysql_connect.

Page 35: PHP & MySQL Basic

s|c|i|e|ncom

35

Struktur koneksi MySQL adalah :

mysql_connect(server name,username,password)Penggunaan nya seperti berikut :

<?php$dbServer = "localhost";$dbUser = "endy";$dbPass = "test";$dbConn = mysql_connect($dbServer, $dbUser, $dbPass);

?>

2) Memilih dan membuka database yang diingikanSetelah melakukan koneksi ke MySQL selanjutnya adalah melakukan pemilihan database yang akan digunakan untuk proses-proses dari user/client ke database server. Fungsi di PHP yang digunakan adalah mysql_select_db.

Struktur untuk memilih database tersebut adalah :

mysql_select_db(nama database)

Penggunaan nya sebagai berikut :

<?php$dbName = "phpTutorial";mysql_select_db($dbName);

?>

3) Mengirimkan perintah untuk mengambil/mengubah/menambah/menghapus dataPerintah untuk memasukkan data dibuat dengan menggunakan aturan SQL, dijelaskan lebih lengkap pada bagian selanjutnya. Adapun perintah MySQL (MySQL Query) antara lain :

SELECT * FROM <table name> => SQL Query untuk mengambil data UPDATE FROM <table name> SET <nama kolom> = <isi kolom> => SQL Query untuk

mengubah data INSERT INTO <table name> (<nama kolom 1>, <nama kolom 2>, ...) VALUES (<isi kolom

1>, <isi kolom 2>, ...) => SQL Query untuk menambah data DELETE FROM <table name> => SQL Query untuk menghapus data.

4) Mengakses hasil pengambilan dataSetelah perintah MySQL disiapkan dengan yang telah disesuaikan dengan kebutuhan pada client pada aplikasi PHP, maka selanjutnya adalah melakukan eksekusi perintah MySQL tersebut untuk mendapatkan hasil dari perintah MySQL tersebut. Fungsi yang digunakan adalah mysql_query. Berikut struktur untuk fungsi mysql_query :

mysql_query(perintah MySQL);

Penggunaan nya adalah :<?php

$query = "SELECT * FROM master_produk";$hasil = mysql_query($query);

?>

Page 36: PHP & MySQL Basic

s|c|i|e|ncom

36

5) Mengakhiri sambungan dengan serverSetelah semua proses selesai dilakukan oleh PHP dengan menggunakan fungsi-fungsi MySQL yang ada, maka dilanjutkan dengan menutup koneksi untuk mengakhiri seluruh proses yang telah selesai tersebut. Fungsi PHP yang digunakan adalah mysql_close(nama database), fungsi tersebut diletakan diakhir baris kode program. Penggunaan nya adalah sebagai berikut :

<?php// variabel yang diperlukan untuk akses database$user = "sa";$pass = "spvsql";$db = "phplatihan";$server = "localhost";// membuat koneksi$koneksi = mysql_connect($server, $user, $pass);

// memeriksa koneksiif(!$koneksi){

echo("Koneksi ke database gagal");exit;

}

// membuka databasemysql_select_db($db);

// menampilkan data dari table master produk$query2 = "SELECT * FROM master_produk";$hasil = mysql_query($query2);while ($baris = mysql_fetch_array($hasil)){

echo "Kode Produk : ".$baris["kd_produk"]."<br>";echo "Nama Produk : ".$baris["nm_produk"]."<br>";echo "Harga Produk : ".$baris["harga"]."<br>";echo "------------------------------------------<br>";

}

mysql_close($koneksi);?>

STRING HANDLINGString handling adalah kumpulan function PHP yang berguna untuk memanipulasi string. Ada banyak kegunaan yang bisa didapat dengan menggunakan fungsi-fungsi ini, misalnya:

Pencarian kata dalam website Pemeriksaan user input Memformat file untuk keperluan khusus (misalnya email). Dan sebagainya

Page 37: PHP & MySQL Basic

s|c|i|e|ncom

37

A. Sekilas Regular ExpressionUntuk dapat menggunakan fungsi-fungsi string handling dengan baik, kita perlu menguasai teknik pembuatan pola kalimat. Contoh pola kalimat misalnya, alamat email yang valid (misalnya [email protected]) selalu memiliki pola sebagai berikut:

satu atau lebih huruf/angka, diikuti tanda @ kemudian diikuti dengan satu atau lebih huruf/angka, dipisahkan oleh tanda titik, lalu diakhiri dengan satu atau lebih huruf/angka.

Pola tersebut, dapat dinyatakan dengan seperangkat kode sebagai berikut :

Pola KodeHarus di awal kata ^Huruf A-Z a-zAngka 0-9Huruf atau angka [A-Z a-z 0-9]Semua jenis karakter .Berjumlah satu atau lebih + atau {1,}Berjumlah nol atau lebih *atau {0,}Berjumlah tiga sampai sepuluh {3,10}Diikuti dengan @ @Tanda titik ¥.Harus berada diakhir kalimat $

Pola alamat email di atas dapat dinyatakan dengan satu baris kode sebagai berikut.

^.+@.+\..+$

Atau kita dapat membatasi alamat email yang digunakan oleh user agar hanya menerima domain com, net, atau edu dengan menggunakan pola berikut :

^.+@.+\.((com)|(edu)|(net))$

B. Penggunaan Regular ExpressionUntuk mendemonstrasikan kemampuan string handling, kita akan menggunakan input form yang akan memvalidasi alamat email dan nomer telepon yang dimasukkan user. Berikut ini adalah script untuk membuat form cek email, buatlah file PHP dengan nama CekMail.htm, seperti berikut ini :

<h2>Pemeriksaan Input</h2><form name="frm" method="post" action="CekMail.php"><table border="0" width="25%" cellpadding="2"> <tr> <td>Masukkan No.Telp</td> <td><input type="text" name="telp" id="telp" size="25"></td> </tr> <tr> <td>Masukkan Email</td> <td><input type="text" name="email" id="email" size="25"></td> </tr>

Page 38: PHP & MySQL Basic

s|c|i|e|ncom

38

<tr> <td></td> <td><input type="submit" value="Periksa" name="btn" id="btn"></td> </tr></table></form>

input yang dimasukkan user akan diperiksa oleh script CekMail.php yang berisi kode sebagai berikut :

<?// validasi alamat email$polaEmail = "^.+@.+\..+$";if(!eregi($polaEmail, $email)){

echo("Masukkan alamat email yang valid, misal : [email protected]");}else{

echo("Alamat email valid");}echo "<br>";// validasi no telp$polaTelp = "^\+[0-9]{2}-[0-9]+$";if(!eregi($polaTelp, $telp)){

echo("Masukkan nomer telepon yang valid, misal : +62-315054307");}else{

echo("No telp valid");}

?>

Function yang digunakan untuk memeriksa email pada script di atas adalah eregi. Menerima input berupa pola yang diinginkan dan string yang akan diperiksa. Function ini akan menghasilkan nilai true bila polanya sesuai dan false bila pola yang dicari tidak ada pada string input.

SESSIONKonsep Session bekerja seperti tempat penitipan barang di supermarket. Kita datang, menitipkan barang bawaan, dan petugas akan memberikan tanda pengenal.

Pada saat kita akan mengambil barang, kita memberikan tanda pada petugas, dan petugas akan dapat mengambil barang yang dititipkan tanpa tertukar dengan barang orang lain. Permasalahan yang terjadi adalah, bagaimana “tanda pengenal” tersebut akan disimpan pada setiap halaman yang diakses user, sehingga dapat diakses oleh sistem setiap kali user mengklik link.

Berikut ini adalah struktur dari fungsi session di PHP :

Diawali dengan session_start()

$_SESSION['nama_variable'] = nilai_dari_form;

Page 39: PHP & MySQL Basic

s|c|i|e|ncom

39

Dan untuk memanggil variable session yang sudah di set tersebut menggunakan perintah berikut :

echo $_SESSION['nama_variable'];

Sebagai contoh penggunaan fungsi session di PHP adalah sebagai berikut :

1. Buatlah file PHP dengan nama login.htm, isi dari file login.htm seperti berikut ini :

<h2>LOGIN</h2><form name="frm" method="post" action="validasi_login.php"><table border="0" width="25%" cellpadding="2"><tr><td>Username</td><td><input type="text" name="username" id="username" size="25"></td></tr><tr><td>Password</td><td><input type="text" name="password" id="password" size="25"></td></tr><tr><td></td><td><input type="submit" value="Login" name="btn" id="btn"></td></tr></table></form>

2. Buatlah file PHP dengan nama cekLogin.php dan isi file nya sebagai berikut :

<?phpsession_start();$_SESSION['username'] = $_REQUEST['username'];$_SESSION['password'] = $_REQUEST['password'];

header("location:cekLogin.php");?>

3. Buatlah file PHP dengan nama konfirmasiLogin.php dan isi file tersebut adalah :

<?phpsession_start();

echo "Username ".$_SESSION['username']." Berhasil Login Dengan Password ".$_SESSION['password']."<br>";?><a href="logout.php">Logout</a>

4. Buatlah file PHP dengan nama logout.php, dan isi file tersebut dengan script berikut :

<?phpsession_destroy();

Page 40: PHP & MySQL Basic

s|c|i|e|ncom

40

header("location:index.php");?>