05 November 2026

, ,

Membuat Program yang Dapat Mengambil Keputusan

Belajar C++ · Materi Dasar

Membuat Program yang Dapat Mengambil Keputusan

Program komputer tidak hanya dapat menerima masukan dan mengolah data. Program juga dapat menentukan tindakan yang berbeda berdasarkan kondisi tertentu. Kemampuan inilah yang membuat sebuah program dapat mengambil keputusan.

Bayangkan sebuah aplikasi sederhana yang digunakan untuk menentukan apakah seorang murid dinyatakan lulus atau belum. Aplikasi tersebut menerima nilai dari pengguna, kemudian memeriksa nilai tersebut. Jika nilainya memenuhi batas kelulusan, program menampilkan keterangan "Lulus". Namun, jika nilainya belum memenuhi batas tersebut, program menampilkan "Belum lulus".

Program seperti ini tidak cukup hanya menerima input dan melakukan perhitungan. Program perlu memeriksa suatu kondisi sebelum menentukan tindakan yang harus dilakukan.

Dalam pemrograman C++, kemampuan tersebut disebut percabangan atau decision making. Melalui percabangan, kita dapat membuat program yang memiliki alur berbeda sesuai dengan kondisi yang sedang dihadapi.

Gambaran sederhana:

Jika nilai murid minimal 75, tampilkan "Lulus". Jika tidak, tampilkan "Belum lulus".

Keputusan tersebut dapat diterjemahkan menjadi instruksi yang dipahami oleh komputer menggunakan struktur percabangan dalam C++.

1. Mengapa Program Perlu Mengambil Keputusan?

Dalam kehidupan sehari-hari, kita sering menentukan tindakan berdasarkan keadaan tertentu. Misalnya, ketika melihat langit mendung, kita mungkin memutuskan untuk membawa payung. Ketika saldo rekening tidak mencukupi, kita tidak dapat melakukan transaksi. Ketika suhu ruangan terlalu tinggi, pendingin ruangan dapat dinyalakan.

Setiap contoh tersebut memiliki pola yang sama: terdapat suatu kondisi yang diperiksa, kemudian keputusan diambil berdasarkan hasil pemeriksaan tersebut.

Program komputer juga dapat melakukan hal yang sama. Perbedaannya, komputer tidak menentukan keputusan berdasarkan intuisi seperti manusia. Komputer menjalankan aturan dan kondisi yang telah ditulis oleh programmer.

Contoh penerapan percabangan dalam aplikasi:
  • Aplikasi akademik: menentukan status kelulusan berdasarkan nilai.
  • Aplikasi kasir: memberikan diskon jika total belanja memenuhi syarat.
  • Aplikasi perbankan: memeriksa apakah saldo mencukupi sebelum transaksi.
  • Aplikasi login: memeriksa apakah nama pengguna dan kata sandi sesuai.
  • Game: menentukan apakah karakter masih memiliki energi untuk melanjutkan permainan.

Tanpa percabangan, program akan kesulitan memberikan respons yang berbeda terhadap situasi yang berbeda. Program hanya menjalankan instruksi secara berurutan, tanpa mempertimbangkan apakah suatu kondisi terpenuhi atau tidak.

Jika ingin memahami bagaimana data diterima dan diolah sebelum digunakan dalam pengambilan keputusan, pelajari kembali materi Menerima Input dan Mengolah Data dalam C++.

2. Memahami Kondisi dalam Program

Sebelum mempelajari perintah percabangan, kita perlu memahami terlebih dahulu apa yang dimaksud dengan kondisi.

Kondisi adalah sebuah ekspresi yang dapat menghasilkan nilai benar atau salah. Dalam C++, nilai benar direpresentasikan dengan true, sedangkan nilai salah direpresentasikan dengan false.

Misalnya, kita memiliki sebuah variabel bernama nilai yang berisi angka 85. Kemudian kita ingin memeriksa apakah nilai tersebut lebih besar atau sama dengan 75.

Contoh ekspresi kondisi
nilai >= 75

Jika nilai variabel adalah 85, ekspresi tersebut menghasilkan true karena 85 memang lebih besar dari 75.

Sebaliknya, jika nilai variabel adalah 60, ekspresi tersebut menghasilkan false karena 60 tidak memenuhi kondisi yang ditentukan.

