Menguasai Pernyataan Bersyarat C++: if, if...else, dan Nested if...else Dijelaskan
C++ if, if...else dan Nested if...else
Dalam tutorial ini, kita akan mempelajari pernyataan if...else untuk membuat program pengambilan keputusan dengan bantuan contoh.
Dalam pemrograman komputer, kita menggunakan pernyataan if...else untuk menjalankan satu blok kode di bawah kondisi tertentu dan blok kode lain di bawah kondisi yang berbeda.
Contohnya, memberikan nilai (A, B, C) berdasarkan nilai yang diperoleh siswa.
jika persentase di atas 90, berikan nilai A
jika persentase di atas 75, berikan nilai B
jika persentase di atas 65, berikan nilai C
Ada tiga bentuk pernyataan if...else dalam C++.
if statement
if...else statement
if...else if...else statement
C++ if Statement
Sintaks pernyataan if adalah:
if (condition) { // body of if statement }
Pernyataan if mengevaluasi condition di dalam tanda kurung ( ).
Jika condition mengevaluasi true, kode di dalam body if dieksekusi.
Jika condition mengevaluasi false, kode di dalam body if dilewati.
Catatan: Kode di dalam { } adalah body pernyataan if.
Contoh 1: C++ if Statement
// Program untuk mencetak bilangan bulat positif yang dimasukkan pengguna // Jika pengguna memasukkan bilangan negatif, itu dilewati #include <iostream> using namespace std; int main() { int number; cout << "Masukkan bilangan bulat: "; cin >> number; // memeriksa apakah bilangan positif if (number > 0) { cout << "Anda memasukkan bilangan bulat positif: " << number << endl; } cout << "Pernyataan ini selalu dieksekusi."; return 0; }
Output 1
Masukkan bilangan bulat: 5 Anda memasukkan bilangan bulat positif: 5 Pernyataan ini selalu dieksekusi.
Ketika pengguna memasukkan 5, kondisi number > 0 dievaluasi menjadi true dan pernyataan di dalam body if dieksekusi.
Output 2
Masukkan bilangan: -5 Pernyataan ini selalu dieksekusi.
Ketika pengguna memasukkan -5, kondisi number > 0 dievaluasi menjadi false dan pernyataan di dalam body if tidak dieksekusi.
C++ if...else
Pernyataan if dapat memiliki klausa else opsional. Sintaksnya adalah:
if (condition) { // blok kode jika kondisi benar } else { // blok kode jika kondisi salah }
Pernyataan if..else mengevaluasi condition di dalam tanda kurung.
Jika condition mengevaluasi true,
kode di dalam body if dieksekusi
kode di dalam body else dilewati dari eksekusi
Jika condition mengevaluasi false,
kode di dalam body else dieksekusi
kode di dalam body if dilewati dari eksekusi
Contoh 2: Pernyataan C++ if...else
// Program untuk memeriksa apakah bilangan bulat positif atau negatif // Program ini menganggap 0 sebagai bilangan positif #include <iostream> using namespace std; int main() { int number; cout << "Masukkan bilangan bulat: "; cin >> number; if (number >= 0) { cout << "Anda memasukkan bilangan bulat positif: " << number << endl; } else { cout << "Anda memasukkan bilangan bulat negatif: " << number << endl; } cout << "Baris ini selalu dicetak."; return 0; }
Output 1
Masukkan bilangan bulat: 4 Anda memasukkan bilangan bulat positif: 4. Baris ini selalu dicetak.
Dalam program di atas, kita memiliki kondisi number >= 0. Jika kita memasukkan bilangan lebih besar atau sama dengan 0, kondisi mengevaluasi true.
Di sini, kita memasukkan 4. Jadi, kondisi adalah true. Oleh karena itu, pernyataan di dalam body if dieksekusi.
Output 2
Masukkan bilangan bulat: -4 Anda memasukkan bilangan bulat negatif: -4. Baris ini selalu dicetak.
Di sini, kita memasukkan -4. Jadi, kondisi adalah false. Oleh karena itu, pernyataan di dalam body else dieksekusi.
C++ if...else...else if statement
Pernyataan if...else digunakan untuk menjalankan blok kode di antara dua alternatif. Namun, jika kita perlu membuat pilihan di antara lebih dari dua alternatif, kita menggunakan pernyataan if...else if...else.
Jika condition1 mengevaluasi true, code block 1 dieksekusi.
Jika condition1 mengevaluasi false, maka condition2 dievaluasi.
Jika condition2 adalah true, code block 2 dieksekusi.
Jika condition2 adalah false, code block 3 dieksekusi.
Catatan: Ada lebih dari satu pernyataan else if tetapi hanya satu pernyataan if dan else.
Contoh 3: C++ if...else...else if
// Program untuk memeriksa apakah bilangan bulat positif, negatif atau nol #include <iostream> using namespace std; int main() { int number; cout << "Masukkan bilangan bulat: "; cin >> number; if (number > 0) { cout << "Anda memasukkan bilangan bulat positif: " << number << endl; } else if (number < 0) { cout << "Anda memasukkan bilangan bulat negatif: " << number << endl; } else { cout << "Anda memasukkan 0." << endl; } cout << "Baris ini selalu dicetak."; return 0; }
Output 1
Masukkan bilangan bulat: 1 Anda memasukkan bilangan bulat positif: 1. Baris ini selalu dicetak.
Output 2
Masukkan bilangan bulat: -2 Anda memasukkan bilangan bulat negatif: -2. Baris ini selalu dicetak.
Output 3
Masukkan bilangan bulat: 0 Anda memasukkan 0. Baris ini selalu dicetak.
Dalam program ini, kita mengambil bilangan dari pengguna. Kemudian kita menggunakan tangga if...else if...else untuk memeriksa apakah bilangan positif, negatif, atau nol.
Jika bilangan lebih besar dari 0, kode di dalam blok if dieksekusi. Jika bilangan lebih kecil dari 0, kode di dalam blok else if dieksekusi. Jika tidak, kode di dalam blok else dieksekusi.
C++ Nested if...else
Kadang-kadang, kita perlu menggunakan pernyataan if di dalam pernyataan if lainnya. Ini dikenal sebagai pernyataan if bersarang.
Pikirkan ini sebagai beberapa lapisan pernyataan if. Ada pernyataan if luar pertama, dan di dalamnya ada pernyataan if dalam yang lain. Sintaksnya adalah:
// outer if statement if (condition1) { // statements // inner if statement if (condition2) { // statements } }
Catatan:
Kita dapat menambahkan pernyataan else dan else if ke pernyataan if dalam sesuai kebutuhan.
Pernyataan if dalam juga dapat disisipkan di dalam pernyataan else atau else if luar (jika ada).
Kita dapat bertumpuk beberapa lapisan pernyataan if.
Contoh 4: C++ Nested if
// Program C++ untuk menemukan apakah bilangan bulat positif, negatif atau nol // menggunakan pernyataan if bersarang #include <iostream> using namespace std; int main() { int num; cout << "Masukkan bilangan bulat: "; cin >> num; // kondisi if luar if (num != 0) { // kondisi if dalam if (num > 0) { cout << "Bilangan positif." << endl; } // kondisi else dalam else { cout << "Bilangan negatif." << endl; } } // kondisi else luar else { cout << "Bilangan adalah 0 dan bukan positif maupun negatif." << endl; } cout << "Baris ini selalu dicetak." << endl; return 0; }
Output 1
Masukkan bilangan bulat: 35 Bilangan positif. Baris ini selalu dicetak.
Output 2
Masukkan bilangan bulat: -35 Bilangan negatif. Baris ini selalu dicetak.
Output 3
Masukkan bilangan bulat: 0 Bilangan adalah 0 dan bukan positif maupun negatif. Baris ini selalu dicetak.
Dalam contoh di atas,
Kita mengambil bilangan bulat sebagai masukan dari pengguna dan menyimpannya dalam variabel num.
Kemudian kita menggunakan pernyataan if...else untuk memeriksa apakah num tidak sama dengan 0.
Jika true, maka pernyataan dalamif...else dieksekusi.
Jika false, kode di dalam kondisi luarelse dieksekusi, yang mencetak "Bilangan adalah 0 dan bukan positif maupun negatif."
Pernyataan dalamif...else memeriksa apakah bilangan masukan positif yaitu jika num lebih besar dari 0.
Jika true, maka kita mencetak pernyataan yang mengatakan bilangan positif.
Jika false, kita mencetak bahwa bilangan negatif.
Catatan: Seperti yang Anda lihat, nested if...else membuat logika Anda rumit. Jika possible, Anda sebaiknya selalu mencoba untuk menghindari nested if...else.
Body of if...else With Only One Statement
Jika body if...else hanya memiliki satu pernyataan, Anda dapat menghilangkan { } dalam program. Contohnya, Anda dapat mengganti
int number = 5; if (number > 0) { cout << "The number is positive." << endl; } else { cout << "The number is negative." << endl; }
dengan
int number = 5; if (number > 0) cout << "The number is positive." << endl; else cout << "The number is negative." << endl;
Output dari kedua program akan sama.
Catatan: Meskipun tidak perlu menggunakan { } jika body if...else hanya memiliki satu pernyataan, penggunaan { } membuat kode Anda lebih mudah dibaca.
More on Decision Making
Dalam situasi tertentu, operator ternary dapat menggantikan pernyataan if...else. Untuk informasi selengkapnya, kunjungi C++ Ternary Operator.
Jika kita perlu membuat pilihan di antara lebih dari satu alternatif berdasarkan kondisi uji yang diberikan, pernyataan switch dapat digunakan. Untuk informasi selengkapnya, kunjungi C++ switch.
Periksa contoh-contoh ini untuk mempelajari lebih lanjut:
C++ Program to Check Whether Number is Even or Odd
C++ Program to Check Whether a character is Vowel or Consonant.
C++ Program to Find Largest Number Among Three Numbers