MODUL 5
STRUKTUR KONTROL PROGRAM
5.1 Struktur Berurutan
Struktur ini merupakan struktur yang paling sederhana. Program akan dijalankan secara urut dari awal program ke akhir program .
Contoh :
echo "Statemen 1";
echo "Statemen 2";
echo "Statemen 3";
?>
Disini dikenal istilah blok program , yaitu sebuah potongan program yang diapit oleh tanda { }.
Contoh :
If(true) { // awal blok
kata = "test";
echo "Ini tercetak\n";
echo "Jika kondisi bernilai true";
} // akhir blok
Catatan
Variable yang dideklarasikan pada suatu blok bersifat lokal di dalam blok tersebut. Blok biasanya digunakan untuk menyatakan bagian pada struktur kontrol lainnya.
5.2 Struktur Seleksi
Struktur ini digunakan untuk mengatur aliran program berdasarkan kondisi tertentu yang ditetapkan. Struktur ini terdiri dari struktur if … else dan switch. Struktur if … else digunakan untuk masalah percabangan proses.
Sintak :
If(syarat/kondisi){
Operasi yang dijalankan;
} else {
Operasi yang dijalankan;
}
Nilai dari syarat / kondisi adalah true atau false. True jika syarat terpenuhi dan false jika syarat tidak terpenuhi.
Contoh :
$nilai = 60;
if($nilai >= 50)
echo "Anda Lulus";
else
echo "Anda tidak lulus";
?>
Karena $nilai >= 50 maka kalimat "Anda Lulus" yang akan dicetak.
Untuk seleksi dengan alternatif banyak digunakan struktur switch.
Sintak :
switch(variable) {
case nilai 1 : perintah yang dijalankan ; break;
case nilai 2 : perintah yang dijalankan ; break;
...
default : perintah yang dijalankan ; break;
}
Contoh :
$bulan = 2;
Switch ($bulan) {
Case 1 : echo "Januari"; break;
Case 2 : echo "Februari"; break;
Case 3 : echo "Maret"; break;
Case 4 : echo "April"; break;
Case 5 : echo "Mei"; break;
Case 6 : echo "Juni"; break;
Case 7 : echo "Juli"; break;
Case 8 : echo "Agustus"; break;
Case 9 : echo "September"; break;
Case 10 : echo "Oktober"; break;
Case 11 : echo "November"; break;
Case 12 : echo "Desember"; break;
}
?>
Output :
Februari
Selain switch dapat juga digunakan struktur if … elseif … else :
Sintak :
If ($syarat 1) {
proses 1
}
elseif ($syarat 2) {
proses 2
}
else {
proses 3
}
Contoh :
$hari = 3;
if($hari == 1) echo "Senin";
elseif($hari == 2) echo "Selasa";
elseif($hari == 3) echo "Rabu";
elseif($hari == 4) echo "Kamis";
elseif($hari == 5) echo "Jumat";
elseif($hari == 6) echo "Sabtu";
elseif($hari == 7) echo "Minggu";
else echo "Salah kode hari";
Output :
5.3 Struktur Pengulangan
Perulangan adalah sebuah proses eksekusi operasi program secara berulang-ulang sampai ditemui kondisi untuk mengakhiri eksekusi tersebut.
5.3.1 While loop
Bentuk while loop sebenarnya mengambil bentuk aliran logika seperti yang ditunjukkan oleh Gambar 5.1. Ada bagian operasi program yang akan diulang selama kondisi yang diuji masih bernilai true. Tentu saja agar tidak terjadi invinite loop, maka kondisi yang diuji harus berubah paa setiap iterasi.
Sintak :
while(syarat) {
operasi program ;
}
Operasi program akan dieksekusi terus-menerus selama syarat bernilai true. Bagian blok while mungkin dapat tidak dieksekusi jika pada awal looping syarat telah bernilai false.
Contoh :
$a = 0 ;
while($a < 5){
echo $a ;
$a++ ;
}
Output :
01234
5.3.2 Do - While loop
Bentuk do-while loop sebenarnya juga mengambil bentuk aliran logika seperti yang ditunjukkan oleh Gambar 5.2. Ada bagian operasi program yang akan diulang selama kondisi yang diuji masih bernilai true. Tentu saja agar tidak terjadi invinite loop, maka kondisi yang diuji juga harus berubah paa setiap iterasi.
Sintak :
do {
proses program ;
}while($syarat);
Proses program minimal dijalankan sekali karena pengujjian syarat dilakukan diakhir struktur. Blok do-while akan dieksekusi lagi jika syarat bernilai true;
Contoh :
$a = 0;
do {
echo $a;
$a++;
} while ($a < 5);
Output :
01234
5.3.3 For loop
Bentuk for loop sebenarnya juga mengambil bentuk aliran logika seperti yang ditunjukkan oleh Gambar 5.1. Ada bagian operasi program yang akan diulang selama kondisi yang diuji masih bernilai true. Tentu saja agar tidak terjadi invinite loop, maka kondisi yang diuji juga harus berubah paa setiap iterasi. Inisialisai kondisi diberikan pada parameter pertama sintaks for (lihat sintaks for). Pengujian dilakukan pada parameter kedua sintaks for. Perubahan kondisi dilakukan pada parameter ketiga sintaks for.
Sintak :
for( nilai awal loop, syarat , penambahan ) {
operasi program ;
}
Contoh :
for ( $a = 0 ; $a < 5 ; $a++ ) {
echo $a ;
}
Output :
01234
Catatan Untuk menghentikan perulangan dari suatu loop digunakan kata kunci break. Break diikuti dengan numeric argumen menunjukkan berapa tingkatan loop yang dihentikan perulangannya.
Contoh :
$i = 0 ;
while(true) {
switch($i) {
case 0 : echo "Break pertama"; break 1 ;
case 1 : echo "Break kedua"; break 2 ;
default : break ;
}
$i++ ;
}
?>
5.4 Menghentikan Sebuah Loop
Ada kala kita ingin menghentikan atau keluar dari loop secara tiba-tiba. Meskipun tidak dianjurkan, PHP menyediakan perintah untuk hal ini, yakni perintah break dan exit. Perhatikan contoh di bawah ini.
Contoh Menghentikan sebuah Loop untuk menghindari Loop:
$counter = -3;
for (; $counter < 10; $counter++){
// Check for division by zero
if ($counter == 0){
echo "Stopping to avoid zero.";
break;
}
echo "100/$counter
";
}
?>
Script di atas menghasilkan:
100/-3
100/-2
100/-1
Stopping to avoid division by zero.
Dia akan loop sampai fungsi if dan karena ada script break, maka proses akan berhenti.
5.5 Statement continue
Penghentian loop dapat dilanjutkan dengan statement continue. Perhatikan contoh berikut:
$counter =- 3;
for (; $counter < 10; $counter++){
// Check for division by zero
if ($counter == 0){
echo "Skipping to avoid zero.
";
continue;
}
echo "100/$counter
";
}
?>
Script di atas akan menghasilkan:
100/-3
100/-2
100/-1
Skipping to avoid zero.
100/1
100/2
100/3
100/4
100/5
100/6
100/7
100/8
100/9
Dia akan loop sampai fungsi if dan karena ada script continue, maka proses akan berhenti mengganti angka 0 menjadi
Skipping to avoid zero
lalu looping akan di lanjutkan kembali
Selasa, 23 Juni 2009
Langganan:
Posting Komentar (Atom)

0 komentar:
Posting Komentar
Silahkan Tinggalkan Komentar Anda