Hal penting:

Komputer mengevaluasi kondisi berdasarkan aturan yang kita tulis. Hasil evaluasi kondisi inilah yang menentukan apakah suatu bagian program akan dijalankan atau dilewati.

Untuk memahami lebih jauh bagaimana nilai benar dan salah digunakan dalam pemrograman, pelajari materi tipe data Boolean dalam C++.

3. Membandingkan Nilai dengan Operator Relasional

Bagaimana cara membuat sebuah kondisi? Salah satu caranya adalah dengan membandingkan dua nilai menggunakan operator relasional.

Operator relasional digunakan untuk membandingkan dua nilai. Hasil perbandingannya berupa nilai Boolean, yaitu true atau false.

Operator Arti Contoh
== Sama dengan nilai == 80
!= Tidak sama dengan nilai != 80
> Lebih besar dari nilai > 80
< Lebih kecil dari nilai < 80
>= Lebih besar atau sama dengan nilai >= 80
<= Lebih kecil atau sama dengan nilai <= 80

Perhatikan contoh berikut. Kita ingin mengetahui apakah seseorang sudah berusia minimal 17 tahun.

Membandingkan usia
int usia = 18;

usia >= 17

Karena nilai usia adalah 18, kondisi usia >= 17 menghasilkan true.

Namun, jika usia diubah menjadi 15, kondisi tersebut menghasilkan false.

Jangan tertukar antara = dan ==.

Operator = digunakan untuk memberikan nilai ke variabel, sedangkan == digunakan untuk membandingkan apakah dua nilai sama.

Contoh: nilai = 80; berarti mengisi variabel dengan angka 80. Sementara nilai == 80 berarti memeriksa apakah nilai variabel sama dengan 80.

Jika ingin mempelajari setiap operator perbandingan beserta contoh penggunaannya secara lebih mendalam, buka materi operator relasional dalam C++.

4. Menggunakan Pernyataan if

Setelah memahami cara membuat kondisi, sekarang kita dapat menggunakannya untuk mengatur jalannya program.

Struktur percabangan yang paling sederhana dalam C++ adalah if. Pernyataan if digunakan untuk menjalankan suatu instruksi hanya ketika kondisi yang ditentukan bernilai benar.

Secara umum, bentuk penulisannya adalah sebagai berikut:

Struktur dasar if
if (kondisi) {
    // Instruksi dijalankan jika kondisi benar
}

Perhatikan bahwa kondisi ditulis di dalam tanda kurung (), sedangkan instruksi yang akan dijalankan ditempatkan di dalam kurung kurawal {}.

Sebagai contoh, kita ingin membuat program yang menampilkan pesan jika nilai murid minimal 75.

Contoh program menggunakan if
#include <iostream>
using namespace std;

int main() {
    int nilai = 85;

    if (nilai >= 75) {
        cout << "Nilai memenuhi batas kelulusan.";
    }

    return 0;
}

Ketika program dijalankan, komputer memeriksa kondisi nilai >= 75. Karena nilai variabel adalah 85, kondisi tersebut benar. Oleh karena itu, instruksi cout dijalankan.

Hasilnya:

Nilai memenuhi batas kelulusan.

Sekarang ubah nilai menjadi 60. Kondisi menjadi salah sehingga instruksi di dalam blok if tidak dijalankan. Program tetap berjalan sampai selesai, tetapi tidak menampilkan pesan tersebut.

Inti dari if:

Jika kondisi benar, jalankan instruksi di dalam blok if. Jika kondisi salah, lewati instruksi tersebut.

Perlu diketahui bahwa penggunaan kurung kurawal tetap dianjurkan, meskipun hanya terdapat satu instruksi di dalam blok if. Hal ini membuat struktur program lebih jelas dan mengurangi risiko kesalahan ketika program dikembangkan.

5. Menggunakan if dan else

Pada contoh sebelumnya, program hanya menampilkan pesan ketika kondisi benar. Lalu bagaimana jika kita ingin program memberikan respons ketika kondisi salah?

Untuk keperluan tersebut, kita dapat menggunakan else.

else merupakan bagian percabangan yang dijalankan ketika kondisi pada if bernilai salah.

