Control structure adalah elemen penting dalam pemrograman yang mengatur alur eksekusi kode. control structure memungkinkan mikrokontroler mengambil keputusan, mengulang tugas, atau merespons input dari sensor. Artikel ini akan membahas jenis-jenis control structure pada Arduino beserta contoh penerapannya. Control Stucture dibagi menjadi 3 bagian yaitu :
- Conditional Statement (if-else, switch. . case)
- Loops (for, while, do. .while)
- Loop Control (break, continue, goto, return)
Pada artikel kali ini Kita akan bahas dulu mengenai conditional statement, loops dan loop control akan dibahas pada artikel selanjutnya.
if
Statement ini digunakan untuk mengulang blok program yang ada didalam kurung kurawal (curly brances), sesuai dengan kondisi yang kita tetapkan. Berikut syntaxnya:
If (condition) {
//blok program
}
Statement if akan menguji nilai condition, jika condition bernilai true, maka blok program akan dieksekusi. Condition adalah suatu ekspresi boolean yang nilainya antara true atau false. ada beberapa cara penulisan syntax statement if.
//penulisan 1
if (x > 120) digitalWrite (LEDpin, HIGH);
//penulisan 2
if (x > 120)
digitalWrite (LEDpin, HIGH);
//penulisan 3
if (x > 120) {digitalWrite(LEDpin, HIGH);}
//penulisan 4
if (x > 210) {
digitalWrite (LEDpin, HIGH);
else
Statement else digunakan untuk melengkapi statement if, sehingga memungkinkan untuk untuk melakukan perintah yang lebih banyak dan pengambilan keputusan yang lebih baik. Statement else akan di eksekusi jika statement if bernilai false, else juga bisa digunakan untuk membuat statement if baru sehingga bisa menciptakan kombinasi perintah yang kompleks.
if (condition1) {
//blok program 1
}
else if (condition2) {
//blok program 2
}
else (condition3) {
//blok program 3
}
Condition akan diuji dari mulai statement if lebih dulu, jika condition1 bernilai false maka blok program 1 akan di skip dan condition 2 akan diuji, jika condition 2 bernilai false maka blok program 3 akan di eksekusi.
Sekarang kita coba memuat program sederhana, penggunaan statement if-else untuk menyalakan led ketika input mencapai nilai tertentu. saya lakukan dengan simulasi pada wokwi, jika ingin mencoba silakan klik disini. Jika menggunakan arduino, siapkan arduino UNO atau nano, potensio, LED dan resistor 220 Ohm, buat rangkaian dibawah ini.

//simulasi statement if untuk mengontrol LED -purwarupa3D
int InputPin = A1;
int ledPinRed = 10;
int ledPinBlue = 8;
int ledPinGreen = 9;
int batasBawah = 350;
int batasTengah = 600;
void setup() {
Serial.begin (9600);
pinMode (ledPinRed, OUTPUT);
pinMode (ledPinGreen, OUTPUT);
pinMode (ledPinBlue, OUTPUT);
}
void loop() {
int inputValue = analogRead (InputPin);
if (inputValue > 10 && inputValue < batasBawah) {
digitalWrite(ledPinRed, HIGH);
digitalWrite(ledPinGreen, LOW);
digitalWrite(ledPinBlue, LOW);
}
else if (inputValue > 350 && inputValue < batasTengah) {
digitalWrite(ledPinRed, HIGH);
digitalWrite(ledPinGreen, HIGH);
digitalWrite(ledPinBlue, LOW);
}
else if (inputValue > batasTengah) {
digitalWrite(ledPinRed, HIGH);
digitalWrite(ledPinGreen, HIGH);
digitalWrite(ledPinBlue, HIGH);
}
else {
digitalWrite (ledPinRed, LOW);
digitalWrite (ledPinGreen, LOW);
digitalWrite (ledPinBlue, LOW);
}
Serial.print ("Input Analog = ");
Serial.println (inputValue);
delay (500);
}
Jalankan program dan coba putar-putar knob potensio sambil perhatikan serial monitor, pada program, saya menggunakan statement if untuk mengatur suatu aksi berdasarkan kondisi jika nilai potensio antara 10 sampai 350 maka LED merah akan menyala. jika potensio antara 360 sampai 600 maka LED merah dan hijau akan menyala, jika nilai potensio lebih dari 600, semua LED akan menyala.
I’m enthralled by your talent to convert ordinary subjects into interesting writing. Well done!
Your writing is so impactful; it has the power to change perspectives.