A.Struktur
Dalam
penulisan Program/ Sketch Menggunakan Arduino, ada dua fungsi yang harus
ada hal ini dikarenakan arduino memiliki struktur dasar/ standart
penulisan yaitu void setup, dan void loop, namun Arduino juga memiliki
beberapa fungsi tambahan seperti komentar satu bari ( // ), Blok
komentar (/*ā¦*/), kurung kurawal ( { } ), Titik Koma ( ; ).
1.void setup( ) { }
Semua kode
didalam kurung kurawal akan dijalankan hanya satu kali ketika program
Arduino dijalankan untuk pertama kalinya/ di-Reset
Contoh ;
int LED = 3;
void setup(){
Serial.begin(9600);
pinMode(LED, OUTPUT);
}
void loop(){
}
2.void loop( ) { }
Fungsi ini
akan dijalankan setelah void setup selesai. Setelah dijalankan satu
kali fungsi ini akan dijalankan lagi, dan lagi secara terus menerus
sampai catu daya (power) dilepaskan dengan kata lain program yang ada di
dalam kurung kurawal void loop akan mengunlang secara terus menerus.
3.Fungsi()
Digunakan
untuk membuat sekumpulan program dengan memberikan label/ nama tertentu
yang dapat dipanggil sewaktu- waktu dan fungsi ini biasanya digunakan
untuk sekumpulan program yang akan sering dipanggil / dijalankan,
sehingga program akan jauh lebih sederhana.
ā
4.//(komentar satu baris)
Kadang
diperlukan untuk memberi catatan pada diri sendiri apa arti dari
kode-kode yang dituliskan. Cukup menuliskan dua buah garis miring dan
apapun yang kita ketikkan dibelakangnya akan diabaikan oleh program.
5./* */(Blok Komentar)
Jika anda
punya banyak catatan, maka hal itu dapat dituliskanpada beberapa baris
sebagai komentar. Semua hal yang terletak di antara dua simbol tersebut
akan diabaikan oleh program.
6.{ }(kurung kurawal)
Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir (digunakan juga pada fungsi dan pengulangan).
7.;(titk koma)
Hamper baris
kode pada Arduino harus diakhiri dengan tanda titik koma (jika ada
titik koma yang hilang maka program tidak akan bisa dijalankan/ eror.
B.Struktur Pengaturan
Program
sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya,
berikut ini adalah elemen dasar pengaturan Arduino.
1.If dan Else
Berfungi
untuk melakukan pengetesan atau pengujian kondisi sehingga apabila
sebuah kondisi telah terpenuhi maka program/ sketch akan menjalankan
Pernyataan yang berada di dalam kurung kurawal, namun jika tidak maka
program akan melewati pernyataan tersebut, if sendiri memiliki beberapa
bentuk dalam penulisannya
-Bentuk pertama;
ini adalah
bentuk if tunggal yang digunakan hanya untuk 1 kondisi, sehingga bila
sudah tercapai kondisi tersebut jalankan pernyataan jika tidak lewati
pernyataan.
Format penulisan :
If(kodisi){
pernyataan}
Contoh :
If (SensorPin > 100){
digitalWrite(13, HIGH);}
Program diatas menyatakan jika nilai Sensor Pin besar dari 100 maka nyalakan LED pada pin 13.
-Bentuk kedua;
Ini adalah
bentuk kedua yang digunakan untuk kondisi if dengan satu pengecualian,
jadi apabila if dalam kondisi tersebut program akan menjalankan
pernyataan1 jika tidak program akan menjalankan pernyataan2.
Format Penulisan :
if (kodisi){
Peryataan1}
else{
peryataan2}
Contoh :
If (SensorPin > 100){
digitalWrite (13, HIGH);}
else{
digitalWrite (13,LOW);}
-Bentuk Ketiga;
Pada bentuk
ketiga ini if memiliki beberapa pengecualian, sehingga apabila dalam
kondisi1 program akan menjalankan pernyataa1, jika tidak cek kondisi2
jika dalam kondisi2 jalankan pernyataan2 jika tidak cek kondisi 3 jika
dalam kondisi 3 maka jalankan pernyataan3, jika tidak ada sama dengan
kondisi1, kondisi2, kondisi3 maka jalankan pernyataan4.
Format Penulisan:
If(kondisi1){
Pernyataan1}
else if(kondisi2){
Pernyataan2}
else if(kondisi3){
Pernyataan3}
else {Pernyataan4}
Contoh :
If (SensorPin > 20){
digitalWrite (13, HIGH);}
else if(SensorPin > 40){
digitalWrite (12, HIGH);}
else if(SensorPin > 60){
digitalWrite (11 HIGH);}
else{ digitalWrite (11 HIGH);}
ā
2.For
Digunakan
bila anda ingin melakukan pengulangan kode didalam kurung kurawal
beberapa kali, namun untuk melakukanya dibutuhkan sebuah counter, baik
itu counter up ( i++ ), ataupun counter down ( i-- ), sebagai mana yang
telah dilihat pada format penulisan i=0 menyatakan posisi
awal,sedangkan# untuk jumlah pengulangan dan i++ adalah counter.
Format Penulisan :
for (int i = 0; i < #pengulangan; i++) {
pernyataan}
Contoh :
for (int i =0; i <9; i++){
pinMode(ledPins[i],OUTPUT);
}
3.Switch
Digunakan
untuk menguji suatu nilai pada variable dengan konstanta- konstanta
tertentu, konstanta tersebut diawali dengan case dan diakhiri dengan
break, jika variable sama dengan konstanta 1 maka jalankan pernyataan 1,
jika variable sama dengan konstanta 2 maka jalankan pernyataan 2 dan
begitu seterusnya namun jika variable tidak sama dengan konstanta
manapun maka jalankan default.
Format Penulisan :
switch (var) {
case 1:
//pernyataan 1
break;
case 2:
//pernyataan 2
break;
default:
}
4.while
Akan
menjalankan intruksi yang ada di dalam kurung ()secara terus menerus dan
tak terhingga, sampai ekspresi dalam kurung() menjadi salah(false) oleh
sebab itu harus ada yang mengubah variable agar dapat keluar dari
intruksi ini.
Format Penulisan:
While(kondisi)
{peryataan(s)
}
5.Do-While
Bekerja
dengan cara yang sama seperti while, dengan pengecualian bahwa kondisi
ini di uji pada akhir program, sehingga program akan berjalan setidaknya
sekali.
Format Penulisan:
do
{pernyataan
}
While(kondisi);
6.Break
Digunakan
untuk keluar dari do while dan while, untuk melewati kondisi normal.
Hal ini juga digunakan untuk keluar dari pernyataan switch.
Contoh;
for(x =0; x <255; x ++){
analogWrite(PWMpin, x);
sens =analogRead(sensor);
if(sens > threshold){
x =0;
break;
} delay(50);
}
7.Continue
Pernyataan
melompati sisa literasi saat (do, for, atau if). Ini akan terus
memeriksa ekspresi kondisional dari loop, dan melanjutkan dengan
literasi berikutnya.
Contoh;
for(x =0; x <255; x ++){
if(x >40&& x <120){ // create jump in values
continue; }
analogWrite(PWMpin, x);
delay(50);
}
8.Return
Return berguna untuk mengembalikan nilai dari fungsi ke fungsi panggilan, jika diinginkan.
contoh:
int checkSensor(){
if (analogRead(0) > 400) {
return 1;
else{return 0;}
}
9.go to
adalah intruksi lompat tak bersyarat, instruksi ini mengakibatkan eksekusi dilanjutkan ke alamat yang dituju oleh label .
Contoh;
for(byte r = 0; r < 255; r++){
for(byte g = 255; g > -1; g--){
for(byte b = 0; b < 255; b++){
if (analogRead(0) > 250){ goto Label1;}
Label2}}
}
Label1:
C. Arithmetic
1.Aritmatika
Arduino IDE selain mendukung untuk kompailer juga mendukung operator Aritmatika seperti yang ada dibawah ini.
-Sama dengan ( = )
Membuat sesuatu menjadi sama dengan nilai yang lain (misalnya: x = 10 * 2, x sekarang sama dengan 20).
-Penjumlahan( + )
Penjumlahan
-Pengurangan( - )
Pengurangan
-Perkalian( * )
Perkalian
-pembagian( /)
Pembagian
-Sisa pembagian ( % )
Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain (misalnya: 12 % 10, ini akan menghasilkan angka 2).
2.Operasor Bitwisee
Operasi
bitwise banyak digunakan dalam aplikasi mikrokontroler, misalnya untuk
menguji kondisi bit pada Port 1 atau pergeseran bit dll. Ada enam buah
operator bitwise diantaranya;
-Operator Geser kiri ( << )
Operator
geser kiri akan mengeser ke kiri perbit sehingga bit 0 akan menggeser ke
bit 1 dan bit 2 akan menggeser ke bit 3 dan seterunya, Untuk melakukan
operasi bitwise geser kiri dibutuhkan dua buah operan, disebelah kiri
tanda ( <<) adalah nilai geser dan disebelah kanan adalah jumlah
bit yang akan digeser ke kiri.
-Operator Geser kanan ( >> )
Operator
geser kanan akan mengeser ke kanan perbitā misalnya bit 8 akan menggeser
ke bit7 dan bit 7 akan menggeser ke bit 6 dan seterunya, Untuk
melakukan operasi bitwise geser kanan dibutuhkan dua buah operan,
disebelah kiri tanda ( <<) adalah nilai geser dan disebelah kanan
adalah jumlah bit yang akan digeser ke kiri.
-Operasi Bitwise AND (&)
Operator
bitwise and (&) berfungsi untuk melakukan operasi logika AND bit/
bit misalnya bit 0 akan diproyeksikan dengan bit 0 dan bit 1
diproyeksikan dengan 1 dan seterusnya.
Contoh:
int a = 10 ; // Dalam biner : 1010
int b = 12 ; // Dalam biner : 1100
int c = a & b; // Hasil dalam biner : 1000
-Operasi Bitwise OR(|)
Operator
bitwise OR (|) berfungsi untuk melakukan operasi logika OR bit/ bit
misalnya bit 0 akan diproyeksikan dengan bit 0 dan bit 1 diproyeksikan
dengan 1 dan seterusnya.
Contoh :
int a = 10 ; // Dalam biner : 1010
int b = 12 ; // Dalam biner : 1100
int c = a | b; // Hasil dalam biner : 1110
ā
-Operasi Bitwise XOR (^)
Operator
bitwise XOR (^) berfungsi untuk melakukan operasi logika XOR bit/ bit
misalnya bit 0 akan diproyeksikan dengan bit 0 dan bit 1 diproyeksikan
dengan 1 dan seterusnya.
Contoh :
int a = 12; // Dalam Biner : 1100
int b = 10; // Dalam Biner : 1010
int c = a ^ b; //HarsilDalam Biner : 0110
- Operasi Bitwise NOT (~)
Operatr
bitwise NOT (~) berfungsi untuk melakukan operasi logika NOT pada bit,
misalnya bit yang berlogika 0 berubah menjadi 1 dan logika 1 berubah
menjadi0.
Contoh :
int a = 12; // Dalam Biner : 1100
int c = ~a //Hasil Dalam Biner : 0011
3.Operator Relasi/ Pembanding
Operator Relasi digunakan untuk membandingkan dua buah nilai atau kondisi. Operator relasi.
-Sama dengan ( == )
Sama dengan (misalnya: 14 == 10 adalah FALSE (salah) atau 10 == 10 adalah TRUE (benar))
-Tidak sama dengan ( != )
Tidak sama dengan (misalnya: 14 != 10 adalah TRUE (benar) atau 10 != 10 adalah FALSE (salah))
-Kecil dari ( < )
Lebih kecil
dari (misalnya: 14< 10 adalah FALSE (salah) atau 14 < 14 adalah
FALSE (salah) atau 10< 14 adalah TRUE (benar))
-Besar dari ( > )
Lebih besar
dari (misalnya: 14> 10 adalah TRUE (benar) atau 14 > 14 adalah
FALSE (salah) atau 12 > 14 adalah FALSE (salah))
ā
-Kecil/ sama dengan ( <= )
Kecil/ sama
dengan (misalnya: 14 <= 10 adalah FALSE (salah) atau 14 <= 14
adalah TRUE (benar) atau 10 <= 14 adalah TRUE (benar))
-Besar / sama dengan ( >= )
Lebih besar
dari (misalnya: 14 >= 10 adalah TRUE (benar) atau 14 >= 14 adalah
TRUE (benar)) atau 12 >= 14 adalah FALSE (salah))
PERHATIAN :
dalam
penulisan operator relasi tanda tidak boleh salah hal ini dikarenakan
kesalahan sedikit dalam penulisan tanda dapat menyebankan program/
sketch tidak berkerja sesuai dengan yang diharapkan misalnya : kita
ingin membandingkan sebuah Variable dengan operasi relasi sama dengan
(==) tanda yang harus dituliskan adalah == jika kita hanya menuliskan =
sekali saja maka instruksi yang dijalankan bukanya membandingkan malah
memberi nilai pada Variable, selain dari itu jika kita ingin menusilkan
operasi relasi besar sama dengan ( >= ) kita tidak boleh menulikanya
terbalik ( => ), meskipun maknanya sama namun Arduino IDE tidak
mengenal hal itu sehingga mengakibatkan eror pada saat Verify (
Kompailer ).
Comments
Post a Comment