1. Pernyataan “for “
Pernyataan “for” digunakan untuk mengulang suatu blok program yang terdapat di dalam kurung kurawal setelah pernyataan “for”. Format penulisan pernyataan “for” adalah sebagai berikut :
for (inisiasi; test kondisi; proses inkremental/dekremental)
{pernyataan yang akan diulang;}
Penjelasan :
Flowchart untuk pernyataan “for”
Gambar 1 flowchart untuk pernyataan “for”
Inisiasi dilakukan pertama – tama ketika pernyataan “for” dijalankan dan hanya dilakukan satu kali saja yaitu pada saat awal pernyataan “for” dijalankan. Selama proses pengulangan terjadi, selalu dilakukan test kondisi untuk mengetahui apakah variabel masih masuk dalam range yang ditentukan atau masih bernilai “benar” atau tidak. Setelah proses test kondisi, variabel di inkremental atau dekremental sesuai dengan persamaan yang diberikan. Pengulangan terus berlangsung hingga test kondisi “salah”. Bila bilai test kondisi “salah”, maka proses pengulangan dihentikan dan program lanjut membaca pernyataan berikutnya.
Contoh Program
int PWMpin = 10; void setup() { pinMode(PWMpin, OUTPUT); } void loop() { int i; for(i=0; i<=255; i++) {analogWrite(PWMpin,i);} }
Penjelasan
Pada contoh program diatas, pertama-tama program melakukan deskripsi yaitu menyatakan “PWMpin” adalah bilangan bulat (integer) dan sebagai perwujudan dari pin 10. Pada bagian setup diatur supaya “PWMpin” menjadi pin output. Pada bagian program utama (loop), terlebih dahulu dideklarasi sebuah variabel i sebagai bilangan bulat (integer). Kemudian dilakukan pengulangan dengan menggunakan pernyataan “for”. Nilai inisiasi awal untuk variabel i adalah i=0, kemudian dilakukan test kondisi i<255. Selama nilai variabel i < 255, pengulangan terus dilakukan hingga variabel i > 255. Kemudian dilakukan proses inkremental dengan menaikkan nilai variabel i sebesar 1. Pernyataan yang diulang adalah “analogWrite(PWMpin,i)” yaitu mengeluarkan output PWM dengan nilai dari 0 hingga 255.
2. Pernyataan “while”
Pernyataan “while” akan memerintahkan program untuk melakukan pengulangan terus menerus dan tak terhingga, sampai nilai test kondisi yang terdapat di dalam kurung () tercapai. Format penulisan untuk pernyataan pengulangan “while” adalah :
while(test kondisi)
{ pernyataan / program ; }
Test kondisi adalah sebuah bilangan boolean yang menyatakan salah atau benar.
Flowchart untuk pernyataan “while”
Gambar 2 flowchart untuk pernyataan “while”
Contoh Program
int var ; void loop() { var = 0; while(var < 200) { // suatu pernyataan yang akan dilakukan berulang-ulang hingga 200 kali var++; } }
Pada contoh program di atas, pertama-tama dideskripsikan terlebih dahulu suatu variabel “var” sebagai bilangan integer. Kemudian dalam program utama, variabel “var” diuji apakah memenuhi “var<200”. Jika hasil pengujian benar, maka pernyataan yang ada dalam blok “while” akan dieksekusi dan nilai variabel “var” akan dinaikan 1. Kemudian program berulang kembali. Pengulangan dilakukan hingga variabel “var” tidak memenuhi var<200.
3. Pernyataan “do-while”
Pernyataan pengulangan “do-while” hampir sama dengan pernyataan “while”, bedanya bila pada pernyataan “while” , test kondisi diuji dahulu, dan bila test kondisi bernilai benar maka pernyataan yang ada di dalam blok “while” akan dieksekusi, kemudian test kondisi akan diinkremental. Pada pernyataan “do-while”, kondisi menjadi terbalik, yaitu pernyataan utama akan dieksekusi terlebih dahulu, setelah itu baru test kondisi diuji, jika test kondisi benar maka pernyataan utama akan diulang, dan jika salah program akan keluar dari blok “do-while”. Format penulisan pernyataan “do-while” adalah sebagai berikut.
do { //pernyataan utama;} while(test kondisi)
Flowchart untuk pernyataan “do-while”
Gambar 3 flowchart untuk pernyataan “do-while”
Contoh Program
do { delay(50); x = readSensors(); } while (x < 100);
Pada contoh program di atas, pertama-tama program akan melakukan delay selama 50 milidetik menungga hingga sensor stabil. Kemudian program akan membaca sensor dan menyimpannya dalam variabel x. Kemudian variabel x akan diuji apakah lebih kecil dari 100 atau tidak. Jika nilai x lebih kecil dari 100, maka program akan melakukan pengulangan (kembali melakukan pembacaan sensor), tetapi jika nilai x lebih besar dari 100, maka program akan keluar dari blok “do-while” untuk melakukan perintah yang lain.