Logika Pemrograman C++: Kuasai Kondisi 'if-else' dan 'switch case' (Part 6)

Rifqi An Rifqi An
Februari 28, 2026


Logika Pemrograman C++: Kuasai Kondisi 'if-else' dan 'switch case' (Part 6)

Bro/sis para pejuang keyboard! Pernah nggak sih pas lagi ngoding, kamu pengen programmu bisa mikir? Kayak, "kalo user masukin angka ini, lakuin A; kalo angka lain, lakuin B"? Nah, di C++ (dan bahasa ngoding lainnya), ada caranya biar program kita nggak cuma jalan lurus doang, tapi bisa bikin 'keputusan' sendiri! Ini nih yang namanya kondisi.

Di Part 6 dari seri Belajar Dasar C++ ini, kita bakal kupas tuntas dua senjata pamungkas buat bikin programmu cerdas: if-else dan switch case. Siap-siap otaknya diasah, karena setelah ini, programmu nggak bakal sepolos dulu lagi!

Daftar Isi

Pengenalan Kondisi: Kenapa sih Penting?

Bayangin gini, kamu lagi bikin aplikasi pesen makan online. Masa iya tiap kali user klik 'Pesan', langsung auto-pesen tanpa nanya alamat dulu? Atau kalo saldo kurang, tetep bisa pesen? Kan nggak mungkin!

Di sinilah peran logika kondisi itu penting banget. Kita butuh program yang bisa ngecek sesuatu (misal: "Apakah saldo cukup?", "Apakah barang ada stoknya?", "Apakah user udah login?") dan berdasarkan hasil cek itu, program bisa ngambil tindakan yang berbeda. Tanpa kondisi, program kita cuma jadi robot yang nurut abis, padahal maunya kan asisten yang cerdas.

if-else: Si Penentu Nasib Code Kita

Ini adalah struktur kondisi paling dasar dan paling sering kamu temuin (dan pake!). Filosofinya sederhana: "KALO ini bener, LAKUKAN ini; KALO nggak, LAKUKAN itu." Mirip banget kayak kehidupan sehari-hari, "Kalo hujan, bawa payung; Kalo nggak, yaudah santuy."

Sintaksnya di C++ gampang banget dicerna:


#include <iostream>

int main() {
    int umur = 19;

    if (umur >= 18) {
        std::cout << "Selamat datang, Anda sudah dewasa!" << std::endl;
    } else {
        std::cout << "Maaf, Anda masih di bawah umur." << std::endl;
    }

    return 0;
}

Dari contoh di atas, program bakal ngecek apakah variabel umur itu lebih besar atau sama dengan 18. Kalo true (alias bener), dia bakal jalanin kode di dalam blok if. Kalo false (alias salah), dia langsung nyelonong ke blok else. Gampang, kan? Jangan sampe lupa kurung kurawal {} ya buat ngebatesin blok kodenya, kalo nggak nanti error atau salah jalan karena si C++ bingung mana yang mau dijalanin.

if Saja, Tanpa else

Kadang, kita cuma pengen ngelakuin sesuatu kalo kondisinya bener, tapi nggak ada aksi spesifik kalo kondisinya salah. Ibaratnya, "Kalo laper, makan; Kalo nggak laper yaudah diem aja." Di C++, ini bisa banget!


#include <iostream>

int main() {
    bool ada_diskusi_dadakan = true;

    if (ada_diskusi_dadakan) {
        std::cout << "Wah, mendadak ada diskusi! Ngopi dulu deh." << std::endl;
    }
    std::cout << "Lanjut ngoding..." << std::endl; // Kode ini selalu jalan
    return 0;
}

Di sini, pesan "Wah, mendadak ada diskusi! Ngopi dulu deh." cuma akan muncul kalo ada_diskusi_dadakan itu true. Tapi pesan "Lanjut ngoding..." akan selalu muncul, karena dia ada di luar blok if.

if-else if-else: Banyak Jalan Menuju Roma

Gimana kalo kondisinya lebih dari dua pilihan? Misal, nilai rapor ada A, B, C, D, E? Nah, di sinilah if-else if-else berperan. Kita bisa nambahin kondisi pengecekan lain setelah kondisi pertama gagal.


#include <iostream>

int main() {
    int nilai = 85;

    if (nilai >= 90) {
        std::cout << "Nilai Anda: A (Mantap!)" << std::endl;
    } else if (nilai >= 80) {
        std::cout << "Nilai Anda: B (Oke juga!)" << std::endl;
    } else if (nilai >= 70) {
        std::cout << "Nilai Anda: C (Lulus kok, santai!)" << std::endl;
    } else {
        std::cout << "Nilai Anda: D/E (Semangat remedial!)" << std::endl;
    }

    return 0;
}

