You are on page 1of 40

Web Application Development

Basic Intermediate - Advanced

By : R.Maart Adi Waskita, ST. Imran Rosyadi, ST.

Daftar Isi

Daftar Isi
Daftar Isi........................................................................................................................................... ii Pendahuluan .................................................................................................................................... 4 Spesifikasi .................................................................................................................................... 4 Sintak Dasar PHP ............................................................................................................................ 6 Tag PHP....................................................................................................................................... 6 Statemen ...................................................................................................................................... 7 Tipe Data.......................................................................................................................................... 9 Tipe Data Boolean ....................................................................................................................... 9 Tipe Data Integer ....................................................................................................................... 10 Tipe Data Float........................................................................................................................... 10 Tipe Data String ......................................................................................................................... 11 Tipe Data Array .......................................................................................................................... 12 Casting Tipe Data ...................................................................................................................... 13 Variabel dan Konstanta.................................................................................................................. 15 Variabel ...................................................................................................................................... 15 Konstanta ................................................................................................................................... 17 Operator dalam PHP...................................................................................................................... 18 Operator Aritmatika .................................................................................................................... 18 Operator Assignment ................................................................................................................. 18 Operator Bitwise......................................................................................................................... 19 Operator Perbandingan.............................................................................................................. 19 Operator Logika ......................................................................................................................... 19 Operator Decrement dan Increment .......................................................................................... 20 Operator Presendence............................................................................................................... 20 Struktur Kontrol Program ............................................................................................................... 21 Struktur Berurutan...................................................................................................................... 21 Struktur Seleksi .......................................................................................................................... 22 Struktur Perulangan ................................................................................................................... 24 Fungsi dalam PHP ......................................................................................................................... 27
2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

ii

Daftar Isi

Deklarasi Fungsi ........................................................................................................................ 27 Argumen Fungsi......................................................................................................................... 27 Pemrograman Berorientasi Obyek dengan PHP ........................................................................... 28 Mengenal Obyek dan Class .......................................................................................................28 Penurunan Class........................................................................................................................ 29 Constructor................................................................................................................................. 30 Operasi File.................................................................................................................................... 32 Membuka dan Menutup File ...................................................................................................... 32 Membaca File............................................................................................................................. 33 Menulis ke File ........................................................................................................................... 33 Contoh Aplikasi PHP...................................................................................................................... 35 Page Counter ............................................................................................................................. 35 Poling Site .................................................................................................................................. 37 Penutup.......................................................................................................................................... 40

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

iii

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 <? ?> <% %> <?php ?>
2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

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 <HTML> <HEAD> <TITLE>PHP Mania</TITLE> </HEAD> <BODY> <?php echo "<B>PHP untuk halaman web yang dinamis</B>"; ?> </BODY> </HTML> 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

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

Sintak Dasar PHP


Daftar Topik

1. Tag PHP 2. Statemen Dasar 3. Komentar

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 <?php ?> dan <script language="php"> </script>. 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 <?php ?> . Contoh penggunaan : 1. <? echo "PHP for general purpose and easy to use" ?> 2. <?php echo "This tag used for standard tag" ?> 3. <script language="php"> echo "Frontpage tidak menggunakan tag ini"; </script> 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.

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

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 : <?php if ($ekspresi){ ?> <B>Ini di pass ke browser jika ekspresi = 1</B> <?php } else { ?> <B>Ini di pass ke browser jika ekspresi tidak sama dengan 1 </B> <?php } ?> 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 : <?php echo "hanya untuk test"; // statemen ini diakhiri dengan titik koma echo "sama untuk test saja" /* statemen ini tidak diakhiri dengan titik koma */ ?> 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

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

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 C/C++

<?php /* echo */ ?>

"Kalimat

ini

tidak

akan

dicetak";

<?php echo "Kalimat ini akan dicetak"; // Bagian ini hanya merupakan komentar ?>

Tipe

komentar

Unix

shell

<?php echo "kalimat ini akan dicetak"; # Ini merupakan komentar tipe 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 : <?php /* echo "Hanya sebuah test"; /* Komentar ini akan menyebabkan masalah */ */ ?>

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

Tipe Data
Daftar Topik

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 : <?php $ada if($ada echo } echo = == terdaftar else NIM anda true; TRUE){ dalam database kami"; { tidak terdaftar";

"NIM "Maaf

ada

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

} ?> 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.

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

