• Tidak ada hasil yang ditemukan

Think Different Materi Pemrograman Web 1 05_Fungsi dan Array

N/A
N/A
Protected

Academic year: 2017

Membagikan "Think Different Materi Pemrograman Web 1 05_Fungsi dan Array"

Copied!
9
0
0

Teks penuh

(1)

Fungsi dan Array

seringk aliandam em but uhk ansebuahv ariabel y ang

m am pu m eny im panbeberapanilaisek aligussecarat erorganisir, sehingga lain saat k it adapat m em perolehk em

balinilai-nilait ersebut denganm udahdandalam bent uk y ang t erat urdant erorganisir pula. Tidak , buk an dat abase y ang dim ak sud,

k arenak it asedangbicarav ariabel, dan dat abase bukanv ariabel. Hal inisangat pent ingk arenadalam bany akk asust erk adanghany am em but uhk anpeny im pannilaisem ent ara y ang t erorganisirdenganbaik , dan

dat abase sangat m ahalunt uk m elak uk anhalt ersebut . Bay angk ant ent angk oneksi, query danset erusny a y ang

ak anm em perlam bat pr oses apabilak it am enggunak an dat abase.

Fungsi ( funct ion) m erupak anserangk aian script / k ode y ang m em puny aik egunaank hususdant ert ent u,

m erupak anseurut anat auserangk aiank ode y ang seringdipak ai.Denganadany afungsiinipem rogram andapat diperm udahk a

renat idak harusm 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 v ariabel 3. Mengim plem ent asik an operasi Sort ing

(2)

2 . D EKLARASI FUN GSI

Fungsi ( funct ion) m erupak an serangk aian script / k ode y ang m em puny ai k egunaan k husus dan t ert ent u, m erupak an seurut an at au serangk aian k ode y ang sering dipak ai. Dengan adany a fungsi ini pem rogram an dapat diperm udah k arena t idak harus m enulis berulang- ulang rangk aian k ode 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 ak a nam a fungsi it u t idak boleh sam a dengan nam a fungsi y ang t elah disediak an oleh PHP cont ohny a 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 disediak an pada library PHP, unt uk m em ak ainy a cuk up m em anggilny a saj a. Suat u fungsi y ang t erdapat dalam Library PHP dapat m elak uk an berbagai m acam hal, sepert i m enggunak an dan m enghubungk an 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 enk ripsi suat u st ring, m engcopy file dari serv er k e server, m em buat folder, dan m acam sebagainy a. Nam un t et ap saj a hal it u m em ilik i k et erbat asan. Dengan m em buat fu ngsi sendiri, Anda dapat dengan bebas m enggabungk an, m em odifik asi ant ara sat u fungsi dan fungsi lainny a. Dengan begit u diharapk an fungsi y ang Anda buat efisien dan sesuai dengan k ebut uhan.

Define funct ion : fungsi y ang dibuat sendiri.

3 . SCOPE V ARI ABLE

Scope v ariable dapat diart ik an sebagai sebuah cak upan w ilay ah yang dapat dit angani olehv ariabel.

PHP m em ilik i 2 j enis scope v ariable :

• Lok al v ariable y ait u v ariable y ang hany a dapat digunak an di dalam fungsi.

• Global v ariable y ait u v ariable y ang dapat digunak an di luar dan di dalam fungsi. PHP m em ilik i beberapa sy arat dalam v ariable scope, diant arany a :

Variabel y ang didek larasik an di dalam sebuah funct ion, hany a dapat digunak an pada fungsit ersebut . Jenis scope v ariable ini dik enal dengan local v ariable.

Variabel y ang didek larasik an di luar funct ion, di k enal dengan global v ariable.

(3)

Halaman52

Pemrograman Web / Fungsi dan Array

Brawijaya University

2012

fungsi m ak a v ariable y ang t erdapat didalam ny a adalah local v ariable, nam un j ik a v ariable t erlet ak diluar fungsi m ak a v ariable t ersebut ak an dianggap sebagai global v ariable.

Suat u v ariable dalam fungsi dapat dij adik an global v ariable dengan car a m enam bahk an k at a global pada v ar iable y ang didek larasik an.

Variable y ang t erbent uk dapat dihapus dengan cara unset ($nama_variabel) . Berik ut adalah cont oh penerapan v ariable local scope

<?php

