Operator Logika dan Boolean

Operator logika memungkinkan kalian untuk menggunakan lebih dari satu kondisi sebagai syarat perulangan. Kalian juga bisa membalikkan kondisi yang dibutuhkan dengan operator logika. Dalam bahasa C++, ada 3 operator logika yang bisa kalian gunakan. Operator-operator tersebut, yaitu :
  • Logika and (&&) : Dua kondisi harus benar
  • Logika or (||) : Salah satu kondisi harus benar.
  • Logika not (!) : Membalikkan nilai dari kondisi benar menjadi salah, atau sebaliknya.

Operator and (&&) dan or (||) bisa diletakkan di antara 2 kondisi. Berbeda dengan 2 operator lainnya, operator not (!) hanya memerlukan satu kondisi. Jika terdapat beberapa kondisi, kalian bisa menyatukannya di dalam tanda kurung.

Operator-operator tersebut bisa digunakan di dalam percabangan maupun perulangan. Tapi, sebagai bagian dari penjelasannya, saya hanya akan memberikan contoh kodenya untuk percabangan saja.

And (&&)

Operator and mengharuskan 2 kondisi yang jadi operand-nya bernilai benar semua. Artinya, semua kondisi harus terpenuhi. Contoh penggunaan operator logika and bisa kalian lihat di bawah ini.
#include <iostream>

using namespace std;

int main(){
	int angka=0;
	cout << "angka : ";cin >> angka;
	if((angka%2==0) && (angka >0))
	    cout <<"angka genap dan positif";
	else cout <<"angka lainnya";
	return 0;
}
Contoh Program:
angka : 24
angka genap dan positif

Contoh di atas mengharuskan variabel bernilai genap dan lebih dari 0. Kalau kalian memasukkan nilai yang hanya memenuhi salah satu kondisi, maka outputnya akan berbeda.

Contoh Program:
angka : -24
angka lainnya

Kalian bisa mencoba memasukkan angka lain untuk melihat hasil yang berbeda.

Operator Or

Operator logika Or hanya mengharuskan salah satu kondisinya saja yang terpenuhi. Jika salah satu kondisi salah, maka statement tetap akan dieksekusi. Jika kedua kondisi salah, maka statement tidak akan dieksekusi.

#include <iostream>

using namespace std;

int main(){
	int angka=0;
	cout << "angka : ";cin >> angka;
	if((angka%2==0) || (angka >0))
	    cout <<"angka genap atau mungkin angka positif";
	else cout <<"angka lainnya";
	return 0;
}
Contoh Program:
angka : 5
angka genap atau mungkin positif

Angka lima (5) hanya memenuhi salah satu syarat dalam kondisi if. Walaupun angkanya bukan genap, output milik if tetap dicetak. Jika kalian memasukkan angka negatif yang tidak memenuhi semua kondisi, maka outputnya adalah output yang dimiliki statement else.

Contoh Program:
angka : -5
angka lainnya

Operator Not

Seperti artinya, operator not digunakan untuk membalikkan nilai dari kondisi yang dibutuhkan. Kalian perlu mengapit kondisi yang akan diberi operator not dengan tanda kurung. Supaya lebih mudah, saya copas saja contoh yang menggunakan operator logika and.

#include <iostream>

using namespace std;

int main(){
	int angka=0;
	cout << "angka : ";cin >> angka;
	if(!(angka%2==0) && !(angka >0))
	    cout <<"bukan angka genap dan bukan angka positif";
	else cout <<"angka lainnya";
	return 0;
}
Contoh Program:
angka : 5
bukan angka genap dan bukan angka positif

Contoh di atas hanya diberi tambahan dua operator not setelah saya copas dari contoh operator &&(and).

Tipe Boolean

Selain menggunakannya operator relasional dan operator logika dalam perulangan kalian juga bisa menyimpan hasil dari perbandingan ke dalam variabel bertipe boolean. Nilai variabel bertipe boolean menyimpan hasil perbandingan sebagai angka 0 jika salah, dan 1 jika benar. Walaupun ditampilkan sebagai angka, kalian bisa memberikan nilai true dan false pada variabel bertipe boolean.

#include <iostream>

using namespace std;

int main(){
    int angka=5;
    bool benar = true;
    bool salah = false;
    bool perbandingan=angka%2==0 && angka > 0;
    cout << "angka : " << angka << endl;
    cout << "benar : " << benar << endl;
    cout << "salah : " << salah << endl;
    cout << "angka % 2 == 0 && angka > 0 hasilnya adalah " << perbandingan << endl;
}
Contoh Program:
angka : 5
benar : 1
salah : 0
angka % 2 == 0 && angka > 0 hasilnya adalah 0

Btw, kalian bisa menggunakan variabel bertipe data boolean sebagai kondisi di dalam perulangan. Kalau kalian penasaran, kalian bisa coba mengganti kondisi di dalam perulangan dengan satu variabel bertipe boolean.