Advertisements
C++

Belajar C++ #07 : Memahami Dasar Percabangan

Anak Males – Kali ini kita akan membahas lebih dalam materi tentang C++ percabangan. Apasih yang dimaksud dengan percabangan dan lain sebagainya.

Kenapa kok dinamakan percabangan ? Buat kita yang belum pernah kuliah atau belajar algoritma dan flowchart mungkin istilah percabangan adalah hal asing dan baru pertama mendengarnya.

Karena kita juga sebelumnya sudah membahas mengenai operator yang ada di C++, kalau belum membacanya bisa baca terlebih dahulu.

Baca : Macam-macam operator C++

Istilah percabangan sebenarnya untuk menggambarkan alur program yang bercabang. Didalam flowchart logika “jika maka” digambarkan dalam bentuk cabang.

C++ percabangan
algoritma percabangan

Karena hal tersebutlah disebut dengan percabangan. Namun selain percabangan, struktur ini juga sering disebut dengan control flow, kondisi, if, pemilihan, decision dan masih banyak lagi.

Apa Itu Percabangan ?

Percabangan adalah blok program yang digunakan untuk menentukan aksi mana yang akan dieksekusi tergantung benar atau tidaknya kondisi yang didefinisikan.

Baca Juga : Latihan C++ Keliling Persegi

Suatu percabangan selalu melibatkan kondisi yaitu ekspresi logika yang bisa bernilai benar atau salah.

Suatu aksi yang ditempatkan dalam blok pemilihan hanya akan dieksekusi jika kondisi yang didefinisikan bernilai benar atau syarat yang diminta terpenuhi.

Kondisi harus selalu diapit dengan tanda kurung. Didalam C++ blok percabangan bisa dibuat dengan menggunakan perintah if.

Namun tidak jarang juga kita menemukan blok percabangan menggunakan perintah switch, nanti kita akan bahas satu persatu.

6 Macam Bentuk Percabangan C++

Karena di dalam pemrograman C++ terdapat 6 bentuk percabangan yang harus kita ketahui. Apa saja itu ? Mari kita bahas C++ percabangan ini.

1. Percabangan if

Proses percabangan if adalah percabangan yang hanya mempunyai satu blok pilihan saat kondisi benar. Percabangan bisa melibatkan satu kondisi, dua kondisi dan tiga kondisi bahkan bisa lebih.

Kondisi tersebut nantinya akan tergantung dari permasalahan yang ingin kita selesaikan.

Coba kita perhatikan flowchart dibawah ini, untuk memperjelas percabangan if dengan satu kondisi.

percabangan if C++
flowchart percabangan if

Dari percabangan tersebut maka bisa di simpulkan bahwa

“Jika kita mendapat nilai lebih dari 90 maka kita akan dapat A dan lulus.”

Baca Juga : Latihan C++ Luas Segitiga

Terus kalau tidak mendapat nilai lebih dari 90 itu bagaimana ? Ya tidak mendapat nilai A tapi tetap lulus. Singkatnya seperti itu.

Kita coba ke program C++ supaya lebih jelas lagi. Seperti biasa kita harus membuat sebuah program dan di berinama percabangan_if.cpp. Masukan Kode dibawah ini.

#include <iostream>
using namespace std;

int main(){

    cout << "=== Program Nilai ===" << endl;
    int nilai;

    cout << "Masukan Nilaimu: ";
    cin >> nilai;

    // menggunakan percabangan if
    if(nilai > 90){
        cout << "Kamu mendapat (A)" << endl;
    }

    cout << "Selamat! kamu lulus" << endl;

    return 0;
}

Hasilnya dari program diatas adalah sebagai berikut ini.

output program C++ percabangan if
output program C++ percabangan if

Coba kita perhatikan baris program yang ini, maka akan menemukan mana kode yang digunakan untuk percabangan if.

// menggunakan percabangan if
if(nilai > 90){
    cout << "Kamu mendapat (A)" << endl;
}