Struktur if-else
if (kondisi) {
    // Dijalankan jika kondisi benar
} else {
    // Dijalankan jika kondisi salah
}

Dengan menggunakan if dan else, program dapat menentukan satu dari dua kemungkinan tindakan.

Contohnya, kita akan membuat program untuk menentukan status kelulusan berdasarkan nilai minimal 75.

Program menentukan kelulusan
#include <iostream>
using namespace std;

int main() {
    int nilai;

    cout << "Masukkan nilai: ";
    cin >> nilai;

    if (nilai >= 75) {
        cout << "Status: Lulus";
    } else {
        cout << "Status: Belum lulus";
    }

    return 0;
}

Misalnya, pengguna memasukkan angka 80. Program akan memeriksa apakah 80 lebih besar atau sama dengan 75. Karena kondisi benar, program menampilkan status "Lulus".

Namun, jika pengguna memasukkan angka 65, kondisi bernilai salah. Program kemudian menjalankan bagian else dan menampilkan "Belum lulus".

Dengan demikian, program dapat memberikan hasil yang berbeda berdasarkan data yang dimasukkan pengguna.

Untuk mempelajari lebih jauh struktur ini, kunjungi pembahasan if dan else dalam C++.

6. Memeriksa Beberapa Kondisi dengan else if

Dalam kehidupan nyata, keputusan tidak selalu hanya memiliki dua kemungkinan. Ada situasi ketika kita harus memeriksa beberapa kondisi sebelum menentukan tindakan.

Misalnya, sebuah aplikasi akademik ingin mengelompokkan nilai murid menjadi beberapa kategori:

  • Nilai 90 sampai 100: A
  • Nilai 80 sampai 89: B
  • Nilai 70 sampai 79: C
  • Nilai di bawah 70: D

Jika hanya menggunakan if dan else, kita perlu menyusun beberapa percabangan. C++ menyediakan else if untuk memeriksa kondisi tambahan secara berurutan.

Struktur else if
if (kondisi_1) {
    // Instruksi pertama
} else if (kondisi_2) {
    // Instruksi kedua
} else if (kondisi_3) {
    // Instruksi ketiga
} else {
    // Instruksi jika semua kondisi salah
}

Komputer memeriksa kondisi dari atas ke bawah. Ketika menemukan kondisi yang benar, instruksi pada bagian tersebut dijalankan dan rangkaian percabangan selesai. Kondisi berikutnya tidak lagi diperiksa.

Berikut contoh program untuk menentukan kategori nilai.

Program kategori nilai
#include <iostream>
using namespace std;

int main() {
    int nilai;

    cout << "Masukkan nilai: ";
    cin >> nilai;

    if (nilai >= 90 && nilai <= 100) {
        cout << "Kategori: A";
    } else if (nilai >= 80) {
        cout << "Kategori: B";
    } else if (nilai >= 70) {
        cout << "Kategori: C";
    } else if (nilai >= 0) {
        cout << "Kategori: D";
    } else {
        cout << "Nilai tidak valid";
    }

    return 0;
}

Mengapa pada kondisi kategori B kita hanya menuliskan nilai >= 80, tanpa menambahkan nilai <= 89?

Hal ini karena program memeriksa kondisi secara berurutan. Jika nilai 95, kondisi pertama sudah benar sehingga pemeriksaan berhenti. Jika nilai 85, kondisi pertama salah, kemudian kondisi kedua benar. Dengan demikian, urutan kondisi membantu membatasi kategori yang dipilih.

Perhatikan urutan kondisi.

Jika kondisi umum ditempatkan terlalu awal, kondisi yang lebih khusus mungkin tidak pernah diperiksa. Misalnya, jika nilai >= 70 ditempatkan sebelum nilai >= 90, nilai 95 akan langsung masuk ke kategori pertama.

Perhatikan juga bahwa contoh tersebut memeriksa nilai dari 0 sampai 100. Jika pengguna memasukkan angka di luar rentang tersebut, program menampilkan pesan bahwa nilai tidak valid.

Untuk memahami penggunaan beberapa kondisi secara lebih terperinci, pelajari percabangan else if dalam C++.

7. Menggabungkan Kondisi dengan Operator Logika

Bagaimana jika sebuah keputusan membutuhkan lebih dari satu syarat?

