C++
• 9 min baca • 27 x dilihat

Percabangan IF ELSE dan SWITCH CASE dalam C++ Lengkap dengan Contoh

m

Ditulis oleh

mrjj

Percabangan IF ELSE dan SWITCH CASE dalam C++ Lengkap dengan Contoh

Percabangan IF…ELSE, IF Bersarang, dan SWITCH-CASE dalam C++

Percabangan merupakan salah satu konsep dasar yang sangat penting dalam pemrograman C++. Dengan percabangan, sebuah program dapat menentukan tindakan yang harus dilakukan berdasarkan kondisi tertentu.

Dalam bahasa pemrograman C++, terdapat beberapa bentuk percabangan yang umum digunakan, antara lain:

  • if...else
  • if...else if...else
  • if bersarang (nested if)
  • switch...case

Masing-masing memiliki fungsi dan penggunaan yang berbeda. Pada artikel ini, kita akan mempelajari sintaks, cara kerja, aturan penggunaan, serta contoh programnya.


1. Percabangan IF…ELSE dalam C++

Percabangan if...else digunakan ketika sebuah program memiliki satu kondisi dengan dua kemungkinan hasil, yaitu kondisi benar (true) dan kondisi salah (false).

Jika kondisi pada if bernilai benar, program akan menjalankan pernyataan yang berada di dalam blok if. Sebaliknya, jika kondisi bernilai salah, program akan menjalankan pernyataan yang berada di dalam blok else.

Bentuk Sintaks IF…ELSE

Berikut bentuk dasar percabangan if...else dalam C++:

Code Snippet
if (kondisi)
{
    // Pernyataan jika kondisi benar
}
else
{
    // Pernyataan jika kondisi salah
}

Cara Kerja IF…ELSE

Alur kerja if...else dapat dipahami sebagai berikut:

  1. Program mengevaluasi kondisi.
  2. Jika kondisi bernilai true, blok if dijalankan.
  3. Jika kondisi bernilai false, blok else dijalankan.
  4. Setelah selesai, program melanjutkan ke perintah berikutnya.

2. Contoh Program IF…ELSE: Pengecekan Password

Berikut contoh sederhana penggunaan if...else untuk memeriksa password.

Code Snippet
#include <iostream>
using namespace std;

int main()
{
    int password;

    cout << "Masukan password anda = ";
    cin >> password;

    if (password == 12345)
    {
        cout << "Password anda benar" << endl;
    }
    else
    {
        cout << "Password anda salah" << endl;
    }

    return 0;
}

Penjelasan Program

Pada program tersebut, pengguna diminta memasukkan password.

Code Snippet
if (password == 12345)

Artinya, program akan memeriksa apakah nilai password sama dengan 12345.

Jika benar, program menampilkan:

Code Snippet
Password anda benar

Jika tidak sama, blok else akan dijalankan dan menghasilkan:

Code Snippet
Password anda salah

Contoh Output

Jika pengguna memasukkan:

Code Snippet
Masukan password anda = 12345
Password anda benar

Sedangkan jika memasukkan password yang berbeda:

Code Snippet
Masukan password anda = 54321
Password anda salah

3. Percabangan IF…ELSE IF…ELSE

Jika program memiliki dua kondisi atau lebih, kita dapat menggunakan if...else if...else.

Dengan struktur ini, programmer dapat melakukan pemeriksaan terhadap beberapa kondisi secara berurutan.

Bentuk sederhananya adalah:

Code Snippet
if (kondisi_1)
{
    // Pernyataan jika kondisi 1 benar
}
else if (kondisi_2)
{
    // Pernyataan jika kondisi 2 benar
}
else
{
    // Pernyataan jika semua kondisi salah
}

Jumlah else if dapat ditambahkan sesuai dengan kebutuhan program.

Cara Kerja IF…ELSE IF…ELSE

Program akan memeriksa kondisi mulai dari bagian if.

Jika kondisi pertama benar, pernyataan pada blok tersebut dijalankan dan pemeriksaan kondisi berikutnya dilewati.

Jika kondisi pertama salah, program akan memeriksa else if.

Proses tersebut terus dilakukan sampai menemukan kondisi yang bernilai benar. Jika seluruh kondisi bernilai salah, maka blok else akan dijalankan.


4. Contoh Program IF…ELSE IF…ELSE: Menentukan Jenis Bilangan

Berikut contoh program untuk menentukan apakah sebuah bilangan bernilai positif, negatif, atau nol.

Code Snippet
#include <iostream>
using namespace std;

int main()
{
    int bil;

    cout << "Masukan angka : ";
    cin >> bil;

    if (bil > 0)
    {
        cout << "Angka Positif" << endl;
    }
    else if (bil < 0)
    {
        cout << "Angka Negatif" << endl;
    }
    else
    {
        cout << "Angka Nol" << endl;
    }

    return 0;
}

Penjelasan Program

Program menerima sebuah bilangan melalui variabel bil.

Kondisi pertama:

Code Snippet
if (bil > 0)

Digunakan untuk memeriksa apakah bilangan lebih besar dari nol.

Kondisi kedua:

