Search

Memahami 6 Macam Bentuk Blok Percabangan pada C++

Apa sih percabangan itu?

Istilah percabangan sebenarnya digunakan untuk menggambarkan alur pemrograman yang bercabang. Pada flow chart, logika "jika...maka"

digambarkan dalam bentuk cabang.


Percabangan -KMTek

Karena itu, ini disebut percabangan.


Selain percabangan, struktur juga disebut dengan controll flow, decision, struktur kondisi, struktur if, dan sebagainya. Percabangan dapat membuat program sesuai dengan kondisi atau logika yang kita berikan. Pada pemrograman C++, terdapat 6 bentuk percabangan yang harus kita ketahui. Apa saja ya? Mari kita bahas.


1. Percabangan if

Percabangan if merupakan percabangan yang hanya memiliki satu blok pilihan saat kondisinya bernilai benar. Untuk contoh, buatlah file bernama `if.cpp` kemudian isi dengan kode berikut ini.


#include <iostream>
using namespace std;

int main(){

    cout << "=== Program Pembayaran ===" << endl;
    unsigned int total_belanja;
    cout << "Masukan total belanja: ";
    cin >> total_belanja;
    // menggunakan percabangan if
    if(total_belanja > 100000){
        cout << "Selamat! anda dapat hadiah" << endl;
    }
    cout << "Terimakasih sudah berbelanja di toko kami" << endl;
    return 0;
}

Kompilasikan kode tersebut dengan perintah :


g++ if.cpp -o if

Lalu eksekusi dengan perintah :


./if

Maka, hasilnya akan seperti ini


Percabangan if -KMTek
Sumber : petanikode.com

Perhatikan pada bagian ini :


// menggunakan percabangan if
if(total_belanja > 100000){
    cout << "Selamat! anda dapat hadiah" << endl;
}

Inilah yang disebut dengan blok program. Blok program berisi sekumpulan ekspresi dan statement untuk dikerjakan oleh komputer. Blok pemrograman pada C++, selalu diawali dengan tanda buka kurung kurawal `{` dan diakhiri dengan tutup kurung kurawal `}`. Apabila didalam blok hanya terdapat satu baris ekspresi atau statement, maka boleh tidak ditulis tanda kurung kurawalnya.


if (total_belanja > 100000)
    cout << "Selamat! anda dapat hadiah" << endl;

2. Percabangan if/else

Percabangan if/else merupakan percabangan yang memiliki dua blok pilihan. Blok pilihan pertama yaitu untuk kondisi benar, dan pilihan kedua untuk kondisi salah (else). Untuk contoh, buatlah file baru bernama `if_else.cpp`, kemudian isi dengan kode berikut :


#include <iostream>
using namespace std;

int main(){

    string password;
    
    cout << "========= Login =========" << endl;
    cout << "Masukan password: ";
    cin >> password;
    
    // percabangan if/else
    if (password == "kopi"){
        cout << "Selamat datang bos!" << endl;
    } else {
        cout << "Password salah, coba lagi!"  << endl;
    }
    
    cout << "Terimakasih sudah menggunakan aplikasi ini!" << endl;
    
    return 0;
}

Maka, hasilnya akan seperti ini :


Percabangan if-else -KMTek
sumber : petanikode.com

Apabila password yang diinput benar, pesan yang akan ditampilkan "Selamat datang bos!"

Tetapi jika password yang diinput salah, maka pesan yang akan ditampilkan "Password salah, coba lagi".


3. Percabangan if/else/if

Percabangan if/else/if merupakan percabangan yang memiliki lebih dari dua blok pilihan. Contoh program :


#include <iostream>
using namespace std;

int main(){

    int nilai;
    string grade;
    
    cout << "=== Program Grade Nilai ===" << endl;
    cout << "Inputkan nilai akhir: ";
    cin >> nilai;
    
    // menggunakan percabangan if/esle/if
    if (nilai >= 90) {
        grade = "A";
    } else if (nilai >= 80) {
        grade = "B+";
    } else if (nilai >= 70) { 
        grade = "B";
    } else if (nilai >= 60) { 
        grade = "C+";
    } else if (nilai >= 50) { 
        grade = "C";
    } else if (nilai >= 40) { 
        grade = "D";
    } else if (nilai >= 30) { 
        grade = "E";
    } else {
        grade = "F";
    }
    
    cout << "Grade anda: " << grade << endl;
    
    return 0;
}

