BAB 6
Control Structure Statement
Control Structure adalah kumpulan pernyataan yang mampu mengatur hasil(eksekusi). Pengaturan hasil eksekusi biasanya dapat mengubah alur dari jalannya suatu pemograman seperti mengulangi eksekusi dari beberapa pernyataan,dan melewati suatu kondisi. Pernyataan yang memiliki kemampuan pengaturan ini disebut control statement. Dari cara kerjanya, control structure dibagi kedalam 2 tipe pernyataan yaitu selection statement dan iterative statement.
1.Selection Statement
Selection statement adalah sebuah pernyataan yang menyediakan fitur untuk memilih diantara 2 atau lebih jalan eksekusi yang terdapat didalam program.Biasanya contohnya berupa if,if-else,else-if,dan switch-case.Selection statement dapat dibagi kedalam 2 kategori umum yaitu : two-way selection dan n-way(multiple selection).
- Two-Way Selection Statement
Two-way selection merupakan tipe pernyataan statement yang paling dasar dan hampir sama bentuknya dengan imperative language. Keyword yang biasa digunakan adalah if dan if-else (compound-statement). Bentuk dari keyword ini juga dapat dimanipulasi ke dalam bentuk yang lain seperti nested-if, dideklarasikan ke dalam 1 pernyataan atau lebih atau menggunakan ekspresi relasi atau boolean atau aritmatika bahkan campuran dari ketiga ekspresi tersebut sebagai ekspresi dari selector.Berikut contoh-contoh dari penggunaan two-way selection statement pada bahasa pemograman PHP :
No. | Keyword | Contoh Penggunaan |
1 | IF | <?php
$t=date(“H”); //mengambil data jam dari waktu komputer server if ($t>”0″ && $t<“5” )* { echo “Sekarang masih fajar”; } ?>
*contoh manipulasi control expression dengan menggunakan ekspresi aritmatika ,relasi dan boolean |
2 | IF-ELSE | <?php
$t=date(“H”); if ($t<“5”) { echo “Sekarang masih fajar”; } else { echo “Sekarang tidak fajar lagi”; } ?> |
3 | NESTED-IF | <?php
$t=date(“H”); if ($t<“5”) { echo “Sekarang masih fajar”; } if ($t>”5″) { echo “Sekarang tidak fajar lagi”; } ?> |
- Multiple Statement
Multiple selection statement memperbolehkan seleksi satu dari banyak keseluruhan dari pernyataan atau tumpukan pernyataan. Keyword yang biasa digunakan adalah switch-case dan if-elseif. Penggunaan if-elseif juga dapat memakai “go-to” namun hal ini tidak disarankan karena dapat memperburuk jalur jalannya program menjadi berantakan.Berikut contoh penggunaan multiple statement pada bahasa PHP :
No. | Keyword | Contoh Penggunaan |
1 | IF-ELSEIF | <?php
$t = date(“H”);// data diambil dari komputer
if ($t < “10”) { echo “Have a good morning!”; } elseif ($t < “20”) { echo “Have a good day!”; } else { echo “Have a good night!”; } ?> |
2 | SWITCH-CASE | <?php
$favcolor = “red”;
switch ($favcolor) { case “red”: echo “Your favorite color is red!”; break; case “blue”: echo “Your favorite color is blue!”; break; case “green”: echo “Your favorite color is green!”; break; default: echo “Your favorite color is neither red, blue, nor green!”; } ?> |
2.Iterative Statement
Iterative statement adalah eksekusi dari sebuah atau beberapa pernyataan yang didapatkan dari iteration and recursion. Iterative statement dapat juga disebut loop. Keyword yang biasa dipakai ialah for,while dan do-while.Berdasarkan prioritas eksekusinya,loop dibagi dua yaitu pretest loop dan posttest loop.
Pretest loop adalah proses pengulangan dimana eksekusi akan dijalankan sesuai instruksi. Maka,apabila data tidak sesuai dengan instruksi maka tidak muncul hasil dari program.Contoh pretest loop adalah while dan for .Sebaliknya Posttest loop adalah proses pengulangan dimana paling tidak eksekusi dijalankan 1 kali terlebih dahulu walaupun nantinya pada proses pengecekan dimana data tidak sesuai dengan instruksi. Contoh pretest loop adalah while dan for.Berdasarkan pembacaan kondisi syarat perulangan,iterative statement dapat dibagi 2 yaitu counter-controlled loops dan logically controlled loops.
2.1 Counter-Controlled Loops
Counter-Controlled Loops adalah pernyataan yang memiliki variabel loop(variabel yang menampung nilai perhitungan) yang bermakna menspesifikasi intial (nilai awal dari variabel loop)and terminal (nilai akhir dari variabel loop), dan stepsize value (perubahaan nilai variabel loop). Contoh dari counter-controlled loops adalah pengunaan for. Berbeda dengan bahasa pemograman yang lain,PHP memiliki keyword tambahan yaitu for-each yang digunakan pada saat perulangan yang menggunakan array.Berikut contoh penggunaan counter-controlled loops:
No. | Keyword | Contoh Penggunaan |
1 | FOR | <?php
for ($x = 0; $x <= 10; $x++) { echo “The number is: $x <br>”; } ?> |
2 | FOR-EACH | <?php
$colors = array(“red”,”green”,”blue”, “yellow”);
foreach ($colors as $value) { echo “$value <br>”; } ?> |
2.2 Logically Controlled Loops
Dalam beberapa kasus,kumpulan statement perlu dieksekusi berulang kali namun perulangan itu tidak berdasarkan perhitungan namun ekspresi boolean.Pada kasus seperti ini,maka perulangan dapat menggunakan logically controlled loops.Contoh dari logically controlled loops adalah while dan do-while.While tergolong dalam kategori pretest loop sedangkan do-while tergolong dalam kategori posttest loop.Berikut contoh penggunaan logically controlled loops pada bahasa pemograman PHP :
No. | Keyword | Contoh Penggunaan |
1 | WHILE | <?php
$x = 1;
while($x <= 5) { echo “The number is: $x <br>”; $x++; } ?> |
2 | DO-WHILE | <?php
$x = 1;
do { echo “The number is: $x <br>”; $x++; } while ($x <= 5); ?> |
- User-Located Loop Control Mechanisms
Terkadang programmer perlu menempatkan loop control di dalam body.Karena itu beberapa bahasa pemograman memberikan mekanisme untuk melakukan hal tersebut.Mekanisme ini memungkinkan programmer untuk dapat keluar dari loop saat berada di dalam body.Keyword pada user-located loop control mechanisms berupa break dan continu. Pada break ,setelah memenuhi kondisi untuk break maka perulangan langsung dihentikan.Sedangkan pada continu,setelah memenuhi kondisi untuk continue ,maka hanya perulangan pada kondisi tersebut dihentikan (dilewati/skip)dan dilanjutkan dengan perulangan berikutnya.Berikut contoh pengunaan user-located loop control mechanism pada bahasa pemograman PHP :
Contoh penggunaan break
Contoh penggunaan continue
- Iteration Based on Data Structure
Tidak seperti counter loop dan logical loop,struktur looping ini dikontrol oleh jumlah element dari sebuah struktur data.Pada iteration based on data structure memiliki sebuah fungsi bernama iterator yang bertugas mencari element baru yang belum dikunjungi.Perulangan akan berhenti saat iterator gagal menemukan element baru lagi.Pada bahasa pemograman PHP , iteration based on data structure menggunakan iterator yang telah didefinisikan terlebih dahulu untuk akses iterative pada array unik PHP,contoh :
reset $list
echo (“first number : ” +current($list) + “<br/>”);
while ($current_value=next($list))
echo (“Next number : ” + $current_value + “</br>”);
– current menunjuk pada elemen terakhir yang diakses pada saat iterasi.
– next iterator berpindah pada current ke elemen berikutnya.
– reset memindahkan current ke elemen pertama
Oleh Kelompok 12
Referensi :
- http://www.dreamincode.net/forums/topic/84706-pretest-and-posttest-loop-help/
- https://prezi.com/m8ni9bsqa5fc/kbp/
- http://www.dumetschool.com/blog/Penggunaan-Fungsi-Break-dan-Continue-pada-PHP
- http://www.w3schools.com/php/php_looping.asp
- Robert W. Sebesta – Concept of Programming Languages (Tenth Edition), Chapter 8
- http://arcana70.blogspot.co.id/2014/06/kbp-pert-6.html
- https://binusmaya.binus.ac.id/newStudent/#/class/resources.COMP6060/007420/1610/LEC/9239