Misalnya, sebuah aplikasi memberikan izin masuk ke suatu ruangan hanya jika seseorang memiliki kartu identitas dan telah mendapatkan izin. Artinya, terdapat dua kondisi yang harus diperiksa sekaligus.

C++ menyediakan operator logika untuk menggabungkan atau membalikkan kondisi. Tiga operator logika yang umum digunakan adalah &&, ||, dan !.

Operator Nama Makna
&& AND Benar jika kedua kondisi benar.
|| OR Benar jika minimal satu kondisi benar.
! NOT Membalik nilai kondisi.

Operator AND (&&)

Operator && digunakan ketika seluruh kondisi harus benar agar hasil akhirnya benar.

Misalnya, seseorang hanya boleh masuk jika memiliki kartu identitas dan telah mendapatkan izin.

Contoh penggunaan AND
bool punyaKartu = true;
bool punyaIzin = true;

if (punyaKartu && punyaIzin) {
    cout << "Akses diberikan";
} else {
    cout << "Akses ditolak";
}

Jika salah satu kondisi bernilai salah, hasil gabungannya juga salah.

Operator OR (||)

Operator || digunakan ketika cukup satu kondisi benar agar hasil akhirnya benar.

Contohnya, sebuah aplikasi memberikan akses masuk jika pengguna memiliki kartu anggota atau memiliki tiket kunjungan.

Contoh penggunaan OR
bool kartuAnggota = false;
bool punyaTiket = true;

if (kartuAnggota || punyaTiket) {
    cout << "Boleh masuk";
} else {
    cout << "Tidak boleh masuk";
}

Karena pengguna memiliki tiket, kondisi gabungan bernilai benar meskipun tidak memiliki kartu anggota.

Operator NOT (!)

Operator ! digunakan untuk membalikkan nilai suatu kondisi. Jika kondisi semula benar, hasilnya menjadi salah. Jika kondisi semula salah, hasilnya menjadi benar.

Contoh penggunaan NOT
bool sedangHujan = false;

if (!sedangHujan) {
    cout << "Tidak perlu membawa payung";
}

Karena sedangHujan bernilai false, ekspresi !sedangHujan bernilai true.

Catatan tambahan: evaluasi kondisi secara singkat.

C++ menggunakan mekanisme short-circuit evaluation pada operator && dan ||. Artinya, komputer dapat berhenti mengevaluasi ekspresi ketika hasil akhirnya sudah dapat ditentukan.

Pada A && B, jika A salah, B tidak perlu diperiksa. Pada A || B, jika A benar, B tidak perlu diperiksa.

Jika ingin mempelajari tabel kebenaran dan kombinasi kondisi lebih dalam, kunjungi materi operator logika dalam C++.

8. Mengenal Nested if

Selain menggunakan if, else, dan else if, kita juga dapat menempatkan percabangan di dalam percabangan lainnya. Struktur seperti ini disebut nested if atau percabangan bersarang.

Nested if berguna ketika suatu keputusan baru perlu diperiksa setelah kondisi sebelumnya terpenuhi.

Misalnya, sebuah sistem memeriksa apakah seseorang sudah berusia minimal 17 tahun. Jika sudah, program memeriksa kembali apakah orang tersebut memiliki kartu identitas.

Contoh nested if
#include <iostream>
using namespace std;

int main() {
    int usia = 18;
    bool punyaKartuIdentitas = true;

    if (usia >= 17) {
        if (punyaKartuIdentitas) {
            cout << "Persyaratan terpenuhi";
        } else {
            cout << "Harus memiliki kartu identitas";
        }
    } else {
        cout << "Usia belum mencukupi";
    }

    return 0;
}

Perhatikan alurnya. Pertama, program memeriksa usia. Jika usia belum mencukupi, program langsung menampilkan pesan bahwa persyaratan usia belum terpenuhi.

Namun, jika usia sudah mencukupi, program melanjutkan pemeriksaan kedua, yaitu memeriksa kepemilikan kartu identitas.

Dengan cara ini, keputusan kedua hanya dilakukan ketika keputusan pertama memenuhi syarat.

Kapan nested if digunakan?

