Jika kamu seorang mahasiswa Teknik Informatika, pasti tidak akan asing dengan percabangan.
Percabangan adalah sebutan untuk alur program yang bercabang.
Pada diagram alur, kita sering menggambar alur program seperti ini:
Apabila kita ingin menambahkan percabangan, kita akan membuatnya seperti ini:
Pada kesempatan ini, kita akan pelajari tentang percabangan sampai tuntas dan membuat beberapa contoh program.
Percabangan If
Bentuk yang paling sederhana dari percabganan adalah “If” saja.
Biasanya digunakan saat hanya ada satu tindakan yang harus dilakukan.
Bentuknya seperti ini:
<?php
if (<kondisi>){
// eksekusi kode ini
}
Jika kondisi benar, maka eksekusi kode yang ada di dalamnya. <kondisi>
bisa kita isi dengan nilai boolean atau kita busa buat pernyataan untuk menghasilkan nilai boolean.
Contoh:
<?php
$total_belanja = 150000;
if($total_belanja > 100000){
echo "Anda dapat hadiah!";
}
Hasilnya:
Perhatikan contoh di atas!
Teks Anda dapat hadiah!
hanya akan ditampilkan saat kondisi variabel $total_belanja
bernilai di atas 100000
. Kalau di bawah 100000
, tidak akan menampilkan apa-apa.
Kondisi yang digunakan pada contoh adalah:
$total_belanja > 100000
Kondisi atau pernyataan ini akan bernilai true
dan false
. Jika true
(benar), maka kode yang ada di dalamnya akan dieksekusi. Namun, apabila false
maka tidak akan mengeksekusinya.
Percabangan If/Else
Percabangan If/Else memiliki dua pilihan. Jika <kondisi>
bernilai false
, maka blok else akan dikerjakan.
Contoh:
<?php
$umur = 13;
if ($umur < 18 ){
echo "Kamu tidak boleh membuka situs ini!";
} else {
echo "Selamat datang di website kami!";
}
?>
Hasilnya:
Sekarang coba ubah nilai $umur
menjadi 19
:
<?php
$umur = 19;
if ($umur < 18 ){
echo "Kamu tidak boleh membuka situs ini!";
} else {
echo "Selamat datang di website kami!";
}
?>
Hasilnya:
Percabangan If/Elseif/Else
Percabangan If/Elseif/Else memiliki lebih dari dua pilihan kondisi.
Contoh:
<?php
$nilai = 88;
if ($nilai > 90) {
$grade = "A+";
} elseif($nilai > 80){
$grade = "A";
} elseif($nilai > 70){
$grade = "B+";
} elseif($nilai > 60){
$grade = "B";
} elseif($nilai > 50){
$grade = "C+";
} elseif($nilai > 40){
$grade = "C";
} elseif($nilai > 30){
$grade = "D";
} elseif($nilai > 20){
$grade = "E";
} else {
$grade = "F";
}
echo "Nilai anda: $nilai<br>";
echo "Grade: $grade";
?>
Hasilnya:
Coba ubah variabel $nilai
menjadi 54
dan perhatikanlah hasilnya!
Percabangan Switch/Case
Percabangan Switch/Case adalah bentuk lain dari percabangan If/Elseif/Else.
Format penulisannya seperti ini:
<?php
switch($variabel){
case <konidisi>:
// eksekusi kode ini
break;
case <kondisi2>:
// eksekusi kode ini
break;
default:
// eksekusi kode ini
}
?>
Contoh:
<?php
$level = 3;
switch($level){
case 1:
echo "Pelajari HTML";
break;
case 2:
echo "Pelajari CSS";
break;
case 3:
echo "Pelajari Javascript";
break;
case 4:
echo "Pelajari PHP";
break;
default:
echo "Kamu bukan programmer!";
}
?>
Ada 5 pilihan dalam kondisi di atas. Pilihan default
akan dipilih apabila nilai variabel $level
tidak ada dalam pilihan case
.
Hasilnya:
Coba ubah nilai variabel $level
dan perhatikanlah hasilnya.
Percabangan dengan Operator Ternary
Percabangan menggunakan operator ternary adalah bentuk sederhana dari percabangan If/Else.
Formatnya seperti ini:
<?php
<kondisi> ? benar : salah;
?>
Contoh:
<?php
$suka = true;
$suka ? echo "Aku juga suka kamu": echo "Baiklah!";
?>
Atau bisa juga dibuat seperti ini:
<?php
$suka = true;
echo $suka ? "Aku juga suka kamu": "Baiklah!";
?>
Artinya: jika variabel $suka
bernilai true
maka cetak "Aku juga suka kamu"
. Tapi kalau bernilai false
, maka cetak "Baiklah!"
.
Hasilnya:
Percabangan Bersarang
Percabangan bersarang artinya ada percabangan di dalam percabangan (nested).
Contoh:
<?php
$umur = 17;
$menikah = false;
if($umur > 18){
if($menikah){
echo "Selamat datang pak!";
} else {
echo "Selamat datang wahai pemuda!";
}
} else {
echo "Maaf website ini hanya untuk yang sudah berumur 18+";
}
?>
Hasilnya:
Pemahaman tentang percabangan akan sangat membantumu belajar ke tahap berikutnya. Karena dengan percabangan kita bisa membuat logika program.
Perbanyaklah latihan dengan study kasus tertentu. Terima kasih, semoga bermanfaat.