Sebelumnya saya sudah membahas tentang operator pembanding untuk membandingkan dua nilai dan menghasilkan hasil logika `true` atau `false`. Nah, pada artikel ini saya akan membahas operator boolean yang bisa membuat keputusan berdasarkan logika pada tabel kebenaran operator tersebut untuk menciptakan kontrol alur program yang lebih kompleks.
Not (!)
Operator boolean NOT menggunakan simbol “!”, operator ini bisa membalikan nilai suatu nilai boolean (TRUE atau FALSE), jadi jika sebuah nilai boolean yang bernilai TRUE menggunakan operator NOT, maka nilai TRUE akan menjadi FALSE dan nilai FALSE akan menjadi TRUE. :
Syntax :
x = !y; // nilai sebaliknya dari y disimpan pada x.
Operator ini biasa dipakai untuk membalikan nilai (biasanya untuk program toggle), dan juga bisa membuat keputusan berdasarkan kondisi sebaliknya. contoh:
const byte buttonPin = 3;
void setup() {
pinMode(buttonPin, INPUT);
Serial.begin(9600);
}
void loop() {
bool tombolDitekan = digitalRead(buttonPin); // Membaca tombol
if (!tombolDitekan) { // NOT: Memeriksa jika tombol ditekan (LOW)
Serial.println("LED Menyala");
} else {
Serial.println("LED Mati");
}
delay(1000);
}
contoh program diatas bisa mengambil keputusan berdasarkan kondisi sebaliknya dari input. misalnya kita menggunakan push button dengan pull-up resistor sebagai inputnya, jika dirangkai sebagai pullup, maka saat button tidak ditekan, pin akan membaca sinyal HIGH. namun ketika ditekan pin akan membaca sinyal LOW. karena baris program 16 kondisi pada statement if menggunakan NOT “!”, maka nilai pembacaan sinyal yang disimpan di variabel “tombolDitekan” akan dibalik, sehingga saat button ditekan, kondisi yang dibaca oleh statement if yang tadinya LOW berubah menjadi HIGH.

//program untuk membalikan nilai
bool ledStatus = false;
void loop() {
ledStatus = !ledStatus; // NOT: Membalikkan status LED
digitalWrite(ledPin, ledStatus); // Menyalakan/mematikan LED
delay(500); // Jeda 500 ms
}
Program ini akan menyalakan dan mematikan LED (blinking), Pada baris ke-5, Operator NOT digunakan untuk membalikan kondisi variabel “ledStatus”, sehingga pada setiap pengulangan nilai variabel “ledStatus” akan berubah-ubah antara TRUE dan FALSE.
AND (&&)
Operator boolean AND mengunakan simbol “&&”, digunakan untuk mengevaluasi dua atau lebih kondisi, kemudian hasil evaluasinya akan menghasilkan satu nilai boolean yang mengikuti tabel kebenaran operasi boolean AND, dimana hanya bernilai TRUE jika kedua kondisi bernilai TRUE. coba lihat tabel kebenaran nya

Contoh penggunaan operator AND dalam pemprograman, misal kita memiliki 2 push button, dan kita ingin program mengeksekusi sebuah perintah untuk menyalakan relay hanya jika ketika kedua push button ditekan, kita menggunakan baris program ini :
// Memeriksa apakah kedua tombol ditekan
if (isButton1Pressed && isButton2Pressed) {
digitalWrite(relayPin, HIGH); // Menyalakan LED
} else {
digitalWrite(relayPin, LOW); // Mematikan LED
}
Selain itu, kita juga bisa menggunakan operator boolean AND untuk memeriksa rentang sensor, misal kita ingin program mengeksekusi perintah untuk menyalakan LED hanya jika ketika temperatur yang di baca oleh sensor berada pada rentang 60 sampai 80, kita bisa gunakan baris program ini
// Memeriksa apakah suhu berada dalam rentang 60°C hingga 80°C
if (temperature >= 60 && temperature <= 80) {
digitalWrite(ledPin, HIGH); // Menyalakan LED
} else {
digitalWrite(ledPin, LOW); // Mematikan LED
}
Kita juga bisa mengevaluasi 4 kondisi dengan operator boolean misal kita ingin menyalakan LED ketika suhu diantara 20 sampai 30 derajat ditambah harus menekan tombol 1 dan 2. kita bisa menggunakan baris program ini:
if (temperature >= 20 && temperature <= 30 && isButton1Pressed && isButton2Pressed) {
digitalWrite(ledPin, HIGH); // Menyalakan LED
} else {
digitalWrite(ledPin, LOW); // Mematikan LED
}
Meskipun inputnya 4, hasil operasi nya tetap sesuai tabel kebenaran “hanya bernilai true jika semua kondisi bernilai true”.
OR (||)
Operator boolean OR mengunakan simbol “||”, digunakan untuk mengevaluasi dua atau lebih kondisi, kemudian hasil evaluasinya akan menghasilkan satu nilai boolean yang mengikuti tabel kebenaran operasi boolean OR, dimana output bernilai TRUE jika salah satu atau kedua kondisi bernilai TRUE. coba lihat tabel kebenaran nya

Penggunaan operator boolean OR perlakuan nya sama dengan operator AND hanya outputnya yang dihasilkan berbeda, contoh untuk memeriksa rentang sensor, kita ingin memastikan pemanasan sistem selalu berada dalam rentang aman yaitu antara 60 sampai 80, jika keluar dari rentang aman, maka kita ingin program mengeksekusi perintah untuk menyalakan LED dan menyalakan buzzer sebagai tanda alarm, kita bisa gunakan baris program ini
// Memeriksa apakah suhu berada di luar rentang aman
if (temperature < 60 || temperature > 80) {
digitalWrite(ledPin, HIGH); // Menyalakan LED
digitalWrite(buzzerPin, HIGH); //Menyalakan Buzzer
} else {
digitalWrite(ledPin, LOW); // Mematikan LED
}
Your network, your earnings—apply to our affiliate program now! https://shorturl.fm/aQ8hJ