Nested if cocok digunakan ketika terdapat keputusan bertingkat. Namun, jika terlalu banyak tingkat percabangan, kode dapat menjadi sulit dibaca. Dalam situasi tertentu, beberapa kondisi dapat disederhanakan menggunakan operator logika atau struktur else if.

Pelajari contoh lain pada materi nested if atau percabangan bersarang dalam C++.

9. Menggunakan switch untuk Pilihan Tertentu

Sejauh ini kita telah menggunakan if dan else if untuk memeriksa kondisi. Namun, bagaimana jika program harus memilih satu tindakan dari beberapa pilihan yang nilainya sudah ditentukan?

Contohnya, aplikasi sederhana yang menampilkan nama hari berdasarkan angka pilihan pengguna. Angka 1 mewakili Senin, angka 2 mewakili Selasa, dan seterusnya.

Untuk situasi seperti ini, C++ menyediakan struktur percabangan switch.

Secara umum, bentuk penulisannya adalah sebagai berikut:

Struktur dasar switch
switch (ekspresi) {
    case nilai_1:
        // Instruksi untuk nilai_1
        break;

    case nilai_2:
        // Instruksi untuk nilai_2
        break;

    default:
        // Instruksi jika tidak ada case yang sesuai
}

Bagian switch akan memeriksa nilai ekspresi yang diberikan. Kemudian, program mencari case yang memiliki nilai sama dengan ekspresi tersebut.

Jika ditemukan kecocokan, instruksi pada bagian case tersebut dijalankan.

Memahami case, break, dan default

  • case: menentukan nilai yang akan dicocokkan.
  • break: menghentikan pelaksanaan blok switch agar tidak berlanjut ke bagian berikutnya.
  • default: dijalankan jika tidak ada case yang sesuai.

Berikut contoh program untuk menentukan nama hari berdasarkan angka.

Program menentukan nama hari
#include <iostream>
using namespace std;

int main() {
    int pilihan;

    cout << "Masukkan angka (1-7): ";
    cin >> pilihan;

    switch (pilihan) {
        case 1:
            cout << "Senin";
            break;

        case 2:
            cout << "Selasa";
            break;

        case 3:
            cout << "Rabu";
            break;

        case 4:
            cout << "Kamis";
            break;

        case 5:
            cout << "Jumat";
            break;

        case 6:
            cout << "Sabtu";
            break;

        case 7:
            cout << "Minggu";
            break;

        default:
            cout << "Pilihan tidak valid";
    }

    return 0;
}

Jika pengguna memasukkan angka 3, program akan menampilkan "Rabu". Jika pengguna memasukkan angka 8, tidak ada case yang cocok sehingga bagian default dijalankan.

Mengapa break penting?

Jika break tidak dituliskan, program dapat melanjutkan eksekusi ke case berikutnya sampai menemukan break atau mencapai akhir blok switch. Perilaku ini disebut fall-through.

Perlu diperhatikan bahwa switch tidak ditujukan untuk semua jenis kondisi. Dalam bentuk dasar yang dipelajari di sini, ekspresinya menggunakan tipe integral seperti int atau char, dan setiap label case harus berupa nilai konstan yang sesuai. Untuk memeriksa rentang angka atau kondisi yang lebih kompleks, if dan else if biasanya lebih tepat.

Jika ingin mempelajari struktur pilihan ini secara khusus, buka materi switch case dalam C++.

10. Membuat Program yang Dapat Mengambil Keputusan

Setelah mengenal berbagai struktur percabangan, sekarang kita akan menggabungkan beberapa konsep tersebut menjadi sebuah program yang lebih utuh.

Contoh 1: Menentukan kelulusan dan kategori nilai

Program berikut menerima nilai dari pengguna, memeriksa apakah nilai berada dalam rentang 0 sampai 100, lalu menentukan kategori dan status kelulusan.

Program penilaian sederhana
#include <iostream>
using namespace std;

int main() {
    int nilai;

    cout << "Masukkan nilai (0-100): ";
    cin >> nilai;

    if (nilai < 0 || nilai > 100) {
        cout << "Nilai tidak valid";
    } else {
        if (nilai >= 90) {
            cout << "Kategori: A" << endl;
        } else if (nilai >= 80) {
            cout << "Kategori: B" << endl;
        } else if (nilai >= 70) {
            cout << "Kategori: C" << endl;
        } else {
            cout << "Kategori: D" << endl;
        }

        if (nilai >= 75) {
            cout << "Status: Lulus";
        } else {
            cout << "Status: Belum lulus";
        }
    }

    return 0;
}