function send_data() { $my_data= "Inside data";

echo $my_data; // tampilkan $my_data }

// akan tampil pesan eror echo $my_data;

?>

Variable pada fungsi send dat a diat as ak an m enam pilk an pesan eror k et ik a di t am pilk an at au digunak an di luar fungsi. Variable ini hany a bisa digunak an di dalam fungsi send dat a( )

<?php $a=1;$b=2; functionSum() { global$a,$b; $b=$a+$b; }

Sum(); // executing Sum() function echo$b;

// will echo 3 ?>

Sedangk an pada dem o di at as ak an dit am pilk an nilai v ariable b ( y ait u 3) . Dik arenak an v ariable y ang 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 k an k e fungsi adalah berupa nilai saj a. Jadi k it a t idak bisa m engubah nilai v ariable y ang dipak ai sebagai ar gum en di dalam fungsi. Jik a k it am engubah nilai argum en di dalam fungsi m ak a nilai asli pada v ariable t et ap. Agark it a dapat m engubah nilai asli v ariable di dalam fungsi m ak a k it a harus m engirim k anargum en berdasark an reference. Carany a dengan m enam bahk an t anda " &" didepanv ariable saat k it a m em anggil fungsi.

Pa ss by v a lu e da n Pa ss by r e fe r e n ce a da la h ca r a ba ga im a n a v a r ia ble diola h .

(4)

Perhat ik an cont oh berik ut .

function kalidua($nilai) {

$nilai = $nilai * 2; return $nilai;

}

Pass by reference, j ik a pada pass by v alue, nilai hasil olahan t idak dapat digunak an diluar fungsi, m ak a pass by reference sebalik ny a, hasil olahan y ang t elah diproses di dalam fungsi dapat digunak an di luar fungsi, dengan k at a lain v alue y ang di luar fungsi ak an t urut berubah seiringperubahan y ang t erj adi pada v ariable didalam fungsi. Cont oh :

function kalidua(&$nilai)

{

$nilai = $nilai * 2; return $nilai;

}

Sebuah funct ion j uga dapat m engem balik an suat u nilai ( ret urn v alue) . Funct ion hany a dapat m engem balik an sebuah nilai saj a. Nilai y ang 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 y ang m engem balik an nilai.

<?php

function Jumlahkan($x, $y){ $hasil = $x + $y;

return $hasil; }

$bil = 0;

echo "Nilai bil mula-mula adalah ". $bil ."<br>"; $bil = Jumlahkan(3, 4);

echo "Nilai bil setelah memanggil function adalah " . $bil ."<br>";

?>

5 . PEN GEN ALAN ARRAY

Dalam bany ak aplik asi Web, seringk ali anda m em but uhk an sebuah v ariabel y ang m am pu m eny im pan beberapa nilai sek aligus secara t erorganisir, sehingga lain saat k it a dapat m em per oleh k em bali nilai- nilai t ersebut dengan m udah dan dalam bent uk y ang t erat ur dan t erorganisir pula. Tidak , buk an dat abase y ang dim ak sud, k arena k it a sedang bicara v ariabel, dan dat abase bukan v ariabel. Hal ini sangat pent ing k arena dalam bany ak k asus t erk adang hany a m em but uhk an peny im pan nilai sem ent ara y ang t eror ganisir dengan baik , dan dat abase sangat m ahal unt uk m elak uk an hal t ersebut . Bay angk an t ent ang k onek si, query dan set erusny a y ang ak an m em perlam bat proses apabila k it a m enggunak an dat abase.

(5)

Halaman54

Pemrograman Web / Fungsi dan Array

Brawijaya University

2012

Array di PHP adalah t ipe v ariabel spesial, k arena dengan array k it a dapat m engak ses sek um pulan nilai dengan m enggunak an sat u nam a v ariabel. Mek anism e pengak sesan ini diat ur dalam bent uk pem et aan ( m apping) dari sek um pulan nilai ( values) k e sek um pulan k unci ( keys) at au indeks. Sebagai cont oh, v ariabel ar ray $m ahasisw a

$mahasiswa[1] = "Fajar"; $mahasiswa[2] = "Aryo"; $mahasiswa[3] = "Issa";

dapat m em et ak an 1, 2 dan 3 m asing- m asing k e " Faj ar" , " Ar y o" dan " I ssa" , sehingga dapat diny at ak an sebagai:

di m ana ek spresi 1, 2 dan 3 adalah indek s, sem ent ara " Faj ar" , " Ary o" dan " I ssa" adalah nilai-nilainy a.

Array ak an sangat berguna m anakala k it a m engolah sek um pulan dat a at au nilai dengan ident it as serupa. Sebagai ilust rasi, k at ak anlah k it a m em ilik i dat a berupa nam a m ahasisw a dan nam a m ahasisw i. Jik a t idak m enggunak an array , m ak a y ang t erbaik y ang bisa k it a lak uk an adalah dengan m eny at ak an sepert i berik ut :

$mahasiswa_1 = "Fajar"; $mahasiswa_2 = "Aryo"; $mahasiswa_3 = "Issa"; $mahasiswi_1 = "Esty"; $mahasiswi_2 = "Alya"; $mahasiswi_3 = "Wuri";

Jik a k it a perlu m encet ak k eenam dat a t ersebut , m ak a cara berik ut bisa digunak an:

print "Nama mahasiswa ke 1: $mahasiswa_1 <br>"; print "Nama mahasiswa ke 2: $mahasiswa_2 <br>"; print "Nama mahasiswa ke 3: $mahasiswa_3 <br>"; print "Nama mahasiswi ke 1: $mahasiswi_1 <br>"; print "Nama mahasiswi ke 2: $mahasiswi_2 <br>"; print "Nama mahasiswi ke 3: $mahasiswi_3 <br>";

Cara sepert i ini m ungk in efek t if t et api say angny a j auh dari efisien. Mengapa? k arena j ik a j um lah dat a hack er dan crack er di at as sam pai puluhan bahk an rat usan, m ak a bay angk an berapa bany ak Anda harus m en get ik perint ah t ersebut . Belum lagi, w ebserv er harus m elak uk an parsing dari rat usan baris y ang ak an m em perlam bat k eseluruhan proses.

Dengan array , Anda dapat m elak ukan hal di at as dengan lebih baik efek t if dan efisien. Unt uk 900 dat a m ahasisw a dan m ahasisw i m isalny a, Anda cuk up m elak uk an it erasi sepert i berik ut :

for ($k=0;$k<900;$k++) {

print "Nama mahasiswa ke $k: $mahasiswa[$k] <br>"; }

for ($k=0;$k<900;$k++) {

print "Nama Mahasiswi ke $k: $mahasiswi[$k] <br>"; }

(6)

Kit a ak an m em bahas beberapa fungsi PHP unt uk m em anipulasi array ini pada bagian berik ut ny a.

5 .1 M e n a m pilk a n se lu r u h isi a r r a y a ssosia t if

<?php

$arrNilai = array ("Ani" => 80, "Otim" => 90, "Ana" => 75, "Budi" => 85); echo "Menampilkan isi array dengan foreach : <br>";

foreach ($arrNilai as $nama => $nilai) { echo "Nilai $nama = $nilai<br>";

}

reset ($arrNilai);

echo "<br>Menampilkan isi array dengan while dan list : <br>"; while (list ($nama, $nilai) = each($arrNilai)) {

echo "Nilai $nama = $nilai<br>"; }

?>

Unt uk m enam pilk an array assosiat if bisa m enggunak an perulangan foreachdan w hile dengan fungsi list ( ) dan each( ) . Baris k e- 5 dari pr ogram 5.4. di at asbisa diny at ak an dengan perny at aan “ unt uk set iap elem en array $arrNilai,m asuk k an k ey / index - ny a k e v ariabel $nam a dan m asuk k an v alue- ny a k e v ariable $nilai” . Pada baris k e- 8 t erdapat fungsi reset ( ) y ang berfungsi m engem balik anpoint er ar r ay k e elem en pert am a. Pada baris k e- 10, array assosiat if dit am pilk andengan st ruk t ur w hile y ang m enggunak an fungsi list ( ) dan each( ) .

4 .2 M e n a m pilk a n se lu r u h isi a r r a y de n ga n in de x nu m e r ic

<?php

$arrBuah = array ("Mangga", "Apel", "Pisang", "Jeruk"); echo $arrBuah[0]; //Mangga

echo $arrBuah[3]; //Jeruk $arrWarna = array(); $arrWarna[] = "Merah"; $arrWarna[] = "Biru"; $arrWarna[] = "Hijau"; $arrWarna[] = "Putih"; echo $arrWarna[0]; //Merah echo $arrWarna[2]; //Hijau ?>

Unt uk m endek larasik an at au m endefinisik an sebuah array di PHP bisam enggunak an keyw ord array ( ) . Pada program 5.1, t erdapat pendek larasian danpendefinisian array pada baris k e- 3. Jum lah elem en array t idak perlu disebut k ansaat dek larasi. Sedangk an unt uk m enam pilk an isi array pada elem en t ert ent u,cuk up dengan m eny ebut k an nam a array besert a index array - ny a ( lihat baris k e- 4dan k e- 5) .

(7)

Halaman56

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 ek nik sort ing y ang sangat populer adalah bu bblesort . Berik ut ini cont oh im plem ent asi algorit m a bubblesort m enggunak an PHP

<?

//contoh program sorting menggunakan algoritma bubblesort //arraybubblesort.php

$a = array (1,4,2,5,3,9,10,6,8,7); $b = bubblesort($a, $a2);

echo (“<br>Variabel \$a sebelum diurutkan = ”); for ($i=0; $i<count($a);$i++ ){

echo (“$a[$i]”); }

echo (“<br>Variabel \$a setelah diurutkan = ”); for ($i=0; $i<count($a);$i++ ){

Variabel $a sebelum diurut k an = 14253910687

Variabel $a set elah diurut k an = 123456789

Masalah pengurut an elem en array sepert i diat as, dapat j uga diselesaik an m enggunak an fungsi sort ( ) , fungsi sort ak an m engurut k an elem en array dari nilai t erendah k e 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 diselesaik an sepert i ini:

<?

//contoh program sorting menggunakan fungsi sort() //arraysort.php

$a = array (1,4,2,5,3,9,10,6,8,7);

echo (“<br> Variabel \$a sebelum diurutkan = ”); for ($i=0; $i<count($a);$i++ ){

(8)

}

sort($a);

echo (“<br> Variabel \$a setelah diurutkan = ”); for ($i=0; $i<count($a);$i++ ){

echo “$a[$i]” ; }

?>

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 y ang dit unj ukk an oleh param at er offset dan param et er lengt h. Cara dek larasi fungsi array _slice( ) adalah:

Array_slice(variabel, parameter offset, parameter length)

Param et er offset , j ik a bernilai posit if m enunj ukk an elem en aw al pem ot ongan. Sedangk an j ik a diberi t anda negat if m enunj uk k an aw al pem ot ongan dim ulai dari elem en ak hir dengan j arak sebesar nilai param et er offset .

Param et er lengt h, j ik a bernilai posit if m enunj uk k an j um lah elem en y ang diam bil. Sedangk an j ik a diberi t anda negat if m enunj ukk an pem ot ongan diak hiri sej um lah elem en dari elem en ak hir y ang sebesar nilai param et er lengt h. Jik a param et er lengt h t idak dicant um k an, berart i pem ot ongan dilak uk an sam pai elem en ak hir.

Contoh :

<?

//contoh fungsi array_slice() //arrayslice.php

$a = array (0,1,2,3,4,5,6,7,8,9); $potongan_pertama = array_slice($a,2); $potongan_kedua = array_slice($a,2,4); $potongan_ketiga = array_slice($a,2,-2); $potongan_keempat= array_slice($a,-4,4); $potongan_kelima = array_slice($a,-4,2); echo ("<br> Variabel \$a = ");

for ($i=0; $i<count($a);$i++ ){ echo "$a[$i]," ;

}

echo ("<br> array_slice($a,2)= ");

for ($i=0; $i<count($potongan_pertama);$i++ ){ echo "$potongan_pertama[$i]," ;

}

echo ("<br> array_slice($a,2,4)= ");

for ($i=0; $i<count($potongan_kedua);$i++ ){ echo "$potongan_kedua[$i]," ;

}

echo ("<br> array_slice($a,2,-2)= ");

for ($i=0; $i<count($potongan_ketiga);$i++ ){ echo "$potongan_ketiga[$i]," ;

}

(9)

Halaman58

Pemrograman Web / Fungsi dan Array

Brawijaya University

2012

REFEREN SI

Anonim . Modul Pengaj aran PPPGT Malang. 2006. Saput ra, Ridw an S. Pem rogram an HTML. 2010

Mercer, Dav e. 2004. Beginning PHP 5. Wr ox Press. I ndianapolis, I ndiana. Solichin, Achm ad.S.Kom . Pem rogram an Web dengan PHP dan MYSQL. 2 011

PROPAGASI

A. La t ih a n da n D isk u si ( Pr opa ga si V e r t ik a l da n H or iz on t a l)

1. Apa perbedaan fungsi dengan pass by v alue dan pass by reference!

2. Apa k egunaan fungsi array _slice ( )

B. Tu ga s ( Ev a lu a si m a n dir i)

Referensi

Dokumen terkait

Chapter 8-3 Inventory Classificatio n and Control Physical Goods Included in Inventory Costs Included in Inventory Cost Flow Assumptio ns LIFO: Special Issues

skripsi dengan judul “ Pengaruh Konsentrasi Perekat Daun Jambu Mete dan Tekanan Pengempaan dalam Pembuatan Briket dari Sekam Padi dan Ketaman Kayu ”, ber

Observasi pra-PPL menyangkut perangkat pembelajaran (meliputi kurikulum, silabus, dan RPP), proses pembelajaran (meliputi cara membuka pelajaran, menyajikan materi,

[r]

Pola aktivitas &amp; latihan : kondisi klien yang lemah sehingga harus dipapah, dan dadanya terus berdebar-bedar mengakibatkan pasien tidak bisa malakukan aktivitas

siswa yang diberikan model pembelajaran kooperatif tipe TAI lebih baik daripada prestasi. belajar matematika siswa yang diberikan model

Oral Disintegrating Tablets: A Future Compaction International Journal of Pharmaceutical Research and Development..

[r]