Mengenal Percabangan (Selection) dengan IF, Nested IF dan Switch | C++

Sebelumnya kita sudah belajar tentang Atribut yang digunakan dalam Bahasa C++, Bagi anda yang belum membacanya, anda bisa klik disini.
sekarang kita lanjut pada bagian Mengenal Percabangan (Selection) dengan IF, Nested IF dan Switch| C++
Salah satu permasalahan yang pasti ditemui dalam pembuatan program adalah suatu percabangan. Percabangan sendiri adalah suatu pemilihan statemen yang akan dieksekusi dimana pemilihan tersebut didasarkan pada kondisi tertentu. Di C++ sendiri ada dua buah jenis struktur yang digunakan untuk mengimplementasikan suatu percabangan, yaitu dengan menggunakan struktur if dan struktur switch.

Statemen-statemen yang terdapat dalam sebuah blok percabangan akan dieksekusi hanya jika kondisi yang didefinisikan terpenuhi (bernilai benar). Artinya jika kondisi tidak terpenuhi (bernilai salah), maka statemen-statemen tersebut juga tidak ikut dieksekusi.
  • Struktur satu kondisi
Struktur ini hanya melibatkan satu buah ekspresi yang akan diperiksa, bentuk umumnya seperti berikut :

//Jika terdapat lebih dari satu statemen
if (kondisi)
{
statemen1;
statemen2;
.........
}

//Jika hanya satu statemen
if (kondisi) stetemen;

  • Struktur dua kondisi
Struktur percabangan jenis ini terdapat sebuah statemen khusus yang berguna untuk mengatasi kejadian apabila kondisi yang didefinisikan tersebut tidak terpenuhi (bernilai salah), bentuk umumnya seperti berikut :
//Jika terdapat lebih dari satu statemen
if (kondisi) {
  Statemen_jika_kondisi_terpenuhi;
} else {
  Statemen_jika_kondisi_terpenuhi;
}

Contoh Program :
#include <stdio.h>
#include <conio.h>

int main()
{
 int nilai;
 cout<<"Masukan nilai :"; cin>>nilai;
 cout<<"\n";
 if (nilai>60)
 {
  cout<<"Selamat, anda lulus...";
 }
}

Selanjutnya Nested IF, setruktur jenis ini merupakan perluasan dari struktur yang memiliki dua kondisi di atas, yaitu dengan menyisipkan (menambahkan) satu atau lebih kondisi ke dalamnya. Bentuk umumnya seperti berikut  


//Jika terdapat lebih dari satu statemen
if (kondisi) {
  Statemen_jika_kondisi1_terpenuhi;
} else if {
  Statemen_jika_kondisi2_terpenuhi;
} else if {
  Statemen_jika_kondisi3_terpenuhi;
} else {
  Statemen_jika_semua_kondisi_tidak_terpenuhi;
}

Contoh Program :
 
#include <iostream>
#include <termios.h>
#include <stdio.h>

using namespace std;

int main () {
    int angka;
    
    cout<<"Masukan Angka :";
    cin>>angka;
    cout<<"\n";
    
    if (angka==0){
        cout<<"Ini adalah bilangan 0";
    } else if (angka%2==0){
        cout<<"Ini adalah bilangan genap";
    } else {
        cout<<"Ini adalah bilangan ganjil";
    }
    
    return 0;

}

Next yang terakhir percabangan (selection) dengan Switch, bentuk umum dari struktur percabangan yang menggunakan kata kunci switch ini adalah sebagai berikut:

switch (ekspresi) {
  case nilai_konstanta1 :
  statemen;
  break;
  case nilai_konstanta2 :
  statemen;
  break;
  case nilai_konstanta3 :
  statemen;
  break;
  default :
  statemen_alternative;
}

Note : Tipe data dari ekspresi di atas haruslah bilangan bulat atau karakter.

Contoh program : 

#include <iostream>
#include <conio.h>
#include <stdio.h>
#define phi 3.14

using namespace std;

int main(){
    int pilih;
    cout<<"---------------------------------------\n";
    cout<<"Coded by Danang Avan Maulana          |\n";
    cout<<"---------------------------------------\n\n";
    cout<<"Pilih program yang akan kalian jalankan \n\n";
    cout<<"1. Menghitung Konversi Suhu \n";
    cout<<"2. Menghitung Total Belanja \n";
    cout<<"3. Menghitung Luas dan volume Bola \n\n";
    cout<<"Tulis (1-3) :";
    cin>>pilih;
    
    switch (pilih){
    case 1 :
        float cel, far, rea;
        cout<<"Masukan suhu Celcius : "; cin>>cel;
        
        far=cel*=1.8+32;
        rea=cel*0.8;
        
        cout<<"Suhu dalam Fahrenheit :"<<far<<endl;
        cout<<"Suhu dalam Reamur :"<<rea<<endl;
        
        break;
    case 2 :
        int total, diskon, member, bayar;
        int b1,b2,b3,b4,b5,b6,b7,b8;
        char y;
        
        cout<<"Menghitung Total Belanja \n\n";
        cout<<"List barang yang dibeli  \n\n";
        cout<<"Telur,  Harganya : ";cin>>b1;
        cout<<"Beras,  Harganya : ";cin>>b2;
        cout<<"Minyak, Harganya : ";cin>>b3;
        cout<<"Kopi,   Harganya : ";cin>>b4;
        cout<<"Tempe,  Harganya : ";cin>>b5;
        cout<<"Bayem,  Harganya : ";cin>>b6;
        cout<<"Susu,   Harganya : ";cin>>b7;
        cout<<"Teh,    Harganya : ";cin>>b8;
        
        total = b1+b2+b3+b4+b5+b6+b7+b8;
        diskon = total*0.15;
        member = total-diskon-20000;
        bayar = total-diskon;
        
        cout<<"Total belanja : ";cout<<total<<endl;
        cout<<"Promo diskon 15% \n";
        cout<<"Total pembayaran setelah mendapat diskon : ";cout<<bayar<<endl;
        cout<<"Apakah anda member ? Jawab y/n : ";cin>>y;
    {
        if (y){
        cout<<"Anda Mendapat potongan lagi sebesar 20000 \n\n";
        cout<<"Jadi sekarang anda membayar : ";cout<<member;
        } else {
            cout<<"Anda bukan member, jadi anda tetap membayar : ";cout<<bayar;
        }
    }
        break;
        
    case 3 :
        int jari, luas, vol;
        cout<<"Menghitung luas permukaan dan volume bola \n\n";
        cout<<"Masukan jari-jari : ";cin>>jari;
        
        luas = 4*phi*jari*jari;
        vol = (4*phi*jari*jari*jari)/3;
        
        cout<<"Luas Permukaan Bola Adalah : ";cout<<luas<<endl;
        cout<<"Volume Bola Adalah : ";cout<<vol;
        
        break;
    }
    return 0;
}

Setelah mempelajari mengenai Percabangan (Selection) dengan IF, Nested IF dan Switch | C++, selanjutnya kita akan membahas mengenai "Pengulangan (Looping) Menggunakan FOR | C++"

Comments

Popular posts from this blog

[BUG BOUNTY] Email Spoofing | No Valid SPF Record

Deface web with auto sql balitbang method

Legion Tutorial - Information Gathering (Kali Linux)