// Deklarasi variabel sesuai tipe data tugas
byte analog1; // Input dari potensiometer 1
int analog2; // Input dari potensiometer 2
unsigned int analog3; // Input dari potensiometer 3
word result; // Hasil bitwise AND
// Deklarasi pin LED
const int ledMerah = 9;
const int ledHijau = 10;
const int ledBiru = 11;
void setup() {
// Inisialisasi Serial Monitor
Serial.begin(9600);
// Inisialisasi pin LED sebagai output
pinMode(ledMerah, OUTPUT);
pinMode(ledHijau, OUTPUT);
pinMode(ledBiru, OUTPUT);
}
void loop() {
// Membaca nilai dari potensiometer
analog1 = analogRead(A0) > 512 ? 1 : 0; // Baca A0, ubah ke logika 0/1
analog2 = analogRead(A1) > 512 ? 1 : 0; // Baca A1, ubah ke logika 0/1
analog3 = analogRead(A2) > 512 ? 1 : 0; // Baca A2, ubah ke logika 0/1
// Melakukan operasi bitwise AND
result = analog1 & analog2 & analog3;
// Menampilkan hasil pada Serial Monitor
Serial.println("=== Bitwise AND Operation ===");
Serial.print("Potensiometer 1: ");
Serial.println(analog1);
Serial.print("Potensiometer 2: ");
Serial.println(analog2);
Serial.print("Potensiometer 3: ");
Serial.println(analog3);
Serial.print("AND Result: ");
Serial.println(result);
Serial.println("============================");
// Mengontrol LED berdasarkan hasil AND
digitalWrite(ledMerah, result); // LED merah menyala jika hasil AND = 1
digitalWrite(ledHijau, analog1); // LED hijau menunjukkan status Potensiometer 1
digitalWrite(ledBiru, analog2); // LED biru menunjukkan status Potensiometer 2
// Delay untuk stabilitas output
delay(1000);
}