1. Kompetensi
Mahasiswa mampu menjelaskan pemrograman percabangan dan perulangan pada program
mikrokontroler Arduino
2. Sub Kompetensi
Dapat menerapkan pemrograman if dan if-else
Dapat menerapkan pemrograman while, for dan logika
3. Dasar Teori
Struktur kontrol sering dipakai dalam pemrograman untuk mengatur fungsi input-output atau
memanipulasi data. Terdapat beberapa struktur kontrol yang dipakai dalam pemrograman Arduino
yaitu percabangan dan perulangan. Pada kegiatan pembelajaran ini, kita akan mempelajari struktur
kontrol percabangan if dan if – else serta perulangan while dan for, dan pemrograman logika.
Untuk lebih mempermudah pemahaman digunakan nyala LED sebagai contoh aplikasi sederhana
percabangan, perulangan dan logika.
A. IF
Perintah “if” digunakan untuk menyeleksi suatu kondisi tunggal. Bila proses yang
diseleksi terpenuhi atau bernilai benar, maka pernyataan yang ada di dalam blok “if” akan
diproses dan dikerjakan, dan jika tidak maka program tidak menghasilkan apa-apa. Cara penulisan
programnya adalah:
if (syarat percabangan)
{
// Aksi
}
Ketika awal dinyalakan, maka timeDelay adalah 1000. Nilai tersebut diinisialisasi pada baris 14.
Baris ini tidak dijadikan konstanta (const) sebagaimana pinLED karena nilai timeDelay akan diubah-
ubah.
Setelah masuk ke bagian utama aplikasi, pada baris 18 nilai timeDelay dikurangi 100.
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
SGT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta HSP
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Mikrokontroler
LS 2 : Program Percabangan dan
Semester 6 8 X 60 Menit
Perulangan
No. LST/EKO/EKO 215/01 Revisi : 01 Tgl : 2017 Hal 2 dari 7
Sehingga timeDelay pertama yang digunakan untuk menyalakan dan mematikan LED adalah 900.
Pada perulangan selanjutnya, timeDelay kembali dikurangi 100, sehingga perulangan ke dua
menggunakan timeDelay 800 (lebih singkat dari timeDelay yang awal), begitu seterusnya hingga pada
timeDelay 100.
Pada waktu melewati timeDelay 100, ketika dikurangi dengan 100, maka timeDelay bernilai 0.
Kondisi ini cocok dengan baris ke 23,
B. if-else
Pada dasarnya IF-ELSE merupakan pengembangan dari IF. ELSE berarti kondisi yang tidak sesuai
dengan kondisi dalam IF. Dengan kata lain, ELSE artinya “jika tidak”. Coba perhatikan kedua
pernyataan berikut:
Pada baris 1 sampai 5, maka Main akan terus dieksekusi. Jika sekarang sama
dengan jam 10, maka yang dilakukan adalah Main sambil Makan. Jadi kedua
kegiatan atau statemen akan dieksekusi.
Berbeda dengan baris 8 sampai 12, jika jam 10 Makan, jika tidak jam 10,
Main. Begitulah logika IF-ELSE.
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
SGT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta HSP
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Mikrokontroler
LS 2 : Program Percabangan dan
Semester 6 8 X 60 Menit
Perulangan
No. LST/EKO/EKO 215/01 Revisi : 01 Tgl : 2017 Hal 3 dari 7
C. While
Perintah WHILE merupakan perintah untuk melakukan perulangan berdasarkan suatu kondisi,
jadi banyaknya perulangan tidak bisa ditentukan dengan pasti. Dalam WHILE seakan ada pengecekan
kondisi seperti perintah IF untuk melakukan perulangan. Bentuk umum dari perintah WHILE yaitu :
D. For
Digunakan untuk mengulang-ulang kondisi didalam kurung kurawal selama kondisi
persyaratan terpenuhi. Biasanya dipakai untuk penambahan atau pengurangan yang berulang-ulang
selama kondisi/syarat perulangan terpenuhi.
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
SGT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta HSP
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Mikrokontroler
LS 2 : Program Percabangan dan
Semester 6 8 X 60 Menit
Perulangan
No. LST/EKO/EKO 215/01 Revisi : 01 Tgl : 2017 Hal 4 dari 7
E. True – False
Dalam bahasa pemrograman, kita nantinya akan mempelajari tentang perintah-perintah yang
berkaitan dengan kondisi (logika) True dan False. Secara teori, True berarti 1 dan False berarti 0.
Terkadang kondisi True atau False bisa terdiri dari beberapa kondisi. Misal, kita ingin
menentukan bilangan timeDelay sebagai angka positif tidak lebih dari 10. Maka kita tidak bisa
hanya menggunakan satu kondisi. Kita harus menggunakan 2 kondisi, yaitu timeDelay harus
lebih besar dari 0 DAN timeDelay lebih kecil dari 10.
Dalam logika, kita bisa menuliskannya dengan cara :
Ada beberapa operator yang bisa dipakai sebagai pelengkap jika kita menggunakan struktur
kontrol program percabangan , perulangan dan logika yaitu :
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
SGT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta HSP
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Mikrokontroler
LS 2 : Program Percabangan dan
Semester 6 8 X 60 Menit
Perulangan
No. LST/EKO/EKO 215/01 Revisi : 01 Tgl : 2017 Hal 5 dari 7
5. Langkah Kerja
1. Buat koneksi LED dengan pin 8 Arduino sebagai berikut :
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
SGT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta HSP
FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA
LAB SHEET Praktik Mikrokontroler
LS 2 : Program Percabangan dan
Semester 6 8 X 60 Menit
Perulangan
No. LST/EKO/EKO 215/01 Revisi : 01 Tgl : 2017 Hal 7 dari 7
}
16. Verifikasi dan upload program tersebut ke Arduino.
17. Amati pola nyala LED.
18. Ketikkan program berikut :
const int numLED = 4; // Inisialisasi Jumlah LED
const int pinLED[numLED] = {8,9,10,11}; // LED 1,2,3,&4 jadi 1 varibel dengaan alamat index 0,1,2,3
void setup() {
for(int i=0; i<4; i++){
pinMode(pinLED[i], OUTPUT); // Inisialisasi semua pin LED sebagai OUTPUT
}
}
void loop() {
for(int i=0; i<4; i++){
digitalWrite(pinLED[i], HIGH); // Hidupkan semua LED bertahap dg jeda 1 detik
delay(500);
}
for(int i=0; i<4; i++){
digitalWrite(pinLED[i], LOW); // Matika semua LED bertahap dg jeda 1 detik
delay(500);
}
}
19. Upload program tersebut ke Arduino
20. Amati pola nyala LED dan bandingkan dengan hasil eksekusi program di langkah ke 17.
Dibuat oleh : Dilarang memperbanyak sebagian atau seluruh isi dokumen Diperiksa oleh :
SGT tanpa ijin tertulis dari Fakultas Teknik Universitas Negeri Yogyakarta HSP