Mari kita mulai dengan studi kasus.
Kamu sedang belajar untuk membedakan bilangan positif, nol, atau negatif. Sebuah bilangan dinyatakan positif apabila bilangan tersebut lebih dari nol. Karena itu, kamu akan menggunakan logika:
Jika bilangan itu lebih dari 0, maka itu adalah bilangan positif. Jika bilangan itu kurang dari 0, maka itu adalah bilangan negatif. Jika bukan keduanya, maka bilangan itu adalah 0.
Untuk menerapkan logika tersebut ke dalam program C++ kamu, kita akan mempelajari tentang beberapa struktur kondisional, seperti if dan switch statement.
Statement ini digunakan untuk menguji kebenaran dari sebuah ekspresi.
if (kondisi) {
// lakukan sesuatu
}Jika kondisi bernilai true, maka code atau perintah di dalam blok tersebut akan dijalankan. Contoh penggunakan if pada studi kasus sebelumnya:
Jika bilangan itu lebih dari 0, maka itu adalah bilangan positif.
if (N > 0) {
cout << "positif";
}contoh lebih lanjut dari operator logika if statement bisa dilihat disini
Sebelumnya, kamu sudah mencetak "positif" jika N lebih dari 0. Lalu bagaimana jika nilai N tidak lebih dari 0 atau kondisi bernilai false?
Kamu bisa menggunakan else statement untuk mengatasi itu. Statement else akan dijalankan ketika kondisi pada if bernilai false. Struktur penulisan if...else statement adalah:
if (kondisi) {
// lakukan sesuatu
} else {
// lakukan sesuatu
}Dengan statement ini, kamu bisa memodifikasi program sebelumnya.
Jika bilangan itu lebih dari 0, maka itu adalah bilangan positif. Jika tidak, maka itu bukan bilangan positif.
if (N > 0) {
cout << "positif";
} else {
cout << "bukan positif";
}contoh lebih lanjut dari operator logika if else bisa dilihat disini
Dalam studi kasus sebelumnya, kamu memiliki tiga kondisi:
Jika bilangan itu lebih dari 0, maka itu adalah bilangan positif. Jika bilangan itu kurang dari 0, maka itu adalah bilangan negatif. Jika bukan keduanya, maka bilangan itu adalah 0.
if dan else saja tidak akan cukup untuk membuat program tersebut berjalan sempurna. Di sinilah kamu harus menggunakan statement else if.
if (kondisi) {
// lakukan sesuatu
} else if (kondisi) {
// lakukan sesuatu
} else {
// lakukan sesuatu
}Statement else if bisa digunakan setelah if dan sebelum else. Statement ini juga bisa digunakan berkali-kali.
if (kondisi1) {
// lakukan sesuatu
} else if (kondisi2) {
// lakukan sesuatu
} else if (kondisi3) {
// lakukan sesuatu
} else if (kondisi4) {
// lakukan sesuatu
} else {
// lakukan sesuatu
}Jika kondisi1 tidak terpenuhi, maka program akan memeriksa kondisi2. Jika masih belum terpenuhi, program akan memeriksa kondisi3 dan seterusnya. Hal ini akan terus diulang sampai seluruh percabangan/kondisi habis. Jika tidak ada kondisi yang terpenuhi, maka program akan menjalankan perintah di dalam blok else.
Sekarang kamu bisa menyempurnakan program sebelumnya menggunakan else if.
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
if (N > 0) {
cout << "positif";
} else if (N < 0) {
cout << "negatif";
} else {
cout << "nol";
}
return 0;
}Statement switch adalah cara lain untuk melakukan pengkondisian, yang lebih mudah untuk ditulis dan dibaca.
switch(ekspresi) {
case kondisi1:
// lakukan sesuatu
break;
case kondisi2:
// lakukan sesuatu
break;
default:
// lakukan sesuatu
break;
}ekspresiadalah variabel/nilai yang akan dibandingkan.caseakan mengecek apakah ekspresi sesuai dengan kondisi yang diberikan.breakdigunakan untuk menghentikan blokswitchjika kondisi terpenuhi.defaultakan dijalankan jika tidak ada kondisi yang terpenuhi (sama sepertielse)
Kapan kamu bisa menggunakan switch? Lihat contoh program di bawah ini.
if(x == 1) {
cout << "satu";
} else if(x == 2) {
cout << "dua";
} else if(x == 3) {
cout << "tiga";
} else if(x == 4) {
cout << "empat";
} else {
cout << "pilih angka lain";
}Pada program tersebut, ekspresi x == N ditulis berulang-ulang. Kamu bisa menulis ulang program tersebut dengan menggunakan switch statement.
switch(x) {
case 1:
cout << "satu";
break;
case 2:
cout << "dua";
break;
case 3:
cout << "tiga";
break;
case 4:
cout << "empat";
break;
default:
cout << "pilih angka lain";
break;
}Catatan: Ketika menggunakan switch, kamu hanya bisa membandingkan satu ekspresi.