PHP
PENGENALAN PHP
PHP merupakan bahasa server-side yang menyatu dengan tag HTML untuk membuat halaman web dinamis. Maksud dari server-side adalah sintaks dan perintah yang diberikan dan dijalankan sepenuhnya di server tetapi disertakan pada dokumen HTML. Pembuatan web ini merupakan gabungan atau kombinasi antara PHP sebagai bahasa pemrograman dan HTML sebagai pembangun halaman web. Ketika seorang pengguna internet membuka situs yang menggunakan bahasa server-side PHP, maka server akan memproses semua perintah PHP di server lalu mengirimkan hasiknya dalam format HTML ke web browser pengguna tadi. Dengan demikian seorang pengguna internet tidak dapat melihat kode program yang ditulis dalam PHP, sehingga keamanan lebih terjamin.
ASP juga merupakan bahasa server-side tetapi tidak seperti PHP, PHP merupakan software yang open source (gratis) dan mampu lintas platform, yaitu dapat digunakan dengan sistem operasi dan web server manapun. PHP mampu berjalan di Windows dan beberapa versi Linux. PHP juga dapat dibangun sebagai modul pada web server Apache dan sebagai binary yang dapat berjalan sebagai CGI.
PHP dapat mengirim HTTP header, dapat mengeset cookies, mengatur authentication dan redirect users. PHP menawarkan koneksitas baik dengan beberapa basis data antar lain Oracle, Sybase, mSQL, MySQL, Solid, ProstageSQL, Adabas, FilePro, Velocis, dBase, Unix dan semua database dengan anatarmuka ODBC. Juga dapat berinteraksi dengan beberapa library eksternal dari membuat dokumen PDF hingga mem-parse XML. PHP juga mendukung komunikasi dengan layanan lain melaui protokol IMAP, SNMP, NNTP, POP3 atau HTTP. Hampir seluruh web dapat dibuat dengan PHP, namun kekuatan utama adalah koneltivitas basis data dengan web. Dengan kemampuan ini anda akan mempunyai suatu sistem basis data yang dapat diakses dari web.
Untuk menulis perintah PHP ada beberapa cara, yaitu: 1. <?php ...[script PHP]... ?> 2. <? ...[script PHP]... ?> 3. <script language=”PHP”> ...[script PHP]... </script> 4. <% ...[script PHP]... %>
Cara pertama adalah cara penulisan yang dianjurkan, tetapi sebagian orang memilih cara yang kedua karena lebih ringkas. Cara yang ketiga adalah sebagai antisipasi editor dan web server jika tidak dapat menerima kedua cara diatas.
Sebelum memulai belajar PHP, terlebih dahulu silahkan anda instal PHP dan web server pada komputer anda, penulis menggunakan AppServ sebagai web server. Berikut adalah contoh sederhana pemakaian bahasa PHP yang disisipkan dalam tag HTML: Php01.php <html> <head> <title>PHP Pertama</title> </head> <body> <?
echo "ini ditulis dengan script PHP"; ?>
</body> </html>
Salin script diatas dan kemudian simpan di direktori www AppServ (C:\AppServ\www) dengan ekstensi .PHP, misalnya php01.php. kemudian pada address bar web browser anda ketikkan hostname komputer diikuti nama file. Sebagai
contoh, http://localhost/php01.php atau
Gb. 3.1: Tampilan scrip PHP sederhana.
TIPE DATA
Script PHP juga mengenal penggunaan tipe data, antara lain adalah integer, double dan string. Penulisan string selalu diawali dan diakhiri dengan penulisan tanda petik tunggal ( ‘ ).
Contoh penulisan tipe data pada PHP adalah sebagai berikut :
Tabel 3.1: Contoh penggunaan tipe data.
Tipe
Data Contoh Keterangan
Integer $jumlah=10; $hasil=36; Bilangan bulat Double $total=22.15; $nilai=89.60; Bilangan desimal String $nama=’Ardhiant’; $kota=’semarang’; Karakter, Kalimat atau
Kata
VARIABEL
Disetiap bahasa pemrograman pasti anda menemukan variabel. Variabel merupakan sebuah tempat di memori untuk menyimpan data yang nilainya berubah-ubah. Di PHP, anda tidak perlu mendeklarasikan variabel terlebih dahulu untuk menggunakannya. Dalam penulisan sebuah variabel di PHP, perlu anda ikuti aturan berikut ini:
1. Variabel dimulai dengan tanda dollar “$“.
2. Harus dimulai dengan tanda unnderscore “_“ atau huruf.
4. Bersifat case insensitive atau huruf besar dan huruf kecil berpengaruh dalam penggunaan variabel.
Berikut adalah contoh penulisan variabel:
Tabel 3.2: Contoh penulisan variabel.
Benar Salah $variabel $v@riabel $_pilihan $-pilihan $ardhiant07 $07ardhiant $jumlah_beli $jumlah-beli
OPERATOR ARITMATIKA
Operator ini digunakan untuk operasi yang berhubungan dengan fungsi aritmatika seperti penjumlahan, pengurangan, pembagian, perkalian dan modulus. Perhatikan tabel berikut :
Tabel 3.3 : Operator Aritmatika.
Operator Fungsi operasi + Penjumlahan - Pengurangan * Perkalian / Pembagian % Sisa Pembagian ++ Penambahan dengan 1 -- Pengurangan dengan 1
Perhatikan script PHP yang menggunakan operator aritmatika berikut ini:
Php02.php <html> <head> <title>Operator Aritmatika</title> </head> <body> <? $angka1=15; $angka2=3; $hasil=$angka1+$angka2;
print("hasil penjumlahan $angka1 dan $angka2 adalah $hasil <br>");
$hasil=$angka1-$angka2;
print("hasil pengurangan $angka1 dan $angka2 adalah $hasil <br>");
$hasil=$angka1*$angka2;
print("hasil perkalian $angka1 dan $angka2 adalah $hasil <br>");
$hasil=$angka1/$angka2;
print("hasil pembagian $angka1 dan $angka2 adalah $hasil <br>");
$hasil=$angka1%$angka2;
print("sisa hasil $angka1 dibagi $angka2 adalah $hasil"); ?>
</body> </html>
Gb. 3.2: Tampilan script PHP dengan Operator Aritmatika.
OPERATOR LOGIKA
Operator logika biasanya digunakan sebagai argumen pada struktur kendali yang digunakan untuk menentukan alur jalannya program dengan membandingkan logika TRUE atau FALSE. Logika TRUE didefinisikan dengan angka 1 (satu) dan FALSE dengan angka nol (0).
Tabel 3.4: Operator Logika
Operator Operasi
== Sama dengan
!= Tidak sama dengan
> Lebih besar
< Lebih kecil
>= Lebih besar sama dengan
AND atau && Logika AND
OR atau || Logikan OR
XOR Logika XOR
! Logika NOT
Contoh penggunaan operator logika ini dapat anda lihat pada contoh script pada pembahasan struktur kendali.
OPERATOR LAIN
Selain operator aritmatika dan logika, PHP masih mempunyai operator lain yang sering digunakan. Berikut adalah operator yang sering digunakan dalam script PHP.
Tabel 3.5: Operator lain.
Operator Arti
. Penggabungan string
= Penugasan/Pengisian nilai
$ Mengacu pada variabel
STRUKTUR KENDALI
Struktur kendali merupakan pengatur aliran program yang memiliki beberapa perintah yang harus ditulis untuk memenuhi beberapa keadaan, yaitu :
1. Perulangan perintah jika sebuah kondisi terpenuhi. 2. Melanjutkan perintah jika sebuah kondisi terpenuhi. 3. Memilih sebuah dari beberapa alternatif pilihan jika
kondisi terpenuhi.
Dapat dikatakan bahwa, struktur kendali dapat dibedakan menjadi dua yaitu perulangan (looping) dan percabangan.
PERCABANGAN
Struktur kendali percabangan adalah struktur kendali yang memungkinkan sebuah alur program meilih sebuah dari beberapa alternatif pilihan jika sebuah kondisi terpenuhi.
Terdapat tiga macam perintah percabangan dalam PHP, yaitu if, if ... else, dan switch.
PERCABANGAN DENGAN IF
Perintah ini digunakan untuk menjalankan sebuah atau lebih perintah jika sebuah kondisi terpenuhi. Sintaks penulisannya adalah sebagai berikut :
If (kondisi) {
Perintah atau pernyataan jika benar; }
Perhatikan contoh berikut ini : Php03.php <html> <head> <title>percabangan if</title> </head> <body> <? $nilai=10; $standar=5; If ($nilai > $standar) {
print("nilai diatas standar"); }
?>
</body> </html>
Gb. 3.3: Tampilan penggunaan struktur if.
PERCABANGAN DENGAN IF...ELSE
Perintah ini fungsinya sama seperti perintah diatas, hanya saja perintah ini dapat diunakan untuk menyeleksi kondisi lebih dari satu kondisi. Sintaks penulisannya sebagai berikut :
If (kondisi_1) {
Perintah atau pernyataan jika benar; }
Elseif (kondisi_2) {
Perintah atau pernyataan jika benar; }
... Else {
Perintah atau pernyataan jika kondisi sebelum-sebelumnyanya salah;
}
Berikut adalah contoh struktur kendali dengan satu else: Php04.php <html> <head> <title>percabangan if-else</title> </head> <body> <? $jam=9; if ($jam < 12) {
print("kurang dari jam 12"); }
else {
print("lebih dari jam 12"); }
?>
</body> </html>
Gb. 3.4: Tampilan penggunaan struktur if-else.
Berikut adalah contoh penggunaan struktur kendali dengan beberapa kondisi:
Php05.php <html> <head> <title>percabangan if-elseif-else</title> </head> <body> <? $jam=getdate(); if ($jam[hours] <= 12) { print("Selamat Pagi"); } elseif ($jam[hours] <= 15) { print("Selamat Siang"); } elseif ($jam[hours] <=19) { print("Selamat Sore"); } else { print("Selamat Malam"); } ?> </body> </html>
Gb. 3.5: Tampilan penggunaan struktur if-elseif-else.
PERCABANGAN DENGAN SWITCH
Perintah ini digunakan sebagai pengganti perintah if ... else. Dengan perintah ini, percabangan akan semakin mudah dibuat. Sintaks nya adalah sebagai berikut:
switch (kondisi) {
Case konstanta_1: Perintah atau pernyataan jika benar;break; Case konstanta_2: Perintah atau pernyataan jika benar;break; Case konstanta_n: Perintah atau pernyataan jika benar;break; Default: Perintah atau pernyataan default;
}
Perintah switch akan membandingkan kondisi dengan konstanta. Pembandingan akan dimulai dari konstanta ke-1 hingga terakhir. Jika kondisi yang diharapkan tidak ada yang sama dengan konstanta yang diberikan, maka akan dilaksanakan perintah default. Pernyataan break berfungsi untuk membawa proses keluar dari proses switch. Berikut adalah contoh penggunaan percabanga dengan switch:
Php06.php <html> <head> <title>percabangan switch</title> <body> <? $day=date("l"); switch ($day) {
case "Monday": $hari="senin";break; case "Tuesday": $hari="selasa";break; case "Wednesday": $hari="rabu";break; case "Thursday": $hari="kamis";break; case "Friday": $hari="jum`at";break; case "Saturday": $hari="sabtu";break; default:
$hari="minggu"; }
print("hari ini adalah : $hari"); ?>
</body> </html>
Gb. 3.6: Tampilan penggunaan struktur switch.
PERULANGAN
Digunakan untuk mengulang suatu perintah sebanyak yang diinginkan tanpa harus ditulis ulang. Bahasa PHP mengenal beberapa jenis perulangan yaitu :
PERULANGAN DENGAN FOR
Perintah ini digunakan untuk menjlanakan perulangan yang jumlah perulangannya sudah diketahui sebelumnya. Pada penggunaan perintah for anda tidah perlu menuliskan kondisi yang harus dipenuhi, tetapi anda cukup menuliskan nilai awal, nilai akhir dan counter dari variabel penghitung. Sintaks penulisan perintahnya adalah sebagai berikut :
For (nilai_awal;nilai_akhir;counter) {
Perintah atau pernyataan yang dijalankan;
}
Perhatikan contoh berikut yang menggunakan perulangan dengan for: Php07.php <html> <head> <title>perulangan for</title> </head> <body> <? for ($a=1;$a<=5;$a++) {
print("contoh ini ditulis $a kali <br>"); }
?>
</body> </html>
Gb. 3.7: Tampilan penggunaan perulangan for.
PERULANGAN DENGAN WHILE
Perintah ini digunakan untuk melakukan perulangan dengan jumlah yang belum bisa diketahui sebelumnya. Perulangan ini akan berlangsung selama kondisi yang diharapkan masih bernilai benar. Sintaks penulisannya adalah sebagai berikut:
While (kondisi) {
Perintah atau pernyataan yang dijalankan;
}
Berikut adalah contoh penggunaan perintah while: Php08.php <html> <head> <title>perulangan while</title> </head> <body> <? $x=1; while ($x <=10) { print("perulangan ke-$x <br>"); $x++; } ?> </body> </html>
Gb. 3.8: Tampilan penggunaan perulangan while.
PERULANGAN DENGAN DO...WHILE
Proses perulangan ini adalah kebalikan dari proses perulangan while. Pada proses perulangan ini, perulangan akan terus berjalan selama kondisi perulangan masih bernilai salah. Sintaks penulisannya adalah sebagai berikut:
Do {
Perintah atau pernyataan yang dijalankan;
}
While (kondisi)
Perbedaan antara do...while dengan while adalah pada kondisi yang diperiksa. Pada perintah while, kondisi yang diperiksa berada di awal perulangan sehingga perulangan akan memproses perintah jika kondisi bernilai benar. Sedangkan pada proses do...while, kondisi yang diperiksa berada di akhir perulangan sehingga selama kondisi tersebut belum terpenuhi maka perulangan akan terus berlangsung. Jika anda menggunakan perulangan jenis ini, perlu anda tambahkan counter di dalam perulangan tersebut sebagai penghitung hingga sebuah kondisi terpenuhi. Jika tidak, maka perulangan tersebut akan berulang terus menerus dan tidak berhenti.
Berikut adalah contoh penggunaan perintah perulangan do...while:
Php9.php <html> <head> <title>perulangan do-while</title> </head> <body> <? $z=1; do {
print("<h$z> ini adalah perulangan </h$z>"); $z++; } while ($z <=6) ?> </body> </html>
Gb. 3.9: Tampilan penggunaan perulangan do-while.
FUNGSI DAN PROSEDUR
Didalam pembuatan program, seringkali anda akan menggunakan beberapa kumpulan perintah yang sama. Hal ini dapat anda hindari penulisan perintah tersebut dengan cara menggunakan sub program. Dalam PHP sub program dapat dikenali sebagai fungsi dan prosedur. Dalam konsep pemrograman umum, fungsi (function) adalah suatu sub program yang menghasilkan sebuah nilai sedangkan prosedur (procedure) adalah suatu sub program yang dapat menghasilkan nilai atau tidak menghasilkan nilai sama sekali.
Dalam PHP, perintah yang digunakan untuk membuat sebuah fungsi atau prosedur dalah function. Perbedaan pembuatan fungsi dan prosedur adalah penggunaan perintah return. Perintah return digunakan untuk mengembalikan sebuah nilai yang biasanya terdapat pada sebuah fungsi. Sintaks penulisan fungsi dalam PHP adalah sebagai berikut :
function nama_fungsi(argumen) {
kode perintah }
Perhatikan contoh berikut ini, penggunaan fungsi dengan menggunakan return dan fungsi yang tidak menggunakan perintah return. Php10.php <html> <head> <title>prosedur</title> </head> <body> <? function cetak() { print("Presented By <br> Ardhi-Ant-Soft"); } cetak(); ?> </body> </html>
Php11.php <html> <head> <title>fungsi</title> </head> <body> <? function sambung($teks) {
$teks .= " sudah di sambung"; return($teks);
}
print("teks ini belum di sambung <br><hr>"); print(sambung("teks ini"));
?>
</body> </html>
Gb. 3.11: Fungsi dengan return.
FUNGSI DENGAN ARGUMEN
Argumen merupakan sebuah nilai yang dimasukkan kedalam sebuah fungsi. Secara umum nilai yang dimasukkan dapat bersifat by-value, yang maksudnya adalah nilai dari variabel yang dimasukkan kedalam fungsi tidak mengalami perubahan setelah fungsi tersebut dijalankan dan by-reference, yang mana nilai dalam variabel yang dimasukkan kedalam fungsi mengalami perubahan setelah fungsi tersebut dijalankan. Perbedaan argumen by-value dan by-reference adalah jika fungsi by-reference menggunakan karakter ‘&’ di depan nama argumen, sedangkan fungsi by-value tidak. Perhatikan contoh berikut ini :
Php12.php <html> <head> <title>fungsi by value</title> <body> <? $bil1 = 2; $bil2 = 5;
function hitung($bil1, $bil2) {
$hasil = $bil1 + $bil2; return($hasil);
}
print("bil1 = $bil1, bil2 = $bil2 <br>"); print("hasil penjumlahannya adalah "); print(hitung($bil1,$bil2));
?>
</body> </html>
Gb. 3.12: Fungsi dengan argumen by-value.
Php13.php <html> <head> <title>fungsi by reference</title> </head> <body> <? $angka = 4; function tambah(&$angka) { $angka = 8; }
print("angka awal = $angka <br>"); tambah($angka);
print("angka akhir = $angka"); ?>
</body> </html>
Gb. 3.13: Fungsi dengan argumen by-reference.
PENGOLAHAN DATA MELALUI FORM HTML
DENGAN SCRIPT PHP
Pada bahasan mengenai HTML telah anda pelajari tentang penggunaan form pada script HTML. Dalam menggunakan tag form, terdapat atribut method dan action, yang mana atribut action berisi halaman web yang dituju. Dan atribut method berisi pilihan get atau post. Kali ini anda akan mempelajari perbedaan penggunaan method post dan get pada pengolahan data melalui FORM.
Untuk pertama kali, sebaiknya anda mencoba script berikut ini untuk anda lebih paham bagaimana cara mengirimkan data melalui form dengan script PHP.
Php14a.php <html> <head>
<title>Form dengan method post</title> </head>
<body>
<h3>Input Data Barang</h3> <hr>
<form method="post" action="php14b.php">
Hrg. Barang :<input type="text" name="hrg"> rupiah<br>
<input type="submit" Value="Proses"> <input type="reset" Value="Ulangi"> </form>
<hr> </body> </html>
Simpan script diatas dengan nama php14a.php. sebenarnya script diatas hanyalah tag HTML biasa, sehingga anda juga dapat menyimpannya dengan ekstensi .html.
Gb. 3.14a: Form pada halaman web.
Seperti yang terlihat pada gambar diatas, jika tombol proses ditekan maka akan tampil halaman selanjutnya sesuai seperti nilai atribut action pada form dan nilai dari setiap variabel juga dikirimkan ke halaman selanjutnya. Perhatikan script berikut sebagai halaman yang menerima nilai dari variabel yang terdapat pada halaman sebelumnya.
Php14b.php <html> <head>
<title>Form dengan method post</title> </head>
<body>
<h3>Data Barang</h3> <hr>
<?
print("Kode Barang : $kode <br>"); print("Nama Barang : $nama <br>"); print("Hrg. Barang : $hrg <br>"); ?>
<hr> </body> </html>
Gb. 3.14b: Form pada halaman web.
Form ini berfungsi sebagai penerima nilai dari variabel yang dikirimkan.
Dari dua scrip diatas, diharapkan anda cukup paham tentang bagaimana mengirimkan data dari satu halaman ke halaman yang lain.
Sebelum melangkah lebih jauh, perlu anda ketahui bahwa method yang terdapat pada form dapat berisi post ataupun get.
METHOD GET
Halaman web yang nantinya akan dibuat dengan menggunakan method get, maka data yang dikirimkan kepada server akan disatukan dengan string URL. Dalam hal ini URL yang dituliskan pada bagian address web browser akan menyertakan nilai yang dikirimkan dari halaman sebelumnya. Perhatikan contoh script berikut dalam menggunakan method get.
Php15a.php <html> <head>
<title>Form dengan method get</title> </head>
<body>
<h3>Input Data Barang</h3> <hr>
Nama User:<input type="text" name="user"><br> <input type="submit" Value="Proses">
<input type="reset" Value="Ulangi"> </form>
<hr> </body> </html>
Gb. 3.15a: Form dengan method get.
Php15b.php <html> <head>
<title>Form dengan method get</title> </head> <body> <h3>Data Barang</h3> <hr> <? print("User Id : $id <br>"); print("Nama User : $user <br>"); ?>
<hr> </body> </html>
Gb. 3.15b: Form dengan method get.
Perhatikan pada address bar web browser, nilai dari parameter yang dikirimkan ikut ditampilkan bersama URL-nya. Hal ini menjadi kelemahan apabila nilai parameter tersebut seharusnya tersembunyi. Selain itu method ini tidak dapat untuk mengirimkan data yang terlalu besar.
METHOD POST
Berbeda dengan method sebelumnya, method ini akan memisahkan antara data yang dikirimkan dengan string URL-nya. Penggunaan method ini juga memungkinkan pengiriman data dalam jumlah besar. Perhatikan script berikut ini unutk anda dapat lebih memahami.
Php16a.php <html> <head>
<title>Form dengan method get</title> </head>
<body>
<h3>Input Data Barang</h3> <hr>
<form method="post" action="php15b.php"> User Id:<input type="text" name="id"><br>
Nama User:<input type="text" name="user"><br> <input type="submit" Value="Proses">
<input type="reset" Value="Ulangi"> </form>
<hr> </body>
Gb. 3.16a: Form dengan method post.
Php16b.php <html> <head>
<title>Form dengan method get</title> </head> <body> <h3>Data Barang</h3> <hr> <? print("User Id : $id <br>"); print("Nama User : $user <br>"); ?>
<hr> </body> </html>
Kedua script dan tampilan diatas memang tidak ada perubahan dari tampilan sebelumnya, hanya saja menggunakan method post. Anda perhatikan pada address bar web browser, nilai parameter yang dikirimkan tidak tercantum beserta URL-nya.
Sekarang, anda dapat memilih antara menggunakan get atau post dalam mengirimkan data.