Program akan mengecek dari atas ke bawah. Begitu ada kondisi yang true, blok kode itu dieksekusi, dan sisa kondisi di bawahnya nggak akan dicek lagi. Kalo semua kondisi if dan else if gagal, barulah blok else yang terakhir akan dieksekusi. Ini penting diingat ya, karena urutan pengecekan itu krusial!

switch case: Alternatif Elegan untuk Pilihan Banyak

Kadang, kita punya banyak pilihan berdasarkan satu variabel aja, misal pilihan menu (1: Sarapan, 2: Makan Siang, 3: Makan Malam). Kalo pake if-else if-else terus, kodenya bisa panjang dan agak kurang rapi. Nah, di sinilah switch case datang sebagai pahlawan!

switch case paling cocok dipake kalo kamu ngebandingin satu variabel dengan beberapa nilai konstan. Misalnya, int atau char. Sintaksnya gini:


#include <iostream>

int main() {
    int hari = 3; // Misal, 1=Senin, 2=Selasa, dst.

    switch (hari) {
        case 1:
            std::cout << "Hari Senin, semangat ngoding lagi!" << std::endl;
            break;
        case 2:
            std::cout << "Hari Selasa, ada meeting dadakan." << std::endl;
            break;
        case 3:
            std::cout << "Hari Rabu, waktu yang pas buat ngopi." << std::endl;
            break;
        case 4:
            std::cout << "Hari Kamis, deadline udah deket!" << std::endl;
            break;
        case 5:
            std::cout << "Hari Jumat, akhirnya weekend!" << std::endl;
            break;
        default:
            std::cout << "Ini bukan hari kerja, santai dulu dong!" << std::endl;
            break;
    }

    return 0;
}

Beberapa hal penting tentang switch case:

  • Variabel di dalam switch() (misal: hari) akan dibandingkan dengan setiap nilai di case.
  • Kalo ada yang cocok, kode di bawah case itu akan dieksekusi.
  • PENTING: Jangan lupa pakai break; di akhir setiap case! Kalo nggak ada break, program akan terus jalan ke case berikutnya sampai ketemu break atau akhir dari switch. Ini namanya fall-through dan sering jadi sumber bug lho!
  • Blok default: itu opsional, tapi sangat disarankan. Dia akan dieksekusi kalo nggak ada case yang cocok. Mirip banget kayak else terakhir di if-else if-else.

Kapan Pakai if-else, Kapan switch case?

Ini pertanyaan klasik para programmer pemula! Nggak ada jawaban saklek, tapi ada panduan umumnya:

  • Gunakan if-else (atau if-else if-else):
    • Kalo kamu ngebandingin dengan kondisi yang kompleks (misal: >, <, &amp;&amp; (AND), || (OR)).
    • Kalo kamu ngebandingin dengan nilai yang bukan konstan (misal: variabel dengan variabel lain).
    • Kalo cuma ada sedikit kondisi (dua atau tiga).
  • Gunakan switch case:
    • Kalo kamu ngebandingin satu variabel dengan banyak nilai konstan.
    • Kalo kamu pengen kodenya terlihat lebih rapi dan mudah dibaca (khususnya kalo banyak else if).
    • Paling sering untuk pilihan menu, status, atau kode error.

Intinya, pilih yang paling jelas dan efisien buat kasusmu. Jangan sampai cuma karena pengen keren, malah bikin kode jadi susah dibaca atau di-debug.

Latihan Ngoding: Petualangan Kopi Programmer

Udah ngopi? Sekarang waktunya latihan! Bayangin kamu lagi bikin sistem sederhana buat ngatur suasana hati (mood) programmer berdasarkan level kafein di tubuhnya. Programmer ini punya 3 level kafein:

  • 0: "Ngantuk Berat" (belum ngopi sama sekali, error di mana-mana).
  • 1-50: "Sedikit Ngantuk" (baru ngopi secangkir, masih butuh stimulus).
  • 51-100: "Fokus Maksimal" (kafein sudah meresap sempurna, siap sikat bug!).
  • Lebih dari 100: "Overdosis Kafein" (jantung berdebar, mata melotot, malah nulis kode aneh-aneh).

Tugasmu adalah:

  • Buat program C++ yang meminta input levelKafein (integer).
  • Gunakan kombinasi if-else if-else atau switch case (atau bahkan kombinasi keduanya!) untuk menampilkan pesan sesuai level kafein di atas.
  • Pastikan ada pesan lucu atau curhat programmer di setiap kondisi.
  • Contoh output: "Level kafein: 75. Ngopi mantap! Bug auto minggat!" atau "Level kafein: 0. Zzz... Kopi mana kopi? Error: Programmer not responding."

Selamat mencoba! Kalo ada bug, jangan panik, itu tandanya kamu butuh ngopi lagi (atau istirahat).

Bagikan Artikel Ini