Pemrograman Web Lanjut
2017
Praktikum 3
Struktur Kendali
Struktur kendali atau statement merupakan elemen yang penting dalam bahasa
pemrograman. Dengan adanya kendali alur, eksekusi dari sebuah program dapat terkontrol.
Struktur kendali mempunyai rangkaian perintah yang harus ditulis untuk memenuhi keadaan
antara lain:
a. Mengulang suatu perintah jika kondisi terpenuhi;
b. Melanjutkan sebuah pernyataan bila kondisi terpenuhi;
c. Memilih sebuah pilihan dari beberapa alternatif jika kondisi terpenuhi.
Struktur kendali dapat dibagi menjadi dua jenis, yaitu struktur kendali percabangan
atau pengambilan keputusan dan struktur kendali perulangan(looping) yang akan dibahas
pada pertemuan berikutnya.
3.1. Kendali Percabangan
Kendali percabangan berfungsi untuk melakukan pemilihan terhadap pernyataan yang
akan dieksekusi berdasarkan kondisi tertentu yang telah didefinisikan.
1.1.1 Perintah If
Perintah if digunakan untuk menjalankan satu atau lebih dari satu perintah
berdasarkan sebuah kondisi. Perintah if memiliki bentuk umum penulisan sebagai berikut.
Bentuk if seperti di atas hanya memiliki satu kondisi. Ini berarti jika kondisi tersebut
tidak terpenuhi (false), maka pernyataan di dalam blok tidak akan dilaksanakan dan eksekusi
program akan dilanjutkan ke perintah yang ada di bawah blok percabangan.
latihan1.php
If(kondisi){
pernyataan yang dijalankan ketika kondisi benar }
<!DOCTYPE html> <html>
<head>
<title>Latihan Perintah If</title> </head>
<body> <?php
$angka = 10; if ($angka <20) {
echo "Anda telat $angka, anda boleh presensi"; }
?> </body> </html>
Pemrograman Web Lanjut
2017
Pada latihan1.php, nilai variabel
$angkakurang dari kondisi yang diberikan, sehingga
nilai akan bernilai true dan perintah
echo "Anda telat $angka, anda boleh presensi"akan dijalankan. Sebaliknya, jika kondisi bernilai false maka perintah akan
diabaikan.
3.1.2. PerintahIf .. else ...
Perintahif..else.. digunakan untuk memilih salah satu pernyataan berdasarkan kondisi
yang diberikan. Perintah ini akan menjalankan kondisi pertama jika bernilai benar(true), dan
akan menjalankan kondisi yang lain ketika bernilai salah(false). Sintaks penulisan perintah
if..else.. adalah sebagai berikut.
latihan2.php
Variabel
$angkapada latihan2.php melebihi kondisi pertama yang diberikan
sehingga akan bernilai false dan menjalankan kondisi yang lain.
latihan3.php
Next code...
<!DOCTYPE html> <html>
<head>
<title>Latihan Perintah If</title> </head>
<body>
<h2>Latihan if..else.. dengan Inputan</h2> <form action="latihan3.php" method="post">
if(kondisi){
pernyataan yang dijalankan ketika kondisi benar }
else {
pernyataan yang dijalankan ketika kondisi salah }
<!DOCTYPE html> <html>
<head>
<title>Latihan Perintah If Else</title> </head>
<body> <?php
$angka = 30; if ($angka <20) {
echo "Anda telat $angka menit, anda boleh presensi"; } else {
echo "Anda telat $angka menit, anda tidak boleh presensi"; }
?> </body> </html>
Pemrograman Web Lanjut
2017
3.1.3. Perintah if.. elseif...
Perintahif.. elseif.. digunakan ketika menjalankan pernyataan yang memiliki banyak
kondisi. Penulisan sintaks adalah sebagai berikut.
Pernyataan_1
akan dijalankan jika
kondisi_1bernilai benar(true). Jika tidak,
perintah akan dilanjutkan ke blok selanjutnya dengan memeriksa
kondisi_2. Jika
kondisi_2
bernilai benar, maka
pernyataan_2akan dijalankan, dan seterusnya. Jika semua
kondisi tidak terpenuhi, maka yang akan dieksekusi oleh program adalah pernyataan pada
bagian else yaitu
pernyataan_5.
latihan4.php
Next code...
If(kondisi_1){ pernyataan_1 }elseif (kondisi_2) { pernyataan_2 }elseif (kondisi_3){ pernyataan_3 }elseif (kondisi_4){ pernyataan_4 }else{ pernyataan_5 }Masukkan bilangan bulat (1-100): <input type="text" name="angka">
<input type="submit" value="Kirim" name="kirim"> </form> <?php if(isset($_POST['kirim'])) { $angka = $_POST['angka']; if($angka <= 20) {
echo "Anda telat $angka menit, <b>anda boleh presensi</b>";
} else {
echo "Anda telat $angka menit, <b>anda tidak boleh presensi</b>"; } } ?> </body> </html> <html> <head> <title>Latihan If elseif</title> </head> <body> <h3>Latihan If..elseif..</h3>
Pemrograman Web Lanjut
2017
<form action="latihan4.php" method="post">Pilih bulan:
<select name="bulan" size="1">
<option value="0">--Pilih Bulan--</option> <option value="1">Januari</option> <option value="2">Februari</option> <option value="3">Maret</option> <option value="4">April</option> <option value="5">Mei</option> <option value="6">Juni</option> <option value="7">Juli</option> <option value="8">Agustus</option> <option value="9">September</option> <option value="10">Oktober</option> <option value="11">November</option> <option value="12">Desember</option> </select>
<input type="submit" name="kirim" value="kirim"> </form> <?php if (isset($_POST["kirim"])) { $bulan = $_POST["bulan"]; if ($bulan == 1) { $hari = 31; } elseif ($bulan == 2) {
$hari = 28; //untuk tahun bukan kabisat } elseif ($bulan == 3) { $hari = 31; } elseif ($bulan == 4) { $hari = 30; } elseif ($bulan == 5) { $hari = 31; } elseif ($bulan == 6) { $hari = 30; } elseif ($bulan == 7) { $hari = 31; } elseif ($bulan == 8) { $hari = 31; } elseif ($bulan == 9) { $hari = 30; } elseif ($bulan == 10) { $hari = 31; } elseif ($bulan == 11) { $hari = 30; } elseif ($bulan == 12) { $hari = 31; } else {
echo "Bulan belum dipilih"; exit();
}
Pemrograman Web Lanjut
2017
Pada contoh latihan4.php di atas, percabangan dengan perintah if..elseif.. melibatkan banyak
kondisi sehingga baris program menjadi panjang. Untuk menyederhanakan baris program di
atas dapat menggunakan perintah switch.
3.1.4. Perintah switch
Perintah switch juga merupakan perintah kendali percabangan. Biasanya digunakan
untuk menggantikan struktur if yang memiliki banyak kondisi. Sintaks penulisannya adalah
sebagai berikut.
Jika nilai
kondisisama dengan
konstanta_1, maka
pernyataan_1akan dieksekusi
dan program akan langsung keluar dari blok percabangan. Jika tidak, program akan
memeriksa
konstanta_2apakah sama dengan
konstanta_2atau tidak. Jika sama,
pernyataan_2
akan dieksekusi, dan seterusnya. Dan jika semua konstanta tidak ada yang
sama dengan kondisi, maka program akan mengeksekusi
pernyataan_3yang merupakan
pernyataan default.
latihan5.php
Next code...
switch(kondisi){
case konstanta_1: pernyataan_1; break;
case konstanta_2: pernyataan_2; break; .... default: pernyataan_3; } <html> <head> <title>Latihan Switch</title> </head> <body> <h3>Latihan Switch</h3>
<form action="latihan5.php" method="post"> Pilih bulan:
<select name="bulan" size="1">
<option value="0">--Pilih Bulan--</option> <option value="1">Januari</option> <option value="2">Februari</option> <option value="3">Maret</option> <option value="4">April</option> <option value="5">Mei</option> <option value="6">Juni</option> <option value="7">Juli</option> <option value="8">Agustus</option> ?> </body> </html>
Pemrograman Web Lanjut
2017
3.2. Tugas
1. Buat sebuah kendali percabangan seperti pada contoh latihan 4 atau 5 yang akan
menampilkan hasil seperti berikut.
<option value="9">September</option> <option value="10">Oktober</option> <option value="11">November</option> <option value="12">Desember</option> </select>
<input type="submit" name="kirim" value="kirim"> </form>
<?php
if (isset($_POST["kirim"])) { $bulan = $_POST["bulan"]; switch ($bulan) {
case '1': $hari = 31; break;
case '2': $hari = 28; break; //tahun bukan kabisat case '3': $hari = 31; break;
case '4': $hari = 30; break; case '5': $hari = 31; break; case '6': $hari = 30; break; case '7': $hari = 31; break; case '8': $hari = 31; break; case '9': $hari = 30; break; case '10': $hari = 31; break; case '11': $hari = 30; break; case '12': $hari = 31; break; default:
echo "<br>Bulan belum dipilih"; exit();
}
echo "<br>Jumlah hari pada bulan ke-$bulan adalah $hari"; }
?> </body> </html>