Membuat menu dengan switch case php

Membuat menu dengan switch case php

Show

Sebelumnya kita telah mempelajari tentang pernyataan bersyarat mengenai :

  • Struktur logika if
  • Struktur logika if else
  • Struktur logika if elseif else

Sekarang kita akan membahas pernyataan bersyarat  switch case. Mekanisme kerja switch case mirip dengan struktur logika if elseif else, dimana akan dipilih kondisi yang sesuai dari inputan yang kita berikan.

Struktur logika switch case

Syntax penulisan switch case :

switch($var)
{
  case value1:
    statement1;
    break;
  case value2
    statement2;
    break;
  case value3:
    statement3;
    break;
  .............
  default:
    statement-n;
}

Keterangan :

  • $var merupakan sebuah inputan / nilai dari variabel
  • value1,value2, value3 merupakan sebuah nilai dari variabel. Nilai-nilai tersebut disandingkan dengan keyword case. Nantinya nilai dari $var akan memeriksa apakah dia berada pada value1 atau value2 ataupun value3. Jika terdapat pada salah satunya, misalhnya nilai $var berada pada value2, maka dia akan mengproses statement2. Jika tidak terdapat pada salah satu value tersebut (value1, value2, value3) maka akan masuk kebagian default dan dengan sendirinya statement-n akan diproses.
  • break digunakan untuk keluar dari switch, sehingga proses pemeriksaan case tidak perlu dilanjutkan.
  • default digunakan jika nilai dari $var tidak ada yang sesuai pada case value1, case value2 dan case value3.

Contoh.1

Dalam contoh ini diberikan nilai pada variabel $value=2, kemudian akan diperiksa pada case mana nilainya sama dengan 2.

<?php
$value =2;
switch ($value)
{
case 1:
echo "Nilainya = 1";
break;
case 2:
echo "Nilainya = 2";
break;
case 3:
echo "Nilainya 3";
break;
case 4:
echo "Nilainya 4";
break;
default:
echo "Nilainya bukan 1-4";
break;
}
?>

Output :

Nilainya = 2

Contoh.2

Kasus pada contoh.2 sama dengan contoh.1.Namun disini pada case 2 tidak terdapat statementnya serta keyword break.

<?php
$value =2;
switch ($value)
{
case 1:
echo "Nilainya = 1";
break;
case 2:
case 3:
echo "Nilainya 2 atau 3";
break;
case 4:
echo "Nilainya 4";
break;
default:
echo "Nilainya bukan 1-4";
break;
}
?>

Output :

Nilainya 2 atau 3

Jika kita perhatikan, walaupun nilai dari variabel $value ditemukan pada case 2, namun karena tidak ada perintah break, maka akan dilanjutkan pada case dibawahnya. Sehingga case 3 yang diproses.

Contoh.3

Pada contoh.3 ini kita memiliki kasus untuk mencetak nilai dengan ketentuan seperti ditunjukkan oleh tabel dibawah ini :

GradeRange Nilai
A 85 - 100
B 75 - 84
C 60 - 74
D 50 - 59
E 0 - 49

Pembuatan program untuk kasus dari tabel diatas sudah kita pecahkan dengan menggunakan struktur logika if elseif else. Seperti yang diutarakan diatas, prinsip  kerja switch case memiliki kemiripan dengan logika if elseif else, sehingga kitapun menuliska program tersebut menjadi :

<?php
$nilai = 50;

switch($nilai)
{
case (($nilai >= 85) && ($nilai <=100)) :
$indek = "A";
$info = "Super sekali, pertahankan nilai anda";
break;

case (($nilai >= 75) && ($nilai <85)):
$indek = "B";
$info ="Nilai anda bagus, tingkatkan lagi";
break;

case (($nilai >= 60) && ($nilai <75)):
$indek = "C";
$info ="Nilai anda cukup, kerjas keras lagi";
break;

case (($nilai >= 50) && ($nilai <60)):
$indek = "D";
$info ="Nila anda kurang, tidak lulus. Silahkan ngulang semester depan";
break;

default:
$indek = "E";
$info ="Sangat kurang. Harus ngulang semester depan";

}
echo "Anda mendapatkan : $nilai, dikonversi menjadi '$indek' ";
echo "
"
;
echo $info;
?>

Outputnya :

Anda mendapatkan : 50, dikonversi menjadi 'D' 
Nila anda kurang, tidak lulus. Silahkan ngulang semester depan