Program tersebut memiliki beberapa tahapan. Pertama, program memeriksa apakah nilai yang dimasukkan masih berada dalam rentang yang diperbolehkan. Jika tidak, program menampilkan pesan kesalahan.

Jika nilai valid, program menentukan kategori nilai menggunakan else if. Setelah itu, program melakukan pemeriksaan lain untuk menentukan status kelulusan.

Perhatikan bahwa kategori nilai dan status kelulusan merupakan dua keputusan yang berbeda. Seseorang dapat memperoleh kategori C, tetapi tetap dinyatakan lulus jika batas kelulusannya adalah 75.

Contoh 2: Program menentukan bilangan positif, negatif, atau nol

Pada contoh berikut, program memeriksa apakah sebuah bilangan lebih besar dari nol, lebih kecil dari nol, atau sama dengan nol.

Program pemeriksaan bilangan
#include <iostream>
using namespace std;

int main() {
    int angka;

    cout << "Masukkan sebuah bilangan: ";
    cin >> angka;

    if (angka > 0) {
        cout << "Bilangan positif";
    } else if (angka < 0) {
        cout << "Bilangan negatif";
    } else {
        cout << "Bilangan nol";
    }

    return 0;
}

Contoh ini memperlihatkan bagaimana satu variabel dapat diperiksa melalui beberapa kondisi yang saling berhubungan.

Contoh 3: Program menu sederhana

Percabangan juga dapat digunakan untuk membuat menu interaktif. Pengguna memilih salah satu pilihan, kemudian program menjalankan instruksi sesuai pilihan tersebut.

Program menu menggunakan switch
#include <iostream>
using namespace std;

int main() {
    int pilihan;

    cout << "=== MENU APLIKASI ===" << endl;
    cout << "1. Melihat profil" << endl;
    cout << "2. Melihat informasi" << endl;
    cout << "3. Keluar" << endl;

    cout << "Pilih menu: ";
    cin >> pilihan;

    switch (pilihan) {
        case 1:
            cout << "Anda memilih menu profil.";
            break;

        case 2:
            cout << "Anda memilih menu informasi.";
            break;

        case 3:
            cout << "Program selesai.";
            break;

        default:
            cout << "Pilihan tidak tersedia.";
    }

    return 0;
}

Melalui contoh tersebut, kita dapat melihat bahwa percabangan merupakan salah satu bagian penting dalam membangun aplikasi. Program dapat memberikan respons yang berbeda sesuai dengan pilihan pengguna.

11. Kesalahan yang Sering Terjadi Saat Menggunakan Percabangan

Ketika mulai belajar menggunakan percabangan, ada beberapa kesalahan yang cukup sering terjadi. Memahami kesalahan tersebut akan membantu kita menulis program yang lebih tepat.

Kesalahan 1: Menggunakan = ketika seharusnya ==

Operator = digunakan untuk memberikan nilai, sedangkan == digunakan untuk membandingkan kesamaan dua nilai.

Contoh yang benar:

if (nilai == 80) {
    cout << "Nilai adalah 80";
}
Kesalahan 2: Menambahkan titik koma setelah kondisi if

Perhatikan contoh berikut:

if (nilai >= 75); {
    cout << "Lulus";
}

Titik koma setelah kondisi if mengakhiri pernyataan if tersebut. Akibatnya, blok berikutnya tidak lagi menjadi bagian dari percabangan dan dapat dijalankan tanpa memperhatikan kondisi.

Penulisan yang benar adalah:

if (nilai >= 75) {
    cout << "Lulus";
}
Kesalahan 3: Urutan kondisi else if tidak tepat

Jika kondisi yang terlalu umum ditulis lebih dahulu, kondisi yang lebih khusus dapat tidak pernah diperiksa.

Pastikan kondisi disusun sesuai urutan logika yang diinginkan, misalnya dari rentang nilai tertinggi ke terendah.

Kesalahan 4: Lupa menuliskan break pada switch

