Anda di halaman 1dari 19

SELEKSI DAN PERULANGAN

Sebuah program akan dijalankan berurutan dari baris pertama hingga terakhir. Dalam
penerapannya dimungkinkan ada baris yang tidak dikerjakan karena suatu kondisi
atau ada baris program yang dikerjakan berkali-kali sesuai dengan alur programnya.
Untuk itu dibutuhkan statement kontrol.

10.1. if()

if merupakan salah satu bentuk fitur yang sangat penting dalam banyak bahasa
pemrograman, termasuk PHP. Dengan if dimungkinkan untuk mengeksekusi
statement maupun kumpulan statement yang memenuhi sebuah kondisi. PHP
memiliki struktur if yang mirip dengan Bahasa C.

Bentuk struktur if
if (expr)
statement

expr atau expression dievaluasi dengan nilai Boolean. Jika expression bernilai TRUE
(benar) maka PHP akan mengeksekusi statement tersebut dan kebalikannya jika
bernilai FALSE (salah) maka PHP akan mengabaikannya.

Contoh pada Gambar 10.1 akan menampilkan x lebih besar dari y jika variabel $x
lebih besar dari variabel $y

Gambar 10.1 Statement if


Jika dijalankan akan menghasilkan tampilan seperti pada Gambar 10.2 yang
memberikan peringatan bahwa variabel x dan y belum didefinisikan.

Gambar 10.2 Tampilan if

Untuk itu program diubah dengan mendefinisikan variabel x dan y seperti pada
Gambar 10.3

Gambar 10.3 if dengan x dan y yang didefinisikan

Hasil dari program tersebut dapat dilihat pada Gambar 10.4

Gambar 10.4 Tampilan hasil if dengan x dan y yang didefinisikan


Seringkali statement yang dikerjakan setelah kondisi terpenuhi lebih dari satu, oleh
karena itu statement-statement tersebut dikelompokkan menjadi satu dengan
menggunakan tanda kurung kurawal buka ({) dan tutup (}) seperti pada Gambar
10.5

Gambar 10.5 if dengan statement lebih dari satu

else

Seringkali kita ingin mengeksekusi statement jika kondisi tertentu terpenuhi, dan
statement yang berbeda jika kondisi tidak terpenuhi, untuk itu dibutuhkan else.
Modifikasi script dengan menggunakan else seperti pada Gambar 10.6

Gambar 10.6 statement else

Akan menghasilkan tampilan seperti pada Gambar 10.5 jika nilai x lebih besar dari
y dan tampilan seperti Gambar 10.7 jika kondisi sebaliknya.
Gambar 10.7 statement dalam else dikerjakan

elseif / else if

merupakan kombinasi dari if dan else, dapat dilihat pada Gambar 10.8

Gambar 10.8 statement elseif

jika x lebih besar dari y maka tampilan akan seperti pada Gambar 10.4 sedangkan
jika nilai x sama dengan nilai y maka hasilnya akan seperti Gambar 10.9 dan jika
nilai x lebih kecil dari y maka tampilan akan seperti Gambar 10.10

Gambar 10.9 tampilan ketika nilai x sama dengan nilai y


Gambar 10.10 tampilan jika nilai x lebih kecil dari y

nested if (if bersarang)

statement if dapat memiliki statement if di dalamnya sehingga disebut nested if


atau if bersarang seperti pada Gambar 10.11 dengan hasil tampilan seperti pada
Gambar 10.12

Gambar 10.11 nested if

Gambar 10.12 Tampilan hasil nested if


10.2. switch()

Statement switch mirip dengan serangkaian statement if dengan expression yang


sama. Pada beberapa kasus dibutuhkan untuk membandingkan variabel maupun
expression dengan banyak nilai berbeda kemudian mengeksekusi statement
berbeda untuk setiap nilainya, untuk inilah statement switch digunakan.

Bentuk statement switch


switch ($var) {
case label1:
statement1;
break;
case label2:
statement2;
break;
...
[default:]
statementdefault;
}

