Belajar Switch Case pada PHP: Struktur, Contoh, dan Perbedaan dengan If-Else

switch case pada php

PHP adalah salah satu bahasa pemrograman yang populer dan banyak digunakan untuk membuat aplikasi web yang dinamis dan interaktif. Dalam bahasa pemrograman, kita sering kali harus membuat pilihan atau keputusan berdasarkan kondisi tertentu. Salah satu cara untuk membuat pilihan dalam PHP adalah dengan menggunakan switch case.

Di artikel ini, kita akan belajar apa itu switch case pada php, bagaimana cara menggunakannya, contoh-contoh penggunaannya, dan perbedaannya dengan if-else dalam struktur kontrol PHP.

Apa itu Switch Case pada PHP?

Switch case adalah salah satu struktur kendali yang digunakan untuk membuat percabangan kode program berdasarkan nilai variabel atau ekspresi.

Switch case penting karena dapat memudahkan kita untuk menulis kode program yang lebih rapi, efisien, dan mudah dibaca.

Selain itu, switch case juga dapat menghindari penggunaan if-else yang berulang-ulang dan membingungkan.

Struktur kode Switch Case pada PHP

Struktur kode switch case pada php adalah sebagai berikut:

switch (variable) {
  case value1:
    // kode yang akan dijalankan jika variable bernilai value1
    break;
  case value2:
    // kode yang akan dijalankan jika variable bernilai value2
    break;
  ...
  default:
    // kode yang akan dijalankan jika variable tidak sesuai dengan semua case
}

Fungsi Switch Case pada PHP

Fungsi utama dari switch case adalah untuk mengambil keputusan berdasarkan nilai ekspresi atau variabel. Berikut adalah beberapa fungsi switch case pada PHP:

  1. Pemilihan Kasus Tertentu: Switch case memungkinkan kita untuk memeriksa nilai suatu ekspresi atau variabel dan menjalankan kode tertentu jika nilai tersebut cocok dengan salah satu kasus yang telah ditentukan. Ini sangat berguna untuk menjalankan kode yang berbeda tergantung pada nilai yang diberikan.

  2. Menghindari Penggunaan Terlalu Banyak If-Else: Switch case dapat digunakan untuk menghindari penggunaan terlalu banyak pernyataan if-else ketika kita perlu memeriksa banyak kemungkinan nilai.

  3. Optimalisasi Kode: Switch case dapat membuat kode lebih mudah dibaca dan lebih efisien daripada serangkaian pernyataan if-else yang panjang.

  4. Mengelompokkan Kasus: kita dapat mengelompokkan beberapa kasus yang memiliki tindakan yang sama sehingga kita tidak perlu menulis kode yang sama berulang kali.

Untuk apa saja Switch Case dapat digunakan?

Switch case biasanya digunakan dalam hal-hal seperti:

1. Membuat menu pilihan untuk pengguna

  • Menu pilihan adalah fitur yang dapat memberikan beberapa opsi kepada pengguna untuk memilih salah satu dari mereka. Misalnya, jika kita ingin membuat aplikasi yang dapat menampilkan profil, mengubah password, atau keluar, kita bisa menggunakan switch case untuk membuat menu pilihan seperti ini:
<?php
echo "Pilih menu yang Anda inginkan:\n"; // menampilkan pesan untuk memilih menu
echo "1. Lihat profil\n"; // menampilkan pilihan menu 1
echo "2. Ubah password\n"; // menampilkan pilihan menu 2
echo "3. Keluar\n"; // menampilkan pilihan menu 3
echo "Masukkan pilihan Anda: "; // menampilkan pesan untuk memasukkan pilihan
$pilihan = trim(fgets(STDIN)); // menyimpan input pilihan dari pengguna ke variabel $pilihan

