Percabangan Switch dalam C: Panduan untuk Pemula
Hai sana, para pemrogram masa depan! Hari ini, kita akan mendalami salah satu struktur kendali yang paling berguna dalam pemrograman C: percabangan switch. Jangan khawatir jika Anda baru saja memulai; saya akan memandu Anda langkah demi langkah, seperti yang saya lakukan bagi ribuan murid selama tahun-tahun pengajaran saya. Jadi, ambil secangkir minuman kesukaan Anda, dan mari kita mulai petualangan coding ini bersama!
Apa itu Percabangan Switch-Case?
Bayangkan Anda berada di kios es krim, dan Anda harus memilih rasa. Anda memiliki vanila, coklat, stroberi, danermint. Setiap pilihan akan membawa Anda ke sebuah secangkir es krim berbeda. Itu tepat seperti bagaimana percabangan switch bekerja dalam pemrograman!
Percabangan switch adalah pernyataan alir kendali yang memungkinkan Anda menjalankan blok-blok kode berbeda berdasarkan nilai variabel atau ekspresi. Itu seperti versi yang lebih elegan dan efisien dari beberapa pernyataan if-else.
Sintaks Percabangan switch-case
mari kita lihat struktur dasar dari percabangan switch:
switch (ekspresi) {
case konstanta1:
// kode yang akan dieksekusi jika ekspresi sama dengan konstanta1
break;
case konstanta2:
// kode yang akan dieksekusi jika ekspresi sama dengan konstanta2
break;
...
default:
// kode yang akan dieksekusi jika ekspresi tidak cocok dengan konstanta manapun
}
Jangan khawatir jika ini terlihat sedikit menakutkan pada awalnya. Kita akan membongkar nya bagian demi bagian.
Komponen Utama:
-
switch
: Kata kunci ini memulai percabangan switch. -
ekspresi
: Ini adalah nilai yang dievaluasi. -
case
: Setiap kasus mewakili nilai yang mungkin dari ekspresi. -
break
: Kata kunci ini mengakhiri setiap blok kasus. -
default
: Ini adalah blok opsional yang dijalankan jika tidak ada kasus yang cocok.
Bagaimana Percabangan switch-case Bekerja
Sekarang, mari kita lihat bagaimana ini benar-benar bekerja dalam praktek. Bayangkan kita membuat program sederhana yang memberikan pesan berdasarkan nilai grade seorang siswa:
#include <stdio.h>
int main() {
char grade = 'B';
switch(grade) {
case 'A':
printf("Excellent!");
break;
case 'B':
printf("Well done!");
break;
case 'C':
printf("Good job!");
break;
case 'D':
printf("You passed.");
break;
case 'F':
printf("Better luck next time.");
break;
default:
printf("Invalid grade");
}
return 0;
}
Dalam contoh ini:
- Kita memiliki variabel
grade
yang diatur ke 'B'. - Percabangan switch mengevaluasi
grade
. - Itu memeriksa setiap kasus sampai menemukan kesamaan ('B' dalam kasus ini).
- Ketika menemukan kesamaan, itu menjalankan kode dalam kasus itu ("Well done!").
- Kata kunci
break
kemudian keluar dari blok switch.
Jika grade
tidak cocok dengan kasus mana pun, blok default
akan dijalankan.
Diagram Alir Percabangan switch-case
Untuk menggambar bagaimana percabangan switch bekerja, mari kita lihat diagram alir:
+-------------+
| Start |
+-------------+
|
v
+-------------------+
| Evaluate expression|
+-------------------+
|
v
+----------------------+
| Compare with case 1 |
+----------------------+
|
v
+-------------+
| Match? |
+-------------+
Yes | | No
| |
v v
+-----------------+ +----------------------+
| Execute case 1 | | Compare with case 2 |
+-----------------+ +----------------------+
| |
v v
+-----------+ +-------------+
| Break | | Match? |
+-----------+ +-------------+
| Yes | | No
| | |
| v v
| +-----------------+ +------------+
| | Execute case 2 | | ... |
| +-----------------+ +------------+
| |
| v
| +-----------+
| | Break |
| +-----------+
| |
v v
+-----------+ +-----------+
| End | <------| Default |
+-----------+ +-----------+
Diagram ini menunjukkan bagaimana percabangan switch mengevaluasi setiap kasus dan menjalankan blok kode yang cocok.
Aturan untuk Menggunakan Percabangan switch-case
Untuk menggunakan percabangan switch secara efektif, ingat aturan berikut:
Aturan | Deskripsi |
---|---|
Tipe Ekspresi | Ekspresi switch harus bertipe integer (int, char, dll.) atau bertipe enumerasi. |
Konstanta Kasus | Label kasus harus berupa konstanta atau nilai literal, bukan variabel. |
Kasus Unik | Setiap nilai kasus harus unik dalam percabangan switch. |
Pernyataan break
|
Gunakan break untuk keluar dari blok switch setelah kasus dieksekusi. |
Kasus default
|
Kasus default adalah opsional dan dapat muncul di mana saja dalam blok switch. |
Lebih Banyak Contoh Percabangan switch-case
Mari kita lihat beberapa contoh lain untuk memperkuat pemahaman kita.
Contoh 1: Hari dalam Minggu
#include <stdio.h>
int main() {
int day = 4;
switch(day) {
case 1:
printf("Monday");
break;
case 2:
printf("Tuesday");
break;
case 3:
printf("Wednesday");
break;
case 4:
printf("Thursday");
break;
case 5:
printf("Friday");
break;
case 6:
printf("Saturday");
break;
case 7:
printf("Sunday");
break;
default:
printf("Invalid day number");
}
return 0;
}
Program ini akan mencetak "Thursday" karena day
diatur ke 4.
Contoh 2: Kalkulator
#include <stdio.h>
int main() {
char operator;
double n1, n2;
printf("Enter an operator (+, -, *, /): ");
scanf("%c", &operator);
printf("Enter two operands: ");
scanf("%lf %lf",&n1, &n2);
switch(operator)
{
case '+':
printf("%.1lf + %.1lf = %.1lf", n1, n2, n1+n2);
break;
case '-':
printf("%.1lf - %.1lf = %.1lf", n1, n2, n1-n2);
break;
case '*':
printf("%.1lf * %.1lf = %.1lf", n1, n2, n1*n2);
break;
case '/':
printf("%.1lf / %.1lf = %.1lf", n1, n2, n1/n2);
break;
default:
printf("Error! operator is not correct");
}
return 0;
}
Program ini membuat kalkulator sederhana menggunakan percabangan switch.
Percabangan switch Dengan Menggabungkan Kasus Banyak
kadang-kadang, Anda mungkin ingin beberapa kasus menjalankan kode yang sama. Anda dapat melakukan ini dengan menempatkan kasus bersamaan:
#include <stdio.h>
int main() {
char grade = 'B';
switch(grade) {
case 'A':
case 'B':
case 'C':
printf("You passed!");
break;
case 'D':
case 'F':
printf("You need to improve.");
break;
default:
printf("Invalid grade");
}
return 0;
}
Dalam contoh ini, grade A, B, dan C semua menghasilkan "You passed!", sedangkan D dan F menghasilkan "You need to improve."
Dan itu saja! Anda baru saja belajar tentang percabangan switch dalam C. Ingat, latihan membuat sempurna. Cobalah menulis percabangan switch Anda sendiri dan eksperimen dengan berbagai jenis scenario. Sebelum Anda tahu, Anda akan menjadi ahli dalam percabangan!
Selamat coding, dan semoga percabangan Anda selalu menemukan kasus yang benar!
Credits: Image by storyset