Catatan: Blog ini sekarang pindah ke www.kodedasar.com

Contoh Program Sederhana Switch Case pada C++ [Studi Kasus]

Damas Amirul Karim - Last Updated 23 April 2018
Contoh Program Sederhana Switch Case pada C++ [Studi Kasus]
    Switch adalah peryataan yang digunakan untuk menyelesaikan sebuah masalah dengan sejumlah kemungkinan kondisi konstan, namun pada dasarnya memiliki fungsi yang sama dengan percabangan if else.

    Lalu apa yang membedakan kedua sintaks tersebut dan kapan anda menggunakan fungsi switch atau sebaliknya? Mari kita lihat #kodedasar-nya dulu:


    Stuktur Peryataan Switch Case pada C++


    Contoh Program Sederhana Switch Case pada C++

    Secara sederhana peryataan switch dapat ditulis sebagai berikut:

    
    switch (kondisi)
    {
      case constant1:
         statements-1;
         break;
      case constant2:
         statements-2;
         break;
      default:
         default-statements;
    }
    
    

    Cara Kerja Peryataan Switch


    Peryataan switch mengevaluasi kondisi dan memeriksa apakah sama dengan constant1. Jika ya, maka statements-1 akan dieksekusi hingga kode break;

    Jika tidak maka switch akan memeriksa terhadap constant2 dan seterusnya hingga kondisi terpenuhi dan mengeksekusi program sesuai konsisi tersebut.

    Namun, jika nilai kondisi tidak sesuai dengan konstanta yang telah ditentukan sebalumnya, maka program akan mengeksekusi peryataan default.

    Catatan: Saat menemukan pernyataan break, maka program akan beralih ke akhir keseluruhan pernyataan switch (tanda "}" ) tanpa mengeksekusi baris dibawahnya.

    Sedangkan keyword default akan bekerja jika semua kondisi tidak terpenuhi.

    Perbedaan Pertyataan Switch dan If else


    Meskipun kedua peryataan tersebut digunakan untuk menyelesaikan program percabangan atau pilihan, namun terdapat perbedaan yang mendasar.

    Secara penulisan, peryataan switch lebih rapi dan mudah dipahami dibanding peryataan if else bertingkat terlebih untuk kondisi dengan banyak kemungkinan.

    perbedaan percabangan switch case dan if else

    Peryataan switch biasa digunakan untuk kondisi konstan (contoh: 200, 301), sedangkan if else untuk konsisi dengan logika (contoh: >10, !=0).

    Contoh Program Switch Case pada C++


    
    #include <iostream>
    using namespace std;
    
    int pilihan;
    string text;
    
    int main(){
     cout << "Daftar bahasa pemrograman:\n";
     cout << "1. Java \n2. C++ \n3. PHP\n";
     
     ulangi:
     
     cout << "Masukan pilihan anda (1-3): "; 
     
     cin >> pilihan;
     
     switch(pilihan){
      case 1:
       text="Anda memilih Pemrograman Java";
      break;
      case 2:
       text="Anda memilih Pemrograman C++";
      break;
      case 3:
       text="Anda memilih Pemrograman PHP";
      break;
      default: 
       goto ulangi; 
     }
     
     cout << text;
    }
    
    

    Disini saya menggunakan dua variabel, pertama variabel pilihan dengan tipe data integer yang akan kita gunakan sebagai kondisi pada peryataan switch.

    Yang kedua variabel text dengan tipe data string yang akan kita gunakan untuk menyimpan tulisan sesuai pilihan kita sebelumnya.

    Kemudian saya menggunakan input output seperti biasa, jika masih bingung silahkan baca Perintah Input & Output dengan Fungsi cin dan cout pada C++.

    Masuk ke pokok pembahasan kita kali ini, disini saya akan mengevalusi kondisi (pilihan) dengan konstanta 1-3 menggunakan fungsi switch case.

    Namun apabila kondisi tidak terpenuhi maka fungsi default akan dieksekusi yaitu menuju ke indetifier ulangi: dan kita akan memasukan pilihan lagi.

    Sebagai contoh: apabila anda memasukan angka 2, maka tulisan yang akan muncul adalah "Anda memilih pemrograman C++".

    Namun jika angka yang anda masukan bukan 1, 2, dan 3 maka program akan menuju identifier ulangi: karena kondisi default diberi fungsi goto ulangi.

    Tambahan


    Sekarang anda sudah mengetahui apa itu switch case dan bagaimana stuktur penulisannya, anda juga telah mengetahui apa fungsi break dan default.

    Sebagai studi kasus, disini saya akan memberikan contoh program "NPM (Nomor Pokok Mahasiswa) Generator" menggunakan peryataan switch dalam bahasa c++.

    
    #include <iostream>
    using namespace std;
    
    string tahun;
    int fakultas,prodi;
    string idtahun,idfakultas,idprodi,nomor,npm;
    
    int main(){
     
     cout << "Masukan tahun: "; cin >> tahun;
     idtahun = tahun.substr(2,3);
      
     cout << "Fakultas:\n 1. Hukum\n 2. Pendidikan\n 3. Ilmu Kesehatan\n 4. Teknik\n";
     cout << "Masukan fakultas anda: "; cin >> fakultas;
     switch (fakultas){
      case 1:
       idfakultas="01";
       cout << "Program Studi:\n 1. Ilmu Humum S1\n";
       break;
      case 2:
       idfakultas="02";
       cout << "Program Studi:\n 1. Bimbingan Konseling (S-1)\n 2. Pendidikan Guru PAUD (S-1) 3. Pendidikan Guru SD (S-1)\n";
       break;
      case 3:
       idfakultas="03";
       cout << "Program Studi:\n 1. Ilmu Keperawatan (S-1)\n 2. Keperawatan (D-3)\n 3. Farmasi (D-3)\n 4. Profesi Ners\n";
       break;
      case 4:
       idfakultas="04";
       cout << "Program Studi:\n 1. Teknik Industri (S-1)\n 2. Teknik Informatika (S-1)\n";
       break;
     }
     
     cout << "Masukan pilihan anda: "; cin >> prodi;
     switch (prodi){
      case 1:
       idprodi = "01";
       break;
      case 2:
       idprodi = "02";
       break;
      case 3:
       idprodi = "03";
       break;
      case 4:
       idprodi = "04";
       break;
     }
     
     cout << "Masukan Nomor Urut: "; cin >> nomor;
     
     npm=idtahun+"."+idfakultas+"."+idprodi+"."+nomor;
     cout << "NPM: " << npm;
    }
    
    

    Dalam program diatas saya sengaja tidak menggunakan fungsi default sehingga bisa saja anda memasukan angka diluar nilai yang tersedia.

    Tugas anda adalah memperbaiki program tersebut, sebagai petunjuk silahkan gunakan peryataan switch didalam switch (nested switch case).

    Demikian contoh program sederhana switch case pada bahasa pemgrograman c++ disertai studi kasus. Jika anda memiliki pertanyaan tentang program switch case diatas mari bahas bersama pada kolom diskusi dibawah.

    Jangan lewatkan "Seri Panduan Belajar C++" paling lengkap dari kami.
    Tunggu, sedang memuat. . .