MEMPELAJARI LOGIKA (If, For, Select Case dan While) PADA ANDRUINO IDE

 


Setelah mempelajari dan memahami tipe data pada program ADRUINO IDE. Pada kesempatan kali ini kita akan mempelajari fungsi logika (If, For, Select Case dan While) dari ARDUINO IDE. Jika Anda belum mengetahui apa itu ARDUINO IDE, Arduino dan Mikrokontroler, ada baiknya Anda membaca artikel diatas dan mempelajari dasar-dasarnya. Inilah yang akan Anda pelajari kali ini:


If
Kalau dalam bahasa Indonesia If artinya jika, dan di semua bahasa pemrograman kita tahu cara menggunakan Logika If. Pada ARDUINO IDE digunakan untuk menentukan keluaran dari prosedur program yang dijalankan pada  sistem mikrokontroler. Jika digunakan pada program ARDUINO IDE untuk menentukan kondisi setelah membaca input, analisis serial dan kondisi lainnya. Selain If, Anda juga dapat membuat dua kondisi atau lebih menggunakan Else, (If dan Else). Contoh pernyataan If adalah:
int analogSensorPin = A0; // penentuan tipe data sensor pada integer dan pin sensor pada A0
int lenPin1 = 2; // penentuan tipe data LED pada integer dan pin LED pada pin 2
int ledPin2 = 3; // penentuan tipe data LED pada integer dan pin LED pada pin 3
int sensorValue = 0; // menetapkan nilai sensor pada nilai 0
void setup() {
  pinMode(analogSensorPin, INPUT); // penetapan pin mode sensor pada mode INPUT
  pinMode(ledPin1, OUTPUT); // penetapan pin mode LED pada mode OUTPUT
  pinMode(ledPin2, OUTPUT); // penetapan pin mode LED pada mode OUTPUT
}
void loop() {
  sensorValue = analogRead(analogSensorPin); // membaca nilai analog dari analogSensorPin
  if (sensorValue <= 200) {
    digitalWrite(ledPin1, HIGH); // jika nilai sensor kurang dar 200 maka led 1 akan menyala
  }
}

Else 
Else digunakan untuk membuat kondisi atau logika ketika kondisi If, semua kondisi  Else If tidak berfungsi atau tidak sesuai dengan pernyataan  input yang ditentukan atau dibaca. Contoh pernyataan Else adalah:
int analogSensorPin = A0; // penentuan tipe data sensor pada integer dan pin sensor pada A0
int lenPin1 = 2; // penentuan tipe data LED pada integer dan pin LED pada pin 2
int ledPin2 = 3; // penentuan tipe data LED pada integer dan pin LED pada pin 3
int sensorValue = 0; // menetapkan nilai sensor pada nilai 0
void setup() {
  pinMode(analogSensorPin, INPUT); // penetapan pin mode sensor pada mode INPUT
  pinMode(ledPin1, OUTPUT); // penetapan pin mode LED pada mode OUTPUT
  pinMode(ledPin2, OUTPUT); // penetapan pin mode LED pada mode OUTPUT
}
void loop() {
  sensorValue = analogRead(analogSensorPin); // membaca nilai analog dari analogSensorPin
  if (sensorValue <= 200) {
    digitalWrite(ledPin1, HIGH); // jika nilai sensor kurang dar 200 maka led 1 akan menyala
  } else if (sensorValue >= 200) {
    digitalWrite(ledPin2, HIGH); // jika(kondisi lain) nilai sensor lebih dari 200 maka led 2 menyala
  } else {
    digitalWrite(ledPin1, LOW);
    digitalWrite(ledPin2, LOW); // jika tidak ada kondisi yang sesuai maka semua led akan mati
  }
}

For
Untuk metode bahasa Indonesia, penggunaan logika sudah tidak asing lagi bagi semua bahasa pemrograman. Penggunaan For pada pemrograman ARDUINO IDE menyediakan mekanisme untuk mengulang jeda atau menunggu, menggandakan waktu jeda, atau mengulang. Kegunaan For adalah untuk mengubah suatu kondisi ke kondisi lainnya, biasanya dengan menambah penundaan. Ini juga dapat digunakan untuk menentukan jumlah sinyal masukan suatu sel dan sinyal masukan lainnya. Hal ini  untuk membatasi iklan mobile atau iklan tersemat lainnya. Contoh tulisan tentang:
int analogSensorPin = A0; // penentuan tipe data sensor pada integer dan pin sensor pada A0
int lenPin1 = 2; // penentuan tipe data LED pada integer dan pin LED pada pin 2
int ledPin2 = 3; // penentuan tipe data LED pada integer dan pin LED pada pin 3
int sensorValue = 0; // menetapkan nilai sensor pada nilai 0
void setup() {
  pinMode(analogSensorPin, INPUT); // penetapan pin mode sensor pada mode INPUT
  pinMode(ledPin1, OUTPUT); // penetapan pin mode LED pada mode OUTPUT
  pinMode(ledPin2, OUTPUT); // penetapan pin mode LED pada mode OUTPUT
}
void loop() {
  sensorValue = analogRead(analogSensorPin); // membaca nilai analog dari analogSensorPin
  if (sensorValue <= 200) {
    digitalWrite(ledPin1, HIGH); // jika nilai sensor kurang dar 200 maka led 1 akan menyala
    delay(500); // memberikan jeda 500ms
    for (int i = 5; i > 0; i++) {
      digitalWrite(ledPin1, LOW); // untuk waktu 5x500ms maka led 1 akan mati
    }
  }
}

