unisbadri.com » Python Java Golang Typescript Kotlin Ruby Rust Dart PHP
Seleksi Kondisi

Seleksi Kondisi #

Pendahuluan #

PHP menyediakan beberapa cara untuk melakukan seleksi kondisi. Seleksi kondisi memungkinkan kode untuk membuat keputusan dan menjalankan pernyataan yang berbeda berdasarkan kondisi tertentu. Berikut adalah jenis-jenis seleksi kondisi dalam PHP beserta contohnya:

If #

Pernyataan if digunakan untuk menjalankan blok kode jika kondisi tertentu bernilai true.

<?php
$umur = 20;

if ($umur >= 18) {
    echo "Anda sudah dewasa.";
}
?>

If…Else #

Pernyataan if...else digunakan untuk menjalankan satu blok kode jika kondisi bernilai true, dan blok kode lainnya jika kondisi bernilai false.

<?php
$umur = 16;

if ($umur >= 18) {
    echo "Anda sudah dewasa.";
} else {
    echo "Anda masih anak-anak.";
}
?>

If…Elseif…Else #

Pernyataan if...elseif...else digunakan untuk memeriksa beberapa kondisi. Jika kondisi pertama false, maka akan memeriksa kondisi berikutnya, dan seterusnya.

<?php
$nilai = 85;

if ($nilai >= 90) {
    echo "Nilai A";
} elseif ($nilai >= 80) {
    echo "Nilai B";
} elseif ($nilai >= 70) {
    echo "Nilai C";
} else {
    echo "Nilai D";
}
?>

Switch #

Pernyataan switch digunakan untuk memilih salah satu dari banyak blok kode yang akan dijalankan berdasarkan nilai dari ekspresi.

<?php
$warna = "merah";

switch ($warna) {
    case "merah":
        echo "Warna favorit Anda adalah merah.";
        break;
    case "biru":
        echo "Warna favorit Anda adalah biru.";
        break;
    case "hijau":
        echo "Warna favorit Anda adalah hijau.";
        break;
    default:
        echo "Warna favorit Anda bukan merah, biru, atau hijau.";
}
?>

Ternary Operator #

Operator ternary adalah cara singkat untuk menulis pernyataan if...else. Bentuknya adalah kondisi ? nilai_true : nilai_false.

<?php
$umur = 20;
$status = ($umur >= 18) ? "Dewasa" : "Anak-anak";
echo $status; // Output: Dewasa
?>

Null Coalescing Operator #

Operator null coalescing (??) digunakan untuk memeriksa apakah sebuah variabel memiliki nilai atau tidak. Jika variabel tidak memiliki nilai (null), maka nilai default akan diberikan.

<?php
$nama = $_GET['nama'] ?? 'Tamu';
echo "Hello, " . $nama; // Output: Hello, Tamu jika $_GET['nama'] tidak diatur
?>

Contoh Penggunaan #

Berikut adalah contoh program PHP yang menggunakan berbagai jenis seleksi kondisi:

<?php
$nilai = 75;
$umur = 16;
$warna_favorit = "biru";

// If
if ($nilai >= 60) {
    echo "Anda lulus.<br>";
}

// If...Else
if ($umur >= 18) {
    echo "Anda sudah dewasa.<br>";
} else {
    echo "Anda masih anak-anak.<br>";
}

// If...Elseif...Else
if ($nilai >= 90) {
    echo "Nilai A<br>";
} elseif ($nilai >= 80) {
    echo "Nilai B<br>";
} elseif ($nilai >= 70) {
    echo "Nilai C<br>";
} else {
    echo "Nilai D<br>";
}

// Switch
switch ($warna_favorit) {
    case "merah":
        echo "Warna favorit Anda adalah merah.<br>";
        break;
    case "biru":
        echo "Warna favorit Anda adalah biru.<br>";
        break;
    case "hijau":
        echo "Warna favorit Anda adalah hijau.<br>";
        break;
    default:
        echo "Warna favorit Anda bukan merah, biru, atau hijau.<br>";
}

