If, if…else dan Nested if…else pada C++ digunakan untuk memanipulasi aliran jalannya program berdasarkan conditional expression.
Dalam artikel ini, Anda akan belajar membuat pernyataan pengambilan keputusan dalam program C ++ menggunakan berbagai bentuk pernyataan if..else.
Dalam pemrograman komputer, kami menggunakan pernyataan if untuk menjalankan kode blok hanya ketika kondisi tertentu terpenuhi.
Misalnya, menugaskan nilai (A, B, C) berdasarkan nilai yang diperoleh siswa.
- jika persentasenya di atas 90, bernilai A
- jika persentasenya di atas 75, bernilai B
- Kalau persentasenya di atas 65, bernilai C
Ada tiga bentuk pernyataan if … else di C ++.
- Pernyataan
if
- Pernyataan
if...else
if...else if...else
statement
C++ if Statement
Sintax Pernyataan if
adalah:
if (condition) {
// body of if statement
}
Pernyataan if
mengevaluasi condition
di dalam tanda kurung ( )
.
- Jika
condition
bernilaitrue
, kode di dalam tubuhif
dieksekusi. - Jika
condition
bernilaifalse
, kode di dalam tubuhif
dilewati.
Contoh 1: C++ if Statement
// Program to print positive number entered by the user
// If the user enters a negative number, it is skipped
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Enter an integer: ";
cin >> number;
// checks if the number is positive
if (number > 0) {
cout << "You entered a positive integer: " << number << endl;
}
cout << "This statement is always executed.";
return 0;
}
Output 1
Enter an integer: -5 You entered a positive number: 5 This statement is always executed.
Ketika pengguna memasukkan -5
, angka number > 0
dievaluasi ke false dan pernyataan di dalam tubuh if dijalankan.
ketika pengguna memasukkan -5
, kondisi number > 0
dievaluasi ke false
dan pernyataan yang di dalam if
tidak di jalankan.
C++ if…else
Pernyataanif
dapat memiliki klausa opsional lain else
. syntax adalah:
if (condition) {
// block of code if condition is true
}
else {
// block of code if condition is false
}
Pernyataan if..else
statement mengevaluasi condition
di dalam tanda kurung.
Jika condition
mengevaluasi atau menyatakan true
,
- Code yang berada di body dari
if
akan dijalankan. - Code yang berada di dalam body
else
akan di skip atau dilewati untuk di jalankan
Jika condition
mengevaluasi atau menyatakan false
,
- Code yang berada di dalam body
else
akan di jalankan. - Code yang berada di dalam body
if
akan dilewati untuk dijalankan.
Contoh 2: C++ if…else Statement
// Program to check whether an integer is positive or negative
// This program considers 0 as a positive number
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Enter an integer: ";
cin >> number;
if (number >= 0) {
cout << "You entered a positive integer: " << number << endl;
}
else {
cout << "You entered a negative integer: " << number << endl;
}
cout << "This line is always printed.";
return 0;
}
Output 1
Enter an integer: 4 You entered a positive integer: 4. This line is always printed.
Di dalam program diatas, kita memiliki kondisi dimana number >= 0
. Jika kita memasukkan jumlah angka lebih dari sama dari 0, kemudian condisi akan mengevaluasi ke true
.
Disini, kita memasukkan 4. Jadi, kondisi berubah menjadi true
. Sehingga, Pernyataan yang ada di dalam body if
akan di jalankan.
C++ if…else…else if statement
Pernyataan if...else
statement digunakan untuk mengeksekusi blok kode di antara dua alternatif. Namun, jika kita perlu membuat pilihan di antara lebih dari dua alternatif, kita menggunakanif...else if...else
statement.
Syntax dari if...else if...else
statement adalah :
if (condition1) {
// code block 1
} else if (condition2){
// code block 2
} else {
// code block 3
}
Disini,
- Jika
condition1
mengevaluasi ketrue
, Codecode block 1
akan dijalankan - Kalau
condition1
mengevaluasi kefalse
, tkemudiancondition2
dievaluasi. - Jika
condition2
adalahtrue
, Codecode block 2
akan dijalankan. - Jika
condition2
adalahfalse
, Codecode block 3
akan dijalankan.
Catatan: Mungkin ada lebih dari satu pernyataan lain else if tetapi hanya satu pernyataan if dan else.
Contoh 3: C++ if…else…else if
// Program to check whether an integer is positive, negative or zero
#include <iostream>
using namespace std;
int main() {
int number;
cout << "Enter an integer: ";
cin >> number;
if (number > 0) {
cout << "You entered a positive integer: " << number << endl;
}
else if (number < 0) {
cout << "You entered a negative integer: " << number << endl;
}
else {
cout << "You entered 0." << endl;
}
cout << "This line is always printed.";
return 0;
}
Output 1
Enter an integer: 1 You entered a positive integer: 1. This line is always printed.
Output 2
Enter an integer: -2 You entered a negative integer: -2. This line is always printed.
Dan Output 3
Enter an integer: 0 You entered 0. This line is always printed.
Dalam program ini, kami mengambil nomor dari pengguna. Kami kemudian menggunakanif...else if...else
untuk memeriksa apakah angka itu positif, negatif, atau nol.
Jika angkanya lebih besar dari 0
, Code yang berada di dalam if
akan dijalankan. Jika jumlahnya kurang dari 0
, Code yang berada di dalam else if
block akan di jalankan. Kalau tidak, kode di dalam else
block akan dijalankan.
C++ Nested if…else
Terkadang, kita perlu menggunakan if
statement di dalam body lain if
statement. Ini dikenal sebagai bersarang (nested )if
statement.
Anggap saja sebagai beberapa lapisan if
statements. Ada yang pertama, luar if
statement, dan di dalamnya ada yang lain, intiif
statement. Syntaxnya adalah:
// outer if statement
if (condition1) {
// statements
// inner if statement
if (condition2) {
// statements
}
}
Notes:
- Kita dapat menambahkkan
else
danelse if
statements ke intiif
statement seperti yang dipersyaratkan. - Inti
if
statement juga bisa dimasukkan ke dalam bagian luarelse
atauelse if
statements (jika ada). - Kami dapat membuat sarang (nest) dari beberapa lapisan
if
statements.
Contoh 4: C++ Nested if
// C++ program to find if an integer is even or odd or neither (0)
// using nested if statements
#include <iostream>
using namespace std;
int main() {
int num;
cout << "Enter an integer: ";
cin >> num;
// outer if condition
if (num != 0) {
// inner if condition
if ((num % 2) == 0) {
cout << "The number is even." << endl;
}
// inner else condition
else {
cout << "The number is odd." << endl;
}
}
// outer else condition
else {
cout << "The number is 0 and it is neither even nor odd." << endl;
}
cout << "This line is always printed." << endl;
}
Output 1
Enter an integer: 34 The number is even. This line is always printed.
Output 2
Enter an integer: 35 The number is odd. This line is always printed.
Dan Output 3
Enter an integer: 0 The number is 0 and it is neither even nor odd. This line is always printed.
Pada contoh diatas,
- Kami mengambil integer sebagai input dari pengguna dan menyimpannya di variabel num.
- Kita kemudian menggunakan
if...else
statement untuk memeriksa apakah num tidak sama dengan0
.- Jika
true
, kemudian innerif...else
statement akan dijalankan. - Jika
false
, kode di dalam outerelse
conditionakan dijalankan, Yang menjadi atau menuliskan “The number is 0 and neither even nor odd.”
- Jika
- inner
if...else
pernyataan memeriksa apakah nomor input habis dibagi2
.- Jka
true
, kemudian kami mencetak pernyataan yang mengatakan the number is even. - Jika
false
, kita akan menulis the number is odd.
- Jka
Perhatikan bahwa 0
juga dapat dibagi 2
,tetapi sebenarnya bukan bilangan genap. Inilah mengapa kita pertama-tama memastikan bahwa angka input tidak 0
di outer if
condition.
Note: Seperti yang Anda lihat, nested if...else
membuat logika Anda rumit. Jika memungkinkan, Anda harus selalu berusaha menghindari bersarang if...else
.
Body pada if…else dengan hanya Satu Statement
Jika if...else
hanya memiliki satu pernyataan, Anda dapat menghilangkan { }
di program. Misalnya, Anda bisa 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.
Note: Meskipun itu tidak perlu digunakan { }
jika tubuhif...else
hanya memiliki satu pernyataan, menggunakan{ }
membuat kode Anda lebih mudah dibaca.