Preview only show first 10 pages with watermark. For full document please download

Pemrograman Web Dengan Php Mysql

PHP dan MySQL

   EMBED


Share

Transcript

Pemrogr v1.0 Pemrograman Web dengan PHP dan MySQL Achmad Solichin, S.Kom Buku ini disusun berdasarkan materi erkuliahan Pemrograman Web sesuai dengan kurikulum standar di erguruan tinggi komuter. !i dalam buku ini tidak terlalu dibahas mengenai teori dan algoritma emrograman, namun banyak berisi contoh"contoh rogram yang daat diraktekkan secara langsung serta disertai dengan en#elasannya. !engan demikian, buku ini sangat cocok bagi Anda yang baru bela#ar emrograman $eb dan haus akan contoh"contoh rogram. Buku ini #uga sesuai di#adikan sebagai re%erensi enyusunan raktikum erkuliahan bagi mahasis$a mauun sis$a. aman Web dengan PHP dan MySQL ( a c hm at im @ g m ai  l.c om ) 1 Achmad Solichin Achmad Solichin, S.Kom &ni'ersitas Budi Luhur,  (akarta   h t t  ) ** a c h mat im.  n e t + a c hm a t imgma il.  com Pemrograman Web dengan PHP dan MySQL Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 2 …ku persembahkan untuk Indonesia tanah air tercinta, dan untuk Chotimatul   Musyarofah istri tersayang serta Muhammad Lintang putra tercinta kami… Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 3 Pemrograman Web dengan PHP dan MySQL Lisensi !okumen Seluruh isi dalam dokumen ini daat digunakan, dimodi%ikasi dan disebarluaskan secara bebas untuk tu#uan endidikan, embela#aran dan bukan komersial - non proft  , dengan syarat tidak menghilangkan, menghaus atau mengubah atribut enulis dokumen ini dan ernyataan dalam lisensi dokumen yang disertakan di setia dokumen. /idak dierbolehkan melakukan enulisan ulang atau mengkomersialkan buku ini kecuali mendaatkan i#in terlebih dahulu dari enulis. Pemrograman Web dengan PHP dan MySQL Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 4 Kata Pengantar 0nternet meruakan salah satu %enomena aling berengaruh dalam beberaa dekade terakhir ini, baik bagi erkembangan teknologi itu sendiri mauun bagi erkembangan disilin ilmu lain, seerti ekonomi, olitik, sosial dan budaya. Perkembangan internet  #uga berengaruh langsung terhada erkembangan situs $eb. !i a$al kemunculannya, internet mauun situs $eb belum begitu ouler karena layanannya yang masih terbatas. 1amun lihatlah saat ini, situs $eb sudah demikian ouler dan layanannya un beragam, mulai dari situs berita seerti !etik dan 2ke3one, situs enyedia email seerti 4ahoo dan 5mail, samai situs ertemanan - social networking  seerti 6riendster dan 6acebook. !alam kaitannya dengan situs $eb dan layanan di dalamnya tidak leas dari teknologi di baliknya, yaitu emrograman $eb, desain $eb dan database. Salah satu bahasa emrograman yang banyak digunakan untuk membangun suatu situs $eb adalah PHP   - h t t  )*  *$ $$.   h  .n e t   . Penggunaannya saat ini bahkan sudah mencaai 78 #uta situs $eb. Sedangkan dari sisi database, enggunaan MySQL - h t t  )*  *$ $$.  m ys9 l.  c om    masih  #uga mendominasi dalam alikasi berbasis $eb. Melalui buku ini, enulis berusaha mengenalkan dasar"dasar dari PHP dan MySQL untuk membangun suatu situs $eb. Buku ini sebagian besar menya#ikan berbagai contoh rogram yang disusun secara terstruktur dari yang mudah samai yang cuku komleks. !engan adanya contoh"contoh rogram tersebut, diharakan embaca daat memraktekkannya secara langsung - learning by doing  dan daat menyimulkan sendiri maksud dari setia erintah dalam rogram dengan cara melihat hasil yang ditamilkan di layar - browser  . !i akhir buku ini, disa#ikan contoh yang lebih nyata, yaitu alikasi situs berita sederhana yang daat dikembangkan lebih lan#ut. Buku ini cocok bagi embaca yang baru mulai bela#ar PHP dan MySQL secara mandiri karena contoh"contoh dalam buku ini disa#ikan sesederhana mungkin. Buku ini #uga cocok digunakan sebagai anduan raktikum emrograman $eb di erguruan tinggi, sekolah mauun kursus"kursus. Akhirnya enulis berhara agar buku ini berman%aat bagi erkembangan ilmu dan engetahuan di 0ndonesia, khususnya dalam hal emrograman $eb dan internet. Saran dan kritik untuk erbaikan buku ini sangat enulis harakan. Saran, kritik dan masukan mengenai buku ini daat disamaikan melalui email ke enulis di ac hm ati  m g m a il. c o m atau melalui situs enulis di h t t  )** a chm a t im.  n et . Penulis Achmad Solichin Pemrograman Web dengan PHP dan MySQL Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 5 !a%tar 0si I. Pengenalan Web Ser'er dan Ser'er Side Scriting ...............................: ;. Web Ser'er.................................................................................................................. : 7. Ser'er Side Scriting ................................................................................................... < =. /est 0nstalasi >AMPP di Bro$ser............................................................................... ;= II. Struktur !asar PHP ............................................................................. ;? ;. Sebelum Bela#ar PHP ................................................................................................. ;? 7. Mari Mengenal PHP .................................................................................................. ;? =. Say Hello to PHP ........................................................................................................ ;8 ?. @ariabel ..................................................................................................................... ;8 8. /ie !ata ................................................................................................................... ;    . Konstanta .................................................................................................................. ;: :. 2erator dalam PHP ................................................................................................. ;: <. Komentar Program.................................................................................................... ; III. Struktur Kondisi dan Perulangan ........................................................ 7; ;. Struktur Kondisi......................................................................................................... 7; 7. Struktur Perulangan .................................................................................................. 78 =. Struktur Break dan Continue .................................................................................... 7 IV. Penanganan 6orm ............................................................................... =D ;. Berbagai Cara Penanganan 6orm .............................................................................. =D 7. 6orm 0nut /ye /E>/ dan PASSW2F! .................................................................... == =. 6orm 0nut /ye FA!02 ............................................................................................ = Pemrograman Web dengan PHP dan MySQL Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 6 ?. 6orm 0nut /ye CHECK B2> .................................................................................... =< 8. 6orm 0nut /ye C2MB2 B2> .................................................................................. = . 6orm 0nut /ye /E>/AFEA ...................................................................................... ?; V. Array dan 6ungsi ................................................................................. ?= ;. Pengantar Array ........................................................................................................ ?= 7. 6ungsi"%ungsi Array dalam PHP ................................................................................. ?: =. 6ungsi dalam PHP ...................................................................................................... 8D VI. Penanganan String dan /anggal ......................................................... 87 ;. Pengantar String........................................................................................................ 87 7. 6ungsi"%ungsi String dalam PHP ................................................................................ 8= =. 6ungsi"%ungsi 2erasi /anggal dalam PHP ................................................................ D VII. 6ile dan !irektori ................................................................................ 7 ;. Penanganan 6ile ........................................................................................................ 7 Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 7 Pemrograman Web dengan PHP dan MySQL 7. Membuat dan Menghaus !irektori ........................................................................  =. Maniulasi 6ile .......................................................................................................... < ?. &load 6ile ................................................................................................................  VIII. Session dan Cookies............................................................................ :7 ;. Session................................................................................................................... .... :7 7. Cookies ...................................................................................................................... :8 IX. Pemrograman Berorientasi 2b#ek dalam PHP ................................... :: ;. Pengantar Pemrograman Berorientasi 2b#ek ........................................................... :: 7. 2b#ect dan Class ........................................................................................................ :: =. Proerties dan Method ............................................................................................. :< ?. MendeGnisikan Class................................................................................................. :< 8. Meman%aatkan Class yang  /ersedia.......................................................................... <7 X. Pengenalan !BMS dan MySQL ........................................................... . Perl ( htt$-   &&&.$erl.o r g ) ?. Phyton ( htt$-&&&.$ython.org ) @.   PHP ( htt$-  &&&.$h$.ne t ) eistime&aan PHP 9 ;e$at 9 "nt"% mem"lai $roses instalasi. ambar .*. Windo& Instalasi 1AMPP Pemrograman Web dengan PHP dan MySQL 0. A%an ditam$il%an &indo& lo%asi t"6"an instalasi ( destination folder  )/ tent"%an lo%asi (!older) dimana 1AMPP a%an diinstall dengan mene%an tombol Browse.. . Pilih tombol Next > "nt"% melan6"t%an $roses instalasi. ambar .0. . ita da$at mengat"r 1AMPP dengan menga%ses 1AMPP ;ontrol Panel yang da$at dia%ses melal"i men" di Program . 1AMPP ;ontrol Panel Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 13 Test Instalasi XAMPP di Br!ser nt"% memasti%an bah&a 1AMPP beserta PHP/ A$ache dan MySQL ber6alan dengan bai%/ b"%alah bro&ser dan %eti%%an BL sebagai beri%"t- http:// lo  al  h o s t 4i%a sem"a s"dah ber6alan dengan bai%/ ma%a a%an ditam$il%an gambar sebagai beri%"t- ambar .?. #am$ilan 1AMPP di ,ro&ser Pilih bahasa yang ingin dig"na%an dan a%an ditam$il%an halaman "tama 1AMPP sebagai beri%"t- ambar .?. #am$ilan 1AMPP di ,ro&ser Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 14 Bab " Str#$t#r %asar PHP   ™   Sebel"m ,ela6ar PHP   ™   Mari Mengenal PHP   ™   Say Hello to PHP   ™   Cariabel   ™   #i$e +ata   ™   onstanta   ™   D$erator dalam PHP   ™   omentar Program Sebel#& Bela'ar PHP . Saya as"msi%an Anda telah mengenal dengan c"%"$ bai% %om$"ter Anda/ dan 6"ga bisa mengo$erasi%annya. 4adi Anda sehar"snya s"dah mengerti $erbedaan !ile dan dire%tori/ bagaimana menyim$an !ile ata" doc"ment/ bagaimana meng'co$y !ile/ dan seter"snya. *. Saya as"msi%an Anda telah mengerti bagaimana memb"%a dan mengg"na%an salah sat" ata" salah semua dari editor se$erti 8ote$ad/ 9ditPl"s/ ;rimson 9ditor/ +ream&eaver/ ata" yang lainnya. Saya as"msi%an 6"ga/ Anda telah mengerti bagaimana memb"at/ mengedit/ dan menyim$an s"at" !ile dengan editor terseb"t. 0. Saya as"msi%an bah&a A$ache/ PHP/ dan MySQL di %om$"ter yang Anda $a%ai s"dah ber6alan sebagaimana mestinya. 3. Saya as"msi%an Anda telah mengerti bagaimana cara mengg"na%an Web ,ro&ser (I9/ MoEilla/ D$era/ dsb) 7. Saya as"msi%an Anda telah mengenal dan mengerti dengan c"%"$ bai% tentang tag'tag H#ML dan 6"ga bagaimana mengg"na%annya. Anda tent" s"dah mengambil mata%"liah Pemrograman Web  ata" Internet %an F :. Saya as"msi%an bah&a $englihatan Anda masih normal sehingga bisa membeda%an antara -    ƒ    #"lisan nama / 1ama   dan 1AMA    ƒ    oma ( , )/ titi%'%oma ( I ) dan titi%'d"a ( ) )    ƒ    "ti$'t"nggal ( J ) dan %"ti$'ganda (  )    ƒ    #"lisan namamhs / namamhs   dan nama mhs =. Saya as"msi%an Anda $ernah mengg"na%an &&&.google. com Mari Mengenal PHP #ah"%ah Anda/ PHP it"..... . Mer"$a%an sing%atan rec"rsive dari P HP - H y$erte2t P re$ocessor *. Pertama %ali dib"at oleh !asm"s #er$or% $ada tah"n ??3. 0. Har"s dit"lis di antara tag -    ƒ     dan N    ƒ    h dan N    ƒ    scrit languageOhN dan *scritN    ƒ     dan N 3. Setia$ sat" statement ($erintah) biasanya dia%hiri dengan titi%'%oma (G) 7. ;AS9 S98SI#IC9 "nt"% nama identi!ier yang dib"at oleh "ser (ber"$a variable/ %onstanta/ !"ngsi dll)/ nam"n #I+A ;AS9 S98SI#IC9 "nt"% identi!ier built-in dari PHP. 4adi -                                                                                                                                                              nama  8ama  8AMA Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 15                                                                                                                                                              hit"ngL"as()  Hit"ngL"as()                                                                                                                                                              echo J 9;HD                                                                                                                                                              &hile J WHIL9 :. M"dah di$ela6ari. Say Hell t PHP . eti%%an $erintah di ba&ah ini di editor - P r ogram 2 .1 Nama File  hello.php !es"ripsi  Program sederhana menampil"an sebuah string di la#ar. ; h 7 echo RHello, 1ama saya PHP  RI = N *. Sim$an dengan nama K hello.php  di document-root %om$"ter Anda. 0. ,"%a bro&ser dan %eti%%an alamat htt$-localhosthello. $h$ 3. Lihat hasilnya di bro&ser. A%an terlihat tam$ilan se$erti $ada gambar *. ambar *.. #am$ilan Program *.  (ariabel    ƒ    +ig"na%an "nt"% menyim$an seb"ah val"e/ data ata" in!ormasi    ƒ    8ama variabel dia&ali dengan tanda H    ƒ    Pan6ang tida% terbatas  ƒ  Setelah tanda  dia&ali oleh h"r"! ata" under-scrore (5). ara%ter beri%"tnya bisa terdiri dari h"r"!/ ang%a/ dan %ara%ter tertent" yang di$erboleh%an (%ara%ter AS;II dari *=  *77).    ƒ    ,ersi!at case'sensitive.    ƒ    #ida% $erl" dide%larasi%an.    ƒ    #ida% boleh mengand"ng s$asi.    ƒ    ;ontoh - ,enar ' 5name ' !irst5name ' name0 ' name50 Salah ' 0name ' nameF ' !irstNname ' !irst.name ' !irst name Program 2 .2 Nama File  variabel.php !es"ripsi  Program mengisi dan menampil"an variabel di la#ar. ; h 7 nim O RD?;;8DD?DDRI = nama O TChotimatul Musyaro%ahTI ? 8 echo R10M ) R . nim . RbrNRI  echo R1ama ) namaRI : N ambar *.*. #am$ilan Program *.* Tipe %ata Pada PHP/ ti$e data variabel tida% dide!inisi%an oleh $rogrammer/ a%an teta$i secara otomatis ditent"%an oleh inte$reter PHP. 8am"n demi%ian/ PHP mend"%"ng > (dela$an) b"ah ti$e data $rimiti!/ yait" - . boolean *. integer 0. !loat 3. string 7. array :. ob6ect =. reso"rce >. 8LL Program 2 .$ Nama File  tipe.php !es"ripsi  Program contoh penanganan beberapa tipe data dasar  dalam P%P. ; h 7 nim O RD?;;8DD?DDRI = nama O TChotimatul Musyaro%ahTI ? umur O 7=I 8 nilai O <7.78I  status O /F&EI : < echo R10M ) R . nim . RbrNRI  echo R1ama ) namabrNRI ;D rint R&mur ) R . umurI rint RbrNRI ;; rint% -R1ilai ) .=%brNR, nilaiI ;7 i% -status ;= echo RStatus ) Akti%RI ;? else ;8 echo RStatus ) /idak Akti%RI ; N ambar *.0. #am$ilan Program *.0 )nstanta onstanta mer"$a%an variabel %onstan yang nilainya tida% ber"bah'"bah. nt"% mende!inisi%an %onstanta dalam PHP/ mengg"na%an !"ngsi de!ine() Program 2 .& Nama File  "onstanta.php !es"ripsi  Program penggunaan "onstanta dalam P%P. ;  7 deGne -R1AMAR, RAchmad SolichinRI = deGne -R10LA0R, DI ? 8 **1AMA O RMuhammadRI **akan menyebabkan error  echo R1ama ) R . 1AMAI : echo RbrN1ilai ) R . 10LA0I < N ambar *.3. #am$ilan Program *.3 *peratr dala& PHP &enis 'perator'perator(ontoh)eteran*an Aritmati+a  N a N bPertambahan ' a ' bPeng"rangan O a O bPer%alian   a  bPembagian  a  bMod"l"s/ sisa $embagian Pen"*asan  J a J 3Ga diisi dengan 3 Bitwise    a  b,it&ise A8+ R a R b,it&ise DB  a  b,it&ise 1DB T Tb,it&ise 8D# UU a UU bShi!t Le!t VV a VV bShi!t Bight Per,an$in*an  JJ a JJ bSama dengan JJJa JJJ bIdenti% J a J b#ida% sama dengan UV a UV b#ida% sama dengan JJa JJ b#ida% identi% U a U b"rang dari V a V bLebih dari UJ a UJ b"rang dari sama dengan VJ a VJ bLebih dari sama dengan #o*i+a  and a and b#B9 6i%a a dan b #B9   a  b#B9 6i%a a dan b #B9 or a or b#B9 6i%a a ata" b #B9 RR a RR b#B9 6i%a a danata" b #B9 2or a 2or b #B9 6i%a a ata" b #B9/ ta$i tida% %ed"anya  a#B9 6i%a a Program di atas mer"$a%an bebera$a variasi $er"langan dengan &hile. ;ontoh yang $ertama (baris 0':) mer"$a%an bent"% yang $aling "m"m di$a%ai. ,lo% $erintah (baris 7) a%an di6alan%an selama $emeri%saan %ondisi $ada baris %e'3 bernilai 0!1 . ;ontoh %ed"a mer"$a%an bent"% lain dari &hile/ bent"% ini 6arang dig"na%an. Pada contoh %etiga/ $engg"naan $er"langan "nt"% menam$il%an t"lisan dengan !ormat UHV sam$ai UH:V ambar 0.>. #am$ilan Program 0.> Program $ .> Nama File  dowhile.php !es"ripsi  Program tru"tur Perulangan dengan !o...=hile. ; h 7 = i O ;I ? do [ 8 echo Ri RI  i^O7I : $hile -i O 7DI <  N Pen6elasan P r ogram 0 .? Program di atas a%an menam$il%an bilangan gan6il antara  sam$ai * mengg"na%an str"%t"r $er"langan $o..while . Pada str"%t"r $er"langan do...&hile/ $emeri%saan %ondisi berada di ba&ah. ambar 0.?. #am$ilan Program 0.? Str#$t#r Brea$ dan ,ntin#e Program $ .1? Nama File  brea".php !es"ripsi  Program tru"tur 5rea" dan :ontinue. ; h 7 = %or -iO;I i;DI i^^ [ ? i% -i OO 8 8 continueI  i% -i OO < : breakI < echo Ri RI  ;D ;; N Pen6elasan P r ogram 0 . +ari $rogram di atas/ da$at disim$"l%an bah&a $erintah ontin"e a%an melan6"t%an $roses $er"langan tan$a mele&ati (meng'e%se%"si) baris $erintah di ba&ahnya. 4adi $erintah $ada baris :'> a%an dile&ati (7 tida% a%an terceta%) Sedang%an dengan $erintah ,rea+ a%an menyebab%an $rogram menghenti%an $er"langan (langs"ng %el"ar dari $er"langan) ambar 0.. #am$ilan Program 0. Bab - Penanganan .r&   ™   ,erbagai ;ara Penanganan '/ $rogram 3.=). ambar 3.:. #am$ilan Program 3.: Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 35 Pemrograman Web dengan PHP dan MySQL ambar 3.=. #am$ilan Program 3.= Program & .< Nama File  input?'.php !es"ripsi  Program menampil"an form login Ainputan text dan passwordB. ; htmlN 7 headNtitleNLogin Here*titleN*headN = bodyN ? 62FM AC/021ORrosesD8.hR ME/H2!ORP2S/R 1AMEORinutRN 8 h7NLogin Here...*h7N  &sername ) inut tyeORte]tR nameORusernameRNbrN : Pass$ord ) inut tyeORass$ordR nameORass$ordRNbrN < inut tyeORsubmitR nameORLoginR 'alueORLoginRN  inut tyeORresetR nameORresetR 'alueORFesetRN ;D *62FMN ;; *bodyN ;7 *htmlN Program & .> Nama File  proses?'.php !es"ripsi  Program sederhana untu" memeri"sa inputan username dan  password pada program &.< ; h 7 i% -isset-P2S/_TLoginT` [ = user O P2S/_TusernameT`I ? ass O P2S/_Tass$ordT`I 8 i% -user OO RachmatimR XX ass OO R;7=R [  echo Rh7NLogin Berhasil*h7NRI : else [ < echo Rh7NLogin 5agal*h7NRI  ;D ;; N Pen6elasan Program 3.> dan 3 . ? Program 3.> a%an menam$il%an !orm login sederhana yang terdiri dari in$"tan "sername dan passwor$ . Selan6"tnya nilai yang diin$"t a%an di$roses di $rogram 3.?. 4i%a "sername dan $ass&ord diin$"t dengan benar ma%a a%an ditam$il%an $esan berhasil (lihat gambar) dan 6i%a login salah ma%a a%an ditam$il%an $esan %esalahan (lihat gambar). Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 36 Pemrograman Web dengan PHP dan MySQL ambar 3.>. #am$ilan Program 3.> ambar 3.?. #am$ilan Program 3.? 4i%a Login ,erhasil ambar 3.. #am$ilan Program 3.? 4i%a Login agal .r& Inp#t Type 0A%I* Pada in$"tan 6enis radio b"tton/ "ser hanya bisa memilih sat" $ilihan di antara bebera$a $ilihan. Program & .1? Nama File  input?).php !es"ripsi  Program menampil"an form pilihan 3urusan dengan radio button ; htmlN 7 headNtitleNPilih (urusan*titleN*headN = bodyN ? 62FM AC/021ORrosesD.hR ME/H2!ORP2S/R 1AMEORinutRN 8 h7NPilih (urusan Anda )*h7N Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 37 Pemrograman Web dengan PHP dan MySQL  inut tyeORradioR nameOR#urusanR 'alueOR/0R checkedN  /eknik 0n%ormatikabrN : inut tyeORradioR nameOR#urusanR 'alueORS0RN Sistem 0n%ormasibrN < inut tyeORradioR nameOR#urusanR 'alueORSKRN Sistem KomuterbrN inut tyeORradioR nameOR#urusanR 'alueORKARN Komuterisasi AkuntansibrN ;D inut tyeORsubmitR nameORPilihR 'alueORPilihRN ;; *62FMN ;7 *bodyN ;= *htmlN Program & .11 Nama File  proses?).php !es"ripsi  Program untu" mengambil dan menampil"an 3urusan #ang dipilih  pada program &.1? ; h 7 i% -isset-P2S/_TPilihT` [ = #urusan O P2S/_T#urusanT`I ? echo R(urusan Anda adalah 8 bN%ont colorOTredTN#urusan*%ontN*bNRI  : N Pen6e lasan P r ogram 3 . dan 3 .   Program 3. a%an menam$il%an !orm $ilihan in$"tan 6"r"san dengan radio b"tton (lihat gambar). Pada !orm in$"tan 6enis radio b"tton/ name dari masing' masing radio b"tton har"s sama/ a%an teta$i val"e'nya har"s dibeda%an. Perhati%an $rogram 3. baris :'?  nt"% mengambil nilai (val"e) dari !orm  6enis radio/ bisa langs"ng dengan menga%ses name dari !orm terseb"t. Perhati%an $rogram 3. baris %e'0  ambar 3.. #am$ilan Program 3. Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 38 Pemrograman Web dengan PHP dan MySQL ambar 3.*. #am$ilan Program 3. .r& Inp#t Type H/) B*X Pada !orm in$"tan 6enis chec% bo2/ "ser dim"ng%in%an memilih lebih dari sat" $ilihan. Program & .12 Nama File  input?*.php !es"ripsi  Program menampil"an form inputan nama band favorit dengan chec" box. ; htmlN 7 headNtitleNBand 6a'orit  0nutan Checkbo]*titleN*headN = bodyN ? 62FM AC/021ORrosesD:.hR ME/H2!ORP2S/R 1AMEORinutRN 8 h7NPilih Band 6a'orit Anda )*h7N inut tyeORcheckbo]R nameORbandD;R 'alueORPadiR checkedN PadibrN : inut tyeORcheckbo]R nameORbandD7R 'alueORSheila 2n :RN Sheila 2n :brN <inut tyeORcheckbo]R nameORbandD=R 'alueOR!e$a ;RN !e$a ;brN inut tyeORcheckbo]R nameORbandD?R 'alueOR&nguRN &ngubrN ;D inut tyeORsubmitR nameORPilihR 'alueORPilihRN ;; *62FMN ;7 *bodyN ;= *htmlN Program & .1$ Nama File  proses?*.php !es"ripsi  Program untu" menampil"an nama band favorit sesuai dengan inputan pada program &.12 ; h 7 i% -isset-P2S/_TPilihT` [ = echo RBand 6a'orit Anda adalah )brNRI ? i% -isset-P2S/_TbandD;T` [ 8 echo R^ R . P2S/_TbandD;T` . RbrNRI  : i% -isset-P2S/_TbandD7T` [ < echo R^ R . P2S/_TbandD7T` . RbrNRI  ;D i% -isset-P2S/_TbandD=T` [ ;; echo R^ R . P2S/_TbandD=T` . RbrNRI ;7 ;= i% -isset-P2S/_TbandD?T` [ ;? echo R^ R . P2S/_TbandD?T` . RbrNRI Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 39 Pemrograman Web dengan PHP dan MySQL ;8 ; ;: N Pen6e lasan P r ogram 3 .* dan 3 .  0 Program 3.* a%an menam$il%an !orm $ilihan in$"tan chec% bo2 band !avorit (lihat gambar). Pada !orm in$"tan 6enis chec% bo2/ name dari masing' masing chec% bo2 har"s dibeda%an. ser da$at memilih lebih dari sat" $ilihan. Perhati%an $rogram 3.* baris :'?  nt"% mengambil nilai (val"e) dari !orm  6enis chec% bo2/ sebai%nya di$eri%sa terlebih dah"l" a$a%ah chec% bo2 di$ilih ata" tida%/ dengan mengg"na%an !"ngsi isset4 . Perhati%an $rogram 3.0 baris %e'3. 4i%a chec% bo2 di'ce% (di$ilih) ma%a ambil value dari chec% bo2 terseb"t (baris %e'7) ambar 3.0. #am$ilan Program 3.* ambar 3.3. #am$ilan Program 3.0 .r& Inp#t Type *MB* B*X Program & .1& Nama File  input?<.php !es"ripsi  Program menampil"an form inputan film "artun favorit dengan combo box. Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 40 Pemrograman Web dengan PHP dan MySQL ; htmlN 7headNtitleN6ilm Kartun 6a'orit  0nutan Combo bo]*titleN*headN = bodyN ? 62FM AC/021ORrosesD<.hR ME/H2!ORP2S/R 1AMEORinutRN 8 h7NPilih 6ilm Kartun 6a'orit Anda )*h7N  select nameORkartunRN : otion 'alueORSonge BobRNSonge Bob*otionN < otion 'alueORSinchanRNSinchan*otionN  otion 'alueORConanRNConan*otionN ;D otion 'alueOR!oraemonRN!oraemon*otionN ;; otion 'alueOR!ragon BallRN!ragon Ball*otionN ;7 otion 'alueOR1arutoRN1aruto*otionN ;= *selectN ;? inut tyeORsubmitR nameORPilihR 'alueORPilihRN ;8 *62FMN ; *bodyN ;: *htmlN Program & .1'  Nama File  proses?<.php !es"ripsi  Program untu" menampil"an nama film "artun favorit sesuai  dengan inputan pada program &.1& ; h 7 i% -isset-P2S/_TPilihT` [ = %ilm O P2S/_TkartunT`I ? echo R6ilm Kartun 6a'orit Anda adalah ) 8 %ont colorOblueNbNGlm*bN*%ontNRI  : N Pen6e lasan P r ogram 3 .3 dan 3 .  7 Program 3.3 a%an menam$il%an !orm $ilihan in$"tan combo box !ilm %art"n !avorit (lihat gambar). nt"% memb"at in$"tan 6enis combo bo2/ bisa mengg"na%an tag UselectV dan Uo$tionV. Pada !orm in$"tan 6enis chec% bo2/ name dileta%%an $ada tag UselectV. ser hanya da$at memilih sat" $ilihan dari se6"mlah $ilihan yang ditam$il%an dalam bent"% drop down list  . Lihat gambar. nt"% mengambil nilai (val"e) dari !orm 6enis combo box  / da$at langs"ng menga%sesnya ses"ai dengan name'nya. Perhati%an $rogram 3.7 baris %e'0  ambar 3.7. #am$ilan Program 3.3 Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 41 Pemrograman Web dengan PHP dan MySQL ambar 3.:. #am$ilan Program 3.7 .r& Inp#t Type T/XTA0/A  Program & .1) Nama File  input?>.php !es"ripsi  Program menampil"an form inputan "riti" dan saran dengan text  area. ; htmlN 7 headNtitleNKritik dan Saran  0nutan = /e]tarea*titleN*headN ? bodyN 8 62FM AC/021ORrosesD.hR ME/H2!ORP2S/R 1AMEORinutRN  h7N0nut Kritik * Saran )*h7N : te]tarea nameORsaranR colsOR?DR < ro$sOR8RN*te]tareaNbrN  inut tyeORsubmitR nameORProsesR 'alueOR0nut ;D SaranRN ;; *62FMN ;7 *bodyN ;= *htmlN Program & .1*  Nama File  proses?>.php !es"ripsi  Program untu" menampil"an isi "riti" C saran sesuai dengan inputan text area pada program &.1) ; h 7 i% -isset-P2S/_TProsesT` [ = saran O nl7br-P2S/_TsaranT`I ? echo RKritik * Saran Anda adalah ) brNRI 8 echo R%ont colorOblueNbNsaran*bN*%ontNRI  : N Pen6e lasan P r ogram 3 .: dan 3 .  = Program 3.: a%an menam$il%an !orm %riti% saran mengg"na%an te2t area (lihat gambar). nt"% memb"at in$"tan 6enis combo bo2/ bisa mengg"na%an tag Ute2tareaV. ,erbeda dengan in$"tan ty$e te2t yang hanya bisa diin$"t sat" baris/ $ada te2t area/ bisa diin$"t lebih dari sat" baris. Lihat gambar. nt"% mengambil nilai (val"e) dari !orm 6enis textarea / da$at langs"ng menga%sesnya ses"ai dengan name'nya. Perhati%an $rogram 3.= baris %e'0  Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 42 Pemrograman Web dengan PHP dan MySQL ambar 3.=. #am$ilan Program 3.: ambar 3.>. #am$ilan Program 3.= Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 43 Pemrograman Web dengan PHP dan MySQL Bab   Array dan .#ngsi   ™   Pengantar Array   ™   Mende%larasi%an dan Menam$il%an Array   ™   <"ngsi'!"ngsi Array dalam PHP   ™   <"ngsi dalam PHP Pengantar  Array  Arra5 mer"$a%an ti$e data terstr"%t"r yang berg"na "nt"% menyim$an se6"mlah data yang berti$e sama. ,agian yang meny"s"n array diseb"t elemen array/ yang masing'masing elemen da$at dia%ses tersendiri melal"i inde2 array. Inde2 array da$at ber"$a bilangan integer ata" string. Mende$larasi$an dan Mena&pil$an  Array  Program ' .1 Nama File  arra#?1.php !es"ripsi  Program mende"larasi"an arra# dengan index numeric. ; h 7 = arrBuah O array -RManggaR, RAelR, RPisangR, R(erukRI ? echo arrBuah_D`I **Mangga 8 echo arrBuah_=`I **(eruk  : arrWarna O array-I < arrWarna_` O RMerahRI  arrWarna_` O RBiruRI ;D arrWarna_` O RHi#auRI ;; arrWarna_` O RPutihRI ;7 echo arrWarna_D`I **Merah ;= echo arrWarna_7`I **Hi#au ;? ;8 N Pen6elasan P r ogram 7 . nt"% mende%larasi%an ata" mende!inisi%an seb"ah array di PHP bisa mengg"na%an "e#word arra54 . Pada $rogram 7./ terda$at $ende%larasian dan $ende!inisian array $ada baris %e'0. 4"mlah elemen array tida% $erl" diseb"t%an saat de%larasi. Sedang%an "nt"% menam$il%an isi array $ada elemen tertent"/ c"%"$ dengan menyeb"t%an nama array beserta inde2 array'nya (lihat baris %e'3 dan %e'7). Pende%larasian dan $engisian array 6"ga bisa dila%"%an se$erti $ada baris %e'= sam$ai baris %e'. +engan $ende!inisian array se$erti $ada d"a cara di atas/ inde2 (%ey) array secara otomatis a%an diisi dengan bilangan b"lat integer yang dim"lai dari . Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 44 Pemrograman Web dengan PHP dan MySQL ambar 7.. #am$ilan Program 7. Program ' .2 Nama File  arra#?2.php !es"ripsi  Program mende"larasi"an arra# dengan index string Aarra# assosiatifB. ; h 7 =arr1ilai O array -RAniR ON terda$at !"ngsi reset4 yang ber!"ngsi mengembali%an $ointer array %e elemen $ertama. Pada baris %e'/ array assosiati! ditam$il%an dengan str"%t"r &hile yang mengg"na%an !"ngsi list () dan eah (). ambar 7.3. #am$ilan Program 7.3 Program ' .'  Nama File  arra#?'.php !es"ripsi  Program menceta" stru"tur  arra#. ;  7 arrWarna O array -RBlueR,RBlackR,RFedR,R4ello$R,R5reenRI = arr1ilai O array -RAniR ON Nama File  arra#?>.php !es"ripsi  Program mengatur posisi pointer dalam arra#. ; h 7 transort O array-T%ootT, TbikeT, TcarT, TlaneTI = echo RreNRI ? rintr -transortI 8 echo R*reNRI  : mode O current-transortI < echo mode.RbrNRI ** mode O T%ootTI  mode O ne]t-transortI ;D echo mode.RbrNRI ** mode O TbikeTI ;; mode O current-transortI ;7 echo mode.RbrNRI ** mode O TbikeTI ;= mode O re'-transortI ;? echo mode.RbrNRI ** mode O T%ootTI ;8 mode O end-transortI ; echo mode.RbrNRI ** mode O TlaneTI ;: mode O current-transortI ;< echo mode.RbrNRI ** mode O TlaneTI ; N Program ' .1? Nama File  arra#1?.php !es"ripsi  Program mencari elemen arra#. ; h 7 arrBuah O array -RManggaR, RAelR, RPisangR, RKedondongR, = R(erukRI ? i% -inarray -RKedondongR, arrBuah [ 8 echo RAda buah Kedondong di siniRI  else [ : echo R/idak ada buah Kedondong di siniRI <  N Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 50 Pemrograman Web dengan PHP dan MySQL .#ngsi dala& PHP ,ent"% "m"m $ende!inisian !"ngsi dalam PHP %unction nama%ungsi-arameter;,...,n [ statement7I Program ' .11 Nama File  fungsi?1.php !es"ripsi  Program sederhana mendefinisi"an dan memanggil fungsi tanpa  parameter dan tanpa return value. ; h 7 %unction cetakgan#il - [ = %or -iODI i;DDI i^^ [ ? i% -i7 OO ; [ 8 echo Ri RI  : <  **emanggilan %ungsi ;D cetakgan#il-I ;; N Program ' .12 Nama File  arra#?2.php !es"ripsi  Program fungsi dengan parameter. ; h 7 %unction cetakgan#il -a$al, akhir [ = %or -iOa$alI iakhirI i^^ [ ? i% -i7 OO ; [ 8 echo Ri RI  : <  **emanggilan %ungsi ;D a O ;DI ;; b O 8DI ;7 echo RbNBilangan gan#il dari a samai b ) *bNbrNRI ;= cetakgan#il-a, bI ;? N Program ' .1$ Nama File  fungsi?$.php !es"ripsi  Program fungsi #ang mengembali"an nilai. ; h 7 %unction luaslingkaran -#ari [ = return =.;? V #ari V #ariI ? 8 **emanggilan %ungsi  r O ;DI : echo RLuas lingkaran dengan #ariU#ari r O RI < echo luaslingkaran-rI  N Program ' .1& Nama File  fungsi?&.php !es"ripsi  Program passing b# value dalam fungsi. Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 51 Pemrograman Web dengan PHP dan MySQL ; h 7 %unction tambahstring -str [ = str O str . R, (akartaRI ? return strI 8  ** : str O R&ni'ersitas Budi LuhurRI < echo Rstr O strbrNRI  echo tambahstring -str. RbrNRI ;D echo Rstr O strbrNRI ;; N Program ' .1'  Nama File  fungsi?'.php !es"ripsi  Program passing b# reference dalam fungsi. ; h 7 %unction tambahstring -Xstr [ = str O str . R, (akartaRI ? return strI 8  ** : str O R&ni'ersitas Budi LuhurRI < echo Rstr O strbrNRI  echo tambahstring -str. RbrNRI ;D echo Rstr O strbrNRI ;; N Program ' .1) Nama File  fungsi?).php !es"ripsi  Program menampil"an defined-function #ang didu"ung oleh P%P. ; h 7 %unction luaslingkaran -#ari [ = return =.;? V #ari V #ariI ? 8  arr O getde%ined%unctions-I : echo RreNRI < rintr-arrI  echo R*reNRI ;D N Program ' .1*  Nama File  fungsi?*.php !es"ripsi  Program memeri"sa suatu fungsi tersedia di P%P atau tida". ; h 7 i% -%unctione]ists-Te]i%readdataT [ = echo R6ungsi e]i%readdata- ada di PHP.br *NnRI ? else [ 8 echo R6ungsi e]i%readdata- tidak ada di PHP.br *NnRI  : N Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 52 Pemrograman Web dengan PHP dan MySQL Bab 4 Penanganan String dan Tanggal   ™   Pengantar String   ™   <"ngsi'!"ngsi String dalam PHP   ™   <"ngsi'!"ngsi D$erasi #anggal dalam PHP Pengantar String  tring mer"$a%an %"m$"lan dari %ara%ter. +alam PHP/ %ara%ter sama dengan byte/ dimana terda$at *7: %ara%ter. PHP tida% mend"%"ng native' "nicode. nt"% men"lis%an seb"ah string dalam PHP/ bisa mengg"na%an 0 (tiga) cara/ yait" dengan - . single ["oted  %"ti$ t"nggal ( ) *. do"ble ["oted  %"ti$ ganda ( ] ) 0. heredoc sinta%s Program ) .1 Nama File  string?1.php !es"ripsi  Program string dengan single quoted A D B. ; h 7 echo Tthis is a simle stringTI = ? echo T4ou can also ha'e embedded ne$lines in 8 strings this $ay as it is  okay to doTI : < ** 2ututs) Arnold once said) R0Tll be backR  echo TArnold once said) R0Tll be backRTI ;D ;; ** 2ututs) 4ou deleted C)V.V ;7 echo T4ou deleted C)V.VTI ;= ;? ** 2ututs) 4ou deleted C)V.V ;8 echo T4ou deleted C)V.VTI ; ;: ** 2ututs) /his $ill not e]and) n a ne$line ;< echo T/his $ill not e]and) n a ne$lineTI ; 7D ** 2ututs) @ariables do not e]and either 7; echo T@ariables do not e]and eitherTI 77 N Program ) .2 Nama File  string?2.php !es"ripsi  Program string dengan heredoc sinta"s. ; h 7 str O E2! = E]amle o% string ? sanning multile lines 8 using heredoc synta].  E2!I : < *V More comle] e]amle, $ith 'ariables. V*  class %oo ;D [ ;; 'ar %ooI Achmad Solichin ( a c hm at im @ g m ai  l.c om ) 53 Pemrograman Web dengan PHP dan MySQL ;7 ;= ;? ;8 ; ;: ;< ; 7D 'ar barI %unction %oo- [ thisUN%oo O T6ooTI thisUNbar O array-TBar;T, TBar7T, TBar=TI 7; %oo O ne$ %oo-I 77 name O TAchmatimTI 7= 7? echo E2/ 78 uNstr*uNbrN 7 My name is RbNname*bNR. 0 am rinting some bN%ooUN%oo*bN. 7: 1o$, 0 am rinting some bN[%ooUNbar_;`*bN. 7< /his should rint a caital TAT) ]?; 7 E2/I =D N ambar :.. #am$ilan Program :.* .#ngsi23#ngsi String dala& PHP PHP menyedia%an lebih dari ? !"ngsi "nt"% mani$"lasi string. <"ngsi'!"ngsi string dalam PHP bisa dilihat di h tt $-ca.$h$.netman"ale n  re !. stri  n gs . $ h$ . ,ebera$a !"ngsi mani$"lasi string yang sering dig"na%an/ antara lain -    ƒ    a$$slashes ()  menambah%an bac%slashes (^) di setia$ tanda %"ti$ (["ote) dalam string.    ƒ    hr ()  menghasil%an %ara%ter dari bilangan AS;II    ƒ    r5pt ()  menghasil%an string teren%ri$si searah.    ƒ    eho ()  menam$il%an sat" ata" bebera$a string.    ƒ    explo$e ()  memecah string berdasar%an s"at" delimiter (se$arator).    ƒ    htmlentities ()  meng"bah sem"a tag html men6adi H#ML entities.    ƒ    htmlspeialhars ()  meng"bah sem"a %ara%ter %h"s"s men6adi H#ML entities  ƒ  implo$e ()  menggab"ng%an elemen array men6adi string dengan s"at" delimiter (se$arator).    ƒ     9oin ()  sama dengan im$lode()    ƒ    ltrim ()  mengha$"s %ara%ter tertent" (K K/ ^t/ ^n/ ^r/ ^/ ^2,) di a&al string.    ƒ    m$ ()  menghasil%an string teren%ri$si searah.  ƒ  nl2,r ()  menambah%an H#ML line brea% (U,BV) sebel"m sem"a baris bar" dalam string.    ƒ    n"m,er7%ormat ()  mengat"r !ormat ang%a.    ƒ    or$ ()  menghasil%an %ode AS;II dari s"at" %ara%ter.  ƒ  rtrim () ' mengha$"s %ara%ter tertent" (K K/ ^t/ ^n/ ^r/ ^/ ^2,) di a% h ir string.    ƒ    split ()  sama dengan e2$lode    ƒ    str7repeat ()  meng"lang string    ƒ    str7replae ()  mengganti sem"a string dalam $ola men6adi s"at" string.    ƒ    strip7ta*s ()  mengabai%an H#ML dan PHP tag dalam string.    ƒ    stripslashes ()  menghilang%an bac%slashes (^) dalam string.    ƒ    strlen ()  menghit"ng $an6ang string.    ƒ    strpos ()  mencari $osisi $ertama seb"ah string dalam string.    ƒ    strrhr ()  mencari $osisi tera%hir seb"ah %ara%ter dalam string.    ƒ    strrpos ()  mencari $osisi tera%hir seb"ah string dalam string.    ƒ    strre ()  membali% string.    ƒ    strstr ()  mencari $osisi $ertama seb"ah %ara%ter dalam string.    ƒ    strtolower ()  meng"bah string men6adi h"r"! %ecil (lo&er'case).    ƒ    strto"pper ()  meng"bah string men6adi h"r"! %a$ital ("$$er'case)    ƒ    s",str ()  memotong string  ƒ  trim () ' mengha$"s %ara%ter tertent" (K K/ ^t/ ^n/ ^r/ ^/ ^2,) di a %h ir dan a%hi  r string.    ƒ    "%irst ()  meng"bah h"r"! $ertama dari sem"a string men6adi $$er'case.  ƒ  "wor$s ()  meng"bah h"r"! $ertama tia$ %ata dalam string men6adi "$$er' case.  ƒ  wor$wrap ()  memotong se6"mlah %ara%ter dalam string dengan string- brea"-character. Program ) .$ Nama File  string?$.php !es"ripsi  Program penggunaan fungsi strtolower, strtoupper, ucfirst, ucwords, strrev, dan strlen dalam string. ; h 7 str O RE'erything i do, i do it %or 42&RI = ? echo RbNString asli*bN ) strRI 8 echo RbrNbNstrtolo$er-*bN ) R. strtolo$er-strI  echo RbrNbNstrtouer-*bN ) R. strtouer-strI : echo RbrNbNucGrst- )*bN R. uc%irst-strI < echo RbrNbNuc$ords- )*bN R. uc$ords-strI  echo RbrNbNstrre'- )*bN R. strre'-strI ;D echo RbrNbN(umlah karakter*bN ) R. strlen-strI ;; N Pen6elasan P r ogram : .0 ,ebera$a !"ngsi yang dig"na%an dalam $rogram :.0 di atas antara lain - ' strtolo&er/ "nt"% meng"bah string men6adi lo&er'case. ' strto"$$er/ "nt"% meng"bah string men6adi "$$er'case. ' "c!irst/ "nt"% meng"bah h"r"! $ertama string men6adi "$$er'case. ' "c&ords/ "nt"% meng"bah h"r"! $ertama tia$ %ata men6adi "$$er'case. ' strrev/ "nt"% membali% string. ' strlen/ "nt"% menghit"ng $an6ang string. ambar :.* #am$ilan Program :.0 Program ) .& Nama File  string?&.php !es"ripsi  Program penggunaan fungsi addslashes dan stripslashes pada string. ; h 7 str O R0s your name 2TFeilly RI = str7 O addslashes -strI ? str= O strislashes -str7I 8  echo RbNString asli*bN ) strRI : echo RbrNbNaddslashes-*bN ) str7RI < echo RbrNbNstrislashes-*bN ) str=RI  N Pen6elasan P r ogram : .3 Pada $rogram :.3 di atas terda$at !"ngsi addslashes() yang a%an menambah%an bac"slashes (^) $ada setia$ quote dalam string/ dan sebali%nya !"ngsi stri$slashes a%an menghilang%an bac"slashes $ada string. ambar :.0. #am$ilan Program :.3 Program ) .'  Nama File  string?'.php !es"ripsi  Program penggunaan fungsi chr untu" menampil"an 2') "ara"ter   /:77. ; h 7 echo RMenamilkan bilangan ASC00RI = %or -iO;I iO78I i^^ [ ? echo RbrNi.tR. chr-iI 8  N Pen6elasan P r ogram : .7 Program :.7 di atas a%an menam$il%an *7: %ara%ter AS;II. Pada baris 3/ terda$at !"ngsi chr() yang a%an meng"bah nilai i (integer) men6adi %ara%ter AS;II. Program ) .) Nama File  string?).php !es"ripsi  Program penggunaan fungsi strip8tags, htmlspecialchars, dan htmlentities untu" mengatur tag %+90. ; h 7 str O RbNuNE'erything 0 do, 0 do it %or you*uN*bNRI = ? echo str.RbrNRI 8 **no tag html  echo stritags -str. RbrNRI : **allo$ tag uN < echo stritags -str,RuNR.RbrNRI  **tamil aa adanya ;D echo htmlsecialchars -str.RbrNRI ;; **tamil aa adanya ;7 echo htmlentities -strI ;= N Pen6elasan P r ogram : .: Program :.: di atas mer"$a%an contoh $engg"naan !"ngsi stri$5tags/ htmls$ecialchars dan htmlentities "nt"% menangani tag'tag H#ML yang ada dalam string. Pada baris %e':/ !"ngsi stri$5tags a%an menghilang%an sem"a tag H#ML. Pada baris %e'>/ !"ngsi stri$5tags dengan tambahan $arameter KU"V  a%an menghilang%an sem"a tag H#ML %ec"ali tag U"V. Pada baris %e' dan %e' */ !"ngsi htmls$ecialchars dan htmlentities a%an meng"bah sem"a tag H#ML men6adi H#ML s$ecial character/ sehingga tag H#ML a%an ditam$il%an a$a adanya ambar :.3. #am$ilan Program :.: Program ) .*  Nama File  string?*.php !es"ripsi  Program penggunaan fungsi number8format untu" mengatur  format tampilan ang"a. ; h 7 number O ;7=?.8I = ? ** english notation -de%ault 8 english%ormatnumber O number%ormat-numberI  echo RbrNR.english%ormatnumberI ** ;,7=8 : < ** 6rench notation  nombre%ormat%rancais O number%ormat-number, 7, T,T, T TI ;D echo RbrNR.nombre%ormat%rancaisI ** ; 7=?,8 ;; ;7 **indonesian notation ;= %ormatindonesia O number%ormat -number, 7, T,T, T.TI ;? echo RbrNR.%ormatindonesiaI **;.7=?,8 ;8 ; number O ;7=?.8: Program :.> di atas mer"$a%an contoh $engg"naan !"ngsi e2$lode "nt"% memecah string berdasar%an $ola (at"ran) tertent". Pada baris %e'3/ dengan !"ngsi e2$lode() a%an memecah string b"ah berdasar%an s$asi dan masing' masing a%an men6adi elemen array b"ahan. Program ) .> Nama File  string?>.php !es"ripsi  Program penggunaan fungsi implode untu" menggabung"an arra# men3adi string. ; h 7 buahan O array-TmanggaT,T#erukT,TrambutanT,TaelT,TnanasTI = buah O imlode-R,R, buahanI ? 8 echo RSaya suka buah R. buahI ** mangga,#eruk,rambutan,ael,nanas  N Pen6elasan P r ogram : .? Program :.? di atas mer"$a%an contoh $engg"naan !"ngsi im$lode() "nt"% menggab"ng%an sem"a isi array men6adi sat" string. <"ngsi im$lode mer"$a%an %ebali%an dari !"ngsi e2$lode. Pada baris %e'0/ dengan !"ngsi im$lode() a%an menggab"ng%an setia$ elemen array b"ahan men6adi string b"ah dengan $emisah %oma di antara tia$ elemen. Program ) .1? Nama File  string1?.php !es"ripsi  Program penggunaan fungsi strstr, strchr dan strrchr untu"  mengambil sebagian string berdasar"an pola A"ara"terB tertentu. ; h 7 %ile O Rtest.this.t]tRI = e]t; O strstr-%ile, R.RI ? e]t7 O strchr-%ile, R.RI 8 e]t= O strrchr-Gle, R.RI  : echo e]t;. RbrNRI **.this.t]t < echo e]t7. RbrNRI **.this.t]t  echo e]t=I **.t]t ;D N Pen6elasan P r ogram : . Program :. di atas mer"$a%an contoh $engambilan sebagian string berdasar%an $ola (%ara%ter) tertent". <"ngsi strstr dan strchr $ada baris %e'0 dan %e'3 a%an mengambil string setelah %ara%ter titi% (.) dimana $encarian dila%"%an dari a&al string. Sedang%an !"ngsi strrchr/ a%an mengambil string setelah %ara%ter titi% (.) yang mana $encarian dila%"%an dari a%hir string. Program ) .11 Nama File  string11.php !es"ripsi  Program penggunaan fungsi wordwrap untu" memotong se3umlah "ara"ter dari string. ; h 7 te]t O R/he 9uick bro$n %o] #umed o'er the la3y dog.RI = ne$te]t O $ord$ra-te]t, ;8, RbrNRI ? 8 echo te]t.RbrNbrNRI  echo ne$te]tI : N Pen6elasan P r ogram : . Program :. di atas mer"$a%an contoh $engg"naan !"ngsi &ord&ra$ "nt"% memotong se6"mlah %ara%ter dari string. Pada baris %e'0/ !"ngsi &ord&ra$ a%an memotong string te2t $er'7 %ara%ter dan di$isah%an (ditambah%an) dengan string KUbrV  ambar :.7. #am$ilan Program :. Program ) .12 Nama File  string12.php !es"ripsi  Program penggunaan fungsi nl2br dalam string. ; %orm actionORR methodORostRN 7 0nut teks di sini )brN = te]tarea nameORinutR colsOR?DR ro$sOR?RN*te]tareaNbrN ? inut tyeORsubmitR nameORSubmitR 'alueORProsesRN 8 *%ormN  : h < i% -isset-P2S/_TSubmitT` [  t]t O P2S/_TinutT`I ;D echo RuN/ana nl7br- )*uN brNt]tbrNbrNRI ;; echo RuN!engan nl7br )*uN brNR. nl7br -t]tI ;7 ;? N Pen6elasan P r ogram : .* Program :.* di atas mer"$a%an contoh $engg"naan !"ngsi nl*br. <"ngsi nl*br() a%an menambah%an %ara%ter $indah baris (UbrV) di setia$ a&al baris string in$"tan. nt"% mencoba $rogram di atas/ in$"t%an string sebagai beri%"t - bila yang tertulis untukku adalah yang terbaik untukku kan kujadikan kau kenangan yang terindah dalam hidupku namun tak kan mudah bagiku meningalkan jejak hidupku yang tlah terukir abadi sebagai kenangan yang terindah Program ) .1$ Nama File  string1$.php !es"ripsi  Program penggunaan fungsi substr untu" memotong string. ; %orm actionORR methodORostRN 7 10M Anda ) = inut tyeORte]tR nameORt]tnimRNbrN ? inut tyeORsubmitR nameORSubmitR 'alueORProsesRN 8 *%ormN  : h < i% -isset-P2S/_TSubmitT` [  nim O P2S/_Tt]tnimT`I ;D ;; ;7 ;? ;8 ; ;: ;< ; 7D 7; 77 7= 7? 78 7 N a O substr -nim, 7, 7I s$itch-a [ case T;;T ) #urusan O R/eknik 0n%ormatikaRI breakI case T77T ) #urusan O RSistem 0n%ormasiRI breakI case T==T ) #urusan O RSistem KomuterRI breakI case T??T ) #urusan O RKomuterisasi AkuntansiRI breakI de%ault ) #urusan O RSalah #urusanRI echo R1im Anda ) nimbrNRI echo R(urusan Anda ) #urusanRI Pen6elasan P r ogram : .0 Program :.0 di atas mer"$a%an contoh $engg"naan !"ngsi s"bstr (baris %e') "nt"% memotong string. Pada baris %e' terseb"t/ string nim a%an di$otong m"lai %ara%ter inde2 %e'* (inde2 dim"lai dari ) se$an6ang * %ara%ter. .#ngsi23#ngsi *perasi Tanggal dala& PHP F "ngsi dalam D$erasi tanggal dalam PHP yang "tama dan sering dig"na%an adalah !"ngsi date(). <"ngsi ini a%an menghasil%an tanggal dan &a%t" server se%arang. ,ebera$a $ilihan $arameter dari !"ngsi date() ini da$at dilihat $ada tabel beri%"t ini - parameter)eteran*an(ontoh nilai Hari  d #anggal/ * digit dengan nol  sd 0 + #iga digit nama hari dalam semingg" Mon sd S"n  6 #anggal tan$a nol  sd 0 l ( lowercase 8ama hari leng%a$ dalam L) semingg" S"nday thro"gh Sat"rday 8 r"tan hari dalam semingg"  ("nt"% Monday) sd = ("nt"% S"nday) S A%hiran ang%a 9nglish "nt"% tanggal/ * %ara%ter st/ nd/ rd ata" th. & r"tan hari dalam semingg"  ("nt"% S"nday) sd : ("nt"% Sat"rday) E r"tan hari dalam setah"n  sd 0:7 Minggu Wr"tan mingg" dalam setah"n ;ontoh- 3* (mingg" %e'3* dalam tah"n ini) Bulan < 8ama b"lan leng%a$ 4an"ary sd +ecember m r"tan b"lan dalam setah"n dengan nol  sd * M #iga digit nama b"lan dalam setah"n 4an sd +ec n r"tan b"lan dalam setah"n/  sd * parameter)eteran*an(ontoh nilai tan$a nol t 4"mlah hari dalam tia$ b"lan *> sd 0 Tahun _3 (em$at) digit tah"n ;ontoh- ??? ata" *: y* (d"a) digit tah"n ;ontoh- ?? or : Waktu a Lo&ercase Ante meridiem dan Post meridiem am ata" $m A $$ercase Ante meridiem dan Post meridiem AM ata" PM g 4am !ormat * tan$a nol  sd *  4am !ormat *3 tan$a nol  sd *0 h 4am !ormat * dengan nol  sd * H4am !ormat *3 dengan nol  sd *0 i Menit dengan nol  sd 7? s +eti% dengan nol  sd 7? Program ) .1& Nama File  date?1.php !es"ripsi  Program menampil"an dateCtime dengan berbagai parameter. ; h 7 ** Sekarang tanggal ;= Aril 7DD D)?=)? = ? echo RbrNR. date-Rd*m*4 H)i)sRI ** ;=*D?*7DD D)?=)D= 8 echo RbrNR. date-R6 #, 4, g)i aRI ** Aril ;=, 7DD, )?= am  echo RbrNR. date-Rd.m.yRI ** ;=.D?.D : echo RbrNR. date-R4mdRI ** 7DDD?;= < ** ;=UD?UD, ?==D ?=? ? /huamD ;D7  echo RbrNR. date-T#UmUy, it is $ !ay 3 TI ;D ** it is the ;=th day. ;; echo RbrNR. date-Tit is the #S day.TI ;7 ** /hu Ar ;= )?=)? KFAS/ 7DD ;? echo RbrNR. date-R! M # 5)i)s / 4RI ;8 echo RbrNR. date-RH)i)sRI ** ;:););: ; N Program ) .1'  Nama File  date?2.php !es"ripsi  Program menampil"an nama hari dalam bahasa 7ndonesia. ; h 7 ** Sekarang tanggal ;= Aril 7DD D)?=)? = arr!ay O array-RMingguR, RSeninR, RSelasaR, RFabuR, RKamisR, R(umTatR, RSabtuRI ? day O date -R$RI **D U  o% day 8  echo RHari ini hari ) bNR . arr!ay_day`.R*bNRI : N Bab 5 .ile dan %ire$tri   ™   Memb"at/ Men"lis dan Membaca Isi a%an membaca !ile setia$ * byte ata" * %ara%ter. Program * .'  Nama File  file?'.php !es"ripsi  Program membaca isi file baris tiap baris. ; h 7 nama%ile O Rdata.t]tRI = handle O %oen -nama%ile, RrRI ? i% -handle [ 8 echo RbN6ile tidak daat dibuka atau belum ada*bNRI  else [ : echo RbN0si %ile ) *bNbrNRI < $hile -isi O %gets -handle, 7D?< [  echo RisibrNRI ;D ;; ;7 %close-handleI ;= N Pen6elasan P r ogram = .7 Program =.7 di atas a%an menam$il%an %esel"r"han isi !ile/ dimana isi !ile a%an dibaca tia$ baris. Pembacaan dila%"%an dari baris $ertama sam$ai baris tera%hir. ambar =.3. #am$ilan Program =.7 Program * .) Nama File  file?).php !es"ripsi  Program membaca isi file baris tiap baris. ; h 7 nama%ile O Rdata.t]tRI = handle O  %o  e n- nama%ile, RrRI ? i% -handle [ 8 $hile -%eo%-handle [  bu%%er O %gets-handle, ?DI : echo buer.RbrNRI <  %close-handleI ;D ;; N Pen6elasan P r ogram = .: Program =.: di atas a%an menam$il%an %esel"r"han isi !ile/ dimana isi !ile a%an dibaca tia$ baris. Pembacaan dila%"%an selama $ointer !ile bel"m sam$ai di end'o!'!ile. <"ngsi !eo!() $ada baris %e'7 ber!"ngsi "nt"% memeri%sa $ointer !ile s"dah berada di a%hir !ile ata" bel"m. M e n"t"$ < ile %close -handleI Program * .*  Nama File  file?*.php !es"ripsi  Program apli"asi user counter dengan file. ; h 7 counter%ileORcounter.t]tRI = i% -Glee]ists -counter%ile [ ? %oen -counter%ile, R$RI 8  %ile O %oen-counter%ile,RrRI : < counter O %read-%ile,;DI  %close-GleI ;D ;; counter^^I ;7 ;= echo Rh7NAnda adalah engun#ung ke U counter*h7NRI ;? %ile O %oen-counter%ile, R$RI ;8 %$rite-Gle,counterI ; %close-GleI ;: N ambar =.7. #am$ilan Program =.= Me&b#at dan Menghap#s %ire$tri M e mb "at +i  r e% tori  , a r" Program * .< Nama File  file?<.php !es"ripsi  Program membuat dire"tori baru. ; h 7 dir O RimagesRI **nama direktori = cek O mkdir -dirI ? i% -cek [ 8 echo R!irektori bNdir*bN berhasil dibuatRI  else [ : echo R!irektori bNdir*bN gagal dibuatRI <  N Pen6elasan P r ogram = .> Program =.> di atas a%an memb"at dire%tori bernama Kimages di dire%tori tem$at $rogram =.> disim$an. <"ngsi "nt"% memb"at dire%tori bar" dalam PHP adalah m+$ir (). 4i%a dire%tori yang a%an dib"at berada di l"ar tem$at $rogram disim$an/ ma%a serta%an  path dire%tori secara leng%a$. Me ngha$"s +ire %tori Program * .> Nama File  file?>.php !es"ripsi  Program menghapus dire"tori. ; h 7 **buat direktori = dir O RincludeRI **nama direktori ? cek O mkdir -dirI 8 i% -cek [  echo R!irektori bNdir*bN berhasil dibuatRI : else [ < echo R!irektori bNdir*bN gagal dibuatRI  ;D **haus direktori ;; del O rmdir -dirI ;7 i% -del [ ;= echo RbrN!irektori bNdir*bN berhasil dihausRI ;? else [ ;8 echo RbrN!irektori bNdir*bN gagal dihausRI ; ;: N Pen6elasan P r ogram = .? Program =.? di atas a%an memb"at dire%tori bar" bernama Kincl"de (lihat baris %e'3). Setelah it"/ dire%tori a%an diha$"s dengan !"ngsi rm$ir4 $ada baris %e'. <"ngsi rmdir() hanya bisa mengha$"s dire%tori %osong. 4i%a dire%tori ada isinya ma%a/ g"na%an !"ngsi re%"rsi! "nt"% mengha$"s isi dire%tori. Lihat contoh di PHP Man"al. M e nam$il%an Is i + ir e% tori Program * .1? Nama File  file1?.php !es"ripsi  Program menampil"an file dan dire"tori dalam suatu dire"tori. ; h 7 dir O RimagesRI = i% -handle O oendir-dir [ ? $hile -%alse OO -%ile O readdir-handle [ 8 i% -%ile O R.R XX Gle O R..R [  echo R%ilebrNRI : <  closedir-handleI ;D ;; N Pen6elasan P r ogram = . Program =. di atas a%an menam$il%an di layar/ sem"a !ile dan dire%tori yang berada dalam dire%tori Kimages. <"ngsi open$ir () $ada baris %e'0 adalah "nt"% memb"%a dire%tori. Sedang%an !"ngsi rea$$ir () a%an membaca !ile dalam dire%tori sat" $er sat" secara "r"t. <"ngsi lose$ir () $ada baris %e'? adalah "nt"% men"t"$ $emb"%aan dire%tori. Manip#lasi .ile Menda$at% a n I n!   o r m asi   .1 Nama File  session?1.php !es"ripsi  Program mencipta"an session. ; h 7 *VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV = 1ama Gle ) sessionD;.h ? Halaman ini meruakan halaman contoh encitaan session. 8 Perintah sessionstart- harus ditaruh di erintah ertama  tana sasi di deannya. Perintah sessionstart- harus ada : ada setia halaman yang berhubungan dengan session < VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV*  sessionstart-I ;D i% -isset -P2S/_TLoginT` [ ;; user O P2S/_TuserT`I ;7 ass O P2S/_TassT`I ;= **eriksa login ;? i% -user OO RachmatimR XX ass O R;7=R [ ;8 **mencitakan session ; SESS021_TloginT` O userI ;: **menu#u ke halaman emeriksaan session ;< echo Rh;NAnda berhasil L2501*h;NRI ; echo Rh7NKlik a hre%OTsessionD7.hTNdi sini -sessionD7.h*aN 7D untuk menu#u ke halaman emeriksaan sessionRI 7; 77 else [ 7= N 7? htmlN 78 headN 7 titleNLogin here...*titleN 7: *headN 7< bodyN 7 %orm actionORR methodORostRN =D h7NLogin Here...*h7N =; &sername ) inut tyeORte]tR nameORuserRNbrN =7 Pass$ord ) inut tyeORass$ordR nameORassRNbrN == inut tyeORsubmitR nameORLoginR 'alueORLog 0nRN =? *%ormN =8 *bodyN = *htmlN =:  N Pen6elasan P r ogram ? .. Pada $rogram di atas terda$at !"ngsi session7start4 yang berada $ada baris %e'?. <"ngsi session5start() ber!"ngsi "nt"% mem"lai seb"ah session. <"ngsi har"s di$anggil $ertama %ali dalam s"at" halaman PHP/ artinya !"ngsi session5start() har"s di$anggil sebel"m ses"at" tam$il di layar/ &ala"$"n hal it" hanya ber"$a s$asi. 4i%a sebel"m session5start() terda$at o"t$"t yang ditam$il%an ma%a a%an ter6adi error se$erti $ada gambar ?. beri%"t ini - ambar ?.. 9rror yang ter6adi %arena sebel"m session5start() s"dah ada o"t$"t Selan6"tnya/ $rogram ?. a%an menam$il%an seb"ah !orm login sederhana di layar. '* a%an ditam$il%an $esan bah&a login berhasil dan 6"ga seb"ah lin% men"6" %e halaman $emeri%saan session (session*.$h$/ $rogram ?.*). Program > .2 Nama File  session?2.php !es"ripsi  Program pemeri"saan session. ; h 7 *VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV = Halaman ini meruakan contoh halaman emeriksaan session. PemeU ? riksaan session biasanya dilakukan #ika suatu halaman memiliki 8 akses terbatas. Misalnya harus login terlebih dahulu.  VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV* : sessionstart-I <  **emeriksaan session ;D i% -isset-SESS021_TloginT` [ **#ika sudah login ;; **menamilkan isi session ;7 echo Rh;NSelamat !atang R. SESS021_TloginT` .R*h;NRI ;=echo Rh7NHalaman ini hanya bisa diakses #ika Anda sudah login*h7NRI ;? echo Rh7NKlik a hre%OTsessionD=.hTNdi sini -sessionD=.h*aN untuk L252&/M*h7NRI ;8 else [ ; **session belum ada artinya belum login ;:die -RAnda belum login Anda tidak berhak masuk ke halaman ini.Silahkan login a hre%OTsessionD;.hTNdi sini*aNRI ;< ; N Pen6elasan P r ogram ? .* Program ?.* di atas dia&ali dengan $emanggilan !"ngsi session7start4 . Hal ini berarti dalam halaman $rogram ini terda$at o$erasi session. Pada baris  $rogram di atas/ terda$at $emeri%saan %eberadaan variabel 5S9SSID8`YloginZ dengan mengg"na%an !"ngsi isset (). Pemeri%saan %ondisi ini a%an bernilai #B9  6i%a 5S9SSID8`YloginZ s"dah terbent"%. 4i%a bernilai #B9 ma%a blo% $rogram baris '3 yang a%an die%se%"si/ dan sebali%nya/ 6i%a .$ Nama File  session?$.php !es"ripsi  Program menghapus session. ; h 7 *VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV = Halaman ini meruakan halaman logout, dimana kita menghaus ? session yang ada. 8 VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV*  sessionstart-I : i% -isset-SESS021_TloginT` [ < unset -SESS021I  sessiondestroy-I ;D ** ;; echo Rh;NAnda sudah berhasil L252&/*h;NRI ;7 echo Rh7NKlik a hre%OTsessionD;.hTNdi sini*aN untuk L2501 kembaliM*h7NRI ;= echo Rh7NAnda sekarang tidak bisa masuk ke halaman ;? a hre%OTsessionD7.hTNsessionD7.h*aN lagi*h7NRI ;8 ; N Pen6elasan P r ogram ? .0. Program ?.0 mer"$a%an contoh $rogram $engha$"san session. Pengha$"san session biasanya dig"na%an %eti%a "ser melal"%an logo"t. Proses $engha$"san session dila%"%an dengan memanggil !"ngsi "nset() dan !"ngsi session5destroy(). <"ngsi "nset () dig"na%an "nt"% mengha$"s ata" menghilang%an s"at" variabel. Sedang%an session7$estro5 () dig"na%an "nt"% mengha$"s sem"a data yang berh"b"ngan dengan session terseb"t. ,$ies Se$erti halnya session/ coo%ies 6"ga mer"$a%an seb"ah %onse$ $enyim$anan in!ormasi "ser. Hanya sa6a/ 6i%a session tem$at $enyim$anan berada di server/ coo%ies berada di client. Dleh %arena it"/ %onse$ coo%ies sebai%nya 6angan dig"na%an "nt"% menyim$an in!ormasi login "ser se$erti "sername/ $ass&ord dsb. Selain "ser bisa melihat in!ormasi yang disim$an/ "ser  6"ga bisa men'disable coo%ies it" sendiri. 4i%a coo%ies di'disable/ ma%a $rogram yang meman!aat%an coo%ies tent"nya tida% a%an ber6alan dengan bai%. ;oo%ies sendiri biasanya di$a%ai dalam a$li%asi shoo$ing cart. ,iasa dig"na%an "nt"% menyim$an sementara/ $rod"%'$rod"% yang di$ilih oleh $eng"n6"ng $ada saat berbelan6a. +alam $enanganan coo%ies 6"ga terda$at bebera$a $roses yang $erl" di$erhati%an -    ƒ    Proses $emb"atan coo%ies    ƒ    Proses $emeri%saan coo%ies    ƒ    Proses $engha$"san coo%ies Program > .& Nama File  coo"ie?1.php !es"ripsi  Program membuat  coo"ie. ; h 7 'alue O TachmatimTI = 'alue7 O TAchmad SolichinTI ? 8 setcookie-RusernameR, 'alueI  setcookie-RnamalengkaR, 'alue7, time-^=DDI *V e]ire in ; hour V* : < echo Rh;N0ni halaman engesetan cookie*h;NRI  ;Decho Rh7NKlik a hre%OTcookieD7.hTNdi sini*aN untuk emeriksaan cookies*h7NRI ;; N Program > .'  Nama File  coo"ie?2.php !es"ripsi  Program pemeri"saan coo"ie. ; h 7 = i%-isset-C22K0E_TusernameT` [ ? echo Rh;NCookie TusernameT ada. 0sinya ) R . 8 C22K0E_TusernameT`I  else [ : echo Rh;NCookie TusernameT /0!AK ada.*h;NRI <  i%-isset-C22K0E_TnamalengkaT` [ ;D echo Rh;NCookie TnamalengkaT ada. 0sinya ) R . ;; C22K0E_TnamalengkaT`I ;7 else [ ;= echo Rh;NCookie TnamalengkaT /0!AK ada.*h;NRI ;? ;8echo Rh7NKlik a hre%OTcookieD;.hTNdi sini*aN untuk encitaan cookies*h7NRI ; echo Rh7NKlik a hre%OTcookieD=.hTNdi sini*aN untuk enghausan cookies*h7NRI ;: N Program > .) Nama File  coo"ie?$.php !es"ripsi  Program penghapusan coo"ie. ; h 7 ** set the e]iration date to one hour ago = setcookie -RusernameR, RR, time- U =DDI ? setcookie -RnamalengkaR, RR, time- U =DDI 8 echo Rh;NCookie Berhasil dihaus.*h;NRI  echo Rh7NKlik a hre%OTcookieD;.hTNdi sini*aN untuk : encitaan cookies*h7NRI < echo Rh7NKlik a hre%OTcookieD7.hTNdi sini*aN untuk  emeriksaan cookies*h7NRI ;D N Bab 18 Pe&rgra&an Berrientasi *b'e$ dala& PHP   ™   Pengantar Pemrograman ,erorientasi Db6e%   ™   Db6ect dan ;lass   ™   Pro$erties dan Method   ™   Mende!inisi%an ;lass Pengantar Pe&rgra&an Berrientasi *b'e$  PHP $ada a&alnya hanyalah %"m$"lan scri$t sederhana. +alam $er%embangannya/ selan6"tnya ditambah%an berbagai !it"r $emrograman berorientasi ob6e%. Hal ini dim"lai se6a% PHP 3. +engan lahirnya PHP 7/ !it"r'!it"r $emrograman berorientasi ob6e% sema%in manta$ dan sema%in ce$at. +engan PHP 7/ scri$t yang mengg"na%an %onse$ ob3ect-oriented a%an lebih ce$at dan lebih e!isien. Pemrograman berorientasi ob6e% ata" ob3ect-oriented programming (DDP) mer"$a%an s"at" $ende%atan $emrograman yang mengg"na%an ob6ect dan class. Saat ini %onse$ DDP s"dah sema%in ber%embang. Ham$ir setia$ $erg"r"an tinggi di d"nia menga6ar%an %onse$ DDP ini $ada mahasis&anya. Pemrograman yang banya% di$a%ai dalam $enera$an %onse$ DDP adalah 4ava dan ;NN. DDP b"%anlah se%edar cara $en"lisan sinta%s $rogram yang berbeda/ nam"n lebih dari it"/ DDP mer"$a%an cara $andang dalam menganalisa sistem dan $ermasalahan $emrograman. +alam DDP/ setia$ bagian dari $rogram adalah ob3ect  . Seb"ah ob3ect me&a%ili s"at" bagian $rogram yang a%an diselesai%an. ,ebera$a %onse$ DDP dasar/ antara lain - . ncapsulation ( :lass dan (b3ect  ) *. 7nheritance (Pen"r"nan si!at)/ dan 0. Pol#morphisme PHP %h"s"snya PHP 7 s"dah mend"%"ng bebera$a %onse$ DDP. A%an teta$i PHP 7 tida% mend"%"ng %onse$ 9ultiple ' inheritance dan  pol#morphisme . *b'ect dan ,lass ,agian dasar dari seb"ah $rogram yang berorientasi ob6e% adalah objects . Secara m"dah %ita da$at memahami mengenai ob3ect ini. Sebagai contoh/ seb"ah mo,il adalah ob6e%. Seb"ah mobil mem$"nyai  properties ata" bagian' bagian di dalamnya/ se$erti &arna/ mesin/ roda/ $int" dsb. Seb"ah mobil 6"ga da$at mela%"%an ses"at" (ada ses"at" yang bisa dila%"%an dengan mobil)/ se$erti mengisi bensin/ menyala%an mesin/ ber6alan/ mengerem dsb. ,iasanya ob3ect adalah seb"ah %ata benda. 'ran* adalah ob3ect  . +emi%ian  6"ga mobil/ $ohon/ b"nga/ %om$"ter/ #C/ b"%" dsb. 8am"n/ ob3ect tida% selamanya seb"ah ob6e% !isi%. ,isa sa6a seb"ah benda abstra%/ se$erti account  ban%/ seb"ah !ile di %om$"ter/ database/ $esan email/ acara #C/ dsb. Class mer"$a%an $en6elasan ata" des%ri$si dari ob6ect. +i dalam class/ terda$at $en6elasan tentang s"at" ob3ect termas"% $ro$erties yang dimili%inya serta %ela%"an ata" method yang bisa dila%"%an oleh ob6ect. Sebagai contoh/ class 'ran* . ;lass Drang tent" setida%nya memili%i bebera$a bagian se$erti tangan/ %a%i/ mata/ telinga dsb. ;lass Drang 6"ga setida%nya har"s bisa 6alan/ bisa loncat/ bisa lari/ bisa melihat/ bisa bicara dsb. Salah sat" %e"nt"ngan $rogram dide!inisi%an dengan %onse$ DDP adalah adanya $eng%a$s"lan ( encapsulation ) $rogram dalam class dan ob3ect  / dimana $rogrammer yang mengg"na%an class tida% $erl" mengetah"i isi dan 6alannya class secara detail/ hanya $erl" tah" bagaimana cara mengg"na%annya. Sama halnya dengan seb"ah mo,il misalnya. Seorang $emili% mobil tent"nya tida% $erl" mengetah"i bagian'bagian mobil secara menyel"r"h. +ia tida% $erl" mengetah"i bagaimana mesin mobil mela%"%an $emba%aran dan bagaimana mesin mobil bisa menggera%%an roda/ dsb. +ia hanya $erl" tah" bagaimana cara men6alan%an mobil/ bagaimana menghenti%an mobil/ dan !"ngsi mobil lainnya. Prperties dan Methd Setia$ class memili%i  properties yang %adang diseb"t 6"ga attributes . Properties dari seb"ah mobil misalnya &arna/ "%"ran/ harga dsb. +i dalam class/  properties dinyata%an dengan seb"ah variabel. Misalnya &arna/ harga/ dsb. 9ethod mer"$a%an ses"at" yang bisa dila%"%an oleh ob3ect  . Method dalam PHP sama artinya dengan seb"ah !"ngsi. Method yang m"ng%in di$"nyai dari seb"ah mobil misalnya/ method "nt"% menghid"$%an mobil/ men6alan%an mobil/ menghenti%an mobil/ dsb. Penamaan  properties dan method memili%i at"ran yang sama dengan $enamaan seb"ah variabel ata" !"ngsi. A%an teta$i berdasar%an %ese$a%atan ( convention )/ $enamaan  properties dan method har"s mengg"na%an camel  :aps, dimana tia$ %ata dia&ali dengan h"r"! besar %ec"ali %ata $ertama/ setia$ %ata digab"ng tan$a s$asi ata" under  ' score (5). Mende3inisi$an ,lass ,ent"% "m"m mende!inisi%an seb"ah class adalah sbb - class namaClass [ !eklarasikan dan de%inisikan roerties di sini !e%inisikan semua method di sini Penamaan nama(lass $ada dasarnya sama dengan $enamaan variabel. Penamaan bebas/ boleh a$a sa6a/ %ec"ali st$(lass . PHP s"dah mengg"na%an nama st$(lass sebagai nama class built-in . Isi t"b"h class terleta% di antara tanda %"r"ng %"ra&al b"%a (  ) dan %"ra&al t"t"$ (  ). +i t"b"h class terda$at $ende!inisian $ro$erties (variabel) dan method'method class. M e nambah%an Pr o $ e rties (Ca r iab e l) Perhati%an contoh $ende!inisian class beserta $ro$ertiesnya/ sbb - ; class Mobil 7 [ = 'ar $arnaI ? 'ar merkI 8 'ar hargaI  : **/ambahkan ende%inisian method di sini < Pende%larasian variabel dalam class se$erti $ada contoh di atas/ b"%anlah s"at" %ehar"san/ %arena dalam PHP variabel tida% $erl" dide%larasi%an/ c"%"$ dig"na%an sa6a. 8am"n demi%ian/ $ende%larasian variabel yang dig"na%an sangat dian6"r%an "nt"% %em"dahan $embacaan dan $emahaman $rogram. Cariabel class 6"ga da$at langs"ng diinisialisasi dengan seb"ah nilai. 8am"n inisialisasi variabel tida% boleh mengand"ng o$erasi aritmati%a ma"$"n o$erasi yang lainnya. Perhati%an contoh sebagai beri%"t - ; class Mobil 7 [ = 'ar $arna O RBiruRI ? 'ar merk O RBMWRI 8 'ar harga O R;DDDDDDDRI  : **/ambahkan ende%inisian method di sini < M e nambah%an M et h od nt"% menambah%an method/ tinggal mende!inisi%an method se$erti halnya !"ngsi biasa. Misalnya %ita a%an menambah%an !"ngsi ata" method "nt"% m e ngganti  &arna m obil dan "nt"% m e n a m $ il  % a n & ar n a mobi  l. 8ama method $ada dasarnya terserah (mengi%"ti at"ran nama variabel). 8am"n demi%ian/  6angan mengg"na%an nama method yang dia&ali dengan d"a b"ah under-score ( ) yait" onstr"t4 / $estr"t4 dan lone4 %arena %etiga !"ngsi terseb"t mem$"nyai arti tersendiri di PHP. Lihat contoh menambah%an method sbb - ; class Mobil 7 [ = 'ar $arna O RBiruRI ? 'ar merk O RBMWRI 8 'ar harga O R;DDDDDDDRI  : %unction gantiWarna -$arnaBaru < [  thisUN$arna O $arnaBaruI ;D ;; ;7 %unction tamilWarna - ;= [ ;? echo RWarna mobilnya )  R . thisUN$arnaI ;8 ; Pada listing $rogram di atas s"dah ditambah%an !"ngsi ata" method *anti;arna () dan tampil;arna (). nt"% menga%ses  properties (variabel) bisa mengg"na%an %ey&ord this . ey&ord ini me' refer $ada class tem$atnya berada. Method gantiWarna() mem$"nyai sat" $arameter/ yait" &arna,ar". M e nambah%an ons t r " % tor onstr"%tor mer"$a%an seb"ah method %h"s"s yang a%an secara otomatis di6alan%an saat ob3ect terbent"%. onstr"%tor tida% har"s ada/ nam"n dalam sat" class hanya boleh ada sat" %onstr"%tor. Method %onstr"%tor biasanya berisi $emberian nilai default dari masing'masing  properties (variabel). nt"% memb"at %onstr"%tor/ c"%"$ dengan mende!inisi%an s"at" !"ngsi dengan nama onstr"t4. Perhati%an contoh sebagai beri%"t - ; class Mobil 7 [ = 'ar $arnaI ? 'ar merkI 8 'ar hargaI  : %unction construct- < [  thisUN$arna O RBiruRI ;D thisUNmerk O RBMWRI ;; thisUNharga O R;DDDDDDDRI ;7 ;= ;? %unction gantiWarna -$arnaBaru ;8 [ ; thisUN$arna O $arnaBaruI ;: ;< ; %unction tamilWarna - 7D [ 7; echo RWarna mobilnya ) R . thisUN$arnaI Pemrograman Web dengan PHP dan MySQL 77 7= M e mb e nt"% Db6e% :la s s nt"% mengg"na%an seb"ah ob6e%/ har"s dibent"% ob6e% dari classnya. +ari seb"ah class bisa dibent"% bebera$a ob6e% se%alig"s. ,ent"% "m"m $embent"%an ob6e% adalah sbb - nama2b#ek O ne$ namaClass-I Sedang%an "nt"% memanggil anggota (member) dari class da$at dengan !ormat sbb - nama2b#ekUN'ariabelI nama2b#ekUNnamaMethod-I Program 1 ? .1 Nama File  pbo?1.php !es"ripsi  Program sederhana pendefinisian class dan pemanggilan class. ;  7 class Mobil = [ ? 'ar $arnaI 8 'ar merkI  'ar hargaI : < %unction construct-  [ ;D thisUN$arna O RBiruRI ;; thisUNmerk O RBMWRI ;7 thisUNharga O R;DDDDDDDRI ;= ;? %unction gantiWarna -$arnaBaru ;8 [ ; thisUN$arna O $arnaBaruI ;: ;< ; %unction tamilWarna - 7D [ 7; echo RWarna mobilnya ) R . thisUN$arnaI 77 7= 7? 78 a O ne$ Mobil-I 7 b O ne$ Mobil-I 7: echo RbNMobil ertama*bNbrNRI 7< aUNtamilWarna-I 7 echo RbrNMobil ertama ganti $arnabrNRI =D aUNgantiWarna-RMerahRI =; aUNtamilWarna-I =7 ** == echo RbrNbNMobil kedua*bNbrNRI =? bUNgantiWarna-RHi#auRI =8 bUNtamilWarna-I = N Program 1 ? .2 Nama File  pbo?2.inc.php !es"ripsi  Program class untu" membuat sebuah form inputan sederhana. ; h 7 *V = 1ama Class ) 6orm Pemrograman Web dengan PHP dan MySQL ? !eskrisi ) CLass untuk membuat %orm inutan te]t sederhana 8 V*  : class 6orm < [  'ar Gelds O array-I ;D 'ar actionI ;; 'ar submit O RSubmit 6ormRI ;7 'ar #um6ield O DI ;= ;? %unction construct-action, submit ;8 [ ; thisUNaction O actionI ;: thisUNsubmit O submitI ;< ; %unction dislay6orm- 7D [ 7; echo R%orm actionOTR.thisUNaction.RT methodOTP2S/TNRI 77 echo Rtable $idthOT;DDTNRI 7= %or -#ODI #count-thisUN%ieldsI #^^ [ 7? echo RtrNtd alignOTrightTNR.thisUN %ields_#`_TlabelT`.RM*tdNRI 78 echo RtdNinut tyeOTte]tT nameOTR.thisUN %ields_#`_TnameT`.RTN*tdN*trNRI 7 7: echo RtrNtd colsanOT7TNRI 7. Selan6"tnya ditam$il%an &indo& in!ormasi mengenai M5@# nterprise . li% Next "nt"% melan6"t%an. ambar *.=. Windo& MySQL 9nter$rise ambar *.>. Windo& in!ormasi MySQL Monitoring ?. Proses instalasi selesai dan a%an ditam$il%an se$erti $ada gambar di ba&ah ini. 4i%a %ita ingin langs"ng meng%on!ig"rasi%an server MySQL ($ass&ord/ service dll) ma%a $ilih%an chec%bo2 (on%i*"re the M5@# erer now dan te%an tombol Finish. ambar *.?. Proses instalasi Selesai @.  Selan6"tnya ditam$il%an &indo& M5@# erer Instane (on%i*"ration ;iar$ . li% Next "nt"% melan6"t%an. ambar *.. Windo& MySQL Server Instance ;on!ig"ration WiEard .  Selan6"tnya terda$at $ilihan ti$e %on!ig"rasi yang diingin%an/ 8etaile$ (on%i*"ration ata" tan$ar$ (on%i*"ration . Pilih dan %li% Next "nt"% melan6"t%an. ambar *.. Windo& Pilihan ti$e %on!ig"rasi *.  Selan6"tnya terda$at $ilihan ti$e server yang diingin%an/ 8eeloper erer ata" 8e$iate$ M5@# erer. Pilih salah sat" dan %li% Next "nt"% melan6"t%an. ambar *.*. Pilihan ti$e server MySQL 0.  Selan6"tnya terda$at $ilihan $engg"naan database MySQL/ "nt"% M"lti%"ntional 0ransational 'nl5 ata" Non-0ransational 'nl5. Pilih salah sat" dan %li% Next "nt"% melan6"t%an. ambar *.0. Windo& Pilihan $engg"naan +atabase. 3.  Selan6"tnya terda$at setting 'an Inno8B 0a,lespae ettin*s dimana dimintamemilih tem$at "nt"% tablespace Inno+, . li% Next "nt"% melan6"t%an. ambar *.3. Windo& Inno+, #ables$ace Settings. 7.  Selan6"tnya terda$at $ilihan $er%iraan sebera$a besar %one%si "ser %e server . Pilih salah sat" dan %li% Next "nt"% melan6"t%an. ambar *.7. Pilihan Per%iraan Sebera$a ,esar one%si ser %e Server :.  Selan6"tnya terda$at &indo& "nt"% memilih nomor PDB# yang dig"na%an "nt"% MySQL. Next "nt"% melan6"t%an. ambar *.:. Windo& $ilihan $ort MySQL. =.  Selan6"tnya terda$at $ilihan nama service MySQL yang a%an dig"na%an oleh Windo&s. Pilih salah sat" dan %li% Next "nt"% melan6"t%an. ambar *.=. Windo& $ilihan 8ama Service MySQL. >.  Selan6"tnya diminta memodi!i%asi securit#  . Pilih $ass&ord "nt"% root ("ser tertinggi di MySQL) dan %li% Next "nt"% melan6"t%an. ambar *.>. Windo& Sec"rity Setting. ?.  Proses %on!ig"rasi selesai dan %li% xe"te "nt"% menyim$an %on!ig"rasi dan men6alan%an servis MySQL. ambar *.?. Proses %on!ig"rasi server MySQL selesai. )ne$si $e Server MySQL dengan MySQL ,lient MySQL menyedia%an tools "nt"% mela%"%an %one%si %e server MySQL/ yait" MySQL ;ommand'Line ;lient. #ools terseb"t da$at dia%ses dari men" tart > All Pro*rams > M5@# > M5@# erer > M5@# (omman$ #ine (lient . #am$ilannya %"rang lebih tam$a% $ada gambar beri%"t ini- ambar *.0. MySQL :ommand 0ine :lient  nt"% mela%"%an %one%si %e server MySQL/ Anda c"%"$ mengeti%%an $ass&ord %one%si MySQL. Pass&ord ini dide!inisi%an $ada saat $roses instalasi. 4i%a $ass&ordnya benar/ ma%a a%an ditam$il%an &indo& sbb - ambar *.*. one%si %e Server MySQL dengan ser root Setelah %one%si %e server MySQL berhasil dila%"%an/ ma%a a%an ditam$il%an $rom$t  mysql  se$erti $ada gambar *.3. Q"ery ata" $erintah' $erintah MySQL da$at dit"lis%an $ada $rom$t MySQL ini. A%hiri setia$ ["ery dengan titi%'%oma (G). Selan6"tnya "nt"% %el"ar dari server MySQL da$at dila%"%an dengan mengeti%%an $erintah quit ata" q $ada  prompt mys[lV. Pemrograman Web dengan PHP dan MySQL Berbagai MySQL lient #nt#$ Ad&inistrasi Server MySQL ,eri%"t ini bebera$a tools yang biasa dig"na%an dalam mem$erm"dah administrasi server MySQL. +ools beri%"t ini hanya dig"na%an "nt"% mem$erm"dah administrasi MySQL/ 6adi tida% har"s dig"na%an. =. M5@# (omman$ #ine (lient MySQL ;ommand Line ;lient mer"$a%an tools default MySQL yang s"dah diserta%an dalam !ile instalasi MySQL. A$li%asi ini da$at dig"na%an "nt"% mela%"%an %one%si %e MySQL melal"i text-based mode . ambar *.*. #am$ilan MySQL command line client 2. M5@#-Front MySQL'*)Y EY 3field!key6 6" ,ent"% "m"m di atas mer"$a%an bent"% "m"m $emb"atan tabel yang s"dah disederhana%an. Penamaan tabel dan !ield memili%i at"ran yang sama dengan $enamaan database. MySQL menyedia%an berbagai ti$e data dengan s$esi!i%asi dan $an6ang masing'masing. #i$e data "nt"% !ield dalam MySQL diantaranya ditam$il%an $ada tabel beri%"t ini - &NI 0IP  0IP2 )202!AN?AN N1M!I) #I8_I8# '*> sd *= SI89+  sd *77 8SI89+ SMALLI8# '0*=:> sd 0*=:= SI89+  sd :7707 8SI89+. M9+IMI8# '>0>>:> sd >0>>:= SI89+  sd :===*7 8SI89+ I8# '*3=3>0:3> sd *3=3>0:3= SI89+  sd 3*?3?:=*?7 8SI89+. ,II8# '?**00=*0:>73==7>> sd ?**00=*0:>73==7>= SI89+  sd >33:=33=0=?77:7 8SI89+. *)Y /EY3nim6 6" 4i%a ["ery "nt"% memb"at tabel di atas berhasil di6alan%an/ ma%a a%an ditam$il%an $esan sebagai beri%"t - .uery %0 4 ros affe2ted 34(1B se26 Pada $erintah di atas/ bebera$a hal yang $erl" di$erhati%an -    ƒ    C)E*TE T*,@E mer"$a%an $erintah dasar dari $emb"atan table.    ƒ    mhs mer"$a%an nama tabel yang a%an dib"at.    ƒ    Nim0 nama0 tgllahir dan alamat mer"$a%an nama !ield    ƒ    ar2har0 date dan teAt mer"$a%an ti$e data dari !ield    ƒ    N%T N@@ mer"$a%an o$tion "nt"% menyata%an bah&a s"at" !ield tida% boleh %osong.    ƒ    P)#>*)Y EY mer"$a%an $erintah "nt"% menent"%an !ield mana yang a%an di6adi%an $rimary %ey $ada tabel.    ƒ    14 dan <4 di bela%ang ti$e data mer"$a%an $an6ang ma%simal dari s"at" !ield  ƒ  nt"% ti$e data date dan te2t (dan bebera$a ti$e data lainnya) $an6ang %ara%ter ma%simalnya tida% $erl" ditent"%an.    ƒ    4angan l"$a a%hiri $erintah dengan titi%'%oma (G) Selan6"tnya "nt"% melihat tabel mhs s"dah benar'benar s"dah ada ata" bel"m/ %eti%%an $erintah beri%"t ini - Pemrograman Web dengan PHP dan MySQL SHOW TABLES; Perintah di atas a%an menam$il%an sel"r"h tabel yang s"dah ada dalam s"at" database. ;ontoh hasil dari $erintah di atas adalah sebagai beri%"t - ++ ! T"#l$s%i&%m"'"sis(" ! ++ ! m's ! ++ ) *(s i& s$t ,-.-) s$/0 nt"% melihat str"%t"r tabel K mhs  secara lebih detail/ cobalah $erintah ata" ["ery sebagai beri%"t - DESC  m's; 8( mer"$a%an sing%atan dari 8(!IB (dalam ["ery bisa dit"lis leng%a$ ata" hanya 3 %ara%ter $ertama) dan mhs adalah nama tabel yang a%an dilihat str"%t"rnya. +ari $erintah di atas/ a%an ditam$il%an str"%t"r tabel mhs sebagai beri%"t - +++++++ ! Fi$l1 ! Ty2$ ! Null ! 3$y ! D$4"ult ! E5t*" ! +++++++ ! &im ! 6"*/'"*,)-0 ! ! PRI ! ! ! ! &"m" ! 6"*/'"*,7-0 ! ! ! ! ! ! t8ll"'i* ! 1"t$ ! 9ES ! ! N:LL ! ! ! "l"m"t ! t$5t ! 9ES ! ! N:LL ! ! +++++++ ; *(s i& s$t ,-.-- s$/0 +ari str"%t"r tabel mhs yang ditam$il%an di atas/ da$at di%etah"i bah&a -    ƒ    #erda$at 3 (em$at) !ield dengan ti$e masing'masing.    ƒ    Primary ey dari tabel mhs adalah nim. Lihat %olom )e5 $ada !ield nim.    ƒ    nt"% !ield nim dan nama de!a"ltnya tida% boleh %osong. Lihatlah %olom N"ll dan 8e%a"lt $ada !ield nim dan nama    ƒ    nt"% !ield tgllahir dan alamat de!a"ltnya boleh %osong. Lihatlah %olom N"ll dan 8e%a"lt $ada !ield tgllahir dan alamat. M e ng"bah Str"%t"r +able den g an AL# 9 B nt"% meng"bah str"%t"r s"at" tabel/ bent"% "m"m $erintah SQL'nya sebagai beri%"t -  ALTER TABLE nama!tabel alter!options" dimana -    ƒ    *@TE) T*,@E   mer"$a%an $erintah dasar "nt"% meng"bah tabel.    ƒ    nama!tabel mer"$a%an nama tabel yang a%an di"bah str"%t"rnya.    ƒ    alter!options mer"$a%an $ilihan $er"bahan tabel. D$tion yang bisa dig"na%an/ bebera$a di antaranya sebagai beri%"t - D *++ definisi!field!baru D$tion ini dig"na%an "nt"% menambah%an !ield bar" dengan  K $e%inisi7%iel$7,ar"  (nama !ield/ ti$e dan o$tion lain). D *++ #N+E& nama!indeA Pemrograman Web dengan PHP dan MySQL D$tion ini dig"na%an "nt"% menambah%an inde2 dengan nama  K nama7in$exC $ada tabel. D *++ P)#>*)Y EY 3field!kun2i6 D$tion "nt"% menambah%an $rimary %ey $ada tabel D C7*NE field!yang!diubah definisi!field!baru D$tion "nt"% meng"bah !ield5yang5di"bah men6adi de!inisi5!ield5bar" D >%+#$Y definisi!field D$tion "nt"% meng"bah s"at" !ield men6adi de!inisi5!ield D +)%P nama!field D$tion "nt"% mengha$"s !ield nama5!ield D )EN*>E T% nama!tabel!baru D$tion "nt"% mengganti nama tabel ,ebera$a contoh variasi $erintah AL#9B "nt"% meng"bah str"%t"r s"at" tabel antara lain - . Menambah%an !ield K a*ama  %e tabel mhs  ALTER TABLE m's ADD "8"m" 6"*/'"*,)<0 NOT  N:LL; *. Menambah%an $rimary %ey $ada s"at" tabel  ALTER TABLE m's ADD PRI=AR9 3E9,&im0; 0. Meng"bah pan9an* %iel$ a*ama men6adi  %ara%ter dalam tabel mhs  ALTER TABLE m's CHAN>E "8"m" "8"m" 6"*/'"*,)-0; 3. Meng"bah tipe %iel$ a*ama men6adi char(*) dalam tabel mhs  ALTER TABLE m's =ODIF9 "8"m" /'"*,?0 NOT  N:LL; 7. Mengha$"s !ield a*ama dari tabel mhs  ALTER TABLE m's DROP "8"m"; M e ng"bah 8 a m a #ab e l nt"% meng"bah nama s"at" tabel/ da$at mengg"na%an $erintah SQL sbb - RENA=E TABLE m's TO  m"'"sis(";  ALTER TABLE m's RENA=E TO  m"'"sis("; Perintah di atas a%an meng"bah tabel mhs men6adi mahasiswa . M e ngha$"s # a b e l nt"% mengha$"s seb"ah tabel/ bent"% "m"m dari $erintah SQL adalah sebagai beri%"t - DROP TABLE nama!tabel" ;ontohnya %ita a%an mengha$"s tabel dengan nama K mahasiswa  ma%a $erintah SQL'nya adalah - DROP TABLE  m"'"sis("; Pemrograman Web dengan PHP dan MySQL Mena&bah 0ecrd dengan I:S/0T ,ent"% "m"m $erintah SQL "nt"% menambah%an record ata" data %e dalam s"at" tabel adalah sebagai beri%"t - INSERT INTO nama!tabel  @AL:ES 3Fnilai1G0Gnilai5G0(((6" ata" da$at dengan bent"% sebagai beri%"t - INSERT INTO nama!tabel3field10field50(((6  @AL:ES 3Fnilai1G0Gnilai5G0(((6" ata" da$at 6"ga dengan bent"% sebagai beri%"t - INSERT INTO nama!tabel SET field1=Gnilai1G0 field5=Gnilai5G0(((" Sebagai contoh/ %ita a%an menambah%an seb"ah record %e dalam tabel mhs yang telah %ita b"at sebel"mnya. ,eri%"t ini $erintah SQL "nt"% menambah%an seb"ah record %e dalam tabel mhs - INSERT INTO m's @AL:ES ,-;))<--)?)A/'m"1 Sli/'i& )?--<"G"*t" S$l"t"&0; 4i%a $erintah SQL di atas berhasil die%se%"si ma%a a%an ditam$il%an $esan sebagai beri%"t - u$*y O3 ) *( "44$/t$1 ,-.-- s$/0 Setelah $erintah SQL di atas berhasil die%se%"si/ ma%a record ata" data dalam tabel mhs a%an bertambah. 4alan%an $erintah beri%"t ini "nt"% melihat isi tabel mhs  SELECT  FRO=  m's; +an beri%"t ini hasil dari $erintah SQL di atas - +++++ ! &im ! &"m" ! t8ll"'i* ! "l"m"t ! +++++ ! -;))<--)?) ! A/'m"1 Sli/'i& ! )?--< ! "G"*t" S$l"t"& ! +++++ ) *( i& s$t ,-.) s$/0 # a t ih an #ambah%an  data (record) bar" %e tabel mhs sehingga isi tabel mhs men6adi sebagai beri%"t  +++++ ! &im ! &"m" ! t8ll"'i* ! "l"m"t ! +++++ ! -;))<--)?) ! A/'m"1 Sli/'i& ! )?--< ! "G"*t" S$l"t"& ! ! -;))<--)?7 ! C'tim"tul = ! )7-7)? ! "G"*t" S$l"t"& ! ! -;??<--))) ! B"Ju*i ! )7-7?< ! T"&8$*"&8 ! ! -;;;<---)) ! O&$&8 ! )--<?? ! "G"*t" :t"*" ! ! -;77<--))< ! :&yil ! )--? ! T"&8$*"&8 ! Pemrograman Web dengan PHP dan MySQL ! -;))<--)) ! :J"&8 ! );)-- ! "G"*t" B"*"t ! ! -;??<--7) ! $#l$' ! );)-- ! C$&8G"*$&8 ! ! -;77<--777 ! D& ! );)-- ! "G"*t" S$l"t"& ! ! -;??<--;77 ! Di&i ! ))?)- ! "G"*t" S$l"t"& ! ! -;))<--77) ! D"&" ! )-K)) ! "G"*t" S$l"t"& ! ! -;;;<--7)< ! D"&i ! )<-)-) ! "G"*t" B"*"t ! +++++ Mengedit 0ecrd dengan 6P%AT/ Proses "$date bisa se&a%t"'&a%t" dila%"%an 6i%a terda$at data ata" record dalam s"at" tabel yang $erl" di$erbai%i. Proses "$date ini tida% menambah%an data (record) bar"/ teta$i mem$erbai%i data yang lama. Per"bahan yang ter6adi dalam $roses "$date bersi!at $ermanen/ artinya setelah $erintah di6alan%an tida% da$at di' cancel ( undo ). ,ent"% "m"m $erintah SQL "nt"% mengedit s"at" record ata" data dari s"at" tabel adalah sebagai beri%"t - :PDATE nama!tabel SET field1=GnilaibaruG H  WHERE kondisiI" Pada $erintah "nt"% "$date di atas -    ƒ    P+*TE mer"$a%an $erintah dasar "nt"% meng"bah record tabel.    ƒ    nama!tabel mer"$a%an nama tabel yang a%an di"bah recordn#a .    ƒ    Perintah 'ET dii%"ti dengan field-field yang a%an di"bah yang mana dii%"ti  6"ga dengan $er"bahan isi dari masing'masing field  . nt"% meng"bah nilai dari bebera$a field se%alig"s/ g"na%an %oma (/) "nt"% memisah%an masing' masing field  .    ƒ    Perintah 87E)E dii%"ti oleh %ondisi tertent" yang menent"%an record mana yang a%an diedit (di"bah). Perintah 87E)E ini boleh ada boleh 6"ga tida%. 4i%a 87E)E tida% ditambah%an $ada $erintah "$date ma%a sem"a record  dalam tabel bersang%"tan a%an ber"bah. Perhati%an bebera$a contoh $erintah P+A#9 tabel mhs beri%"t ini  . Meng"bah alamat men6adi K#angerang "nt"% mahasis&a yang mem$"nyai nim 37* :PDATE m's SET "l"m"tT"&8$*"&8  WHERE &im-))<--)?); +an 6i%a ["ery di atas berhasil die%se%"si ma%a a%an ditam$il%an hasil sebagai beri%"t - u$*y O3 ) *( "44$/t$1 ,-.?K s$/0 R(s m"t/'$1M ) C'"&8$1M ) W"*&i&8sM - *. Meng"bah tanggal lahir men6adi K* Maret ?>0 dan alamat men6adi  K,and"ng "nt"% mahasis&a yang mem$"nyai nim 3**70: :PDATE m's SET t8ll"'i*)?--< "l"m"tF"G"*t" S$l"t"& WHERE &im-??<--7); Pemrograman Web dengan PHP dan MySQL Menghap#s 0ecrd dengan %/L/T/ Proses delete dila%"%an 6i%a terda$at data ata" record dalam s"at" tabel yang $erl" diha$"s ata" dihilang%an. Per"bahan yang ter6adi dalam $roses delete bersi!at $ermanen/ artinya setelah $erintah di6alan%an tida% da$at di' cancel ( undo ). 4adi berhati'hatilah dengan $erintah delete  ,ent"% "m"m $erintah SQL "nt"% mengha$"s s"at" record ata" data dari tabel adalah sebagai beri%"t - DELETE FRO= nama!tabel H  WHERE kondisiI" Pada $erintah "nt"% delete di atas -    ƒ    +E@ETE $)%> mer"$a%an $erintah dasar "nt"% mengha$"s s"at" record  dari tabel.    ƒ    nama!tabel mer"$a%an nama tabel yang a%an diha$"s recordn#a .    ƒ    Perintah 87E)E dii%"ti oleh %ondisi tertent" yang menent"%an record mana yang a%an diha$"s (didelete). Perintah 87E)E ini boleh ada boleh 6"ga tida%. 8 a m " n d em i%ia n/ 6i%a 87E)E tida% ditambah%an $ada $erintah delete ma%a sem"a record dalam tabel bersang%"tan a%an terhap"s . 4 a d i 6a ng an l" $a m e namba h %an WH9B9 6i%a % ita ti  d a % ber m a %s"d mengosong%an ta be l Perhati%an bebera$a contoh $erintah +9L9#9 dari tabel mhs beri%"t ini  . Mengha$"s data mahasis&a yang mem$"nyai nim 3700 DELETE FRO= m's WHERE &im-))<--77); +an 6i%a ["ery di atas berhasil die%se%"si ma%a a%an ditam$il%an hasil sebagai beri%"t - u$*y O3 ) *( "44$/t$1 ,-.)) s$/0 *. Mengha$"s sem"a mahasis&a yang beralamat di K,and"ng  DELETE FRO= m's WHERE "l"m"tB"&1u&8; Mena&pil$an 0ecrd dengan S/L/,T Perintah S9L9;# dig"na%an "nt"% menam$il%an ses"at". Ses"at" di sini bisa ber"$a se6"mlah data dari tabel dan bisa 6"ga ber"$a s"at" e%s$resi. +engan S9L9;# %ita bisa mengat"r tam$ilan ata" %el"aran ses"ai tam$ilan yang diingin%an. ,ent"% dasar $erintah S9L9;# data dari tabel adalah sebagai beri%"t - SELECT Hfield : JI FRO= nama!tabel H  WHERE kondisiI" Perhati%an bebera$a contoh $erintah S9L9;# dari tabel mhs beri%"t ini  . Menam$il%an sel"r"h data ata" record (O) dari tabel mhs SELECT  FRO=  m's; Pemrograman Web dengan PHP dan MySQL +an 6i%a ["ery di atas berhasil die%se%"si ma%a a%an ditam$il%an hasil sebagai beri%"t - +++++ ! &im ! &"m" ! t8ll"'i* ! "l"m"t ! +++++ ! -;))<--)?) ! A/'m"1 Sli/'i& ! )?--< ! "G"*t" S$l"t"& ! ! -;))<--)?7 ! C'tim"tul = ! )7-7)? ! "G"*t" S$l"t"& ! ! -;??<--))) ! B"Ju*i ! )7-7?< ! T"&8$*"&8 ! ! -;;;<---)) ! O&$&8 ! )--<?? ! "G"*t" :t"*" ! ! -;77<--))< ! :&yil ! )--? ! T"&8$*"&8 ! ! -;))<--)) ! :J"&8 ! );)-- ! "G"*t" B"*"t ! ! -;??<--7) ! $#l$' ! )?--< ! "G"*t" S$l"t"& ! ! -;77<--777 ! D& ! );)-- ! "G"*t" S$l"t"& ! ! -;??<--;77 ! Di&i ! ))?)- ! "G"*t" S$l"t"& ! ! -;;;<--7)< ! D"&i ! )<-)-) ! "G"*t" B"*"t ! +++++ )- *(s i& s$t ,-.?< s$/0 *. Menam$il%an field nim dan nama dari sel"r"h mahasis&a dalam tabel mhs SELECT &im &"m" FRO=  m's; 4i%a ["ery di atas berhasil die%se%"si ma%a a%an ditam$il%an hasil sebagai beri%"t - +++ ! &im ! &"m" ! +++ ! -;))<--)?) ! A/'m"1 Sli/'i& ! ! -;))<--)?7 ! C'tim"tul = ! ! -;??<--))) ! B"Ju*i ! ! -;;;<---)) ! O&$&8 ! ! -;77<--))< ! :&yil ! ! -;))<--)) ! :J"&8 ! ! -;??<--7) ! $#l$' ! ! -;77<--777 ! D& ! ! -;??<--;77 ! Di&i ! ! -;;;<--7)< ! D"&i ! +++ )- *(s i& s$t ,-.)) s$/0 0. Menam$il%an data mahasis&a yang mem$"nyai nim <==<<=23 SELECT  FRO= m's WHERE &im  -))<--)?7; Hasil ["ery di atas adalah sbb - +++++ ! &im ! &"m" ! t8ll"'i* ! "l"m"t ! +++++ ! -;))<--)?7 ! C'tim"tul = ! )7-7)? ! "G"*t" S$l"t"& ! +++++ ) *( i& s$t ,-.- s$/0 3. Menam$il%an data sem"a mahasis&a yang beralamat di l"ar &a+arta elatan Pemrograman Web dengan PHP dan MySQL SELECT  FRO= m's WHERE "l"m"t  "G"*t" S$l"t"&; Hasil ["ery di atas adalah sbb - +++++ ! &im ! &"m" ! t8ll"'i* ! "l"m"t ! +++++ ! -;??<--))) ! B"Ju*i ! )7-7?< ! T"&8$*"&8 ! ! -;;;<---)) ! O&$&8 ! )--<?? ! "G"*t" :t"*" ! ! -;77<--))< ! :&yil ! )--? ! T"&8$*"&8 ! ! -;))<--)) ! :J"&8 ! );)-- ! "G"*t" B"*"t ! ! -;;;<--7)< ! D"&i ! )<-)-) ! "G"*t" B"*"t ! +++++ < *(s i& s$t ,-.-? s$/0 ,eri%"t ini o$erator per,an$in*an yang da$at dig"na%an "nt"% membanding%an d"a b"ah nilai dalam MySQL -    ƒ    'perator D / a%an bernilai #B9 6i%a nilai yang dibanding%an sama.    ƒ    'perator ED ata" > / a%an bernilai #B9 6i%a nilai yang dibanding%an #I+A SAMA (berbeda).  ƒ  'perator > / a%an bernilai #B9 6i%a nilai yang $ertama lebih besar dari nilai %ed"a.    ƒ    'perator >D / a%an bernilai #B9 6i%a nilai yang $ertama lebih besar ata" sama dengan nilai %ed"a.  ƒ  'perator  / a%an bernilai #B9 6i%a nilai yang $ertama lebih %ecil dari nilai %ed"a.  ƒ  'perator D / a%an bernilai #B9 6i%a nilai yang $ertama lebih %ecil ata" sama dengan nilai %ed"a. 7. Menam$il%an data sem"a mahasis&a yang beralamat di &a+arta elatan dan lahir $ada tah"n =G2 . SELECT  FRO= m's WHERE "l"m"t  "G"*t" S$l"t"& OO 9EAR,t8ll"'i*0  )?; Hasil ["ery di atas adalah sbb - +++++ ! &im ! &"m" ! t8ll"'i* ! "l"m"t ! +++++ ! -;))<--)?) ! A/'m"1 Sli/'i& ! )?--< ! "G"*t" S$l"t"& ! ! -;??<--7) ! $#l$' ! )?--< ! "G"*t" S$l"t"& ! +++++ ? *(s i& s$t ,-.-- s$/0 ,eri%"t ini o$erator pen*h","n* yang da$at dig"na%an "nt"% mengh"b"ng%an antara d"a %ondisi dalam MySQL -    ƒ    'perator  ata" AN8 / a%an mengh"b"ng%an d"a %ondisi dimana a%an bernilai #B9 6i%a %ed"a %ondisi bernilai #B9.  ƒ  'perator JJ ata" '!  / a%an mengh"b"ng%an d"a %ondisi dimana a%an bernilai #B9 6i%a salah sat" ata" %ed"a %ondisi bernilai #B9.    ƒ    'perator E / a%an me' reverse nilai s"at" %ondisi logi%a. ) e t e r a n* a n <"ngsi 6A! $ada ["ery di atas a%an menghasil%an nilai #AH8 dari s"at" tanggal. Selain !"ngsi _9AB/ 6"ga terda$at !"ngsi MD8#H yang a%an menghasil%an nama ,LA8 dari tanggal/ !"ngsi +A_ yang a%an menghasil%an Pemrograman Web dengan PHP dan MySQL hari dari s"at" tanggal/ dan masih banya% !"ngsi lain yang berh"b"ngan dengan tanggal. :. Menam$il%an nim nama dan "m"r dari sem"a mahasis&a. SELECT &im &"m" 9EAR,&(,009EAR,t8ll"'i*0 AS umu* FRO=  m's; Hasil ["ery di atas adalah sbb - ++++ ! &im ! &"m" ! umu* ! ++++ ! -;))<--)?) ! A/'m"1 Sli/'i& ! ?; ! ! -;))<--)?7 ! C'tim"tul = ! ?7 ! ! -;??<--))) ! B"Ju*i ! ?7 ! ! -;;;<---)) ! O&$&8 ! ? ! ! -;77<--))< ! :&yil ! ? ! ! -;))<--)) ! :J"&8 ! ?? ! ! -;??<--7) ! $#l$' ! ?; ! ! -;77<--777 ! D& ! ?? ! ! -;??<--;77 ! Di&i ! ?- ! ! -;;;<--7)< ! D"&i ! ?) ! ++++ )- *(s i& s$t ,-.-< s$/0 ) e t e r a n* a n Pada ["ery di atas terda$at !"ngsi 6A! yang a%an mengambil tah"n dari s"at" tanggal. Selan6"tnya !"ngsi now () a%an me' return tanggal dan &a%t" sistem saat ["ery die%se%"si. Proses $erhit"ngan "m"r dialias%an dengan nama Y "m"rK . nt"% mengalias%an g"na%an $erintah A yang dii%"ti nama alias. =. Menam$il%an sem"a mahasis&a  9"r"san 0I SELECT  FRO= m's WHERE S:BSTRIN>,&im7?0)); Hasil ["ery di atas adalah sbb - +++++ ! &im ! &"m" ! t8ll"'i* ! "l"m"t ! +++++ ! -;))<--)?) ! A/'m"1 Sli/'i& ! )?--< ! "G"*t" S$l"t"& ! ! -;))<--)?7 ! C'tim"tul = ! )7-7)? ! "G"*t" S$l"t"& ! ! -;))<--)) ! :J"&8 ! );)-- ! "G"*t" B"*"t ! +++++ 7 *(s i& s$t ,-.) s$/0 ) e t e r a n* a n Pada ["ery di atas terda$at !"ngsi 1B0!IN? yang berg"na "nt"% memotong s"at" string. . Menam$il%an sem"a data mahasis&a secara "r"t berdasar%an nama dengan $erintah '!8! B6 SELECT  FRO= m's ORDER B9 &"m"; Pemrograman Web dengan PHP dan MySQL Hasil ["ery di atas adalah sbb - +++++ ! &im ! &"m" ! t8ll"'i* ! "l"m"t ! +++++ ! -;))<--)?) ! A/'m"1 Sli/'i& ! )?--< ! "G"*t" S$l"t"& ! ! -;??<--))) ! B"Ju*i ! )7-7?< ! T"&8$*"&8 ! ! -;))<--)?7 ! C'tim"tul = ! )7-7)? ! "G"*t" S$l"t"& ! ! -;;;<--7)< ! D"&i ! )<-)-) ! "G"*t" B"*"t ! ! -;??<--;77 ! Di&i ! ))?)- ! "G"*t" S$l"t"& ! ! -;77<--777 ! D& ! );)-- ! "G"*t" S$l"t"& ! ! -;??<--7) ! $#l$' ! )?--< ! "G"*t" S$l"t"& ! ! -;;;<---)) ! O&$&8 ! )--<?? ! "G"*t" :t"*" ! ! -;))<--)) ! :J"&8 ! );)-- ! "G"*t" B"*"t ! ! -;77<--))< ! :&yil ! )--? ! T"&8$*"&8 ! +++++ )- *(s i& s$t ,-.-) s$/0 ?. Menam$il%an sem"a data mahasis&a secara "r"t berdasar%an nim secara 8(N8IN? SELECT  FRO= m's ORDER B9 &im DESC; Hasil ["ery di atas adalah sbb - +++++ ! &im ! &"m" ! t8ll"'i* ! "l"m"t ! +++++ ! -;;;<--7)< ! D"&i ! )<-)-) ! "G"*t" B"*"t ! ! -;;;<---)) ! O&$&8 ! )--<?? ! "G"*t" :t"*" ! ! -;77<--777 ! D& ! );)-- ! "G"*t" S$l"t"& ! ! -;77<--))< ! :&yil ! )--? ! T"&8$*"&8 ! ! -;??<--;77 ! Di&i ! ))?)- ! "G"*t" S$l"t"& ! ! -;??<--7) ! $#l$' ! )?--< ! "G"*t" S$l"t"& ! ! -;??<--))) ! B"Ju*i ! )7-7?< ! T"&8$*"&8 ! ! -;))<--)?7 ! C'tim"tul = ! )7-7)? ! "G"*t" S$l"t"& ! ! -;))<--)?) ! A/'m"1 Sli/'i& ! )?--< ! "G"*t" S$l"t"& ! ! -;))<--)) ! :J"&8 ! );)-- ! "G"*t" B"*"t ! +++++ )- *(s i& s$t ,-.-- s$/0 @.  Menam$il%an 7 record (data) $ertama dari tabel mhs secara "r"t berdasar%an nim dengan #IMI0 SELECT  FRO= m's ORDER B9 &im LI=IT -<; Hasil ["ery di atas adalah sbb - +++++ ! &im ! &"m" ! t8ll"'i* ! "l"m"t ! +++++ ! -;))<--)) ! :J"&8 ! );)-- ! "G"*t" B"*"t ! ! -;))<--)?) ! A/'m"1 Sli/'i& ! )?--< ! "G"*t" S$l"t"& ! ! -;))<--)?7 ! C'tim"tul = ! )7-7)? ! "G"*t" S$l"t"& ! ! -;??<--))) ! B"Ju*i ! )7-7?< ! T"&8$*"&8 ! ! -;??<--7) ! $#l$' ! )?--< ! "G"*t" S$l"t"& ! +++++ < *(s i& s$t ,-.)7 s$/0 Pemrograman Web dengan PHP dan MySQL ) e t e r a n* a n Pada ["ery di atas bent"% #IMI0 dig"na%an "nt"% membatasi hasil tam$ilan. LIMI# banya% dig"na%an "nt"% menam$il%an data yang relati! banya%. #T aî€�al0 jumlah!re2ord Pemrograman Web dengan PHP dan MySQL Bab 1+  Apli$asi Berita dengan PHP dan MySQL   ™   Merancang Str"%t"r +atabase   ™   Memb"at