// Ternary Operator
$status = ($umur >= 18) ? "Dewasa" : "Anak-anak";
echo "Status: " . $status . "<br>";

// Null Coalescing Operator
$nama = $_GET['nama'] ?? 'Tamu';
echo "Hello, " . $nama . "<br>";
?>

Operator match #

PHP 8 memperkenalkan ekspresi match, yang mirip dengan pernyataan switch tetapi dengan beberapa perbedaan penting. match lebih fleksibel dan ekspresif, serta mendukung pengembalian nilai dan pemeriksaan identitas (strict type checking).

Perbedaan match dan switch #

  1. Pemeriksaan Identitas:

    • switch menggunakan pemeriksaan kesetaraan lemah (==), sedangkan match menggunakan pemeriksaan kesetaraan ketat (===).
  2. Ekspresi:

    • match adalah ekspresi, artinya mengembalikan nilai dan dapat disimpan dalam variabel atau digunakan langsung dalam ekspresi lain.
  3. Tidak Memerlukan break:

    • Tidak seperti switch, match tidak memerlukan break karena setiap kasus hanya boleh memiliki satu ekspresi atau pernyataan yang dijalankan.
  4. Multi-kondisi:

    • match mendukung beberapa nilai untuk satu hasil.

Contoh Penggunaan match #

Berikut adalah beberapa contoh penggunaan match dalam PHP:

  1. Dasar Penggunaan match:

    <?php
    $status_kode = 200;
    
    $pesan = match ($status_kode) {
        200 => 'OK',
        301 => 'Moved Permanently',
        404 => 'Not Found',
        500 => 'Internal Server Error',
        default => 'Unknown Status Code'
    };
    
    echo $pesan; // Output: OK
    ?>
    
  2. Menggunakan Beberapa Nilai untuk Satu Hasil:

    <?php
    $angka = 2;
    
    $hasil = match ($angka) {
        1, 3, 5, 7, 9 => 'Ganjil',
        2, 4, 6, 8, 10 => 'Genap',
        default => 'Tidak Diketahui'
    };
    
    echo $hasil; // Output: Genap
    ?>
    
  3. Menggunakan Ekspresi match dengan Ekspresi Lain:

    <?php
    $hari = 'Sabtu';
    
    echo 'Besok adalah ' . match ($hari) {
        'Senin' => 'Selasa',
        'Selasa' => 'Rabu',
        'Rabu' => 'Kamis',
        'Kamis' => 'Jumat',
        'Jumat' => 'Sabtu',
        'Sabtu' => 'Minggu',
        'Minggu' => 'Senin',
        default => 'hari yang tidak diketahui'
    };
    // Output: Besok adalah Minggu
    ?>
    
  4. Menggunakan Fungsi di dalam match:

    <?php
    function get_pesan($kode) {
        return match ($kode) {
            200 => 'OK',
            301 => 'Moved Permanently',
            404 => 'Not Found',
            500 => 'Internal Server Error',
            default => 'Unknown Status Code'
        };
    }
    
    echo get_pesan(404); // Output: Not Found
    ?>
    
  5. Menggunakan Variabel dalam match:

    <?php
    $kode_warna = 'B';
    
    $warna = match ($kode_warna) {
        'R' => 'Merah',
        'G' => 'Hijau',
        'B' => 'Biru',
        default => 'Tidak Diketahui'
    };
    
    echo $warna; // Output: Biru
    ?>
    

Ekspresi match di PHP 8 adalah tambahan yang kuat dan fleksibel untuk seleksi kondisi, menawarkan keunggulan seperti pemeriksaan identitas ketat, pengembalian nilai langsung, dan kemudahan penggunaan tanpa perlu break. Ini membuat kode lebih bersih, lebih mudah dipelihara, dan lebih aman dari kesalahan logika.

Kesimpulan #

PHP menyediakan beberapa cara untuk melakukan seleksi kondisi, termasuk if, if...else, if...elseif...else, switch, ternary operator, dan null coalescing operator. Memahami cara kerja dan penggunaan seleksi kondisi ini akan membantu Anda menulis kode yang lebih fleksibel dan dinamis.

« Operator
Perulangan »