C++ Academy · Pelajaran

Percabangan: if-else, ternary, switch-case

Pilih rangkaian if-else, ekspresi ternary, atau pernyataan switch untuk percabangan yang jelas

Pelajaran 1 dari 413 langkah

Percabangan: if-else, ternary, switch-case adalah pelajaran C++ Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar C++ Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus C++ Academy mencakup 4 pelajaran total.

Pernyataan if

Kondisional dasar. Isinya dijalankan ketika kondisi bernilai benar. Kurung kurawal bersifat opsional untuk satu pernyataan, tetapi selalu disarankan.

int score = 85;
if (score >= 60) {
    std::cout << "Pass\n";
}

Rangkaian if-else

Uji beberapa alternatif dengan else if dan akhiri dengan else. Cabang pertama yang bernilai benar akan dijalankan.

if (score >= 90) std::cout << "A";
else if (score >= 80) std::cout << "B";
else if (score >= 70) std::cout << "C";
else std::cout << "F";

Kondisi Boolean

Setiap ekspresi yang dapat dikonversi menjadi bool dapat digunakan. Pointer bernilai false ketika null, dan bilangan bulat bernilai false ketika nol. Nyatakan maksud secara eksplisit agar lebih jelas.

Inisialisasi dalam if (C++17)

C++17 memungkinkan Anda mendeklarasikan variabel di dalam if. Cakupan variabel tersebut terbatas pada isi if-else.

if (auto it = map.find(key); it != map.end()) {
    std::cout << it->second;
}

Operator Ternary

condition ? a : b mengembalikan salah satu dari dua nilai. Sangat baik untuk pilihan sederhana, tetapi buruk untuk logika bertingkat.

int max = (a > b) ? a : b;
std::string msg = (n == 1) ? "item" : "items";

Hindari Ternary Bertingkat

Ternary bertingkat sulit dibaca. Gunakan if-else atau susun ulang menjadi fungsi pembantu.

// Hard to read
auto label = (n < 0) ? "neg" : (n == 0) ? "zero" : "pos";

// Clearer
std::string label;
if (n < 0) label = "neg";
else if (n == 0) label = "zero";
else label = "pos";

Pernyataan switch

Bandingkan satu nilai dengan beberapa konstanta. Setiap cabang memerlukan break agar tidak berlanjut ke case berikutnya.

switch (day) {
    case 1: std::cout << "Mon"; break;
    case 2: std::cout << "Tue"; break;
    default: std::cout << "?";  break;
}

Fallthrough yang Disengaja

Kelompokkan beberapa case yang menggunakan kode yang sama. C++17 menambahkan [[fallthrough]] sebagai penanda untuk kompiler.

switch (c) {
    case 'a': case 'e': case 'i': case 'o': case 'u':
        std::cout << "vowel"; break;
    default:
        std::cout << "consonant";
}

Batasan switch

switch hanya berfungsi pada tipe bilangan bulat dan enum. Untuk string, gunakan if-else atau peta hash.

Inisialisasi dalam switch (C++17)

Serupa dengan if, Anda dapat mendeklarasikan variabel di dalam header switch.

switch (auto value = compute(); value) {
    case 0: ...
    default: ...
}

Pola: Peta Pencarian

Untuk cabang dengan kunci string, std::unordered_map dapat lebih rapi daripada rangkaian if-else.

std::unordered_map<std::string, std::function<void()>> commands = {
    {"start", []{ start(); }},
    {"stop",  []{ stop();  }}
};
if (auto it = commands.find(cmd); it != commands.end())
    it->second();

Pemeriksaan Singkat

Apa yang terjadi jika sebuah case dalam switch tidak memiliki break dan case berikutnya tidak kosong?

Ringkasan

Gunakan if-else untuk percabangan umum, operator ternary untuk pilihan nilai yang singkat, dan switch ketika membandingkan satu nilai dengan banyak konstanta bilangan bulat. Pernyataan inisialisasi C++17 merapikan cakupan.

Gratis untuk memulai

Belajar C++ dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
51
Pelajaran
203

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Percabangan: if-else, ternary, switch-case” gratis?

Ya — teks lengkap “Percabangan: if-else, ternary, switch-case” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus C++ Academy, upgrade ke CoddyKit PRO. Kursus C++ Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Percabangan: if-else, ternary, switch-case”?

Pilih rangkaian if-else, ekspresi ternary, atau pernyataan switch untuk percabangan yang jelas Kamu berlatih C++ Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai C++ Academy?

Tidak diperlukan pengalaman sebelumnya. C++ Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Percabangan: if-else, ternary, switch-case” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran C++ Academy ini?

Ya. Setiap pelajaran C++ Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Percabangan: if-else, ternary, switch-case
  2. Pola Perulangan: for, while, do-while
  3. Perulangan for Berbasis Rentang dengan Kontainer
  4. Pengembalian Awal, break, continue, dan goto
← Kembali ke C++ Academy