Think Different Materi Pemrograman Web 1 03_Control Flow

Struktur Kontrol
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.
3.
4.
5.

Pe nga nt a r Cont r olFlow
St r uk t ur Pe r ca ba nga n
St r uk t ur Pe r ula nga n
St r uk t ur Pe r pinda ha n

1 . PEN D AH ULUAN
1 .1 Pe n ga n t a r


1 .2 Tu j u a n
Tuj uan pem belaj aran pada bab ini adalah:
1. Mem aham i St ruk t ur Kont r ol Program
2. Mam pu m engim plem ent asik an st rukt ur percabangan
3. Mam pu m engim plem ent asik an st rukt ur perulangan
4. Mam pu m engim plem ent asik an st rukt ur perpindahan

3
SELF-PROPAGATING ENTREPRENEURIAL EDUCATION DEVELOPMENT

Selain st at em en sederhana yang t elah kit a pelaj ari di at as t erdapat
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 ava m em iliki beberapa
st ruk t ur kont rol program . Denganm enggunakan st rukt ur- st rukt ur ini
m aka j alannya program t idak selalu berurut ansesuai dengan kondisi
yang dit em ui.

MODUL

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. Maksud
sebenarnya dari cont rol flow adalah bagaim ana urut an eksekusi perint ah di dalam program .
Misalnya, 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 ke dalam variabel a. Per int ah k edua
yang dij alank an adalah m enam pilkan nilai yang t ersim pan dalam variabel a ( dalam hal ini 5)
ke browser. Cont r ol flow di at as m erupakan sebuah cont oh sederhana. Beberapa cont rol flow
yang 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 aking, 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 indakan y ang sesuai. Ada dua j enis percabangan, dipilih berdasarkan krit eria pem erik saan
dan j um lah pilihan y ang t ersedia.

3 .1 if – else
Konst ruksi if- else dapat dij elask an sebagai berikut :
if(condition)
{
// statement 1 goes here
}
else
{
// statemant 2 goes here
}

// statement 3 goes here

Aliran pr ogram :
1. Condit ion akan diperik sa
2. Bila bernilai t rue, st at em ent 1 ak an dij alankan
3. Bila bernilai false, st at em ent 2 akan dij alankan
4. St at em ent 3 dij alankan

Halaman28

Pemrograman Web /Struktur Kontrol

Brawijaya University

2012

3 .2 if - e lseif - e lse
Unt uk pilihan yang lebih dari dua, PHP m enyediakan konst ruksi if- elseifelse.
if(condition1)
{

// statement 1
}
elseif(condition2)
{
// statement 2
}
else
{
// statement 3
}
// statement 4

Aliran pr ogram :
Ada 3 kem ungkinan aliran pr ogram :
1.

Apabila condit ion 1 bernilai t rue :





2.

St at em ent 4 dij alankan

Apabila condit ion 1 bernilai false, dan condit ion 2 bernilai t rue :





3.

St at em ent 1 dij alankan

St at em ent 2 dij alankan
St at em ent 4 dij alankan

Apabila condit ion 1 dan condit ion 2 bernilai false :






St at em ent 3 dij alankan
St at em ent 4 dij alankan

Cont oh penggunaan I f St at em ent
//Contoh1.php


Pada pr ogram di at as, t erdapat pem erik saan k ondisi apakah isi variabel $nilailebih dari 60
( baris 3) . Jika k ondisi ini bernilai TRUE ( v ariabel $nilai berisi nilai y ang lebih besar dari 60)
m aka st at em ent pada baris ke- 4 akan dij alankan. Sebaliknya j ika kondisinya FALSE, m aka
st at em ent pada baris ke- 4 t idak akan dij alankan.
//Contoh2.php


Pada pr ogram di at as, t erdapat pem erik saan k ondisi apakah isi variabel $nilailebih dari 60
( baris 3) . Jika k ondisi ini bernilai TRUE ( v ariabel $nilai berisi nilai y ang lebih besar dari 60)

m aka st at em ent pada baris ke- 4 ak an dij alank an. Sebalik ny a j ik a k ondisiny a FALSE, m aka
st at em ent pada baris ke- 6 yang akan dij alankan. Pada cont oh pr ogram di at as, kondisi pada
baris ke- 3 bernilai FALSE karena isi variabel $nilai adalah 50.
//Contoh3.php


