If digunakan untuk menentukan "apakah suatu tindakan dilakukan atau tidak dilakukan" berdasarkan nilai suatu variabel. Saat menggunakan if, nilai suatu variabel dibandingkan dengan angka atau nilai variabel lain dengan menggunakan operator relasional. Perbandingan tersebut disebut dengan kondisi. Selain kondisi, if juga harus memiliki statement yang harus dikerjakan. Syntax penulisan if bisa kalian lihat di bawah ini.
- if(kondisi)statement;
- if(kondisi){statement1;statement2;...}
If yang artinya "jika" seharusnya sudah bisa mempermudah kalian untuk memahami kegunaannya. Jika kondisi bernilai benar atau terpenuhi, if akan mengeksekusi statement yang dimilikinya. Jika kondisi salah, program akan mengabaikan statement dari if.
Kalau kalian lupa dengan operator relasional, kalian bisa melihatnya lagi di bawah ini.
- Kurang dari ( < )
- Lebih dari (> )
- Sama dengan ( == )
- Tidak sama dengan ( != )
- Kurang dari sama dengan ( <= )
- Lebih dari sama dengan ( >= )
If dan Else
If bisa dipasangkan dengan else jika kalian ingin memberikan statement alternatif yang harus diproses saat kondisi dalam if salah atau tidak sesuai. Syntax penulisan if-else bisa kalian lihat di bawah ini.
else (kondisi){statement1;statement2;...}
Contoh penerapan if dan else misalnya saat kita ingin mengecek apakah suatu bilangan genap atau ganjil. Untuk mengetahui suatu bilangan genap atau ganjil, kalian membutuhkan mod (%). Syarat suatu bilangan genap atau ganjil adalah seperti di bawah ini.
- jika(angka mod 2==0)maka angka tersebut genap.
- jika(angka mod 2==1)maka angka tersebut ganjil.
#include <iostream>
using namespace std;
int main(){
int angka;
cout << "angka : ";cin >> angka;
if(angka % 2==0)cout <<"angka tersebut adalah angka genap";
else cout << "angka tersebut adalah angka ganjil";
return 0;
}
angka : 23 angka tersebut adalah angka ganjil
Kalian bisa menggunakan if tanpa else. Tapi, sebaliknya, else tidak bisa digunakan tanpa if. Jika kalian menghilangkan else seperti di bawah ini, maka program akan segera selesai saat kondisi dalam if tidak tepat karena tidak ada statement yang diproses.
#include <iostream>
using namespace std;
int main(){
int angka;
cout << "angka : ";cin >> angka;
if(angka % 2==0)cout <<"angka tersebut adalah angka genap";
return 0;
}
Compound Statement
Saat kalian membutuhkan lebih dari satu statement dalam if atau else, kalian bisa mengapitnya dengan tanda kurung kurawal. Kumpulan statement yang berada di dalam kurung kurawal disebut dengan compound statement. Contoh penulisan compound statement bisa kalian lihat di bawah ini.
#include <iostream>
using namespace std;
int main(){
int angka;
cout << "angka : ";cin >> angka;
if(angka % 2!=0)cout <<"ganjil";
else{
if(angka==0)cout << "Nol";
else cout << "genap";
}
return 0;
}
angka : 24 genap
Saat hanya ada satu statement, tanda kurung kurawal bersifat opsional. Jika kalian tidak menggunakan kurung kurawal, statement yang diproses hanya ada satu. Jika ada else setelah beberapa statement di bawah if, program mungkin saja akan error karena else tidak dianggap sebagai bagian dari if.
Else if
#include <iostream>
using namespace std;
int main(){
int angka;
cout << "angka : ";cin >> angka;
if(angka % 2!=0)cout <<"ganjil";
else if(angka==0)cout << "Nol";
else cout << "genap";
return 0;
}
Hasil kode program di atas sama dengan contoh kode program untuk compound statement. Kode program tersebut membuat if menempel dengan else sehingga menjadi "else if" karena tanda kurung kurawal dihilangkan. Selain menggunakan satu "else if" seperti contoh di atas, kalian juga bisa menggunakan beberapa else if seperti contoh di bawah ini.#include <iostream>
using namespace std;
int main(){
int angka;
cout << "angka : ";cin >> angka;
if(angka < 0)cout <<"Bilangan Negatif";
else if(angka==0)cout << "Nol";
else if(angka<=10)cout << "Bilangan positif antara 1 s.d. 10";
else if(angka<20)cout << "Angka Belasan";
else cout << "Angka lainnya";
return 0;
}
Sekumpulan else if bisa kalian letakkan di di antara else dan if. Kondisi dalam else if tersebut akan dicek secara berurutan jika kondisi di dalam if tidak terpenuhi. Jika tidak ada satupun kondisi di dalam else if yang terpenuhi, maka statement di dalam else yang akan diproses jika ada.
Alternatif Lainnya?
#include <iostream>
using namespace std;
int main(){
int angka;
cout << "angka : ";cin >> angka;
if(angka < 0)cout <<"Bilangan negatif";
else{ if(angka==0)cout << "Nol";
else{ if(angka<=10)cout << "Bilangan positif antara 1 s.d. 10";
else{ if(angka<20)cout << "Angka Belasan";
else cout << "Angka lainnya";
}}}
return 0;
}
Hasilnya sama dengan kode program sebelumnya. Tapi, karena yang kalian gunakan adalah "nested if dan else", kalian perlu mengingat berapa tanda kurung kurawal pembuka yang kalian gunakan. Tanda kurung penutup harus sama dengan tanda kurung pembuka jika kalian menggunakan compound statement bertingkat. Kalian bisa saja merapikannya, tapi jadinya akan lebih panjang.
#include <iostream>
using namespace std;
int main(){
int angka;
cout << "angka : ";cin >> angka;
if(angka < 0)cout <<"Bilangan negatif";
else{
if(angka==0)cout << "Nol";
else{
if(angka<=10)cout << "Bilangan positif antara 1 s.d. 10";
else{
if(angka<20)cout << "Angka Belasan";
else cout << "Angka lainnya";
}
}
}
return 0;
}
angka : 24 Angka lainnya
Sekali lagi, hasilnya tetap sama dengan beberapa contoh else if sebelumnya. Ada banyak cara untuk mendapatkan hasil yang sama. Tapi, kalau bisa simpel, kenapa harus repot.