• Home
  • /
  • PHP
  • /
  • Konsep Statement SWITCH dalam PHP dan Studi Kasus
PHP

Konsep Statement SWITCH dalam PHP dan Studi Kasus

 

SWITCH termasuk statement yang dapat dipergunakan untuk menyatakan suatu pernyataan kondisional atau bersyarat. Selain SWITCH, kita bisa pula menggunakan IF untuk menyatakan kondisional.

Dalam artikel yang saya tulis pada blog ini, akan dipaparkan tentang konsep SWITCH dan contoh implementasinya dalam studi kasus.

Adapun sintaks secara umum statement SWITCH dalam PHP adalah sebagai berikut:

switch (var)
{
case value1 : statement A
              .
              .
              break;
case value2 : statement B
              .
              .
              break;
case value3 : statement C
              .
              .
              break;
.
.
default     : statement D
              .
              .              
}

Maksud dari sintaks di atas adalah: dalam hal ini nilai yang ada pada variabel (‘var’) akan dicek. Jika nilai dari ‘var’ sama dengan ‘value1’, maka statement A akan dijalankan. Bila nilai var sama dengan ‘value2’, maka maka statement B dijalankan. Sedangkan jika nilai ‘var’ sama dengan ‘value3’ maka statement C yang dijalankan begitu seterusnya. Selanjutnya apabila tidak ada value yang cocok atau sama, maka terakhir akan dikerjakan statement D (terletak pada default).

Apabila kita bandingkan dengan bentuk IF, maka statement IF berikut ini ekuivalen dengan sintaks SWITCH di atas

if (var == value1) 
{
   statement A
   .
   .
}
else if (var == value2) 
     {
        statement B
        .
        .
     }
else if (var == value3)
     {
        statement C
        .
        .
     }
.
.
else 
     {
        statement D
        .
        .
     }

Selain bentuk sintaks di atas, kita juga bisa menggunakan sintaks SWITCH berikut ini:

switch (var): 
case value1 : statement A
              .
              .
              break;
case value2 : statement B
              .
              .
              break;
case value3 : statement C
              .
              .
              break;
.
.
.
default     : statement D
              .
              .
endswitch;

Catatan:
Penggunaan option DEFAULT pada SWITCH adalah optional. Kita bisa untuk tidak memberikan DEFAULT jika memang tidak diperlukan.

Apabila kita perhatikan dari konsep SWITCH, maka kita bisa menyimpulkan bahwa proses pengecekan atau pengujian persyaratan yang terjadi hanyalah proses perbandingan dalam bentuk ‘sama dengan’. SWITCH tidak bisa digunakan untuk kondisional yang di dalamnya terdapat proses perbandingan seperti ‘lebih besar dari’, ‘lebih kecil dari’, ‘lebih kecil atau sama dengan’, ‘lebih besar atau sama dengan’ dan ‘tidak sama dengan’.
Sehingga memang penggunaan statement IF untuk menyatakan kondisional lebih fleksibel daripada SWITCH.

Trus… berarti SWITCH tidak lebih efektif daripada IF donk. Tentu tidak. Ada kelebihan pada penggunaan SWITCH. Berikut ini kelebihannya:

  • Dalam SWITCH, persyaratan hanya diuji sekali saja. Sedangkan pada IF.. ELSE diuji beberapa kali. Sehingga apabila script Anda sangat kompleks atau banyak menggunakan kondisional, penggunaan SWITCH akan menghasilkan proses yang lebih cepat.
  • Selain itu, statement yang akan dikerjakan dalam SWITCH bisa kosong atau tidak melakukan apa-apa. Contoh :

<?php
switch ($i) {
case 0:
case 1:
case 2:
    echo "i lebih kecil dari 3 tapi tidak negatif";
    break;
case 3:
    echo "i sama dengan 3";
}
?>

Sumber : http://www.php.net

Nah… berikutnya, saya akan coba berikan contoh penggunaan SWICTH dalam studi kasus. Studi kasus yang saya ambil di sini adalah bagaimana menampilkan nama bulan sekarang (current month) dalam bahasa Indonesia.