10

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 \n \r \t \\ \$ \" \[0-7]{1,3} Keterangan Linefeed / baris baru Cariagge return / enter (13) Tab Horizontal Backslash Tanda dollar Petik ganda Urutan karakter yang sesuai dengan ekspresi reguler adalah karakter yang berada dalam notasi octal Urutan karakter yang sesuai dengan ekspresi reguler adalah karakter yang berada dalam notasi heksa

\x[0-9A-Fa-f]{1,2}

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 saja";

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

11

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.

Contoh : $foo = 1 + "10.5"; // $foo = 11.5 bertipe $foo = 1 + "-1.3e3"; // $foo = -1.299 bertipe $foo = 1 + "bob-1.3e3"; // $foo = 1 bertipe $foo = 1 + "bob3"; // $foo = 1 bertipe $foo = 1 + "10 Small Pigs"; // $foo = 11 bertipe $foo = 1 + "10 Little Piggies"; // $foo = 11 bertipe $foo = "10.0 pigs " + 1; // $foo = 11 bertipe $foo = "10.0 pigs " + 1.0; // $foo = 11 bertipe float float float integer integer integer integer integer

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 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" =>] value ... nonnegative integer

string

or

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

12

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" Array multidimensi : $matrik[3][3] = 12; // elemen baris 3 $matrik[3][4] = 11; // elemen baris 3 kolom 4 = 11 kolom 3 = 12 "22992200"

untuk membaca isi suatu array secara iterative dapat digunakan fungsi foreach();

Sintak : foreach(array_expression as $value) foreach(array_expression as $key => $value) statement Contoh : $warna foreach echo } foreach // //$color = ( "Do ($colors $warna you as = array('merah','hijau','kuning'); as $item ) { like $item?\n"; => { work strtoupper($color) $color) statement

$key won't

//works: $colors[$key] } print_r($colors); /* Array ( [0] [1] [2] [3] ) */ fungsi print_r() digunakan

strtoupper($color);

output:

=> => => =>

RED BLUE GREEN YELLOW

untuk

menampilkan

isi

suatu

array.

Casting Tipe Data


Kadang - kadang kita perlu mengubah integer ke float atau float ke integer,atau kita juga perlu mengubah suatu obyek dari sebuah class ke class yang lain. Proses inilah yang kita sebut casting.
2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

13

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.

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

14

Variabel dan Konstanta


Daftar Topik

1. Variabel 2. Konstanta

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. Contoh : //penamaan $nama $test123 $_TEST $Test123 = "Test"; berikut = = = benar "Yusuf"; "Test"; "Test";

//penamaan yang salah $1Huruf = "A"; //diawali dengan angka $sw3ar-it = "Again"; //menggunakan karakter "-" $Tom&Jerry = "Kucing"; // menggunakan karakter "&" Yang perlu diingat deklarasi tipe variable biasanya tidak ditentukan oleh programmer. PHP akan secara otomatis mengubah atau memberi tipe data berdasarkan kontek penggunaannya. Contoh : $nama = "Ini tipe String" ; //deklarasi tipe string; $numeric = 123 ; //deklarasi integer $numeric = 456.123 ; //Sekarang $numeric bertipe float $bollean = true ; // deklarasi tipe Boolean Scope variable Scope suatu variable adalah di bagian mana dari program variable itu berlaku atau dinyatakan. Penting bagi kita untuk mengetahui scope dari sebuah variable. Variable yang dinyatakan di dalam fungsi memiliki scope lokal saja artinya variable itu hanya dikenali atau digunakan di dalam fungsi itu saja.
2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

15

Contoh : <?php $A function $A echo } Test(); echo ?> = = "Nilai 123 ; // Test() // fungsi variable variable = global { local \n";

"Test"; A dalam

$A

"Nilai

luar

fungsi

$A

\n";

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 : <?php $A function global echo } Test(); echo ?> = $A "Nilai 123 ; A dalam ; // Test() // fungsi variable variable = global { local \n";

$A

"Nilai

luar

fungsi

$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. Untuk lebih detailnya, nama-nama variable yang ada dapat anda menggunakan fungsi phpinfo(). Coba anda buat file info.php berikut : <?php phpinfo(); ?>
2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

16

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 : <?php define("phi",3.14) $r $luas = phi echo "Luas ?> ; 5; ; ;

= * = $r * $luas" $r

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

17

Operator dalam PHP


