1 Web Application Development Basic Intermediate - Advanced By : R.Maart Adi Waskita, ST. Imran Rosyadi, ST.2 Daftar Isi Daftar Isi Daftar Isi... ii P...
Pendahuluan PHP dahulunya merupakan proyek pribadi dari Rasmus Lerdorf (dengan dikeluarkannya PHP versi 1) yang digunakan untuk membuat home page pribadinya. Versi pertama ini berupa kumpulan script PERL. Untuk versi keduanya, Rasmus menulis ulang script-script PERL tersebut menggunakan bahasa C, kemudian menambahkan fasilitas untuk Form HTML dan koneksi MySQL. Adapun PHP didapat dari singkatan Personal Home Pages. Setelah mengalami perkembangan oleh suatu kelompok open source(termasuk Rasmus) maka mulai versi 3 nya, PHP telah menampakkan keunggulannya sebagai salah satu bahasa server scripting yang handal. Melalui perkembangan yang pesat ini banyak fasilitas yang ditambahkan dan oleh kelompok ini PHP disebut sebagai "PHP: Hypertext Preprocessor" . Sintak yang digunakan berasal dari bahasa C , Java maupun Perl. Sampai tulisan ini dibuat versi PHP yang terbaru adalah versi 4.1.1. Untuk release terbaru dari PHP dapat anda lihat pada web site http://www.php.net . PHP merupakan bahasa script yang digunakan untuk membuat halaman web yang dinamis. Dinamis berarti halaman yang akan ditampilkan dibuat saat halaman itu diminta oleh client. Mekanisme ini menyebabkan informasi yang diterima client selalu yang terbaru. Semua script PHP dieksekusi pada server dimana script tersebut dijalankan. Oleh karena itu, spesifikasi server lebih berpengaruh pada eksekusi dari script php daripada spesifikasi client. Namun tetap diperhatikan bahwa halaman web yang dihasilkan tentunya harus dapat dibuka oleh browser pada client. Dalam hal ini versi dari html yang digunakan harus didukung oleh browser client.
Spesifikasi Untuk dapat menjalankan script php pada web site kita, ada beberapa hal yang perlu kita tambahkan . Pertama tentunya kita harus mempunyai sebuah web server yang mengatur atau memberikan tempat untuk mengeksekusi script php. Web server ini dinstall pada komputer server kita. Saat ini php dapat dijalankan pada berbagai macam web server seperti pws, iis, xitami maupun apache. Kemudian hal kedua yang perlu kita miliki adalah php parser. Apa itu php parser ? PHP parser adalah program yang digunakan untuk menterjemahkan(intepreter) code script dan kemudian mengeksekusinya. PHP parser dapat berupa program yang dijalankan pada suatu shell/DOS prompt yang biasanya berupa program yang telah terkompilasi yaitu php.exe. Selain itu PHP parser bisa juga berupa modul-modul yang diload oleh web server. PHP juga termasuk dalam HTML-embedded , artinya code php dapat kita sisipkan pada sebuah halaman HTML. Untuk mengetahui bahwa baris - baris HTML merupakan suatu script php maka digunakan pasangan tag. Tag yang dapat digunakan untuk menyatakan script php adalah
Diantara ketiga ini tag ketiga merupakan tag yang paling aman karena memberikan tanda yang lebih jelas dan pada umumnya dimengerti oleh web server. Contoh php yang merupakan HTML-embedded File Test.php <TITLE>PHP Mania PHP untuk halaman web yang dinamis"; ?> Letakkan file ini pada homepages anda kemudian jalankan web server. Buka alamat http://nama_host/test.php. Jika php terinstal dengan benar maka browser akan menampilkan kalimat "PHP untuk halaman web yang dinamis" dalam huruf dicetak tebal. Selain itu kita juga bisa meletakkan script php pada suatu file berekstensi .php. Yang perlu diingat disini, web server memiliki setting yang benar untuk menjalankan file .php ini. Contoh dengan menggunakan apache web server , maka pada file httpd.conf terdapat potongan baris sebagai berikut : ScriptAlias /php/ "c:/php/" AddType application/x-httpd-php .php Action application/x-httpd-php "/php/php.exe" Tip Agar waktu eksekusi dari script PHP lebih cepat maka kita bisa mensetting web server kita agar menjadikan PHP sebagai modulnya. Cara berikut digunakan pada apache web server. Pada file httpd.conf tambahkan baris berikut : LoadModule php4_module c:/php/sapi/php4apache.dll AddType application/x-httpd-php .php Untuk penjelasan lebih detail cara mensetting web server apache dapat anda baca di web site : http://www.apache.org
Tag PHP Seperti telah disebutkan sebelumnya , bahwa parser PHP akan membaca file html sampai ditemukan tag spesial yang memberitahukan untuk menterjemahkan teks berikutnya sebagai code php. Parser php akan menjalankan semua kode yang dibacanya dari tag awal tadi sampai ditemukan tag penutup kembali. Dengan cara inilah maka code script php dapat ditempelkan pada document html(htmlembedded). Semua teks yang berada diluar tag awal dan akhir php akan dianggap sebagai teks html biasa dan akan dikirimkan langsung ke browser client untuk ditampilkan. Ada 4 pasangan tag yang dapat digunakan untuk menyatakan sebuah blok code php. Diantara keempat ini 2 pasangan tag berikut umumnya digunakan dan dimengerti oleh interpreter , yaitu dan <script language="php"> … . Yang lainnya merupakan bentuk tag yang pendek yang kadang juga digunakan untuk menyatakan tag ASP(Active Server pages) , yaitu <%…%> dan bentuk …?>. Untuk amannya kita gunakan dua tag pertama saja. Selain itu jika kita ingin menempelkan code php pada document xml atau xhtml maka kita harus menggunakan tag . Contoh penggunaan : 1. echo "PHP for general purpose and easy to use" ?> 2. 3. <script language="php"> echo "Frontpage tidak menggunakan tag ini"; 4. <% echo "Tag ini juga digunakan oleh script ASP" %> Cara pertama hanya dapat jalan jika pilihan short tags diaktifkan. Ini dapat dilakukan dengan menggunakan fungsi short_tags() (Hanya pada PHP 3). Kemudian cara kedua adalah yang paling tepat dan aman digunakan (selain cara ketiga). Sedangkan cara keempat kadang menjadi rancu karena tag ini sama dengan tag yang digunakan pada script ASP dan tag ini hanya tersedia pada php versi 3.0.4 ke atas.
Tip Dalam menulis script PHP usahakan untuk mengeluarkan code script yang berupa html biasa dari tag php. Hal ini dilakukan untuk mengurangi kerja server dalam mengeksekusi code php. Jadi bagian kode ini akan dikirimkan langsung ke browser untuk ditampilkan. Kita dapat menulis kode script seperti di bawah ini : Ini di pass ke browser jika ekspresi = 1Ini di pass ke browser jika ekspresi tidak sama dengan 1 Penjelasan Abaikan saja statemen-statemen yang tidak anda mengerti , disini tujuannya adalah memperlihatkan cara penulisan script php yang akan mengurangi kerja server. Karena cara ini akan lebih efektif daripada menggunakan fungsi echo untuk mengirimkan suatu teks ke browser.
Statemen Sebuah statemen merupakan sebuah perintah yang diakhiri dengan tanda titik koma (;) . Tanda tag penutup script php juga dapat sebagai penutup atau menyatakan akhir dari suatu statemen PHP. Contoh : Catatan php merupakan bahasa campuran case-sensitive dan case-insensitive, yaitu membedakan antara huruf besar dan huruf kecil. Case-sensitive berlaku untuk semua penulisan nama variable. Sedangkan penulisan sintak program dan nama fungsi bersifat case-insensitive. Penulisan variable $bilangan dengan $BILANGAN menghasilkan dua variable yang berbeda. Sedangkan penulisan fungsi echo yang ditulis dengan huruf kecil semua atau gabungan huruf kecil-huruf besar akan menunjukkan nama fungsi yang sama. Contoh : echo akan sama dengan ECHO ataupun Echo.
Komentar Komentar merupakan bagian program yang tidak akan dieksekusi. Fungsi dari komentar ini adalah sebagai dokumentasi program atau berupa penjelasan dari program. PHP memberikan banyak pilihan untuk menuliskan komentar. Cara
penulisannya merupakan adopsi dari gaya penulisan komentar pada bahasa C, C++ maupun tipe komentar shell pada Unix. Cara berikut dapat anda gunakan , yaitu : Tipe
komentar
"Kalimat
ini
C/C++
tidak
akan
dicetak";
Tipe
komentar
Unix
shell
Penjelasan Jika tanda /* … */ digunakan maka semua code didalam pasangan tanda ini akan diabaikan . Untuk tanda // maka code setelah tanda ini pada baris yang sama dengan tanda ini akan diabaikan . Sedangkan tanda # kerjanya sama seperti tanda //. Catatan Anda harus berhati-hati untuk tidak membuat komentar di dalam sebuah komentar (nested comment) karena hal ini dapat menyebabkan kesalahan penerjemahan. Contoh :
1. Tipe Data Boolean 2. Tipe Data Integer 3. Tipe Data Float 4. Tipe Data String 5. Tipe Data Array 6. Casting Tipe Data PHP memiliki 8 tipe data dasar yaitu boolean , integer , float (floating-point) , string , array , object , resource dan NULL . Biasanya tipe variable pada php tidak ditentukan oleh programmer , namun ditentukan berdasarkan untuk apa variable itu digunakan saat program dijalankan. PHP memiliki kemampuan yang baik dalam mengoperasikan variable. Jika kita mengoperasikan variable tipe data yang berbeda , php dapat melakukan operasi tersebut tanpa ada kesalahan pengeksekusian. Tentunya ada aturan-aturan yang harus kita mengerti tentang bagaimana php memperlakukan suatu variable yang dikenai suatu operasi dengan variable yang berbeda tipe. Hal ini akan kita lihat pada bagian berikutnya.
Tipe Data Boolean Sintak : bool atau boolean Tipe ini baru dikenalkan pada php versi 4. Tipe ini memiliki dua nilai yaitu TRUE or FALSE. Kedua nilai ini dapat ditulis tanpa memperhatikan huruf besar ataupun kecil. Tipe ini biasanya digunakan untuk menguji suatu ekspresi bersyarat. Adapun nilai TRUE atau FALSE dapat dinyatakan dengan suatu nilai pada tipe data lainnya. Untuk mengkonversi suatu nilai dari suatu variable ke tipe boolean dapat digunakan aturan berikut. Nilai FALSE memiliki kesamaan dengan integer 0, float 0.0 , string kosong , string "0" , array dan object dengan 0 elemen kemudian NULL. Sedangkan nilai TRUE merupakan nilai selain nilai FALSE atau 0 (bisa positif atau negatif). Contoh :
"NIM "Maaf
ada
= == terdaftar else NIM anda
true; TRUE){ dalam database kami"; { tidak terdaftar";
} ?> Penjelasan Potongan program akan melakukan pengujian terhadap nilai dari variable $ada. Pertama-tama $ada diberi nilai true. Kemudian dilakukan pengecekan nilai variable $ada. Jika $ada = true maka ditampilkan "NIM anda terdaftar dalam database kami" selain itu ($ada tidak sama dengan true , berarti false) maka ditampilkan "Maaf NIM anda tidak terdaftar".
Tipe Data Integer Sintak : int atau integer Tipe ini merupakan tipe bilangan bulat. Contoh bilangan bulat : 1 , 0 , -1 , 2 , 100 . Untuk menyatakan suatu nilai bilangan bulat kita bisa menggunakan format desimal , octal maupun hexadesimal . Contoh penulisan nilai integer pada berbagai format :
$a = 1234; # $a = -123; # negatif $a = 0123; # octal (sama dengan 83 dalam $a = 0x1A; # hexadecimal (sama dengan 26 dalam desimal)
desimal desimal desimal)
Ukuran dari jangkuan integer sangat tergantung pada platform yang digunakan. Biasanya integer memiliki ukuran 32 bits atau bisa menampung nilai dengan jangkauan 2 milyar(giga) . Yang perlu diketahui bahwa php tidak menyediakan tipe unsigned integer ( bilangan integer tak bertanda ). Jika seandainya kita memberikan suatu nilai di luar jangkauan integer ke suatu variable, maka variabel tersebut akan dikonversi ke tipe float. Selain itu tidak ada pembagian integer karena pembagian integer atau tipe numeric lainnya akan menghasilkan nilai float.
Tipe Data Float Sintak : float Tipe ini merupakan tipe bilangan real. Pada bahasa pemrograman seperti C/C++, tipe float terdiri dari single, double. Pada php jangkauan float juga tergantung pada platform yang digunakan, dimana maksimum bisa mencapai 1.8e308 dengan presisi 14 digit (64 bits). Contoh penulisan nilai float : $a $a $a = 7E-10;
= =
1.234; 1.2e3;
Catatan Biasanya pembagian dalam bilangan float tidak memberikan nilai pembulatan yang benar karena adanya kehilangan presisi ataupun adanya bilangan float yang berulang. Jadi jangan membandingkan nilai float untuk perbandingan kesamaan.
Tipe Data String String merupakan kumpulan karakter. Pada php karakter sama dengan tipe bilangan byte yang mana memiliki 256 karakter berbeda. Panjang dari string yang dapat dibuat dibatasi oleh ukuran memori komputer kita. Jadi panjang string tak terbatas sepanjang memori kita mencukupi. Penulisan string pada php dapat diapit dengan tanda petik tunggal (') atau petik ganda (") . Contoh penulisan string : $untai = 'Ini merupakan $rantai = "ini juga berupa string";
untaian
karakter';
Selain itu di dalam string juga bisa terdapat karakter escape. Apa itu karakter escape ? karakter escape merupakan karakter yang diawali oleh tanda '\' . Kegunaan dari karakter ini adalah menyatakan suatu karakter khusus. Contoh cara mencetak string "hanya sebuah test" (tanda kutip termasuk dicetak) : echo " \"hanya sebuah test\""; Daftar katakter escape lainnya Karakter escape
Keterangan
\n
Linefeed / baris baru
\r
Cariagge return / enter (13)
\t
Tab Horizontal
\\
Backslash
\$
Tanda dollar
\"
Petik ganda
\[0-7]{1,3}
Urutan karakter yang sesuai dengan ekspresi reguler adalah karakter yang berada dalam notasi octal
\x[0-9A-Fa-f]{1,2}
Urutan karakter yang sesuai dengan ekspresi reguler adalah karakter yang berada dalam notasi heksa
Sedangkan jika kita menggunakan backslash untuk karakter selain tersebut dalam table di atas, maka backslash juga akan tercetak diikuti karakter didepannya. Catatan Perbedaan antara tanda petik ganda dan petik tunggal untuk menuliskan string adalah jika petik ganda maka jika didalam string terdapat suatu variable maka nilai dari variable yang akan diexpand Sedangkan petik tunggal maka semua huruf yang ada di dalam tanda petik tunggal akan dicetak apa adanya. Contoh : $a = echo "nilai a = $a" ; // tercetak echo 'nilai a = $a' ; // tercetak "nilai a = $a"
"nilai
a
10; 10"
=
Untuk membaca sebuah karakter pada string dapat digunakan cara berikut : $kalimat = "Test $first = $kalimat{0}; // mendapatkan huruf pertama kalimat
konversi string ke tipe numeric menggunakan aturan berikut jika sebuah string terdapat karakter '.', 'e' , atau 'E' maka string tersebut dikonversi ke tipe float. Kalau tidak maka akan dikonversi ke integer. Kemudian jika string diawali dengan huruf maka nilai numeriknya = 0.
Tipe Data Array Array adalah sebuah data yang mengandung satu atau lebih data, dan dapat diindek berdasarkan numerik maupun string. Pada php tipe masing-masing data variable array tidak harus sama dan variable array juga bisa menyimpan suatu variable array didalamnya. Array dapat dibuat dengan menggunakan fungsi array() atau list(). Sintak dari fungsi array() : array( [key , ) // key is either // value can be anything
=>]
string
or
value ... nonnegative
integer
Contoh : $a = array( 1 => 'one', 2 => 'two', 3 => 'three' ); Jika key tidak dinyatakan atau nilai data langsung ditulis maka setiap data akan diberi index berupa angka yang berurutan sesuai dengan urutan penulisannya. Dan perlu diingat index array dimulai dari 0. Contoh : $a = array('one','two','three'); Cara lain untuk mendeklarasikan array adalah dengan menggunakan kurung siku ([ ]) di depan nama variable array. Sintak : $nama_var_array[key]; Contoh : $list[10] = "22992000"; // data index 10 akan bernilai "22992307"
Yang perlu diingat besar dari array dapat berubah saat run time. Contoh penggunaannya : $list[10] = "22992200"; // nilai data berindex 10 = $list[] = "22992307"; // nilai data berindex 11 = "22992307"
Sintak : (tipe data tujuan) nilai yang akan dirubah. Contoh : misal variable $b berisi data float. Kemudian kita ingin menyimpan nilai ini ke dalam integer maka : $b = $a = (int) $b; // variable $a akan bernilai 2
2.55;
Nilai dari variable $b akan diubah dahulu kedalam tipe float , kemudian baru disimpan dalam variable $a. Selain teknik casting ini, kita juga dapat menggunakan fungsi settype() untuk mengubah tipe data suatu nilai. Catatan Jika kita ingin mengecek tipe dari suatu variable dapat kita gunakan fungsi gettype() atau is_type(). Selain itu jika kita ingin memaksakan suatu variable untuk dinyatakan dalam suatu tipe maka kita dapat menggunakan teknik casting.
Variabel Variable merupakan penampung sebuah data dan memiliki sifat datanya dapat berubah-ubah. Pada PHP semua variable dituliskan dengan tanda $ di belakang nama variable. Aturan penamaan variable sama dengan aturan penulisan variable pada bahasa lainnya yaitu :
Nama variable bisa terdiri dari angka,huruf dan underscore. Selain itu tidak boleh digunakan.
Huruf pertama nama variable tidak boleh berupa angka.
Pada PHP nama variable bersifat case-sensitive yaitu memperhatikan huruf besar dan kecil.
Jika dijalankan maka akan tercetak : Nilai A dalam Nilai A luar fungsi = 123
fungsi
=
"Test"
Untuk menyatakan suatu variable global dari dalam fungsi dapat digunakan kata kunci global. Contoh :
=
123
;
$A "Nilai
A
; dalam
"Nilai
A
luar
// Test() // fungsi
fungsi
variable variable =
$A
global { local \n";
=
$A
\n";
Jika dijalankan maka akan tercetak : Nilai A dalam Nilai A luar fungsi = 123
fungsi
=
123
Catatan PHP memiliki variable-variable yang telah didefinisikan sebelumnya, variable ini digunakan untuk memberikan informasi tentang server , client dan lainlain. Contoh :
$DOCUMENT_ROOT : berisi nama direktori root pada server.
$SERVER_NAME : berisi nama dari server host di mana script dieksekusi. Nilainya bisa berupa nama virtual host.
$HTTP_USER_AGENT : Berisi informasi tentang client seperti jenis browser dan Sistem Operasinya.
Kemudian buka di browser. PHP akan menampilkan semua informasi tentang variable yang ada beserta nilainya. Catatan Jangan memberi akses kepada orang lain untuk menjalankan script tadi. Karena informasi yang dihasilkan dapat digunakan untuk mengetahui spesifikasi server kita. Jelas hal ini tidak aman karena ada kemungkinan user tersebut dapat masuk ke system kita berdasarkan informasi yang ia baca.
Konstanta Konstanta mirip dengan variable. Bedanya nilai konstanta tidak pernah berubah sejak dideklarasikan. Untuk mendeklarasikan konstanta digunakan fungsi define(). Sintak : define("nama_konstanta",nilai); Contoh :
1. Operator Aritmatika 2. Operator Assignment 3. Operator Bitwise 4. Operator Perbandingan 5. Operator Logika 6. Operator Decrement dan Increment 7. Operator Presendence Operator digunakan untuk melakukan suatu operasi. Secara umum , operasi pada PHP dapat dikelompokkan pada 6 jenis , yaitu :
Operator Aritmatika Operator ini berhubungan dengan operasi aritmatik. Operator
Penggunaan
Contoh
+
Penjumlahan
$a + $b
-
Pengurangan
$a - $b
*
Perkalian
$a * $b
/
Pembagian
$a / $b
%
Modulus
$a / $b
Modulus merupakan operasi sisa bagi. Contoh : 10 % 2 = 0 ( 10 11 % 2 = 1 ( 11 dibagi 2 sisanya 1 )
dibagi
2
sisanya
0
)
Operator Assignment Operator ini digunakan untuk memberikan/mendefinisikan nilai ke sebuah variable. Operator
Operator Bitwise Operator ini digunakan untuk operasi-operasi bilangan biner. Operator
Keterangan
Contoh
&
And
11 & 13 = 9
|
Or
11 | 13 = 15
^
Xor
11 ^ 13 = 6
~
Not
~11 = 12
<<
Shift Left
11 << 2 = 2
>>
Shift Right
11 >> 2 = 44
Operator Perbandingan Operator ini digunakan untuk melakukan suatu operasi perbandingan dan biasanya diletakkan di struktur kontrol program seperti if, elseif. Operator
Keterangan
Contoh
==
Sama dengan
$a == $b
===
Identik / Sama dengan dan $a === $b sama tipe
!=
Tidak sama dengan
$a != $b
<
Lebih kecil dari
$a < $b
>
Lebih besar dari
$a > $b
<=
Lebih kecil dari atau sama $a <= $b dengan
>=
Lebih besar dari atau sama $a >= $b dengan
Hasil dari suatu perbandingan selalu antara nilai true atau false saja. True jika perbandingannya benar dan sebaliknya akan bernilai salah.
Operator Logika Operator ini digunakan untuk melakukan suatu operasi logika. Operator
Operator Decrement dan Increment Operator ini diadopsi dari bahasa C++. Digunakan untuk menambahkan atau mengurangi nilai suatu variable dengan 1. Operator
Keterangan
Contoh
++$a
Pre-increment
$a = ++$b
--$a
Pre-decrement
$a = --$b
$a++
Post-Increment
$a = $b++
$a--
Post-decrement
$a = $b--
Maksud pre adalah nilai dari suatu variable ditambahkan/dikurangi dulu dengan satu baru operasi lainnya dijalankan. Sedangkan post adalah operasi dilaksanakan dulu , kemudian setelah semua operasi selesai baru nilai dari variable itu ditambahkan/dikurangi dengan satu. Contoh : $b $a = $a = $a = $a = $a = $a = $b++ +
= ++$b ; --$b ; $b++ ; $b-; $b-+ ++$b ; // $a=
10 // // //
$a $a $a
= = = $a
// 3 ; 20 dan $b = 11
11 10 10 = //
dan dan dan 11 $a=13
$b $b $b dan dan
= = =
; 11 10 11 $b=10 $b=9
Operator Presendence Aturan ini digunakan untuk menentukan urutan atau level dari operator , dimana operator dengan level lebih tinggi akan dikerjakan lebih dahulu. Operator
1. Struktur Berurutan ( Sequence ) 2. Struktur Seleksi ( Selection ) 3. Struktur Perulangan ( Repeatition ) Selain statemen sederhana yang telah kita pelajari di atas terdapat beberapa statemen yang digunakan untuk proses khusus. Lebih detail lagi dalam PHP seperti bahasa C maupun java memiliki beberapa struktur kontrol program. Dengan menggunakan struktur-struktur ini maka jalannya program tidak selalu berurutan sesuai dengan kondisi yang ditemui.
Disini dikenal istilah blok program , yaitu sebuah potongan program yang diapit oleh tanda { }. Contoh : If(true) $kata echo echo "Jika } // akhir blok
{
// =
awal
"Ini kondisi
blok "test"; tercetak\n"; true";
bernilai
Catatan Variable yang dideklarasikan pada suatu blok bersifat lokal di dalam blok tersebut. Blok biasanya digunakan untuk menyatakan bagian pada struktur kontrol lainnya.
Struktur Seleksi Struktur ini digunakan untuk mengatur aliran program berdasarkan kondisi tertentu yang ditetapkan. Struktur ini terdiri dari struktur if … else dan switch. Struktur if … else digunakan untuk masalah percabangan proses. Sintak : If(syarat/kondisi){ Operasi } Operasi }
yang else yang
dijalankan; { dijalankan;
Nilai dari syarat / kondisi adalah true atau false. True jika syarat terpenuhi dan false jika syarat tidak terpenuhi. Contoh :
= >= "Anda "Anda
60; 50) Lulus"; tidak
lulus";
Karena $nilai >= 50 maka kalimat "Anda Lulus" yang akan dicetak. Untuk seleksi dengan alternatif banyak digunakan struktur switch. Sintak : switch(variable) case nilai 1
Struktur Perulangan Perulangan adalah sebuah proses eksekusi operasi program secara berulang-ulang sampai ditemui kondisi untuk mengakhiri eksekusi tersebut. While loop Sintak : while(syarat) operasi }
{ ;
program
Operasi program akan dieksekusi terus-menerus selama syarat bernilai true. Bagian blok while mungkin dapat tidak dieksekusi jika pada awal looping syarat telah bernilai false. Contoh :
=
0
; 5){ ; ;
< $a
Output : 01234
Do - While loop Sintak : do proses }while($syarat);
{ ;
program
Proses program minimal dijalankan sekali karena pengujjian syarat dilakukan diakhir struktur. Blok do-while akan dieksekusi lagi jika syarat bernilai true; Contoh : $a do echo
Catatan Untuk menghentikan perulangan dari suatu loop digunakan kata kunci break. Break diikuti dengan numeric argumen menunjukkan berapa tingkatan loop yang dihentikan perulangannya. Contoh : Kata kunci continue digunakan untuk kembali ke awal loop atau dilanjutkan ke loop berikutnya dimana sisa operasi program di bawahnya akan diabaikan. Continue diikuti argumen numerik menunjukkan tingkatan loop yang akan dikerjakan. Contoh :
Deklarasi Fungsi Fungsi adalah sekumpulan perintah operasi program yang dapat menerima argumen input dan dapat memberikan hasil output yang dapat berupa sebuah nilai ataupun sebuah hasil operasi. Fungsi dideklarasikan dengan statemen function diikuti nama fungsi dan beberapa argumen input. Sintak : function operasi return }
nama_fungsi(
argumen_input
)
{ fungsi; nilai;
)
{ $bil2; $hasil;
Contoh : function $hasil return }
kali( =
$bil1 $bil1
,$bil2 *
Dalam pemberian sebuah nama fungsi, maka nama fungsi itu tidak boleh sama dengan nama fungsi yang telah disediakan oleh PHP contohnya fungsi echo, print dan lain-lain.
Argumen Fungsi Secara default, argumen dikirimkan ke fungsi adalah berupa nilai saja. Jadi kita tidak bisa mengubah nilai variable yang dipakai sebagai argumen di dalam fungsi. Jika kita mengubah nilai argumen di dalam fungsi maka nilai asli pada variable tetap. Agar kita dapat mengubah nilai asli variable di dalam fungsi maka kita harus mengirimkan argumen berdasarkan reference. Caranya dengan menambahkan tanda "&" didepan variable saat kita memanggil fungsi. Contoh : function $a++ } $a tambah_satu variabel echo ?>
Pemrograman Berorientasi Obyek dengan PHP Daftar Topik
1. Mengenal Obyek dan Class 2. Penurunan Class 3. Constructor 4. Parent
Mengenal Obyek dan Class Pada pemrograman berorientasi object, yang disebut object adalah instan dari sebuah class. Class terdiri dari variabel dan fungsi yang dibungkus dengan mekanisme pembungkusan kelas. Secara gampangnya class merupakan spesifikasi umum dan struktur dari suatu object sedangkan object merupakan individu-individu yang memiliki spesifikasi sesuai dengan classnya. Dua object yang berasal dari class yang sama dapat memiliki isi variable yang berbeda namun strukturnya pasti sama. Sintak dari sebuah Class : class var fungsi }
Penjelasan Class ini kita beri nama mahasiswa. Class mahasiswa memiliki 2 variabel yaitu $nim dan $nama. Selain itu class mahasiswa juga memiliki sebuah fungsi yaitu cetakData(). Variable $this pada fungsi cetakData() mengacu pada object tersebut. Untuk menggunakan class ini, kita gunakan keyword new didepan nama class sehingga akan terbentuk sebuah object berdasarkan class ini. Contoh : $ketua $wakil $ketua->nim $ketua->nama
Object $ketua dan $wakil merupakan object dari class mahasiswa. Yang menarik di sini bahwa object $ketua dan $wakil memiliki $nim dan $nama yang berbeda namun tetap memiliki struktur yang sama. Untuk mengakses isi dari suatu object adalah dengan menggunakan tanda ->. Contoh : $ketua->nim $ketua->cetakData();
=
"22992307";
statemen di atas akan memberikan variable $nim dengan "22992307" dan kemudian menjalankan fungsi cetakData() pada object $ketua.
Penurunan Class Sekali lagi dalam PBO ada yang disebut dengan penurunan class. Maksudnya kita bisa membuat suatu class baru dari class yang sudah ada, mekanisme ini disebut penurunan kelas. Pada php , untuk menurunkan kelas maka digunakan kata kunci extends . Sintak : class { $var function }
nama_kelas_baru nama_variable; nama_fungsi();
extends
nama_kelas_yang_diturunkan
// //
fungsi
tambahan yang
variable ditambahkan
Penjelasan Class baru yang dihasilkan selain memiliki variable maupun fungsi seperti pada class utamanya, juga bisa memiliki variable dan fungsi baru. Jika seandainya pada class baru dideklarasikan fungsi baru yang namanya sama dengan nama fungsi pada class utamanya maka fungsi yang digunakan adalah fungsi yang terletak pada class baru. Contoh : // class var var function echo echo } }
kelas
"nama "alamat
: :
utama orang{ $nama; $alamat; cetakData(){ $this->nama"; $this->alamat";
echo "alamat : $this->alamat\n"; echo "email : $this->email\n"; } } Penjelasan Class mahasiswa merupakan kelas turunan dari class orang. Dari class orang, class mahasiswa memiliki variable $nama dan $alamat , dan juga fungsi cetakData(). Selain itu class mahasiswa juga memiliki variable tambahan yaitu $nim dan $email. Sedangkan deklarasi fungsi cetakData() menyebabkan fungsi cetakData() pada class utama tidak digunakan jika fungsi dipanggil dari class mahasiswa.
Constructor Constructor merupakan sebuah fungsi yang digunakan untuk menginisialisasikan suatu object baru. Ada aturan yang berbeda dalam PHP 3 dan PHP 4, dimana pada PHP 3, sebuah fungsi constructor merupakan fungsi yang memiliki nama yang sama dengan nama class tersebut dan bisa berasal dari class induknya. Sedangkan pada PHP 4 definisi sama namun ada tambahan jika fungsi constructor yang berasal dari class induknya maka namanya harus sama dengan nama class induknya.Untuk lebih jelasnya lihat contoh berikut : // dapat jalan pada PHP class mobil extends $warna = function mobil ($color) { // $this->warna = } }
Parent Keyword parent digunakan untuk mengacu pada class utama. Kata kunci ini biasanya digunakan agar dapat mengakses fungsi maupun variable class utama dari kelas turunan. Contoh : class A { fungsi C() {} ; } class B extends A { fungsi B() { echo "Test" ; parent::C(); } } Penjelasan Untuk menjalankan fungsi B() dari class B maka kata kunci parent digunakan untuk mengacu pada class utama dari class B. Sehingga class utama akan menjalankan fungsi B() nya.
1. Membuka dan Menutup File 2. Membaca File 3. Menulis ke File Pada bagian ini kita akan mempelajari operasi dasar file, yaitu : membuka, membaca, menulis dan menutup file.
Membuka dan Menutup File Untuk membuka file dari system file, HTTP atau FTP digunakan fungsi fopen(). Sintak : fopen(nama file , mode akses); Mode akses menunjukkan operasi yang akan kita lakukan terhadap file tersebut. Berikut mode akses yang disediakan :
"r" - membuka file untuk dibaca , pointer file diletakkan di awal file.
"r+" - membuka file untuk dibaca dan diubah, pointer file diletakkan di awal file.
"w" - membuka file untuk diubah, pointer file diletakkan di awal file.
"w+" - membuka file untuk diubah dan dibaca, pointer diletakkan di awal file.
"a" - membuka file untuk diubah, pointer diletakkan di akhir file.
"a+" - membuka file untuk diubah dan dibaca, pointer terletak pada akhir file.
berupa nilai boolean. Contoh :
{ fopen("fileku.txt","r");
tidak
ada
dalam
system
{ kami";
Dengan cara ini kesalahan pembacaan file tidak akan muncul. Fungsi fclose() digunakan untuk menutup file.
Membaca File Untuk membaca isi file dapat digunakan fungsi fread() atau fgets(). Fungsi fread() lebih terformat dan biasanya dipasangkan dengan fungsi fwrite(). Sedangkan fgets() membaca perblok dan biasanya dipasangkan dengan fungsi fputs(). Sintak : fread(file_pointer,panjang string); fgets(file_pointer,besar buffer); Contoh : $buffer"; } fclose($MyFile); } ?> Fungsi feof() digunakan untuk mengetahui apakah pointer file ada di akhir file. Nilai yang dihasilkan bertipe boolean.
1. Page Counter 2. Poling Site Setelah mempelajari konsep - konsep dasar pemrograman di PHP, mari kita coba membuat beberapa aplikasi sederhana.
Page Counter Kita sering melihat pada halaman utama suatu web site ada bagian yang menunjukkan jumlah halaman itu telah dibuka. Biasanya ini digunakan untuk menentukan jumlah pengunjung web site kita. Melalui informasi jumlah pengunjung ini kita dapat mengetahui seberapa popular web site kita. Mode Teks Mari kita mulai dengan tampilan counter yang sederhana. Counter ini akan menampilkan angka dalam teks. Pertama-tama buat sebuah file teks bernama counter.txt. Simpan pada direktori home pages kita. Perlu diingat jika kita menggunakan system unix maka mode akses file harus diset agar dapat diubah. Gunakan perintah chmod pada shell unix (Saran : gunakan telnet). Contoh : chmod 755 fileku.txt <enter> Untuk lebih jelas tentang mode akses file di unix baca di tutorial lainnya. Setelah file counter.txt telah dibuat, selanjutnya kita membuat file counter.php.
File Counter.php
35
?> Baris program diatas dapat anda letakkan pada halaman web yang ingin anda hitung aksesnya. Mode Grafik Untuk mode grafik maka kita siapkan 10 buah file gambar yang berisi gambar angka 0 sampai 9. Simpan dengan nama file : Angka0.gif untuk Angka1.gif untuk Angka2.gif untuk Angka3.gif untuk Angka4.gif untuk Angka5.gif untuk Angka6.gif untuk Angka7.gif untuk Angka8.gif untuk Angka9.gif untuk gambar angka 9
gambar gambar gambar gambar gambar gambar gambar gambar gambar
Tip Gunakan format file yang berukuran kecil untuk gambar angka. Biasanya format yang banyak digunakan untuk menampilkan gambar di web adalah format gif dan jpeg . Format bmp memerlukan waktu yang lebih lama untuk ditampilkan.
Poling Site Aplikasi ini relatif lebih rumit dari aplikasi Page Counter. Disini diperlukan sebuah file teks untuk menyimpan pertanyaan , item pilihan dan counter dari pilihan tersebut. Untuk mengetahui bagian mana yang merupakan pertanyaan , item pilihan , atau counter pilihan maka kita akan menggunakan karakter khusus. Kita pilih karakter "|". Sedangkan antara item dalam pilihan maupun item dalam counter kita pisahkan dengan karakter ";". Untuk memecah suatu string berdasarkan karakter tertentu kita gunakan fungsi explode() yang akan menghasilkan nilai variable array. Sintak fungsi explode () : explode(pola,string); Pola merupakan deret karakter yang digunakan utuk membagi. Jadi seandainya ditemukan karakter sesuai pola string ,maka string itu akan dibagi pada bagian tersebut. Contoh : $kalimat = "Bagian 1 $bagian = echo $bagian[0] echo $bagian[1] echo $bagian[2] , " ";
Penutup Bahasa PHP memberikan banyak kemudahan dalam penggunaannya. Banyak konsep PHP yang digunakan merupakan adopsi dari bahasa pemrograman yang sudah lebih dulu terkenal seperti C/C++ dan Perl. PHP juga mempunyai kemampuan pemrograman yang bagus. Seperti keluwesan dalam penggunaan dan konversi tipe data. Selain itu PHP juga memiliki keunggulan dalam hal pengolahan database. Untuk membuat suatu aplikasi yang besar yang memerlukan kecepatan pengaksesan dan kekuatan data diperlukan suatu system database yang baik. Pada aplikasi sebelumnya, data kita hanya merupakan data teks file biasa. Sehingga jika diterapkan untuk aplikasi yang membutuhkan data besar dan kecepatan akses tinggi maka aplikasi kita akan berjalan tidak efisien dan kemungkinan kerusakan data sangat besar. Untuk itu kita harus menggunakan system database untuk mengelola data kita. PHP memiliki dukungan terhadap bermacam-macam system database. Salah satu yang banyak digunakan adalah MySQL. MySQL merupakan aplikasi database yang kecil tetapi memiliki kekuatan dan kemampuan yang baik dalam mengelola database. Selain itu MySQL juga merupakan proyek open source. Untuk informasi tentang MySQL dapat anda baca di website http://www.mysql.com .