Percabangan dan Compound Statements dalam PHP

Percabangan dalam pemrograman berguna untuk menampilkan output atau mengeksekusi statement berdasarkan kondisi yang ada. Dengan percabangan, kita bisa memberikan pilihan pada pengguna dan membuat program berjalan berdasarkan kondisi dari variabel yang digunakan untuk menyimpan pilihan atau nilai yang dimasukkan pengguna.

Sama dengan bahasa C, dalam PHP, percabangan yang bisa kita gunakan adalah if-else dan switch-case. Selain itu, kita juga bisa menggunakan ternary operator. Contoh script PHP yang menggunakan percabangan adalah sebagai berikut :

<?php
    $angka=5;

    if($angka==5)echo("Angka 5");

    else echo("angka lain");
?>


Pada percabangan, kondisi atau syarat berupa perbandingan ditulis dalam tanda kurung yang ditulis setelah if. Setelah tanda kurung, kita menuliskan statement yang akan dijalankan. Pada contoh di atas, syarat atau kondisi yang diperlukan untuk menjalankan statement setelah if adalah "angka==5". Tanda sama dengan (==) adalah salah satu operator perbandingan yang bisa kita gunakan untuk kondisi dalam percabangan dan perulangan. Ada beberapa operator lain yang bisa kita gunakan dalam percabangan selain "tanda sama dengan".

Operator-operator perbandingan yang bisa kita gunakan dalam PHP, yaitu :
  1. ==
  2. ===
  3. <>
  4. !=
  5. !==
  6. <=
  7. >=
  8. <
  9. >
Ingat, tanda = yang digunakan untuk memberi nilai beda dengan tanda == yang digunakan untuk perbandingan!

Operator === dan !== digunakan jika kita ingin membandingkan tipe datanya. Jika kita tidak ingin membandingkan tipe datanya, gunakan ==, <>, atau !=.

Selanjutnya, coba ubah nilai variabel angka, kalau nilainya bukan 5, maka satu statement yang ada setelah else adalah yang ditampilkan. Kalau kalian tidak menggunakan else, maka hasilnya tidak menampilkan apapun saat kondisi atau nilai variabel tidak sesuai.

<?php
    $angka=6;

    if($angka==5)echo("Angka 5");
?>


Script PHP di atas tidak menampilkan apapun di browser saat kita mengeksekusi script tersebut karena nilai angka "tidak sama" dengan 5, dan tidak ada else.

Selain mengeksekusi satu statement, kalian juga bisa mengelompokkan beberapa statement supaya bisa jadi bagian dari satu percabangan dengan menggunakan if. Pengelompokkan itu bisa dilakukan dengan mengapit sekumpulan statement dalam tanda kurung kurawal {...}. Untuk lebih jelasnya, perhatikan contoh berikut ini.


<?php
    $angka=5;

    if($angka==5){

        echo("Angka 5 <BR />");
        echo("Angka lima");
    }
?>

 
Bandingkan jika kalian tidak menggunakan tanda kurung kurawal! Statement mana yang akan dieksekusi? Tentu saja yang akan dieksekusi hanya satu statement setelah tanda kurung if atau setelah else.

<?php
    $angka=5;

    if($angka==5)

        echo("Angka 5 <BR />");
        echo("Angka lima");
?>


Statement yang diapit dengan tanda kurung kurawal disebut dengan Compound statement. Compound bisa digunakan untuk mengelompokkan beberapa statement yang akan digunakan perulangan, percabangan, dan function.

Selanjutnya, kita kembali lagi membahas tentang if, dan akan coba tetap menggunakan compound statement.

Perhatikan contoh berikut ini!

<?php
    $angka=6;

    if($angka==5){

        echo("Angka 5 <BR />");
        echo("Angka lima");
    }else if($angka==6){
        echo("Angka 6 <BR />");
        echo("Angka enam");
    }else{
        echo("Angka lain <BR />");
        echo("Tapi, entahlah. :p");

    }
?>