switch ($pilihan) { // memulai switch case berdasarkan nilai variabel $pilihan
  case 1: // jika nilai $pilihan adalah 1
    echo "Anda memilih menu lihat profil\n"; // menampilkan pesan bahwa pengguna memilih menu lihat profil
    // kode untuk menampilkan profil pengguna
    break; // mengakhiri case 1 dan keluar dari switch case
  case 2: // jika nilai $pilihan adalah 2
    echo "Anda memilih menu ubah password\n"; // menampilkan pesan bahwa pengguna memilih menu ubah password
    // kode untuk mengubah password pengguna
    break; // mengakhiri case 2 dan keluar dari switch case
  case 3: // jika nilai $pilihan adalah 3
    echo "Anda memilih menu keluar\n"; // menampilkan pesan bahwa pengguna memilih menu keluar
    // kode untuk keluar dari aplikasi
    break; // mengakhiri case 3 dan keluar dari switch case
  default: // jika nilai $pilihan tidak sesuai dengan semua case di atas
    echo "Pilihan Anda tidak valid\n"; // menampilkan pesan bahwa pilihan pengguna tidak valid
}
?>

2. Membuat kalkulator sederhana

  • Kalkulator sederhana adalah aplikasi yang dapat melakukan operasi matematika dasar seperti penjumlahan, pengurangan, perkalian, atau pembagian. Misalnya, jika kita ingin membuat aplikasi yang dapat menerima dua angka dari pengguna dan melakukan operasi matematika sesuai dengan pilihan pengguna, kita bisa menggunakan switch case untuk membuat kalkulator sederhana seperti ini:
<?php
echo "Masukkan angka pertama: "; // menampilkan pesan untuk memasukkan angka pertama
$a = trim(fgets(STDIN)); // menyimpan input angka pertama dari pengguna ke variabel $a
echo "Masukkan angka kedua: "; // menampilkan pesan untuk memasukkan angka kedua
$b = trim(fgets(STDIN)); // menyimpan input angka kedua dari pengguna ke variabel $b
echo "Pilih operasi yang Anda inginkan:\n"; // menampilkan pesan untuk memilih operasi matematika
echo "+. Penjumlahan\n"; // menampilkan pilihan operasi +
echo "-. Pengurangan\n"; // menampilkan pilihan operasi -
echo "*. Perkalian\n"; // menampilkan pilihan operasi *
echo "/. Pembagian\n"; // menampilkan pilihan operasi /
echo "Masukkan pilihan Anda: "; // menampilkan pesan untuk memasukkan pilihan operasi
$operasi = trim(fgets(STDIN)); // menyimpan input pilihan operasi dari pengguna ke variabel $operasi

switch ($operasi) { // memulai switch case berdasarkan nilai variabel $operasi
  case "+": // jika nilai $operasi adalah +
    $hasil = $a + $b; // menghitung hasil penjumlahan antara $a dan $b dan menyimpannya ke variabel $hasil
    echo "Hasil penjumlahan adalah $hasil\n"; // menampilkan hasil penjumlahan ke pengguna
    break; // mengakhiri case + dan keluar dari switch case
  case "-": // jika nilai $operasi adalah -
    $hasil = $a - $b; // menghitung hasil pengurangan antara $a dan $b dan menyimpannya ke variabel $hasil
    echo "Hasil pengurangan adalah $hasil\n"; // menampilkan hasil pengurangan ke pengguna
    break; // mengakhiri case - dan keluar dari switch case
  case "*": // jika nilai $operasi adalah *
    $hasil = $a * $b; // menghitung hasil perkalian antara $a dan $b dan menyimpannya ke variabel $hasil
    echo "Hasil perkalian adalah $hasil\n"; // menampilkan hasil perkalian ke pengguna
    break; // mengakhiri case * dan keluar dari switch case
  case "/": // jika nilai $operasi adalah /
    if ($b == 0) { // jika nilai $b adalah 0, maka tidak bisa melakukan pembagian dengan nol
      echo "Tidak bisa membagi dengan nol\n"; // menampilkan pesan bahwa tidak bisa membagi dengan nol
    } else { // jika nilai $b bukan 0, maka bisa melakukan pembagian
      $hasil = $a / $b; // menghitung hasil pembagian antara $a dan $b dan menyimpannya ke variabel $hasil
      echo "Hasil pembagian adalah $hasil\n"; // menampilkan hasil pembagian ke pengguna
    }
    break; // mengakhiri case / dan keluar dari switch case
  default: // jika nilai $operasi tidak sesuai dengan semua case di atas
    echo "Operasi yang Anda pilih tidak valid\n"; // menampilkan pesan bahwa operasi yang dipilih tidak valid
}
?>

