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. Ardhi ant Soft 1
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 <title>php Pertama</title> echo "ini ditulis dengan script PHP"; 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 http://10.0.0.12/php01.php Ardhi ant Soft 2
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; Bilangan $hasil=36; bulat Double $total=22.15; Bilangan $nilai=89.60; desimal String Karakter, $nama= Ardhiant ; Kalimat atau $kota= semarang ; 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. 3. Tidak boleh menggunakan tanda baca. Ardhi ant Soft 3
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 <title>operator Aritmatika</title> $angka1=15; $angka2=3; $hasil=$angka1+$angka2; print("hasil penjumlahan $angka1 dan $angka2 adalah $hasil <br>"); Ardhi ant Soft 4
$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"); 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 <= Lebih kecil sama dengan Ardhi ant Soft 5
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 : Ardhi ant Soft 6
If (kondisi) Perintah atau pernyataan jika benar; Perhatikan contoh berikut ini : Php03.php <title>percabangan if</title> $nilai=10; $standar=5; If ($nilai > $standar) print("nilai diatas standar"); 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 : Ardhi ant Soft 7
If (kondisi_1) Perintah atau pernyataan jika benar; Elseif (kondisi_2) Perintah atau pernyataan jika benar;... Else Perintah atau pernyataan jika kondisi sebelumsebelumnyanya salah; Berikut adalah contoh struktur kendali dengan satu else: Php04.php <title>percabangan if-else</title> $jam=9; if ($jam < 12) print("kurang dari jam 12"); else print("lebih dari jam 12"); Ardhi ant Soft 8
Gb. 3.4: Tampilan penggunaan struktur if-else. Berikut adalah contoh penggunaan struktur kendali dengan beberapa kondisi: Php05.php <title>percabangan if-elseif-else</title> $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"); Ardhi ant Soft 9
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: Ardhi ant Soft 10
Php06.php <title>percabangan switch</title> $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"); 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 : Ardhi ant Soft 11
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 <title>perulangan for</title> for ($a=1;$a<=5;$a++) print("contoh ini ditulis $a kali <br>"); Ardhi ant Soft 12
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 <title>perulangan while</title> $x=1; while ($x <=10) print("perulangan ke-$x <br>"); $x++; Ardhi ant Soft 13
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: Ardhi ant Soft 14
Php9.php <title>perulangan do-while</title> $z=1; do print("<h$z> ini adalah perulangan </h$z>"); $z++; while ($z <=6) 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. Ardhi ant Soft 15
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 <title>prosedur</title> function cetak() print("presented By <br> Ardhi-Ant-Soft"); cetak(); Gb. 3.10: Fungsi tanpa return. Ardhi ant Soft 16
Php11.php <title>fungsi</title> function sambung($teks) $teks.= " sudah di sambung"; return($teks); print("teks ini belum di sambung <br><hr>"); print(sambung("teks ini")); 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 : Ardhi ant Soft 17
Php12.php <title>fungsi by value</title> $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)); Gb. 3.12: Fungsi dengan argumen by-value. Php13.php <title>fungsi by reference</title> $angka = 4; function tambah(&$angka) $angka = 8; Ardhi ant Soft 18
print("angka awal = $angka <br>"); tambah($angka); print("angka akhir = $angka"); 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 <title>form dengan method post</title> <h3>input Data Barang</h3> <hr> <form method="post" action="php14b.php"> Kode Barang :<input type="text" name="kode"><br> Nama Barang :<input type="text" name="nama"><br> Ardhi ant Soft 19
Hrg. Barang :<input type="text" name="hrg"> rupiah<br> <input type="submit" Value="Proses"> <input type="reset" Value="Ulangi"> </form> <hr> 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 <title>form dengan method post</title> <h3>data Barang</h3> <hr> print("kode Barang : $kode <br>"); print("nama Barang : $nama <br>"); print("hrg. Barang : $hrg <br>"); Ardhi ant Soft 20
<hr> 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 <title>form dengan method get</title> <h3>input Data Barang</h3> <hr> <form method="get" action="php15b.php"> User Id :<input type="text" name="id"><br> Ardhi ant Soft 21
Nama User:<input type="text" name="user"><br> <input type="submit" Value="Proses"> <input type="reset" Value="Ulangi"> </form> <hr> Gb. 3.15a: Form dengan method get. Php15b.php <title>form dengan method get</title> <h3>data Barang</h3> <hr> print("user Id : $id <br>"); print("nama User : $user <br>"); <hr> Ardhi ant Soft 22
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 URLnya. Penggunaan method ini juga memungkinkan pengiriman data dalam jumlah besar. Perhatikan script berikut ini unutk anda dapat lebih memahami. Php16a.php <title>form dengan method get</title> <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> Ardhi ant Soft 23
Gb. 3.16a: Form dengan method post. Php16b.php <title>form dengan method get</title> <h3>data Barang</h3> <hr> print("user Id : $id <br>"); print("nama User : $user <br>"); <hr> Gb. 3.16b: Form dengan method post. Ardhi ant Soft 24
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. Ardhi ant Soft 25