bool buttonRed = false;
bool buttonYellow = false;
bool buttonGreen = false;
bool buttonFlop = false;
void setup() {
  // put your setup code here, to run once:
  pinMode(13, OUTPUT); //Lampu Merah
  pinMode(12, OUTPUT); //Lampu Kuning
  pinMode(11, OUTPUT); //Lampu Hijau
  pinMode(2, INPUT);   //Tombol Merah
  pinMode(3, INPUT);   //Tombol Kuning
  pinMode(4, INPUT);   //Tombol Hijau
  pinMode(5, INPUT);   //Tombol FlipFlop
}
void loop() {
  buttonRed = digitalRead(2);
  buttonYellow = digitalRead(3);
  buttonGreen = digitalRead(4);
  buttonFlop = digitalRead(5);
  // put your main code here, to run repeatedly:
  if(buttonRed == HIGH)
  {
    digitalWrite(13, HIGH); //Lampu Merah Nyala
  } else {
    digitalWrite(13, LOW);  //Lampu Merah Mati
  }
  if(buttonYellow == HIGH)
  {
    digitalWrite(12, HIGH); //Lampu Merah Nyala
  } else{
    digitalWrite(12, LOW);  //Lampu Merah Mati
  }
  if(buttonGreen == HIGH)
  {
    digitalWrite(11, HIGH); //Lampu Merah Nyala
  } else{
    digitalWrite(11, LOW);  //Lampu Merah Mati
  }
  
  if(buttonFlop == HIGH)                  //Looping tak terbatas
  {
    if(buttonRed || buttonYellow || buttonGreen & buttonFlop == HIGH){
    digitalWrite(13, LOW);  //Lampu Merah Mati
    digitalWrite(12, LOW);  //Lampu Merah Mati
    digitalWrite(11, LOW);  //Lampu Merah Mati
    }
    digitalWrite(13, HIGH); //Lampu Merah Nyala
    delay(1000);
    digitalWrite(13, LOW);  //Lampu Merah Mati
    digitalWrite(12, HIGH); //Lampu Kuning Nyala
    delay(1000);
    digitalWrite(12, LOW);  //Lampu Kuning Mati
    digitalWrite(11, HIGH); //Lampu Hijau Nyala
    delay(1000);
    digitalWrite(11, LOW);  //Lampu Hijau Mati
  } 
  else{
    digitalWrite(13, LOW);  //Lampu Merah Mati
    digitalWrite(12, LOW);  //Lampu Kuning Mati
    digitalWrite(11, LOW);  //Lampu Hijau Mati
  }
}