Switch-Case C++

Posted by Fraternite on Agustus 21, 2020 with No comments

Pada dasarnya pernyataan Switch sama dengan pernyataan If yang merupakan percabangan. Tetapi pernyataan Switch hanya dapat digunakan pada tipe data int dan char.

Syntaks

switch(variabel)
{

case nilai_variabel1:
    //code block
    break;
case nilai_variabel2:
    //code block
    break;
default:
    //code block
}

Cara Kerja

variabel akan dibandingkan dengan setiap case hingga case terakhir atau default (jika ada).

Jika nilai_variabel tersebut benar, maka akan mengeksekusi code block (statement atau perintah).

default akan mengeksekusi code block, apapun nilai_variabel nya.

Perintah break digunakan untuk menyelesaikan pernyataan switch.

Jika tidak ada perintah break; maka pernyataan switch tersebut akan terjadi error (mengeksekusi code block hingga case terakhir atau default).

Contoh

#include <iostream>
using namespace std;

int main()
{
    int hari;
    cout << "Masukkan no hari (1-7) : ";
    cin >> hari;
    switch(hari)
    {
    case 1:
        cout << "Senin";
        break;
    case 2:
        cout << "Selasa";
        break;
    case 3:
        cout << "Rabu";
        break;
    case 4:
        cout << "Kamis";
        break;
    case 5:
        cout << "Jumat";
        break;
    case 6:
        cout << "Sabtu";
        break;
    case 7:
        cout << "Minggu";
        break;
    default:
        cout << "Tidak ada no hari " << hari;
    }
    return 0;
}

Output

Masukkan no hari (1-7) : 4
Kamis
Sebagai penjelasan contoh program di atas, pernyataan switch tersebut akan membandingkan variabel hari.

Semisal kita memasukkan nilai variabel hari = 4.

Variabel hari dibandingkan dengan setiap case, pertama akan dibandingkan dengan case 1, lalu case 2, dan ketika pada case 4, karena nilai variabel tersebut memenuhi, maka akan mengeksekusi code block atau pada contoh di atas menampilkan output Kamis.

Karena terdapat perintah break;, maka pernyataan switch diselesaikan.
Jika contoh program di atas kita hapus perintah break nya, maka setelah mengeksekusi code block pada case 4, akan mengeksekusi code block case selanjutnya hingga default

Output

Masukkan no hari (1-7) : 4
KamisJumatSabtuMingguTidak ada no hari 4
Categories: