Saturday, January 26, 2019

C++ Programming 5 - Switch Case Statement Di C++ (Practice)

Assalamu'alaikum

Selamat siang, salam programming. Melanjutkan pembahasan mengenai switch case condition yang sudah di bahas sebelumnya. Cek link berikut untuk kilas balik. Di kesempatan kali ini saya akan membahas kondisi seperti apa yang cocok untuk menggunakan struktur pemrograman switch case condition. Langsung saja, berikut pembahasannya.

Contoh 1

Seperti yang sudah pernah saya jelaskan sebelumnya, switch case condition biasanya digunakan untuk sebuah penomoran. Artinya setiap kondisi percabangan di tandai dengan nilai integer berdasarkan urutan (sequence). Saya sudah cek di banyak artikel namun tidak menemukan informasi mengenai string pada switch case condition. Koreksi saya jika saya kurang informasi :D. 


Intinya menurut saya, switch case condition lebih prefer digunakan sebagai penomoran tiap tiap kondisi. Karena itu, saya disini akan memberikan contoh sebagai berikut. Buatlah program C++ untuk mengitung luas, keliling, panjang diagonal persegi panjang, dengan tampilan sbb (masukan : panjang dan lebar)
================================
MENU EMPAT PERSEGI PANJANG
1. Hitung Luas
2. Hitung Keliling
3. Hitung Panjang Diagonal
4. Keluar Program
================================
Pilih Nomor :
Jawab : Untuk menghasilkan tampilan seperti diatas kita hanya membutuhkan fisik coutnya saja. Namun, secara sistem kita akan memberikan user pilihan (struktur percabangan) yang di inginkan oleh user. Dalam hal ini, kita akan menggunakan struktur percabangan switch case condition.


Untuk catatan lainnya, ketika salah satu percabangan diatas di pilih user atau pemakai maka akan muncul program berdasarkan ketentuan yang di tampilkan. Artinya, kita akan menggunakan program rumus aritmatika setiap percabangan. Yang rumusnya akan berbeda disetiap case condition. 

Program C++ :
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <math.h>

using namespace std;

int main(){

    int pilihan, pilihan2;
    float panjang, lebar;
  
    cout << "================================" << endl;
    cout << "MENU EMPAT PERSEGI PANJANG" <<endl;
    cout << "1. Hitung Luas" <<endl;
    cout << "2. Hitung Keliling" <<endl;
    cout << "3. Hitung Panjang Diagonal" <<endl;
    cout << "4. Keluar Program" <<endl;
    cout << "================================" << endl;
    cout << "Pilih Nomor : ";
    cin >> pilihan;
  
    cout << endl;
  
    switch (pilihan){
        case 1 :
            cout << "Masukan Panjang : ";
            cin >> panjang;
            cout << "Masukan Lebar : ";
            cin >> lebar;
            cout << "Luasnya adalah : " << panjang * lebar << endl << endl ;
            break;
      
        case 2 :   
            cout << "Masukan Panjang : ";
            cin >> panjang;
            cout << "Masukan Lebar : ";
            cin >> lebar;
            cout << "Kelilingnya adalah : "    << (2*panjang) + (2*lebar) << endl << endl ;
            break;
      
        case 3 :
            cout << "Masukan Panjang : ";
            cin >> panjang;
            cout << "Masukan Lebar : ";
            cin >> lebar;
            cout << "Panjang Diagonalnya adalah : " << sqrt (panjang*panjang + lebar*lebar) << endl <<endl ;
            break;
      
        case 4 :
            break;
          
        default :
            system("cls");
            cout << "Nomor pilihan tidak ada " << endl  << endl ;
            main();          
    }
  
    getch ();
}
Keterangan : Disini saya memberikan preprocessor / header tambahan untuk paket window.h yang berfungsi untuk menjalankan command system ("cls") dan paket math.h yang berfungsi untuk menjalankan command sqrt. Dan untuk case 4 karena untuk kondisi diluar pilihan yang di tentukan (selain no 1234) maka akan di kembalikan ke pilihan awal. Catatan lainnya, system("cls") berfungsi untuk menghapus layar program dan memulai ulang dan sqrt adalah command untuk instruksi aritmatika akar.

Contoh 2

Untuk contoh 2 disini saya akan melakukan perkembangan dari program contoh 1. Jika setelah usai program selesai di jalankan, maka program akan berhenti. Kita bisa memberikan pilihan kembali sebelum program tersebut berhenti secara otomatis. Sehingga user memiliki kesempatan untuk melanjutkan atau keluar dari program. Contoh sederhana penambahannya seperti ini.

cout << "Ingin Melanjutkan? " << endl;
cout << "[1]Menu Utama [2]Keluar : " ;
cin >> pilihan2;
          
switch (pilihan2){
    case 1 :
        system("cls");
        main();
                  
    case 2 :
        break;
                      
    default :
        break;      
            }
Sehingga setelah program selesai di jalankan, user bisa memilih case 1 untuk melanjutkan, artinya di lempar ulang ke fungsi main "main(){" atau memilih case dua untuk melakukan stop struktur percabangan "break;".

Program C++ :
#include <iostream>
#include <conio.h>
#include <windows.h>
#include <math.h>

using namespace std;

int main(){

    int pilihan, pilihan2;
    float panjang, lebar;
  
    cout << "================================" << endl;
    cout << "MENU EMPAT PERSEGI PANJANG" <<endl;
    cout << "1. Hitung Luas" <<endl;
    cout << "2. Hitung Keliling" <<endl;
    cout << "3. Hitung Panjang Diagonal" <<endl;
    cout << "4. Keluar Program" <<endl;
    cout << "================================" << endl;
    cout << "Pilih Nomor : ";
    cin >> pilihan;
  
    cout << endl;
  
    switch (pilihan){
        case 1 :
            cout << "Masukan Panjang : ";
            cin >> panjang;
            cout << "Masukan Lebar : ";
            cin >> lebar;
            cout << "Luasnya adalah : " << panjang * lebar << endl << endl ;
          
            cout << "Ingin Melanjutkan? " << endl;
            cout << "[1]Menu Utama [2]Keluar : " ;
            cin >> pilihan2;
          
            switch (pilihan2){
                case 1 :
                    system("cls");
                    main();
                  
                case 2 :
                    break;
                      
                default :
                    break;      
            }
      
        case 2 :   
            cout << "Masukan Panjang : ";
            cin >> panjang;
            cout << "Masukan Lebar : ";
            cin >> lebar;
            cout << "Kelilingnya adalah : "    << (2*panjang) + (2*lebar) << endl << endl ;
          
            cout << "Ingin Melanjutkan? " << endl;
            cout << "[1]Menu Utama [2]Keluar : " ;
            cin >> pilihan2;
          
            switch (pilihan2){
                case 1 :
                    system("cls");
                    main();
                  
                case 2 :
                    break;
                  
                default :
                    break;      
            }
      
        case 3 :
            cout << "Masukan Panjang : ";
            cin >> panjang;
            cout << "Masukan Lebar : ";
            cin >> lebar;
            cout << "Panjang Diagonalnya adalah : " << sqrt (panjang*panjang + lebar*lebar) << endl <<endl ;
          
            cout << "Ingin Melanjutkan? " << endl;
            cout << "[1]Menu Utama [2]Keluar : " ;
            cin >> pilihan2;
          
            switch (pilihan2){
                case 1 :
                    system("cls");
                    main();
                  
                case 2 :
                    break;
                  
                default :
                    break;      
            }  
      
        case 4 :
            break;
          
        default :
            system("cls");
            cout << "Nomor pilihan tidak ada " << endl  << endl ;
            main();          
    }
  
    getch ();
}

Demikian pembahasan mengenai switch case statement di C++ semoga bisa bermanfaat bagi pembaca. Sekian dari saya, koreksi saya jika ada miss informasi. Kurang lebih mohon maaf, sampai berjumpa di pembahasan berikutnya. Salam Programming.

0 komentar:

Post a Comment

Kenal Saya

Follow My Twitter

Profil



Nama saya Alfa Farhan Syarief, web ini ada berdasarkan nama saya sendiri. Saya sendiri masih duduk tingkat SMK. Lebih lengkapnya saya masih bersekolah di SMKN 1

More »

Blog Archive

Recent Comment