$var merupakan variabel yang akan dicocokkan dengan label pada setiap cabang
case, kemudian statement break digunakan untuk keluar dari statement switch
dan statement default yang bersifat opsional dan berlaku seperti else pada
statement if. Label pada case dapat berupa angka maupun text.

Jika tidak menggunakan statement break, maka statement pada label berikutnya
akan ikut dieksekusi. Seperti yang telah disebutkan sebelumnya statement switch
mirip dengan serangkaian statement if, dapat dilihat pada Gambar 10..13 dan
hasilnya akan seperti pada Gambar 10.14
Gambar 10.13 Statement if dan switch dengan kasus yang sama

Gambar 10.14 Tampilan hasil if dan switch

Contoh pada Gambar 10.15 menggunakan label berbentuk text dengan hasil
yang dapat dilihat pada Gambar 10.16
Gambar 10.15 Statement switch dengan label text

Gambar 10.16 Tampilan hasil switch dengan label text

Gambar 10.17 Statement switch tanpa break


Tampilan pada Gambar 10.17 adalah statement switch tanpa break di case 1 dan
2, sehingga jika dijalankan akan menghasilkan tampilan seperti Gambar 10.18

Gambar 10.17 Tampilan hasil switch tanpa break

Jika nilai x pada baris 2 di listing program Gambar 10.16 diubah menjadi angka 2,
maka akan menghasilkan tampilan seperti pada Gambar 10.18

Gambar 10.18 Tampilan hasil switch dengan modifikasi nilai x

Statement default digunakan seperti else pada if, statement sesudah default
akan dieksekusi ketika label pada case tidak ditemukan, seperti pada Gambar
10.19 dengan nilai x adalah 10 maka tidak ditemukan pada label yang disiapkan
pada case sehingga akan mengeksekusi statement setelah default. Statement
break bersifat opsional disini sehingga boleh tidak digunakan. Hasil dari script
tersebut dapat dilihat pada Gambar 10.20
Gambar 10.19 Statement switch dengan default

Gambar 10.20 Tampilan hasil statement switch dengan default

10.3. Perulangan for()

PHP memiliki beberapa statement untuk perulangan, salah satunya adalah for()

Bentuk statement for:


for (expr1; expr2; expr3)
statement

Untuk mencetak text sebanyak 5 kali dapat dilakukan dengan cara seperti Gambar
10.21 dengan hasil yang terlihar di Gambar 10.22

Gambar 10.21 Mencetak text sebanyak 5 kali dengan statement echo

Gambar 10.22 Tampilan hasil mencetak text

Untuk melakukan hal yang sama dapat dilakukan dengan menggunakan statement
for seperti pada Gambar 10.23, dengan tampilan hasil yang sama dengan Gambar
10.22.

Gambar 10.23 Mencetak text dengan statement for


Statement for() dapat menggunakan expression dengan lengkap seperti pada
Gambar 10.23 maupun dengan tanpa expression seperti pada Gambar 10.24.
Ketiga statement for akan menghasilkan tampilan yang sama dengan Gambar
10.22.
Ketika menggunakan 2 expression maka diperlukan statement kontrol dan break
untuk mengetahui kapan perulangan harus selesai seperti pada baris 10 – 12.
Jika menggunakan statement for() tanpa expression maka diperlukan inisialisasi
untuk expression 1 seperti pada baris 17, kemudian statement kontrol untuk
berhenti (baris 19-21) dan statement untuk increment/decrement (baris 23).

Gambar 10.24 Kombinasi statement for dengan expression


10.4. Perulangan while()

Statement berikutnya yang dapat digunakan untuk perulangan adalah statement


while() dengan bentuk:

while (expr)
statement

statement akan dikerjakan jika expression bernilai TRUE.

Untuk menghasilkan hal yang sama dengan tampilan Gambar 10.22 dapat
dilakukan dengan statement while() seperti Gambar 10.25

Gambar 10.25 Statement while untuk pencetakan

10.5. Perulangan do while()

Statement perulangan do while mirip dengan statement while, perbedaannya


