
Dalam tutorial ini, kita akan belajar tentang Statement if else untuk membuat program pengambilan keputusan dengan bantuan contoh.
Dalam pemrograman komputer, kami menggunakan Statement if untuk menjalankan code block hanya ketika kondisi tertentu.
Misalnya, pemberian nilai (A, B, C) berdasarkan nilai yang diperoleh seorang siswa..
- jika persentasenya di atas 90, berikan nilai A
- jika persentasenya di atas 75, berikan nilai B
- jika persentasenya di atas 65, berikan nilai C
Ada tiga bentuk Statement if else dalam C++.
- Statement
if - Statement
if else - Statement
if elseif else
C++ if Statement
Syntax dari Statement if tersebut adalah:
1
2
3
if (condition) {
// body dari statement if
}
Statement if mengevaluasi dalam condition tanda kurung ( ).
- Jika code
conditionmengevaluasi ketrue, code di dalam bodyifdi eksekusi. - Jika code
conditionmengevaluasi kefalse, code di dalam bodyifakan dilewati.
Catatan: code di dalam
{ }adalah isi statementif

Contoh 1: C++ if Statement
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Program untuk print integer positive yang dimasukkan oleh user
// Jika user memasukkan angka negative, akan dilewati
#include <iostream>
using namespace std;
int main() {
int angka;
cout << "Masukan sebuah integer: ";
cin >> angka;
if (angka > 0) {
cout << "Anda memasukkan sebuah integer: " << angka << endl;
}
cout << "Statement ini selalu dieksekusi.";
return 0;
}
Output 1
1
2
3
Masukkan sebuah integer: 5
Anda memasukkan angka positive: 5
Statement ini selalu dieksekusi.
Ketika 5 user masuk, kondisi angka > 0 dievaluasi true dan Statement di dalam body if di eksekusi.
Output 2
1
2
Masukkan angka: -5
Statement ini selalu dieksekusi.
Ketika -5 user masuk kondisi angka > 0 dievaluasi false dan Statement di dalam body if tidak dieksekusi.
C++ if else
Statement if dapat memiliki opsional else. Syntaxnya adalah:
1
2
3
4
5
6
if (condition) {
// block dari code if condition adalah true
}
else {
// block dari code if condition adalah false
}
Statement if..else mengevaluasi condition dalam kurung.

Jika code condition mengevaluasi true,
- code di dalam body
ifdi eksekusi - code di dalam body
elsedilwati dari eksekusi
Jika code condition mengevaluasi false,
- code di dalam body else dieksekusi
- code di dalam body if dilewati dari eksekusi
Contoh 2: C++ Statement if else
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// Program untuk memeriksa apakah integer positive atau negative
// Program ini menganggap angka 0 positive
#include <iostream>
using namespace std;
int main() {
int angka;
cout << "Masukkan sebuah integer: ";
cin >> angka;
if (angka >= 0) {
cout << "Anda memasukkan integer positive: " << angka << endl;
}
else {
cout << "Anda memasukkan integer negative: " << angka << endl;
}
cout << "Baris ini selalu diprint.";
return 0;
}
Output 1
1
2
3
Masukkan sebuah integer: 4
Anda memasukkan integer positive: 4.
Baris ini selalu diprint.
Dalam program di atas, kita memiliki condition angka >= 0. Jika kita memasukkan angka yang lebih besar atau sama dengan 0, maka condition dievaluasi true.
Di sini, kita masuk 4. Jadi, syaratnya adalah true. Oleh karena itu, Statement di dalam body if di eksekusi.
Output 2
1
2
3
Masukkan integer: -4
Anda memasukkan integer negatif: -4.
Baris ini selalu diprint.
Di sini, kita masuk -4. Jadi, syaratnya adalah false. Oleh karena itu, Statement di dalam body else dieksekusi.
C++ if else, else if Statement
Statement if else digunakan untuk mengeksekusi block code antara dua alternatif. Namun, jika kita perlu membuat pilihan di antara lebih dari dua alternatif, kita menggunakan Statement if else if else.
Syntax dari if else if else Statement tersebut adalah:
1
2
3
4
5
6
7
8
9
if (condition1) {
// code block 1
}
else if (condition2){
// code block 2
}
else {
// code block 3
}
Di Sini,
- Jika
condition1bernilaitrue, maka codeblock 1dieksekusi. - Jika
condition1bernilaifalse, makacondition2dievaluasi. - Jika
condition2adalahtrue, yang codeblock 2dijalankan. - Jika
condition2adalahfalse, yang codeblock 3dijalankan.

