Switch Case pada C++

Switch case adalah struktur kontrol yang digunakan dalam bahasa pemrograman C++ untuk memilih dari serangkaian opsi. Ini memungkinkan eksekusi berbeda berdasarkan nilai yang diberikan kepada suatu variabel.

Struktur Dasar:

switch (nilai) {
    case nilai_pilihan_1:
        // Statement untuk nilai_pilihan_1
        break;
    case nilai_pilihan_2:
        // Statement untuk nilai_pilihan_2
        break;
    // dan seterusnya
    default:
        // Statement default jika tidak ada kasus yang cocok
} 

Penjelasan:

  • `switch` diikuti oleh ekspresi (biasanya variabel).
  • Setiap `case` adalah kemungkinan nilai yang mungkin dari ekspresi.
  • Ketika nilai ekspresi cocok dengan nilai `case`, pernyataan di dalam `case` dieksekusi.
  • `break` digunakan untuk menghentikan eksekusi setelah setiap `case`. Jika `break` tidak ditambahkan, eksekusi akan melanjutkan ke `case` berikutnya, yang disebut sebagai "fall-through".
  • `default` adalah bagian opsional yang dieksekusi jika tidak ada `case` yang cocok dengan nilai ekspresi.
Contoh Penggunaan:
#include <iostream>
using namespace std; 
int main() {
    int pilihan;
    cout << "Masukkan pilihan (1-3): ";
    cin >> pilihan;
    switch (pilihan) {
        case 1:
            cout << "Anda memilih opsi 1\n";
            break;
        case 2:
            cout << "Anda memilih opsi 2\n";
            break;
        case 3:
            cout << "Anda memilih opsi 3\n";
            break;
        default:
            cout << "Pilihan tidak valid\n";
    }
    return 0;
}

Dalam contoh ini, pengguna diminta untuk memasukkan pilihan. Nilai `pilihan` kemudian dibandingkan dengan setiap `case`. Jika nilainya cocok, pernyataan di dalam `case` dieksekusi. Jika tidak ada yang cocok, pernyataan di dalam `default` dieksekusi.


Berikut adalah contoh penggunaan switch case dalam konteks aritmatika di C++:
#include <iostream>
using namespace std;
int main() {
    char operasi;
    double angka1, angka2, hasil;
    cout << "Masukkan operasi aritmatika (+, -, *, /): ";
    cin >> operasi;
    cout << "Masukkan dua angka: ";
    cin >> angka1 >> angka2;
    switch (operasi) {
        case '+':
            hasil = angka1 + angka2;
            cout << "Hasil penjumlahan: " << hasil << endl;
            break;
        case '-':
            hasil = angka1 - angka2;
            cout << "Hasil pengurangan: " << hasil << endl;
            break;
        case '*':
            hasil = angka1 * angka2;
            cout << "Hasil perkalian: " << hasil << endl;
            break;
        case '/':
            if (angka2 != 0) {
                hasil = angka1 / angka2;
                cout << "Hasil pembagian: " << hasil << endl;
            } else {
                cout << "Pembagian dengan nol tidak dapat dilakukan." << endl;
            }
            break;
        default:
            cout << "Operasi tidak valid" << endl;
    }
    return 0;
}

Dalam contoh ini, pengguna diminta untuk memasukkan operasi aritmatika dan dua angka. Kemudian, switch case digunakan untuk memilih operasi yang dimasukkan pengguna. Berdasarkan operasi tersebut, program akan melakukan operasi aritmatika yang sesuai dan menampilkan hasilnya. Jika operasi yang dimasukkan tidak valid, program akan menampilkan pesan "Operasi tidak valid". Jika terjadi percobaan pembagian dengan nol, program akan memberikan pesan yang sesuai.