Dasar Logika Arduino

 

Fungsi Logika (If, For, Switch Case dan While) - Bagian 5

Mempelajari Fungsi Logika (If, For, Select Case dan While) pada  ARDUINO IDE.

Baiklah langsung saja yang kita pelajari kali ini yaitu:

  1. If;
  2. For;
  3. Switch Case;
  4. While.

If

If dalam bahasa indonesia artinya jika, maka dalam bahasa pemrograman apapun sudah tidak asing penggunaan Logika If. Dalam  ARDUINO IDE, If digunakan untuk menentukan akibat dari kondisi program yang berjalan pada suatu sistem Microcontroller. If biasanya digunakan untuk menentukan kondisi setelah pembacaan input, analisa Serial, serta kondisi-kondisi lain dalam program ARDUINO IDE. Contoh penulisan If yaitu:

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

  }

}

Selain If kita juga dapat menggunakan Else If dan Else untuk membuat kondisi yang berjumlah dua atau lebih.

Else If

Else if digunakan apabila kita ingin membuat kondisi yang berbeda dengan kondisi yang kita buat pada If, namun masih dalam Logika dan akibat atau fungsi yang sama. Penggunaan Else If ditujukan untuk mempermudah Mikrocontroler dalam pembacaan kondisi dan penerapan Logika dalam program  ARDUINO IDE. Contoh penulisan Else If yaitu:

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

Else digunakan untuk membua kondisi atau logika jika semua kondisi yang terdapat pada If ataupun Else If tidak berjalan atau tidak sesuai dengan pernyataan ataupun pembacaan input yang ditentukan. Contoh untuk penulisan Else yaitu:

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

For dalam bahasa indonesia artinya untuk, maka dalam bahasa pemrograman apapun sudah tidak asing penggunaan Logika For. Untuk penggunaan For pada pemrograman  ARDUINO IDE yaitu memberikan kondisi untuk perulangan waktu jeda ataupun menunggu ata membuat waktu jeda menjadi berlipat ganda atau berulang ulang.

Penggunaan For biasanya untuk mengubah Kondisi satu menjadi kondisi yang lainya dengan memperbanyak waktu jeda. For juga dapat digunakan untuk menentukan jumlah pembacaan Input pada sensor ataupun pembacaan Input lainya. Penggunaan ini ditujukan untuk membatasi pembacaan input pada Sensor ataupun pembacaan Input lainya. Contoh penulisan For yaitu:

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

Switch Case digunakan untuk menentukan pilihan atau menyeleksi salah satu kondisi dari beberapa kondisi yang kita buat dalam program. Switch Case berfungsi untuk memudahkan penjalanan perintah program jika kondisi yang diperlukan cukup banyak.  Contoh penulisan Switch Case yaitu:

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 didalam kondisi namun berjalan secara terus menerus sampai pernyataan atau perintah didalam kondisi bernilai sala (false). Contoh penulisan While yaitu:

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

    }

  }

}

Baiklah mungkin hanya itu yang kita pelajari untuk Fungsi Logika (IfForSwitch Case dan While)  pada  Arduino untuk saat ini.

 

No comments:

Post a Comment