Fungsi Logika (If, For, Switch Case dan While) - Bagian 5
Setelah mempelajari Fungsi Delay, Pin Mode dan Pemberian Perintah dasar yang ada pada artikel sebelumnya, kali ini kita akan mempelajari Fungsi Logika (If, For, Select Case dan While) pada ARDUINO IDE. Untuk yang belum mengenal apa itu ARDUINO IDE, Arduino dan Microcontroller, silahkan baca dulu artikel sebelumnya karena alangkah baiknya untuk mempelajari dari awal dan dasarnya. Baiklah langsung saja yang kita pelajari kali ini yaitu:
- If;
- For;
- Switch Case;
- 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 (If, For, Switch Case dan While) pada Arduino untuk saat ini. Terus ikuti artikel ini jika ingin mengetahui lebih lanjut tentang ARDUINO IDE dan Mikrokontroler Arduino. Semoga ilmu yang kami bagikan bermanfaat untuk kalian. Selamat mencoba dan terimakasih.
Jika kalian belum menginstal ARDUINO IDE, silahkan lihat artikel ini: Dasar Dasar dan Pengenalan Mikrokontroler Arduino (Untuk Pemula).
Artikel Sebelumnya : Dasar Dasar Arduino: Pengenalan Fungsi Delay, Pin Mode, dan Pemberian perintah dasar pada ARDUINO IDE - Bagian 4.
Updated: Sunday, 07 March 2021