3. Membuat konversi satuan

  • Konversi satuan adalah proses mengubah nilai dari satu satuan ke satuan lain. Misalnya, jika kita ingin membuat aplikasi yang dapat mengubah nilai dari meter ke kilometer, sentimeter, atau milimeter, kita bisa menggunakan switch case untuk membuat konversi satuan seperti ini:
<?php
echo "Masukkan nilai yang ingin dikonversi (dalam meter): "; // menampilkan pesan untuk memasukkan nilai dalam meter
$meter = trim(fgets(STDIN)); // menyimpan input nilai dalam meter dari pengguna ke variabel $meter
echo "Pilih satuan tujuan:\n"; // menampilkan pesan untuk memilih satuan tujuan
echo "1. Kilometer\n"; // menampilkan pilihan satuan 1
echo "2. Sentimeter\n"; // menampilkan pilihan satuan 2
echo "3. Milimeter\n"; // menampilkan pilihan satuan 3
echo "Masukkan pilihan Anda: "; // menampilkan pesan untuk memasukkan pilihan satuan
$satuan = trim(fgets(STDIN)); // menyimpan input pilihan satuan dari pengguna ke variabel $satuan

switch ($satuan) { // memulai switch case berdasarkan nilai variabel $satuan
  case 1: // jika nilai $satuan adalah 1
    $konversi = $meter / 1000; // menghitung nilai konversi dari meter ke kilometer dan menyimpannya ke variabel $konversi
    echo "$meter meter sama dengan $konversi kilometer\n"; // menampilkan hasil konversi ke pengguna
    break; // mengakhiri case 1 dan keluar dari switch case
  case 2: // jika nilai $satuan adalah 2
    $konversi = $meter * 100; // menghitung nilai konversi dari meter ke sentimeter dan menyimpannya ke variabel $konversi
    echo "$meter meter sama dengan $konversi sentimeter\n"; // menampilkan hasil konversi ke pengguna
    break; // mengakhiri case 2 dan keluar dari switch case
  case 3: // jika nilai $satuan adalah 3
    $konversi = $meter * 1000; // menghitung nilai konversi dari meter ke milimeter dan menyimpannya ke variabel $konversi
    echo "$meter meter sama dengan $konversi milimeter\n"; // menampilkan hasil konversi ke pengguna
    break; // mengakhiri case 3 dan keluar dari switch case
  default: // jika nilai $satuan tidak sesuai dengan semua case di atas
    echo "Satuan yang Anda pilih tidak valid\n"; // menampilkan pesan bahwa satuan yang dipilih tidak valid
}
?>

4. Membuat validasi input

  • Validasi input adalah proses memeriksa apakah input yang dimasukkan oleh pengguna sesuai dengan kriteria yang ditentukan. Misalnya, jika kita ingin membuat aplikasi yang dapat menerima nama dari pengguna dan memeriksa apakah nama tersebut tidak kosong dan tidak berupa angka, kita bisa menggunakan switch case untuk membuat validasi input seperti ini:
<?php
echo "Masukkan nama Anda: "; // menampilkan pesan untuk memasukkan nama 
$nama = trim(fgets(STDIN)); // menyimpan input nama dari pengguna ke variabel $nama
switch ($nama) { // memulai switch case berdasarkan nilai variabel $nama
  case "": // jika nilai $nama adalah string kosong, artinya pengguna tidak memasukkan nama apa-apa 
    echo "Nama tidak boleh kosong\n"; // menampilkan pesan bahwa nama tidak boleh kosong 
    break; // mengakhiri case string kosong dan keluar dari switch case 
  case is_numeric($nama): // jika nilai $nama adalah angka, artinya pengguna memasukkan nama berupa angka 
    echo "Nama tidak boleh berupa angka\n"; // menampilkan pesan bahwa nama tidak boleh berupa angka 
    break; // mengakhiri case angka dan keluar dari switch case 
  default: // jika nilai $nama tidak sesuai dengan semua case di atas, artinya pengguna memasukkan nama yang valid 
    echo "Nama Anda adalah $nama\n"; // menampilkan nama pengguna 
}
?>

4 contoh diatas merupakan beberapa contoh kasus saja, tentang bagaimana penggunaan kode switch case dalam bahasa pemrograman PHP, untuk selebihnya dapat lebih dari itu.

