Learn
← Previous Next →

Hari 5: If/Else & Switch

55 min Last updated 09 Apr 2026

If / Elseif / Else

$nilai = 78;

if ($nilai >= 90) {
    echo "A — Istimewa";
} elseif ($nilai >= 80) {
    echo "B — Baik";
} elseif ($nilai >= 70) {
    echo "C — Cukup";
} elseif ($nilai >= 60) {
    echo "D — Kurang";
} else {
    echo "E — Gagal";
}

Operator Ternary & Null Coalescing

// Ternary: kondisi ? jika_true : jika_false
$status = ($nilai >= 60) ? "Lulus" : "Tidak Lulus";
echo $status; // Lulus

// Null coalescing (??) — PHP 7+
$username = $_GET["user"] ?? "Tamu";
echo $username; // "Tamu" jika $_GET["user"] tidak ada

Switch

$hari = "Senin";

switch ($hari) {
    case "Senin":
    case "Selasa":
        echo "Awal minggu"; break;
    case "Rabu":
        echo "Tengah minggu"; break;
    case "Sabtu":
    case "Minggu":
        echo "Weekend!"; break;
    default:
        echo "Hari lainnya";
}
// Output: Awal minggu

Match Expression (PHP 8+)

$grade = match(true) {
    $nilai >= 90 => "A",
    $nilai >= 80 => "B",
    $nilai >= 70 => "C",
    default      => "D",
};
echo $grade; // C

💡 Notice: Gunakan elseif (bukan else if) di PHP. Ternary: kondisi ? true : false.

Assignment

Buat sistem grade: $nilai = 82. Jika >= 90 cetak "A", >= 80 cetak "B", >= 70 cetak "C", >= 60 cetak "D", sisanya cetak "E". Juga cetak "Lulus" jika nilai >= 60, "Tidak Lulus" jika tidak (baris baru).

Expected output:

B
Lulus
PHP index.php
Solution
Output