Memahami Fungsi Loop For Pada Bahasa Arduino

Pada artikel sebelumnya saya membahas statement pengulangan (looping) while loop dan do-while loop yang digunakan untuk melakukan pengulangan blok program jika suatu kondisi terpenuhiArtikel ini akan membahas ini membahas satu lagi statement loop yang bisa digunakan untuk sebuah kondisi yang kompleks, yaitu statement for. saya akan membahas cara kerja, sintaks serta contoh penerapannya dalam program arduino.

for

Statement ini digunakan untuk mengulang blok program yang ada didalam kurung kurawal (curly brances), sesuai dengan kondisi yang kita tetapkan sesuai dengan jumlah iterasi yang telah ditentukan atau menggunakan variabel penghitung.

				
					for (initialization ; condition ; increment) {
	//blok program ;
}

				
			
  • Initialization : hanya dibaca sekali dan digunakan untuk menginisiasi nilai dan mendeklarasikan variabel.
  • Condition : untuk menentukan kondisi pengulangan. Nilai condition akan di uji, apabila nilainya TRUE, blok program di eksekusi dan feedback diberikan ke increment untuk dilakukan aksi lanjutan.
  • Increment : untuk memberikan aksi terhadap nilai variabel setiap pengulangan terjadi.
				
					//contoh
for (int i = 0; i < 5; i++) {
    Serial.println(i);
}
				
			
				
					//output
0
1
2
3
4
				
			

Statement for sangat berguna untuk optimalisasi code, daripada menulis blok program yang sama berulang ulang seperti ini

				
					digitalWrite (Ledpin1 , HIGH);
delay (1000);
digitalWrite (Ledpin2, HIGH);
delay (1000);
digitalWrite (Ledpin3, HIGH);
delay (1000);
digitalWrite (Ledpin4, HIGH);
delay (1000);
digitalWrite (Ledpin5, HIGH);
delay (1000);

				
			

kita bisa membuat blok program tersebut menjadi lebih ringkas dengan statement for. Selain mempersingkat program, bisa menghemat memory dan meringankan proses compile.

				
					for (int Ledpin = 1 ; Ledpin < 5; Ledpin++) {
	digitalWrite (Ledpin, HIGH);
	delay (1000);
}

				
			

Contoh penggunaan statement for apabila kita ingin menyalakan LED yang terhubung dengan pin digital 1 sampai 5 dan akan dinyalakan secara berurutan, kemudian dimatikan secara berurutan juga. Coba buat rangkaian seperti dibawah ini, saya menggunakan simulator wokwi, jika ingin mencoba juga silakan klik disini

				
					//simulasi statement for - purwarupa3D
const byte LEDpin[] = {5,6,7,8,9}; 

void setup () {
for (int i = 0 ; i < 5 ; i++) {
pinMode (LEDpin[i], OUTPUT);
}
}

void loop () {
for (int i = 0 ; i < 5; i++) {
	digitalWrite (LEDpin[i], HIGH);
	delay (1000);
}

for (int i = 4 ; i >= 0; i--) {
	digitalWrite (LEDpin[i], LOW);
	delay (1000);
}
}


				
			

Upload dan jalankan program, kemudian perhatikan, LED akan menyala satu persatu dari bawah ke atas kemudian mati satu per satu dari atas ke bawah. Pada program nya saya menggunakan 3 statement for dan deklarasi variabel array. statement for yang pertama diletakan pada setup() untuk mengatur mode pin 5 sampai 9 sebagai OUTPUT. Statement for kedua diletakan pada loop() untuk memberikan sinyal HIGH ke pin 5 sampai 9 secara berurutan, kemudian statement for yang ketiga digunakan untuk sinyal LOW ke pin 5 sampai 9 secara berurutan.

Tinggalkan komentar