const int buttonPin = 2; // Pin tempat tombol terhubung
const int ledPin = 13; // Pin tempat LED terhubung
int buttonState = 0; // Variabel untuk menyimpan status tombol sekarang
int lastButtonState = 0; // Variabel untuk menyimpan status tombol sebelumnya
void setup() {
pinMode(ledPin, OUTPUT); // Set pin LED sebagai output
pinMode(buttonPin, INPUT); // Set pin tombol sebagai input
Serial.begin(9600); // Inisialisasi komunikasi Serial dengan baud rate 9600
}
void loop() {
// Baca status tombol
buttonState = digitalRead(buttonPin);
// Bandingkan status tombol sekarang dengan status tombol sebelumnya
if (buttonState != lastButtonState) {
// Jika terjadi perubahan, periksa apakah tombol ditekan atau dilepaskan
if (buttonState == HIGH) {
// Tombol ditekan, ubah status LED
digitalWrite(ledPin, !digitalRead(ledPin)); // Mengubah status LED (flip-flop)
// Tampilkan keterangan pada Serial
Serial.println("Tombol ditekan. Status LED: " + String(digitalRead(ledPin)));
}
// Tunda sedikit untuk menghindari bouncing pada tombol
delay(50);
}
// Simpan status tombol saat ini untuk perbandingan berikutnya
lastButtonState = buttonState;
}