Academia.eduAcademia.edu

Control Flow and Array in Php

MODUL PEMROGRAMAN WEB CONTROL FLOW & ARRAY Rajif Agung Yunmar, S.Kom STMIK “AMIKOM” Yogyakarta 2011 DAFTAR ISI Control Flow ................................................................................................................. 1 1. Percabangan .......................................................................................................... 1 1.1 Pernyataan if ................................................................................................... 1 1.2 Pernyataan else if dan else ............................................................................ 3 1.3 Pernyataan switch .......................................................................................... 4 2. Perulangan ............................................................................................................. 6 2.1 Perulangan while ............................................................................................ 6 2.2 Perulangan do-while ....................................................................................... 8 2.3 Perulangan for ................................................................................................ 9 3. Perpindahan ........................................................................................................... 11 3.1 break ............................................................................................................... 11 3.2 continue ........................................................................................................... 11 3.3 return ............................................................................................................... 12 3.4 exit ................................................................................................................... 12 Array ............................................................................................................................ 14 1. Inisialiasi Array ........................................................................................................ 14 1.1 Index Numeric ................................................................................................. 14 1.2 Index Asosiatif ................................................................................................. 16 2. Navigasi (Mengakses Nilai) Array .......................................................................... 17 2.1 Index Numeric ................................................................................................. 17 2.2 Index Asosiatif ................................................................................................. 18 Daftar Pustaka ............................................................................................................. 21 CONTROL FLOW Control Flow dalam bahasa Indonesia dapat diartikan sebagai aliran kendali. Yaitu bagaimana urutan eksekusi perintah dalam program. Beberapa contoh control flow dalam PHP adalah: • Percabangan ( Branching ) • Perulangan ( Looping ) • Perpindahan ( Jumping ) 1. Percabangan Sering juga disebut dengan istilah dicision-making.Yang memungkinkan aplikasi untuk memeriksa isi sebuah variabel atau hasil perhitungan dan ekspresi kemudian mengambil tindakan yang sesuai. Sebagai contoh percabangan dapat ditemukan pada aplikasi login. Dimana hanya user dengan username dan password yang valid lah yang dapat memasuki sebuah sistem dan menggunakan fasilitas yang memang ditujukan hanya untuk user yang sah. 1.1 Pernyataan if Dalam kondisi sehari hari terdapat beberapa contoh kondisi yang memerlukan tindakan. Diataranya : • Ketika datang hujan, bawa payung • Ketika mobil kotor, cuci bersih • Ketika bensin habis, isi lagi. Dari contoh diatas, didapatkan sebuah pola umum. Ketika diberikan sebuah kondisi, sebuah aksi akan dilakukan jika kondisi yang menjadi prasyarat bernilai benar. Secara umum, bentuk pernyataan if dapat dituliskan sebagai berikut: if(condition){ statements ... } else { statements ... } 1 Keterangan : Condition adalah sebuah mekanisme evaluasi terhadap sebuah pernyataan atau ekspresi, yang menentukan apakah ia bernilai benar atau salah. Statements mungkin terdiri dari satu atau lebih perintah yang akan dijalankan apabila condition bernilai benar. Keyword tambahan else memungkinkan kita untuk menjalankan perintah lain jika condition bernilai salah. 03.latihan_01.php <?php $nilai = 80; if($nilai >= 60){ echo "Selamat anda lulus!"; } else { echo "Coba lagi semester depan."; } ?> Program diatas dapat dijelaskan sebagai berikut: 1. Mula-mula variabel $nilai diberikan value 80. 2. Kemudian if akan memeriksa kondisi variabel $nilai, apakah ia lebih besar atau sama dengan 60 melalui operator perbandingan “>=” (lihat kembali bagian Operator Relasional pada modul 2). 3. Jika kondisi bernilai benar, maka program akan menampilkan "Selamat anda lulus!". 4. Jika kondisi bernalai salah, program akan menampilkan "Coba lagi semester depan.". 2 1.2 Pernyataan else if dan else Pada beberapa kasus, tidak setiap kondisi dapat ditangani oleh pernyataan kondisi ifelse. Oleh sebab itu, pernyataan else if digunakan untuk merumuskan lebih banyak alternatif. Latihan 03.latihan_02.php memperlihatkan kepada kita beberapa kemungkinan value variabel $index yang akan didapatkan dari hasil perbandingan variabel $nilai. 03.latihan_02.php <?php $nilai = 80; if(($nilai >= 85) && ($nilai <= 100)){ $index = "A"; } else if($nilai >= 70) { $index = "B"; } else if($nilai >= 50) { $index = "C"; } else if($nilai >= 30){ $index = "D"; } else { $index = "E"; } echo "Nilai anda adalah : ".$nilai; echo "<br />"; echo "Dengan index : ".$index; ?> 3 1.3 Pernyataan switch Pernyataan switch adalah alternatif dari bentuk percabangan if-else if-else. Seperti yang kita pelajari sebelumnya, bahwa if-else if-else sangat ideal untuk membuat keputusan berdasarkan sejumlah kondisi. Tidak seperti if, pernyataan switch digunakan hanya untuk membandingkan variabel tunggal dengan dengan beberapa kemungkinan nilai-nilai. Bentuk umum dari pernyataan switch adalah sebagai berikut: switch($variable){ case value_1: statement 1; break; case value_2: statement 2; break; case value_3: statement 3; break; default: statement 4; break; } Keterangan aliran program: 1. $variable akan dibandingkan dengan daftar kemungkinan. 2. Pernyataan dieksekusi a. Jika $variable == value_1, maka statement 1 dijalankan kemudian keluar dari dari blok program switch. b. Jika $variable == value_2, maka statement 2 dijalankan kemudian keluar dari dari blok program switch. c. Jika $variable == value_3, maka statement 3 dijalankan kemudian keluar dari dari blok program switch. d. Jika $variable tidak memenuhi value_1 - value_3, maka statement 4 dijalankan. Keyword break menjadi penting dalam setiap bentuk pernyataan switch. Fungsinya digunakan sebagai pencegah fall-through. Ini karena dalam pernyataan switch, case hanya berfungsi sebagai label. Ketika statement 1 pada value_1 selesai dijalankan dan tidak diakhiri dengan break, ia akan melanjutkan pembandingan kepada value_2 dan seterusnya sampai ditemukannya break. Untuk lebih jelasnya perhatikan listing program berikut: 4 switch($variable){ case value_1: statement 1; case value_2: statement 2; case value_3: statement 3; break; default: statement 4; break; } Keterangan aliran program: 1. $variable akan dibandingkan dengan daftar kemungkinan. 2. Pernyataan dieksekusi a. Jika $variable == value_1, maka statement 1 dijalankan. b. Jika $variable == value_2, maka statement 2 dijalankan. c. Jika $variable == value_3, maka statement 3 dijalankan. d. Jika $variable tidak memenuhi value_1 - value_3 maka statement 4 dijalankan. 03.latihan_03.php <?php $plat_nomor = "AB"; switch($plat_nomor){ case "AB": echo "Yogyakarta"; break; case "AD": echo "Surakarta"; break; case "BE": echo "Lampung"; break; case "B": echo "Jakarta"; break; default: echo "Plat kendaraan tidak diketahui."; break; } ?> 5 2. Perulangan 2.1 Perulangan while Perulangan while dikenal juga dengan indeterminate loop. Artinya, penentuan jumlah perulangan tidak ditentukan sebelumnya. Perulangan akan dilakukan terus menerus sampai dengan kondisi yang menjadi prasyarat bernilai false. Stop condition while(condition){ statements ... Loop Body } Terdapat beberapa bagian penting dalam perulangan while, yaitu: • Stop condition : kondisi yang menjadi syarat terjadinya satu siklus perulangan. • Loop body : merupakan perintah yang akan dilakukan dalam sebuah perulangan. Prinsip kerja : 1. Pernyataan while menguji kondisi yang menjadi prasyarat. 2. Jika kondisi bernilai true, maka statements didalam loop body akan dikerjakan sekali lagi. Jika kondisi bernilai false, maka perulangan akan dihentikan. 3. Setiap kali statements pada loop body selesai dikerjakan, kondisi prasyarat akan kembali diperiksa. 6 03.latihan_04.php <?php echo "Setiap berangkat bekerja, Sponge Bob selalu berseru : <br />"; $i = 1; while($i <= 3){ echo "Aku Siap!<br />"; $i++; } ?> Keterangan aliran program: 1. Program akan mengisialisasi nilai counter (penghitung). Pada program diatas ditunjukkan dengan pernyataan $i = 1;. 2. Memeriksa kondisi perulangan. Pada program diatas ditunjukkan dengan pernyataan $i <= 3. Yaitu program akan memeriksa apakah nilai variabel $i masih lebih kecil atau sama dengan 3. 3. Jika pernyataan bernilai benar, program akan menampilkan "Aku Siap!<br />" pada browser. 4. Operasi menaikkan nilai counter. Pada program diatas ditunjukkan dengan pernyataan $i++; yang ditujukan untuk merubah nilai $i setiap kali looping terjadi, sehingga suatu saat nanti perulangan bisa dihentikan. 5. Program kembali kepada langkah no. 2. Yaitu untuk memeriksa kondisi pernyataan perulangan. 7 2.2 Perulangan do-while Perulangan do-while merupakan modifikasi dari perulangan while. Perulangan dowhile memiliki prinsip kerja yang sama dengan perulangan while. Hanya saja pemeriksaan kondisi prasyaratnya dilakukan pada akhir perulangan. do { statements ... } while(condition); Loop Body Stop condition Prinsip kerja : 1. Mula-mula statements akan dikerjakan tanpa melakukan pengujian terhadap kondisi yang menjadi prasyarat. 2. Setelah statements dijalankan, program akan memeriksa kondisi prasyarat perulangan. 3. Jika kondisi bernilai true, maka statements didalam loop body akan dikerjakan sekali lagi. Jika kondisi bernilai false, maka perulangan akan dihentikan. 03.latihan_05.php <?php $i = 1; do { echo "<font size=".$i.">Perulangan ke-".$i."</font>"; $i++; } while($i <= 6); ?> 8 2.3 Perulangan for Perulangan for disebut juga determinate loop. Yaitu jumlah perulangannya (iterasi) telah ditentukan sejak awal pernyataan. Misalnya: kita akan mencetak bilangan 1-10. Dalam hal ini, kita sudah mengetahui bahwasanya perulangan akan dimulai dari bilangan 1 dan terus menerus mencetak selama sebuah bilangan itu masih lebih kecil atau sama dengan 10. Bentuk umum perulangan menggunakan for adalah sebagai berikut: Initialization expression Interative expression Stop condition for($i = 1; $i <= 10; $i++){ statements ... Loop Body } Terdapat beberapa bagian penting dalam perulangan for, yaitu: • Initialization expression : digunakan untuk menentukan nilai awal counter (penghitung). • Stop condition : pemeriksaan nilai counter. Jika kondisi ekspresi bernilai false, perulangan dihentikan. • Interative expression : perintah yang dijalankan setiap selesai satu siklus perulangan. Biasanya bagian ini digunakan untuk menambah nilai counter. • Loop body : merupakan perintah yang akan dilakukan dalam sebuah perulangan. 9 03.latihan_06.php <?php for($i=1;$i<=6;$i++){ echo "<font size=".$i.">Perulangan ke-".$i."</font><br />"; } ?> Keterangan aliran program: 1. Program akan mengisialisasi nilai counter. Pada program diatas ditunjukkan dengan pernyataan $i = 1;. 2. Program memeriksa kondisi prasyarat perulangan. Pada program diatas ditunjukkan dengan pernyataan $i <= 6. Yaitu program akan memeriksa apakah nilai variabel $i masih lebih kecil atau sama dengan 6. 3. Program akan menampilkan "Perulangan ke-".$i." pada browser. 4. Operasi menaikkan nilai counter. Pada program diatas ditunjukkan dengan pernyataan $i++; yang ditujukan untuk merubah nilai $i setiap kali looping terjadi, sehingga suatu saat nanti perulangan bisa dihentikan. 5. Program kembali kepada langkah no. 2. Yaitu untuk memeriksa kondisi pernyataan perulangan. 10 3. Perpindahan 3.1 break Keyword break adalah bagian dari syntax bahasa pemrograman, fungsinya untuk keluar dari sebuah perulangan. 03.latihan_07.php <?php for($i=1;$i<=6;$i++){ if($i == 2){ break; } echo "Nilai i : ".$i."<br />"; } ?> Keterangan aliran program: 1. Program akan melakukan perulangan dari 1-6. Ini dapat dilihat dari inisialiasi counter $i = 1; dan pemeriksaan kondisi pada pernyataan $i <= 6;. 2. Dalam loop body diatas, terdapat pernyataan if yang akan memeriksa kondisi variabel $i. Dimana jika variabel $i == 2, maka perulangan harus diakhiri (break). 3.2 continue Dalam bahasa pemrograman continue PHP, digunakan untuk melewati satu siklus perulangan / iterasi. 11 03.latihan_08.php <?php for($i=1;$i<=6;$i++){ if($i == 3){ continue; } echo "Nilai i : ".$i."<br />"; } ?> Dari running program diatas dapat kita lihat bahwa perulangan akan dilakukan dari 1-6. Namun, dalam loop body terdapat pernyataan if, dimana ketika nilai $i == 3, maka siklus perulangan pada saat itu diabaikan melalui statements continue;. Kemudian program menaikkan counter ($i++) untuk kemudian kembali melanjutkan (melompat) siklus perulangan berikutnya. 3.3 return Keyword return berguna untuk memerintahkan program keluar dari sebuah fungsi. Keterangan dan penggunaan return secafa lebih lanjut akan kita bahas pada bab fungsi. 3.4 exit Keyword exit adalah fungsi yang digunakan untuk keluar dari sebuah program. Walaupun terdapat statements-statements lain dibawah baris kode exit yang belum dikerjakan. 12 03.latihan_09.php <?php for($i=1;$i<=6;$i++){ if($i == 3){ exit(); } echo "Nilai i : ".$i."<br />"; } // statement dibawah ini tidak akan dijalankan echo "STMIK AMIKOM Yogyakarta"; echo "Tempat kuliah orang berdasi"; ?> Dari running program diatas dapat kita lihat bahwa eksekusi program akan berhenti bilamana dalam perulangan nilai variabel $i == 3. Hal ini juga mengakibatkan kode program dibawahnya yaitu : echo "STMIK AMIKOM Yogyakarta"; echo "Tempat kuliah orang berdasi"; juga tidak akan diproses lebih lanjut oleh PHP interpreter. 13 ARRAY Array adalah kumpulan beberapa data yang disimpan dalam sebuah variabel. Masingmasing data yang disimpan dalam array tersebut mempunyai index sebagai sebuah pengenal. Setiap anggota dari array disebut sebagai elemen. Berbeda dengan tipe data sebelumnya yang hanya dapat menampung sebuah nilai, array dapat menampung lebih dari satu nilai. Sebagai contoh, kita ingin menyimpan data teman-teman kita dalam sebuah variabel $teman. Ada tiga orang yang akan kita masukkan dalam variabel tersebut. Secara visual, variabel $teman dapat kita gambarkan sebagai berikut: Yudistira Bima Arjuna $teman Setiap nilai dalam elemen variabel $teman diatas dapat diakses / dipanggil menggunakan index. Di dalam penggunaannya, PHP terdapat dua macam index yaitu: 1. Index Numerik. Yaitu menggunakan angka untuk menandai sebuah elemen array. 2. Index Asosiatif. Yaitu memberikan nama sebagai penanda sebuah elemen. Penggunaan index secara detail akan dibahas dibawah. 1. Inisialiasi Array 1.1 Index Numerik Inisialiasi (pengisian) sebuah array dengan index numerik dapat dilakukan dengan caracara sebagai berikut : $teman = array("Yudistira", "Bima", "Arjuna"); Hal yang sama juga dapat dilakukan dengan cara sebagai berikut : $teman[] = "Yudistira"; $teman[] = "Bima"; $teman[] = "Arjuna"; 14 Berbeda dengan inisialiasi dengan cara diatas dimana index didefinisikan secara otomatis oleh program. Cara inisialiasi dibawah ini memungkinkan kita untuk mendefinisikan index secara manual. $teman[0] = "Yudistira"; $teman[1] = "Bima"; $teman[2] = "Arjuna"; Hasil dari inisialiasi array dengan index numeric diatas, maka array $teman dapat digambarkan sebagai berikut: Value Yudistira Bima Arjuna Index 0 1 2 Dalam PHP, untuk menampilkan semua elemen dan value yang telah didefinisikan dalam sebuah array, digunakan fungsi print_r(). Untuk lebih jelasnya, lihat contoh dibawah ini. 03.latihan_10.php <?php $teman[] = "Yudistira"; $teman[] = "Bima"; $teman[] = "Arjuna"; echo "<pre>"; print_r($teman); echo "</pre>"; ?> Elemen Value 15 1.2 Index Asosiatif Untuk melakukan inisialisasi dengan menggunakan index asosiatif membutuhkan sebuah label sebagai pengenal sebuah elemen. Inisialiasi (pengisian) sebuah array dengan index asosiatif dapat dilakukan dengan cara-cara sebagai berikut : Yudistira Bima Arjuna wayang_1 wayang_2 wayang_3 Didalam PHP inisialiasi array dengan index asosiatif dapat dilakukan dengan cara-cara sebagai berikut : $teman = array("wayang_1" => "Yudistira", "wayang_2" => "Bima", "wayang_3" => "Arjuna"); Inisialiasi dengan cara diatas juga dapat dilakukan dengan cara sebagai berikut : $teman['wayang_1'] = "Yudistira"; $teman['wayang_2'] = "Bima"; $teman['wayang_3'] = "Arjuna"; Hasil dari inisialiasi array dengan index asosiatif diatas dapat digambarkan sbb: Value Yudistira Bima Arjuna Index wayang_1 wayang_2 wayang_3 Sama halnya dengan baris kode pada array dengan index numeric, fungsi print_r() juga digunakan untuk menampilkan semua elemen dan value yang telah didefinisikan dalam array dengan index asosiatif. 03.latihan_11.php <?php $teman['wayang_1'] = "Yudistira"; $teman['wayang_2'] = "Bima"; $teman['wayang_3'] = "Arjuna"; echo "<pre>"; print_r($teman); echo "</pre>"; ?> 16 Elemen Value 2. Navigasi (Mengakses Nilai) Array 2.1 Index Numerik Terdapat dua cara yang dapat dilakukan untuk melakukan navigasi (pengaksesan nilai) array dengan index numeric. Yaitu: a. Pengaksesan Langsung. Pengaksesan array secara langsung dapat dilakukan dengan cara menuliskan nama array berserta indexnya. 03.latihan_12.php <?php $teman[] = "Yudistira"; $teman[] = "Bima"; $teman[] = "Arjuna"; echo $teman[0]; echo "<br />"; echo $teman[2]; ?> 17 b. Melalui Perulangan. Seperti dijelaskan diatas, pengaksesan array dengan index numeric dapat dilakukan dengan menuliskan nama array diikuti oleh index elemen. Maka pada pemanggilan array melalui perulangan, index elemen dapat digantikan dengan variabel counter. Untuk lebih jelasnya, perhatikan contoh program 03.latihan_13.php dibawah ini. 03.latihan_13.php <?php $teman[] = "Yudistira"; $teman[] = "Bima"; $teman[] = "Arjuna"; for($i = 0; $i < count($teman); $i++){ echo $teman[$i]; echo "<br />"; } ?> Pada contoh program diatas, index dapat digantikan oleh variabel counter $i. Fungsi count() digunakan untuk menghitung jumlah elemen yang terdapat pada array $teman yang nantinya digunakan sebagai stop condition dari perulangan. 2.2 Index Asosiatif Seperti halnya pada array dengan index numeric, terdapat dua cara pengaksesan array menggunakan index asosiatif. Yaitu: a. Pengaksesan Langsung. Pengaksesan array secara langsung dapat dilakukan dengan cara menuliskan nama array berserta label index asosiatifnya. 18 03.latihan_14.php <?php $teman['wayang_1'] = "Yudistira"; $teman['wayang_2'] = "Bima"; $teman['wayang_3'] = "Arjuna"; echo $teman['wayang_2']; echo "<br />"; echo $teman['wayang_3']; ?> b. Melalui perulangan. Karena index yang digunakan bukanlah numeric, maka perulangan menggunakan for tidak dapat digunakan. Sebagai gantinya kita menggunakan perulangan foreach. 03.latihan_14.php <?php $teman['wayang_1'] = "Yudistira"; $teman['wayang_2'] = "Bima"; $teman['wayang_3'] = "Arjuna"; foreach($teman as $key => $tmp){ echo $tmp; echo "<br />"; } ?> 19 Pada contoh program diatas, perulangan menggunakan foreach secara otomatis akan menampilkan semua value pada array tanpa harus menyebutkan index asosiatifnya. Untuk menampilkan value menggunakan perulangan foreach, terlebih dahulu array $teman akan diubah menjadi variabel sementara $tmp, yang mengacu pada elemen array yang sedang diakses saat itu. Sedangkan varibel $key mengacu pada index asosiatif elemen array yang saat itu sedang diakses. 20 DAFTAR PUSTAKA 1. Buzton, Toby. 2002. PHP By Example. Indianapolis, Indiana: Que. 2. Choi, Wankyu., Dkk. 2000. Beginning PHP 4. Birmingham: Wrox Press. 3. Yuliano,Triswansyah. 2007. Pengenalan PHP. IlmuKomputer.Com. 4. Muhardin, Endy. 2003. PHP Programming Fundamental dan MySQL Fundamental. IlmuKomputer.Com 21