Struktur Kontrol
Aryo Pinandito, ST, M.MT Fajar Pradana, S.ST, M.Eng Issa Arwani, S.Kom, M.Sc1 . PEN D AH U LUAN beberapast at em en y ang digunak an unt uk proses k husus. Lebih det ail lagi dalam PHP sepert ibahasa C m aupun j av a m em ilik i beberapa st ruk t ur k ont rol program . Denganm enggunak an st rukt ur- st rukt ur ini m ak a j alanny a program t idak selalu berurut ansesuai dengan k ondisi y ang dit em ui.
1 .2 Tu j u a n
Halaman28
Pemrograman Web / Struktur Kontrol
Brawijaya University
2012
2 . PEN GAN TAR CON TROL FLOW
Cont rol flow dalam bahasa I ndonesia dapat diart ik an sebagai aliran k endali. Mak sud sebenarny a dari cont rol flow adalah bagaim ana u rut an ek sekusi perint ah di dalam program .
Misalny a, dalam funct ion :
function testFlow() {
int a = 5; echo(a); }
Perint ah pert am a y ang dij alank an adalah m engisi nilai 5 k e dalam v ariabel a. Per int ah k edua y ang dij alank an adalah m enam pilk an nilai y ang t ersim pan dalam v ariabel a ( dalam hal ini 5) k e brow ser. Cont r ol flow di at as m erupak an sebuah cont oh sederhana. Beberapa cont rol flow y ang t ersedia dalam PHP :
• Percabangan ( branching)
• Perulangan ( looping)
• Perpindahan ( j um ping)
3 . STRUKTUR PERCABAN GAN
Percabangan, at au sering disebut j uga dengan ist ilah decision- m ak ing, m em ungk ink an aplik asi unt uk m em erik sa isi suat u v ariabel at au hasil perhit ungan ek spresi dan m engam bil t indak an y ang sesuai. Ada dua j enis percabangan, dipilih berdasark an k rit eria pem erik saan dan j um lah pilihan y ang t ersedia.
3 .1 if – e lse
Konst ruk si if- else dapat dij elask an sebagai berik ut :
if(condition) {
// statement 1 goes here }
else {
// statemant 2 goes here }
// statement 3 goes here
Aliran pr ogram :
1. Condit ion ak an diperik sa
2. Bila bernilai t rue, st at em ent 1 ak an dij alank an
3. Bila bernilai false, st at em ent 2 akan dij alank an
3 .2 if - e lse if - e lse
Unt uk pilihan y ang lebih dari dua, PHP m eny ediak an k onst ruk si if- elseifelse.
if(condition1) {
// statement 1 }
elseif(condition2) {
// statement 2 }
else {
// statement 3 }
// statement 4
Aliran pr ogram :
Ada 3 k em ungk inan aliran pr ogram :
1. Apabila condit ion 1 bernilai t rue :
• St at em ent 1 dij alank an
• St at em ent 4 dij alank an
2. Apabila condit ion 1 bernilai false, dan condit ion 2 bernilai t rue :
• St at em ent 2 dij alank an
• St at em ent 4 dij alank an
3. Apabila condit ion 1 dan condit ion 2 bernilai false :
• St at em ent 3 dij alank an
• St at em ent 4 dij alank an Cont oh penggunaan I f St at em ent
//Contoh1.php <?php
$nilai = 80;
if ($nilai >= 60) {
echo "Nilai Anda $nilai, Anda LULUS"; }
?>
Pada pr ogram di at as, t erdapat pem erik saan k ondisi apak ah isi v ariabel $nilailebih dari 60 ( baris 3) . Jik a k ondisi ini bernilai TRUE ( v ariabel $nilai berisi nilai y an g lebih besar dari 60) m ak a st at em ent pada baris k e- 4 ak an dij alank an. Sebalik ny a j ik a k ondisiny a FALSE, m ak a st at em ent pada baris k e- 4 t idak ak an dij alank an.
//Contoh2.php <?php
$nilai = 50;
if ($nilai >= 60) {
Halaman30
Pemrograman Web /Struktur Kontrol
Brawijaya University
2012
} else {
echo "Nilai Anda $nilai, Anda GAGAL"; } baris k e- 3 bernilai FALSE k arena isi v ariabel $nilai adalah 50.
//Contoh3.php <?php
$user = "fajar"; $pass = "123"
if ($user == "fajar" && $pass == "123") { echo "Login Berhasil";
echo "Variabel tidak ada/belum terbentuk"; } else {
// statement 1 goes here break;
case 2;
// statement 2 goes here break;
// statement 3 goes here break;
default;
// statement 4 goes here break;
}
// statement 5 goes here
Aliran pr ogram :
1. Variabel a diperik sa
2. St at em ent dieksek usi
• Apabila a = = 1, st at em ent 1 dij alank an
• Apabila a = = 2, st at em ent 2 dij alank an
• Apabila a = = 3, st at em ent 3 dij alank an
• Apabila a t idak m em enuhi 2a - 2c, st at em ent 4 dij alank an 3. St at em ent 5 dij alank an
Key w ord break m em egang peranan pent ing di sini. Fungsiny a adalahm encegah fall- t hrough, bandingk an dengan pr ogram berik ut ( break dibaris k e 5 dihilangk an)
switch(a){ case 1;
// statement 1 goes here case 2;
// statement 2 goes here break;
case 3;
// statement 3 goes here break;
default;
// statement 4 goes here break;
}
Aliran pr ogram :
1. v ariabel a diperik sa
2a. Apabila a = = 1, st at em ent 1 dij alank an, k em udianm enj alank an st at em ent 2.
2b. Apabila a = = 2, st at em ent 2 dij alank an
2c. Apabila a = = 3, st at em ent 3 dij alank an
2d. Apabila a t idak m em enuhi 2a - 2 c, st at em ent 4 dij alank an
3. St at em ent 5 dij alank an
Halaman32
Pemrograman Web /Struktur Kontrol
Brawijaya University
2012
/ / cont oh5.php
<?php
$day = date ("D"); switch ($day) {
case 'Sun' : $hari = "Minggu"; break; case 'Mon' : $hari = "Senin"; break; case 'Tue' : $hari = "Selasa"; break; case 'Wed' : $hari = "Rabu"; break; case 'Thu' : $hari = "Kamis"; break; case 'Fri' : $hari = "Jum'at"; break; case 'Sat' : $hari = "Sabtu"; break; default : $hari = "Kiamat";
}
echo "Hari ini hari <b>$hari</b>"; ?>
Pada pr ogram di at as, v ariabel $day ( baris k e- 2) ak an berisi 3 ( t iga) digit pert am a dari nam a hari dalam bahasa I nggris. Dengan fungsi date(), k it a ak an m em per oleh inform asi t anggal, hari dan w ak t u sek arang. Fungsi ini ak an diperlaj ari lebih lanj ut pada Bab m endat ang. Selanj ut ny a isi v ariabel $day ak an diperik sa dengan sw it ch ( baris k e- 3) , j ik a isiny a adalah ‘Sun’ m ak a $hari adalah “ Minggu” dan set erusny a.
4 . St r u k t u r Pe r u la n g a n
4 .1 for
Looping dengan for disebut j uga det erm inat e loop, art iny a looping y angj um lah pengulanganny a ( it erasi) t elah dit ent uk an di aw al looping.Ada beberapa bagian pent ing dari for loop:
• I nit ializat ion ex pression
• St op condit ion
• I t erat iv e ex pression
• Loop body
I nit ializat ion Ex pression dij alank an sat u k ali, pada saat looping dim ulai. Biasany a bagian ini digunak an unt uk m enginisialisasi count er( penghit ung) . St op condit ion diperik sa nilainy a sebelum set iap it erasi diek sek usi. Apabila condit ion bernilai false, it erasi dihent ik an.
I t erat iv e ex pression dilak uk an set elah it erasi diek sek usi. Bagian ini biasany a digunak an unt uk m enam bah nilai count er. Loop body diek sekusi sek ali set iap it erasi, m er upak an perint ah y ang ingin k it a lak uk an berulang- ulang.
4 .2 w h ile
While loop j uga dik enal dengan ist ilah indet erm inat e loop, art iny a j um lah loopin gny a t idak dit ent uk an pada aw al looping. w hile loop lebih sederhana daripada for loop, k arena cum a m em ilik i dua bagian: St op Condit ion dan Loop Body
I t erasi ak an dihent ik an apabila st op condit ion bernilai false. Sam a sepert i pada for loop, loop
Cont oh Penggunaan While
Halaman34
Pemrograman Web /Struktur Kontrol
Brawijaya University
2012
$i = 1;
while ($i <= 10): echo "$i";
$i++; endwhile;
echo "<br><br>"; /* contoh 3 */ $i = 1;
while ($i <= 6) {
echo "<h$i>Heading $i</h$i>"; $i++;
} ?>
Program di at as m erupak an beberapa v ariasi perulangan dengan w hile. Cont oh y ang pert am a ( baris 3- 6) m erupak an bent uk y ang paling um um dipak ai. Blok perint ah ( baris 5) ak an dij alank an selam a pem erik saan k ondisi pada baris k e- 4 bernilai TRUE. Cont oh k edua m erupak an bent uk lain dari w hile, bent uk ini j arang digunak an. Pada cont oh k et iga, penggunaan perulangan unt uk m enam pilk an t ulisan dengan form at < H1> sam pai < H6>
Cont oh penggunaan do w hile
<?php $i = 1; do {
echo "$i "; $i+=2;
} while ($i <= 20); ?>
Program di at as ak an m enam pilk an bilangan ganj il ant ara 1 sam pai 20 m enggunak an st ruk t ur perulangan do..w hile. Pada st ruk t ur perulangan do...w hile, pem erik saan k ondisi berada di baw ah.
5 . St r u k t u r Pe r pin da h a n
5 .1 br e a k
Break digunak an dalam looping unt uk m enghent ik an suat u loop. Unt uk lebih j elasny a, perhat ik an k ode berik ut :
<?
// melakukan break pada $i == 2 for($i = 0; $1<5; $i++){
if($i == 2){
break;
}
echo("Nilai i : $i <br>"); }
k ode t ersebut ak an m elak uk an break pada saat i bernilai 2, sehingga ak an m enghasilk an out put sebagai berik ut :
Nilai i : 0
Nilai i : 1
Loop Selesai
5 .2 con t in u e
Cont inue berfungsi unt uk m elew at i sat u it erasi/ put aran dalam rangk aian loop. Unt uk lebih j elasny a, k ode di at as ak an k it a m odifik asi.
<?
// melakukan continue pada $i == 2 for($i = 0; $1<5; $i++){
if($i == 2){
continue;
}
echo("Nilai i : $i <br>"); }
echo("Loop Selesai"); ?>
k ode t ersebut ak an m elak uk an break pada saat i bernilai 2, sehingga ak an m enghasilk an out put sebagai berik ut :
Nilai i : 0
Nilai i : 1
Nilai i : 3
Nilai i : 4
Loop Selesai
5 .3 r e t u r n
Perint ah ret urn berfungsi unt uk m em erint ahk an k ode unt uk k eluar dari fungsi. Fungsi ak an k it a pelaj ari dengan lebih m endalam pada bagian selanj ut ny a. Unt uk sem ent ara, fungsi cum a ak an digunak an unt uk m enj elask an ret urn. Perhat ik an k ode di baw ah :
<?
function testReturn(){ for($i = 0; $1<5; $i++){
// melakukan return pada $i == 2 if($i == 2){
return; }
echo("Nilai i : $i <br>"); }
echo("Loop Selesai"); }
// jalankan function testReturn();
Halaman36
Pemrograman Web /Struktur Kontrol
Brawijaya University
2012
out put ny a adalah :
Nilai i : 0
Nilai i : 0
Funct ion Selesai
Perhat ik an bahw a Loop Selesai t idak dij alank an. I ni m enunj uk k an bahw a set elah ret urn diek sekusi, program langsung k eluar dari funct ion dan m engek sekusi perint ah set elah funct ion, y ait u
echo(“Function Selesai”);
5 .4 e x it
ex it digunak an unt uk m enghent ik an k eseluruhan script php. Unt uk lebih j elasny a, k it a ak an m odifik asi k ode di at as m enj adi sepert i berik ut :
<?
function testExit(){ for($i = 0; $1<5; $i++){
// melakukan return pada $i == 2 if($i == 2){
exit; }
echo("Nilai i : $i <br>"); }
echo("Loop Selesai"); }
// jalankan function testExit();
echo("Function selesai"); ?>
out put ny a adalah :
Nilai i : 0
Nilai i : 0
Funct ion Selesai
Perhat ik an bahw a baris
echo("Function selesai");
REFEREN SI
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. Sebut k an dan Jelask an 3 St ruk t ur cont rol y ang dim ilik i PHP
2. Apa fungsi dari perint ah ret urn
B. Tu ga s ( Ev a lu a si m a n dir i)
1.Buat lah program unt uk m enam pilk an bilangan fibonaci