// C++ code
//
const int ledM=10;
const int ledH=11;
const int ledB=12;

void setup()
{
  Serial.begin(9600);
  pinMode(ledM,OUTPUT);
  pinMode(ledH,OUTPUT);
  pinMode(ledB,OUTPUT);
}

void loop()
{
  // contoh pemakaian for loop
  Serial.println("Led Merah - for loop" );
  for(int i=1;i<=5;i++){
    digitalWrite(ledM, HIGH);
    delay(1000);
    digitalWrite(ledM, LOW);
    delay(1000);
  }
  Serial.println("Led Hijau - for loop" );
  for(int i=1;i<=3;i++){
    digitalWrite(ledH, HIGH);
    delay(1000);
    digitalWrite(ledH, LOW);
    delay(1000);
  }
  Serial.println("Led Biru - for loop" );
  for(int i=1;i<=2;i++){
    digitalWrite(ledB, HIGH);
    delay(1000);
    digitalWrite(ledB, LOW);
    delay(1000);
  }
  
  delay(3000);
  
  // contoh pemakaian while loop
  Serial.println("Led Merah - while loop" );
  int i=1;
  while(i<=5){
    digitalWrite(ledM, HIGH);
    delay(1000);
    digitalWrite(ledM, LOW);
    delay(1000);
    i++;
  }
  Serial.println("Led Hijau - while loop" );
  int j=1;
  while(j<=3){
    digitalWrite(ledH, HIGH);
    delay(1000);
    digitalWrite(ledH, LOW);
    delay(1000);
    j++;
  }
  Serial.println("Led Biru - while loop" );
  int k=1;
  while(k<=2){
    digitalWrite(ledB, HIGH);
    delay(1000);
    digitalWrite(ledB, LOW);
    delay(1000);
    k++;
  }
  
  delay (5000);
  Serial.println("Jawaban dari PR");
  /*
  led merah berkedip makin cepat
  led hijau berkedip makin lambat
  led biru berkedip makin cepat
  merah-hijau-biru-hijau-merah
  */
  
  Serial.println("Led Merah (for) - Berkedip semakin cepat" );
  for(int i=1000;i>=10;i=0.9*i){
    digitalWrite(ledM, HIGH);
    delay(i);
    digitalWrite(ledM, LOW);
    delay(i);
  }
  Serial.println("Led Hijau (for) - Berkedip semakin lambat" );
  for(int i=10;i<=1000;i=1.1*i){
    digitalWrite(ledH, HIGH);
    delay(i);
    digitalWrite(ledH, LOW);
    delay(i);
  }
  Serial.println("Led Biru (for) - Berkedip semakin cepat" );
  for(int i=1000;i>=10;i=0.9*i){
    digitalWrite(ledB, HIGH);
    delay(i);
    digitalWrite(ledB, LOW);
    delay(i);
  }
  Serial.println("Led Hijau (for) - Berkedip semakin lambat" );
  for(int i=10;i<=1000;i=1.1*i){
    digitalWrite(ledH, HIGH);
    delay(i);
    digitalWrite(ledH, LOW);
    delay(i);
  }
  delay(5000);
  
  // dg while 
  Serial.println("Led Merah (while) - Berkedip lebih cepat" );
  int l=1000;
  while(l>=10){
    digitalWrite(ledM, HIGH);
    delay(l);
    digitalWrite(ledM, LOW);
    delay(l);
    l=0.9*l;
  }
  Serial.println("Led Hijau (while) - Berkedip lebih lambat" );
  int m=10;
  while(m<=1000){
    digitalWrite(ledH, HIGH);
    delay(m);
    digitalWrite(ledH, LOW);
    delay(m);
    m=1.1*m;
  }
  Serial.println("Led Biru (while) - Berkedip lebih cepat" );
  int n=1000;
  while(n>10){
    digitalWrite(ledB, HIGH);
    delay(n);
    digitalWrite(ledB, LOW);
    delay(n);
    n=0.9*n;
  }
  Serial.println("Led Hijau (while) - Berkedip lebih lambat" );
  int o=10;
  while(o<=1000){
    digitalWrite(ledH, HIGH);
    delay(o);
    digitalWrite(ledH, LOW);
    delay(o);
    o=1.1*o;
  }  
  Serial.println("TAMAT");
  delay(10000);
}

Source : Youtube Life Tech