Catatan: Boleh lebih dari satu else if Statement tetapi hanya satu
ifdan Statement else.
Contoh 3: C++ if else, else if
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Program untuk memeriksa apakah integer positif, negatif atau 0
#include <iostream>
using namespace std;
int main() {
int angka;
cout << "Masukkan sebuah integer: ";
cin >> angka;
if (angka > 0) {
cout << "Anda memasukkan integer positive: " << angka << endl;
}
else if (angka < 0) {
cout << "Anda memasukkan integer negative: " << angka << endl;
}
else {
cout << "Anda memasukkan 0." << endl;
}
cout << "Baris ini selalu diprint.";
return 0;
}
Output 1
1
2
3
Masukkan sebuah integer: 1
Anda memasukkan integer positive: 1.
Baris ini selalu diprint.
Output 2
1
2
3
Masukkan sebuah integer: -2
Anda memasukkan integer negative: -2.
Baris ini selalu diprint.
Output 3
1
2
3
Masukkan sebuah integer: 0
Anda memasukkan 0.
Baris ini selalu diprint.
Dalam program ini, kita mengambil angka dari user. kemudian menggunakan if else if else untuk memeriksa apakah angkanya positive, negative, atau 0.
Jika jumlahnya lebih besar dari 0, code di dalam block if dieksekusi. Jika jumlahnya kurang dari 0, code di dalam block else if akan dieksekusi. Jika tidak, code di dalam block else akan dieksekusi.
C++ if else Bersarang
Terkadang, kita perlu menggunakan Statement if di dalam Statement if lain . Ini dikenal sebagai if else Bersarang.
Anggap saja sebagai beberapa lapisan statement if Ada if Statement, dan di dalamnya ada if Statement lainnya . Syntaxnya adalah:
1
2
3
4
5
6
7
8
9
// if statement luar
if (condition1) {
// statement
// if statement dalam
if (condition2) {
// statement
}
}
Catatan: Kita dapat menambahkan
elsedanelse ifStatement ke if Statement dalam sesuai kebutuhan. Statementifdalam juga dapat disisipkan di dalam Statement luarelseatauelse if(jika ada). Kita dapat membuat banyak lapisan statement if
Contoh 4: C++ if Bersarang
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Program C++ untuk mengetahui apakah suatu sebuah integer adalah genap atau ganjil atau tidak keduanya (0)
// menggunakan statements if Bersarang
#include <iostream>
using namespace std;
int main() {
int num;
cout << "Masukan sebuah integer: ";
cin >> num;
// luar if condition
if (num != 0) {
// dalam if condition
if ((num % 2) == 0) {
cout << "Jumlahnya genap." << endl;
}
// bagian dalam else condition
else {
cout << "Nomornya ganjil." << endl;
}
}
// luar else condition
else {
cout << "Bilangannya 0 dan bukan genap maupun ganjil." << endl;
}
cout << "Baris ini selalu diprint." << endl;
}
Output 1
1
2
3
Masukan sebuah integer: 34
Jumlahnya genap.
Baris ini selalu diprint.
Output 2
1
2
3
Masukkan sebuah integer: 35
Jumlahnya ganjil.
Baris ini selalu diprint.
Output 3
1
2
3
Masukkan sebuah integer: 0
Bilangannya adalah 0 dan tidak genap maupun ganjil.
Baris ini selalu diprint.
Dalam contoh di atas,
- kita mengambil integer sebagai input dari user dan menyimpannya ke dalam variable
num - kita kemudian menggunakan Statement
if elseuntuk memeriksa apakahnumtidak sama dengan0.- Jika
true, maka Statement dalamif elseakan dieksekusi. - ika
false, code di dalam luar conditionelsedijalankan, yang menampilkan “Angkanya adalah 0 dan tidak genap maupun ganjil.”
- Jika
- bagian dalam Statement
if elsecek apakah jumlah input habis dibagi2.- Jika
true, maka kita akan mencetak Statement yang menyatakan bahwa bilangan tersebut genap. - Jika
false, kita print bahwa jumlahnya ganjil.
- Jika
Perhatikan bahwa 0 juga habis dibagi 2, tetapi sebenarnya bukan bilangan genap. Inilah sebabnya mengapa pertama-tama kita memastikan bahwa input num tidak 0 dalam if condition luar.
Catatan: Seperti yang Anda lihat,
if...elseBersarang membuat logika Anda rumit. Jika memungkinkan, Anda harus selalu berusaha menghindariif elseBersarang.
body if else Dengan Hanya Satu Statement
Jika body if else hanya memiliki satu Statement, Anda dapat menghilangkannya { } dalam program. Misalnya, Anda dapat mengganti
1
2
3
4
5
6
7
8
int num = 5;
if (num > 0) {
cout << "Jumlahnya positive." << endl;
}
else {
cout << "Nomornya adalah negative." << endl;
}
dengan
1
2
3
4
5
6
int num = 5;
if (num > 0)
cout << "Nomornya adalah positive." << endl;
else
cout << "Nomornya adalah negative." << endl;
Output dari kedua program akan sama.
Catatan: Meskipun tidak perlu digunakan
{ }jika isiif elsehanya memiliki satu Statement, menggunakan{ }membuat code Anda lebih mudah dibaca.