,

Struktur Pilihan Ganda (switch–case) dan Operator Ternary

rantissi Avatar
Struktur Pilihan Ganda (switch–case) dan Operator Ternary

1. Struktur switch–case

Apa Itu switch–case?

switch digunakan jika kita ingin memeriksa banyak kemungkinan nilai dari satu variabel.
Struktur ini sangat berguna saat membuat menu, pilihan angka, atau sistem kategori.


Struktur Umum

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

🧠 Keterangan:

  • case berfungsi seperti “kondisi”.
  • break menghentikan eksekusi agar tidak lanjut ke case berikutnya.
  • default opsional, digunakan jika tidak ada kondisi yang cocok.

Contoh: Menu Hari dalam Seminggu

#include <iostream>
using namespace std;

int main() {
    int hari;
    cout << "Masukkan angka 1–7 untuk hari: ";
    cin >> hari;

    switch (hari) {
        case 1:
            cout << "Senin" << endl;
            break;
        case 2:
            cout << "Selasa" << endl;
            break;
        case 3:
            cout << "Rabu" << endl;
            break;
        case 4:
            cout << "Kamis" << endl;
            break;
        case 5:
            cout << "Jumat" << endl;
            break;
        case 6:
            cout << "Sabtu" << endl;
            break;
        case 7:
            cout << "Minggu" << endl;
            break;
        default:
            cout << "Angka tidak valid!" << endl;
    }

    return 0;
}

Output

Masukkan angka 1–7 untuk hari: 5
Jumat

2. Operator Ternary (?:)

Apa Itu Operator Ternary?

Operator ternary digunakan untuk kondisi singkat, menggantikan bentuk sederhana dari if–else.

Strukturnya seperti ini:

kondisi ? nilai_jika_benar : nilai_jika_salah;

Contoh 1

int umur = 20;
string status = (umur >= 17) ? "Dewasa" : "Belum Dewasa";
cout << "Status: " << status << endl;

Output

Status: Dewasa

Contoh 2

int angka;
cout << "Masukkan angka: ";
cin >> angka;
cout << ((angka % 2 == 0) ? "Genap" : "Ganjil") << endl;

3. Perbandingan if–else vs switch–case

Kriteriaif–elseswitch–case
Bisa pakai kondisi kompleks (>, <, ==)✅ Ya❌ Tidak (hanya cocok untuk nilai tetap)
Mudah dibaca untuk banyak pilihan nilai❌ Kadang panjang✅ Lebih ringkas
Bisa pakai tipe string✅ Ya❌ Tidak (hanya int/char/enum)
Wajib pakai break❌ Tidak✅ Ya

Leave a Reply

Your email address will not be published. Required fields are marked *