adalah pengecekan nilai expression nya dilakukan diakhir. Sehingga perulangan
dengan menggunakan do while akan minimal satu kali dikerjakan.

Bentuk statement do while()


do {
statement
} while (expr)
Untuk menghasilkan keluaran seperti Gambar 10.22 dapat dilakukan dengan
menggunakan statement do while seperti pada Gambar 10.26

Gambar 10.26 Statement do while untuk pencetakan

Perbedaan dengan do while adalah ketika nilai awalnya diberikan tidak sesuai,
seperti pada Gambar 10.27 maka script akan tetap mencetak satu kali seperti
tampilan Gambar 10.28

Gambar 10.27 Statement do while dengan merubah inisialisasi awal

Gambar 10.28 Tampilan hasil statement do while


10.6. Alternatif Syntax

PHP menyediakan penulisan alternative untuk struktur kontrol yaitu: if, while, for,
foreach dan switch. Bentuk dasar dari penulisan alternative adalah dengan
mengganti tanda kurung kurawal buka ({) dengan tanda titik dua (:) dan tanda
kurung kurawal tutup (}) dengan endif;, endwhile;, endfor;, endforeach;,
endswitch;

Alternatif syntax untuk if dapat dilihat pada Gambar 10.29 dengan hasil tampilan
seperti pada Gambar 10.30

Gambar 10.29 Alternatif syntax statement if

Gambar 10.30 Tampilan hasil alternatif syntax if

Alternatif syntax untuk if else dapat dilihat pada Gambar 10.31 serta tampilan
hasil seperti pada Gambar 10.32
Gambar 10.31 Tampilan alternatif syntax if else

Gambar 10.32 Tampilan hasil alternatif syntax if else

Alternatif syntax untuk statement switch dapat dilihat pada Gambar 10.33 dengan
hasil tampilan seperti pada Gambar 10.20
Gambar 10.33 Alternatif syntax statement switch

Alternatif syntax untuk statement while dapat dilihat pada Gambar 10.34 dengan
hasil tampilan seperti pada Gambar 10.22

Gambar 10.34 Alternatif syntax statement while


Alternatif syntax untuk statement for dapat dilihat pada Gambar 10.35 dengan
hasil tampilan seperti pada Gambar 10.22

Gambar 10.35 Alternatif syntax statement for

Rangkuman
 Struktur Kontrol digunakan untuk pengontrolan dalam kode program
 PHP menyediakan struktur kontrol antara lain: if, if else, switch, for, while, do
while
 PHP memiliki penulisan alternatif untuk struktur kontrol
Latihan
1. Buat script untuk menginput Nilai Tugas, Nilai UTS, Nilai UAS kemudian Hitung
Nilai Akhir dan Konversi Grade-nya.
Nilai Tugas, Nilai UTS dan Nilai UAS rentangnya adalah 0 -100
Nilai Akhir = 30% Nilai Tugas + 30% Nilai UTS + 40% Nilai UAS
Perhitungan Grade didapat dari rentang Nilai Akhir berdasarkan tabel berikut:
Nilai Akhir Grade
85 - 100 A
80 - <85 A-
75 - <80 B+
70 - <75 B
65 - <70 B-
60 - <65 C
45 - <60 D
0 - <45 E

2. Buat script menggunakan for, while dan do while untuk menginputkan angka
kemudian mencetak seperti contoh tampilan berikut:
Input Angka: (misal diinputkan 5, maka hasilnya adalah)
1
12
123
1234
12345
3. Berdasarkan soal No.1 buat script untuk menginputkan 5 nilai mahasiswa
(Tugas, UTS, UAS) kemudian hitung Nilai Akhir dan Grade kemudian tampilkan
sbb:
Nilai Rata-Rata: …
Nilai Akhir Tertinggi: …
Nilai Akhir Terendah: …
Jumlah Mahasiswa Lulus: … (Grade A/A-/B+/B/B-/C)
Jumlah Mahasiswa Tidak Lulus: … (Grade D/E)

Anda mungkin juga menyukai