Algoritma Pada Arduino
Algoritma Pada Arduino
Pernyataan “for” digunakan untuk mengulang suatu blok program yang terdapat di dalam kurung
kurawal setelah pernyataan “for”. Format penulisan pernyataan “for” adalah sebagai berikut :
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
Contoh Program
void setup()
{
pinMode(PWMpin, OUTPUT);
}
void loop()
{
int i;
for(i=0; i<=255; i++)
{analogWrite(PWMpin,i);}
}
Penjelasan
3. Pada bagian program utama (loop), terlebih dahulu dideklarasi sebuah variabel i sebagai
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.
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
while(test kondisi)
{ pernyataan / program ; }
Test kondisi adalah sebuah bilangan boolean yang menyatakan salah atau benar.
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.
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
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(); }
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
REPORT THIS AD
REPORT THIS AD
STANDARD
POSTED BY
DJUKARNA
POSTED ON
20/01/2015
POSTED UNDER
UNCATEGORIZED
COMMENTS
1 COMMENT
Kedua pernyataan ini sama-sama digunakan untuk memilih suatu percabangan dalam program.
Pernyataan if – else
if (variabel dibandingkan)
{ pernyataan 1;}
else
{ pernyataan 2;}
Dengan menggunakan flowchart dapat digambar sebagai berikut
Gambar 1 flowchart untuk pernyataan if – else
int pininput = 1;
int pinoutput1 = 2;
void setup()
{
pinMode(pininput,INPUT);
pinMode(pinoutput1,OUTPUT);
}
void loop()
{
if(pininput == 1)
{digitalWrite(pinoutput1, HIGH);}
else
{digitalWrite(pinoutput1, LOW);}
}
Pernyataan if-else digunakan untuk membandingkan variabel dengan suatu kondisi logika. Bila
variabel bernilai benar, maka pernyataan1 akan dieksekusi bila tidak (else) maka pernyataan2
yang akan dieksekusi. Pernyataan if dapat juga ditulis tanpa else. Bila demikian, maka if hanya
int pininput = 1;
int pinoutput1 = 2;
int pinoutput2 = 3;
int pinoutput3 = 4;
int pinoutput4 = 5;
void setup()
{
pinMode(pininput,INPUT);
pinMode(pinoutput1,OUTPUT);
pinMode(pinoutput2,OUTPUT);
pinMode(pinoutput3,OUTPUT);
pinMode(pinoutput4,OUTPUT);
}
void loop()
{
switch (pininput)
{case 1:
digitalWrite(pinoutput1,HIGH);
break;
case 2:
digitalWrite(pinoutput2,HIGH);
break;
case 3:
digitalWrite(pinoutput3,HIGH);
break;
default :
digitalWrite(pinoutput4,HIGH);
break;}
}
Variabel adalah nilai yang akan dibandingkan dengan konstanta-konstanta atau dapat juga berupa
ekspresi aritmatika. Konstanta 1 hingga konstanta ke n adalah nilai pembanding untuk variabel.
Dalam pernyataan switch-case, konstanta tidak boleh ada yang sama atau berulang. Pernyataan 1
hingga pernyataan n adalah suatu pernyataan atau proses yang harus dikerjakan jika variabel
sesuai dengan suatu konstanta. Pernyataan X adalah pernyataan yang dikerjakan bila tidak ada
Switch – case digunakan untuk membandingkan suatu variabel dengan beberapa konstanta.
Konstanta diawali dengan “case” dan setiap blok case diakhiri dengan “break”. Jika nilai variabel
sama dengan suatu konstanta, maka pernyataan yang ada pada blok tersebut akan dieksekusi dan
jika variabel tidak ada yang sama dengan konstanta – konstanta yang ada maka pernyataan pada
blok “default” yang akan dieksekusi. Blok “default” adalah opsional artinya boleh ada boleh juga
tidak.
Pada contoh program, pada mulanya program akan melakukan deklarasi yaitu :
int pininput = 1;
int pinoutput1 = 2;
int pinoutput2 = 3;
int pinoutput3 = 4;
int pinoutput4 = 5;
deklarasi ini menyatakan bahwa kata “pininput” identik dengan pin1 terminal arduino, sedangkan
kata-kata “pinoutput1, pinoutput2, pinoutput3 dan pinoutput4” berturut-turut identik dengan pin2,
void setup()
{
pinMode(pininput,INPUT);
pinMode(pinoutput1,OUTPUT);
pinMode(pinoutput2,OUTPUT);
pinMode(pinoutput3,OUTPUT);
pinMode(pinoutput4,OUTPUT);
}
Pada blok ini mikrokontroler akan mengatur “pininput” (pin1 arduino) sebagai pin input dan
void loop()
{
switch (pininput)
{case 1:
digitalWrite(pinoutput1,HIGH);
break;
case 2:
digitalWrite(pinoutput2,HIGH);
break;
case 3:
digitalWrite(pinoutput3,HIGH);
break;
default :
digitalWrite(pinoutput4,HIGH);
break;}
}
Program utama ini akan berulang terus menerus. Perintah switch akan membandingkan variabel
“pininput” dengan beberapa konstanta atau sama saja membandingkan data masukan pada pin1
arduino dengan beberapa konstanta. Jika “pininput” bernilai sama dengan 1 maka “pinoutput1”
akan diperintahkan untuk bernilai tinggi (HIGH) atau memberikan tegangan 5V, jika “pininput”
bernilai sama dengan 2, maka “pinoutput2” akan bernilai tinggi, jika “pininput” bernilai sama
dengan 3 maka “pinoutput3” yang akan bernilai tinggi dan jika nilai “pininput” tidak ada yang
sama dengan ketiga konstanta, maka perintah dalam blok “default” yang akan dijalankan yaitu
“pinoutput4” yang akan bernilai tinggi. Perintah “break” akan mengulang program.