Apa perbedaan Switch Case dengan if else pada PHP?

Perbedaan antara if else if dan switch dalam struktur kontrol PHP adalah sebagai berikut:

  • if else if digunakan untuk membuat percabangan kode program berdasarkan evaluasi ekspresi logika yang dapat menggunakan operator relasional (<, >, =, ==, dll) atau logika (and, or, not, dll). switch digunakan untuk membuat percabangan kode program berdasarkan nilai variabel atau ekspresi yang harus berupa konstan (angka atau karakter).
  • if else if memeriksa setiap kondisi secara berurutan sampai menemukan kondisi yang bernilai true atau sampai mencapai blok else. switch memeriksa nilai variabel atau ekspresi dengan semua case secara bersamaan dan menjalankan blok kode yang sesuai dengan case yang cocok atau default jika tidak ada yang cocok.
  • if else if dapat memiliki banyak kondisi yang berbeda-beda dan tidak terbatas. switch hanya dapat memiliki satu variabel atau ekspresi yang dibandingkan dengan nilai-nilai konstan yang terbatas.
  • if else if lebih fleksibel dan dapat menangani kondisi yang lebih kompleks. switch lebih sederhana dan cepat dalam mengeksekusi kode program.

Contoh perbedaan antara if else if dan switch dalam struktur kontrol PHP adalah sebagai berikut:

<?php
// contoh menggunakan if else if
$nilai = 80; // asumsikan nilai ujian adalah 80
if ($nilai >= 90) {
  echo "Nilai Anda sangat baik\n";
} elseif ($nilai >= 80) {
  echo "Nilai Anda baik\n";
} elseif ($nilai >= 70) {
  echo "Nilai Anda cukup\n";
} elseif ($nilai >= 60) {
  echo "Nilai Anda kurang\n";
} else {
  echo "Nilai Anda jelek\n";
}

// contoh menggunakan switch
$nilai = 80; // asumsikan nilai ujian adalah 80
switch ($nilai) {
  case ($nilai >= 90):
    echo "Nilai Anda sangat baik\n";
    break;
  case ($nilai >= 80):
    echo "Nilai Anda baik\n";
    break;
  case ($nilai >= 70):
    echo "Nilai Anda cukup\n";
    break;
  case ($nilai >= 60):
    echo "Nilai Anda kurang\n";
    break;
  default:
    echo "Nilai Anda jelek\n";
}
?>

Output dari kedua contoh kode di atas adalah sama, yaitu:

Nilai Anda baik

Namun, perhatikan bahwa pada contoh switch, kita harus menambahkan perintah break setelah setiap case untuk menghentikan eksekusi kode program.

Jika tidak, kode program akan terus berjalan sampai mencapai akhir blok switch atau menemukan perintah break lainnya. Ini dapat menyebabkan output yang tidak diinginkan.

Kesimpulan

Kita telah belajar tentang cara menggunakan switch case dalam bahasa pemrograman PHP. Dimana Switch case adalah cara untuk membuat pilihan berdasarkan nilai variabel atau ekspresi yang kita tentukan.

Selain itu dengan Switch case dapat membuat kode program kita lebih rapi, efisien, dan mudah dibaca daripada menggunakan if-else yang banyak dan rumit.

Tidak hanya itu kita juga belajar jika Switch case cocok digunakan untuk kasus-kasus seperti membuat menu, kalkulator, konversi satuan, atau validasi input.

Selain belajar studi kasusnya, kita juga memahami jika Switch case berbeda dengan if-else karena switch case hanya bisa membandingkan nilai variabel atau ekspresi dengan nilai-nilai tetap, bukan dengan kondisi logika atau relasional.

Demikian artikel tentang “Belajar switch case pada php”. Semoga bermanfaat dan dapat membantu bagi kamu yang saat ini sedang dalam belajar pemrograman php. 😊

Hai perkenalkan, nama saya adalah Moses Fahmi Pratama, penulis sekaligus programer yang menulis dan mengembangkan blog ini. Bagi anda yang merasa terbantu akan kehadiran blog ini, anda dapat melakukan donasi kepada penulis melalui tombol Nih Buat Jajan dibawah ini 🤗

Nih buat jajan

Akhir kata saya ucapkan banyak terimakasih, atas donasi anda 🙏😊

Comments