Tutorial PHP
Eris Ristemena dan
Steven Haryanto
Bagian: 1
Tingkat: Dasar
Tujuan: Setelah membaca bagian pertama ini, pembaca diharapkan
mendapat gambaran bagaimana cara kerja dan seperti apa sintaks dasar PHP.
Abstrak: Pengenalan, PHP dan HTML, variabel dan tipe data.
Prasyarat:
Tidak ada.
Pendahuluan
PHP saat ini
merupakan bahasa pemrograman Web yang amat populer. Salah satu kelebihan PHP
dibandingkan “pendahulunya” Perl adalah kemudahan dipelajari. Tutorial ini akan
membahas dasar-dasar PHP hingga topik-topik seperti koneksi database dan contoh
aplikasi lengkap menggunakan PHP. Kami asumsikan PHP telah berjalan dengan baik
di sistem Anda. Jika belum, Anda dapat membaca panduan instalasi PHP di tulisan
lain di edisi majalah ini.
PHP dan HTML
PHP dalam sistem
aplikasi Web berfungsi sebagai server side scripting language, yang pada intinya adalah sederetan
kode yang dieksekusi seluruhnya di server, kemudian hasil dari eksekusi
tersebut dikirim ke klien dalam
format tertentu; bisa berupa HTML, PDF, SWF, GIF, JPEG, WBMP dan lain-lain
sesuai keinginan Anda.
Untuk tutorial permulaan ini, kita
akan membahas PHP dalam format keluaran yang pastinya sudah akrab dengan kita
yaitu HTML. Dengan pertimbangan selain karena HTML adalah format yang telah
dikenal secara luas oleh browser yang ada saat ini, awal pengembangan bahasa
PHP sendiri adalah guna mengolah input form di HTML—sehingga versi awal PHP
disebut dengan nama Form Interpreter atau PHP/FI.
Sebagai ilustrasi awal, buka editor
teks lalu salin skrip di bawah ini.
<html>
<head><title>Tutorial PHP</title></head>
<body>
Perhatikan <b><?php echo("tulisan ini") ?></b>.<br>
Begitulah cara <?php echo("<b>PHP</b>") ?> bekerja.
</body>
</html>
Setelah
selesai, simpan dengan nama
skrip01.php lalu lihat hasilnya di browser,
maka tampilannya kurang lebih seperti
Gambar 1. Jika browser menampilkan kotak
dialog downtampilan di browser Anda
Jika Anda
lihat sourcenya dengan fasilitas View Source browser, maka yang akan tampil adalah
sebagai berikut:
<html>
<head><title>Tutorial PHP</title></head>
<body>
Perhatikan <b>tulisan ini</b>.
Begitulah cara <b>PHP</b> bekerja.
</body>
</html>
Apakah
Anda perhatikan perbedaannya dengan listing program skrip01.php?
Begitulah cara interpreter PHP bekerja, yaitu dengan mencari tanda pembuka tag
PHP <?php di baris-baris file skrip01.php lalu
mengkompilasi dan mengeksekusi teks di dalamnya hingga tanda penutup tag ?>
dijumpai, begitu seterusnya sampai akhir file. Dalam kasus kita terdapat dua
tag PHP dan masing-masing berisikan perintah echo untuk
mencetak sesuatu ke browser.
Tag <?php
.. ?> pada contoh di atas dikenal juga dengan PHP
escaping tags, karena tag <?php akan mengubah mode pembacaan dari
mode HTML ke mode PHP, yang artinya tiap baris di dalamnya akan dieksekusi oleh
engine PHP sampai bertemu tag ?> yaitu ketika mode pembacaan kembali
ke mode HTML. Di mode HTML, PHP hanya akan melalukan setiap baris yang
diketemuinya ke browser tanpa pemrosesan apa-apa.
Sebenarnya
ada tiga macam PHP escaping tags lain
yang bisa dipakai, hanya saja karena tidak semua instalasi mendukungnya serta
demi kenyamanan maka saya sarankan lebih baik memilih yang baru saja kita
pakai. Namun untuk sekedar mengenal macam-macam PHP escaping tags, buat file skrip02.php
seperti di bawah.
<html>
<head><title>Tutorial PHP</title><head>
<body>
<?php echo "Ini adalah long form tags" ?><br>
<? echo "Yang ini adalah short form tags. ";
echo "Jika Anda menggunakan XML maka penggunaan tags ini ";
echo "lebih baik dihindari karena akan menimbulkan konflik ";
echo "dengan tags XML sendiri.";
?><br>
<% echo "Yang ini adalah ASP-Style tags. ";
echo "Anda harus mengaktifkannya terlebih dahulu di file ";
echo "konfigurasi PHP.";
%><br>
<script language="php">
echo "Yang ini untuk Anda yang menggunakan editor seperti ";
echo "Front Page yang kurang ramah dengan tags PHP di atas.";
</script>
</body>
</html>
Tampilan
keluarannya terlihat di Gambar 2.
Coba
perhatikan skrip02.php pada baris ketujuh. Karena
string yang akan saya cetak terlalu panjang, maka saya pecah ke dalam beberapa
buah echo kemudian saya menggunakan tanda ;
(titik koma) untuk memisahkan
instruksi yang satu dengan lainnya. Hal ini serupa dengan di bahasa lainnya
seperti C atau Perl.
Satu hal
lagi, karena echo hanya sebagai konstruksi bahasa dan bukan berupa fungsi khusus di PHP, maka
penggunaan tanda kurung setelahnya adalah opsional. Kita akan membahas lebih
banyak mengenai fungsi dalam tutorial edisi mendatang.
PHP dan
Variabel
Variabel
dalam PHP memiliki aturan sebagai berikut:
- diawali dengan tanda dolar ($);
- penamaan variabel bersifat case sensitive;
- nama variabel hanya bisa diawali oleh huruf atau garis
bawah, baru setelah itu dapat diikuti dengan beberapa huruf, angka, maupun
garis bawah.
Variabel-variabel
berikut adalah valid:
$jumlah_halaman = 60;
$_jumlah_halaman = "enam puluh";
$_1001_masalah = 1001;
dan
variabel-variabel berikut tidak valid:
$12_jam = "60 menit"; // diawali angka
$@_my_room = $12_jam; // tidak diawali huruf atau _
$... = "titik titik"; // tidak diawali huruf atau _
Seperti
bahasa pemrograman lain, untuk menetapkan nilai kepada suatu variabel cukup
dengan menggunakan tanda = (sama
dengan).
Adapun
tipe variabel yang dikenal PHP ada 5 macam, yaitu:
- integer, atau bilangan bulat;
- string;
- float, atau bilangan pecahan;
- array;
- objek.
Untuk
menjaga agar tutorial ini tidak berubah menjadi terjemahan bebas dari manual
PHP (yang bisa Anda download dari
www.php.net), saya akan
menerangkan masing-masing tipe variabel di atas dengan contoh, dengan membuat file
skrip03.php
seperti berikut:
<html>
<head>
<title>Tutorial PHP</title>
</head>
<body>
<?php
// tipe integer, atau bilangan bulat
$a = 12;
$b = -12;
$c = 0xcc;
$d = 0123;
echo "nilai \$a (integer positif) = $a <br>";
echo "nilai \$b (integer negatif) = $b <br>";
echo "nilai \$c (heksadesimal) = $c <br>";
echo "nilai \$d (oktal) = $d <br><br>";
// tipe float, atau bilangan pecahan
$e = 1.5;
$f = 1.5e4;
echo "nilai \$e = $e <br>";
echo "nilai \$f = $f <br><br>";
// tipe string
$dia = "steven";
echo "\$dia adalah <b>$dia</b> (dicetak dengan double quote)<br>";
echo '$dia adalah <b>'.$dia.'</b> (dicetak dengan single quote)";
echo '<br><br>';
// tipe array
$program['web'] = "php";
$editor['penulis'][0] = "ristemena";
$editor['penulis'][1] = "steven";
echo "web programming : $program[web]<br>";
echo "editor php : {$editor[penulis][0]} dan $editor[penulis][1]";
echo "<br><br>";
// tipe objek
class cara_makan {
function pisang() {
return "dibuka kulitnya terlebih dahulu";
}
}
$obj = new cara_makan;
echo "cara makan pisang adalah dengan " . $obj->pisang();
?>
</body>
</html>
dan hasil
keluarannya di browser terlihat pada
Gambar 3.
Perhatikanlah
kembali skrip03.php di atas, saya menggunakan
tanda // untuk komentar. Kalau Anda termasuk
orang yang mudah lupa atau sering bepergian dan meninggalkan program untuk
beberapa waktu lamanya, maka sering-seringlah memberikan komentar di tiap blok
kode Anda, hal ini akan memudahkan bagi Anda sendiri nantinya.
Baiklah,
mari kita mulai membahas tipe variabel PHP dari skrip di atas.
Integer
Dalam
PHP, tipe integer dapat dinyatakan dalam beberapa macam format bilangan seperti
desimal positif, desimal negatif, oktal dan heksadesimal. Penggunaannya seperti
terlihat di skrip03.php adalah sebagai berikut:
$a = 12; // desimal positif
$b = -12; // desimal negatif
$c = 0xcc; // oktal
$d = 0123; // heksadesimal
Hm, apakah
Anda perhatikan bahwa seluruhnya tercetak dalam format desimal? Jangan
khawatir, ini hanya masalah format tampilan saja, kita dapat mengubah-ubah
format keluaran sesuai keperluan dengan menggunakan fungsi-fungsi di PHP yang
akan dibahas pada edisi mendatang.
String
String
dapat dinyatakan menggunakan dua macam pengapit
yaitu double quote atau kutip
tunggal (") dan single quote atau kutip tunggal (').
Jika Anda
menggunakan kutip ganda maka
variabel di dalamnya akan diekspansi. Ini artinya nama variabel di dalam kutip ganda akan digantikan dengan
isinya. Perhatikan baris berikut di skrip03.php:
$dia = "steven";
echo "\$dia adalah <b>$dia</b> (dicetak dengan double quote)<br>";
Variabel
$dia
akan dicetak menggunakan isi variabelnya seperti terlihat dalam
Gambar 3. Namun
seperti halnya di bahasa C, untuk karakter-karakter tertentu Anda harus
menambahkan tanda escape dengan
garis miring terbalik (
\). Contoh karakter yang harus diescape
adalah dolar,
$,
karena ia merupakan prefiks nama variabel; kutip ganda,
",
garis miring terbalik itu sendiri,
\, dan beberapa yang lain.
Sebaliknya
untuk kutip tunggal, karakter
yang harus diescape hanya ada dua macam, yaitu garis miring terbalik dan kutip
tunggal itu sendiri. Namun pengutip
jenis ini tidak mengekspansi variabel di dalamnya, tapi mencetak
langsung tanda dolar beserta nama variabelnya, sehingga jika Anda ingin
mencetak isi variabel, terlebih dahulu variabel harus dikeluarkan dahulu dari kutipan:
echo '$dia adalah <b>'.$dia.'</b> (dicetak dengan single quote)';
Perhatikan
juga bagaimana tanda titik (.) pada PHP dapat berfungsi sebagai penyambung string seperti halnya
tanda plus (+) pada Javascript atau ASP.
Float
Jika
Anda membutuhkan bilangan pecahan, maka PHP juga menyediakan tipe float, yang
penulisannya dapat dibuat dalam dua macam seperti terlihat pada listing 3
yaitu:
$e = 1.5; // sama dengan 1,5
$f = 1.5e4; // sama dengan 15.000
jangkauan dan ketelitian bilangan tipe ini bergantung pada
platform yang Anda gunakan. Di platform Intel 32 bit seperti keluarga Pentium,
nilai maksimumnya sekitar 1.8e+318 dan ketelitiannya 14 digit di belakang tanda
desimal (tipe data double C).
Array
Array
di PHP ada dua macam, yaitu asosiatif
dan indexed. Namun adakalanya kedua macam array ini dapat Anda pakai
bersamaan yaitu pada array multidimensi, seperti baris berikut di skrip03.php:
$program['web'] = "php"; // associative array
$editor['penulis'][0] = "ristemena"; // array multidimensi: gabungan antara
$editor['penulis'][1] = "steven"; // asosiatif dan indexed
Kita akan membahas lebih dalam mengenai array ini pada edisi
mendatang, namun ada satu hal menarik yang perlu dibahas di sini yaitu tentang
bagaimana PHP mengekspansi variabel di dalam kutip ganda untuk variabel tipe array. Perhatikan baris berikut:
echo "web programming : $program[web]<br>";
echo "editor php : {$editor[penulis][0]} dan $editor[penulis][1]<br><br>";
untuk array satu dimensi,
$program[web] ,
ternyata PHP dapat mencetak dengan benar isinya—perhatikan bahwa penulisan
$program[web]
sama dengan
$program['web']. Namun untuk array dua
dimensi atau multidimensi Anda harus menambahkan kurung kurawal seperti
{$editor[penulis][0]} agar dapat mencetak isi
variabel dengan benar. Jika tidak ditambah kurung kurawal, maka interpreter PHP
akan menganggapnya sebagai array satu dimensi yaitu
$editor[penulis] yang tentu saja tidak
terdefinisi sehingga pada
Gambar 3 hanya tertulis
Array.
Fitur
ini—penggunaan kurung kurawal untuk array multidimensi—baru ditambahkan pada
PHP4, sementara pada PHP3 Anda harus mengeluarkannya terlebih dahulu dari kutip ganda dengan menambahkan penyambung string (.).
Objek
Tipe variabel yang terakhir ini sebenarnya adalah instans dari sebuah kelas.
Inisialisasinya adalah menggunakan operator new seperti baris
berikut dalam skrip03.php:
$obj = new cara_makan;
sementara penggunaannya adalah dengan operator ->,
seperti:
echo "cara makan pisang adalah dengan " . $obj->pisang();
Kita akan membahas lebih jauh mengenai objek dan OOP pada edisi
mendatang.