Think Different Materi Pemrograman Web 1 05_Fungsi dan Array
Fungsi dan Array
Aryo Pinandito, ST, M.MT
Fajar Pradana, S.ST, M.Eng
Issa Arwani, S.Kom, M.Sc
1 . PEN D AH U LUAN
1.1 Pengant ar
1.2 Tuj uan
2 . De k la ra si Fun gsi
3 . Scope Va ria ble
4 . Fungsi de nga n Ar gum e n
5 . Pe nge na la n Ar r a y
6 . Ope ra si Sort ing
7 . M e nga m bil da n
m e n gga bun gk a n Ele m e n
1 . PEN D AH ULUAN
Dalam bany ak aplikasi
Web,
seringkaliandam em but uhk ansebuahv ariabel
yang
m am pum enyim panbeberapanilaisek aligussecarat erorganisir, sehingga
lain
saat k it adapat m em perolehk em balinilainilait ersebut denganm udahdandalam bent uk
yang
t erat urdant erorganisir pula. Tidak, buk an dat abase y ang dim aksud,
karenak it asedangbicaravariabel, dan dat abase bukanv ariabel. Hal
inisangat pent ingk arenadalam bany akk asust erkadanghanyam em but uhk
anpenyim pannilaisem ent ara
y ang
t erorganisirdenganbaik,
dan
dat abase
sangat m ahalunt ukm elakukanhalt ersebut .
Bayangkant ent angk oneksi,
query
danset erusnya
yang
akanm em perlam bat pr oses apabilakit am enggunakan dat abase.
Fungsi
( funct ion)
m erupak anserangkaian
script / kode
yang
m em punyaikegunaank hususdant ert ent u,
m erupakanseurut anat auserangk aiank ode
yang
seringdipak ai.Denganadanyafungsiinipem rogram andapat diperm udahka
renat idakharusm enulisberulang- ulangrangk aiank ode script ini.
1 .2 Tu j u a n
Tuj uan pem belaj aran pada bab ini adalah:
1. Mam pu m enerapak an fungsi pada PHP
2. Mem aham i k onsep penggunaan Scope variabel
3. Mengim plem ent asik an operasi Sort ing
4. Mem aham i penggunaan ar ray
5
SELF-PROPAGATING ENTREPRENEURIAL EDUCATION DEVELOPMENT
1 .1 Pe n ga n t a r
MODUL
Pemrograman Web / Pengenalan Pemrograman Web
Brawijaya University
2012
2 . D EKLARASI FUN GSI
Fungsi ( funct ion) m erupak an serangk aian script / kode yang m em punyai kegunaan khusus dan
t ert ent u, m erupak an seurut an at au serangkaian kode yang sering dipakai. Dengan adany a
fungsi ini pem rogram an dapat diperm udah karena t idak harus m enulis berulang- ulang
rangk aian kode script ini.
Sint aks:
function nama_fungsi(argumen)
{
kodeperintah
}
Cont oh :
function kali( $bil1 ,$bil2 ) {
$hasil = $bil1 * $bil2;
return $hasil;
}
Dalam pem berian sebuah nam a fungsi, m aka nam a fungsi it u t idak boleh sam a dengan nam a
fungsi yang t elah disediak an oleh PHP cont ohnya fungsi echo, print dan lain- lain.
Ada dua j enis fungsi y ang sediak an PHP :
I nt ernal funct ion : fungsi y ang sudah disediakan pada library PHP, unt uk m em akainy a cuk up
m em anggilny a saj a. Suat u fungsi yang t erdapat dalam Library PHP dapat m elak ukan berbagai
m acam hal, sepert i m enggunak an dan m enghubungkan dat abase, m em buat gr afik / chart ,
m em buat zip on t he fly , m engecek suat u form at em ail, m em ot ong dan m enggabungk an t ex t ,
m em ecah at au m enggabungk an array , m em buat enkripsi suat u st ring, m engcopy file dari
server ke server, m em buat folder, dan m acam sebagainya. Nam un t et ap saj a hal it u m em ilik i
ket erbat asan. Dengan m em buat fungsi sendiri, Anda dapat dengan bebas m enggabungk an,
m em odifikasi ant ara sat u fungsi dan fungsi lainnya. Dengan begit u diharapkan fungsi y ang
Anda buat efisien dan sesuai dengan k ebut uhan.
Define funct ion : fungsi y ang dibuat sendiri.
3 . SCOPE VARI ABLE
Scope v ariable dapat diart ik an sebagai sebuah cakupan wilayah yang dapat dit angani
olehvariabel.
PHP m em iliki 2 j enis scope v ariable :
•
•
Lok al v ariable yait u variable yang hanya dapat digunakan di dalam fungsi.
Global v ariable yait u variable yang dapat digunakan di luar dan di dalam fungsi.
PHP m em iliki beberapa syarat dalam variable scope, diant aranya :
Variabel y ang dideklarasik an di dalam sebuah funct ion, hanya dapat digunakan pada
fungsit ersebut . Jenis scope v ariable ini dikenal dengan local variable.
Variabel yang didek larasik an di luar funct ion, di kenal dengan global variable.
Menggunakan perint ah require() dan include() t idak m em pengaruhi area scope v aribel.
Jika suat u ket ika m em anggil dengan perint ah di at as dan var iable t erlet ak di dalam suat u
Halaman51
Pemrograman Web / Fungsi dan Array
Brawijaya University
2012
fungsi m ak a variable yang t erdapat didalam nya adalah local v ariable, nam un j ik a variable
t erlet ak diluar fungsi m aka variable t ersebut akan dianggap sebagai global variable.
Suat u v ariable dalam fungsi dapat dij adik an global variable dengan car a m enam bahkan kat a
global pada v ar iable yang dideklarasik an.
Variable yang t erbent uk dapat dihapus dengan cara unset ( $nama_variabel) .
Berik ut adalah cont oh penerapan v ariable local scope
Variable pada fungsi send dat a diat as akan m enam pilkan pesan eror ket ika di t am pilkan at au
digunakan di luar fungsi. Variable ini hanya bisa digunakan di dalam fungsi send dat a( )
Sedangk an pada dem o di at as ak an dit am pilkan nilai v ariable b ( yait u 3) . Dik arenakan
v ariable yang diam bil dari luar fungsi t elah didek larasik an sebagai global v ariable sehingga
dapat digunak an di luar fungsi.
4 . FUN GSI D EN GAN ARGUM EN
Secara default , argum en dik irim kan ke fungsi adalah berupa nilai saj a. Jadi k it a t idakbisa
m engubah nilai v ariable y ang dipak ai sebagai ar gum en di dalam fungsi. Jika k it am engubah
nilai argum en di dalam fungsi m ak a nilai asli pada v ariable t et ap. Agarkit a dapat m engubah
nilai asli v ariable di dalam fungsi m aka kit a harus m engirim kanargum en berdasarkan
reference. Carany a dengan m enam bahkan t anda " &" didepanvariable saat kit a m em anggil
fungsi.
Pa ss by value da n Pa ss by r e fe r ence a da la h ca r a ba ga im a na va r iable diola h.
Pass by value, variable yang diber ik an oleh param et er hanya akan diolah didalam fungsi,
variable y ang berada diluar fungsi akan t et ap. Dengan kat a lain variable yang dipakai oleh
suat u fungsi t idak ak an m em pengaruhi v ariable y ang ada diluar. Secara default sebuah
argum en bersifat pass by v alue, y ang berart i hanya nilainya saj a yang dibut uhkan sehingga
nilai pada var iable t ersebut t idak m engalam i perubahan set elah fungsi dij alankan.
Halaman52
Pemrograman Web / Fungsi dan Array
Brawijaya University
2012
Perhat ikan cont oh berik ut .
function kalidua($nilai)
{
$nilai = $nilai * 2;
return $nilai;
}
Pass by reference, j ik a pada pass by value, nilai hasil olahan t idak dapat digunakan diluar
fungsi, m aka pass by reference sebalik nya, hasil olahan yang t elah diproses di dalam fungsi
dapat digunakan di luar fungsi, dengan kat a lain value yang di luar fungsi akan t urut berubah
seiringperubahan yang t erj adi pada variable didalam fungsi. Cont oh :
function kalidua(&$nilai)
{
$nilai = $nilai * 2;
return $nilai;
}
Sebuah funct ion j uga dapat m engem balikan suat u nilai ( ret urn value) . Funct ion hany a
dapat m engem balikan sebuah nilai saj a. Nilai yang dik em balian dapat berupa suat ubilangan
( bulat , real) , st ring, m aupun ar ray, dll.
Berik ut ini adalah cont oh penggunaan funct ion yang m engem balikan nilai.
5 . PEN GEN ALAN ARRAY
Dalam bany ak aplik asi Web, seringk ali anda m em but uhkan sebuah variabel yang m am pu
m eny im pan beberapa nilai sekaligus secara t erorganisir, sehingga lain saat kit a dapat
m em per oleh k em bali nilai- nilai t ersebut dengan m udah dan dalam bent uk yang t erat ur dan
t erorganisir pula. Tidak, bukan dat abase yang dim aksud, karena kit a sedang bicara variabel,
dan dat abase bukan variabel. Hal ini sangat pent ing k arena dalam banyak k asus t erkadang
hanya m em but uhk an peny im pan nilai sem ent ara yang t eror ganisir dengan baik, dan dat abase
sangat m ahal unt uk m elak uk an hal t ersebut . Bayangkan t ent ang koneksi, query dan
set erusny a y ang akan m em perlam bat proses apabila kit a m enggunakan dat abase.
Di sinilah dibut uhk an array , sebuah t ipe variabel yang m am pu m enyim pan beberapa nilai
sekaligus bahk an dalam t ipe berbeda yang t erorganisir dengan baik. Sehingga dalam bahasa
pem rogram an m anapun—t erm asuk PHP t ent unya—Anda akan senant iasa m enem ukan array
sebagai salah sat u t ipe variabelnya.
Halaman53
Pemrograman Web / Fungsi dan Array
Brawijaya University
2012
Array di PHP adalah t ipe variabel spesial, karena dengan array kit a dapat m engakses
sekum pulan nilai dengan m enggunak an sat u nam a variabel. Mekanism e pengaksesan ini
diat ur dalam bent uk pem et aan ( m apping) dari sek um pulan nilai ( values) ke sek um pulan
kunci ( keys) at au indeks. Sebagai cont oh, v ariabel ar ray $m ahasiswa dapat m em et ak an 1, 2
dan 3 m asing- m asing ke "Faj ar" , "Ar yo" dan "I ssa", sehingga dapat diny at akan sebagai:
$mahasiswa[1] = "Fajar";
$mahasiswa[2] = "Aryo";
$mahasiswa[3] = "Issa";
di m ana ekspresi 1, 2 dan 3 adalah indeks, sem ent ara "Faj ar", " Ary o" dan " I ssa" adalah nilainilainya.
Array ak an sangat berguna m anakala kit a m engolah sekum pulan dat a at au nilai dengan
ident it as serupa. Sebagai ilust rasi, kat akanlah kit a m em iliki dat a berupa nam a m ahasiswa
dan nam a m ahasiswi. Jik a t idak m enggunakan array, m aka yang t erbaik y ang bisa kit a
lakukan adalah dengan m eny at ak an sepert i berikut :
$mahasiswa_1
$mahasiswa_2
$mahasiswa_3
$mahasiswi_1
$mahasiswi_2
$mahasiswi_3
=
=
=
=
=
=
"Fajar";
"Aryo";
"Issa";
"Esty";
"Alya";
"Wuri";
Jika k it a perlu m encet ak k eenam dat a t ersebut , m aka cara berik ut bisa digunakan:
print
print
print
print
print
print
"Nama
"Nama
"Nama
"Nama
"Nama
"Nama
mahasiswa
mahasiswa
mahasiswa
mahasiswi
mahasiswi
mahasiswi
ke
ke
ke
ke
ke
ke
1:
2:
3:
1:
2:
3:
$mahasiswa_1
$mahasiswa_2
$mahasiswa_3
$mahasiswi_1
$mahasiswi_2
$mahasiswi_3
";
";
";
";
";
";
Cara sepert i ini m ungk in efek t if t et api sayangnya j auh dari efisien. Mengapa? karena j ik a
j um lah dat a hacker dan cracker di at as sam pai puluhan bahkan rat usan, m aka bayangkan
berapa bany ak Anda harus m enget ik perint ah t ersebut . Belum lagi, webserver harus
m elakukan parsing dari rat usan baris y ang akan m em perlam bat keseluruhan proses.
Dengan array, Anda dapat m elak ukan hal di at as dengan lebih baik efekt if dan efisien. Unt uk
900 dat a m ahasiswa dan m ahasiswi m isalnya, Anda cukup m elakukan it erasi sepert i berik ut :
for ($k=0;$k
Unt uk m enam pilk an array assosiat if bisa m enggunakan perulangan foreachdan while dengan
fungsi list ( ) dan each( ) . Baris ke- 5 dari pr ogram 5.4. di at asbisa dinyat akan dengan
perny at aan “ unt uk set iap elem en array $arrNilai,m asukkan key/ index - nya ke variabel $nam a
dan m asuk k an value- nya ke v ariable $nilai” . Pada baris k e- 8 t erdapat fungsi reset ( ) yang
berfungsi m engem balik anpoint er ar r ay ke elem en pert am a. Pada baris ke- 10, array assosiat if
dit am pilkandengan st ruk t ur while y ang m enggunakan fungsi list ( ) dan each( ) .
4 .2 M e n a m pilk a n selu ru h isi ar r a y de n ga n in de x nu m e r ic
Unt uk m endeklarasik an at au m endefinisikan sebuah array di PHP bisam enggunakan keyword
array( ) . Pada program 5.1, t erdapat pendeklarasian danpendefinisian array pada baris ke- 3.
Jum lah elem en array t idak perlu disebut kansaat deklarasi. Sedangkan unt uk m enam pilk an isi
array pada elem en t ert ent u,cuk up dengan m enyebut kan nam a array besert a index array - nya
( lihat baris ke- 4dan ke- 5) .
Pendeklarasian dan pengisian ar ray j uga bisa dilakukan sepert i padabaris ke- 7 sam pai baris
k e- 11. Dengan pendefinisian array sepert i pada dua caradi at as, index ( key) array secara
ot om at is akan diisi dengan bilangan bulat int eger yang dim ulai dari 0.
Halaman55
Pemrograman Web / Fungsi dan Array
Brawijaya University
2012
6 . OPERASI SORTI N G
Operasi urut an( sort ing) sangat pent ing dalam operasi ar ray. Salah sat u t eknik sort ing y ang
sangat populer adalah bubblesort . Berikut ini cont oh im plem ent asi algorit m a bubblesort
m enggunakan PHP
Hasilnya :
Variabel $a sebelum diurut kan = 14253910687
Variabel $a set elah diurut kan = 123456789
Masalah pengurut an elem en array sepert i diat as, dapat j uga diselesaikan m enggunak an
fungsi sort ( ) , fungsi sort ak an m engurut kan elem en array dari nilai t erendah ke nilai t ert inggi
unt uk elem en num erik dan dari a – z unt uk elem en st ring.
Sehingga cont oh diat as cuk up diselesaikan sepert i ini:
7 . M EN GGABUN GKAN ELEM EN
Fungsi array_slice( ) digunak an unt uk m engam bil pot ongan elem en dari suat u array yang
dit unj ukkan oleh param at er offset dan param et er lengt h. Cara deklarasi fungsi array _slice( )
adalah:
Array_slice(variabel, parameter offset, parameter length)
Param et er offset , j ik a bernilai posit if m enunj ukkan elem en awal pem ot ongan. Sedangk an j ik a
diberi t anda negat if m enunj uk k an awal pem ot ongan dim ulai dari elem en akhir dengan j arak
sebesar nilai param et er offset .
Param et er lengt h, j ik a bernilai posit if m enunj ukkan j um lah elem en yang diam bil. Sedangk an
j ika diberi t anda negat if m enunj ukk an pem ot ongan diakhiri sej um lah elem en dari elem en
akhir yang sebesar nilai param et er lengt h. Jika param et er lengt h t idak dicant um kan, berart i
pem ot ongan dilak uk an sam pai elem en akhir.
Contoh :
Aryo Pinandito, ST, M.MT
Fajar Pradana, S.ST, M.Eng
Issa Arwani, S.Kom, M.Sc
1 . PEN D AH U LUAN
1.1 Pengant ar
1.2 Tuj uan
2 . De k la ra si Fun gsi
3 . Scope Va ria ble
4 . Fungsi de nga n Ar gum e n
5 . Pe nge na la n Ar r a y
6 . Ope ra si Sort ing
7 . M e nga m bil da n
m e n gga bun gk a n Ele m e n
1 . PEN D AH ULUAN
Dalam bany ak aplikasi
Web,
seringkaliandam em but uhk ansebuahv ariabel
yang
m am pum enyim panbeberapanilaisek aligussecarat erorganisir, sehingga
lain
saat k it adapat m em perolehk em balinilainilait ersebut denganm udahdandalam bent uk
yang
t erat urdant erorganisir pula. Tidak, buk an dat abase y ang dim aksud,
karenak it asedangbicaravariabel, dan dat abase bukanv ariabel. Hal
inisangat pent ingk arenadalam bany akk asust erkadanghanyam em but uhk
anpenyim pannilaisem ent ara
y ang
t erorganisirdenganbaik,
dan
dat abase
sangat m ahalunt ukm elakukanhalt ersebut .
Bayangkant ent angk oneksi,
query
danset erusnya
yang
akanm em perlam bat pr oses apabilakit am enggunakan dat abase.
Fungsi
( funct ion)
m erupak anserangkaian
script / kode
yang
m em punyaikegunaank hususdant ert ent u,
m erupakanseurut anat auserangk aiank ode
yang
seringdipak ai.Denganadanyafungsiinipem rogram andapat diperm udahka
renat idakharusm enulisberulang- ulangrangk aiank ode script ini.
1 .2 Tu j u a n
Tuj uan pem belaj aran pada bab ini adalah:
1. Mam pu m enerapak an fungsi pada PHP
2. Mem aham i k onsep penggunaan Scope variabel
3. Mengim plem ent asik an operasi Sort ing
4. Mem aham i penggunaan ar ray
5
SELF-PROPAGATING ENTREPRENEURIAL EDUCATION DEVELOPMENT
1 .1 Pe n ga n t a r
MODUL
Pemrograman Web / Pengenalan Pemrograman Web
Brawijaya University
2012
2 . D EKLARASI FUN GSI
Fungsi ( funct ion) m erupak an serangk aian script / kode yang m em punyai kegunaan khusus dan
t ert ent u, m erupak an seurut an at au serangkaian kode yang sering dipakai. Dengan adany a
fungsi ini pem rogram an dapat diperm udah karena t idak harus m enulis berulang- ulang
rangk aian kode script ini.
Sint aks:
function nama_fungsi(argumen)
{
kodeperintah
}
Cont oh :
function kali( $bil1 ,$bil2 ) {
$hasil = $bil1 * $bil2;
return $hasil;
}
Dalam pem berian sebuah nam a fungsi, m aka nam a fungsi it u t idak boleh sam a dengan nam a
fungsi yang t elah disediak an oleh PHP cont ohnya fungsi echo, print dan lain- lain.
Ada dua j enis fungsi y ang sediak an PHP :
I nt ernal funct ion : fungsi y ang sudah disediakan pada library PHP, unt uk m em akainy a cuk up
m em anggilny a saj a. Suat u fungsi yang t erdapat dalam Library PHP dapat m elak ukan berbagai
m acam hal, sepert i m enggunak an dan m enghubungkan dat abase, m em buat gr afik / chart ,
m em buat zip on t he fly , m engecek suat u form at em ail, m em ot ong dan m enggabungk an t ex t ,
m em ecah at au m enggabungk an array , m em buat enkripsi suat u st ring, m engcopy file dari
server ke server, m em buat folder, dan m acam sebagainya. Nam un t et ap saj a hal it u m em ilik i
ket erbat asan. Dengan m em buat fungsi sendiri, Anda dapat dengan bebas m enggabungk an,
m em odifikasi ant ara sat u fungsi dan fungsi lainnya. Dengan begit u diharapkan fungsi y ang
Anda buat efisien dan sesuai dengan k ebut uhan.
Define funct ion : fungsi y ang dibuat sendiri.
3 . SCOPE VARI ABLE
Scope v ariable dapat diart ik an sebagai sebuah cakupan wilayah yang dapat dit angani
olehvariabel.
PHP m em iliki 2 j enis scope v ariable :
•
•
Lok al v ariable yait u variable yang hanya dapat digunakan di dalam fungsi.
Global v ariable yait u variable yang dapat digunakan di luar dan di dalam fungsi.
PHP m em iliki beberapa syarat dalam variable scope, diant aranya :
Variabel y ang dideklarasik an di dalam sebuah funct ion, hanya dapat digunakan pada
fungsit ersebut . Jenis scope v ariable ini dikenal dengan local variable.
Variabel yang didek larasik an di luar funct ion, di kenal dengan global variable.
Menggunakan perint ah require() dan include() t idak m em pengaruhi area scope v aribel.
Jika suat u ket ika m em anggil dengan perint ah di at as dan var iable t erlet ak di dalam suat u
Halaman51
Pemrograman Web / Fungsi dan Array
Brawijaya University
2012
fungsi m ak a variable yang t erdapat didalam nya adalah local v ariable, nam un j ik a variable
t erlet ak diluar fungsi m aka variable t ersebut akan dianggap sebagai global variable.
Suat u v ariable dalam fungsi dapat dij adik an global variable dengan car a m enam bahkan kat a
global pada v ar iable yang dideklarasik an.
Variable yang t erbent uk dapat dihapus dengan cara unset ( $nama_variabel) .
Berik ut adalah cont oh penerapan v ariable local scope
Variable pada fungsi send dat a diat as akan m enam pilkan pesan eror ket ika di t am pilkan at au
digunakan di luar fungsi. Variable ini hanya bisa digunakan di dalam fungsi send dat a( )
Sedangk an pada dem o di at as ak an dit am pilkan nilai v ariable b ( yait u 3) . Dik arenakan
v ariable yang diam bil dari luar fungsi t elah didek larasik an sebagai global v ariable sehingga
dapat digunak an di luar fungsi.
4 . FUN GSI D EN GAN ARGUM EN
Secara default , argum en dik irim kan ke fungsi adalah berupa nilai saj a. Jadi k it a t idakbisa
m engubah nilai v ariable y ang dipak ai sebagai ar gum en di dalam fungsi. Jika k it am engubah
nilai argum en di dalam fungsi m ak a nilai asli pada v ariable t et ap. Agarkit a dapat m engubah
nilai asli v ariable di dalam fungsi m aka kit a harus m engirim kanargum en berdasarkan
reference. Carany a dengan m enam bahkan t anda " &" didepanvariable saat kit a m em anggil
fungsi.
Pa ss by value da n Pa ss by r e fe r ence a da la h ca r a ba ga im a na va r iable diola h.
Pass by value, variable yang diber ik an oleh param et er hanya akan diolah didalam fungsi,
variable y ang berada diluar fungsi akan t et ap. Dengan kat a lain variable yang dipakai oleh
suat u fungsi t idak ak an m em pengaruhi v ariable y ang ada diluar. Secara default sebuah
argum en bersifat pass by v alue, y ang berart i hanya nilainya saj a yang dibut uhkan sehingga
nilai pada var iable t ersebut t idak m engalam i perubahan set elah fungsi dij alankan.
Halaman52
Pemrograman Web / Fungsi dan Array
Brawijaya University
2012
Perhat ikan cont oh berik ut .
function kalidua($nilai)
{
$nilai = $nilai * 2;
return $nilai;
}
Pass by reference, j ik a pada pass by value, nilai hasil olahan t idak dapat digunakan diluar
fungsi, m aka pass by reference sebalik nya, hasil olahan yang t elah diproses di dalam fungsi
dapat digunakan di luar fungsi, dengan kat a lain value yang di luar fungsi akan t urut berubah
seiringperubahan yang t erj adi pada variable didalam fungsi. Cont oh :
function kalidua(&$nilai)
{
$nilai = $nilai * 2;
return $nilai;
}
Sebuah funct ion j uga dapat m engem balikan suat u nilai ( ret urn value) . Funct ion hany a
dapat m engem balikan sebuah nilai saj a. Nilai yang dik em balian dapat berupa suat ubilangan
( bulat , real) , st ring, m aupun ar ray, dll.
Berik ut ini adalah cont oh penggunaan funct ion yang m engem balikan nilai.
5 . PEN GEN ALAN ARRAY
Dalam bany ak aplik asi Web, seringk ali anda m em but uhkan sebuah variabel yang m am pu
m eny im pan beberapa nilai sekaligus secara t erorganisir, sehingga lain saat kit a dapat
m em per oleh k em bali nilai- nilai t ersebut dengan m udah dan dalam bent uk yang t erat ur dan
t erorganisir pula. Tidak, bukan dat abase yang dim aksud, karena kit a sedang bicara variabel,
dan dat abase bukan variabel. Hal ini sangat pent ing k arena dalam banyak k asus t erkadang
hanya m em but uhk an peny im pan nilai sem ent ara yang t eror ganisir dengan baik, dan dat abase
sangat m ahal unt uk m elak uk an hal t ersebut . Bayangkan t ent ang koneksi, query dan
set erusny a y ang akan m em perlam bat proses apabila kit a m enggunakan dat abase.
Di sinilah dibut uhk an array , sebuah t ipe variabel yang m am pu m enyim pan beberapa nilai
sekaligus bahk an dalam t ipe berbeda yang t erorganisir dengan baik. Sehingga dalam bahasa
pem rogram an m anapun—t erm asuk PHP t ent unya—Anda akan senant iasa m enem ukan array
sebagai salah sat u t ipe variabelnya.
Halaman53
Pemrograman Web / Fungsi dan Array
Brawijaya University
2012
Array di PHP adalah t ipe variabel spesial, karena dengan array kit a dapat m engakses
sekum pulan nilai dengan m enggunak an sat u nam a variabel. Mekanism e pengaksesan ini
diat ur dalam bent uk pem et aan ( m apping) dari sek um pulan nilai ( values) ke sek um pulan
kunci ( keys) at au indeks. Sebagai cont oh, v ariabel ar ray $m ahasiswa dapat m em et ak an 1, 2
dan 3 m asing- m asing ke "Faj ar" , "Ar yo" dan "I ssa", sehingga dapat diny at akan sebagai:
$mahasiswa[1] = "Fajar";
$mahasiswa[2] = "Aryo";
$mahasiswa[3] = "Issa";
di m ana ekspresi 1, 2 dan 3 adalah indeks, sem ent ara "Faj ar", " Ary o" dan " I ssa" adalah nilainilainya.
Array ak an sangat berguna m anakala kit a m engolah sekum pulan dat a at au nilai dengan
ident it as serupa. Sebagai ilust rasi, kat akanlah kit a m em iliki dat a berupa nam a m ahasiswa
dan nam a m ahasiswi. Jik a t idak m enggunakan array, m aka yang t erbaik y ang bisa kit a
lakukan adalah dengan m eny at ak an sepert i berikut :
$mahasiswa_1
$mahasiswa_2
$mahasiswa_3
$mahasiswi_1
$mahasiswi_2
$mahasiswi_3
=
=
=
=
=
=
"Fajar";
"Aryo";
"Issa";
"Esty";
"Alya";
"Wuri";
Jika k it a perlu m encet ak k eenam dat a t ersebut , m aka cara berik ut bisa digunakan:
"Nama
"Nama
"Nama
"Nama
"Nama
"Nama
mahasiswa
mahasiswa
mahasiswa
mahasiswi
mahasiswi
mahasiswi
ke
ke
ke
ke
ke
ke
1:
2:
3:
1:
2:
3:
$mahasiswa_1
$mahasiswa_2
$mahasiswa_3
$mahasiswi_1
$mahasiswi_2
$mahasiswi_3
";
";
";
";
";
";
Cara sepert i ini m ungk in efek t if t et api sayangnya j auh dari efisien. Mengapa? karena j ik a
j um lah dat a hacker dan cracker di at as sam pai puluhan bahkan rat usan, m aka bayangkan
berapa bany ak Anda harus m enget ik perint ah t ersebut . Belum lagi, webserver harus
m elakukan parsing dari rat usan baris y ang akan m em perlam bat keseluruhan proses.
Dengan array, Anda dapat m elak ukan hal di at as dengan lebih baik efekt if dan efisien. Unt uk
900 dat a m ahasiswa dan m ahasiswi m isalnya, Anda cukup m elakukan it erasi sepert i berik ut :
for ($k=0;$k
Unt uk m enam pilk an array assosiat if bisa m enggunakan perulangan foreachdan while dengan
fungsi list ( ) dan each( ) . Baris ke- 5 dari pr ogram 5.4. di at asbisa dinyat akan dengan
perny at aan “ unt uk set iap elem en array $arrNilai,m asukkan key/ index - nya ke variabel $nam a
dan m asuk k an value- nya ke v ariable $nilai” . Pada baris k e- 8 t erdapat fungsi reset ( ) yang
berfungsi m engem balik anpoint er ar r ay ke elem en pert am a. Pada baris ke- 10, array assosiat if
dit am pilkandengan st ruk t ur while y ang m enggunakan fungsi list ( ) dan each( ) .
4 .2 M e n a m pilk a n selu ru h isi ar r a y de n ga n in de x nu m e r ic
Unt uk m endeklarasik an at au m endefinisikan sebuah array di PHP bisam enggunakan keyword
array( ) . Pada program 5.1, t erdapat pendeklarasian danpendefinisian array pada baris ke- 3.
Jum lah elem en array t idak perlu disebut kansaat deklarasi. Sedangkan unt uk m enam pilk an isi
array pada elem en t ert ent u,cuk up dengan m enyebut kan nam a array besert a index array - nya
( lihat baris ke- 4dan ke- 5) .
Pendeklarasian dan pengisian ar ray j uga bisa dilakukan sepert i padabaris ke- 7 sam pai baris
k e- 11. Dengan pendefinisian array sepert i pada dua caradi at as, index ( key) array secara
ot om at is akan diisi dengan bilangan bulat int eger yang dim ulai dari 0.
Halaman55
Pemrograman Web / Fungsi dan Array
Brawijaya University
2012
6 . OPERASI SORTI N G
Operasi urut an( sort ing) sangat pent ing dalam operasi ar ray. Salah sat u t eknik sort ing y ang
sangat populer adalah bubblesort . Berikut ini cont oh im plem ent asi algorit m a bubblesort
m enggunakan PHP
Hasilnya :
Variabel $a sebelum diurut kan = 14253910687
Variabel $a set elah diurut kan = 123456789
Masalah pengurut an elem en array sepert i diat as, dapat j uga diselesaikan m enggunak an
fungsi sort ( ) , fungsi sort ak an m engurut kan elem en array dari nilai t erendah ke nilai t ert inggi
unt uk elem en num erik dan dari a – z unt uk elem en st ring.
Sehingga cont oh diat as cuk up diselesaikan sepert i ini:
7 . M EN GGABUN GKAN ELEM EN
Fungsi array_slice( ) digunak an unt uk m engam bil pot ongan elem en dari suat u array yang
dit unj ukkan oleh param at er offset dan param et er lengt h. Cara deklarasi fungsi array _slice( )
adalah:
Array_slice(variabel, parameter offset, parameter length)
Param et er offset , j ik a bernilai posit if m enunj ukkan elem en awal pem ot ongan. Sedangk an j ik a
diberi t anda negat if m enunj uk k an awal pem ot ongan dim ulai dari elem en akhir dengan j arak
sebesar nilai param et er offset .
Param et er lengt h, j ik a bernilai posit if m enunj ukkan j um lah elem en yang diam bil. Sedangk an
j ika diberi t anda negat if m enunj ukk an pem ot ongan diakhiri sej um lah elem en dari elem en
akhir yang sebesar nilai param et er lengt h. Jika param et er lengt h t idak dicant um kan, berart i
pem ot ongan dilak uk an sam pai elem en akhir.
Contoh :