Tampilan awal Arduino ID
Ketika aplikasi Arduino IDE dibuka, akan muncul tampilan seperti gambar 1-9. Apa
bedanya void setup dengan void loop? Program yang ditulis di dalam void setup() {...}
akan di eksekusi/dikerjakan 1 kali. Sedangkan program yang ditulis di dalam void loop()
{...} akan dikerjakan secara berulang-ulang dan terus menerus (selama board Arduino
diberi suplai tegangan). Program yang ditulis di bagian void setup umumnya adalah
program untuk inisialiasi awal, seperti konfigurasi pin input dan output, inisialisasi LCD,
dll. Di subbab selanjutnya akan dibahas lebih jauh.
Deklarasi Variabel
Mari kita perhatikan gambar berikut
Contoh tempat tisu dan termos
Jika kita ingin menyimpan air panas, mana yang kita gunakan? Tempat tisu, atau
termos? Ya, benar, kita gunakan tempat tisu! (yang ada termosnya). Hehehehe.. Sama
seperti ilustrasi pada gambar 1-10, di bahasa pemrograman, deklarasi variabel
bergantung tipe data yang akan kita simpan. Jika kita ingin menyimpan angka, maka
yang kita gunakan adalah tipe data integer, long, byte, dkk. Jika kita ingin menyimpan
teks, maka yang kita gunakan adalah string atau char. Berikut penjabaran dari masingmasing tipe data:
- Int :
untuk penyimpanan bilangan bulat dengan rentang nilai -32,768 s/d 32,768
- byte :
untuk bilangan cacah dengan rentang nilai 0-255 (8 bit)
- unsigned int :
untuk bilangan cacah dengan rentang nilai 0-65,535 (16 bit)
- long :
untuk bilangan bulat dengan rentang nilai -2,147,483,648 s/d 2,147,483,647
- unsigned long :
Untuk bilangan cacah dengan rentang nilai 0-4,294,967,295 (32 bit)
- float :
untuk bilangan rill (pecahan) dengan rentang nilai -3.4028235E+38 s/d
3.4028235E+38
- double :
untuk Arduino uno sama dengan float
- char :
untuk karakter sesuai tabel ASCII
- String :
untuk teks
Bagaimana cara pendeklarasiannya? Ada berbagai macam cara, seperti:
Untuk Code 1-2.1, hanya dilakukan deklarasi variabel angka1 dan angka2 bertipe
integer. Dalam hal ini, angka1 dan angka2 secara default akan bernilai 0 (nol).
Sedangkan code 1-2.2, dilakukan pengisian nilai pada variabel angka1 dan angka2
masing-masing dengan nilai nol dan 10. Code 1-2.3 mempunyai hasil yang sama seperti
pada code 1-2.2, yaitu variabel angka1 bertipe integer dengan nilai nol dan variabel
angka2 bertipe integer dengan nilai 10.
Pun demikian dengan untuk penyimpanan variabel bertipe string. Code 1-2.4
mempunyai hasil yang sama dengan code 1-2.5 meski cara penulisannya berbeda.
Kondisi Bersyarat
Pernahkah kita mengisi bak mandi? Kapan kita membuka dan menutup keran air
di bak mandi? Misalkan kita mengisi bak mandi jika air dalam bak mandi kurang dari
separuh volume bak mandi, sedang kita menutup keran jika volume air sudah sama
dengan volume maksimal bak mandi atau jika air sudah meluber. Sadarkah kita jika
proses itu sudah melibatkan kondisi bersarat ‘if – then - else’? Mari perhatikan code 1-
3.1 dan 1-3.2.
Apa perbedaan code 1-3.1 dengan code 1-3.2? Ya, terdapat tambahan else pada
code 1-3.2. Yang perlu diperhatikan, adalah code 1-3.1 merupakan 3 buah kondisi
bersyarat yang berdiri sendiri –tidak terpaut satu sama lain-, sedangkan code 1-3.2
merupakan satu kesatuan sebuah kondisi bersyarat. Perbedaan dari kedua code akan
dibahas lebih detail di bab selanjutnya.
Di dalam kondisi bersyarat if then terdapat operator pembanding yaitu: If ( X == Y ) jika X sama dengan Y If ( X != Y ) jika X tidak sama dengan Y
If ( X < Y ) jika X kurang dari Y If ( X > Y ) jika X lebih dari Y If ( X <= Y ) jika X kurang dari sama dengan Y If ( X >= Y ) jika X lebih dari sama dengan Y
Bisa juga jika kita mempunyai lebih dari 1 kondisi bersyarat, dengan menggunakan: If ( X==Y && Y!=Z) jika X sama dengan Y dan Y tidak sama dengan Z If ( X==Y II Y!=Z) jika X sama dengan Y atau Y tidak sama dengan Z
Kondisi bersyarat lainnya adalah switch-case. Mari kita perhatikan code 1-3.3 dan
code 1-3.4.
Apakah keduanya berbeda? Secara penulisan program memang YA! Tapi secara
hasil keluaran, code 1-3.3 dan code 1-3.4 itu SAMA. Jadi, sudah paham kan bedanya If
– then dengan switch – case? Pahaaaaaam, siiiiiip... ^^b
Perulangan Bersyarat
Pernah mengamati lampu lalu lintas yang dilengkapi penghitung waktu digital?
Ketika lampu merah, akan ada hitungan mundur misalkan dari angka 60 hingga 0, lalu
berganti ke hijau misalkan dari angka 18 hingga 0, lalu berganti sejenak lampu kuning.
Selanjutnya berulang-ulang secara terus menerus hingga listrik dari PLN padam.
Hehehehe.
Ilustrasi algoritma perulangan pada lampu lalu lintas
Jika melihat ilustrasi pada gambar 1-11, urutan nyala lampu adalah 1-2-3 lalu
kembali lagi 1-2-3 lalu kembali lagi 1-2-3 dan seterusnya. Sehingga program nyala lampu
1-2-3 berada dalam looping utama (dalam void loop). Dan masing-masing nyala lampu
1, 2 dan 3 merupakan unit perulangan tersendiri. Sehingga perulangan untuk nyala
lampu lalu lintas dapat dituliskan seperti code 1-4.1
ge-newline">
Dengan: int konter = xx deklarasi variabel konter dengan nilai = xx, konter >, <, <=, >= xx looping akan terus dijalankan selama nilai konter
>, <, <=, atau >= dari nilai xx, konter --,++ nilai konter ditambah +1(++) atau dikurangi -1(--) setiap satu
looping selesai dijalankan
Jadi untuk perulangan bersyarat for, perulangan akan trus dilakukan selama
kondisi syarat (yang ditulis di bagian tengah) terpenuhi. Nilai konter juga dapat
digunakan untuk program di dalam looping for. –pada bab selanjutnya dibahas lebih
detail dengan contoh aplikasinya—
Kondisi perulangan bersyarat lainnya adalah while. Code 1-4.2 mempunyai hasil
yang sama seperti code 1-4.1.
|
0 Reviews
Silakan dikomentari