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 komuter. !i dalam buku
ini
tidak terlalu
dibahas mengenai teori dan algoritma emrograman,
namun
banyak berisi contoh"contoh rogram yang daat diraktekkan
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 mauun
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 imgma 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 daat digunakan, dimodi%ikasi dan
disebarluaskan
secara
bebas untuk tu#uan endidikan, embela#aran
dan bukan komersial -
non proft
,
dengan
syarat tidak menghilangkan,
menghaus atau mengubah atribut enulis dokumen ini
dan
ernyataan
dalam lisensi dokumen yang disertakan di setia dokumen. /idak
dierbolehkan
melakukan enulisan ulang atau mengkomersialkan
buku ini kecuali mendaatkan
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 meruakan salah satu %enomena aling berengaruh dalam
beberaa
dekade
terakhir ini, baik bagi erkembangan teknologi itu
sendiri mauun bagi
erkembangan
disilin ilmu lain, seerti ekonomi,
olitik, sosial dan budaya. Perkembangan internet
#uga
berengaruh
langsung terhada erkembangan situs $eb. !i a$al kemunculannya,
internet
mauun situs $eb belum begitu ouler karena layanannya
yang masih terbatas.
1amun
lihatlah saat ini, situs $eb sudah demikian
ouler dan layanannya un beragam, mulai
dari
situs berita seerti
!etik dan 2ke3one, situs enyedia email seerti 4ahoo dan
5mail,
samai situs ertemanan -
social networking
seerti 6riendster dan
6acebook.
!alam kaitannya dengan situs $eb dan layanan di dalamnya tidak
leas 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 mencaai 78 #uta situs
$eb.
Sedangkan dari sisi database, enggunaan MySQL
-
h t t )*
*$ $$.
m ys9 l.
c om
masih
#uga
mendominasi dalam alikasi 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 samai yang cuku
komleks.
!engan
adanya contoh"contoh rogram tersebut, diharakan embaca
daat
memraktekkannya secara langsung -
learning by doing
dan daat
menyimulkan
sendiri
maksud dari setia erintah dalam rogram
dengan cara melihat hasil yang ditamilkan
di
layar -
browser
. !i akhir
buku ini, disa#ikan contoh yang lebih nyata, yaitu alikasi situs
berita
sederhana yang daat 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
mauun
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 harakan. Saran, kritik dan masukan
mengenai
buku ini
daat disamaikan 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 Scriting
...............................:
;. Web
Ser'er..................................................................................................................
:
7. Ser'er Side Scriting
................................................................................................... <
=. /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. /ie !ata
................................................................................................................... ;
. Konstanta
.................................................................................................................. ;:
:. 2erator 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 0nut /ye /E>/ dan PASSW2F!
.................................................................... ==
=. 6orm 0nut /ye FA!02
............................................................................................ =
Pemrograman Web dengan PHP dan MySQL
Achmad Solichin
(
a c hm at im @ g m ai
l.c om
)
6
?. 6orm 0nut /ye CHECK B2>
.................................................................................... =<
8. 6orm 0nut /ye C2MB2 B2>
.................................................................................. =
. 6orm 0nut /ye /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 2erasi /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 Menghaus !irektori
........................................................................
=. Maniulasi 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
........................................................................................................ ::
=. Proerties 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
/
namamhs
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
ƒ
scrit languageOhN dan *scritN
ƒ
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$-localhosthello. $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 . RbrNRI
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
>. 8LL
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 . RbrNRI
echo R1ama ) namabrNRI
;D rint R&mur ) R . umurI rint RbrNRI
;; rint% -R1ilai ) .=%brNR, nilaiI
;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 SolichinRI
= deGne -R10LA0R, DI
?
8 **1AMA O RMuhammadRI **akan menyebabkan error
echo R1ama ) R . 1AMAI
: echo RbrN1ilai ) R . 10LA0I
< N
ambar *.3. #am$ilan Program *.3
*peratr 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 3Ga diisi dengan 3
Bitwise
a b,it&ise A8+
R
a R b,it&ise DB
a b,it&ise 1DB
T
Tb,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
JJJa JJJ bIdenti%
J
a J b#ida% sama dengan
UV
a UV b#ida% sama dengan
JJa 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#B9 6i%a a dan b #B9
a b#B9 6i%a a dan b #B9
or
a or b#B9 6i%a a ata" b #B9
RR
a RR b#B9 6i%a a danata" b #B9
2or
a 2or b
#B9 6i%a a ata" b #B9/ ta$i
tida% %ed"anya
a#B9 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 UHV 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 Ri RI
i^O7I
: $hile -i O 7DI
<
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 Ri 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 headNtitleNLogin Here*titleN*headN
= bodyN
? 62FM AC/021ORrosesD8.hR ME/H2!ORP2S/R 1AMEORinutRN
8 h7NLogin Here...*h7N
&sername ) inut tyeORte]tR nameORusernameRNbrN
: Pass$ord ) inut tyeORass$ordR nameORass$ordRNbrN
< inut tyeORsubmitR nameORLoginR 'alueORLoginRN
inut tyeORresetR 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/_Tass$ordT`I
8 i% -user OO RachmatimR XX ass OO R;7=R [
echo Rh7NLogin Berhasil*h7NRI
: else [
< echo Rh7NLogin 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 headNtitleNPilih (urusan*titleN*headN
= bodyN
? 62FM AC/021ORrosesD.hR ME/H2!ORP2S/R 1AMEORinutRN
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
inut tyeORradioR nameOR#urusanR 'alueOR/0R checkedN
/eknik 0n%ormatikabrN
: inut tyeORradioR nameOR#urusanR 'alueORS0RN Sistem
0n%ormasibrN
< inut tyeORradioR nameOR#urusanR 'alueORSKRN Sistem
KomuterbrN
inut tyeORradioR nameOR#urusanR 'alueORKARN
Komuterisasi AkuntansibrN
;D inut tyeORsubmitR 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 headNtitleNBand 6a'orit 0nutan Checkbo]*titleN*headN
= bodyN
? 62FM AC/021ORrosesD:.hR ME/H2!ORP2S/R 1AMEORinutRN
8 h7NPilih Band 6a'orit Anda )*h7N
inut tyeORcheckbo]R nameORbandD;R 'alueORPadiR
checkedN PadibrN
: inut tyeORcheckbo]R nameORbandD7R 'alueORSheila 2n
:RN Sheila 2n :brN
<inut tyeORcheckbo]R nameORbandD=R 'alueOR!e$a ;RN
!e$a ;brN
inut tyeORcheckbo]R nameORbandD?R 'alueOR&nguRN
&ngubrN
;D inut tyeORsubmitR 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` . RbrNRI
: i% -isset-P2S/_TbandD7T` [
< echo R^ R . P2S/_TbandD7T` . RbrNRI
;D i% -isset-P2S/_TbandD=T` [
;; echo R^ R . P2S/_TbandD=T` . RbrNRI
;7
;= i% -isset-P2S/_TbandD?T` [
;? echo R^ R . P2S/_TbandD?T` . RbrNRI
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
isset4
. 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
7headNtitleN6ilm Kartun 6a'orit 0nutan Combo
bo]*titleN*headN
= bodyN
? 62FM AC/021ORrosesD<.hR ME/H2!ORP2S/R 1AMEORinutRN
8 h7NPilih 6ilm Kartun 6a'orit Anda )*h7N
select nameORkartunRN
: otion 'alueORSonge BobRNSonge Bob*otionN
< otion 'alueORSinchanRNSinchan*otionN
otion 'alueORConanRNConan*otionN
;D otion 'alueOR!oraemonRN!oraemon*otionN
;; otion 'alueOR!ragon BallRN!ragon Ball*otionN
;7 otion 'alueOR1arutoRN1aruto*otionN
;= *selectN
;? inut tyeORsubmitR 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 colorOblueNbNGlm*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 headNtitleNKritik dan Saran 0nutan
= /e]tarea*titleN*headN
? bodyN
8 62FM AC/021ORrosesD.hR ME/H2!ORP2S/R 1AMEORinutRN
h7N0nut Kritik * Saran )*h7N
: te]tarea nameORsaranR colsOR?DR
< ro$sOR8RN*te]tareaNbrN
inut tyeORsubmitR nameORProsesR 'alueOR0nut
;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 colorOblueNbNsaran*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, RAelR, RPisangR, R(erukRI
? 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
arra54
. 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
reset4
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
eah
().
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,R5reenRI
= arr1ilai O array -RAniR ON
Nama File arra#?>.php
!es"ripsi Program mengatur posisi pointer dalam arra#.
; h
7 transort O array-T%ootT, TbikeT, TcarT, TlaneTI
= echo RreNRI
? rintr -transortI
8 echo R*reNRI
: mode O current-transortI
< echo mode.RbrNRI ** mode O T%ootTI
mode O ne]t-transortI
;D echo mode.RbrNRI ** mode O TbikeTI
;; mode O current-transortI
;7 echo mode.RbrNRI ** mode O TbikeTI
;= mode O re'-transortI
;? echo mode.RbrNRI ** mode O T%ootTI
;8 mode O end-transortI
; echo mode.RbrNRI ** mode O TlaneTI
;: mode O current-transortI
;< echo mode.RbrNRI ** mode O TlaneTI
; N
Program ' .1?
Nama File arra#1?.php
!es"ripsi Program mencari elemen arra#.
; h
7 arrBuah O array -RManggaR, RAelR, RPisangR, RKedondongR,
= R(erukRI
? i% -inarray -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 cetakgan#il - [
= %or -iODI i;DDI i^^ [
? i% -i7 OO ; [
8 echo Ri RI
:
<
**emanggilan %ungsi
;D cetakgan#il-I
;; N
Program ' .12
Nama File arra#?2.php
!es"ripsi Program fungsi dengan parameter.
; h
7 %unction cetakgan#il -a$al, akhir [
= %or -iOa$alI iakhirI i^^ [
? i% -i7 OO ; [
8 echo Ri RI
:
<
**emanggilan %ungsi
;D a O ;DI
;; b O 8DI
;7 echo RbNBilangan gan#il dari a samai b ) *bNbrNRI
;= cetakgan#il-a, bI
;? N
Program ' .1$
Nama File fungsi?$.php
!es"ripsi Program fungsi #ang mengembali"an nilai.
; h
7 %unction luaslingkaran -#ari [
= return =.;? V #ari V #ariI
?
8 **emanggilan %ungsi
r O ;DI
: echo RLuas lingkaran dengan #ariU#ari r O RI
< echo luaslingkaran-rI
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 tambahstring -str [
= str O str . R, (akartaRI
? return strI
8
**
: str O R&ni'ersitas Budi LuhurRI
< echo Rstr O strbrNRI
echo tambahstring -str. RbrNRI
;D echo Rstr O strbrNRI
;;
N
Program ' .1'
Nama File fungsi?'.php
!es"ripsi Program passing b# reference dalam fungsi.
; h
7 %unction tambahstring -Xstr [
= str O str . R, (akartaRI
? return strI
8
**
: str O R&ni'ersitas Budi LuhurRI
< echo Rstr O strbrNRI
echo tambahstring -str. RbrNRI
;D echo Rstr O strbrNRI
;;
N
Program ' .1)
Nama File fungsi?).php
!es"ripsi Program menampil"an defined-function #ang didu"ung oleh P%P.
; h
7 %unction luaslingkaran -#ari [
= return =.;? V #ari V #ariI
?
8
arr O getde%ined%unctions-I
: echo RreNRI
< rintr-arrI
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% -%unctione]ists-Te]i%readdataT [
= echo R6ungsi e]i%readdata- ada di PHP.br *NnRI
? else [
8 echo R6ungsi e]i%readdata- tidak ada di PHP.br *NnRI
: 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 simle stringTI
=
? echo T4ou can also ha'e embedded ne$lines in
8 strings this $ay as it is
okay to doTI
:
< ** 2ututs) Arnold once said) R0Tll be backR
echo TArnold once said) R0Tll be backRTI
;D
;; ** 2ututs) 4ou deleted C)V.V
;7 echo T4ou deleted C)V.VTI
;=
;? ** 2ututs) 4ou deleted C)V.V
;8 echo T4ou deleted C)V.VTI
;
;: ** 2ututs) /his $ill not e]and) n a ne$line
;< echo T/his $ill not e]and) n a ne$lineTI
;
7D ** 2ututs) @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]amle o% string
? sanning multile lines
8 using heredoc synta].
E2!I
:
< *V More comle] e]amle, $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=TI
7; %oo O ne$ %oo-I
77 name O TAchmatimTI
7=
7? echo E2/
78 uNstr*uNbrN
7 My name is RbNname*bNR. 0 am rinting some bN%ooUN%oo*bN.
7: 1o$, 0 am rinting some bN[%ooUNbar_;`*bN.
7< /his should rint a caital 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$.netman"ale 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.
ƒ
eho
() 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.
ƒ
htmlspeialhars
() 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
ƒ
str7replae
() 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.
ƒ
strrhr
() 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 RbNString asli*bN ) strRI
8 echo RbrNbNstrtolo$er-*bN ) R. strtolo$er-strI
echo RbrNbNstrtouer-*bN ) R. strtouer-strI
: echo RbrNbNucGrst- )*bN R. uc%irst-strI
< echo RbrNbNuc$ords- )*bN R. uc$ords-strI
echo RbrNbNstrre'- )*bN R. strre'-strI
;D echo RbrNbN(umlah karakter*bN ) R. strlen-strI
;; 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 -strI
? str= O strislashes -str7I
8
echo RbNString asli*bN ) strRI
: echo RbrNbNaddslashes-*bN ) str7RI
< echo RbrNbNstrislashes-*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 RMenamilkan bilangan ASC00RI
= %or -iO;I iO78I i^^ [
? echo RbrNi.tR. chr-iI
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 RbNuNE'erything 0 do, 0 do it %or you*uN*bNRI
=
? echo str.RbrNRI
8 **no tag html
echo stritags -str. RbrNRI
: **allo$ tag uN
< echo stritags -str,RuNR.RbrNRI
**tamil aa adanya
;D echo htmlsecialchars -str.RbrNRI
;; **tamil aa adanya
;7 echo htmlentities -strI
;= 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=?.8I
=
? ** english notation -de%ault
8 english%ormatnumber O number%ormat-numberI
echo RbrNR.english%ormatnumberI ** ;,7=8
:
< ** 6rench notation
nombre%ormat%rancais O number%ormat-number, 7, T,T, T TI
;D echo RbrNR.nombre%ormat%rancaisI ** ; 7=?,8
;;
;7 **indonesian notation
;= %ormatindonesia O number%ormat -number, 7, T,T, T.TI
;? echo RbrNR.%ormatindonesiaI **;.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,TaelT,TnanasTI
= buah O imlode-R,R, buahanI
?
8 echo RSaya suka buah R. buahI
** mangga,#eruk,rambutan,ael,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.RI
? e]t7 O strchr-%ile, R.RI
8 e]t= O strrchr-Gle, R.RI
: echo e]t;. RbrNRI **.this.t]t
< echo e]t7. RbrNRI **.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] #umed o'er the la3y dog.RI
= ne$te]t O $ord$ra-te]t, ;8, RbrNRI
?
8 echo te]t.RbrNbrNRI
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 methodORostRN
7 0nut teks di sini )brN
= te]tarea nameORinutR colsOR?DR ro$sOR?RN*te]tareaNbrN
? inut tyeORsubmitR nameORSubmitR 'alueORProsesRN
8 *%ormN
: h
< i% -isset-P2S/_TSubmitT` [
t]t O P2S/_TinutT`I
;D echo RuN/ana nl7br- )*uN brNt]tbrNbrNRI
;; echo RuN!engan nl7br )*uN brNR. nl7br -t]tI
;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 methodORostRN
7 10M Anda )
= inut tyeORte]tR nameORt]tnimRNbrN
? inut tyeORsubmitR 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, 7I
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 KomuterRI
breakI
case T??T ) #urusan O RKomuterisasi AkuntansiRI
breakI
de%ault ) #urusan O RSalah #urusanRI
echo R1im Anda ) nimbrNRI
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 sd 0
+
#iga digit nama hari dalam
semingg"
Mon sd S"n
6 #anggal tan$a nol sd 0
l (
lowercase
8ama hari leng%a$ dalam
L) semingg"
S"nday thro"gh Sat"rday
8 r"tan hari dalam semingg"
("nt"% Monday) sd
= ("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) sd
: ("nt"% Sat"rday)
E r"tan hari dalam setah"n sd 0:7
Minggu
Wr"tan mingg" dalam setah"n
;ontoh- 3* (mingg" %e'3*
dalam tah"n ini)
Bulan
< 8ama b"lan leng%a$ 4an"ary sd +ecember
m
r"tan b"lan dalam setah"n
dengan nol
sd *
M
#iga digit nama b"lan dalam
setah"n
4an sd
+ec
n r"tan b"lan dalam setah"n/ sd *
parameter)eteran*an(ontoh nilai
tan$a nol
t 4"mlah hari dalam tia$ b"lan *> sd 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 sd *
4am !ormat *3 tan$a nol sd *0
h 4am !ormat * dengan nol sd *
H4am !ormat *3 dengan nol sd
*0
i
Menit dengan nol sd 7?
s +eti% dengan nol sd 7?
Program ) .1&
Nama File date?1.php
!es"ripsi Program menampil"an dateCtime dengan berbagai parameter.
; h
7 ** Sekarang tanggal ;= Aril 7DD D)?=)?
=
? echo RbrNR. date-Rd*m*4 H)i)sRI ** ;=*D?*7DD D)?=)D=
8 echo RbrNR. date-R6 #, 4, g)i aRI ** Aril ;=, 7DD, )?= am
echo RbrNR. date-Rd.m.yRI ** ;=.D?.D
: echo RbrNR. date-R4mdRI ** 7DDD?;=
< ** ;=UD?UD, ?==D ?=? ? /huamD ;D7
echo RbrNR. date-T#UmUy, it is $ !ay 3 TI
;D ** it is the ;=th day.
;; echo RbrNR. date-Tit is the #S day.TI
;7 ** /hu Ar ;= )?=)? KFAS/ 7DD
;? echo RbrNR. date-R! M # 5)i)s / 4RI
;8 echo RbrNR. date-RH)i)sRI ** ;:););:
; N
Program ) .1'
Nama File date?2.php
!es"ripsi Program menampil"an nama hari dalam bahasa 7ndonesia.
; h
7 ** Sekarang tanggal ;= Aril 7DD D)?=)?
= arr!ay O array-RMingguR, RSeninR, RSelasaR, RFabuR, RKamisR,
R(umTatR, RSabtuRI
? day O date -R$RI **D U o% day
8
echo RHari ini hari ) bNR . arr!ay_day`.R*bNRI
: N
Bab
5
.ile dan
%ire$tri
™
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 %oen -nama%ile, RrRI
? i% -handle [
8 echo RbN6ile tidak daat dibuka atau belum ada*bNRI
else [
: echo RbN0si %ile ) *bNbrNRI
< $hile -isi O %gets -handle, 7D?< [
echo RisibrNRI
;D
;;
;7 %close-handleI
;= 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, RrRI
? i% -handle [
8 $hile -%eo%-handle [
bu%%er O %gets-handle, ?DI
: echo buer.RbrNRI
<
%close-handleI
;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 -handleI
Program * .*
Nama File file?*.php
!es"ripsi Program apli"asi user counter dengan file.
;
h
7 counter%ileORcounter.t]tRI
= i% -Glee]ists -counter%ile [
? %oen -counter%ile, R$RI
8
%ile O %oen-counter%ile,RrRI
:
< counter O %read-%ile,;DI
%close-GleI
;D
;; counter^^I
;7
;= echo Rh7NAnda adalah engun#ung ke U counter*h7NRI
;? %ile O %oen-counter%ile, R$RI
;8 %$rite-Gle,counterI
; %close-GleI
;: N
ambar =.7. #am$ilan Program =.=
Me&b#at dan Menghap#s
%ire$tri
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 -dirI
? i% -cek [
8 echo R!irektori bNdir*bN berhasil dibuatRI
else [
: echo R!irektori bNdir*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 -dirI
8 i% -cek [
echo R!irektori bNdir*bN berhasil dibuatRI
: else [
< echo R!irektori bNdir*bN gagal dibuatRI
;D **haus direktori
;; del O rmdir -dirI
;7 i% -del [
;= echo RbrN!irektori bNdir*bN berhasil dihausRI
;? else [
;8 echo RbrN!irektori bNdir*bN gagal dihausRI
;
;: 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$ir4
$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 oendir-dir [
? $hile -%alse OO -%ile O readdir-handle [
8 i% -%ile O R.R XX Gle O R..R [
echo R%ilebrNRI
:
<
closedir-handleI
;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 meruakan halaman contoh encitaan session.
8 Perintah sessionstart- harus ditaruh di erintah ertama
tana sasi di deannya. Perintah sessionstart- harus ada
: ada setia halaman yang berhubungan dengan session
< VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV*
sessionstart-I
;D i% -isset -P2S/_TLoginT` [
;; user O P2S/_TuserT`I
;7 ass O P2S/_TassT`I
;= **eriksa login
;? i% -user OO RachmatimR XX ass O R;7=R [
;8 **mencitakan session
; SESS021_TloginT` O userI
;: **menu#u ke halaman emeriksaan session
;< echo Rh;NAnda berhasil L2501*h;NRI
; echo Rh7NKlik a hre%OTsessionD7.hTNdi 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 methodORostRN
=D h7NLogin Here...*h7N
=; &sername ) inut tyeORte]tR nameORuserRNbrN
=7 Pass$ord ) inut tyeORass$ordR nameORassRNbrN
== inut tyeORsubmitR nameORLoginR 'alueORLog 0nRN
=? *%ormN
=8 *bodyN
= *htmlN
=: N
Pen6elasan P r ogram ? ..
Pada $rogram di atas terda$at !"ngsi
session7start4
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 meruakan contoh halaman emeriksaan session. PemeU
? riksaan session biasanya dilakukan #ika suatu halaman memiliki
8 akses terbatas. Misalnya harus login terlebih dahulu.
VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV*
: sessionstart-I
<
**emeriksaan session
;D i% -isset-SESS021_TloginT` [ **#ika sudah login
;; **menamilkan isi session
;7 echo Rh;NSelamat !atang R. SESS021_TloginT` .R*h;NRI
;=echo Rh7NHalaman ini hanya bisa diakses #ika Anda sudah
login*h7NRI
;? echo Rh7NKlik a hre%OTsessionD=.hTNdi 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;.hTNdi sini*aNRI
;<
; N
Pen6elasan P r ogram ? .*
Program ?.* di atas dia&ali dengan $emanggilan !"ngsi
session7start4
.
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 #B9
6i%a 5S9SSID8`YloginZ s"dah terbent"%. 4i%a bernilai #B9 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 meruakan halaman logout, dimana kita menghaus
? session yang ada.
8 VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV*
sessionstart-I
: i% -isset-SESS021_TloginT` [
< unset -SESS021I
sessiondestroy-I
;D **
;; echo Rh;NAnda sudah berhasil L252&/*h;NRI
;7 echo Rh7NKlik a hre%OTsessionD;.hTNdi sini*aN untuk
L2501
kembaliM*h7NRI
;= echo Rh7NAnda sekarang tidak bisa masuk ke halaman
;? a hre%OTsessionD7.hTNsessionD7.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, 'alueI
setcookie-RnamalengkaR, 'alue7, time-^=DDI *V e]ire in ;
hour V*
:
< echo Rh;N0ni halaman engesetan cookie*h;NRI
;Decho Rh7NKlik a hre%OTcookieD7.hTNdi 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 Rh;NCookie TusernameT ada. 0sinya ) R .
8 C22K0E_TusernameT`I
else [
: echo Rh;NCookie TusernameT /0!AK ada.*h;NRI
<
i%-isset-C22K0E_TnamalengkaT` [
;D echo Rh;NCookie TnamalengkaT ada. 0sinya ) R .
;; C22K0E_TnamalengkaT`I
;7 else [
;= echo Rh;NCookie TnamalengkaT /0!AK ada.*h;NRI
;?
;8echo Rh7NKlik a hre%OTcookieD;.hTNdi sini*aN untuk
encitaan cookies*h7NRI
; echo Rh7NKlik a hre%OTcookieD=.hTNdi sini*aN untuk
enghausan 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 =DDI
? setcookie -RnamalengkaR, RR, time- U =DDI
8 echo Rh;NCookie Berhasil dihaus.*h;NRI
echo Rh7NKlik a hre%OTcookieD;.hTNdi sini*aN untuk
: encitaan cookies*h7NRI
< echo Rh7NKlik a hre%OTcookieD7.hTNdi sini*aN untuk
emeriksaan cookies*h7NRI
;D N
Bab
18
Pe&rgra&an Berrientasi *b'e$
dala&
PHP
™
Pengantar Pemrograman ,erorientasi Db6e%
™
Db6ect dan ;lass
™
Pro$erties dan Method
™
Mende!inisi%an ;lass
Pengantar Pe&rgra&an Berrientasi
*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.
Prperties dan
Methd
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 roerties 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"t4
/
$estr"t4
dan
lone4
%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 tamilWarna -
;= [
;? 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"t4.
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 tamilWarna -
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 tamilWarna -
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 RbNMobil ertama*bNbrNRI
7< aUNtamilWarna-I
7 echo RbrNMobil ertama ganti $arnabrNRI
=D aUNgantiWarna-RMerahRI
=; aUNtamilWarna-I
=7 **
== echo RbrNbNMobil kedua*bNbrNRI
=? bUNgantiWarna-RHi#auRI
=8 bUNtamilWarna-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
? !eskrisi ) CLass untuk membuat %orm inutan 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 dislay6orm-
7D [
7; echo R%orm actionOTR.thisUNaction.RT methodOTP2S/TNRI
77 echo Rtable $idthOT;DDTNRI
7= %or -#ODI #count-thisUN%ieldsI #^^ [
7? echo RtrNtd alignOTrightTNR.thisUN
%ields_#`_TlabelT`.RM*tdNRI
78 echo RtdNinut tyeOTte]tT nameOTR.thisUN
%ields_#`_TnameT`.RTN*tdN*trNRI
7
7: echo RtrNtd colsanOT7TNRI
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@# erer now
dan
te%an tombol
Finish.
ambar *.?. Proses instalasi
Selesai
@.
Selan6"tnya ditam$il%an &indo&
M5@# erer Instane
(on%i*"ration
;iar$
. 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/
8eeloper
erer
ata"
8e$iate$ M5@# erer.
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%"ntional 0ransational 'nl5
ata"
Non-0ransational
'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,lespae 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@# erer > 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#
'*> sd *= SI89+
sd *77 8SI89+
SMALLI8#
'0*=:> sd 0*=:= SI89+
sd :7707 8SI89+.
M9+IMI8#
'>0>>:> sd >0>>:= SI89+
sd :===*7 8SI89+
I8#
'*3=3>0:3> sd *3=3>0:3= SI89+
sd 3*?3?:=*?7 8SI89+.
,II8#
'?**00=*0:>73==7>> sd
?**00=*0:>73==7>= SI89+
sd >33:=33=0=?77:7 8SI89+.
*)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 ros 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*NE 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 0ecrd 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
Sli/'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 Sli/'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 Sli/'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 0ecrd 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 37*
:PDATE m's SET "l"m"tT"&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**70:
:PDATE m's SET t8ll"'i*)?--<
"l"m"tF"G"*t"
S$l"t"& WHERE
&im-??<--7);
Pemrograman Web dengan PHP dan MySQL
Menghap#s 0ecrd 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 3700
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"tB"&1u&8;
Mena&pil$an 0ecrd 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 Sli/'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 Sli/'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 #B9 6i%a nilai yang dibanding%an sama.
ƒ
'perator ED
ata"
>
/ a%an bernilai #B9 6i%a nilai yang dibanding%an
#I+A SAMA (berbeda).
ƒ
'perator >
/ a%an bernilai #B9 6i%a nilai yang $ertama lebih besar dari
nilai %ed"a.
ƒ
'perator >D
/ a%an bernilai #B9 6i%a nilai yang $ertama lebih besar ata"
sama dengan nilai %ed"a.
ƒ
'perator
/ a%an bernilai #B9 6i%a nilai yang $ertama lebih %ecil dari
nilai %ed"a.
ƒ
'perator D
/ a%an bernilai #B9 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
=G2
.
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 Sli/'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 #B9 6i%a %ed"a %ondisi bernilai #B9.
ƒ
'perator JJ
ata"
'!
/ a%an mengh"b"ng%an d"a %ondisi dimana a%an
bernilai #B9 6i%a salah sat" ata" %ed"a %ondisi bernilai #B9.
ƒ
'perator E
/ a%an me'
reverse
nilai s"at" %ondisi
logi%a.
) e t e r a n* a n
<"ngsi
6A!
$ada ["ery di atas a%an menghasil%an nilai #AH8 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,&(,009EAR,t8ll"'i*0 AS
umu*
FRO=
m's;
Hasil ["ery di atas adalah sbb -
++++
! &im ! &"m" ! umu* !
++++
! -;))<--)?) ! A/'m"1 Sli/'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
6A!
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>,&im7?0));
Hasil ["ery di atas adalah sbb -
+++++
! &im ! &"m" ! t8ll"'i* ! "l"m"t !
+++++
! -;))<--)?) ! A/'m"1 Sli/'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
1B0!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 Sli/'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 Sli/'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 Sli/'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