YFA Jurusan Teknik Informatika Sekolah Tinggi Teknologi Telkom
S1/IT/WE/E2/0806
PHP Hypertext Preprocessor (PHP)
CS4713
Pengantar PHP
PHP diperkenalkan pada tahun 1994 oleh Rasmus Lerdorf yang mulanya tidak dipublikasikan dan hanya digunakan pada situs pribadinya untuk mencatat siapa saja yang mengakses daftar riwayat hidupnya. Script-script tersebut selanjutnya dikemas menjadi tool yang disebut Personal Home Page. PHP atau singkatan dari PHP Hypertext Preprocessor merupakan salah satu server-side scripting yang dapat disatukan dengan HTML untuk membuat halaman web dinamis. Server-side scripting: sintaks dan perintah yang diberikan akan sepenuhnya dijalankan di server tetapi disertakan pada dokumen HTML biasa.
YFA: Web Engineering
Pengantar PHP (lanjutan)
Tidak seperti ASP atau ColdFusion, PHP merupakan software yang opensource dan mampu lintas platform. PHP dapat mengirimkan HTTP header, dapat mengeset cookies, mengatur authentication dan redirect user. PHP menawarkan konektivitas yang baik dengan beberapa basis data antara lain Oracle, Sybase, mSQL, MySQL, PostgreSQL, Adabas, FilePro, Velocis, dBase, Informix, Ingres, InterBase, Unix dbm dan tak terkecuali semua database ber-interface ODBC.
YFA: Web Engineering
Statemen
Ada tiga cara untuk menuliskan script PHP yaitu:
// Script PHP ?>
<script language = "php"> // Script PHP
Satuan perintah dalam PHP harus diakhiri dengan tanda semicolon/titik-koma (;).
YFA: Web Engineering
Komentar
Comment adalah bagian dari kode yang tidak dieksekusi/dijalankan. Komentar dibuat untuk memperjelas atau memberi keterangan pada kode program. Komentar satu baris dibuat dengan menggunakan tanda //. Semua statement yang ada di kanan // tidak dijalankan oleh interpreter. Komentar banyak baris dibuat dengan menggunakan pasangan /* dan */. Semua tulisan yang dibuat di antara tanda tersebut tidak akan dieksekusi oleh interpreter.
YFA: Web Engineering
Variabel
Variabel digunakan sebagai tempat penyimpanan data sementara. Data yang disimpan dalam variabel akan hilang setelah program selesai dieksekusi. Untuk dapat menggunakan variabel, ada dua langkah yang harus dilakukan yaitu deklarasi dan inisialisasi. Dalam PHP, deklarasi variabel seringkali digabung dengan inisialisasi. Variabel dalam PHP dinyatakan dengan awalan $. $nama_depan = "Bang"; $nama_belakang = "Toyib";
YFA: Web Engineering
Passing Variable
Variabel dapat di-passing atau diteruskan ke halaman web berikutnya yang diakses user. Ada beberapa teknik untuk meneruskan variabel, diantaranya melalui: URL,
dengan format
[alamat web]?var1=nilai1&var2=nilai2 Form Cookie
YFA: Web Engineering
Tipe Data
PHP mengenal dua tipe data sederhana yaitu numerik (integer, double) dan non-numerik (literal, string). Secara umum, data literal ditandai dengan pasangan “ dan “. Data numerik tidak dikelilingi oleh “ dan “. Tetapi biasanya PHP akan secara otomatis mengubah tipe data sesuai kebutuhan. $jalan = "Jl. Telekomunikasi "; $noRumah = 199; $blok = "4c"; $jumlahPenghuni = 3; $alamat = $jalan + $noRumah; $hasil = $noRumah + $jumlahPenghuni; $hasilAneh = $blok + $noRumah;
YFA: Web Engineering
Operator
Operator digunakan untuk memanipulasi nilai suatu variabel. Variabel yang nilainya dimodifikasi oleh operator disebut operand. Contoh penggunaan operator misalnya 13 - 3. Dalam hal ini 13 dan 3 adalah operand, dan tanda "-" disebut operator. Operator diklasifikasikan menjadi: Arithmetic
Operator Assignment Operator Relational Operator Logical Operator Lain-lain
YFA: Web Engineering
Operator Aritmetika
Arithmetic Operator digunakan untuk melakukan perhitungan matematika. Operator
Fungsi
+
Penambahan
-
Pengurangan
*
Perkalian
/
Pembagian
%
Modulus
YFA: Web Engineering
Operator Assignment
Assignment operator digunakan untuk memberi/mengisi nilai ke dalam variabel tertentu. Operator
Fungsi
=
Pengisian nilai variabel
+=
Penambahan nilai pada variabel
-=
Pengurangan nilai pada variabel
*=
Pengalian nilai pada variabel
/=
Pembagian nilai pada variabel
%=
Modulus nilai variabel
.=
Penambahan string pada variabel
++
Inkrementasi
--
Dekrementasi
YFA: Web Engineering
Operator Relasional
Relational operator digunakan untuk membandingkan nilai dari dua operand. Hasil perbandingan dinyatakan dalam nilai boolean. TRUE berarti benar dan FALSE berarti salah. Operator
Fungsi
==
Sama dengan
!=
Tidak sama dengan
<
Lebih kecil dari
>
Lebih besar dari
<=
Lebih kecil atau sama dengan
>=
Lebih besar atau sama dengan
YFA: Web Engineering
Operator Logika
Logical Operator digunakan untuk membandingkan dua nilai variabel yang bertipe boolean. Hasil yang didapat dari penggunaan logical operator adalah boolean. Operator
Fungsi
AND
Logika AND
&&
Logika AND
OR
Logika OR
||
Logika OR
XOR
Logika XOR
!
Logika NOT
YFA: Web Engineering
Operator Lain-lain
Selain operator-operator yang telah disebutkan sebelumnya, PHP juga mengenal beberapa operator lain yang biasa digunakan dalam script PHP. Operator
Fungsi
.
Penggabungan string
@
Mematikan pesan error
YFA: Web Engineering
Struktur Kendali
Control flow dalam bahasa Indonesia dapat diartikan sebagai aliran/struktur kendali menjelaskan bagaimana urutan eksekusi perintah di dalam program. Struktur kendali merupakan pengatur aliran program, mempunyai rangkaian perintah yang harus ditulis untuk memenuhi beberapa keadaan, yaitu: Mengulang
suatu perintah jika terpenuhi suatu kondisi Melanjutkan sebuah pernyataan bila kondisi terpenuhi Memilih sebuah pilihan dari beberapa alternatif bila kondisi terpenuhi.
YFA: Web Engineering
Struktur Kendali (lanjutan)
Beberapa control flow yang tersedia dalam PHP: Percabangan
(branching) Pengulangan (looping) Perpindahan (jumping)
YFA: Web Engineering
Percabangan
Percabangan, atau sering disebut juga dengan istilah decisionmaking, memungkinkan aplikasi untuk memeriksa isi suatu variabel atau hasil perhitungan ekspresi dan mengambil tindakan yang sesuai. Ada dua jenis percabangan, dipilih berdasarkan kriteria pemeriksaan dan jumlah pilihan yang tersedia. Perintah percabangan yang dapat digunakan dalam PHP yaitu if, if – else, if – elseif – else dan switch – case.
YFA: Web Engineering
if
Perintah if digunakan untuk menjalankan satu atau lebih perintah yang menyatakan keadaan. if(condition) { // statement goes here }
Aliran program: Condition
akan diperiksa Bila bernilai true, statement akan dijalankan
YFA: Web Engineering
if – else if(condition) { // statement 1 goes here } else { // statemant 2 goes here } // statement 3 goes here
Aliran program: Condition
akan diperiksa Bila bernilai true, statement 1 akan dijalankan Bila bernilai false, statement 2 akan dijalankan Statement 3 dijalankan YFA: Web Engineering
if – elseif – else if(condition1) { // statement 1 } elseif(condition2) { // statement 2 } else { // statement 3 } // statement 4
YFA: Web Engineering
if – elseif – else (lanjutan)
Ada tiga kemungkinan aliran program: Apabila
Statement 1 dijalankan Statement 4 dijalankan
Apabila
condition 1 bernilai false, dan condition 2 bernilai true:
Statement 2 dijalankan Statement 4 dijalankan
Apabila
condition 1 bernilai true:
condition 1 dan condition 2 bernilai false:
Statement 3 dijalankan Statement 4 dijalankan
YFA: Web Engineering
switch – case
Perintah switch – case digunakan sebagai alternatif pengganti yang memudahkan dari penggunaan sintaks if, if – else dengan else lebih dari satu. switch(a){ case 1; // statement break; case 2; // statement break; case 3; // statement break; default; // statement break; } // statement
1 goes here
2 goes here
3 goes here
4 goes here
5 goes here YFA: Web Engineering
switch – case (lanjutan)
Aliran program: Variabel
a diperiksa Statement dieksekusi
Apabila Apabila Apabila Apabila
Statement
a a a a
== 1, statement 1 dijalankan == 2, statement 2 dijalankan == 3, statement 3 dijalankan tidak memenuhi 2a - 2c, statement 4 dijalankan
5 dijalankan
Keyword break memegang peranan penting karena berfungsi untuk mencegah fall-through, bandingkan apabila keyword break tersebut dihilangkan.
YFA: Web Engineering
Pengulangan
Pengulangan digunakan untuk mengulang suatu perintah sebanyak yang diinginkan tanpa harus menulis ulang baris perintah tersebut. PHP mengenal tiga jenis perintah pengulangan, yaitu for, while dan do – while.
YFA: Web Engineering
for
Looping dengan for disebut juga determinate loop, artinya looping yang jumlah pengulangannya (iterasi) telah ditentukan di awal looping. for (nilai_awal; nilai_akhir; penambahan/penurunan) { pernyataan yang akan diulang }
YFA: Web Engineering
for (lanjutan)
Ada beberapa bagian penting dari for loop: expression, dijalankan satu kali, pada saat looping dimulai. Biasanya bagian ini digunakan untuk menginisialisasi counter (penghitung). Stop condition, diperiksa nilainya sebelum setiap iterasi dieksekusi. Apabila condition bernilai false, iterasi dihentikan. Iterative expression, dilakukan setelah iterasi dieksekusi. Bagian ini biasanya digunakan untuk menambah nilai counter. Loop body, dieksekusi sekali setiap iterasi, merupakan perintah yang ingin dilakukan berulang-ulang. Initialization
YFA: Web Engineering
Contoh for (lanjutan) $kata = “Rekayasa Aplikasi Internet"; $huruf = "a"; $jumlah = 0; for($i=0; $i<strlen($kata); $i++){ if(substr($kata, $i, 1) == $huruf){ $jumlah ++; } } echo "Jumlah huruf
$huruf pada kata \"
$kata\" = $jumlah"; ?>
YFA: Web Engineering
while
While loop juga dikenal dengan istilah indeterminate loop, artinya jumlah loopingnya tidak ditentukan pada awal looping. While loop lebih sederhana daripada for loop, karena cuma memiliki dua bagian: condition, diperiksa sebelum tiap iterasi dilaksanakan. Selama stop condition bernilai true, perintah dalam loop body akan dilakukan berulang-ulang. Iterasi akan dihentikan apabila stop condition bernilai false. Loop body, sama seperti pada for loop, loop body dilaksanakan satu kali setiap iterasi. Stop
YFA: Web Engineering
do – while
Looping do – while merupakan modifikasi dari while loop. while (kondisi) { pernyataan yang akan diulang }
do { pernyataan yang akan diulang } while (kondisi)
YFA: Web Engineering
Perpindahan
Break, digunakan dalam looping untuk menghentikan suatu loop. Continue, berfungsi untuk melewati satu iterasi/putaran dalam rangkaian loop. Return, berfungsi untuk memerintahkan kode untuk keluar dari fungsi. Exit, digunakan untuk menghentikan keseluruhan script PHP.
YFA: Web Engineering
Array
Array: sebuah set variabel yang terdiri dari sekumpulan jenis data yang sama, disimpan menggunakan indeks dalam satu variabel. PHP mengenal dua macam indeks, yaitu indeks numerik (menggunakan angka untuk menandai tiap elemen) dan indeks asosiatif (memberikan nama untuk masing-masing elemen). Array dapat berdimensi satu, dua, tiga atau lebih. Array
dimensi satu (one-dimensional array) mewakili bentuk suatu vektor. Array dimensi dua (two-dimensional array) mewakili bentuk dari suatu matrik. Array dimensi tiga (three-dimensional array) mewakili bentuk suatu ruang.
YFA: Web Engineering
Array Berindeks Numerik
Inisialisasi sebuah array dilakukan seperti contoh berikut: $jurusan = array("Teknik Informatika","Ilmu Komputer","Teknologi Informasi");
Selain cara di atas, pembuatan array dapat juga dilakukan dengan cara: $jurusan[] = "Teknik Informatika"; $jurusan[] = "Ilmu Komputer"; $jurusan[] = "Teknologi Informasi";
YFA: Web Engineering
Array Berindeks Asosiatif
Untuk membuat array berindeks asosiatif, kita membutuhkan label atau nama untuk masing-masing elemen seperti dalam contoh berikut: $jurusan = array(IE=>"Teknik Informatika",CS=>"Ilmu Komputer",IT=>"Teknologi Informasi");
YFA: Web Engineering
Navigasi Array
Untuk mengakses array berindeks numerik dapat dilakukan dengan mengarahkan urutan indeks dari elemen array yang dituju. for($i=0; $i<3;$i++){ echo("Array \$jurusan index ke [$i] adalah $jurusan[$i]
"); }
Untuk mengakses array berindeks asosiatif, tidak dapat menggunakan loop seperti di atas, karena label/index disimpan dalam bentuk string. while(list($index, $nilai) = each($jurusan)){ echo("Array \$jurusan index $index berisi nilai $nilai
"); } YFA: Web Engineering
Fungsi-fungsi Array
sort() untuk mengurutkan elemen-elemen dalam array berindeks numerik. asort() untuk mengurutkan elemen-elemen dalam array berindeks numerik menurut isinya. ksort() untuk mengurutkan elemen-elemen dalam array berindeks numerik menurut indeksnya.
YFA: Web Engineering
Function
Function: kumpulan beberapa statemen yang dibuat dengan tujuan menyelesaikan satu tugas tertentu. Parameter: nilai yang dimasukkan/digunakan dalam function untuk diproses menghasilkan output. Return value: nilai yang dikembalikan oleh fungsi. function add($a, $b) { $c = $a + $b; return $c; } $hasil = add(6, 4); echo "$hasil";
YFA: Web Engineering
String Handling
PHP menyediakan sekumpulan function yang berguna untuk memanipulasi string. Ada banyak kegunaan yang bisa didapat dengan menggunakan fungsi-fungsi tersebut, antara lain: Pencarian
kata dalam website Pemeriksaan input user Memformat file untuk keperluan khusus (misalnya email).
YFA: Web Engineering
Fungsi Dasar String
strlen(string): mengetahui jumlah karakter yang terdapat pada string. strtoupper(string): mengubah semua huruf kecil pada string menjadi huruf kapital. strtolower(string): mengubah semua huruf kapital pada string menjadi huruf kecil. ucfisrt(string): membuat huruf pertama suatu string menjadi huruf kapital. ucwords(string): membuat huruf pertama setiap kata dalam string menjadi huruf kapital.
YFA: Web Engineering
Fungsi Dasar String (lanjutan)
ltrim(string): menghilangkan spasi kosong pada awal suatu string. rtrim(string): menghilangkan spasi kosong pada akhir suatu string. trim(string): menghilangkan spasi kosong pada awal dan akhir suatu string. substr(string,awal,jumlah): mengambil sebagian karakter dari suatu string. substr_count(string,substring): menghitung jumlah suatu substring dari suatu string. strpos(string,karakter): memperoleh posisi suatu karakter di dalam sebuah string.
YFA: Web Engineering
Fungsi Dasar String (lanjutan)
strstr(string,substring): memperoleh posisi suatu substring di dalam sebuah string. chr(nilaiASCII): mendapatkan karakter berdasarkan nilai ASCII tertentu. ord(karakter): mendapatkan nilai ASCII berdasarkan karakter tertentu. strcasecmp(string1,string2): membandingkan dua buah string dengan perlakukan huruf kecil dan huruf kapital dianggap sama. strcmp(string1,string2): membandingkan dua buah string dengan perlakuan huruf kecil dan huruf kapital dibedakan.
YFA: Web Engineering
Fungsi Dasar String (lanjutan)
str_repeat(string,pengulangan): membentuk sebuah string berdasarkan pengulangan beberapa kali dari suatu string tertentu. strrev(string): membalik susunan/urutan karakter dalam suatu string. str_replace(diganti,pengganti,string): mengganti bagian string dalam sebuah string dengan yang lain. strtok(string,token): memperoleh kata-kata yang terdapat pada suatu string, berdasarkan token/karakter yang digunakan untuk memisahkan string.
YFA: Web Engineering
Regular Expression
Untuk dapat menggunakan fungsi-fungsi string handling dengan baik, kita perlu menguasai teknik pembuatan pola kalimat. Contoh pola kalimat misalnya, alamat email yang valid (misal
[email protected]) selalu memiliki pola sebagai berikut: satu atau lebih huruf/angka, diikuti tanda @ kemudian diikuti dengan satu atau lebih huruf/angka, dipisahkan oleh tanda titik, lalu diakhiri dengan satu atau lebih huruf/angka.
YFA: Web Engineering
Regular Expression (lanjutan)
Pola kalimat, dapat dinyatakan dengan seperangkat kode sebagai berikut: Pola
Kode
Harus di awal kata
^
Huruf
A-Za-z
Angka
0-9
Huruf atau angka
[A-Za-z0-9]
Semua jenis karakter
.
Berjumlah satu atau lebih
+ atau {1,}
Berjumlah nol atau lebih
* atau {0,}
Berjumlah tiga sampai sepuluh
{3,10}
Diikuti dengan @
@
Tanda titik
\.
Harus berada di akhir kalimat
$ YFA: Web Engineering
Regular Expression (lanjutan)
Pola alamat email di atas dapat dinyatakan dengan satu baris kode sebagai berikut: ^.+@.+\..+$
Atau kita dapat membatasi alamat email yang digunakan oleh user agar hanya menerima domain com, net, atau edu dengan menggunakan pola berikut: ^.+@.+\.((com)|(edu)|(net))$
PHP menyediakan fungsi ereg untuk menangani ekspresi regular: ereg(pola,string_sumber)
YFA: Web Engineering
Require
Statemen require digunakan untuk membaca nilai variable dan fungsi-fungsi dari sebuah file lain. require(namafile);
Statemen require ini tidak dapat dimasukkan di dalam suatu struktur looping misalnya while atau for, karena hanya memperbolehkan pemangggilan file yang sama sekali saja.
YFA: Web Engineering
Include
Statemen include akan menyertakan isi suatu file tertentu. include(namafile);
Include dapat diletakkan di dalam suatu looping misalkan dalam statemen for atau while.
YFA: Web Engineering
Rekayasa Aplikasi Internet: PHP Hypertext Preprocessor (PHP) YFA – Yanuar Firdaus A.W, ST., MT. August 2006 http://www.yanuar.net
[email protected] +62 888 275 1300
YFA: Web Engineering