Pada contoh di atas, angka tidak sama dengan lima, maka script akan menuju ke else yang memiliki if, atau bisa juga kita sebut else if. Jika kondisi dalam else if yang memiliki syarat "angka==6" terpenuhi, maka angka statement yang terdapat di antara tanda kurung kurawal akan ditampilkan. Jika kondisi tidak terpenuhi, maka script akan dilanjutkan, dan statement setelah else akan dieksekusi. Jika mau, kita juga bisa menggunakan lebih banyak lagi else if saat ada banyak kondisi yang kita butuhkan.

<?php
    $angka=6;

    if($angka==5){

        echo("Angka 5 <BR />");
        echo("Angka lima");
    }else if($angka==6){
        echo("Angka 6 <BR />");
        echo("Angka enam");
    }else if($angka==7){
        echo("Angka 7 <BR />");
        echo("Angka tujuh");
    }else{
        echo("Angka lain <BR />");
        echo("Tapi, entahlah. :p");

    }
?>



If yang hanya menggunakan tanda == seperti contoh di atas bisa kita ubah jadi switch-case seperti di bawah ini. Dalam switch, angka setelah tanda == yang kita gunakan dalam if, bisa kita letakkan setelah case, dan else bisa kita ganti dengan default.

<?php
    $angka=7;

    switch($angka){

        case 5:
            echo("Angka 5 <BR />");
            echo("Angka lima");
            break; 
        case 6 :
            echo("Angka 6 <BR />");
            echo("Angka enam");
            break;
        case 7 :
            echo("Angka 7 <BR />");
            echo("Angka tujuh");
            break;
        default :
            echo("Angka lain <BR />");
            echo("Tapi, entahlah. :p");

    }
?>


Switch case memang tidak bisa menggantikan if yang menggunakan operator perbandingan selain tanda ==, tapi dengan switch-case kode program akan terlihat lebih rapi, terutama jika nama variabelnya panjang, dan ada lebih dari satu statement di masing-masing else if.

Pada switch, ada break yang gunanya untuk keluar dari switch-case. Tanpa break, semua statement di bawah case yang sesuai akan dieksekusi. Untuk lebih jelasnya, coba hilangkan break.

<?php
    $angka=7;

    switch($angka){

        case 5:
            echo("Angka 5 <BR />");
            echo("Angka lima");
        case 6 :
            echo("Angka 6 <BR />");
            echo("Angka enam");
        case 7 :
            echo("Angka 7 <BR />");
            echo("Angka enam");
        default :
            echo("Angka lain <BR />");
            echo("Tapi, entahlah. :p");

    }
?>


Btw, jika kita hanya menggunakan if untuk menentukan nilai pada variabel, kita bisa menggunakan ternary operator.


<?php
    $angka=5;

    $nama=(angka==5)?"lima":"lainnya";

    echo($angka."=".$nama);?>

Script di atas hasilnya sama dengan hasil dari if seperti di bawah ini.

<?php
    $angka=5;
    if($angka==5)$nama="lima";
    else "lainnya";
    echo($angka."=".$nama);
?>


Kalau kalian perhatikan dan coba ubah nilai variabel angka pada contoh script di atas, kalian akan mendapati kalau apa yang ada di sebelah kiri tanda titik dua (:), adalah nilai saat kondisi terpenuhi, dan yang di sebelah kanan dari titik dua hanya akan dieksekusi saat kondisi tidak terpenuhi. Nilai yang akan disimpan ke dalam variabel akan sesuai dengan terpenuhi atau tidaknya kondisi dalam ternary operator.

1 comments:

Klik di sini untuk berkomentar
May 8, 2020 at 8:37 PM ×

Hallo kak. Terimakasih ya kak artikel nya bagus mudah dipahami bagi saya yang baru pemula ini. Artikel nya juga sangat membantu dalan memenuhi tugas kuliah saya kak. Semoga dapat memberikan artikel yang bermanfaat lainnya ya kak. Terimakasih kak sukses selalu . Perkenalkan Saya Ardila Yunita, NIM 1922500096, link kampus https://www.atmaluhur.ac.id/

Jawab
avatar