Daftar Topik

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 Penjumlahan Pengurangan Perkalian Pembagian Modulus $a + $b $a - $b $a * $b $a / $b $a / $b Contoh

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 = += -= *= $a = $a $a = $a + 1 $a = $a - 1 $a = $a * 1 Analogi $a = 3 $a += 1 $a -= 1 $a *= 2
2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

Contoh

18

/=

$a = $a /1

$a /= 2

Operator Bitwise
Operator ini digunakan untuk operasi-operasi bilangan biner. Operator & | ^ ~ << >> And Or Xor Not Shift Left Shift Right Keterangan 11 & 13 = 9 11 | 13 = 15 11 ^ 13 = 6 ~11 = 12 11 << 2 = 2 11 >> 2 = 44 Contoh

Operator Perbandingan
Operator ini digunakan untuk melakukan suatu operasi perbandingan dan biasanya diletakkan di struktur kontrol program seperti if, elseif. Operator == === != < > <= >= Keterangan Sama dengan $a == $b Contoh

Identik / Sama dengan dan $a === $b sama tipe Tidak sama dengan Lebih kecil dari Lebih besar dari $a != $b $a < $b $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 Keterangan Contoh

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

19

And Or Xor !

And Or Xor Not

($a > $b) and ($a < $c) ($a > $b) or ($a < $b) ($a = 2) xor ($a = 3) !($a >= $b)

Operator Decrement dan Increment


Operator ini diadopsi dari bahasa C++. Digunakan untuk menambahkan atau mengurangi nilai suatu variable dengan 1. Operator ++$a --$a $a++ $a-Keterangan Pre-increment Pre-decrement Post-Increment Post-decrement Contoh $a = ++$b $a = --$b $a = $b++ $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 11 10 10 = // dan dan dan 11 $a=13 $b $b $b dan dan = = = ; 11 10 11 $b=10 $b=9

// 3 ; 20 dan $b = 11

Operator Presendence
Aturan ini digunakan untuk menentukan urutan atau level dari operator , dimana operator dengan level lebih tinggi akan dikerjakan lebih dahulu. Operator New [ ! ~ ++ -- (int) (double)(string)(array)(object) @ * / + - . << >> Associativity Non-associative Right Right Left Left Left
2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

20

< <= > >= == != === & ^ | && || ?: = += -= *= /= .= %= &= |=^= ~= <<= >>= Print And Xor Or ,

Non-associative Non-associative Left Left Left Left Left Left Left Right Left Left Left Left

Struktur Kontrol Program


Daftar Topik

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.

Struktur Berurutan
Struktur ini merupakan struktur yang paling sederhana. Program akan dijalankan secara urut dari awal program ke akhir program .
2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

21

Contoh : <?php echo echo echo ?> "Statemen "Statemen "Statemen 1"; 2"; 3";

Disini dikenal istilah blok program , yaitu sebuah potongan program yang diapit oleh tanda { }. Contoh : If(true) $kata echo echo "Jika } // akhir blok { // = "Ini kondisi awal 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 : <?php $nilai if($nilai echo else echo ?> = >= "Anda "Anda tidak 60; 50) Lulus"; 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 : perintah yang dijalankan ; { break;

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

22

case nilai ... default : } Contoh : <?php $bulan Switch Case Case Case Case Case Case Case Case Case Case Case Case } ?> Output : Februari

perintah yang

yang

dijalankan dijalankan ;

break; break;

perintah

1 2 3 4 5 6 7 8 9 10 11 12

: : : : : : : : : : : :

= ($bulan) echo echo echo echo echo echo echo echo echo echo echo echo

"Januari"; "Februari"; "Maret"; "April"; "Mei"; "Juni"; "Juli"; "Agustus"; "September"; "Oktober"; "November"; "Desember";

2; { break; break; break; break; break; break; break; break; break; break; break; break;

Selain switch dapat juga digunakan struktur if elseif else : Sintak : If proses } elseif proses } else proses } Contoh : $hari if($hari == elseif($hari == elseif($hari == elseif($hari == elseif($hari == elseif($hari == elseif($hari == else echo "Salah kode hari"; = 1) 2) 3) 4) 5) 6) 7) echo echo echo echo echo echo echo 3; "Senin"; "Selasa"; "Rabu"; "Kamis"; "Jumat"; "Sabtu"; "Minggu"; ($syarat 1) { 1 { 2 { 3

($syarat

2)

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

23

Output : Rabu

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 : <?php $a while($a echo $a++ } Output : 01234 = < $a 0 ; 5){ ; ;

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 = 0; { $a;

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

24

$a++; } while ($a < 5); Output : 01234

For loop Sintak : for( nilai operasi } Contoh : for echo } Output : 01234 ( $a = 0 ; $a $a < 5 ; $a++ ) { ; awal loop, syarat program , penambahan ) { ;

Catatan Untuk menghentikan perulangan dari suatu loop digunakan kata kunci break. Break diikuti dengan numeric argumen menunjukkan berapa tingkatan loop yang dihentikan perulangannya. Contoh : <?php $i = 0 ; while(true) { switch($i) { case 0 : echo "Break pertama"; break 1 ; case 1 : echo "Break kedua"; break 2 ; default : break ; } $i++ ; } ?> 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 :

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

25

<?php for($i = 1 ;$i < 11 ;$i++) { if ($i % 2 == 0 ) continue ; else echo $i ; } ?> Program di atas akan menampilkan nilai $i yang ganjil saja.

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

26

Fungsi dalam PHP


Daftar Topik

1. Deklarasi Fungsi 2. Argumen Fungsi

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 } Contoh : function $hasil return } kali( = $bil1 $bil1 ,$bil2 * ) { $bil2; $hasil; nama_fungsi( argumen_input ) { fungsi; nilai;

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 ?> tambah_satu ( $a ) { ;

&$a $a

// ;

= tanda &

digunakan //

untuk

10; mereferencekan 11

output

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

27

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 } Contoh : class var var function echo echo } } mahasiswa { $nim; $nama; cetakData(){ $this->nim"; $this->nama"; nama_class { $nama_variable; fungsi;

"NIM "Nama

: :

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 = = = = new new mahasiswa(); mahasiswa(); "22992307"; "Aras";

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

28

$wakil->nim $wakil->nama = "Yusuf";

"22992000";

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 // // fungsi nama_kelas_yang_diturunkan 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 utama orang{ $nama; $alamat; cetakData(){ $this->nama"; $this->alamat";

"nama "alamat

: :

//class yang menggunakan kelas orang class mahasiswa extends orang{ var $nim; var $email; function cetakData(){ echo "Nim : $this->nim\n"; echo "nama : $this->nama\n";
2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

29

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 = } } Penggunaan : $kijang = mobil("merah"); // Beda jika dijalankan di PHP 3 dan PHP 4 class A { function A() { } ; // fungsi constructor function B() { } ; // fungsi biasa } class B extends A{ function C() ; // fungsi biasa } Penjelasan Pada PHP 3 class B akan menggunakan fungsi B() sebagai constructornya padahal fungsi B() hanya merupakan fungsi biasa. Ini dikarenakan PHP 3 menganggap fungsi constructor merupakan fungsi bernama sama dengan classnya. Lain halnya PHP 4, class B akan menggunakan fungsi constructor A() karena fungsi ini mengacu pada fungsi utamanya, yaitu class A bukan class B. Catatan Pada PHP 3 maupun PHP 4 tidak ada fungsi destructor. Fungsi destructor merupakan fungsi yang dipanggil secara otomatis ketika object itu dihapus dari memori. Untuk mendapatkan efek dari fungsi destructor maka php menyediakan fungsi register_shutdown() dan unset().
2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

dan kendaraan fungsi

4 { "biru"; constructor $color;

PHP

30

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.

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

31

Operasi File
Daftar Topik

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. Contoh : <?php $MyFile ?> = fopen("fileku.txt","r");

Tip Jika file yang kita buka tidak ada maka nilai dari variable $MyFile ( file pointer ) tadi akan bernilai NULL. Hal ini penting kita perhatikan, karena jika kita melakukan operasi file terhadap file yang tidak ada maka akan muncul pesan kesalahan dan hal ini tidak baik bagi seorang web master. Untuk itu kita harus melakukan pengecekkan suatu file dengan menggunakan fungsi file_exists(). Nilai yang dihasilkan dari fungsi ini
2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

32

berupa nilai boolean. Contoh : <?php if(file_exists("fileku.txt")) $MyFile = fclose($MyFile); } else echo "File fileku.txt exit(1); } { 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 : <?php if(file_exists("fileku.txt")) { $MyFile = fopen("fileku.txt",'r'); while( !feof($MyFile)) { $buffer = fgets($MyFile,4096) ; // Membaca per baris echo "<BR>$buffer"; } fclose($MyFile); } ?> Fungsi feof() digunakan untuk mengetahui apakah pointer file ada di akhir file. Nilai yang dihasilkan bertipe boolean.

Menulis ke File
Untuk ke file digunakan fungsi fwrite() atau fputs(). Fungsi fwrite() digunakan berpasangan dengan fread() sedangkan fungsi fputs() dengan fungsi fgets(). Sintak :
2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

33

fread(file pointer, fputs(file pointer, string );

string

panjang

string);

Contoh : <?php if(file_exists("fileku.txt")) $MyFile = fputs($MyFile,$kalimat) fclose($MyFile); } ?> { fopen("fileku.txt",'a'); ;

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

34

Contoh Aplikasi PHP


Daftar Topik

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 <?php if(file_exists("counter.txt")) { $PF = fopen("counter.txt",'r'); $count = (int) fgets($PF,4096); fclose($PF); $count++; $PF = fopen("counter.txt",'w'); fputs($PF,$count); fclose($PF); echo $count; } else { echo "No Counter"; }
2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

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 angka angka angka angka angka angka angka angka angka 0 1 2 3 4 5 6 7 8

Sama seperti mode teks buat file counter.txt pada direktori home page kita. Setelah itu file counter.php akan berisi kode berikut ini : File Test.php <?php if(file_exists("counter.txt")) { $PF = fopen("counter.txt",'r'); $count = (int) fgets($PF,4096); fclose($PF); $count++; $PF = fopen("counter.txt",'w'); fputs($PF,$count); fclose($PF); $digit1 = (int) (($count % 1000) / 100); $digit2 = (int) (($count % 100) / 10); $digit3 = (int) ($count % 10); ?> <TABLE> <TR><TD> <?php echo "<IMG SRC=\"Angka$digit1.gif\">"; ?> </TD><TD> <?php echo "<IMG SRC=\"Angka$digit2.gif\">"; ?> </TD><TD> <?php echo "<IMG SRC=\"Angka$digit3.gif\">"; ?> </TD></TR> </TABLE>
2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

36

<?php } else { echo "No Counter"; } ?>

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] , "<BR>"; ; Bagian ; Bagian 3"; explode(";",$kalimat); , "<BR>"; , "<BR>"; 2

Urutan Kerja : Buat file polling.txt. Edit file polling.txt dan tuliskan poling anda dengan format pertanyaan "|" pilihan 1 ";" pilihan 2 ";" pilihan 3 "|"counter 1 ";" counter 2 ";" counter 3 Contoh : Apakah anda suka Coca Cola ?|Ya;Tidak|0;0 Kemudian buat file polling.php , dan tulis kode berikut :
2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

37

File Polling.php <HTML> <HEAD> <TITLE>Polling Home</TITLE> </HEAD> <BODY> <?php if(file_exists("polling.txt")) { echo "<FORM METHOD=POST ACTION=\"dopolling.php\">"; $PF = fopen("polling.txt",'r'); $poll = fgets($PF,4096); fclose($PF); $data = explode("|",$poll); echo $data[0]."\n<BR>"; $pilihan = explode(";",$data[1]); for($i = 0;$i < count($pilihan);$i++){ if($i == 0) echo "<INPUT TYPE=RADIO NAME=pil VALUE=$I CHECKED>$pilihan[$i]<BR>\n"; else echo "<INPUT TYPE=RADIO NAME=pil VALUE=$i>$pilihan[$i]<BR>\n"; } echo "<INPUT TYPE=SUBMIT VALUE=Send>\n"; echo "</FORM>"; } else { echo "No Polling Today"; } ?> </BODY> </HTML> Selanjutnya buat file dopolling.php. kemudian tulis code berikut ini : File Dopolling.php <?php if(file_exists("polling.txt")) { $PF = fopen("polling.txt",'r'); $poll = fgets($PF,4096); fclose($PF); $data = explode("|",$poll); $pilihan = explode(";",$data[1]); $counter = explode(";",$data[2]); $counter[$pil]++; $PF = fopen("polling.txt",'w'); $poll = $data[0]."|".$data[1]."|"; for($i = 0;$i < count($counter);$i++) { $poll .= $counter[$i].";"; } fputs($PF,$poll); fclose($PF); echo $data[0],"\n<BR>";

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

38

echo "Pilihan anda $pilihan[$pil]\n<BR>"; for($i = 0;$i < count($pilihan); $i++){ echo "$pilihan[$i] = $counter[$i]\n<BR>"; } } ?>

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

39

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 .

2005 Maart Adhie, Imran R. All Rights Reserved. H a l a m a n

40

You might also like