byte Lampu1 = 2;
#define Lampu2 3
#define Lampu3 4
#define Lampu4 5
#define SW1 14
#define SW2 15
void setup() {
  pinMode(Lampu1, 1);
  pinMode(Lampu2, 1);
  pinMode(Lampu3, 1);
  pinMode(Lampu4, 1);
  pinMode(SW1, INPUT_PULLUP);
  pinMode(SW2, INPUT_PULLUP);
}
void loop() {
  if((digitalRead(SW1) == LOW) && (digitalRead(SW2) == LOW)){
    Aksi_Running();
  }
  else if(digitalRead(SW1) == LOW){
    Aksi_Blink();
  }
  else if(digitalRead(SW2) == LOW){
    Aksi_Flip_Flop();
  }
  else{
  digitalWrite(Lampu1, 0);
  digitalWrite(Lampu2, 0);
  digitalWrite(Lampu3, 0);
  digitalWrite(Lampu4, 0);
  }
}
void Aksi_Blink(){
  digitalWrite(Lampu1, 1);
  digitalWrite(Lampu2, 1);
  digitalWrite(Lampu3, 1);
  digitalWrite(Lampu4, 1);
  delay(500);
  digitalWrite(Lampu1, 0);
  digitalWrite(Lampu2, 0);
  digitalWrite(Lampu3, 0);
  digitalWrite(Lampu4, 0);
  delay(500);
}
void Aksi_Flip_Flop(){
  digitalWrite(Lampu1, 1);
  digitalWrite(Lampu2, 1);
  digitalWrite(Lampu3, 0);
  digitalWrite(Lampu4, 0);
  delay(500);
  digitalWrite(Lampu1, 0);
  digitalWrite(Lampu2, 0);
  digitalWrite(Lampu3, 1);
  digitalWrite(Lampu4, 1);
  delay(500);
}
void Aksi_Running(){
  digitalWrite(Lampu1, 1);
  digitalWrite(Lampu2, 0);
  digitalWrite(Lampu3, 0);
  digitalWrite(Lampu4, 0);
  delay(500);
  digitalWrite(Lampu1, 0);
  digitalWrite(Lampu2, 1);
  digitalWrite(Lampu3, 0);
  digitalWrite(Lampu4, 0);
  delay(500);
  digitalWrite(Lampu1, 0);
  digitalWrite(Lampu2, 0);
  digitalWrite(Lampu3, 1);
  digitalWrite(Lampu4, 0);
  delay(500);
  digitalWrite(Lampu1, 0);
  digitalWrite(Lampu2, 0);
  digitalWrite(Lampu3, 0);
  digitalWrite(Lampu4, 1);
  delay(500);
}