Tanpa break, eksekusi dapat berlanjut ke bagian case berikutnya. Jika tidak menginginkan perilaku tersebut, pastikan setiap bagian case diakhiri dengan break.

Kesalahan 5: Tidak memperhitungkan nilai di luar rentang

Jika program meminta nilai 0 sampai 100, programmer perlu menentukan apa yang terjadi jika pengguna memasukkan -5 atau 150.

Tambahkan pemeriksaan validasi agar program tidak memberikan kategori yang keliru terhadap data yang tidak sesuai.

Kesalahan 6: Menganggap semua perbandingan angka desimal selalu tepat

Angka pecahan yang disimpan menggunakan tipe floating-point seperti float dan double dapat memiliki representasi biner yang tidak persis sama dengan angka desimal yang ditulis.

Karena itu, untuk kasus tertentu, membandingkan dua angka pecahan secara langsung menggunakan == dapat menghasilkan kejutan. Salah satu pendekatan adalah membandingkan selisih keduanya dengan toleransi tertentu.

12. Latihan dan Tantangan

Setelah mempelajari berbagai bentuk percabangan, cobalah mengerjakan latihan berikut untuk menguji pemahaman.

Latihan 1: Memahami kondisi

Jika variabel umur memiliki nilai 16, apakah kondisi umur >= 17 menghasilkan true atau false?

Latihan 2: Operator relasional

Apa perbedaan antara operator = dan == dalam C++?

Latihan 3: Struktur if-else

Buat program yang menerima sebuah angka. Jika angka tersebut lebih besar dari atau sama dengan 100, tampilkan "Angka besar". Jika tidak, tampilkan "Angka kurang dari 100".

Latihan 4: Operator logika

Sebuah program memberikan akses jika pengguna berusia minimal 17 tahun dan memiliki kartu identitas. Operator logika apa yang tepat untuk menggabungkan kedua kondisi tersebut?

Latihan 5: else if

Buat program yang menerima nilai dari 0 sampai 100 dan mengelompokkan hasilnya menjadi kategori A, B, C, atau D.

Tantangan: Membuat program kasir sederhana

Buatlah program yang meminta pengguna memasukkan total belanja. Kemudian, tentukan diskon berdasarkan ketentuan berikut:

  • Belanja minimal Rp500.000 mendapatkan diskon 20%.
  • Belanja minimal Rp250.000 mendapatkan diskon 10%.
  • Belanja di bawah Rp250.000 tidak mendapatkan diskon.

Program harus menampilkan total belanja awal, jumlah diskon, dan total yang harus dibayar.

Petunjuk: Gunakan variabel bertipe double untuk menyimpan nilai uang, lalu gunakan struktur if dan else if untuk menentukan persentase diskon.

13. Kesimpulan

Percabangan merupakan salah satu konsep penting dalam pemrograman karena memungkinkan program mengambil keputusan berdasarkan kondisi tertentu. Dengan percabangan, program tidak hanya menjalankan instruksi secara berurutan, tetapi juga dapat menentukan tindakan yang berbeda sesuai dengan data dan situasi yang dihadapi.

Dalam C++, terdapat beberapa struktur percabangan yang dapat digunakan sesuai kebutuhan:

  • if digunakan untuk menjalankan instruksi ketika suatu kondisi benar.
  • if-else digunakan untuk menentukan tindakan berdasarkan dua kemungkinan.
  • else if digunakan untuk memeriksa beberapa kondisi secara berurutan.
  • Operator logika &&, ||, dan ! digunakan untuk menggabungkan atau membalikkan kondisi.
  • nested if digunakan ketika terdapat keputusan bertingkat.
  • switch digunakan untuk memilih tindakan berdasarkan nilai tertentu.

Memahami percabangan akan menjadi bekal penting sebelum mempelajari konsep berikutnya, yaitu perulangan. Jika percabangan memungkinkan program memilih tindakan, perulangan memungkinkan program menjalankan instruksi yang sama berkali-kali selama kondisi tertentu terpenuhi.

Jelajahi materi C++ lainnya

Pelajari materi pemrograman C++ secara bertahap melalui artikel berikut:

Materi disusun secara bertahap untuk membantu memahami dasar-dasar pemrograman C++.

0 comments:

Posting Komentar