Adapun ide penyelesaian dari studi kasus tersebut adalah sebagai berikut :

Langkah pertama kita harus tahu bulan sekarang. Untuk mengetahui nama bulan sekarang, kita bisa menggunakan function date("n") dalam PHP. Function tersebut akan menghasilkan bilangan bulat 1-12 yang mencerminkan angka bulan sekarang.

Trus… apakah Anda sudah punya ide berikutnya? Angka-angka tersebut mau diapain? … Yes… Good idea.

Langkah kedua, dari angka bulan yang telah diperoleh tersebut selanjutnya kita nyatakan ke dalam bahasa Indonesia. Bagaimana menyatakannya? Ya… caranya kita gunakan logika seperti ini:

Jika angka bulan sama dengan 1, maka nama bulannya ‘Januari’. Jika angka bulan sama dengan 2, maka bulannya ‘Pebruari’ dan seterusnya.

Untuk mengimplementasikan logika di atas, kita harus menggunakan pernyataan kondisional. Apakah kita bisa menggunakan SWITCH? Oh… tentu bisa, karena operasi perbandingan yang digunakan adalah ‘sama dengan’. Sehingga bentuk script PHP nya untuk menampilkan nama bulan dalam bahasa Indonesia adalah sbb:


<?php

$angkaBln = date("n");

switch($angkaBln)
{
case 1 : $namaBln = "Januari";
         break;
case 2 : $namaBln = "Pebruari";
         break;
case 3 : $namaBln = "Maret";
         break;
case 4 : $namaBln = "April";
         break;
case 5 : $namaBln = "Mei";
         break;
case 6 : $namaBln = "Juni";
         break;
case 7 : $namaBln = "Juli";
         break;
case 8 : $namaBln = "Agustus";
         break;
case 9 : $namaBln = "September";
         break;
case 10: $namaBln = "Oktober";
         break;
case 11: $namaBln = "Nopember";
         break;
case 12: $namaBln = "Desember";
         break;
}

echo "Nama bulan sekarang adalah : ".$namaBln;

?>

Selain menggunakan date(“n”); untuk mengetahui bulan sekarang, kita juga bisa menggunakan date(“M”). Penggunaan date(“M”) ini akan menghasilkan nama bulan akan tetapi dalam 3 huruf depan saja, misalnya ‘Jan’, ‘Feb’, ‘Mar’, ‘Apr’, … , ‘Dec’. Apabila kita menggunakan function date(“M”) ini, maka scriptnya menjadi


<?php

$bln = date("M");

switch($bln)
{
case "Jan" : $namaBln = "Januari";
             break;
case "Feb" : $namaBln = "Pebruari";
             break;
case "Mar" : $namaBln = "Maret";
             break;
case "Apr" : $namaBln = "April";
             break;
case "May" : $namaBln = "Mei";
             break;
case "Jun" : $namaBln = "Juni";
             break;
case "Jul" : $namaBln = "Juli";
             break;
case "Aug" : $namaBln = "Agustus";
             break;
case "Sep" : $namaBln = "September";
             break;
case "Oct" : $namaBln = "Oktober";
             break;
case "Nov" : $namaBln = "Nopember";
             break;
case "Dec" : $namaBln = "Desember";
             break;
}

echo "Nama bulan sekarang adalah : ".$namaBln;

?>

Perhatikan script di atas ! Karena value yang akan dicocokkan berupa string, maka setiap value pada option CASE diapit tanda petik.

OK… demikian penjelasan tentang SWITCH dan contoh implementasiannya. Mudah-mudahan bermanfaat buat Anda.

 

Bagikan artikel ini jika bermanfaat !

Assalaamu'alaikum.. aktivitas keseharian saya mengajar di Universitas Sebelas Maret, dengan matakuliah pemrograman dan basis data. Adapun bidang penelitian saya tentang computational thinking dan computer-aided learning.

Leave a Reply