Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

PHP Dasar

Pelajaran 5 dari 15

Percabangan dan perulangan

if, match, dan switch

Setelah pelajaran ini kamu bisa menelusuri if/elseif/else, match, dan switch, termasuk perbandingan ketat match dan switch tanpa break.

±13 menitDiperiksa 5 Okt 2026

Materi

`if`, `elseif`, dan `else` memeriksa kondisi dari atas ke bawah. Begitu satu kondisi benar, bloknya dijalankan dan sisanya dilewati, walaupun kondisi di bawahnya juga benar. Karena itu urutan kondisi menentukan hasil: kondisi yang paling sempit ditulis paling atas.

`match`, tersedia sejak PHP 8, adalah ekspresi yang menghasilkan nilai. Nilai yang diperiksa dibandingkan dengan setiap lengan memakai `===`, jadi string "2" tidak cocok dengan angka 2. Hanya satu lengan yang dijalankan, tanpa perlu break. Bila tidak ada lengan yang cocok dan tidak ada `default`, PHP melempar `UnhandledMatchError`. Untuk rentang nilai, tulis `match (true)` dengan kondisi di setiap lengan; lengan pertama yang bernilai true dipakai.

<?php
$berat = 4;
$tarif = match (true) {
    $berat <= 2 => 9000,
    $berat <= 5 => 8000,
    default => 7000,
};
echo $tarif; // 8000

`switch` lebih tua dan bekerja berbeda. Perbandingannya longgar (`==`), dan setelah satu `case` cocok, PHP menjalankan semua pernyataan di bawahnya sampai bertemu `break`, termasuk isi `case` berikutnya.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 1 dari 3

Apa keluaran program ini?

<?php
$nilai = 85;
if ($nilai >= 60) {
    echo "Lulus";
} elseif ($nilai >= 80) {
    echo "Lulus dengan pujian";
} else {
    echo "Mengulang";
}
Pilih satu jawaban

Latihan 2 dari 3

Apa keluaran program ini?

<?php
$kode = "2";
echo match ($kode) {
    1 => "Reguler",
    2 => "Kilat",
    default => "Ambil sendiri",
};
Pilih satu jawaban

Latihan 3 dari 3

Apa keluaran program ini?

<?php
$hari = "Sabtu";
switch ($hari) {
    case "Sabtu":
        echo "Diskon 10% ";
    case "Minggu":
        echo "Diskon 15% ";
        break;
    default:
        echo "Harga normal";
}
Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke