// Mendefinisikan pin untuk tombol dan LED
#define BUTTON 2 // Mendefinisikan pin digital 2 sebagai BUTTON
#define LED_PURPLE 3 // Mendefinisikan pin digital 3 sebagai LED_PURPLE
#define LED_GREEN 8 // Mendefinisikan pin digital 8 sebagai LED_GREEN
#define LED_YELLOW 12 // Mendefinisikan pin digital 12 sebagai LED_YELLOW
#define LED_RED 13 // Mendefinisikan pin digital 13 sebagai LED_RED
#define LED_WHITE 4 // Mendefinisikan pin digital 4 sebagai LED_WHITE
// Variabel untuk menyimpan status tombol dan jeda waktu
int sw = 0; // Variabel untuk menyimpan status tombol (HIGH jika ditekan, LOW jika tidak)
int delays = 200; // Variabel untuk mengatur nilai delay (waktu jeda) dalam milidetik
void setup() {
// Mengatur mode pin: INPUT untuk tombol, OUTPUT untuk LED
pinMode(BUTTON, INPUT); // Mengatur pin BUTTON sebagai input untuk membaca status tombol
pinMode(LED_PURPLE, OUTPUT); // Mengatur pin LED_PURPLE sebagai output
pinMode(LED_GREEN, OUTPUT); // Mengatur pin LED_GREEN sebagai output
pinMode(LED_YELLOW, OUTPUT); // Mengatur pin LED_YELLOW sebagai output
pinMode(LED_RED, OUTPUT); // Mengatur pin LED_RED sebagai output
pinMode(LED_WHITE, OUTPUT); // Mengatur pin LED_WHITE sebagai output
}
void loop() {
// Membaca status tombol dan menyimpannya di variabel 'sw'
sw = digitalRead(BUTTON); // Membaca nilai tombol (HIGH jika ditekan, LOW jika tidak)
// Jika tombol ditekan (nilai sw == HIGH)
if (sw == HIGH) {
digitalWrite(LED_WHITE, LOW); // Mematikan LED_WHITE saat tombol ditekan
// Menyalakan LED satu per satu dengan jeda selama 'delays' ms
digitalWrite(LED_PURPLE, HIGH); // Menyalakan LED_PURPLE
delay(delays); // Menunggu selama 'delays' ms
digitalWrite(LED_GREEN, HIGH); // Menyalakan LED_GREEN
delay(delays); // Menunggu selama 'delays' ms
digitalWrite(LED_YELLOW, HIGH); // Menyalakan LED_YELLOW
delay(delays); // Menunggu selama 'delays' ms
digitalWrite(LED_RED, HIGH); // Menyalakan LED_RED
delay(delays); // Menunggu selama 'delays' ms
// Mematikan LED satu per satu dengan jeda selama 'delays' ms
digitalWrite(LED_PURPLE, LOW); // Mematikan LED_PURPLE
delay(delays); // Menunggu selama 'delays' ms
digitalWrite(LED_GREEN, LOW); // Mematikan LED_GREEN
delay(delays); // Menunggu selama 'delays' ms
digitalWrite(LED_YELLOW, LOW); // Mematikan LED_YELLOW
delay(delays); // Menunggu selama 'delays' ms
digitalWrite(LED_RED, LOW); // Mematikan LED_RED
} else {
// Jika tombol tidak ditekan (nilai sw == LOW)
digitalWrite(LED_WHITE, HIGH); // Menyalakan LED_WHITE ketika tombol tidak ditekan
}
}