Blok kode tersebutlah yang digunakan untuk percabangan if. Blok kode berisi sekumpulan ekspresi dan stetment untuk dikerjakan oleh komputer.

Blok kode program pada C++, selalu diawali dengan tanda buka kurung kurawal dan diakhiri dengan tanda tutup kurung kurawal.

Baca juga :

Tapi ada pengecualian, jika di dalam blok hanya terdapat satu baris ekspresi atau statement maka kita boleh untuk tidak menggunakan tanda kurung kurawal seperti contoh berikut ini.

// menggunakan percabangan if
if(nilai > 90)
    cout << "Kamu mendapat (A)" << endl;

2. Percabangan if/else

Perbedaan dengan percabangan C++ yang hanya if saja adalah di bagian blok kode. Kalau di percabangan if hanya bisa satu blok kode.

Sedangkan untuk if else itu bisa di isi dengan dua blok kode. Blok pertama untuk kondisi benar dan blok yang kedua untuk yang salah.

Baca Juga : Latihan Program C++ Volume Bola

Coba kamu perhatikan flowchart berikut ini terlebih dahulu untuk lebih jelasnya.

if/else
percabangan if/else

Flowchart tersebut menggambarkan bagaimana kita akan mendapatkan nilai.

Jika kita mendapatkan nilai diatas 80, maka kita akan lulus dengan mendapat predikat A. Namun ketika kita mendapat nilai dibawah 80 maka otomatis kita bisa lulus namun hanya mendapat predikat B.

Konsep tersebutlah yang bisa kita namakan dengan sebutan percabangan if/else.

Kita akan mencobanya di program C++ berikut ini. Coba buatlah sebuah file cpp dan di beri nama kemudian isilah dengan kde berikut ini.

#include <iostream>
using namespace std;

int main(){

    cout << "=== Program Nilai ===" << endl;
    int nilai;

    cout << "Masukan Nilaimu: ";
    cin >> nilai;

    // menggunakan percabangan if
    if(nilai > 80){
        cout << "Kamu mendapat (A)" << endl;
    }else{
        cout << "Kamu mendapat (B)" << endl;
    }

    cout << "Selamat! kamu lulus" << endl;

    return 0;
}

Maka hasilnya akan seperti dibawah ini.

output program
output percabangan if/else

3. Percabangan if/else if

Kemudian yang ketiga adalah percabangan if/else if yang merupakan percabangan yang mempunyai lebih dari dua blok pilihan.

Coba kita perhatikan flowchart berikut ini :

flowchart if else if

Flowchart tersebut menggambarkan percabangan C++ if else if.

Baca Juga : Latihan Program C++ Volume Tabung

Jadi kita akan mencobanya kepada program C++, mari kita buat file dan beri nama sesuai selera. Lalu masukan kode dibawah ini.

#include <iostream>
using namespace std;

int main(){

    cout << "=== Program Nilai ===" << endl;
    int nilai;
    string predikat;

    cout << "Masukan Nilaimu: ";
    cin >> nilai;

    // menggunakan percabangan if
    if(nilai > 90){
        predikat = "A";
    }else if(nilai > 75){
        predikat = "B";
    }else if(nilai > 50){
        predikat = "C";
    }else{
        predikat = "D";
    }

    cout << "Selamat! kamu mendapatkan predikat " << "(" << predikat << ")" << endl;

    return 0;
}

Kode tersebut akan melahirkan output seperti dibawah ini.

output percabangan if/else if
output percabangan if/else if

4. Percabangan Switch/Case

Percabangan C++ ini berbeda dengan yang menggunakan if else, bedanya adalah switch case merupakan bentuk lain dari percabangan if else.

Struktur percabangan switch case seperti dibawah ini.

switch(variabel){
    case <value>:
        // blok kode
        break;
    case <value>:
        // blok kode
        break;
    case <value>:
        // blok kode
        break;
    default:
        // blok kode
}

Di dalam percabangan switch case kita bisa membuat blok kode case sebanyak yang kita inginkan kedalam blok switch.

