Tutorial PHP #6: Percabangan: if, else, elseif, switch
1. Apa itu Percabangan?
Percabangan digunakan untuk mengeksekusi kode tertentu berdasarkan kondisi yang diberikan. PHP menyediakan beberapa struktur percabangan: if, else, elseif, switch, dan ternary operator.
2. if
Eksekusi blok kode hanya jika kondisi bernilai true.
<?php
$umur = 20;
if ($umur >= 17) {
echo "Sudah dewasa, boleh membuat SIM";
}
// Jika hanya satu baris, kurung kurawal boleh dihilangkan
// tapi tidak disarankan untuk readability
if ($umur >= 17)
echo "Dewasa";
?>
3. if...else
Tambahkan else untuk menangani kondisi yang tidak terpenuhi.
<?php
$nilai = 70;
if ($nilai >= 75) {
echo "Selamat, kamu Lulus!";
} else {
echo "Maaf, kamu Tidak Lulus. Tetap semangat!";
}
?>
4. elseif
Untuk mengecek lebih dari dua kondisi secara berurutan.
<?php
$nilai = 85;
if ($nilai >= 90) {
echo "Grade A - Sangat Baik";
} elseif ($nilai >= 80) {
echo "Grade B - Baik";
} elseif ($nilai >= 70) {
echo "Grade C - Cukup";
} elseif ($nilai >= 60) {
echo "Grade D - Kurang";
} else {
echo "Grade E - Sangat Kurang";
}
?>
Tips: Urutan kondisi dalam elseif penting! PHP mengecek dari atas ke bawah dan berhenti saat menemukan kondisi pertama yang true.
5. switch
Switch lebih cocok daripada elseif jika kamu mengecek satu variabel dengan banyak kemungkinan nilai.
<?php
$hari = "Senin";
switch ($hari) {
case "Senin":
case "Selasa":
case "Rabu":
case "Kamis":
case "Jumat":
echo "Hari kerja";
break;
case "Sabtu":
case "Minggu":
echo "Akhir pekan";
break;
default:
echo "Hari tidak dikenal";
}
?>
Penting: Jangan lupa break di akhir setiap case. Tanpa break, PHP akan terus mengeksekusi case berikutnya (disebut "fall-through").
6. match Expression (PHP 8+)
PHP 8 memperkenalkan match sebagai alternatif switch yang lebih modern dan ketat.
<?php
$status = 2;
$label = match($status) {
1 => "Aktif",
2 => "Nonaktif",
3 => "Ditangguhkan",
default => "Tidak dikenal",
};
echo $label; // Output: Nonaktif
?>
Keunggulan match dibanding switch: menggunakan strict comparison (===), tidak perlu break, dan bisa langsung diassign ke variabel.
7. Percabangan di Dalam HTML
Sering dipakai untuk menampilkan konten HTML secara kondisional:
<?php $sudah_login = true; ?>
<?php if ($sudah_login): ?>
<p>Selamat datang kembali!</p>
<a href="logout.php">Logout</a>
<?php else: ?>
<p>Silakan login terlebih dahulu.</p>
<a href="login.php">Login</a>
<?php endif; ?>
8. Ringkasan
if/elseif/elseuntuk percabangan dengan kondisi fleksibelswitchuntuk mengecek satu variabel dengan banyak kemungkinan nilaimatch(PHP 8+) adalah versi modern switch yang lebih aman- Gunakan sintaks alternatif
if(): ... endif;saat mencampur PHP dengan HTML
Tutorial berikutnya membahas perulangan di PHP.
.jpg)