Switch Case
Digunakan untuk memilih atau memilih salah satu  dari sekian banyak metode yang dibuat oleh program. Peralihan kasus disediakan untuk memfasilitasi eksekusi pernyataan program ketika diperlukan sejumlah besar prosedur. Contoh surat pengalihan perkara adalah sebagai berikut:
int pushButton1 = A0; // penentuan tipe data push button pada integer dan pin sensor pada A0
int pushButton2 = A1; // penentuan tipe data push button pada integer dan pin sensor pada A1
int pushButton3 = A2; // penentuan tipe data push button pada integer dan pin sensor pada A2
int pushButton4 = A3; // penentuan tipe data push button pada integer dan pin sensor pada A3
int pushButton5 = A4; // penentuan tipe data push button pada integer dan pin sensor pada A4

int lenPin1 = 2; // penentuan tipe data LED pada integer dan pin LED pada pin 2
int ledPin2 = 3; // penentuan tipe data LED pada integer dan pin LED pada pin 3
int ledPin3 = 4; // penentuan tipe data LED pada integer dan pin LED pada pin 4
int ledPin4 = 5; // penentuan tipe data LED pada integer dan pin LED pada pin 5
int ledPin5 = 6; // penentuan tipe data LED pada integer dan pin LED pada pin 6

int val = 0; // menetapkan nilai sensor pada nilai 0

void setup() {
  pinMode(pushButton1, INPUT); // penetapan pin mode push button pada mode INPUT
  pinMode(pushButton2, INPUT); // penetapan pin mode push button pada mode INPUT
  pinMode(pushButton3, INPUT); // penetapan pin mode push button pada mode INPUT
  pinMode(pushButton4, INPUT); // penetapan pin mode push button pada mode INPUT
  pinMode(pushButton5, INPUT); // penetapan pin mode push button pada mode INPUT
  pinMode(ledPin1, OUTPUT); // penetapan pin mode LED pada mode OUTPUT
  pinMode(ledPin2, OUTPUT); // penetapan pin mode LED pada mode OUTPUT
  pinMode(ledPin3, OUTPUT); // penetapan pin mode LED pada mode OUTPUT
  pinMode(ledPin4, OUTPUT); // penetapan pin mode LED pada mode OUTPUT
  pinMode(ledPin5, OUTPUT); // penetapan pin mode LED pada mode OUTPUT

}

void loop() {
  if (pushButton1 == HIGH) {
    val = 1;
  } else if (pushButton2 == HIGH) {
    val = 2;
  } else if (pushButton3 == HIGH) {
    val = 3;
  } else if (pushButton4 == HIGH) {
    val = 4;
  } else if (pushButton5 == HIGH) {
    val = 5;
  } else {
    val = 0;
  }

  switch (val) {
  case 0:
    digitalWrite(ledPin1, LOW);
    digitalWrite(ledPin2, LOW);
    digitalWrite(ledPin3, LOW);
    digitalWrite(ledPin4, LOW);
    digitalWrite(ledPin5, LOW);
    break;

  case 1:
    digitalWrite(ledPin1, HIGH);
    digitalWrite(ledPin2, LOW);
    digitalWrite(ledPin3, LOW);
    digitalWrite(ledPin4, LOW);
    digitalWrite(ledPin5, LOW);
    break;

  case 2:
    digitalWrite(ledPin1, LOW);
    digitalWrite(ledPin2, HIGH);
    digitalWrite(ledPin3, LOW);
    digitalWrite(ledPin4, LOW);
    digitalWrite(ledPin5, LOW);
    break;

  case 3:
    digitalWrite(ledPin1, LOW);
    digitalWrite(ledPin2, LOW);
    digitalWrite(ledPin3, HIGH);
    digitalWrite(ledPin4, LOW);
    digitalWrite(ledPin5, LOW);
    break;

  case 4:
    digitalWrite(ledPin1, LOW);
    digitalWrite(ledPin2, LOW);
    digitalWrite(ledPin3, LOW);
    digitalWrite(ledPin4, HIGH);
    digitalWrite(ledPin5, LOW);
    break;

  case 5:
    digitalWrite(ledPin1, LOW);
    digitalWrite(ledPin2, LOW);
    digitalWrite(ledPin3, LOW);
    digitalWrite(ledPin4, LOW);
    digitalWrite(ledPin5, HIGH);
    break;
  }
}

While
Fungsi While digunakan untuk membuat pernyataan atau perintah dalam suatu kondisi, namun eksekusi berlanjut hingga pernyataan atau perintah  kondisi bernilai salah. Contoh pernyataan While adalah sebagai berikut:
int analogSensorPin = A0; // penentuan tipe data sensor pada integer dan pin sensor pada A0
int lenPin1 = 2; // penentuan tipe data LED pada integer dan pin LED pada pin 2
int ledPin2 = 3; // penentuan tipe data LED pada integer dan pin LED pada pin 3
int sensorValue = 0; // menetapkan nilai sensor pada nilai 0

void setup() {
  pinMode(analogSensorPin, INPUT); // penetapan pin mode sensor pada mode INPUT
  pinMode(ledPin1, OUTPUT); // penetapan pin mode LED pada mode OUTPUT
  pinMode(ledPin2, OUTPUT); // penetapan pin mode LED pada mode OUTPUT
}

void loop() {
  sensorValue = analogRead(analogSensorPin); // membaca nilai analog dari analogSensorPin
  if (sensorValue <= 200) {
    digitalWrite(ledPin1, HIGH); // jika nilai sensor kurang dar 200 maka led 1 akan menyala

    while (sensorValue >= 200) {
      digitalWrite(ledPin1, LOW); // LED 1 akan mati
      digitalWrite(ledPin2, HIGH); // LED 2 akan menyala
    }
  }
}