Pada <value>, kita bisa isi dengan nilai yang nantinya kita akan bandingkan dengan variabel. Kemudian untuk setiap case bisa di akhiri dengan break dan diakhiri dengan deafult.

Baca Juga : Contoh Program C++ Luas Permukaan Prisma

Pemberian break bertujuan supaya program akan berhenti mengecek case berikutnya saat sebuah case terpenuhi.

Kita akan mencobanya di dalam program C++.

#include <iostream>
using namespace std;

int main(){

    char grade;

    cout << "Inputkan grade: ";
    cin >> grade;

    switch (toupper(grade)){
        case 'A':
            cout << "Luar Biasa" << endl;
            break;
        case 'B':
        case 'C':
            cout << "Bagus!" << endl;
            break;
        case 'D':
            cout << "Anda lulus" << endl;
            break;
        case 'E':
        case 'F':
            cout << "Anda remidi" << endl;
            break;
        default:
            cout << "Grade Salah!" << endl;
    }

    return 0;
}

Maka akan menghasilkan berikut ini.

output switch case

Dalam program tersebut kita menggunakan fungsi toupper() supaya ketika kita menginputkan grade dengan huruf kecil maka otomatis akan diubah menjadi huruf besar.

5. Percabangan Menggunakan Operator Ternary

Kita sebelumnya sudah membahas mengenai macam macam operator, termasuk dengan operator ternary atau biasanya dengan operator (?:).

Menggunakan operator ini bisa di bilang adalah bentuk singkat dari percabangan if else. Operator ini dikenal dengan operator kondisi.

Baca Juga : Contoh Program C++ Luas Lingkaran

Bentuk dari operator ternary adalah seperti berikut.

kondisi ? NilaiBenar : NilaiSalah

Bagian kondisi bisa kita isi dengan ekspresi yang menghasilkan nilai true dan false. Kemudian setelah tanda tanya adalah bagian pilihan.

Jika kondisi bernilai benar, maka NilaiBenar yang akan di pilih, namun jika salah maka NilaiSalah yang akan di pilih.

Pusing deh kalau ngga mencobanya kedalam programnya sendiri. Mari kita buat program percabangan C++ dan isilah dengan kode di bawah ini.

#include <iostream>
using namespace std;

int main(){

    int nilai;

    cout << "Masukan Nilai" << endl;
    cin >> nilai;

    string hasil = (nilai > 90) ? "Selamat kamu lulus" : "Maaf kamu tidak lulus";

    cout << hasil << endl;

    return 0;
}

Program percabangan C++ diatas akan menghasilkan output seperti di bawah ini.

output percabangan ternary
output percabangan ternary

6. Percabangan Nested (Bersarang)

Percabangan ini sebenarnya sangat mudah jika kita sudah memahami konsep dasar percabangan dari if. Karena percabangan ini merupakan tahap lanjutan dari percabangan if.

Daripada bingung mendingan langsung ke kode progra C++ aja kali ya.

Baca Juga : Contoh Program C++ Keliling Jajargenjang

Buatlah program C++ dan di berinama dengan percabangan nested. Kemudian masukan kode di bawah ini.

#include <iostream>
using namespace std;

int main(){

    string username, password;

    cout << "=== Welcome ===" << endl;
    cout << "Username: ";
    cin >> username;
    cout << "Password: ";
    cin >> password;

    if (username == "anakmales"){
        if (password == "cpp"){
            cout << "Selamat datang bos!" << endl;
        } else {
            cout << "Password salah, coba lagi!" << endl;
        }
    } else {
        cout << "Username tidak terdaftar" << endl;
    }

    return 0;
}

Program tersebut akan menghasilkan output sebagai berikut ini.

output percabangan nested
output percabangan nested

Penutup

Mungkin kita sudahi terlebih dahulu untuk materi percabangan ini, sampai jumpa di tutorial berikutnya yaitu perulangan C++.

Baca :  Belajar C++ #08 : Perulangan 

You may also like...

Popular Posts

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *