author Ahmad Muhardian

Belajar PHP: Memahami Percabangan untuk Logika Program


Struktur kondisi di PHP

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:

Flow chart program tanpa cabang

Apabila kita ingin menambahkan percabangan, kita akan membuatnya seperti ini:

Flow chart percabangan

Pada kesempatan ini, kita akan pelajari tentang percabangan sampai tuntas dan membuat beberapa contoh program.

Percabangan If

Bentuk yang paling sederhana dari percabangan 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:

Contoh kondisi if

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:

Contoh kondisi if/else

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:

Contoh kondisi if/else benar

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:

Contoh kondisi if/elseif/else

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:

Contoh kondisi switch/case

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:

Contoh kondisi dengan operator ternary

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:

Contoh kondisi bersarang

Apa Selanjutnya?

Pemahaman tentang percabangan akan sangat membantumu belajar ke tahap berikutnya. Karena dengan percabangan kita bisa membuat logika program.

Perbanyaklah latihan dengan study kasus tertentu.

Berikutnya silakan pelajari tentang perulangan di PHP.

Selamat belajar…