Pada program di at as, t erdapat pem erik saan kondisi apakah isi variabel $nilai sam a dengan
“ faj ar” dan apakah isi variabel $pass sam a dengan “ 123” ( bar is 4) . Jika k edua k ondisi
t ersebut bernilai TRUE m aka st at em ent pada baris ke- 5 akan dij alankan. Sebaliknya j ika
salah sat unya bernilai FALSE, m aka st at em ent pada baris ke- 7 yang akan dij alankan.
//Contoh4.php


Pada program di at as, t erdapat fungsi isse t ( ) yang m erupakan fungsi unt uk m em erik sa
apakah suat u variabel sudah t erbent uk ( ada) at au belum . Fungsi akan bernilai TRUE j ik a
variabelny a ada. Jadi j ik a baris ke- 2 dari program di at as direm ark at au dihilangkan m aka
st at em ent pada baris ke- 4 yang akan dij alankan.

3 .3 sw it ch – ca se
k onst ruk si swit ch dapat dij elaskan sebagai berikut :

switch(a){
case 1;
// statement 1 goes here
break;
case 2;
// statement 2 goes here
break;
case 3;

Halaman30

Pemrograman Web /Struktur Kontrol

Brawijaya University

2012

// 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 alankan
Apabila a = = 2, st at em ent 2 dij alankan
Apabila a = = 3, st at em ent 3 dij alankan
Apabila a t idak m em enuhi 2a - 2c, st at em ent 4 dij alankan


3. St at em ent 5 dij alankan
Keyword break m em egang peranan pent ing di sini. Fungsinya adalahm encegah fall- t hrough,
bandingk an dengan pr ogram berikut ( break dibaris ke 5 dihilangk an)
switch(a){
case 1;
// statement
case 2;
// statement
break;
case 3;
// statement
break;
default;
// statement
break;
}

1 goes here
2 goes here

3 goes here

4 goes here

Aliran pr ogram :
1. v ariabel a diperik sa
2a. Apabila a = = 1, st at em ent 1 dij alankan, kem udianm enj alankan st at em ent 2.
2b. Apabila a = = 2, st at em ent 2 dij alankan
2c. Apabila a = = 3, st at em ent 3 dij alankan
2d. Apabila a t idak m em enuhi 2a - 2c, st at em ent 4 dij alankan
3. St at em ent 5 dij alankan
Perbedaan ada pada langk ah 2a. Bandingkan dengan list ing pert am a.

Halaman31

Pemrograman Web /Struktur Kontrol

Brawijaya University

2012

/ / cont oh5.php


Pada pr ogram di at as, variabel $day ( baris ke- 2) ak an berisi 3 ( t iga) digit pert am a dari nam a
hari dalam bahasa I nggris. Dengan fungsi date(), kit a akan m em per oleh inform asi t anggal,
hari dan wakt u sek arang. Fungsi ini akan diperlaj ari lebih lanj ut pada Bab m endat ang.
Selanj ut nya isi v ariabel $day akan diperiksa dengan swit ch ( baris ke- 3) , j ik a isinya adalah
‘Sun’ m aka $hari adalah “ Minggu” dan set erusnya.

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 inya looping yangj um lah
pengulangannya ( it erasi) t elah dit ent ukan di awal looping.Ada beberapa bagian pent ing dari
for loop:




I nit ializat ion ex pression



I t erat ive ex pression



St op condit ion

Loop body

I nit ializat ion Expression dij alank an sat u k ali, pada saat looping dim ulai. Biasany a bagian ini
digunakan unt uk m enginisialisasi count er( penghit ung) . St op condit ion diperiksa nilainy a
sebelum set iap it erasi diek sek usi. Apabila condit ion bernilai false, it erasi dihent ikan.
I t erat ive expression dilak uk an set elah it erasi dieksekusi. Bagian ini biasanya digunakan unt uk
m enam bah nilai count er. Loop body dieksekusi sekali set iap it erasi, m er upakan perint ah yang
ingin kit a lakukan berulang- ulang.

4 .2 w h ile
While loop j uga dik enal dengan ist ilah indet erm inat e loop, art inya j um lah loopingny a t idak
dit ent ukan pada awal looping. while loop lebih sederhana daripada for loop, karena cum a
m em iliki dua bagian: St op Condit ion dan Loop Body
St op condit ion diperik sa sebelum t iap it erasi dilak sanak an. Selam a st op condit ion bernilai
t rue, perint ah dalam loop body ak an dilakukan berulang- ulang.

Halaman32

Pemrograman Web /Struktur Kontrol

Brawijaya University

2012

I t erasi akan dihent ik an apabila st op condit ion bernilai false. Sam a sepert i pada for loop, loop
body dilaksanak an sat u kali set iapit erasi. Loop di at as akan berj alan t erus t anpa hent i, karena
t idak ada perint ah y ang m engubah nilai st op condit ion. do- while loop m erupak an m odifik asi
dari while loop. Bent uknya dapat dilihat pada sam pel kode berikut :
do{
// some statement
}
while (a == true)

Cont oh Pe ngguna a n For
//contoh6.php


Program di at as m erupak an bent uk - bent uk perulangan dengan m enggunakan for. Cont oh
yang pert am a ( baris 4- 6) m erupak an bent uk yang paling um um . Pada cont oh 2, bat as ak hir
perulangan t idak disebut k an dalam for, t api diat ur dengan if dan break ( baris 11- 13) .
Cont oh Penggunaan While


Program di at as m erupak an beberapa variasi perulangan dengan while. Cont oh yang pert am a
( baris 3- 6) m erupak an bent uk y ang paling um um dipakai. Blok perint ah ( baris 5) ak an
dij alank an selam a pem erik saan kondisi pada baris ke- 4 bernilai TRUE. Cont oh k edua
m erupakan bent uk lain dari while, bent uk ini j arang digunakan. Pada cont oh k et iga,
penggunaan perulangan unt uk m enam pilkan t ulisan dengan form at < H1> sam pai < H6>
Cont oh penggunaan do while


Program di at as akan m enam pilkan bilangan ganj il ant ara 1 sam pai 20 m enggunakan st rukt ur
perulangan do..while. Pada st ruk t ur perulangan do...while, pem eriksaan kondisi berada di
bawah.

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 ikan suat u loop. Unt uk lebih j elasnya,
perhat ikan kode berik ut :


Halaman34

Pemrograman Web /Struktur Kontrol

Brawijaya University

2012

kode t ersebut ak an m elak uk an break pada saat i bernilai 2, sehingga akan 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 elewat i sat u it erasi/ put aran dalam rangkaian loop. Unt uk lebih
j elasny a, k ode di at as akan kit a m odifik asi.


kode t ersebut ak an m elak uk an break pada saat i bernilai 2, sehingga akan 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 ahkan k ode unt uk keluar dari fungsi. Fungsi ak an
kit a pelaj ari dengan lebih m endalam pada bagian selanj ut nya. Unt uk sem ent ara, fungsi cum a
akan digunakan unt uk m enj elask an ret urn. Perhat ikan kode di bawah :

Halaman35

Pemrograman Web /Struktur Kontrol

Brawijaya University

2012

out put ny a adalah :
Nilai i : 0
Nilai i : 0
Funct ion Selesai
Perhat ikan bahwa Loop Selesai t idak dij alankan. I ni m enunj ukkan bahwa set elah ret urn
dieksekusi, program langsung k eluar dari funct ion dan m engeksekusi perint ah set elah
funct ion, yait u
echo(“Function Selesai”);

5 .4 e x it
exit digunakan unt uk m enghent ik an k eseluruhan script php. Unt uk lebih j elasnya, k it a ak an
m odifikasi kode di at as m enj adi sepert i berikut :


out put ny a adalah :
Nilai i : 0
Nilai i : 0
Funct ion Selesai
Perhat ik an bahwa baris
echo("Function selesai");

Tidak dij alank an.

Halaman36

Pemrograman Web / Struktur Kontrol

Brawijaya University

2012

REFEREN SI
Mercer, Dave. 2004. Beginning PHP 5. Wr ox Press. I ndianapolis, I ndiana.
Solichin, Achm ad.S.Kom . Pem rogram an Web dengan PHP dan MYSQL. 2011

PROPAGASI
A. La t iha n da n D isk usi ( Pr opa ga si Ve r t ik a l da n H or izont al)
1.

Sebut kan dan Jelask an 3 St ruk t ur cont rol yang dim iliki PHP

2.

Apa fungsi dari perint ah ret urn

B.

Tuga s ( Eva lua si m a ndir i)

1.Buat lah program unt uk m enam pilk an bilangan fibonaci
2.Buat lah program unt uk m enghit ung fakt orial

Halaman37