Ahlan wa sahlan !

Ahlan wa sahlan...
TIKmawar adalah blog TIK untuk guru dan siswa yang ingin memahami teknologi secara logis, praktis, dan menyenangkan. Bareng Bu Mawar, kita akan belajar TIK tidak hanya klik-klik, tetapi juga memahami maksudnya .

Switch-Case Apakah Bisa Menggantikan IF?

 Kalau if itu seperti berpikir dan membandingkan, maka switch itu seperti memilih tombol. Pertanyaannya: kapan harus berpikir, dan kapan hanya memilih?

1. Pengertian Switch–Case

switch digunakan untuk memilih satu aksi dari banyak pilihan berdasarkan nilai suatu variabel.

Ibaratnya seperti:

“Kalau nilainya ini → lakukan A, kalau itu → lakukan B”

2. Struktur Dasar

switch (variabel) {
case nilai1:
// perintah
break;
case nilai2:
// perintah
break;
default:
// perintah jika tidak ada yang cocok
}

Penjelasan:

  • switch(variabel) → nilai yang akan dicek
  • case → kondisi nilai tertentu
  • break → menghentikan pengecekan (WAJIB agar tidak lanjut ke case berikutnya)
  • default → kondisi cadangan (opsional, tapi disarankan)

3. Contoh 

#include <stdio.h>

int main() {
int hari = 3;

switch (hari) {
case 1:
printf("Senin");
break;
case 2:
printf("Selasa");
break;
case 3:
printf("Rabu");
break;
default:
printf("Hari tidak valid");
}

return 0;
}

Output:

Rabu

4. Kenapa Harus Pakai break?

Tanpa break, program akan terus jalan ke case berikutnya.

Contoh:

case 1:
printf("Senin");
case 2:
printf("Selasa");

Jika nilai = 1 → output:

SeninSelasa

Ini sering jadi sumber bug.

5. Kapan Pakai Switch–Case?

Gunakan switch jika:

  1. Nilai yang dicek satu variabel saja
  2. Perbandingan berupa nilai pasti (==), bukan rentang
  3. Pilihan banyak (lebih dari 3 biasanya)
  4. Ingin kode lebih rapi dan mudah dibaca

Contoh cocok:

  • Menu pilihan (1, 2, 3)
  • Hari (1–7)
  • Kode tertentu (A, B, C)

6. Kapan Pakai If–Else?

Gunakan if jika:

  1. Kondisi lebih kompleks
  2. Menggunakan:
    • >, <, >=, <=
    • &&, ||
  3. Berupa rentang nilai

Contoh:

if (nilai >= 80) {
printf("A");
} else if (nilai >= 70) {
printf("B");
}

Ini tidak bisa pakai switch.

Tidak ada komentar:

Posting Komentar