Control Flow dalam PHP (if – else, if - elseif - else, switch – case, for, while, break, continue, return, exit)
28‘11
Octob
1
2
3
4
| function testFlow(){ int a = 10; echo (a); } |
- Percabangan (branching)
- Perulangan (looping)
- Perpindahan (jumping)
Percabangan
Percabangan, atau sering disebut juga dengan istilah decision-making, memungkinkan aplikasi untuk memeriksa isi suatu variabel atau hasil perhitungan ekspresi dan mengambil tindakan yang sesuai. Ada dua jenis percabangan, dipilih berdasarkan kriteria pemeriksaan dan jumlah pilihan yang tersedia.if – else
Konstruksi if-else dapat dijelaskan sebagai berikut :
1
2
3
4
5
6
| if (condition){ // statement 1 goes here } else { // statemant 2 goes here } // statement 3 goes here |
- Condition akan diperiksa
- Bila bernilai true, statement 1 akan dijalankan
- Bila bernilai false, statement 2 akan dijalankan
- Statement 3 dijalankan
if - elseif - else
Untuk pilihan yang lebih dari dua, PHP menyediakan konstruksi if-elseifelse.
1
2
3
4
5
6
7
8
| if (condition1){ // statement 1 } elseif (condition2){ // statement 2 } else { // statement 3 } // statement 4 |
Apabila condition 1 bernilai true
- Statement 1 dijalankan
- Statement 4 dijalankan
- Statement 2 dijalankan
- Statement 4 dijalankan
- Statement 3 dijalankan
- Statement 4 dijalankan
condition.php berisi listing kode sebagai berikut :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| <? $kelabu = "#303030" ; $putih = "#FFFFFF" ; if ( $kelamin1 == "Pria" ){ $background1 = $kelabu ; } else { $background1 = $putih ; } if ( $kelamin2 == "Pria" ){ $background2 = $kelabu ; } else { $background2 = $putih ; } if ( $kelamin3 == "Pria" ){ $background3 = $kelabu ; } else { $background3 = $putih ; } if ( $kelamin4 == "Pria" ){ $background4 = $kelabu ; } else { $background4 = $putih ; } $output = " <table border=1> <tr> <td background= $background1 > $nama1 </td> </tr> <tr> <td background= $background2 > $nama2 </td> </tr> <tr> <td background= $background3 > $nama3 </td> </tr> <tr> <td background= $background4 > $nama4 </td> </tr> </table> "; echo ( $output ); ?> |
switch – case
konstruksi untuk modul switch-case dapat dilihat pada kode sebagai berikut :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| switch (a){ case 1; // statement 1 goes here break ; case 2; // statement 2 goes here break ; case 3; // statement 3 goes here break ; default ; // statement 4 goes here break ; } // statement 5 goes here |
- Variabel a diperiksa
- Statement dieksekusi
- Apabila a == 1, statement 1 dijalankan
- Apabila a == 2, statement 2 dijalankan
- Apabila a == 3, statement 3 dijalankan
- Apabila a tidak memenuhi 2a - 2c, statement 4 dijalankan
- Statement 5 dijalankan
1
2
3
4
5
6
7
8
9
10
11
12
13
| 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 ; } |
- variabel a diperiksa
- Selanjutanya PHP akan mengeksekusi case 1 dan 2, karena pada case 1 break di hilangkan
- Apabila a == 1, statement 1 dijalankan, kemudian menjalankan statement 2.
- Apabila a == 2, statement 2 dijalankan
- Apabila a == 3, statement 3 dijalankan
- Apabila a tidak memenuhi 2a - 2c, statement 4 dijalankan
- Statement 5 dijalankan
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| <? switch ( $bulan ){ case 1 : case 3 : case 5 : case 7 : case 8 : case 10 : case 12 : $hari = 31; break ; case 4 : case 6 : case 8 : case 11 : $hari = 30; break ; case 2 : if (( $tahun %4) == 0){ $hari = 29; } else { $hari = 28; } } echo ( "<h2> Jumlah hari pada bulan $bulan tahun $tahun = $hari hari</h2>" ); ?> |
Perulangan
for
Looping dengan for disebut juga determinate loop, artinya looping yang jumlah pengulangannya (iterasi) telah ditentukan di awal looping. Ada beberapa bagian penting dari for loop:- Initialization expression
Initialization Expression dijalankan satu kali, pada saat looping dimulai. Biasanya bagian ini digunakan untuk menginisialisasi counter(penghitung). - Stop condition
Stop condition diperiksa nilainya sebelum setiap iterasi dieksekusi. Apabila condition bernilai false, iterasi dihentikan. - Iterative expression
Iterative expression dilakukan setelah iterasi dieksekusi. Bagian ini biasanya digunakan untuk menambah nilai counter. - Loop body
Loop body dieksekusi sekali setiap iterasi, merupakan perintah yang ingin kita lakukan berulang-ulang.
pada condition.php buat script berikut
1
2
3
4
5
6
7
8
9
| <? $sum = 0; for ( $i =0; $i < strlen ( $words ); $i ++){ if ( substr ( $words , $i , 1) == $word ){ $sum ++; } } echo $sum ; ?> |
while
while loop juga dikenal dengan istilah indeterminate loop, artinya jumlah loopingnya tidak ditentukan pada awal looping. while loop lebih sederhana daripada for loop, karena cuma memiliki dua bagian:- Stop Condition
Stop condition diperiksa sebelum tiap iterasi dilaksanakan. Selama stop condition bernilai true, perintah dalam loop body akan dilakukan berulang-ulang. Iterasi akan dihentikan apabila stop condition bernilai false. - Loop body
Sama seperti pada for loop, loop body dilaksanakan satu kali setiap iterasi. Loop di atas akan berjalan terus tanpa henti, karena tidak ada perintah yang mengubah nilai stop condition.
1
2
3
4
| do { // some statement } while (a == true) |
1
2
3
4
5
6
7
8
9
10
11
| <? $sum = 0; $i = 0; while ( $i < strlen ( $word )){ if ( substr ( $word , $i , 1) == $words ){ $sum ++; $i ++; } } echo $sum ; ?> |
Perpindahan
break
Break digunakan dalam looping untuk menghentikan suatu loop. Untuk lebih jelasnya, perhatikan kode berikut :
1
2
3
4
5
6
7
8
9
10
| <? // melakukan break pada $i == 2 for ( $i = 0; $1 <5; $i ++){ if ( $i == 2){ break ; } echo ( "Nilai i : $i <br>" ); } echo ( "Loop Selesai" ); ?> |
1
2
3
| Nilai i : 0 Nilai i : 1 Loop Selesai |
continue
continue berfungsi untuk melewati satu iterasi/putaran dalam rangkaian loop. Untuk lebih jelasnya, kode di atas akan kita modifikasi.
1
2
3
4
5
6
7
8
9
10
| <? // melakukan continue pada $i == 2 for ( $i = 0; $1 <5; $i ++){ if ( $i == 2){ continue ; } echo ( "Nilai i : $i <br>" ); } echo ( "Loop Selesai" ); ?> |
1
2
3
4
5
| Nilai i : 0 Nilai i : 1 Nilai i : 3 Nilai i : 4 Loop Selesai |
return
perintah return berfungsi untuk memerintahkan kode untuk keluar dari fungsi. Fungsi akan kita pelajari dengan lebih mendalam pada bagian selanjutnya. Untuk sementara, fungsi cuma akan digunakan untuk menjelaskan return. Perhatikan kode di bawah :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <? 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(); echo ( "Function selesai" ); ?> |
1
2
3
| Nilai i : 0 Nilai i : 0 Function Selesai |
1
| echo ( "Function Selesai" ); |
exit
exit digunakan untuk menghentikan keseluruhan script php. Untuk lebih jelasnya, kita akan modifikasi kode di atas menjadi seperti berikut :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <? 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" ); ?> |
1
2
3
| Nilai i : 0 Nilai i : 0 Function Selesai |
Untuk melihat contoh penggunaan break, continue, return, dan exit; tambahkan tampilan pada control_flow.html menjadi seperti gambar di bawah.
Tambahkan baris kode berikut pada condition.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| <? /* variabel yang dibutuhkan $mark -> tempat dilakukan perpindahan $perintah -> perintah pindah : continue, break, return, exit */ function execute( $tanda , $perintah ){ for ( $i =0; $i <11; $i ++){ if ( $i == $tanda ){ if ( $perintah == "continue" ){ continue ; } elseif ( $perintah == "break" ){ break ; } elseif ( $perintah == "return" ){ return ; } elseif ( $perintah == "exit" ){ exit ; } } echo ( $i . "<br>" ); } echo ( "Looping Selesai<br>" ); } execute( $tanda , $perintah ); echo ( "Function execute selesai<br>" ); ?> |
Tidak ada komentar:
Posting Komentar