Pada bab ini Anda akan dikenalkan dengan PHP sebagai salah satu server side
programming, pengertian server side programming dan client side programming, serta
alasan mengapa memilih PHP. Tak lupa pula akan dijelaskan tool apa saja yang
diperlukan untuk belajar PHP.
Tentang Client Side dan Server Side Programming
PHP atau merupakan singkatan rekursif dari PHP : Hypertext Preprocessor adalah suatu
bahasa pemrograman yang termasuk kategori server side programming. Wah… apaan
tuh maksudnya server side programming? OK… server side programming adalah jenis
bahasa pemrograman yang nantinya script/program ini akan dijalankan oleh
server. lalu hasil pengolahan script/program ini akan dikirim ke client
sebagai output.
Sebagai gambaran dari server side programming adalah sebagai berikut ini.
Misalkan Anda ingin membuat script/program untuk menjumlahkan dua buah bilangan
dengan memakai PHP. Nah… andaikan Anda telah membuat form untuk input
kedua bilangan dan membuat script PHP untuk mengolah penjumlahan kedua bilangan.
Dalam hal ini, keduanya (form dan script PHP) sama-sama diupload ke server.
lalu misalkan ada seorang user yang ingin menjumlahkan dua bilangan, maka
user tadi akan mengakses ke server. Apa yang diakses? Tentunya form input bilangan
yang akan dijumlahkan. Dalam hal ini posisi si user adalah sebagai client. Nah… setelah si
user mengisi bilangan pada form, lalu dia mensubmitnya. Trus… kemana
mensubmitnya? sebab Anda tadi membuat script PHP dan form input telah diarahkan
ke script PHP ini , maka data input akan disubmit ke server untuk diolah
memakai script PHP yang telah Anda buat tadi. Setelah input diolah (dijumlahkan),
maka hasilnya akan kembali dikirim ke client sebagai output sehingga si user
mengetahui hasil penjumlahan dua bilangan yang diinputkan melalui form tadi.
Penjelasan detail tentang cara mengkaitkan antara form dan script PHP sebagai
pengolahnya akan dijelaskan di bab tentang pemrosesan form.
Trus… selain server side programming, apakah ada jenis yang lain? Oh.. Ada donk yaitu
client side programming. Jenis programming ini merupakan kebalikan dari server side
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 2
programming. Untuk client side programming, script/program akan diproses di dalam
client sendiri.
Untuk menggambarkan client side programming, kita ambil contoh kasus yang sama
dengan sebelumnya yaitu script menjumlahkan dua bilangan. OK… misalkan Anda
membuat form input untuk memasukkan dua bilangan, serta script untuk
menjumlahkannya. lalu keduanya ditaruh/diupload ke server. Misalkan ada user
yang ingin menjumlahkan dua bilangan, maka dia akan mengakses ke server form input.
sebab Anda memakai script pengolah berjenis client side programming, maka
script ini juga akan terakses oleh si user. Biasanya script ini diletakkan dalam satu
halaman yang sama dengan form. Oleh sebab itu bila si user mengakses form, maka
script juga otomatis akan terakses. Setelah si user memasukkan bilangan ke dalam form,
lalu dia mensubmitnya. Trus… kemana submitnya? Yap… submit ini tidak ditujukan ke
server melainkan ke client itu sendiri dan diolah oleh script yang ikut terakses tadi.
Kemudian hasilnya ditampilkan sebagai output.
Salah satu contoh bahasa pemrograman web yang berjenis client side programming
adalah Javascript.
Untuk melihat perbedaan yang kentara antara bahasa pemrograman web yang berjenis
server side programming dan client side programming adalah bisa atau tidaknya
script/program itu ditampilkan ke dalam browser ketika mengaksesnya. Apa
maksudnya?
Cobalah akses suatu halaman situs yang di dalamnya ada Javascript, misalnya
http://detik.com. Ketika Anda lihat source halaman web ini (klik kanan, klik View
Page Source pada Firefox atau klik nanan, klik View Source pada IE), maka dapat Anda
lihat isi kode script Javascriptnya, yang biasanya ditandai dengan
<script type="text/javascript" language="javascript">
dan diakhiri dengan tanda
</script>
Mengapa kode Javascript itu bisa terlihat? Ya… sebab script itu nantinya akan diproses
oleh komputer client, sehingga kode itu ibaratnya harus didownload terlebih dahulu ke
dalam client.
lalu bandingkan ‘penampakannya’ ☺ bila Anda mengakses script PHP, misalkan
script yang telah saya buat untuk percobaan (http://rosihanari.net/test.php). Ketika
Anda lihat dibrowser, maka yang tampil adalah hanyalah berupa teks pesan saja. Dan
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 3
jika Anda lihat sourcenya, maka tidak tampak perintah-perintah yang berupa kode
PHP. Padahal isi dari script test.php ini adalah sebagai berikut:
<?php
echo "Hello apa kabar?<br />";
echo "Terimakasih atas kepercayaan Anda pada Rosihan Ari sebagai pembimbing belajar
PHP Anda";
?>
Mengapa bisa demikian? Ya… sebab script test.php ini telah dijalankan atau diproses di
server dan bukan di client. Dalam hal ini client hanya menerima output hasil pengolahan
script di server.
Mudah-mudahan dari uraian di atas Anda sudah bisa membedakan apa itu server side
programming dan client side programming.
Kenapa PHP?
Di samping PHP, sebenarnya ada beberapa jenis pemrograman lain yang termasuk
server side programming yaitu JSP (Java Server Pages), ASP (Active Server Pages),
Phyton, dan Perl, serta masih ada lagi beberapa yang lain. Namun mengapa saya
rekomendasikan PHP untuk Anda pelajari? Ya… sebab PHP memiliki beberapa
kelebihan antara lain:
1. Bahasa pemrograman PHP sangat mudah dipelajari sebab mirip dengan bahasa
C/C++
2. PHP mudah diimplementasikan sebab software PHP servernya 100% Free
3. Kebanyakan server web hosting mensupport PHP
4. PHP paling banyak digunakan oleh web programmer di seluruh dunia
Statistik situs yang memakai PHP (sekitar 20 juta situs)
Menurut TIOBE index, PHP merupakan bahasa pemrograman yang memiliki
tingkat rating no. 4 setelah Java, C dan C++ di akhir tahun 2008 ini (Sumber:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html).
Selain itu trend pemakaian PHP sebagai bahasa pemrograman selama kurun
waktu 2002 s/d 2008 adalah sebagai berikut
Dari grafik di atas tampak bahwa PHP masuk dalam 10 besar bahasa
pemrograman yang paling banyak digunakan, dan PHP termasuk urutan nomor 2
pemrograman favorit.
5. Anda bisa melakukan instalasi PHP server sendiri dengan mudah di komputer
pribadi Anda untuk belajar.
6. Integrasi antara PHP dan database mudah untuk diimplementasikan sebab PHP
mensupport banyak database (DBMS), seperti MySQL, MS. Access, Oracle, DB2,
Dbase, Interbase dll.
Tool Apa Saja Yang Diperlukan Untuk Belajar PHP?
Untuk memudahkan Anda belajar PHP, berikut ini beberapa tool yang sebaiknya Anda
miliki :
1. Software web server, bisa dipilih salah satu antara Apache, IIS, PWS (100 % free)
2. Software PHP server (100% free)
3. Software database, sebaiknya pilih MySQL sebab 100% free. Bila sudah
menguasai PHP + MySQL bisa dikembangkan dengan database yang lain.
4. Text Editor, misalkan Notepad atau Notepad++. Dalam hal ini saya
merekomendasikan Notepad++ sebab selain software ini 100% free, juga
mensupport untuk memudahkan penulisan bahasa program.
5. Web Editor, misalnya Dreamweaver atau Frontpage (sifatnya optional) sebagai
pendukung saja.
Untuk tool no. 1 s/d 3 sebenarnya Anda tidak perlu mencarinya atau menginstalasi
secara terpisah, sebab ada software paket yang di dalamnya sudah tersedia web server
Apache, PHP server dan MySQL. Dalam hal ini saya merekomendasikan AppServ
(http://www.appservnetwork.com), XAMPP atau EasyPHP sebagai softwarenya, yang
kesemuanya absolutely FREE.
Instalasi PHP dan Software
Pendukungnya
Pada bab ini Anda akan mempelajari bagaimana cara melakukan instalasi PHP server
dan juga pendukungnya.
Agar script PHP yang Anda buat bisa berjalan, Anda terlebih dahulu harus sudah
menginstall PHP server di komputer Anda. Oya... dalam hal ini kita akan belajar
menginstal PHP server ini di komputer Anda sendiri untuk keperluan belajar. Anda tidak
perlu menjalankan script PHP di server khusus yang spesifikasinya besar atau di server
hosting, tapi cukup di komputer Anda pribadi.
OK... kita mulai masuk ke pokok bahasan utama. Untuk bisa menjalankan PHP, Anda
butuh beberapa software pendukungnya antara lain: Web Server, dan juga database
sebagai pelengkapnya. Database di sini diperlukan ketika Anda ingin membuat aplikasi
web yang diintegrasikan dengan database.
Ada beberapa macam software yang bisa digunakan sebagai web server, diantaranya
adalah : Apache, IIS, dan Personal Web Server. Sedangkan untuk software database,
atau sering disebut dengan istilah DBMS (Database Management System), Anda bisa
memakai MySQL, SQL Server, MS. Access, dll.
Nah... di sini saya hanya akan mengajarkan bagaimana melakukan instalasi PHP server,
Apache sebagai web servernya dan juga MySQL sebagai DBMS nya. Mengapa saya
memilih Apache dan MySQL? Ya... sebab hampir seluruh server hosting telah
mendukung kedua software. Selain itu keduanya adalah free sehingga tidak perlu
khawatir lagi terkait lisensinya.
OK... untuk menginstal PHP dan pendukungnya, Anda tidak perlu melakukan instalasi
satu persatu, namun bisa langsung sekaligus semuanya. Lho kok bisa? Ya... sebab saat
ini banyak tersedia software bundling yang di dalamnya sudah ada PHP server, Apache
dan MySQL nya. Beberapa di antaranya adalah AppServ, XAMPP dan EasyPHP. Tapi
dalam hal ini saya sangat merekomendasikan AppServ sebab konfigurasinya yang
sangat mudah dibandingkan yang lain.
Instalasi AppServ
Berikut ini cara melakukan instalasi AppServ di komputer Anda.
1. Download software AppServ ini di http://appservnetwork.com
2. OK... setelah Anda mendownloadnya, silakan double click file hasil downloadnya.
3. Secara default, letak file AppServ untuk instalasi ini adalah di C:\AppServ
4. Bila pada instalasi AppServ muncul kotak dialog seperti ini, maka pilihlah semua
option yang ada
Option ini menunjukkan software apa saja dalam AppServ yang ingin
diinstal, dalam hal ini pilihlah semuanya (Apache, MySQL, PHP server dan
phpMyAdmin).
Catatan: phpMyAdmin adalah software untuk mempermudah pengelolaaan
database MySQL
5. Bila sampai pada tahap tampilan instalasi seperti di bawah ini
Isikan Name Server nya dengan nama Anda atau apalah sebarang. Nama itu
nantinya dipakai sebagai nama server webnya. Sebaiknya jangan ada spasi untuk
nama servernya. Nama server nanti bisa dipanggil di browser, misal kalau nama
servernya ‘rosihanari’, maka Anda dapat mengakses http://rosihanari di browser
Anda.
6. lalu jika instalasi telah sampai pada tampilan berikut ini
Isikan password untuk username: root guna mengakses database MySQL. Oya…
sebaiknya option Enable InnoDB Anda aktifkan supaya MySQL bisa mensupport
relasi dan integritas antara tabel. Apa kelebihan InnoBD? Silakan baca artikel
saya di
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 9
http://blog.rosihanari.net/foreign-key-relationship-dan-referential-integrity-
di-mysql/
7. jika proses instalasi selesai, maka lalu cobalah buka browser Anda
dan arahkan URLnya ke http://namaserver atah http://localhost yang telah Anda
berikan sebelumnya pada proses instalasi. Bila browsernya menampilkan
halaman berikut ini, maka instalasi AppServ sukses.
8. Halaman yang tampil di atas adalah hasil dari akses file index.php yang terletak
dalam direktori C:\AppServ\www. Jadi... file-file web dan juga script PHP yang
nantinya akan Anda buat harus diletakkan di direktori ini . Apakah bisa
diletakkan di tempat lain? Oh bisa saja... bagaimana caranya, simak di Bab 3
tentang bagaimana mengatur konfigurasi di PHP dan Web Server (Apache)
Konfigurasi Apache, PHP dan MySQL
Pada bagian ini, Anda diharapkan bisa memahami bagaimana cara melakukan
konfigurasi pada Apache, PHP dan MySQL.
Konfigurasi Apache
Secara default, file web dan script PHP yang nantinya Anda buat akan diletakkan di
direktori C:\AppServ\www. Akan tetapi jika menghendaki direktori ini
dipindahkan, maka hal ini bisa dilakukan. Sebagai contoh, misalkan Anda membuat
folder di D:\ dengan nama webku atau membuat direktori D:\webku untuk meletakkan
file-file web dan script PHPnya. Nah.. supaya file web dan script PHP ini bisa diakses
melalui browser dan web server maka terlebih dahulu Anda harus melakukan setting di
bagian konfigurasi Apache.
Bagaimana cara melakukan setting konfigurasi Apache untuk memindahkan default
direktori untuk meletakkan file web dan script PHPnya? OK ini dia langkah-langkahnya:
1. Klik START > AppServ > Configuration Server
2. Pilih “Apache Edit The httpd.conf Configuration File”
3. Carilah baris bertuliskan DocumentRoot "C:/AppServ/www" pada isi file
httpd.conf ini . Gunakan fasilitas Find pada Notepad
4. Ubahlah baris ini dengan DocumentRoot "D:/webku".
5. Cari juga baris <Directory "C:/AppServ/www"> dan ubahlah menjadi
<Directory "D:/webku">
6. Cari juga baris <Directory "C:/AppServ/www/cgi-bin"> dan ubahlah menjadi
<Directory "D:/webku/cgi-bin">
7. Setelah selesai, simpan kembali file httpd.conf ini .
8. Lakukan Restart pada Apache dengan cara klik START > AppServ > Control Server
by Service > Restart Apache
Untuk melihat perubahannya, silakan Anda coba buat file web berikut ini pada Notepad.
<html>
<head>
<title>Ini halaman pertama</title>
</head>
<body>
<h1>Ini halaman web pertamaku</h1>
</body>
</html>
Simpan file ini dengan nama index.htm dan letakkan ke direktori D:\webku.
lalu panggil file web ini memakai web server melalui browser dengan
URL http://localhost atau http://namaserver. Bila halaman web muncul tampilan berisi
teks Test.. Test sebagai mana yang kita tulis di atas, maka konfigurasi sukses. Sedangkan
bila tidak muncul apa-apa atau error, maka coba cek lagi langkah-langkah konfigurasi di
atas. Pastikan nama direktorinya benar.
Sekarang coba buat lagi halaman web yang lain.
<html>
<head>
<title>Ini halaman kedua</title>
</head>
<body>
<h1>Ini halaman web keduaku</h1>
</body>
</html>
Sekarang simpan file di atas dengan nama hal2.htm dan letakkan ke D:\webku.
Kemudian panggil file web ini dengan URL http://localhost/hal2.htm atau
http://namaserver/hal2.htm.
Anda juga bisa membuat folder di dalam D:\webku. jika Anda meletakkan file web
ke dalam folder ini , maka cara mengakses ke file web ini melalui browser
adalah http://localhost/namafolder/namafile.
Catatan:
Oya… meskipun Anda bisa langsung membuka kedua file web yang telah dibuat di atas
melalui proses double click pada file melalui Windows Explorer, tapi proses ini tidak
melibatkan web server. Beda prosesnya ketika Anda mengakses file web melalui
http://localhost seperti di atas. Ketika Anda mengakses file web melalui http://localhost,
maka pada prinsipnya proses request web yang dilakukan client (dalam hal ini Anda)
akan diproses oleh web server. Proses yang dimaksud adalah mencari file web yang
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 12
diinginkan pada root direktori (D:\webku). Setelah ketemu, hasilnya akan dikirim ke web
browser untuk ditampilkan.
Struktur Dasar Script PHP
Pada bab ini kita akan mempelajari struktur dasar script PHP, aturan penulisan
statement PHP, cara menyisipkan script PHP ke dalam tag (X)HTML dan juga
kebalikannya, tentang variabel, aturan penamaan variabel, sampai dengan penulisan
komentar.
Struktur Script PHP
Kode-kode PHP dituliskan di antara tanda berikut ini:
<?php
...
...
...
?>
atau
<?
...
...
...
?>
Tips : diantara kedua aturan struktur di atas, sebaiknya gunakan struktur yang pertama
(diawali dengan <?php dan diakhiri dengan ?>). Mengapa? Ya... sebab tidak semua web
server mengenali struktur yang kedua.
Menyimpan File PHP
Script PHP yang dibuat harus disimpan dalam ekstensi .php. jika tidak, maka script
tidak akan bisa dijalankan dan hanya dianggap teks biasa saja. Dahulu script PHP dapat
juga disimpan dalam bentuk ekstensi .php3, namun hal ini berlaku untuk PHP versi 3.x
saja. Sejak rilis 4.x ke atas, ekstensi ini tidak digunakan lagi.
Dimanakah letak script PHP ini harus disimpan supaya bisa dijalankan? Script PHP yang
Anda buat harus diletakkan dalam root direktori dari web server. jika Anda
memakai AppServ, script PHP diletakkan dalam direktori C:\AppServ\www. Bisa
juga Anda mengubah letak root direktori web servernya ke tempat lain. Untuk
melakukan hal ini baca kembali Bab III.
lalu coba buat script PHP pertama Anda berikut ini:
<?php
echo "Hello World";
echo "Hello World";
echo "Hello World <br />";
echo "Hello World <br />";
?>
Tips :
Dalam membuat script PHP, sebaiknya text editor NOTEPAD++ supaya lebih mudah
mengetahui baris mana dalam kode PHP yang salah.
Simpan script PHP ini dengan nama test.php, dan letakkan ke dalam root direktori
web server. Perhatikan apa yang tampak ketika script di atas dibuka pada browser
(panggil script di atas dengan URL http://localhost/test.php) !
Sekarang kita akan lihat misalkan ada kesalahan perintah atau sintaks dalam kode PHP
nya. Misalkan ada perintah echo yang salah dalam penulisannya seperti pada script
berikut ini:
<?php
eho "Hello World";
echo "Hello World";
echo "Hello World <br />";
echo "Hello World <br />";
?>
Bila script di atas dijalankan di browser, maka akan muncul pesan error:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in
C:\AppServ\www\test.php on line 3
Dari pesan ini tampak adanya kesalahan pada baris ke-3 (on line 3). Dengan
demikian Anda harus segera memperbaikinya. Dengan memakai Notepad++ Anda
dapat dengan cepat menemukan nomor baris dari script PHP yang dibuat.
lalu jawab dalam hati pertanyaan berikut ini:
1. Apa gunanya perintah echo?
2. Mengapa teks “Hello World” yang kedua terletak sebaris dengan “Hello World”
yang pertama?
3. Mengapa teks “Hello World” yang ketiga terletak pada baris yang kedua?
4. Setiap baris statement kode PHP selalu diakhiri dengan tanda semicolon/titik
koma. Apa efeknya bila tanda ini dihapus?
5. Bisakah Anda membuat script PHP untuk menampilkan teks dengan format di
bawah ini pada browser hanya dengan memakai sebuah echo saja?
Hello World
Hello World
Hello World
Hello World
Simpan script Anda ini dengan nama test2.php dan letakkan ke dalam folder
bernama ‘test’ yang terlebih dahulu dibuat pada root direktori web server.
Panggil script ini dengan nama URL http://localhost/test/test2.php
Menyisipkan Script PHP dalam Dokumen (X)HTML
Script PHP dapat juga disisipkan ke dalam dokumen (X)HTML. Berikut ini contohnya:
<html>
<head>
<title>Halaman PHP pertamaku</title>
</head>
<body>
<h1>Script PHP dalam (X)HTML</h1>
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 16
<?php
echo "Hello World!";
echo "Hello World!";
echo "Hello World!";
echo "Hello World!";
echo "Hello World!";
?>
</body>
</html>
sebab dalam dokumen (X)HTML di atas ada script PHP, maka file di atas nantinya
juga harus disimpan memakai ekstensi .php, bukan .htm atau .html.
Coba tulis script di atas dan simpan dengan nama test3.php. Letakkan script ke dalam
folder ‘test’ seperti sebelumnya dan panggil dengan URL http://localhost/test/test3.php
Kita juga bisa menyisipkan lebih dari satu script PHP dalam sebuah dokumen (X)HTML
seperti contoh di bawah ini
<html>
<head>
<?php echo "<title>Halaman PHP pertamaku</title>"; ?>
</head>
<body>
<h1>Script PHP dalam (X)HTML</h1>
<?php
echo "<p>Ini paragraph yang dibuat dengan script PHP</p>";
echo "<p>Ini paragraph yang dibuat dengan script PHP</p>";
?>
<p>Ini paragraph yang dibuat tanpa script PHP</p>
<p>Ini paragraph yang dibuat tanpa script PHP</p>
<?php
echo "<p>Ini paragraph yang dibuat dengan script PHP</p>";
echo "<p>Ini paragraph yang dibuat dengan script PHP</p>";
?>
</body>
</html>
Coba simpan file di atas dengan nama test4.php dan lihat hasilnya di browser.
pemakaian Variabel
Variabel dalam pemrograman digunakan untuk menyimpan suatu nilai dan jika suatu
saat nilai ini diperlukan kembali untuk proses perhitungan, maka cukup
memanggil nama variable ini .
Dalam PHP, nama suatu variabel ditandai dengan tanda dollar ($). Berikut ini adalah
sintaks untuk menyimpan nilai ke dalam suatu variabel.
$namaVariabel = nilai;
Adapun beberapa aturan penulisan nama variabel adalah sebagai berikut:
• Nama variabel harus diawali dengan huruf atau underscore ( _ )
• Nama variabel hanya boleh dituliskan dengan alpha numeric a-z, A-Z,
0-9 dan underscore
• Nama variabel yang terdiri lebih dari satu kata, dapat dipisahkan dengan
underscore
Berikut ini beberapa contoh menyimpan nilai ke dalam variabel.
<?php
$teks = "Hello World!";
$sebuah_bilangan = 4;
$bilanganYangLain = 8.567;
$teks2 = $teks;
?>
Keterangan:
• Perintah pertama digunakan untuk menyimpan nilai berupa string ke dalam
variabel bernama $teks.
• Perintah kedua digunakan untuk menyimpan nilai berupa bilangan bulat 4 ke
dalam variabel bernama $sebuah_bilangan.
• Perintah ketiga digunakan untuk menyimpan nilai berupa bilangan riil 8.567 ke
dalam variabel bernama $bilanganYanglain.
• Perintah keempat digunakan untuk menyimpan nilai yang tersimpan dalam
variabel $teks, dalam hal ini juga “Hello World!”.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 18
Catatan Penting:
Besar kecilnya huruf dalam nama variabel sangat berpengaruh. Maksudnya misalnya
kita membuat variabel $a dengan $A, keduanya adalah berbeda. Sifat ini dinamakan
case sensitive. Jadi hati-hati dalam menuliskan nama variabel.
Menampilkan Nilai Variabel
Untuk menampilkan nilai yang telah tersimpan dalam variabel, kita gunakan echo.
Berikut ini contohnya:
<?php
$teks = "Hello World!";
$sebuah_bilangan = 4;
$bilanganYangLain = 8.567;
$teks2 = $teks;
echo $teks;
echo "<br />" . $sebuah_bilangan;
echo "<br />Isi dari variabel \$bilanganYangLain : " . $bilanganYangLain;
echo "<br />Isi dari variabel \$teks2 adalah : " . $teks2;
?>
Keterangan:
• Tanda titik (dot) digunakan untuk menggabungkan string. Dalam hal ini, nilai
yang akan ditampilkan dianggap sebagai suatu string.
• Tanda backslash (\) di depan $ pada script di atas digunakan untuk menampilkan
tanda $ ke dalam browser. Coba lihat efeknya jika tanda backslash ini
dihapus.
Lebih Lanjut Tentang Echo
Sekarang… misalkan kita akan menampilkan tag HTML berikut ini ke dalam browser
memakai script PHP.
<font color="red">I love using PHP!</font>
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 19
Tag di atas digunakan untuk menampilkan teks ‘I love using PHP!’ berwarna merah.
Kira-kira bagaimana bentuk script PHP nya? Apakah seperti berikut ini?
<?php
echo "<font color="red">I love using PHP!</font>";
?>
Bila script di atas dijalankan di browser, maka akan ada pesan kesalahan. Mengapa
demikian? Ya… sebab string yang akan di’echo’ kan ada tanda petik dua (double
quotes).
Trus… bagaimana solusinya? Ada 2 solusi yang bisa digunakan. Solusi pertama adalah
ubahlah tanda double quotes pada "red" menjadi single quote 'red'.
<?php
echo "<font color='red'>I love using PHP!</font>";
?>
Cara yang kedua, tambahkan tanda backslash di depan setiap double quotesnya.
<?php
echo "<font color=\"red\">I love using PHP!</font>";
?>
Menyisipkan Komentar dalam Script PHP
Seperti halnya bahasa pemrograman yang lain, komentar dalam suatu kode PHP
tidak akan dieksekusi atau diproses. Biasanya komentar digunakan untuk memberikan
deskripsi tentang script secara keseluruhan atau memberikan penjelasan pada baris
perintah tertentu.
ada dua cara memberikan komentar dalam PHP, yaitu
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 20
• memakai tanda // di depan teks komentar. Perintah ini hanya bisa
berlaku untuk komentar dalam satu baris
• memakai tanda /* di depan teks komentar dan diakhiri dengan */.
Perintah ini dapat digunakan untuk komentar yang terdiri lebih dari satu baris.
Contoh:
<?php
echo "Hello World!"; // perintah ini akan mencetak Hello World!
?>
Contoh yang lain:
<?php
/*
Berikut ini adalah perintah
untuk menampilkan teks Hello World
pada browser
*/
echo "Hello World!";
?>
Contoh yang lain:
<?php
// Berikut ini adalah perintah
// untuk menampilkan teks Hello World
// pada browser
echo "Hello World!";
?>
Assignment & Operator Aritmatika
Pada bab ini akan dijelaskan lebih mendalam mengenai proses assignment serta
pengenalan beberapa operator aritmatika.
Assignment
Seperti yang telah disinggung pada bab sebelumnya (Bab IV) bahwa proses pemberian
suatu nilai kepada suatu variabel diistilahkan ‘assignment’. Tinjau kembali script yang
telah diberikan sebelumnya pada Bab IV berikut ini
<?php
$teks = "Hello World!";
$sebuah_bilangan = 4;
$bilanganYangLain = 8.567;
$teks2 = $teks;
echo $teks;
echo "<br />" . $sebuah_bilangan;
echo "<br />Isi dari variabel \$bilanganYangLain : " . $bilanganYangLain;
echo "<br />Isi dari variabel \$teks2 adalah : " . $teks2;
?>
Statement-statement yang saya blok tebal (bold) ini merupakan contoh
assignment. Apakah proses assignment hanya berupa bentuk ini ? Yaitu
$namaVariabel = nilai; saja? Ternyata tidak hanya bentuk ini . Kita juga bisa
membuat proses assignment ke dalam bentuk lain, misalnya:
<?php
$a = ($b = 4) + 5;
?>
Wah… apa tuh maksudnya? Statement ini bermakna : Nilai $a adalah 9, yaitu
diperoleh dari $b + 5, dimana $b diassign dengan 4. Dengan demikian sebuah statement
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 22
ini langsung memuat 2 buah proses assignment, yaitu assignment untuk variabel
$a dan $b sekaligus.
Untuk membuktikan apakah benar nilai $a sekarang 9 dan $b adalah 4, coba tampilkan
ke browser nilai kedua variabel ini . Bisa kan?
Catatan:
Proses assignment memiliki prinsip timpa-menimpa. Wah kok lucu banget istilahnya ☺
Maksudnya adalah, misalkan awalnya kita assign suatu variabel dengan nilai tertentu,
katakanlah X. lalu variabel tadi kita assign lagi dengan nilai yang baru, misalkan
Y, maka nilai X yang sebelumnya tersimpan akan hilang, ibaratnya ditimpa dengan nilai
Y.
Sebagai bukti akan hal ini, coba jalankan script berikut ini
<?php
$a = 10;
$a = 9;
echo "Nilai variabel \$a adalah : " . $a;
?>
Sebelum Anda lihat hasilnya di browser, coba kira-kira menurut Anda akan muncul apa
di browser? Trus… coba bandingkan hasil perkiraan Anda tadi dengan apa yang muncul
di browser.
Catatan :
Wah… lagi-lagi catatan nih… ☺ Satu lagi catatan yang perlu kita tahu, bahwa jangan
pedulikan tipe data dari nilai yang diassign ke variabelnya. Secara otomatis tipe data
variabel akan menyesuaikan tipe data dari nilai yang diassign-kan. Bingung ya… ??? ☺
Maksudnya begini, misalkan mula-mula kita assign suatu variabel dengan nilai X yang
berupa bilangan bulat. Maka dalam hal ini, tipe data variabel ini juga bilangan
bulat (integer). lalu kita assign lagi variabel ini dengan nilai berupa string,
katakanlah Y. Maka secara otomatis tipe data variabel ini akan menjadi string. Tipe data
integer sebelumnya tidak berlaku lagi.
Sebagai gambaran, coba jalankan script berikut ini:
<?php
$a = 10;
// mengecek apakah variabel $a bertipe string atau bukan
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 23
// jika $a string, maka tampilkan ‘$a bertipe string’
// jika $a bukan string, maka tampilkan ‘$a bukan string’
if (is_string($a)) echo "\$a bertipe string<br>";
else echo "\$a bukan string<br>";
$a = "Pemrograman PHP is OK";
// mengecek apakah variabel $a bertipe string atau bukan
// jika $a string, maka tampilkan ‘$a bertipe string’
// jika $a bukan string, maka tampilkan ‘$a bukan string’
if (is_string($a)) echo "\$a bertipe string<br>";
else echo "\$a bukan string<br>";
?>
Mmm.. mohon jangan pedulikan dahulu statement if() di atas, serta perintah is_string().
Fokus Anda adalah mengerti maksud script di atas dan tujuan dari penjelasan ini.
Ketika $a diassign dengan 10, maka script akan memunculkan ‘$a bukan string’. Setelah
$a ini diassign kembali dengan nilai suatu string, maka script berikutnya memunculkan
‘$a bertipe string’.
Operator Aritmatik
Dalam bahasa pemrograman secara umum, operator digunakan untuk
memanipulasi atau melakukan proses perhitungan pada suatu nilai. Ada beberapa
macam operator yang bisa digunakan, diantaranya adalah operator aritmatik, operator
penggabungan string dan operator logika.
Untuk operator penggabungan string, sudah pernah kita gunakan di Bab IV yaitu
memakai tanda dot (.). Operator logika akan kita bahas pada bab berikutnya sebab
sering digunakan pada statement kontrol. Fokus kita sekarang adalah pada operator
aritmatik.
Operator aritmatik digunakan untuk operasi perhitungan yang melibatkan nilai berupa
bilangan. Namun bisa pula diberikan pada string, namun string yang berupa bilangan.
Ada beberapa macam operator aritmatik, diantaranya adalah
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 24
Operator Makna Contoh
+ Penjumlahan 2 + 4
- Pengurangan 6 - 2
* Perkalian 5 * 3
/ Pembagian 15 / 3
% Modulus/sisa hasil bagi 43 % 10
Contoh script:
<?php
$penjumlahan = 2 + 4;
$pengurangan = 6 - 2;
$perkalian = 5 * 3;
$pembagian = 15 / 3;
$modulus = 5 % 2;
echo "Hasil: 2 + 4 = " . $penjumlahan."<br>";
echo "Hasil: 6 - 2 = " . $pengurangan."<br>";
echo "Hasil: 5 * 3 = " . $perkalian."<br>";
echo "Hasil: 15 / 3 = " . $pembagian."<br>";
echo "Hasil: 5 % 2 = " . $modulus;
?>
Tingkat Presedensi
Harap hati-hati dalam memakai operator aritmatik, terutama jika kita
memakai lebih dari satu operator yang berbeda dalam satu statement perhitungan,
sebagai contoh script berikut ini:
<?php
$a = 3 + 4 * 5 – 6;
echo $a;
?>
jika script di atas dijalankan, maka hasil yang muncul bukan 29, tapi 17. Mengapa
demikian? Ya… sebab operasi aritmatik yang dikerjakan terlebih dahulu adalah
perkalian (*). Mengapa? Perkalian memiliki tingkat presedensi yang lebih tinggi daripada
+ dan -. Setelah perkalian dikerjakan, trus… yang dikerjakan operasi yang mana lagi? +
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 25
atau -. Keduanya, + dan -, memiliki tingkat presedensi yang sama. Nah… kalo demikian,
maka yang dikerjakan lebih dahulu adalah yang terletak di bagian yang lebih kiri, yaitu +.
Bagaimana dengan operator pembagian (/)? Operator ini memiliki tingkat presedensi
yang sama dengan (*). Keduanya memiliki tingkat presedensi yang lebih tinggi daripada
+ dan -. Sedangkan operator modulo (%) levelnya juga sama dengan * dan /.
Trus… dari script di atas, misalkan kita ingin yang dikerjakan adalah yang penjumlahan
terlebih dulu bagaimana caranya? Ya… seperti dalam pelajaran matematika di SD, kita
berikan tanda kurung.
<?php
$a = (3 + 4) * 5 – 6;
echo $a;
?>
Paham ya… ???
Kombinasi Operator Aritmatik dan Assignment
Selain bentuk operator aritmatik yang dibahas sebelumnya, ada juga operator yang
merupakan kombinasi antara operator aritmatik dengan assignment.
Dalam pemrograman seringkali dijumpai proses yang melibatkan proses increment
(kenaikan nilai). Misalkan kita menginginkan proses increment dengan tingkat kenaikan
1, maka perintah yang dituliskan dapat berupa
$counter = $counter + 1;
Maksud dari perintah di atas adalah, nilai variabel $counter yang baru diperoleh dari
nilai $counter yang lama ditambah 1.
dalam PHP, perintah di atas dapat ditulis dalam satu perintah singkat sebagai
$counter += 1;
Dari contoh di atas tampak bahwa operator yang digunakan (+=) merupakan
gabungan dari operator aritmatik dan assignment. Berikut ini adalah bentuk-bentuk
operator lain jenis ini.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 26
Operator Contoh Operasi yang ekuivalen
+= $x += 2; $x = $x + 2;
-= $x -= 4; $x = $x - 4;
*= $x *= 3; $x = $x * 3;
/= $x /= 2; $x = $x / 2;
%= $x %= 5; $x = $x % 5;
.= $my_str.="hello"; $my_str = $my_str . "hello";
Operator Pre/Post Increment dan Decrement
Operator jenis ini merupakan pengembangan dari operator jenis sebelumnya. Operator
ini hanya digunakan pada proses increment maupun decrement dengan tingkat 1.
Berikut ini adalah operator yang termasuk jenis ini:
• $x++;
ekuivalen dengan $x += 1; atau $x = $x + 1;
• $x--;
ekuivalen dengan $x -= 1; atau $x = $x – 1;
Contoh:
<?php
$x = 4;
$x++;
echo "Nilai x yang baru : ". $x;
$x = 4;
$x--;
echo "Nilai x yang baru : ". $x;
?>
Studi Kasus Lain:
1. Menghitung komisi salesman (Script 5.1)
2. Menghitung gaji bersih seorang karyawan (Script 5.2)
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 27
3. Mengkonversi waktu tempuh ke dalam satuan detik (Script 5.3)
4. Mengkonversi jumlah detik ke satuan jam-menit-detik (Script 5.4)
5. Menghitung selisih dua buah waktu (Script 5.5)
Tugas Untuk Anda
Tugas 1
Ada seorang nasabah bank yang menabung di bank X dengan saldo awal Rp. 1.000.000,-.
Bank X menerapkan kebijakan bunga 3% perbulan dari saldo awal tabungan. Hitunglah
jumlah saldo akhir nasabah ini setelah 11 bulan. Lengkapilah script berikut ini
untuk mengerjakan kasus ini!
<?php
$saldoAwal = 1000000;
$bunga = 0.03;
$bulan = 11;
$saldoAkhir = …;
echo "Saldo akhir setelah ".$bulan." bulan adalah : Rp. ".$saldoAkhir. ",-";
?>
Tugas 2
Lengkapi script berikut ini untuk menampilkan hasil bagi bilangan 100 dengan 3 beserta
sisanya.
<?php
$bilangan = 100;
$pembagi = 3;
.
.
.
echo $bilangan." dibagi dengan ".$pembagi. " adalah ".$hasilBagi." sisa ".$sisaBagi;
?>
Tampilan outputnya:
“100 dibagi dengan 3 adalah 33 sisa 1”
Tugas 3
Ibu ingin mengambil uang tabungan sejumlah Rp. 1.575.250,- yang dimilikinya di sebuah
bank. Misalkan pada saat itu uang pecahan yang berlaku adalah Rp. 100.000,-; Rp.
50.000,-; Rp. 20.000,-; Rp. 5.000,-; Rp. 100,- dan Rp. 50. Dengan memakai script
PHP, tentukan banyaknya masing-masing uang pecahan yang diperoleh ibu tadi!
Lengkapi script berikut:
<?php
$jumlahUang = 1575250;
.
.
.
echo "Jumlah Rp. 100.000 : ".$a. "<br />";
echo "Jumlah Rp. 50.000 : ".$b. "<br />";
echo "Jumlah Rp. 20.000 : ".$c. "<br />";
echo "Jumlah Rp. 5.000 : ".$d. "<br />";
echo "Jumlah Rp. 100 : ".$e. "<br />";
echo "Jumlah Rp. 50 : ".$f. "<br />";
?>
Keterangan :
$a adalah variabel yang menyatakan jumlah pecahan Rp. 100.000,-
$b adalah variabel yang menyatakan jumlah pecahan Rp. 50.000,-
$c adalah variabel yang menyatakan jumlah pecahan Rp. 20.000,-
$d adalah variabel yang menyatakan jumlah pecahan Rp. 5.000,-
$e adalah variabel yang menyatakan jumlah pecahan Rp. 100,-
$f adalah variabel yang menyatakan jumlah pecahan Rp. 50,-
Ketentuan Pengiriman Tugas:
Tugas dikirim dalam bentuk script yang dikompresi menjadi satu lalu dikirim ke email:
rosihanari@gmail.com dengan subject: TUGAS-BAB 5 KURSUS (nama anda)
POST dan GET Request
Pada bab sebelumnya, kita telah mengenal proses assignment. Anda dapat mengassign
suatu nilai kepada suatu variabel. Proses assignment yang telah kita pelajari adalah
dengan cara memberikan perintah sbb:
$namaVariabel = nilai;
Di dalam scriptnya secara langsung. Misalnya:
<?php
$bilangan1 = 2;
$bilangan2 = 6;
$jumlah = $bilangan1 + $bilangan2;
echo "Hasil penjumlahannya adalah ".$jumlah;
?>
Nah… sekarang kita coba kembangkan sedikit. Pada script di atas kita hanya bisa
menjumlahkan bilangan 2 dan 6. Kalaupun kita ingin menjumlahkan bilangan yang lain,
maka kita harus mengedit scriptnya dan mengubah kedua bilangan. Sekarang…
bagaimana kalau kita kembangkan script di atas supaya bisa menjumlahkan bilangan-
bilangan lain tanpa mengubah scriptnya supaya lebih interaktif.
Untuk bisa melakukan hal di atas, Anda terlebih dahulu harus telah memahami POST
dan GET Request.
POST Request
POST request adalah proses mengirim data (submit) melalui form yang berasal dari
(X)HTML. sebab PHP adalah bahasa program atau scripting, maka PHP bisa digunakan
untuk menerima data hasil submit ini . Data yang diterima nantinya bisa diproses
dalam script PHP.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 30
Untuk menerima data dari proses submit form dalam PHP, kita gunakan statement
assignment berikut ini.
$namaVariabel = $_POST['nama komponen dalam form'];
Dalam hal ini, nama variabel boleh sama atau tidak sama dengan nama komponen
dalam form. Namun… sangat disarankan, Anda membuat nama variabel yang berbeda
dari nama komponen formnya untuk mencegah hal-hal yang tidak diinginkan, misalnya
hacking.
Perhatikan contoh berikut ini:
Dalam contoh ini, kita coba membuat form HTML yang di dalamnya ada dua
komponen input dua buah bilangan.
input.htm
<html>
<head>
<title>Contoh Request POST</title>
</head>
<body>
<h1>Input dua bilangan</h1>
<form method="post" action="proses.php">
Masukkan Bilangan 1 <input type="text" name="bil1" /><br />
Masukkan Bilangan 2 <input type="text" name="bil2" /><br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
Pada form di atas dapat kita lihat bahwa ada dua komponen dalam form, yang
masing-masing memiliki nama ‘bil1’ dan ‘bil2’ (perhatikan atribut name="…" pada
komponen). Keduanya kebetulan merupakan komponen form berbentuk text box.
lalu , perhatikan bagian atribut action="proses.php". Apa maksud dari atribut
ini ? Atribut ini memiliki makna bahwa jika tombol submit ini diklik, maka
data yang diisikan pada form nantinya akan dikirim dan diolah pada script bernama
proses.php.
Sekarang, kita coba buat script proses.php nya. Dalam script ini, kita coba untuk
membaca nilai yang diisikan ke dalam form di atas, lalu menampilkannya ke browser.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 31
proses.php
<?php
$bilangan1 = $_POST['bil1'];
$bilangan2 = $_POST['bil2'];
echo "<p>Anda telah memasukkan bilangan pertama = ".$bilangan1. "</p>";
echo "<p>Anda telah memasukkan bilangan kedua = ".$bilangan2. "</p>";
?>
Anda juga menggabungkan script di atas dengan struktur XHTML yang lebih lengkap
seperti di bawah ini
proses.php
<?php
$bilangan1 = $_POST['bil1'];
$bilangan2 = $_POST['bil2'];
?>
<html>
<head>
<title>Contoh Request POST</title>
</head>
<body>
<h1>Input dua bilangan</h1>
<?php
echo "<p>Anda telah memasukkan bilangan pertama = ".$bilangan1. "</p>";
echo "<p>Anda telah memasukkan bilangan kedua = ".$bilangan2. "</p>";
?>
</body>
</html>
Selain cara di atas yaitu menyimpan nilai dari $_POST[] ke variabel tertentu, Anda dapat
pula langsung memakai $_POST[] untuk diproses tanpa disimpan ke variabel
tertentu. Perhatikan contoh berikut ini
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 32
proses.php
<html>
<head>
<title>Contoh Request POST</title>
</head>
<body>
<h1>Input dua bilangan</h1>
<?php
echo "<p>Anda telah memasukkan bilangan pertama = ".$_POST['bil1']. "</p>";
echo "<p>Anda telah memasukkan bilangan kedua = ".$_POST['bil2']. "</p>";
?>
</body>
</html>
Sekarang kita tinjau contoh kedua. Pada contoh pertama kita buat script proses.php
hanya sekedar menampilkan dua bilangan yang diinputkan pada form. lalu kita
buat script berikutnya, misalkan masih tetap sama nama filenya yaitu proses.php akan
tetapi digunakan untuk menampilkan hasil penjumlahan dua bilangan yang diinputkan
tadi.
Adapun konsepnya hampir sama, yaitu pertama baca terlebih dahulu bilangan-
bilangannya lalu jumlahkan keduanya dan hasil penjumlahannya kita tampilkan.
proses.php
<?php
$bilangan1 = $_POST['bil1'];
$bilangan2 = $_POST['bil2'];
$jumlah = $bilangan1 + $bilangan2;
?>
<html>
<head>
<title>Contoh Request POST</title>
</head>
<body>
<h1>Input dua bilangan</h1>
<?php
echo "<p>Anda telah memasukkan bilangan pertama = ".$bilangan1. "</p>";
echo "<p>Anda telah memasukkan bilangan kedua = ".$bilangan2. "</p>";
echo "<p>Hasil penjumlahannya adalah ".$jumlah. "</p>";
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 33
?>
</body>
</html>
GET Request
jika POST request adalah proses merequest data melalui form, maka GET request
adalah melalui URL.
Terkadang ketika browsing di internet, kita temukan URL atau link yang berbentuk
misalnya seperti berikut ini
http://situs.com/script.php?a=4&b=6
Perhatikan bagian URL yang saya kasih bold ini . Bagian ini dinamakan
parameter. Konsep GET Request pada prinsipnya mirip dengan POST. Nah… pada contoh
URL di atas maksudnya adalah mensubmit atau mengirim data ke script bernama
script.php. Apa yang dikirim? Yang dikirim adalah nilai a = 4 dan b = 6. Nilai yang dikirim
ini nantinya akan dijadikan sebagai input pada proses yang terjadi di script.php.
lalu bagaimana membaca input dari GET request ini ? Caranya adalah
memakai $_GET['nama parameter'];
Akan saya berikan contoh script untuk menjumlahkan dua buah bilangan yang diinput
melalui GET request.
proses.php
<?php
$bilangan1 = $_GET['bil1'];
$bilangan2 = $_GET['bil2'];
$jumlah = $bilangan1 + $bilangan2;
?>
<html>
<head>
<title>Contoh Request GET</title>
</head>
<body>
<h1>Input dua bilangan</h1>
<?php
echo "<p>Anda telah memasukkan bilangan pertama = ".$bilangan1. "</p>";
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 34
echo "<p>Anda telah memasukkan bilangan kedua = ".$bilangan2. "</p>";
echo "<p>Hasil penjumlannya adalah ".$jumlah. "</p>";
?>
</body>
</html>
Lantas bagaimana menjumlahkan dua bilangan memakai script di atas yang
memakai GET request? Caranya cukup mengetikkan URL berikut ini
http://localhost/proses.php?bil1=100&bil2=150
URL di atas akan menjumlahkan dua bilangan yaitu 100 (bil1) dan 150 (bil2).
Catatan:
Tanda ampersand (&) digunakan untuk memisahkan antar parameter.
Anda juga menjalankan script di atas melalui sebuah link.
jumlah.htm
<html>
<head>
<title>Contoh Request GET</title>
</head>
<body>
<a href='http://localhost/proses.php?bil1=100&bil2=150'>Klik di sini</a>
</body>
</html>
Studi Kasus yang Lain
1. Script untuk membaca input yang berasal dari berbagai komponen form (Script
6.1)
2. Script menghitung komisi salesman berdasarkan nilai penjualannya yang diinput
melalui form (Script 6.2)
3. Script menghitung selisih waktu dalam detik dari 2 buah waktu yang diinput
melalui form (Script 6.3)
Tugas Untuk Anda
1. Kembangkanlah script yang telah diberikan pada Tugas 1 Modul 5 dengan
menambahkan form input untuk memasukkan saldo awal, besar bunga perbulan
dan juga lama bulan. Jangan lupa untuk menambahkan tombol submit dan reset.
jika tombol submit diklik, maka semua data input akan diproses ke script PHP
untuj diolah menghasilkan saldo akhir pada bulan tertentu.
2. Analog soal no. 1. Terapkan pada soal Tugas 2 Modul 5
3. Analog soal no. 1 dan 2. Terapkan pada soal Tugas 3 Modul 5
4. Rancanglah sebuah form untuk pendaftaran online mahasiswa baru dalam
universitas X. Data yang nantinya dimasukkan dalam form pendaftaran adalah:
Nama Lengkap (text box), Tempat Lahir (text box), Tanggal Lahir (gunakan 3 buah
combo box masing-masing untuk tanggal: 1-31, bulan: 1-12 dan tahun: 1970-
1987), Alamat Rumah (text area), Jenis Kelamin (gunakan radiobutton: pria/
wanita), Asal Sekolah (text box), Nilai UAN (text box). Tambahkan pula sebuah
button dan reset.
jika data sudah diisi dan lalu diklik tombol submit, maka kirim data
ke sebuah script PHP untuk menampilkan apa yang telah diisikan dalam form
tadi.
Contoh output script bila nama yang diisikan adalah ‘Joko’.
Terimakasih Joko sudah mengisi form pendaftaran.
Nama Lengkap : Joko
Tempat Lahir : XXX
Tanggal Lahir : TGL-BLN-THN
Alamat Rumah : XXX
Jenis Kelamin : Pria
Asal Sekolah : XXX
Nilai UAN : XXX
5. Setelah Anda selesai membuat script dan form pada no. 4 di atas, coba ubah
method=’post’ pada formnya menjadi method=’get’. Ubah pula $_POST[] dalam
script PHP nya menjadi $_GET[]. Masih bisakah scriptnya bekerja? Coba amati
efek perubahan ini dan jelaskan apa akibat diberikannya method=’get’
pada form?
Statement Kontrol – IF
Sekarang kita masuk ke bab yang sangat penting dalam programming yaitu statement
kontrol. Mengapa sangat penting? Ya… sebab dengan statement ini kita bisa
mengontrol aliran program/script.
Pada contoh-contoh script yang sudah saya berikan dalam bab-bab sebelumnya hanya
terdiri dari satu aliran program saja, yaitu top – down. Artinya top – down apa? Artinya
setiap perintah yang ada dijalankan satu-persatu mulai dari atas sampai dengan paling
bawah, dan selesai. Kita ambil contoh script PHP berikut ini yang digunakan untuk
menampilkan luas sebuah persegi panjang dengan panjang 10 satuan luas dan lebar 15
satuan luas.
<?php
$panjang = 10;
$lebar = 15;
$luas = $panjang * $lebar;
echo "Luas persegi panjang = " . $luas . " satuan luas";
?>
Script di atas memakai sebuah aliran saja. Pertama jalankan perintah paling atas
($panjang = 10;), lalu jalankan perintah kedua ($lebar = 15), kemudian jalankan perintah
untuk menghitung luas, dan terakhir tampilkan luasnya, selesai.
Namun… tidak semua script/program hanya terdiri dari sebuah aliran saja yang
sederhana seperti di atas. Terkadang atau bahkan sering nantinya kita membuat script
yang di dalamnya ada perintah yang harus diulang-ulang sampai berapa kali,
terkadang juga ada perintah yang hanya dijalankan pada kondisi atau berdasarkan
syarat tertentu saja. Hal ini kita bisa atur dengan memakai statement kontrol.
Dalam dunia pemrograman umumnya, ada 2 jenis statement kontrol yaitu:
statement kontrol kondisional (bersyarat) dan statement kontrol perulangan (looping).
Statement kontrol kondisional adalah statement kontrol yang digunakan untuk
mengatur kapan suatu perintah akan dijalankan. Dengan statement ini kita bisa
mengatur kapan suatu perintah akan dijalankan, yaitu ketika telah dipenuhinya suatu
syarat tertentu.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 38
Sedangkan statement kontrol perulangan digunakan untuk mengatur perintah yang
dijalankan secara berulang-ulang.
Dalam PHP, ada dua buah statement kontrol yang termasuk statement kontrol
kondisional, yaitu IF dan CASE OF. Sedangkan yang termasuk statement kontrol
perulangan adalah: FOR, WHILE, DO WHILE dan FOREACH.
Untuk mempermudah pembahasan masing-masing statement kontrol ini , akan
dibahas secara bab per bab saja. Nah… pada bab 7 ini pembahasan hanya difokuskan
pada statement kontrol IF. … are u ready to learn? ☺
OK… pembahasan tentang IF ini akan saya mulai dari pertanyaan berikut ini
Apa yang Anda pahami bila menjumpai pernyataan di bawah ini?
Jika sore ini hujan, maka saya akan menghabiskan waktu di rumah.
Pernyataan di atas mengandung sebab akibat. Bila Anda lihat, keterangan ‘sore ini
hujan’ adalah merupakan suatu syarat. Apa akibatnya bila syarat ini terpenuhi?
Ya… ‘saya akan menghabiskan waktu di rumah’. Dengan demikian, ‘saya akan
menghabiskan waktu di rumah’ ini hanya akan dilakukan jika syaratnya terpenuhi
atau ‘sore ini hujan’.
Dalam dunia logika, istilah ‘terpenuhinya suatu syarat’ dapat dikatakan sebagai ‘syarat
ini bernilai BENAR atau TRUE’.
Nah… bentuk pernyataan ‘jika… maka…’ pada contoh di atas dapat diadopsi dalam
programming. Untuk menyatakan pernyataan ini dalam programming, khususnya
PHP, kita bisa memakai statement kontrol IF
Adapun sintaks atau aturan penulisan IF nya adalah sebagai berikut:
if (syarat)
{
statement;
}
Catatan: Kata ‘if’ harus ditulis dalam huruf kecil semua.
Dalam sintaks di atas, bagian ‘statement’ akan dijalankan atau dilakukan jika ‘syarat’
terpenuhi atau ‘syarat’ bernilai benar/true. Trus… bagaimana bila ‘syarat’ tidak
terpenuhi? Ya…bagian ‘statement’ tidak akan dijalankan atau dalam hal ini tidak
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 39
melakukan apa-apa. Dengan demikian, nilai ‘syarat’ haruslah hanya ada dua
kemungkinan, yaitu BENAR atau SALAH itu saja.
Operator Relasional
Terkadang untuk menyatakan suatu syarat, kita memakai operator pembanding
atau relasional. Hasil pemakaian operator relasional ini akan diperoleh nilai BENAR
atau SALAH. Berikut ini beberapa operator relasional yang dapat digunakan
Simbol Makna
< Lebih kecil dari
> Lebih besar dari
>= Lebih besar atau sama dengan
<= Lebih kecil atau sama dengan
== Sama dengan
!= Tidak sama dengan
Perhatikan contoh pemakaian operator relasional pada statement IF berikut ini
<?php
$bil = 10;
if ($bil > 5)
{
echo "Bilangan lebih besar dari 5";
}
?>
Pada script di atas, nilai dari variabel $bil adalah 10. lalu ada statement IF
yang di dalamnya ada syarat: jika nilai $bil lebih besar dari 5, maka tampilkan teks
‘Bilangan lebih besar dari 5’. Dalam hal ini syarat bernilai BENAR, sebab 10 > 5. sebab
syarat bernilai BENAR, maka perintah echo " Bilangan lebih besar dari 5"; akan
dijalankan.
Namun.. coba perhatikan contoh script berikut ini:
<?php
$bil = 10;
if ($bil == 5)
{
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 40
echo "Bilangan sama dengan 5";
}
?>
Pada script di atas, syarat bernilai SALAH, sebab 10 tidak sama dengan 5. Dengan
demikian perintah echo "Bilangan sama dengan 5"; tidak akan dijalankan.
Operator Logika
Untuk menyatakan suatu syarat, kita dapat memakai operator logika. Ketika Anda
menempuh sekolah SMA kelas 1, tentu Anda pernah belajar tentang logika dalam
matematika. Masih ingatkah Anda dengan operator DAN, ATAU dan juga NEGASI, serta
tabel kebenaran BENAR-SALAH? Ya… jangan dikira materi ini tidak ada gunanya.
Materi ini akan dipakai dalam konsep pemrograman.
Dalam pemrograman PHP, ada beberapa operator logika yang bisa digunakan:
Operator Makna
&& AND
|| OR
! Negasi
Sedangkan berikut ini tabel kebenaran dari masing-masing operator
Tabel hasil operasi logika AND
Operand 1 Operand 2 Hasil
BENAR BENAR BENAR
BENAR SALAH SALAH
SALAH BENAR SALAH
SALAH SALAH SALAH
Tabel hasil operasi logika OR
Operand 1 Operand 2 Hasil
BENAR BENAR BENAR
BENAR SALAH BENAR
SALAH BENAR BENAR
SALAH SALAH SALAH
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 41
Tabel hasil operasi logika Negasi (NOT)
Operand Hasil
BENAR SALAH
BENAR SALAH
SALAH BENAR
SALAH BENAR
Contoh pemakaian operator logika
<?php
$hobi = "makan";
if (($hobi == "makan") || ($hobi == "ngemil"))
{
echo "Awas… jangan banyak-banyak, ntar kebanyakan kolesterol<br />";
echo "Serta banyak olahraga ya…";
}
?>
Pada script di atas, nilai $hobi adalah "makan", sedangkan untuk syarat ada dua
keadaan yaitu $hobi == "makan" serta $hobi == "ngemil". Diantara kedua keadaan
ini ada operator OR. Keadaan pertama dalam hal ini bernilai BENAR
sedangkan keadaan kedua bernilai SALAH. Sehingga jika kita lihat tabel kebenaran,
BENAR OR SALAH dihasilkan BENAR. Dengan demikian syarat bernilai BENAR dan
akibatnya perintah echo "Awas… jangan banyak-banyak, ntar kebanyakan kolesterol";
akan dijalankan.
Bentuk IF yang lain
Selain bentuk IF di atas, ada pula bentuk IF seperti di bawah ini
if (syarat)
{
statement 1
}
else
{
statement 2
}
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 42
Bentuk if IF di atas, statement 1 akan dijalankan jika nilai ‘syarat’ adalah BENAR.
Sedangkan bila ‘syarat’ bernilai SALAH maka yang dijalankan adalah statement 2.
Contoh script:
<?php
$bil = 10;
if ($bil == 10)
{
echo "Bilangan sama dengan 10";
}
else
{
echo "Bilangan tidak sama dengan 10";
}
?>
Script di atas akan menampilkan "Bilangan sama dengan 10". Sekarang perhatikan script
berikut ini
<?php
$bil = 12;
if ($bil == 10)
{
echo "Bilangan sama dengan 10";
}
else
{
echo "Bilangan tidak sama dengan 10";
}
?>
Script di atas akan menampilkan "Bilangan tidak sama dengan 10".
Selain bentuk kedua IF di atas, ada pula bentuk IF seperti di bawah ini:
if (syarat 1)
{
Statement 1;
}
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 43
else if (syarat 2)
{
Statement 2
}
else if (syarat 3)
{
Statement 3
}
.
.
else {
Statement X
}
Pada bentuk IF di atas, Statement 1 akan dijalankan jika ‘syarat 1’ bernilai BENAR.
Jika ‘syarat 1’ bernilai SALAH, maka akan dicek ‘syarat 2’. Jika ‘syarat 2’ BENAR maka
akan dijalankan Statement 2, begitu seterusnya. Dan jika ternyata tidak ada satupun
syarat yang terpenuhi, barulah Statement X akan dikerjakan.
Contoh script:
<?php
$nilai = 70;
if ($nilai > 50)
{
echo "Nilai lebih besar dari 50";
}
else if ($nilai < 50)
{
echo "Nilai lebih kecil dari 50";
}
else
{
echo "Nilai sama dengan 50";
}
?>
Script di atas akan menghasilkan "Nilai lebih besar dari 50" sebab syarat ‘$nilai > 50’
bernilai BENAR. Begitu ada syarat yang bernilai benar, maka syarat yang terletak di
bawahnya tidak akan dicek.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 44
lalu bagaimana dengan script berikut ini?
<?php
$nilai = 50;
if ($nilai > 50)
{
echo "Nilai lebih besar dari 50";
}
else if ($nilai < 50)
{
echo "Nilai lebih kecil dari 50";
}
?>
Pada script di atas, syarat ‘$nilai > 50’ bernilai SALAH. sebab syarat ini bernilai SALAH,
maka lalu akan dicek syarat ‘$nilai < 50’. Syarat inipun juga SALAH. Dengan
demikian hasil script di atas tidak akan muncul apa-apa, sebab dalam hal ini tidak
ada alternatif terakhir ‘else’. Beda halnya pada script berikut ini:
<?php
$nilai = 50;
if ($nilai > 50)
{
echo "Nilai lebih besar dari 50";
}
else if ($nilai < 50)
{
echo "Nilai lebih kecil dari 50";
}
else
{
echo "Nilai sama dengan 50";
}
?>
Pada script di atas, hasil dari script adalah "Nilai sama dengan 50".
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 45
Contoh-contoh Aplikasi Script dengan IF.
Script untuk menentukan apakah suatu huruf termasuk huruf vokal (asumsi: huruf
yang digunakan adalah kapital)
<?php
$huruf = "A";
if (($huruf == "A") || ($huruf == "I") || ($huruf == "U") || ($huruf == "E") ||
($huruf == "O"))
{
echo "Termasuk huruf vokal";
}
else
{
echo "Tidak termasuk huruf vokal";
}
?>
Script untuk mencari bilangan terbesar dari 3 buah bilangan: 6, 9 dan 10.
Bagaimana ide untuk mencari bilangan terbesar dari ketiga bilangan ini ? Idenya
adalah kita membandingkan setiap bilangannya.
Langkahnya:
1. Kita cari terlebih dahulu bilangan terbesar di antara bilangan pertama dan kedua
(misalkan dinamakan ‘max’)
Untuk mencari ‘max’ caranya dengan membandingkan bilangan pertama dengan
kedua.
Jika bilangan pertama > bilangan kedua, maka nilai ‘max’ adalah bilangan
pertama. Jika tidak, maka ‘max’ adalah bilangan kedua.
2. Setelah kita tahu bilangan terbesar di antara bilangan pertama dan kedua
(‘max’), langkah berikutnya kita cari bilangan terbesar di antara ‘max’ dengan
bilangan ketiga. Nilai terbesar dari ketiga bilangan adalah nilai yang terbesar di
antara bilangan ketiga dengan ‘max’.
Untuk mencari bilangan terbesar antara ‘max’ dengan bilangan ketiga, caranya
sama seperti langkah pertama.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 46
<?php
$bil1 = 6;
$bil2 = 9;
$bil3 = 10;
if ($bil1 > $bil2)
{
$max = $bil1;
}
else
{
$max = $bil2;
}
if ($max > $bil3)
{
$maxSemua = $max;
}
else
{
$maxSemua = $bil3;
}
echo "Nilai terbesar dari ketiga bilangan adalah ".$maxSemua;
?>
Script untuk mengilustrasikan proses login.
Script berikut ini akan mengilustrasikan proses login. Sebagai contoh, misalkan user
yang bisa login hanyalah user bernama ‘joko’ (password: ‘jokokusayang’) serta user
bernama ‘amir’ (password: ‘amirkusayang’).
Konsep login pada prinsipnya pengecekan nama user dan password saja. Jika nama user
dan passwordnya cocok maka login sukses.
Pertama kita buat terlebih dahulu form loginnya.
<form method="post" action="login.php">
Username <input type="text" name="username"> <br />
Password <input type="password" name="pass"> <br />
<input type="submit" name="submit" value="Submit">
</form>
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 47
lalu kita buat script login.php
<?php
$username = $_POST[‘username’];
$password = $_POST[‘pass’];
if ((($username == "joko") && ($password == "jokokusayang")) ||
(($username == "amir") && ($password == "amirkusayang")))
{
echo "Login sukses";
}
else
{
echo "Login gagal";
}
?>
Script di atas dapat kita pahami bahwa proses login akan sukses bila username yang
dimasukkan adalah ‘joko’ dan passwordnya ‘jokokusayang’, atau usernamenya ‘amir’
dan passwordnya ‘amirkusayang’. Dengan demikian, andaikan usernamenya benar,
misalkan ‘joko’, namun passwordnya salah, maka login juga gagal.
Script untuk mengkonversi nilai angka ke huruf.
Misalkan pada suatu universitas menerapkan kebijakan konversi dari nilai angka ke
huruf sebagai berikut:
Nilai Angka Nilai Huruf
80 s/d 100 A
70 s/d 79 B
60 s/d 69 C
50 s/d 59 D
0 s/d 49 E
Nah.. kita akan coba membuat script PHP untuk melakukan konversi ini .
Dalam hal ini, nilai angka yang diberikan 0 s/d 100. Dengan kata lain, konversi ke nilai
huruf ini akan dilakukan jika nilai angkanya 0 s/d 100. Untuk itu, dalam script yang
akan dibuat terlebih dahulu akan dilakukan pengecekan apakah nilai yang diberikan 0
s/d 100 atau tidak.
<?php
$nilaiAngka = 87;
if (($nilaiAngka < 0) || ($nilaiAngka > 100))
{
echo "Nilai angka yang diberikan salah";
}
else
{
if (($nilaiAngka >= 80) && ($nilaiAngka <= 100))
{
$nilaiHuruf = "A";
}
else if (($nilaiAngka >= 70) && ($nilaiAngka <= 79))
{
$nilaiHuruf = "B";
}
else if (($nilaiAngka >= 60) && ($nilaiAngka <= 69))
{
$nilaiHuruf = "C";
}
else if (($nilaiAngka >= 50) && ($nilaiAngka <= 59))
{
$nilaiHuruf = "D";
}
else if (($nilaiAngka >= 0) && ($nilaiAngka <= 49))
{
$nilaiHuruf = "E";
}
echo "Nilai hurufnya adalah ".$nilaiHuruf;
}
?>
Script di atas akan ekuivalen dengan script berikut ini
<?php
$nilaiAngka = 87;
if (($nilaiAngka < 0) || ($nilaiAngka > 100))
{
echo "Nilai angka yang diberikan salah";
}
else
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 49
{
if ($nilaiAngka >= 80)
{
$nilaiHuruf = "A";
}
else if ($nilaiAngka >= 70)
{
$nilaiHuruf = "B";
}
else if ($nilaiAngka >= 60)
{
$nilaiHuruf = "C";
}
else if ($nilaiAngka >= 50)
{
$nilaiHuruf = "D";
}
else if ($nilaiAngka >= 0)
{
$nilaiHuruf = "E";
}
echo "Nilai hurufnya adalah ".$nilaiHuruf;
}
?>
Statement SWITCH
SWITCH termasuk statement yang dapat dipergunakan untuk menyatakan suatu
pernyataan kondisional atau bersyarat seperti halnya IF.
Adapun sintaks secara umum statement SWITCH dalam PHP adalah sebagai berikut:
switch (var)
{
case value1 : statement A
.
.
break;
case value2 : statement B
.
.
break;
case value3 : statement C
.
.
break;
.
.
default : statement D
.
.
}
Maksud dari sintaks di atas adalah: dalam hal ini nilai yang ada pada variabel (’var’) akan
dicek. Diantara value – value yang ada sebagai pilihan, dalam hal ini value1, value2,
value3, … dst manakah yang sesuai dengan value yang dimiliki oleh ‘var’. Misalkan nilai
var = value1, maka blok yang ada di statement A lah yang dijalankan. Bila nilai var =
value2, maka blok statement B yang akan dijalankan. Namun bila tidak ada value yang
cocok, maka barulah blok yang ada dibagian DEFAULT (statement D) yang akan
dijalankan.
Catatan:
pemakaian option DEFAULT pada SWITCH adalah optional. Kita bisa untuk tidak
memberikan DEFAULT jika memang tidak diperlukan.
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 53
Bentuk sintaks SWITCH di atas ekuivalen dengan statement IF berikut ini
if (var == value1)
{
statement A
.
.
}
else if (var == value2)
{
statement B
.
.
}
else if (var == value3)
{
statement C
.
.
}
.
.
else
{
statement D
.
.
}
jika kita perhatikan dari konsep SWITCH, maka kita bisa menyimpulkan bahwa
proses pengecekan atau pengujian persyaratan yang terjadi hanyalah proses
perbandingan dalam bentuk ’sama dengan’ atau ‘==’.
SWITCH tidak bisa digunakan untuk kondisional yang di dalamnya ada proses
perbandingan seperti ‘lebih besar dari’, ‘lebih kecil dari’, ‘lebih kecil atau sama dengan’,
‘lebih besar atau sama dengan’ dan ‘tidak sama dengan’. Melihat hal ini memang
pemakaian statement IF untuk menyatakan kondisional lebih fleksibel daripada
SWITCH.
Trus… berarti SWITCH tidak lebih efektif daripada IF donk. Tentu tidak. Ada kelebihan
pada pemakaian SWITCH. Berikut ini kelebihannya:
Basic PHP Tutorial http://blog.rosihanari.net
Disusun oleh : Rosihan Ari Yuana 54
• Meskipun makna sintaks SWITCH dan IF yang diberikan di atas adalah sama,
namun ada perbedaan dalam prosesnya.
Dalam SWITCH, persyaratan hanya diuji sekali saja. Diantara sekian pilihan value,
secara otomatis PHP akan menjalankan blok dimana valuenya cocok. Proses
pencarian value yang cocok ini tidak dimulai dari pilihan value paling atas namun
secara otomatis langsung menuju value yang cocok.
Sedangkan pada IF.. ELSE syarat diuji beberapa kali. Proses pengujian dimulai
dari syarat IF paling atas, jika tidak terpenuhi dicek dibagian IF bawahnya dst.
Akibatnya, jika script Anda sangat kompleks atau banyak memakai
pernyataan kondisional, pemakaian SWITCH akan menghasilkan proses yang
lebih cepat daripada IF.
• Selain itu, statement yang akan dikerjakan dalam SWITCH bisa kosong atau tidak
melakukan apa-apa. Contoh :
<?php
switch ($i) {
case 0:
case 1:
case 2:
echo





