int lampuPin = 12; // set pin lampu pada pin 13
int tombolPin = 7; // set pin tombol pada pin 7

boolean lampuHidup = false; // variabel untuk mengetahui apakah lampu hidup atau mati

void setup() {
  pinMode(lampuPin, OUTPUT); // set pin lampu sebagai output
  pinMode(tombolPin, INPUT_PULLUP); // set pin tombol sebagai input dengan pull-up resistor
}

void loop() {
  int tombolState = digitalRead(tombolPin); // membaca nilai tombol
  if (tombolState == LOW) { // jika tombol ditekan
    if (lampuHidup) { // jika lampu hidup, maka matikan
      digitalWrite(lampuPin, LOW); // matikan lampu
      lampuHidup = false; // ubah variabel lampuHidup menjadi false
    } else { // jika lampu mati, maka hidupkan
      digitalWrite(lampuPin, HIGH); // hidupkan lampu
      lampuHidup = true; // ubah variabel lampuHidup menjadi true
    }
    delay(50); // tunggu sebentar untuk mencegah bouncing pada tombol
  }
}