Maka, hasilnya akan seperti ini :


Percabangan if/else/if -KMTek
sumber : petanikode.com

4. Percabangan Switch/Case

Percabaangan switch/case adalah bentuk lain dari percabangan if/else/if. Strukturnya seperti dibawah ini :


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

Kita dapat membuat blok kode (`case`) sebanyak yang kita inginkan didalam blok switch. Pada `<value>`, kita bisa isi dengan nilai yang akan dibandingkan dengan `variabel`. Setiap `case` harus diakhiri dengan `break`. Khusus untuk `default`, tidak perlu diakhiri dengan `break` karena dia terletak pada bagian akhir. Pemberian `break` bertujuan agar program dapat berhenti mengecek `case` berikutnya saat `case` terpenuhi. Contoh program :


#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, hasilnya akan seperti ini :


Percabangan switch/case -KMTek
sumber : petanikode.com

Pada program diatas, kita menggunakan 'toupper()' untuk mengubah huruf kecil menjadi kapital atau huruf besar.


switch (toupper(grade)){     ... }

Kenapa sih, harus menggunakan `toupper()`?

Karena dengan menggunakan `touper()` kita dapat menginput huruf kecil dan huruf besar untuk mengecek grade.


5. Percabangan dengan Operator Ternary

Percabangan menggunakan operator terary merupakan bentuk nilai dari percabangan if/else. Operator Terary juga dikenal dengan sebutan operator kondisi (conditional operator). Bentuk strukturnya adalah sebagai berikut :


(kondisi) ?true:false


Bagian `kondisi` dapat kita isi dengan ekspresi yang menghasilkan `true` dan `false`. Kemudian setelah tanda tanya `?` adalah bagian pilihan. Jika `kondisi` bernilai benar, maka `true` yang akan dipilih. Akan tetapi jika salah, maka `false` yang akan dipilih. Untuk contoh, buatlah file baru bernama `ternary.cpp`, kemudian isi dengan kode berikut :


#include <iostream>
using namespace std;

int main(){

    int jawaban;
    
    cout << "Berapakah hasil 3+4?" << endl;
    cout << "jawab> ";
    cin >> jawaban;
    
    string hasil = (jawaban == 7) ? "Benar" : "Salah";
    
    cout << "Jawaban anda: " << hasil << endl;
    
    return 0;

Maka, hasilnya akan seperti ini :


Percabangan Operator Ternary -KMTek
sumber : petanikode.com

6. Percabangan Bersarang (Nested)

Percabangan bersarang atau nested if memungkinkan kita dapat membuat blok percabang didalam percabangan. Contoh program :


#include <iostream>
using namespace std;

int main(){

    string username, password;
    
    cout << "=== Welcome ===" << endl;
    cout << "Username: ";
    cin >> username;
    cout << "Password: ";
    cin >> password;
    
    if (username == "petanikode"){
        if (password == "kopi"){
            cout << "Selamat datang bos!" << endl;
        } else {
            cout << "Password salah, coba lagi!" << endl;
        }
    } else {
        cout << "Anda tidak terdaftar" << endl;
    }
    
    return 0;
}

Maka, hasilnya akan seperti ini :


Percabangan Bersarang -KMTek
sumber : petanikode.com

Keenam bentuk percabangan diatas, merupakan bentuk-bentuk percabangan dasar pada pemrograman C++. Semoga artikel ini dapat bermanfaat untuk Anda. Jika ada saran, kritik maupun pertanyaan silahkan kirim pesan ke: PT. Karya Merapi Teknologi contact@kmtech.id


Follow sosial media kami dan ambil bagian dalam berkarya untuk negeri! YouTube:https://www.youtube.com/c/KMTekIndonesia Instagram:https://www.instagram.com/kmtek.indonesia/ Facebook:https://www.facebook.com/kmtech.id LinkedIn:https://www.linkedin.com/company/kmtek


Referensi :

https://www.petanikode.com/cpp-percabangan/


Selamat Berkarya

39 views0 comments

Recent Posts

See All