Anda di halaman 1dari 42

PEMROGRAMAN WEB DENGAN PHP Makalah ini disusun untuk memenuhi salah satu tugas mata kuliah WEB

Oleh : Dian Kurnia Akbar 1 !"#11"#

PERG$R$AN %&NGG& D'' BANDAR (AMP$NG " 1)

BAB & PENDAH$($AN

1*1 (atar belakang Di era kemajuan teknologi seperti sekarang ini, Website menjadi hal yang sudah tidak asing lagi terdengar pada telinga kita, kususnya dalam dunia internet. Meskipun sudah banyak orang mempunyai homepage di internet baik yang menggunakan ISP maupun server web gratis, tetapi pada umumnya homepage tersebut bersifat statis dan tidak dapat berinteraksi dengan pengunjung web. ebanyakan orang pada umumnya hanya berperan sebagai pengguna dan sebagian ke!il saja yang mengetahui proses dibaliknya dikarenakan tidak menguasai pemrograman web. Pada dasar pembuatanya, sebuah homepage yang dapat berinteraksi dengan pengunjung website atau homepage dinamis tidak diperlukan kemampuan pemrograman yang tinggi. 1*" Maksud dan %u+uan ". #ntuk memberikan sebuah gambaran bahwa dalam mempelajari dan membuat web menggunakan P$P sebenarnya tidak terlalu sulit. %. &gar pengguna internet pada khususnya dapat lebih mengembangkan potensi diri, dan tidak hanya sebagai pengguna saja tetapi dapat berperan sebagi pembuat suatu alamat web 'homepage( yang dinamis. 1*# Met,de Penelitian Metode Penelitian yang digunakan dalam penyusunan makalah ini adalah ) ". Metode wawan!ara 'Interview(. Wawan!ara adalah salah satu teknik pengumpulan data dimana pewawan!ara bertatap muka se!ara langsung dengan orang yang diwawan!arai. Metode ini digunakan untuk mendapatkan keterangan dan kejelasan se!ara langsung mengenai proses yang terjadi* %. Metode observasi 'Observation(. +bservasi adalah salah satu teknik pengumpulan data dengan !ara mengamati langsung terhadap objek yang akan diteliti guna memperoleh data se!ara lengkap dan nyata*

BAB && PEMBAHA-AN "*1 .engenalan PHP "*1*1 Pengertian PHP ,erdaskan informasi dari situs resmi P$P, -P$P.net.. P$P (PHP: Hypertext Proccesor) merupakan bahasa pemrograman web yang disisipkan dalam s!ript $/M0 (Hypertext Markup Language) dan banyaknya sintak di dalamnya mirp dengan bahasa 1, 2ava dan Perl. /ujuan dari bahasa ini adalah membantu para pengembang web untuk membuat web dinamis se!ara !epat. P$P adalah sebuah bahasa Script server si!e yang biasa digunakan dengan bahasa $/M0 atau dokumenya se!ara bersamaan untuk membuat sebuah aplikasi di web yang sangat banyak kegunaannya. P$P merupakan bahasa yang digunakan dalam $/M0 dan bekerja pada sisi server, artinya sintak dan perintah yang diberikan akan dijalankan di server tetapi disertakan pada halaman $/M0 biasa sehingga s!ript3nya tak tampak pada sisi c"ient. $/M0 (Hyper #ext Markup Language) adalah bahasa web yang sangat dominan menjadi bahasa penghubung antara (web server) dengan c"ient3nya (web browser) diseluruh dunia. P$P adalah sebuah bahasa s!ript server si!e yang bisa digunakan dengan bahasa $/M0 atau dokumennya se!ara bersamaan untuk membangun sebuah aplikasi di web yang sangat banyak kegunaannya. P$P diran!ang untuk dapat bekerja sama dengan database server dan dibuat sedemikian rupa sehingga pembuatan dokumen $/M0 yang dapat mengakses database menjadi begitu mudah. /ujuan dari bahasa scripting ini adalah untuk membuat aplikasi3aplikasi yang dijalankan diatas teknologi web browser, tetapi prosesnya se!ara keseluruhan dijalankan diatas web server. ekuatan P$P yang paling utama adalah konektifitas database dengan web. Sistem database yang telah didukung oleh P$P saat ini adalah / Ora0le / 3ilePr, / &nterBase / dBase P$P juga mendukung komunikasi dengan layanan lain melalui protokol IM&P, S4MP, 44/P, P+P5 atau bahkan $//P. Dan sekarang sebuah web server tidak hanya berisi gambar3gambar dan susunan teks yang berisi informasi suatu organisasi tapi dituntut untuk bisa berhubungan se!ara langsung dengan database, melayani permintaan dari c"ient, membuat dokumen yang berisi informasi penting dan sebagainya. Dengan tuntunan sema!am itu, dibutuhkan bahasa tambahan yang benar3benar bisa / Generi0 ODB' / Adabas D / -1base / 5el,0is / -,lid / P,stgre-2( / M1-2( / &n6,rmi4

/ m-2( 1*4 dan "*4 / Em.ress / Database inter6a0e ODB'

berinteraksi se!ara luas dengan aplikasi3aplikasi pendukung untuk kebutuhan dinamis dari web server$ "*1*" -e+arah PHP P$P (Hypertext Prepocessor) di!iptakan oleh 6asmus 0erdorf seorang pemrogram 1, dan digunakan untuk men!atat jumlah pengunjung pada homepage3nya. Pada awal tahun "778 dirilis P$P9:I (%orm Interpreter) yang memiliki kemampuan dasar membangun aplikasi web, memproses &orm dan mendukung data myS;0. arena antusiasme pengguna internet yang begitu besar, ahirnya pada pertengahan tahun "77< 6asmus 0edorf menyerahkan pengembanganya kepada sebuah tim pemrograman dalam kerangka open source dan oleh =eev suraski dan &ndi >utmans, parsernya ditulis ulang kembali menjadi bentuk program parser baru yaitu P$P 5.? yang memiliki dukungan lebih luas lagi terhadap database yang ada termasuk myS;0 dan +ra!le. P$P versi @.? kemudian dirilis setelah itu dengan menggunakan mesin scripting =end 'akronim dari pengembangnya =eev suraski dan &ndi >utmas( dan telah mampu mendukung server apa!he dan se!ara bui"t in telah mampu menangani manajemen session$ &da dua ma!am P$P yang sekarang dikenal luas dikalangan web !eve"opmer yaitu P$P 5 dan P$P @. P$P 5 adalah bahasa P$P yang pertama kali dibuat dan !o!ok untuk membuat website yang tidak terlalu komplek dan besar.sedangkan P$P @ 'versi3@( adalah bahasa P$P yang didalamnya sudah dilengkapi dengan 'en! engine sehingga lebih !epat, kuat, stabil, mudah untuk berinteraksi dengan berbagai jenis aplikasi pendukung lainya seperti myS;0, java, :/P !lient, +D,1 dll. P$P versi @ memiliki ekstention yang lebih sederhana dan mudah dipergunakan serta kompatibel dengan P$P versi 5. P$P @ sering dipakai untuk membangun web content karena dapat menangani website yang besar, kompleks dan menerima jutaan hit perhari. "*1*# 'ara Ker+a PHP Seperti yang pernah disebutkan bahwa P$P adalah aplikasi di sisi server atau dengan kata lain beban kerja ada di server bukan di c"ient. Pada saat browser meminta dokumen P$P, web server langsung menggunakan modul P$P untuk mengolah dokumen tersebut. 2ika pada dokumen terkandung fungsi yang mengakses database maka modul P$P menghubungi database server yang bersangkutan. Dokumen yang berformat P$P dikembalikan web server dalam format $/M0, sehingga source co!e P$P tidak tampak disisi browser.

"*1*) Keunggulan PHP Dalam perkembangannya, aplikasi P$P memiliki berbagai ma!am kemudahan dan keunggulan dibandingkan dengan beberapa produk sejenis yang ada. $al inilah yang menjadi alasan orang menggunakan P$P dalam pembuatan pemrograman web, berikut ini beberapa keunggulan yang dimiliki P$P ) ". P$P open source P$P adalah aplikasi bahasa web yang bisa diperoleh se!ara gratis dan kode program P$P diberikan se!ara !uma31uma. /abel "." memperlihatkan perbandingan antara P$P dengan produk3produk sejenis ) /abel "." Perbandingan biaya beberapa produk sejenis P$P 2enis Development Server 6D,MS Support In!ident %. P$P mudah P$P mudah untuk dipelajari, dibandingkan dengan produk lain yang mempunyai fungsi yang sama. /idak seperti (ava Server Page atau 1 based 1>I tidak membutuhkan persyaratan untuk mendalami beberapa bahasa pemrograman lain. /idak juga seperti Perl yang sering disebut sebagai -write on"y "anguage., P$P mempunyai sintaks yang sangat mudah dan user &rien!"y. Dan tidak seperti )ctive Server Page, P$P tidak membuat kita untuk mempelajari dua bahasa pemrograman yang berbeda untuk dua kebutuhan. 5.P$P embedded Penulisan script P$P menyatu dengan $/M0 sehingga memudahkan pembuatannya. Dengan kata lain halaman P$P biasanya halaman $/M0. Produk sejenis adalah Microso&t )ctive Server Page, )""aire *o"! %usion dan Sun (ava Server Page. P$P kadang3kadang disebut sebagai -the open source )SP. karena fungsinya mirip dengan produk Mi!rosoft tersebut. #ntuk membedakan antara sintaks $/M0 dan P$P maka dibuatlah kesepakatan ) s!ript P$P dimulai dengan tag DE Dan diakhiri dengan EF. 1ontoh ) <HTML> &SP A?3@B? AC%? A".%%?3A@.%%? A?3%@8 1old:usion A578 A".%78 A?3A"?.??? A?3<8 2SP A? A?3878 A?3"?.??? A?3<8 P$P A? A? A? A?

<HEAD> <TITLE>A greeting</TITLE> </HEAD> <BODY> <P>Hi, <?php /*sekarang bera ih ke !"#e PHP*/ $%irstna!e&'Mata'( $ astna!e&'Hari'( $tit e&'Ms)'( P*I+T,$tit e $ astna!e'-( //ke!ba i ke HTML sekarang) ?>> Ma. I /a ."0 <?php P*I+T,1$%irstna!e'-( ?>?</P> </BODY></HTML> Pada saat c"ient meminta halaman ini, +eb server memprosesnya. ,erarti melalui halaman dari atas ke bawah, men!ari section section P$P, dimana akan di!oba untuk meme!ahkannya. Parser akan memeriksa seluruh variabel yang ditandai 'dengan tanda A( dan men!oba menambahkannya ke perintah P$P 'fungsi print'((. 2ika berjalan lan!ar, prepro!essor akan kembali ke halaman $/M0 normal ke c"ient browser. 2ika ingin melihat kode sumber dari c"ient browser 'pilih -Source. atau -Page Source. dari menu ,iew atau klik kanan pada &+0(, maka akan tampak seperti ) <HTML> <HEAD><TITLE>A greeting</TITLE></HEAD> <BODY> <P>Hi, Ms) Hari) Ma. I /a ."0 Mata ? </P> </BODY> </HTML>

ode diatas sama seperti jika kita menulis program $/M0 dengan tangan. $/M0 embedded dengan P$P membawa beberapa konsekuensi ) G P$P dapat dengan !epat ditambahkan ke kode yang dihasilkan oleh editor WHSIWH>. G Setiap baris dari $/M0 tidak perlu dituliskan kembali ke dalam bahasa pemrograman. @. P$P berjalan di banyak Platform P$P yang menyatu dalam dokumen $/M0 bisa diakses oleh seluruh browser di seluruh p"at&orm yang ada. Dengan kata lain aplikasi yang dibangun dengan P$P berlaku se!ara universal. P$P dapat dijalankan di bawah sistem operasi #4II dan Windows. Sebagian besar server $//P berjalan pada satu dari dua kelas sistem operasi ini. P$P kompatibel dengan 5 +eb Server teratas ) )pache H##P Server untuk -.I/ dan +in!ows, Microso&t Internet In&ormation Server dan .etscape 0nterprise Server 'iP"anet Server(. P$P juga bekerja pada beberapa Server yang kurang dikenal termasuk )"ex 1e"its2s &http!, Microso&t2s Persona" +eb Server, )OLServer dan Omnicentrix2s Omniserver )pp"ication Server. P$P tidak didukung platform Ma!intosh. etersediaan kode sumber dalam bahasa 1 membuat P$P sangat universal dan mudah disesuaikan dengan platform yang digunakan sehingga tidak perlu keraguan untuk menginvestasikan waktu dan tenaga guna mengembangkan aplikasi P$P. /abel ".% Sistem +perasi dan +eb Server untuk P$P Jariabel Sistem +perasi #4II &II, &9#I, ,SDI, Digital #4II9/ruC@, :ree,SD, $P3#I, I6II, 0inuK, 4et,SD, +penbsd, S1+, #niKware, Solaris, Sunos, #ltriK, IeniK Windows Windows 78 Windows 7B Windows 4/ Windows %??? IIS, PWS, 4ets!ape, &pa!he, +mni

Web Server

&pa!he, fhttpd, 4ets!ape

Walaupun P$P tidak berjalan di Ma!intosh, ,e+S atau beberapa paltform lain, kita dapat mengembangkan pada c"ient ini menggunakan tool dan kemudian up"oa! script P$P ke Server #4II atau Windows.

8. P$P bukan berbasis /ag P$P adalah murni bahasa pemrograman, di P$P kita dapat mendefinisikan fungsi3fungsi dengan menuliskan nama dan definisinya. C. P$P stabil ata stabil berarti % hal yang berbeda ) G Server tidak memerlukan boot ulang. G Software tdk berubah se!ara radikal L kompatibel dari release ke release. eduanya ada pada P$P. Saat ini server &pa!he menjadi +eb server paling stabil dengan reputasinya. Walaupun bukan merupakan yang paling !epat ataupun yang paling mudah, server &pa!he $//P kelihatan tidak pernah crash. Dan juga tidak perlu boot ulang server setiap saat setting diubah 'setidaknya di sisi #4II(. P$P mewarisi keadaan ini plus implementasinya yang kuat. &pa!he server dengan P$P melebihi IIS9Jisual Studio dan 4ets!ape Mnterprise Server92ava untuk stabilitas lingkungannya. /im pengembang P$P berusaha memperbaiki seperti menambahkan parser untuk dapat dijalankan lebih !epat, komunikasi dengan database lain atau menambahkan dukungan session yang lebih baik. Sangat sedikit fungsi yang dihapuskan dari versi P$P sebelumnya. <. P$P !epat ' P$P meningkatkan ke!epatan dari proses s!ript ( P$P menyenangkan pada eksekusinya, terutama saat dikompile sebagai mo!u"e &pa!he di sisi #4II. Saat ini P$P @ lebih !epat untuk hampir semua penggunaan 1>I s!ript. Walaupun beberapa script 1>I ditulis dalam 1, satu dari bahasa tingkat rendah dan paling !epat diantara banyak bahasa pemrograman. Dapat dibatasi jumlah proses concurrent yang dijalankan pada satu saat. ,ahasa script 1>I lain seperti Perl dan /!l relatif lambat. ebanyakan Website berkembang dari penggunaan 1>I karena alasan kehandalan dan keamanan. Saat mengkompile, P$P menjadi bagian dari http daemon. arena tidak ada transfer ke dan dari server aplikasi yang berbeda 'seperti pada 1old:usion( permintaan dapat dipenuhi se!ara labih efisien. P$P setidaknya sama !epat dengan &SP pada banyak aplikasi.

B. P$P open sour!e Selain keuntungan dari segi biaya, so&tware open sour!e juga mempunyai konsekuensi bahwa source co!e yang lengkap dari so&tware harus dimasukkan pada distribusinya. /abel ".5 Spektrum Source3%ee :ee Stru!ture ,iaya untuk semua penggunaan ,iaya untuk beberapa penggunaan /idak ada biaya 1losed Sour!e &llaire 1old:usion 1orel WordPerfe!t Mi!rosoft IM 1ontrolled Sour!e 3 Sun 2ava Sun Star+ffi!e +pen Sour!e 3 MyS;0 >P0ed Software

7. P$P berjalan baik dengan aplikasi lain P$P membuat mudah untuk berkomunikasi dengan program dan protokol lain. /im pengembangan P$P tampaknya sepakat untuk menyediakan fleksibilitas maksimum untuk sejumlah besar user. onektivitas Database !ukup kuat dengan dukungan native3driver untuk sekitar "8 database paling populer plus +D,1. P$P mendukung sejumlah besar protokol seperti P+P5, IM&P dan 0D&P. P$P @ juga mempunyai dukungan baru untuk 2ava dan arsitektur pendistribusian objek '1+M dan 1+6,&(, membuat n3kali pengembangan untuk pertama kali. P$P tidak mendukung c"ose! source. Sebagai !ontoh komputer &pple dan Mi!rosoft tidak dapat bekerjasama dengan proyek open source seperti P$P. "?. P$P populer dan berkembang P$P menjadi satu dari pilihan paling populer untuk dua periode pengembangan 'Web plus data(. Sejak website populer, P$P diharapkan men!apai pertumbuhan yang !epat pada sejumlah besar user. Walaupun agak lebih sulit untuk mendapatkan profil perusahaannya, P$P berada pada posisi yang relatif kuat untuk produk sejenis. /eknologi Mi!rosoft &!tive Server Pages digunakan "%N oleh Web Server, 1old:usion diimplementasikan sekitar @N domain. P$P digunakan oleh "%N dari seluruh Web Server seperti sudah dibuktikan oleh sebagian besar sample. &SP dan 1old:usion P$P mempunyai keuntungan yang lebih dibanding pesaingnya pada kategori pengembangan. "". Masyarakat P$P

P$P dikembangkan dan didukung se!ara bersama3sama oleh masyarakat pengguna wor"!wi!e. euntungan utama pemakai baru adalah dukungan teknik tanpa biaya dan tanpa batas. +rang3 orang di mai"ing "ist bersedia untuk menjawab pertanyaan3pertanyaan dan adanya he"p !ebug Sebuah dukungan yang nyata bagi pemakai P$P. Masyarakat anggota P$P melihat pada program dan memberitahukan apa yang salah dan bahkan membantu mendesain sebuah aplikasi. "*1*7 Kemam.uan PHP Pada aplikasi 1>I '*ommon 4ateway Inter&ace suatu program yang dapat menerima input dari browser, memprosesnya dan selanjutnya mengirim kembali outputnya(, yang diprogram dengan Perl atau 1, maka dengan P$P kita akan mendapatkan kemudahan3kemudahan. Sebagai !ontoh data masukkan dalam suatu &orm htm" se!ara otomotis di3variabel3kan dan dapat digunakan langsung, sehingga tidak perlu memparsing apa yang disebut 5uery string. emampuan dan elebihan P$P5 ) G Pengaksesan file >I: dengan P$P P$P tidak terbatas hanya untuk menghasilkan output halaman $/M0. P$P juga dapat digunakan untuk menghasilkan file gambar >I: atau bahkan agar lebih menghasilkan file gambar >I: yg bersifat stream dari server ke browser. G :ile -p"oa! P$P mampu menerima file up"oa! dari setiap browser yang 6:13"BC< !ompliant. emampuan ini memungkinkan user untuk meng3upload file teks atau binary G $//P *ookie P$P se!ara transparan mendukung $//P cookie. *ookie adalah mekanisme untuk menyimpan data pada browser sehingga kita dapat mela!ak atau mengidentifikasi user. G oneksi ke Database P$P mendukung banyak database dalam mo!e native dan melalui +D,1. G $//P )uthentication. elebihan $//P )uthentication pada P$P hanya tersedia jika P$P berjalan sebagai modul Web Server &pa!he. G 6egu"ar 0xpression 6egu"ar 0xpression digunakan untuk manipulasi string yang kompleks di P$P G 0rror han!"ing

Seluruh ekspresi P$P dapat dipanggil dengan prefiK OPQ yang akan mematikan error reporting untuk ekspresion itu.

"*" Pembuatan .r,gram 8eb dengan PHP Dalam dunia informasi yang berbasiskan internet, segala ma!am informasi yang terdapat didalamnya dibuat dengan menggunakan suatu teknologi yang dinamakan $/M0, tetapi karena fungsi dari $/M0 itu sendiri hanyalah untuk menampilkan informasi atau dengan kata lain hanya menampilkan hasil yang berupa tulisan biasa, maka mun!ulah teknologi yang dapat mengurangi kekakuan dari $/M0 itu, yang dinamakan server si!e scripting dan c"ient si!e scripting yang masing3masing mempunyai kelebihan, sebagai !ontoh 7avascript yang merupakan c"ient si!e dapat melakukan teknik3teknik animasi tulisan pada halaman $/M0, dan P$P yang merupakan server si!e dapat melakukan konektifitas pada database yang dimana hal itu tidak dapat dilakukan hanya dengan menggunakan sintaks3sintaks $/M0 biasa. "*"*1 -intaks .enulisan PHP ode3kode P$P dituliskan di antara tanda berikut ini) 9:.h. 9: 9; 9s0ri.t< R R R EF RR R RR R RR R EF NF D9s!riptF

&pabila &nda membuat kode P$P dan beren!ana akan mendistribusikan ke pihak9orang lain, maka usahakan untuk menggunakan sintaks DEphp R EF. $al ini dikarenakan untuk penggunaan kode yang menggunakan DE EF terkadang tidak bisa dijalankan dalam server tertentu. a. Menyimpan :ile P$P &pabila &nda memiliki kode P$P yang disisipkan dalam $/M0 dalam suatu file dan menginginkan web server dapat menjalankannya, maka file tersebut harus disimpan dalam ekstensi .php. &pabila &nda menyimpannya dengan ekstensi .html atau htm, maka kode P$P tersebut tidak akan diproses dan akan ditampilkan dalam web browser seperti apa adanya 'berupa kode3kode(. 1ontoh) <ht! >

<hea#> <tit e>Ha a!an PHP perta!ak0</tit e> </hea#> <b"#.> <?php e/h" 1He " 2"r #3'( ?> </b"#.> </ht! > b. Semi!olon '*( &pabila &nda perhatikan !ontoh sebelumnya, maka terdapat tanda titik koma 'semi!olon( pada akhir perintah e!ho. /anda semi!olon merupakan penanda akhir dari statement P$P dan harus ada. 1ontoh) <ht! > <hea#> <tit e>Ha a!an PHP perta!ak0</tit e> </hea#> <b"#.> <?php e/h" 1He " 2"r #3 1( e/h" 1He " 2"r #3 1( e/h" 1He " 2"r #3 1( e/h" 1He " 2"r #3 1( e/h" 1He " 2"r #3 1(

?> </b"#.> </ht! > !. Pindah Spasi Seperti halnya $/M0, pergantian spasi dalam P$P tidak akan mempengaruhi tampilan hasilnya. Dengan kata lain, pergantian spasi akan diabaikan oleh P$P. Perhatikan !ontoh berikut ini. Pada !ontoh tersebut diberikan tiga bentuk penulisan kode P$P yang berbeda namun akan dihasilkan tampilan yang sama dalam web browser. 1ontoh) <ht! > <hea#> <tit e>Ha a!an PHP perta!ak0</tit e> </hea#> <b"#.> <?php e/h" 1He " 2"r #3 1( e/h" 1He " 2"r #3 1(?> </b"#.> </ht! > <ht! > <hea#> <tit e>M. 4irst PHP Page</tit e> </hea#> <b"#.>

<?php e/h" 1He " 2"r #3 1( e/h" 1He " 2"r #3 1( ?> </b"#.> </ht! > <ht! > <hea#> <tit e>Ha a!an PHP perta!ak0</tit e> </hea#> <b"#.> <?php e/h" 1He " 2"r #3 1( e/h" 1He " 2"r #3 1( ?> </b"#.> 9=html< "*"*" %i.e Data di PHP Dalam P$P, nama setiap variabel diawali dengan tanda A 'dollar(. Misalnya variabel -e. maka ditulis dengan Ae. P$P hanya mempunyai C tipe data yaitu ) integer, !oub"e8 boo"ean8 string8 array dan ob7ect. a. Integer adalah seluruh angka tanpa !ecima" point$ b. 9oub"e adalah &"oating point seperti 5."@"87 atau @7.? !. 1oo"ean hanya mempunyai % nilai yaitu #6-0 dan %)LS0 d. String adalah urutan dari karakter seperti OP$P mendukung operasi string2

e. )rray adalah koleksi nama dan in!eks. f. Ob7ect adalah !ontoh dari c"ass yang didefinisikan programmer. /ipe variabel ini tidak perlu ditentukan oleh programmer, melainkan ditentukan pada saat runtime oleh P$P dengan kebergantungan pada konteks pemakaian variabel tersebut. /ipe data sederhana dalam P$P 'integer8 !oub"e8 boo"ean dan string( sudah familiar. ,eberapa bahasa pemrograman mempunyai ukuran yang berbeda untuk tipe data numerik dengan mengijinkan nilai range yang lebih besar tapi juga membutuhkan memory yang lebih besar. Sebagai !ontoh bahasa 1 mempunyai tipe short (sma"" integer), tipe "ong 'integer yang lebih besar( dan sebuah tipe int 'merupakan pertengahan antara short dan "ong(. a. Integer &dalah tipe data paling sederhana, dapat digunakan sebagai variabel atau digunakan dalam ekspresi seperti ) $int56ar & 789:;( $an"ther5int & <789:; = 789:;( Integer dapat diba!a dalam 5 format sesuai dengan bilangan berbasis* !ecima" 'basis "?(, octa" 'basis B( dan hexa 'basis "C(. :ormat desimal sebagai !e&au"t, octa" dispesifikasikan dengan diawali O?Q dan hexa diawali O?KQ. :ormat tersebut dapat didahului tanda O3O untuk integer negative. $integer57> & 7>>>( $integer5? & @ >7>>>( $integer57A & >B7>>>( print,1integer57> C $integer57><B*>'-( print,1integer5? C $integer5?<B*>'-( print,1integer57A C $integer57A<B*>'-( &kan menghasilkan output ) Integer57> C 7>>> Integer5? C <;78 Integer57A C :>DA

Integer P$P sama dengan type "ong pada 1, tergantung pada ukuran word dari mesin komputer, maka sulit untuk menjawab se!ara tepat range untuk tipe ini. Pada sebagian besar p"at&orm rangenya adalah ) %5" S " atau '%."@<.@B5.C@<( s9d S'%5" S "( atau '3%."@<.@B5.C@<( b. Double &dalah floating point seperti ) $%irst5#"0b e & 789):;A( $se/"n#5#"0b e & >):;A( $e6en5#"0b e & 8)>( Integer dan double disimpan dalam format yang berbeda dan hasil dari ekspresi ) $%i6e & $e6en5#"0b e = 9( &kan menjadi double, bukan integer, walaupun ter!etak O8Q. Sebagai default double ter!etak dengan sejumlah minimum tempat yg dibutuhkan, !ontoh $!an. & 8)8????>>( $!an.58 & 8)87778>>( $%eE & $!an. = $!an.58( print ,1$!an. = $!an.58 & $%eE<B*>'-( &kan menghasilkan output ) 8)8???? = 8)87778 & :); :ormat double adalah SI.H dimana S dispesifikasikan optional sebagai negative dan I serta H sebagai digit antara ?37 $s!a 5p"siti6e & >)789:;( $s!a 5negati6e & <)789:;( $e6en5#"0b e & 8)>>>>>( $sti 5#"0be & 8(

Double dispesifikasikan dalam notasi s!ientifi! dengan menambahkan huruf e, sebagai !ontoh %.%e35 akan sama dengan %.%T"?35. $s!a 5p"siti6e & ;);e<9( print,1s!a 5p"siti6e is $s!a 5p"siti6e<B*>'-( $ arge5p"siti6e & 8)?e=7A( print,1 arge5p"siti6e is $ arge5p"siti6e<B*>'-( $s!a 5negati6e & <8888e<7>( print,1s!a 5 negati6e is $s!a 5 negati6e <B*>'-( $ arge5negati6e & <>)>>7?DeA( print,1 arge5negati6e is $ arge5negati6e <B*>'-( Akan !enghasi kan "0tp0t C s!a 5p"siti6e is >)>>;; arge5p"siti6e is 8)?E=7A s!a 5negati6e is @8)888E<>F arge5negati6e is @7?D> !. ,oolean &dalah nilai true atau false, digunakan sebagai kontrol seperti untuk test sebuah statement if. 4ilai -truth. boolean dapat dikombinasikan menggunakan operator logika untuk membuat lebih lengkap ekspresi boolean. P$P menyediakan sepasang konstanta khususnya untuk digunakan sebagai ,oolean ) #6-0 dan %)LS0. &turan untuk menentukan -truth. dari nilai yang tidak ada pada tipe boolean) ".2ika nilai adalah angka, &a"se jika sama dengan nol dan selain itu true %.2ika nilai adalah string, &a"se jika string mengandung karakter kosong atau string -?. selain itu true 5.2ika nilai adalah gabungan tipe data 'array atau ob7ect( &a"se jika tidak berisi nilai selain itu true

1ontoh ) Masing3masing variabel berikut akan mempunyai nilai #ruth yang embe!!e! dalam namanya, digunakan dalam konteks boolean $tr0e5n0! & 9 = >)7:7;D( $tr0e5str & 1trie# an# tr0e' $tr0e5arra.G:DH & 1an arra. e e!ent'( $%a se5n0! & DDD @ DDD( $%a se5str & 1 1( // karakter string k"s"ng d. String &dalah kumpulan karakter, seperti dibawah ) $string57 & 1This is a string in #"0b e I0"tes'( $string58 & 1This is a s"!eEhat "nger, sing . I0"te# string'( $string59D & 1This is a string has thirt.<nine /hara/ters'( $string5> & 1 1( //This is a string Eith Jer" /hara/ters String dapat ditutup dalam tanda petik tunggal maupun petik ganda. Petik tunggal seperti literalnya sedang petik ganda menggantikan variabel dengan nilainya seperti menginterpretasikan karakter khusus. $ itera . & KM. $6ariab e Ei n"t print3LnM( print,$ itrera .-( $Ein5path & KNCLLInetP0bLLPHPLLM( print,1A Ein#"Es<st. e pathna!eC $Ein5path<B*>'-( &kan menghasilkan output ) M. $6ariab e Ei n"t print3Ln A Ein#"Es<st. e pathna!eC NCLLInetP0bLPHPL

#ntuk menempelkan petik tunggal 'seperti apostrophe( dalam petik tunggal, beri tanda backs"ash ) $sing .5I0"te# & KThis I0"te !arkLMs n" big #ea eitherM( String yang dibatasi dengan petik ganda diproses dalam % !ara ) ". arakter tertentu yang dimulai dengan backs"ash 'OUQ( diganti dengan karakter khusus %.4ama variabal 'dimulai dengan A( diganti dengan string yang merepresentasikan nilainya. kirim*.h. </ht! > <%"r! a/ti"n&'k"s"ng)php' !eth"#&'p"st'> +a!aC <inp0t><br> // terbent0k 6ariabe $na!a <inp0t 6a 0e&'Oiri!'> </%"r!> </ht! > k"s"ng)php <ht! > <b"#.> <? e/h" $na!a( ?> </b"#.> </ht! > #ntuk menginisialisasi suatu variabel dalam P$P, se!ara sederhana berikan suatu nilai pada variabelnya. /api untuk tipe seperti array dan objek membutuhkan mekanisme yang berbeda $na!a & 'Hen#ra'( $berat & ;F);( $0!0r & 7F(

e. &rray /ipe array pada P$P memudahkan programmer !ara untuk mengelompokkan nilai3nilai yang berbeda dan mengindeksnya dengan numerik 'dan juga dengan nama(. Mlemen array dituliskan dengan indeks dalam tanda kurung 'theV"W, V%W,V5W..( dan elemn dari tipe yang berbeda dapat ditunjuk dengan array yang sama. print,1!.5arra. is $!.5arra.<B*>'-( print,1!.5arra.G>H is $!.5arra.G>H<B*>'-( print,1!.5arra.G;H is $!.5arra.G;H<B*>'-( $!.5arra.G;H & 1P "t QA'( print,1!.5arra. is $!.5arra.<B*>'-( print,1!.5arra.G>H is $!.5arra.G>H<B*>'-( print,1!.5arra.G;H is $!.5arra.G;H<B*>'-( &kan menghasilkan output ) !.5arra. is !.5arra.G>H is !.5arra.G;H is !.5arra. is Arra. !.5arra.G>H is !.5arra.G;H is P "t QA &rray adalah satu dari &eature yang paling berguna di P$P dan walaupun kelihatan seolah3olah seperti array dalam bahasa pemrograman lain, implementasi sangat berbeda. Dalam banyak bahasa pemrograman , kita mendeklasikan array dengan statement seperti ) Int intTarrayV"?W* 994+/ P$PX Men3set blok sampai variabel integer "? dalam memori yang dapat diakses dengan indeks intTarray antara ? S 7. Sejauh ini hanya integer yang digunakan sebagai indeks, sebenarnya nilai string juga dapat digunakan sebagai indeks array. Indeks string digunakan dgn !ara yg sama seperti indeks numerik, seperti) $tast.GKPpanishMH & 1pae a'(

$tast.GKRapaneseMH & 1sashi!i'( $tast.GKP/"ttishMH & 1haggis?'( Menginisialisasi Arra1 &rray dapat diinisialisasi dengan dua !ara yaitu dengan pemberian nilai langsung dan menggunakan konstruksi array'(. #ntuk memberikan nilai se!ara langsung pada suatu array, se!ara sederhana adalah memberikan nilai ke variabel array dengan subscript kosong. 4ilai tersebut akan ditambahkan sebagai elemen terakhir dari array. Sesuatu yang perlu diingat adalah elemen array dimulai dari indeK ? 'bukan "( $na!aG H & 1A#en'( //$na!eG>H & 1A#en' $na!aG H & 1Marsa'( //$na!aG7H & 1Marsa'( 1ontoh &rray) arra.)php <ht! > <h7>Me!b0at arra. /ara perta!a</h7> <? $aG>H & 1ab/'( // a a#a ah arra. ska ar $aG7H & 1#e%'( $bG1%""'H & 79( //b a#a ah arra. as"siati% e/h" 1+i ai aG>H&$aG>H, ni ai aG7H&$aG7H, <br> ni ai bGL'%""L'H&' ) $bG1%""'H( ?> <h7>Nara ke#0a</h7> <? $aG H & 1he "'( // $aG8H & & 1he "' $aG H & 1E"r #' // $aG9H & & 1E"r #' e/h" 1+i ai aG8H&$aG8H, +i ai aG9H&$aG9H( ?></ht! > !0 tiarra.)php <ht! ><?

$%&7>7 $aG7H & $%( Q/"nt"h sat0 #i!ensi $aG1%""'H & $%( $bG7HG>H & $%( Q#0a #i!ensi $bG1%""'HG8H & $%( $bG9HG1bar'H & $%( $/G1%""'HG:HG1bar'HG>H & $%( Qe!pat #i!ensi e/h" 1aG7H & $aG7H #an aGL'%""L'H&' ) $aG1%""'H( e/h" 1bG7HG>H & 1 ) $bG7HG>H ) 1 #an bGL'%""L'HG8H&' ) $bG1%""'HG8H( f. +bje!t Ob7ect adalah sebuah tipe data yang dapat berupa sebuah bilangan, variabel atau bahkan sebuah fungsi. Ob7ect dibuat dengan tujuan untuk membantu programmer yang terbiasa dengan Ob7ect Oriente! Programming, meski fasilitas ++P yang disediakan oleh P$P masih sangat kurang. ,erikut sebuah !ontoh penggunaan tipe data ob7ect. <? // "bSe/t)php / ass Test T 6ar $str & 1Uariabe N ass'( %0n/ti"n set56ar,$strT $this<>str & $str( V V $/ ass & neE Test( e/h"$/ ass<>str( $/ ass<>set56ar ,1Uariabe ObSe/t'-( e/h",1<br>$/ ass<>str'-( ?>

Dalam program ob7ect$php terdapat sebuah !lass dengan nama test, kemudian dibuat sebuah data obje!t test dari !lass test, data ini di!etak dan keluarannya adalah -,ariabe" *"ass-. 1lass test juga mempunyai mebuah method dengan nama setTvar, method ini digunakan untuk memberi nilai pada variabel Astr. Data obje!t test yang dibuat atau instance dari c"ass test akan mempunyai semua properties dari c"ass test, termasuk metho! metho!3nya, sehingga sebuah data bertipe ob7ect juga dapat mengandung sebuah metho! 'fungsi(. Pada program di atas metho! setTvar pada ob7ect test kita pakai untuk mengubah nilai variabel Astr menjadi -,ariabe" Ob7ect. kemudian men!etaknya. Menginisialisasi Ob+ek #ntuk menginisialisasi suatu ob7ect, dapat menggunakan perintah new. Perintah ini digunakan untuk menginisialisasi suatu objek kepada suatu variabel. N ass k"s"ng T 40n/ti"n ti#ak,- T E/h" 1ti#ak !e ak0kan apa<apa'( V V $bar & neE k"s"ng( $6ar <> ti#ak,-( "*"*# 5ariabel .ada PHP ". 2angkauan Jariabel 2angkauan suatu variabel adalah tergantung pada dimana variabel tersebut didefinisikan. Pada umumnya semua varibel P$P hanya memiliki suatu jangkauan. Setiap variable yang digunakan dalam suatu fungsi, maka se!ara !e&au"t jangkauannya adalah lokal. Sebagai !ontoh ) $a & 7( /*Sangka0an g "ba */ 40n/ti"n /"ba,- T E/h" $a( /*!enga/0 pa#a 6ariabe Sangka0an "ka */ V /"ba,-(

Script diatas tidak mengeluarkan apapun, karena Aa dalam fungsi 1oba menga!u pada Aa lokal yang mana tidak memiliki nilai apapun. $al ini berbeda dengan bahasa 1 yang mana setiap variabel global menjadi nampak bagi semua fungsi, ke!uali didefinisikan sebagai lokal. Dalam P$P, variabel global harus dideklarasikan sebagai global di dalam suatu fungsi jika mereka akan digunakan dalam fungsi tersebut. 1ontoh ) $a & 7( $b & 8( 40n/ti"n hit0ng,- T W "ba $a, $b( $b & $a = $b( V hit0ng,-( e/h" $b( Script diatas akan menghasilkan keluaran -5.. Dengan mendeklarasikan Aa dan Ab sebagai global di dalam fungsi. 1ara kedua untuk mengakses variabel sebagai a!uan global adalah dengan menggunakan definisi A>0+,&0. 1ontoh sebelumnya dapat juga ditulis menjadi ) $a & 7( $b & 8( 40n/ti"n hit0ng,T $WLOBALPG1b'H & $WLOBALPG1a'H = $WLOBALPG1b'H( V hit0ng,-( e/h" $b( A>0+,&0S array adalah suatu asosiasi array dengan key adalah nama dari variabel global. $al lain yang penting dari jangkauan adalah variabel -stati!.. Suatu variabel hanya ada pada jangkauan lokal fungsi, dan nilainya akan tetap dipertahankan. 40n/ti"n /"ba,- T

$a & >( e/h" $a( $a==( V Pada fungsi diatas nilai Aa kembali menjadi ? utnuk setiap pemanggilan. &rtinya nilai Aa akan hilang begitu program keluar dari fungsi. 1ontoh berikut menggunakan variabe" static. Setiap kali fungsi !oba'( dipanggil maka nilai Aa pada pemanggilan sebelumnya. 40n/ti"n /"ba,- T Ptati/ $a & >( e/h" $a( $a==( V %. Jariabel3Jariabel adang3kadang lebih nyaman menggunakan variabel3variabel* yang mana adalah nama variabel yang dapat digunakan se!ara dinamis. Se!ara normalnya variabel dibuat dengan ) $a & 1he "'( // n"r!a <> terbent0k 6ariabe $a berisi 1he "' Suatu variabel variabel akan menggunakan nilai dari suatu variabel menjadi nama variabel, !ontoh ) $a & 1he "'( // n"r!a <> terbent0k 6ariabe $a berisi 1he "' $$a & 1E"r #'( // 6ariabe <6ariabe <> terbent0k 6ariabe $he " berisi 1E"r #' Pada !ontoh diatas akan terbentuk dua variabel yaitu Aa dan Ahello. Dimana Aa berisi -hello. dan Ahello berisi -world.. Selanjutnya perintah berikut ini E/h" 1$a $T$aV'( // !enghasi kan 1he " E"r #' E/h" 1$a $he "'( // !enghasi kan 1he " E"r #' 5. Penentuan /ipe Jariabel Penentuan tidak membutuhkan deklarasi variabel se!ara eksp"isit, tipe variabe" ditentukan berdasarkan konteks pemakaiannya pada saat runtime. Dengan kata lain, jika memberi nilai string ke suatu variabel var, var menjadi suatu variabel tipe string. 2ika memberi nilai integer ke var, maka otomatis berubah menjadi tipe integer. Suatu !ontoh dari otomatisasi konversi tipe

pada P$P adalah operator penjumlahan -Y.. 2ika salah satu operandnya adalah tipe double, maka semua operand lainnya dievaluasi sebagai double dan hasilnya adalah double $/"ba & 1>'( //$/"ba a#a ah string ,APNII :?$/"ba==( //$/"ba a#a ah string 17' ,APNII :D$/"ba =& 7( //$/"ba sekarang a#a ah integer ,8$/"ba & $/"ba = 7)9( //$/"ba sekarang a#a ah #"0b e ,9)9$/"ba & ; = 17> k"tak'( //$/"ba a#a ah integer ,7;@. Mengetahui /ipe suatu Jariabel arena P$P menentukan tipe variabel sesuai dengan konteks pemakaiannya, maka dapat digunakan fungsi berikut untuk memeriksa tipe pada suatu variabel gettype'(, isTlong'(, isTdouble'(, isTstring'(, isTarray'( dan isTobje!t. Uariabe )php <h7>integer</h7> <? $a & 789:( Q angka #e/i!a $b & <789( Q angka negati% $/ & >789( Q angka "kta #e/i!a ,sa!a #engan ?9 #e/i!a $# & >B78( Qangka heXa #e/i!a ,sa!a #engan 7? #e/i!a e/h" 1+i ai a&$a, ni ai b&$b, ni ai /,#e/i!a -&$/, <br> +i ai #,#e/i!a -&$# <br>'( ?> <h7>% "ating p"int</h7> <? $a & 7)89:(

$b & 7)8e9( e/h" 1+i ai a&$a, ni ai b&$b <br>'( ?> 2ika string diapit oleh tanda kutip ganda '-...(, maka variabel yang ada di dalam apitan itu akan di ekspand, artinya isi variabel itu akan dikeluarkan. 1ontohnya adalah pada baris yang mengandung fungsi e!ho' ( pada latihan sebelumnya. /abel @." arakter3karakter khusus dalam P$P5 'es!ape !hara!ter( SeZuen!e &rti SeZuen!e &rti Un 4ewline 'garis baru( UU ,a!kslash Ur 1arriage UA Double Zuote Ut $ori[ontal tab U. /anda dollar 8. /ipe 1asting /ipe !asting dalam P$P bekerja seperti dalam 1, nama dari tipe yang di inginkan di tulis di dalam kurung sebelum variabel yang akan di !ast. $/"ba & 7>( //$/"ba a#a ah s0at0 integer $bar & ,#"0b e- $/"ba //$bar a#a ah s0at0 #"0b e 1ast yang diperbolehkan ) G 'int(, 'integer( S !ast ke integer G 'real(, 'double(, 'float( S !ast ke double G 'string( S !ast ke string G 'array( S !ast ke array G 'obje!t( S !ast ke obje!t C. MKpression 0xpression adalah -segala sesuatu yang memiliki harga.. Misalnya konstanta dan variabel. Saat mengetik -Aa\8., kita mengisikan angka O8Q ke dalam Aa. Sesungguhnya O8Q memiliki nilai 8, atau dengan kata lain O8Q adalah sebuah ekspresi dengan nilai 8 'dalam hal ini, O8Q adalah konstanta integer(. Setelah assigment ini, harga Aa akan menjadi 8 juga sehingga jika &nda

tuliskan Ab\Aa, efeknya akan sama jika ditulis Ab \ 8. Dengan kata lain, Aa adalah sebuah ekspresi dengan nilai 8 juga. 1ontoh eKpression yang lebih kompleks adalah fun!tion. Misalnya, perhatikan !ontoh dibawah ini ) :un!tion foo ' ( ] return 8* ^ Menuliskan A! \ foo ' ( sesungguhnya sama dengan menuliskan A! \ 8, karena &unction adalah ekspresi dengan nilai sesuatu yang dikeluarkannya (return va"ue )$ arena foo ' ( mengeluarkan 8, nilai dari ekspresi foo ' ( adalah 8. 4amun biasanya &unction tidaklah mengeluarkan sesuatu yang statis seperti itu, melainkan sesuatu yang telah dihitung sebelumnya. Suatu P$P script terdiri dari sejumlah perintah yang berurutan. Suatu perintah dapat berupa pemberi nilai, pemanggilan terhadap fungsi, perulangan, perintah kondisi dan baris kosong, Setiap perintah diakhiri dengan sebuah titik koma '*(. Dan beberapa perintah dapat dikelompokkan menjadi satu dalam kurung kurawal ] dan ^. 1atatan ) setiap perintah diakhiri dengan sebuah titik koma '*(. "*"*) K,ntr,l .ada PHP ". onstanta P$P memiliki sejumlah konstanta yang telah didefinisikan dan diberi kesempatan untuk membuat konstanta sesuai dengan kebutuhan. onstanta yang telah didefinisikan adalah T:I0MT 'nama file yang sedang diproses( T0I4MT 'nomor baris dari file yang sedang diproses( 1ontoh ) <?php %0n/ti"n rep"rt5err"r,$%i e, $ ine, $!essageT e/h" 1P0at0 kesa ahan terSa#i pa#a %i e $%i e bari $ ineC $!essage)'( V rep"rt5err"r,54ILE5,5LI+E5,'Te ah terSa#i s0at0 kesa ahan3'-( ?> onstanta !iptaan dapat didefinisikan dengan menggunakan fungsi define'(. 1ontoh )

<?php #e%ine,1NO+PTA+T','He " E"r #)'-( e/h" NO+PTA+T( //akan !en/etak 1He " E"r #)' ?> %. Mkspresi $ampir semua yang ditulis dalam P$P script adalah script. Definisi yang paling mudah dari ekspresi adalah -segala sesuatu yang memiliki nilai.. 1ontoh yang paling sederhana dari ekspresi adalah konstanta dan variabel. etika mengetik -Aa\8. maka artinya memberikan nilai O8Q ke Aa. 1ontoh yang lebih kompleks untuk suatu ekspresi adalah fungsi. #ntuk ebih jelasnya perhatikan !ontoh dibawah ini ) 40n/ti"n he " ,T *et0rn ;( V Maka kala ditulis A! \ hello'( adalah sama dengan memberikan nilai 8 ke variabel A!, karena fungsi hello mengembalikan 8. Diatas adalah !ontoh fungsi yang sederhana. P$P mendukung 5 tipe nilai skalar yaitu ) ni"ai integer, &"oating point dan string. '4ilai skalar adalah nilai yang tidak dapat dibagi menjadi bagian yang lebih ke!il, seperti array(. P$P juga mendukung % tipe nilai bukan skalar yaitu array dan objek. 5. Per!abangan a. If Perintah If adalah sesuatu yang paling penting pada bahasa pemrograman umumnya. Perintah If P$P menyerupai bentuk If pada bahasa 1. If 'ekspresi( Perintah Mkspresi adalah sesuatu yang dapat dievaluasi menjadi nilai T*YE atau 4ALPE. ,erikut ini adalah !ontoh yang akan men!etak Oa lebih besar dari bQ jika nilai Aa lebih besar dari Ab. I% ,$a > $bPrint 1a ebih besar #ari b'( 2ika perintah yang akan dijalankan ketika ekspresi #6-0 lebih dari satu maka perintah3perintah tersebut perlu dikelompokkan dengan kurung kurawal ] dan ^ dapat juga dibentuk i& yang bersangkar 'i& dalam i&( I% ,$a > $b- T

Print 1a ebih besar #ari b'( $b & $a( V b. Mlse Sering kita perlu menjalankan perintah lain kalau nilai ekspresi adalah %)LS0. #ntuk keperluan tersebut dapat digunakan perintah Mlse. I% ,$a > $b- T Print 1a ebih besar #ari b'( V e se T Print 1a ti#ak ebih besar #ari b'( V !. Mlseif Mlseif adalah kombinasi dari suatu i& dan e"se, dapat digunakan pada suatu pilihan multi kondisi. I% ,$a > $b- T Print 1a ebih besar #ari b'( V e sei% , $a&&$b- T Print 1a sa!a #engan b'( V e se T Print 1a ebih ke/i #ari b'( V d. SWI/1$ Perintah S+I#*H menyerupai sejumlah perintah I% dengan ekspresi yang sama. Sering kali kita ingin membandingkan sejumlah variabel 'atau ekspresi( dengan sejumlah nilai dan menjalankan perintah tertentu untuk masing3masing nilai. 1ontoh".php /* /"nt"h 7 */

i% ,$I && >T print 1I sa!a #engan >'( V i% ,$I && 7T print 1I sa!a #engan 7'( V i% ,$I && 8T print 1I sa!a #engan 8'( V Perintah S+I#*H dieksekusi se!ara baris per baris 'aktualnya perintah per perintah(. Pada awalnya tidak ada kode yang dijalankan. $anya sesaat ketika suatu perintah *)S0 ditemukan dengan nilai yang sesuai dengan nilai ekspresi pada S+I#*H, P$P menjalankan perintah. P$P melanjutkan eksekusi sampai akhir dari blok S+I#*H atau pertama kali menemukan suatu perintah 160):. 2ika tidak menulis suatu perintah 160): pada akhir dari daftar perintah pada suatu !ase, P$P akan melanjutkan eksekusi untuk !ase selanjutnya. 1ontoh%.php /* /"nt"h 8 */ sEit/h ,$I- T /ase >( print 1I sa!a #engan >'( /ase 7( print 1I sa!a #engan 7'( /ase 8( print 1I sa!a #engan 8'( V Disini jika AI sama dengan ?, P$P akan mengeksekusikan seluruh perintah print X. 2ika AI sama dengan ", P$P akan mengeksekusikan dua perintah print terakhir, jika dan hanya jika AI sama dengan % ter!etak OI sama dengan %Q. 2adi adalah sangat penting untuk tidak melupakan perintah 160):. Suatu case yang khusus adalah case !e&au"t. *ase ini akan sama dengan segala sesuatu yang tidak dapat disamakan dengan case ; case sebelumnya. @. Perulangan

a. While +hi"e adalah perulangan yang paling sederhana pada P$P. ,entuk dasar dari perintah +hi"e adalah ) 2HILE,ekspresi- state!ent Statement akan diulang selama ekspresi memiliki nilai #6-0. 2ika pada perulangan ternyata ekspresi bernilai %)LS0 maka perulangan tidak pernah dilakukan. 2ika perintah yang akan diulang lebih dari satu maka perintah3perintah tersebut dapat dikelompokkan dengan mengetiknya diantara kurung kurawal ] dan ^ atau menggunakan tata !ara penulisan alternatif ) 2HILE,ekspresi- C state!entZ E+D2HILE* ,erikut ini adalah % !ontoh yang identik yang akan men!etak nilai " s9d "? ) N"nt"h9)php C /*/"nt"h */ $I & 7( Ehi e ,$I <& 7>- T print $I==( /*ni ai .g #i/etak a# ni ai $I sebe 0! #ita!bah 7 ,p"st<in/re!ent-*/ V N"nt"h :)php /*/"nt"h */ $I & 7( Ehi e ,$I <& 7>-C print $I( $I==( en#Ehi e( b. Do R While

Perulangan 9O<+HIL0 adalah sama saja dengan perulangan +hi"e, hanya ekspresi diperiksa pada akhir dari perulangan. 2adi perulangan jenis ini minimal terjadi satu kali. /ata !ara penulisan untuk perulangan 9O<+HIL0 ) $I & >( #" T print $I( V Ehi e ,$I>>-( !. :+6 Perulangan %O6 adalah perulangan yang paling kompleks dalam P$P, dan menyerupai perulangan %O6 pada bahasa 1. /ata !ara penulisan untuk perulangan %O6 ) 4O* ,ekspresi7( ekspresi8( ekspresi9- state!ent Mkspresi pertama 'ekspresi"( dievaluasi 'dieksekusi( se!ara un3kondisional pada awal perulangan. Pada awal dari tiap iterasi, ekspresi% akan dievaluasi. 2ika hasil evaluasi adalah #6-0 maka perulangan akan diteruskan dan statement akan dieksekusi. 2ika hasil evaluasi %)LS0 maka perulangan diakhiri. Pada akhir dari tiap iterasi, ekspresi5 akan dievaluasi 'dieksekusi(. 1ontoh berikut akan men!etak angka " s9d "? ) N"nt"h;)php 4"r ,$I & 7( $I <& 7>( $I==T Print $I( V N"nt"hA)php 4"r ,$I & 7(( $I==- T I% ,$I > 7>- T Break( V Print $I( V N"nt"hF)php $I & 7( 4"r ,((- T I% ,$I > 7>- T Break( V

Print $I( $I==( V N"nt"h?)php 4"r ,$I & 7( $I <& 7>( print $I, $I==-( d. ,6M& 160): keluar dari perulangan yang sekarang ) $I & >( Ehi e,$I < 7>- T i% ,$arrG$IH && KberhentiM- T break( V $I==( V e. 1+4/I4#M *O.#I.-0 akan melon!at ke awal perulangan yang sekarang Ehi e, ist,$ke.,$6a 0e- & ea/h,$arr-- T i% ,$ke. [ 8- T // "n/ati angg"ta genap /"ntin0e( V OerSakanYangWanSi ,$6a 0e-( V "*"*7 RE2$&RE Perintah 60=-I60 menganti perintah tersebut dengan file tertentu dan hampir menyerupai pro!essor Qin/ 0#e pada bahasa 1. $al ini berarti anda tidak dapat meletakkan perintah reZuired'( dalam suatu struktur perulangan dan mengharapkannya untuk mengikutsertakan file yang berbeda pada tiap iterasi. #ntuk melakukan hal tersebut harus menggunakan perintah I.*L-90. 6eZuire 'Oheader.in!Q(* "*"*! &N'($DE

Perintah I.*L-90 akan mengikutsertakan dan mengevaluasi file tertentu. $al ini terjadi setiap kali perintah I.*L-90 ditemukan, jadi dapat digunakan perintah I.*L-90 diantara suatu struktur perulangan untuk mengikutsertakan sejumlah file yang berbeda. $%i es & arra. ,K%irst)in/M,Mse/"n#)in/M,Mthir#)in/M-( %"r ,$I & >( $I < /"0nt,$%i es-( $I==- T in/ 0#e,$%i esG$IH-( V In!lude'( berbeda dengan reZuire'(. Pada perintah in!lude evaluasi dilakukan kembali setiap kali perintah tersebut ditemukan 'dan hanya ketika hal tersebut dijalankan(, sedangkan perintah re5uire'( akan diganti dengan file yang diperlukan ketika pertama kali ditemukan, terserah apakah file tersebut akan dievaluasi atau tidak. arena I.*L-90 adalah suatu konstruksi bahasa khusus maka harus diapit diantara blok. 9_ Hang ini S&0&$ dan tidak akan bekerja sesuai dengan yg diharapkan _9 i% ,$/"n#it"nin/ 0#e,$%i e-( e se in/ 0#e,$"ther-( /* Yang ini BE+A* */ i% ,$/"n#iti"nT in/ 0#e,$%i e-( V e se T in/ 0#e,$"ther-( V "*"*> O.erat,r .ada PHP " +perator &ritmatika /abel +perator &ritmatika 1ontoh 4ama $asil Aa Y Ab Penjumlahan 2umlah dari Aa dan Ab Aa S Ab Pengurangan Sisa dari pengurangan Aa dengan Ab Aa _ Ab Perkalian Perkalian dari Aa dengan Ab Aa 9 Ab Pembagian $asil bagi Aa dibagi dengan Ab Aa N Ab Modulus Sisa hasil bagi Aa dibagi dengan Ab +perator pembagian '-9.( mengembalikan suatu nilai bulat 'hasil dari suatu pembagian bulat( jika kedua operan adalah integer 'atau string yang dikonversi ke integer(. 2ika salah satu operan adalah nilai floating3point value, pembagian floating point dilakukan.

%. +perator String $anya ada satu operator string, yaitu operator !on!atenation '-..(. $a & 1 He " 1( $b & $a ) 1 2"r #3 1( // n"E $b & 1 He " 2"r #3 1 +perator &ssignment 'Pemberi 4ilai( +perator assignment adalah -\.. &rtinya adalah operan yang di kiri diisi dengan nilai dari ekspresi di sebelah kanan. 4ilai dari ekspresi assignment adalah nilai yang ditentukan . &kibatnya, nilai dari -Aa \ 5. adalah 5. Dengan demikian hal dibawah ini menjadi benar adanya ) $a & ,$b&:- = ;( // $a sekarang berisi D, #an $b berisi :) 5. +perator ,itwise +perator ,itwise dapat digunakan untuk membuat bit tertentu dari integer menjadi on '"( atau o&& '?(. /abel +perator ,itwise 1ontoh 4ama Aa L Ab &nd Aa ` Ab +r Aa a Ab Ior b Aa 4ot Aa DD AbShift left $asil ,it yang bernilai " pada Aa dan Ab akan di3set ". ,it yang bernilai " pada Aa atau Ab akan di3set ". ,it yang bernilai " pada Aa atau Ab tetapi tidak pada keduanya akan diset ". ,it yang bernilai " pada Aa akan diset ?, dan sebaliknya. >eser bit Aa sebanyak Ab langkah kekiri 'setiap langkah berarti -kalikan dengan dua.(. Aa FF AbShift >eser bit Aa sebanyak Ab langkah kekanan right ' setiap langkah berarti -dibagikan dengan dua.(. @. +perator 0ogika /abel +perator 0ogika 1ontoh 4ama $asil Aa and Ab &nd ,enar jika Aa dan Ab adalah benar. Aa or Ab +r ,enar jika salah satu Aa atau Ab adalah benar. Aa Kor Ior ,enar jika salah satu Aa atau Ab adalah benar, tetapi tidak keduanya. XAa 4ot ,enar jika Aa tidak benar. Aa LL Ab &nd ,enar jika Aa dan Ab adalah benar.

Aa `` Ab

+r

,enar jika salah satu Aa atau Ab benar.

8. +perator Perbandingan +perator perbandingan memperbolehkan untuk membandingkan dua nilai /abel +perator Perbandingan 1ontoh 4ama $asil Aa \\ AbSama dengan ,enar jika Aa sama dengan Ab. Aa X\ Ab /idak sama dengan ,enar jika Aa tidak sama dengan Ab Aa D Ab urang dari ,enar jika Aa lebih ke!il Ab Aa F Ab 0ebih dari ,enar jika Aa lebih besar dari Ab. Aa D\ Ab urang dari atau sama ,enar jika Aa lebih ke!il atau sama dengan dengan Ab. Aa F\ Ab0ebih dari atau sama dengan,enar jika Aa lebih besar atau sama dengan Ab. C. #rutan +perator #rutan operator menentukan bagaimana suatu ekspresi dikerjakan oleh P$P. 1ontohnya, pada " Y 8 _ 5, jawabannya adalah "C dan bukan "B karena perkalian operator '_( memiliki urutan yang lebih tinggi untuk dikerjakan terlebih dahulu daripada operator penjumlahan 'Y(.

/abel #rutan +perator &sso!iativity 0eft 0eft 0eft 0eft 6ight 0eft 0eft 0eft +perator , +r Ior &nd Print \Y\3\_\9\.\N\L\X\b\DD\FF\ E) ``

&sso!iativity +perator 0eft LL 0eft ` 0eft a 0eft L 4on3asso!iative\\ X\ 4on3asso!iativeDD\FF\ 0eft DDFF 0eft Y3. 0eft _9 N 6ight XbYYS'int( 'double( 'string( 'array( 'obje!t( P 6ight V 4on3asso!iative4ew "*"*? Menangani 5ariabel 3,rm@ ',,kies dan EnAir,nment ". Jariabel pada :orm

Pada pemrograman 1>I, program kita akan berinteraksi dengan variabel3variabel dari luar yang dikirm melalui form baik dengan metode >et maupun metode P+S/. etika suatu form dikirm ke suatu P$P s!ript, semua varaibel dari form se!ara otomatis dapat diproses oleh s!ript P$P sebagaimana variabel biasanya. Sebagai !ontoh ) <%"r! a/ti"n & 1k"s"ng)php' !eth"#&'p"st'> +a!a C inp0t t.pe & 1teXt' na!e&'na!a'><br> <inp0t t.pe&'s0b!it' 6a 0e&'Oir!'> </%"r!> 4ama ) irim etika form disubmit, maka P$P akan membuat variabel Anama, yang mana mengandung apa yang diketikkan pada field 4ama ) di form tersebut. P$P juga mendukung variabel array dalam konteks form, tapi dibatasi hanya " dimensi, 1ontoh ) <%"r! a/ti"n&'arra.)ht! ' !eth"#&'p"st'> +a!a C <inp0t t.pe & 1teXt' na!e&'pers"na Gna!aH'><br> E!ai C <inp0t t.pe & 1teXt' na!e&'pers"na Ge!ai H'><br> Beer C <br> <se e/t !0 tip e na!e&'beer'GH'> <"pti"n 6a 0e&'Earth"g'>2arth"g <"pti"n 6a 0e&'g0inness'>W0inness </se e/t> <inp0t t.pe&'s0b!it'> </%"r!> 4ama ) Mmail ) ,eer ) Warthog Submit ;uery

%. Jariabel pada IM&>M S#,MI/ etika mengirim suatu form, juga dimungkinkan untuk menggunakan suatu gambar sebagai pengganti tombol submit dengan tag $/M0 berikut ) <inp0t t.pe na!e sr/&'i!age)gi%' na!e&'s0b'> etika pemakai melakukan klik pada gambar tersebut, maka form akan dikirim ke 1>I dengan % variabel tambahan yaitu subTK dan subTy. edua variabel ini adalah koordinat dimana klik dilakukan pada gambar. 5. Jariabel pada $//P 1ookies P$P se!ara transparan mendukung $//P *ookies. *ookies adalah suatu mekanisme penyimpanan data se!ara remote pada browser klien. $al ini dapat digunakan untuk mengidentifikasikan pemakai pada kunjungan berikutnya. ita dapat menggunakan fungsi Set*ookie'(. *ookie adalah bagian dari $//P hea!er, jadi fungsi Set*ookie harus dipanggil sebelum output lainnya dikirim ke browser. $al ini adalah sama batasannya untuk fungsi Hea!er'(. Semua *ookies yang dikirim pada kita dari klien akan se!ara otomatis diubah ke dalam suatu variabel P$P seperti metho! 40# dan POS# data. 2ika ingin memberikan banyak nilai pada suatu *ookie tunggal, tambahkan saja V W pada nama *ookie. Sebagai !ontoh ) PetN""kie ,1M.N""kieG H', 1Testing', ti!e,- = 9A>-( 1atatan ) bahwa suatu cookie akan menimpa cookie sebelumnya yang memiliki nama yang sama dalam browser, ke!uali path atau domainnya berbeda. 2adi #ntuk suatu aplikasi shopping cart perlu menyimpan suatu counter dan mengirimnya bersamaan. 1ontoh )

$/"0nt==( PetN""kie ,1N"0nt', $N"0nt, ti!e,- = 9A>>-( PetN""kie ,1Nsrt G$N"0ntH', $ite!, ti!e,- = 9A>>-( @. Jariabel Mnvironment P$P se!ara otomatis membuat variabel lingkungan normalnya seperti variabel P$P. E/h" $HOME( /* Mena!pi kan 6ariabe en6ir"n!ent, Sika set) */

Sejak informasi datang dengan >M/, P+S/ dan mekanisme *ookies se!ara otomatis menjadi variabel $P, adalah lebih baik memba!a variabel langsung dari lingkungan untuk mendapatkan versi yang sebenarnya. :ungsi getenv'( dapat digunkaan untuk melakukan hal ini. ita dapat juga membentuk suatu variabel lingkungan dengan fungsi putenv'(.

BAB &&& PEN$%$P

#*1 Kesim.ulan Pembuatan web menggunakan pemrograman P$P mempunyai berbagai ma!am kelebihan dan keunggulan bila dibandingkan dengan menggunakan program lain yang sejenis. ,erbagai ma!am kemudahan yang ada pada program P$P sangat fleksibel dan akan memberikan kemudahan dalam aplikasinya. Sebagai !ontoh, data masukkan dalam suatu form html se!ara otomotis di3variabel3kan dan dapat digunakan langsung, sehingga tidak perlu memparsing apa yang disebut 5uery string. onektivitas Database !ukup kuat dengan dukungan native !river untuk sekitar "8 database paling populer plus ODBN. P$P mendukung sejumlah besar protokol seperti POP9, IMAP dan LDAP) PHP : juga mempunyai dukungan baru untuk 2ava dan arsitektur pendistribusian objek 'NOM dan NO*BA(, membuat n3kali pengembangan untuk pertama kali. P$P tidak mendukung c"ose! source. Sebagai !ontoh komputer &pple dan Mi!rosoft tidak dapat bekerjasama dengan proyek open source seperti P$P. ,erbagai keunggulan yang dimiliki oleh P$P sangat berperan penting dalam perkembangan dunia teknologi khususnya dalam bidang internet dan penyebaran informasi. Se!ara tidak langsung perkembangan tersebut juga akan mempengaruhi terhadap berbagai aspek kehidupan manusia. #*" -aran Sebelum membuat sebuah s!ript di dalam P$P sebaiknya terlebih dahulu memahami tentang $/M0 dan dasar3dasar pemrograman '191YY( karena pemahan yang !ukup dalam pemrograman dasar'191YY( akan lebih mempermudah dalam aplikasi pembuatan sebuah s!ipt di dalam program P$P.

DA3%AR P$-%AKA

Pur8ant,@ 1udi* "

1* Pemr,graman 8eb Dengan PHP@ Ele4 Media K,m.utind,@ Bakarta*