Code Snippet
else if (bil < 0)

Digunakan untuk memeriksa apakah bilangan lebih kecil dari nol.

Jika kedua kondisi tersebut tidak terpenuhi, berarti bilangan tersebut adalah 0, sehingga blok else dijalankan.

Contoh Output

Input:

Code Snippet
Masukan angka : 25
Angka Positif

Input:

Code Snippet
Masukan angka : -10
Angka Negatif

Input:

Code Snippet
Masukan angka : 0
Angka Nol

5. Percabangan IF Bersarang (Nested IF)

IF bersarang atau nested if adalah percabangan if yang berada di dalam percabangan if lainnya.

Struktur ini digunakan ketika sebuah kondisi memiliki pemeriksaan lanjutan.

Sebagai contoh, dalam proses login terdapat dua pemeriksaan:

  1. Apakah username benar?
  2. Jika username benar, apakah password juga benar?

Kondisi kedua hanya diperiksa apabila kondisi pertama terpenuhi.

Bentuk Sintaks IF Bersarang

Code Snippet
if (kondisi_1)
{
    if (kondisi_2)
    {
        // Pernyataan jika kondisi 2 benar
    }
    else
    {
        // Pernyataan jika kondisi 2 salah
    }
}
else
{
    // Pernyataan jika kondisi 1 salah
}

Dengan menggunakan nested if, program dapat memiliki struktur pengambilan keputusan yang lebih bertingkat.


6. Contoh Program IF Bersarang: Cek Username dan Password

Berikut contoh program C++ menggunakan nested if untuk melakukan pemeriksaan username dan password.

Code Snippet
#include <iostream>
#include <string>
using namespace std;

int main()
{
    string username;
    int password;

    cout << "Masukan username : ";
    cin >> username;

    cout << "Masukan password : ";
    cin >> password;

    if (username == "admin")
    {
        if (password == 12345)
        {
            cout << "Berhasil login" << endl;
        }
        else
        {
            cout << "Password anda salah" << endl;
        }
    }
    else
    {
        cout << "Username anda salah" << endl;
    }

    return 0;
}

Penjelasan Program

Program pertama-tama memeriksa username:

Code Snippet
if (username == "admin")

Jika username benar, program melanjutkan pemeriksaan password:

Code Snippet
if (password == 12345)

Jika username dan password benar, program menampilkan:

Code Snippet
Berhasil login

Jika username benar tetapi password salah:

Code Snippet
Password anda salah

Sedangkan jika username salah, program langsung menampilkan:

Code Snippet
Username anda salah

Mengapa Menggunakan IF Bersarang?

Nested if cocok digunakan ketika keputusan kedua bergantung pada hasil keputusan pertama.

Contohnya:

Code Snippet
Username benar?
      |
   Ya |----> Password benar?
      |            |
      |          Ya|--> Berhasil login
      |            |
      |        Tidak|--> Password salah
      |
Tidak
  |
  ---> Username salah

7. Percabangan SWITCH-CASE dalam C++

Selain menggunakan if, C++ juga menyediakan struktur percabangan switch...case.

switch...case digunakan untuk memilih satu tindakan berdasarkan nilai sebuah variabel.

Struktur ini sangat cocok digunakan ketika terdapat banyak pilihan nilai yang sudah diketahui.

Misalnya:

  • Pilihan menu
  • Nomor hari
  • Kode paket
  • Pilihan operasi
  • Kode kategori

Setiap pilihan dalam switch disebut sebagai case.


8. Bentuk Sintaks SWITCH-CASE

Berikut bentuk umum switch...case dalam C++:

Code Snippet
switch (variabel)
{
    case nilai_1:
        // Pernyataan jika nilai_1 dipilih
        break;

    case nilai_2:
        // Pernyataan jika nilai_2 dipilih
        break;

    case nilai_3:
        // Pernyataan jika nilai_3 dipilih
        break;

    default:
        // Pernyataan jika tidak ada case yang sesuai
        break;
}

Fungsi break

Keyword break digunakan untuk menghentikan proses switch.

Jika break tidak digunakan, program dapat melanjutkan eksekusi ke case berikutnya (fall-through).

Oleh karena itu, pada penggunaan switch yang memilih satu tindakan per case, break biasanya ditempatkan setelah pernyataan setiap case.

Fungsi default

default digunakan ketika tidak ada satu pun case yang sesuai dengan nilai variabel.

Bagian default bersifat opsional.


9. Aturan Penggunaan SWITCH-CASE

Beberapa hal penting yang perlu diperhatikan saat menggunakan switch...case:

  1. Ekspresi pada switch harus menghasilkan nilai yang dapat digunakan oleh case, seperti tipe integral atau enumerasi. Dalam contoh dasar, tipe yang umum digunakan adalah int dan char.
  2. Setiap case diikuti nilai dan tanda titik dua (:).
  3. Nilai case harus berupa nilai konstan yang sesuai dengan tipe ekspresi switch.
  4. Jika nilai variabel sama dengan sebuah case, pernyataan pada case tersebut akan dijalankan.
  5. break digunakan untuk menghentikan eksekusi switch.
  6. default digunakan jika tidak ada nilai case yang cocok.
  7. Satu switch dapat memiliki banyak case.

10. Contoh Program SWITCH-CASE: Menentukan Hari

Berikut contoh penggunaan switch...case untuk menentukan nama hari berdasarkan angka.

Code Snippet
#include <iostream>
using namespace std;

int main()
{
    int angkaHari;

    cout << "Masukan Angka Hari : ";
    cin >> angkaHari;

    switch (angkaHari)
    {
        case 1:
            cout << "Angka Hari 1 merupakan hari SENIN";
            break;

        case 2:
            cout << "Angka Hari 2 merupakan hari SELASA";
            break;

        case 3:
            cout << "Angka Hari 3 merupakan hari RABU";
            break;

        case 4:
            cout << "Angka Hari 4 merupakan hari KAMIS";
            break;

        case 5:
            cout << "Angka Hari 5 merupakan hari JUMAT";
            break;

        case 6:
            cout << "Angka Hari 6 merupakan hari SABTU";
            break;

        case 7:
            cout << "Angka Hari 7 merupakan hari MINGGU";
            break;

        default:
            cout << "Angka hari yang anda masukan tidak ditemukan";
            break;
    }

    cout << endl;

    return 0;
}

Contoh Output

Jika pengguna memasukkan:

Code Snippet
Masukan Angka Hari : 3
Angka Hari 3 merupakan hari RABU

Jika pengguna memasukkan angka di luar 1–7:

Code Snippet
Masukan Angka Hari : 10
Angka hari yang anda masukan tidak ditemukan

11. Contoh SWITCH-CASE dengan Karakter

switch...case juga dapat digunakan untuk memeriksa karakter.

Misalnya, program menyediakan pilihan paket makanan menggunakan kode A, B, dan C.

Code Snippet
#include <iostream>
using namespace std;

int main()
{
    char pil;

    cout << "Pilih Kode Paket berdasarkan pilihan berikut :" << endl;
    cout << "A : Ayam + Nasi + Salad + Minuman" << endl;
    cout << "B : Ayam + Nasi + Minuman" << endl;
    cout << "C : Ayam + Nasi + Teh" << endl;

    cout << "Input Pilihan Paket [A/B/C] : ";
    cin >> pil;

    switch (pil)
    {
        case 'A':
            cout << "Anda memilih Paket A" << endl;
            cout << "Harga Paket A adalah : Rp25.000";
            break;

        case 'B':
            cout << "Anda memilih Paket B" << endl;
            cout << "Harga Paket B adalah : Rp20.000";
            break;

        case 'C':
            cout << "Anda memilih Paket C" << endl;
            cout << "Harga Paket C adalah : Rp18.000";
            break;

        default:
            cout << "PILIHAN TIDAK ADA";
            break;
    }

    cout << endl;

    return 0;
}

Program tersebut menggunakan tipe data char untuk menyimpan pilihan pengguna.

Contohnya:

Code Snippet
char pil;

Kemudian pilihan diperiksa melalui:

Code Snippet
switch (pil)

Jika pengguna memasukkan A, maka case 'A' akan dijalankan.


12. Perbedaan IF…ELSE dan SWITCH-CASE

Meskipun sama-sama digunakan untuk percabangan, if...else dan switch...case memiliki karakteristik yang berbeda.

Percabangan Kegunaan
if Memeriksa satu kondisi
if...else Memilih antara dua kemungkinan
if...else if...else Memeriksa beberapa kondisi
Nested if Membuat kondisi di dalam kondisi
switch...case Memilih berdasarkan beberapa nilai tertentu

Sebagai contoh, kondisi seperti:

Code Snippet
if (nilai >= 75)

lebih cocok menggunakan if karena melibatkan operator perbandingan.

Sementara pilihan seperti:

Code Snippet
1 = Senin
2 = Selasa
3 = Rabu

dapat ditulis lebih terstruktur menggunakan switch...case.


13. Kesimpulan

Percabangan merupakan bagian penting dalam pemrograman C++ karena memungkinkan program mengambil keputusan berdasarkan kondisi atau pilihan tertentu.

Beberapa struktur percabangan yang perlu dipahami adalah:

  • IF digunakan untuk memeriksa kondisi.
  • IF…ELSE digunakan untuk dua kemungkinan, yaitu kondisi benar atau salah.
  • IF…ELSE IF…ELSE digunakan untuk beberapa kondisi.
  • IF bersarang (Nested IF) digunakan ketika terdapat kondisi di dalam kondisi lainnya.
  • SWITCH-CASE digunakan untuk memilih tindakan berdasarkan nilai tertentu.

Dengan memahami percabangan, programmer dapat membuat program yang lebih interaktif dan mampu mengambil keputusan secara otomatis berdasarkan input pengguna.

Penguasaan if, if...else, nested if, dan switch...case juga menjadi dasar penting sebelum mempelajari materi C++ yang lebih lanjut seperti perulangan, fungsi, array, dan pemrograman berorientasi objek.

Bagikan artikel ini:

Tinggalkan Balasan

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