Anda di halaman 1dari 21

Laporan Pratikum Dasar Pemograman Arduino Untuk

Pengulanagan
D
I
S
U
S
U
N
OLEH :

Nama: M.Liwaul hamda


Nim : 2040120011

STIKES MUHAMMADIYAH ACEH


TAHUN AJARAN 2021/2022
Pendahuluan

Structure Structure dasar dari bahasa pemrograman arduino adalah sederhana yang hanya
terdiri dari dua bagian. void setup( ) // Statement; void loop( ) // Statement; Dimana setup ()
bagian untuk inisialisasi yang hanya dijalankan sekali di awal program, sedangkan loop ()
untuk mengeksekusi bagian program yang akan dijalankan berulang-ulang untuk selamanya.
2. Setup ( ) Fungsi setup() hanya dipanggil satu kali ketika program pertama kali di jalankan.
Ini digunakan untuk pendefinisian mode pin atau memulai komunikasi serial. Fungsi setup()
harus diikutsertakan dalam program walaupun tidak ada statement yang di jalankan. void
setup() pinmode(13,output); // mengset pin 13 sebagai output

2 3. Loop Setelah melakukan fungsi setup() maka secara langsung akan melakukan fungsi
loop() secara berurutan dan melakukan instruksi-instruksi yang ada dalam fungsi loop(). void
loop() digitalwrite(13, HIGH); // nyalakan pin 13 delay(1000); // pause selama 1 detik
digitalwrite(13, LOW); // matikan pin 13 delay(1000); /// pause selama 1 detik 4. Function
Function (fungsi) adalah blok pemrograman yang mempunyai nama dan mempunyai
statement yang akan dieksekusi ketika function di panggil. Cara pendeklarasian function type
functionname(parameters) // Statement; Contoh: int delayval() int v; // membuat variable v
bertipe integer v = analogread(pot); // baca harga potentiometer v /= 4; // konversi ke return
v; // return nilai v Pada contoh di atas fungsi tersebut memiliki nilai balik int (integer), karena
jika tidak menghendaki adanya nilai balik maka type function harus void. 5. Curly Braces.
Modul 4

DASAR PEMOGRAMAN ARDUINO UNTUK PENGULANGAN

Arduino memiliki bahasa pemrograman yang baku untuk menjalankan fungsi sederhana
menggunakan bahasa pemrograman C. Yaitu bahasa tingkat tinggi yang sangat populer dan
banyak digunakan para programmer profesional.

Untuk beberapa aplikasi pemrograman, biasanya menyebut hasil kodingan dengan


istilah script, listing, atau program.Nah, untuk Arduino IDE sendiri sebutannya bukan itu,
melainkan “sketch”, yang apabila diterjemahkan ke bahasa Indonesia berarti “sketsa”.

Secara umum, ada tiga tahapan yang harus kamu lakukan hingga program atau sketch-mu
bisa dijalankan di Arduino. Tahapan tersebut antara lain:

 Menulis program
 Meng-compile program
 Meng-upload program

Singkatnya, suatu program bisa dijalankan pada papan sirkuit Arduino ketika telah selesai
ditulis, di-compile, dan di-upload ke papan Arduino dengan menggunakan software Arduino
IDE.

Karakteristik penulisan kode program Arduino sangatlah sederhana. Hanya terdiri atas dua
fungsi utama, yaitu void setup() dan void loop(). Perlu kamu ketahui bahwa fungsi void pada
Arduino itu untuk mendeklarasikan.

Struktur program Arduino yang benar yaitu:

void setup( )
{
  pernyataan;
}
void loop( )
{
  pernyataan;

Kedua fungsi tersebut memiliki keterkaitan satu sama lain. Apabila salah satu fungsi tak
terdapat di sketch, maka kemungkinan besar sketch-mu akan error.Jadi, pastikan untuk
menulis kedua fungsi tersebut meskipun salah satunya tak digunakan atau tak memiliki
pernyataan di dalamnya.

1. void setup()
Fungsi void setup pada Arduino adalah sebagai bentuk inisialisasi atau pengenalan
dalam program Arduino dan hanya dieksekusi sekali sejak program dijalankan.

Umumnya fungsi ini digunakan untuk pendefinisian mode pin atau memulai komunikasi
serial. 

void setup()
{
  pinMode(13,OUTPUT);
}

Keterangan:

Dalam perintah tersebut terdapat pernyataan atau statement yang berisi penginisialisasian


pin 13 sebagai pin output atau keluaran.
2. void loop()
Setelah void setup() dijalankan, selanjutnya program akan menjalankan fungsi void
loop().

Fungsi ini akan dieksekusi terus-menerus secara berurutan hingga program berhenti
dijalankan. 

void loop()
{
digitalWrite(13, HIGH);
delay(1000);
}

Untuk beberapa kasus pemrograman yang kompleks, terkadang programmer juga


menambahkan void baru untuk mempermudah pemrograman.

Jadi void baru ini nantinya bisa diletakkan setelah atau sebelum void loop().

*Syntax Arduino
Secara umum, syntax atau sintaks dikenal sebagai seperangkat aturan tata bahasa pada
kata atau klausa dalam membentuk kalimat.

Sedangkan dalam bahasa pemrograman, sintaks diartikan sebagai suatu aturan dalam
penulisan kode program agar kode tersebut bisa dimengerti komputer.

Sintaks dalam Arduino bisa juga disebut sebagai aturan karakteristik penulisan kode


program Arduino.
1. Titik Koma (Semicolon)
Tanda titik koma adalah syntax wajib dalam pemrograman Arduino. Biasanya sintaks
ini ditempatkan pada akhir pernyataan. Contohnya seperti berikut ini:

int x = 13;   

2. Kurung Kurawal (Curly Braces)


Kurung kurawal berfungsi untuk mendefinisikan awal dan akhir dari sebuah blok
fungsi. Contohnya bisa kamu lihat di bawah ini:

void loop()
{
isi program
}

3. #define
Fungsi define pada Arduino yaitu memungkinkan programmer dalam memberi nama
untuk nilai konstan sebelum program dapat dikompilasi. 

Untuk mendeklarasikan nomor pin yang digunakan bisa ditulis dengan format sebagai
berikut:

#define ledPin 3

Keterangan:

ledPin = variabel yang digunakan


3 = nilai(value) atau pin yang sedang digunakan

4. #include
Fungsi include pada Arduino yaitu untuk memasukkan library ke dalam sketch.
Dimana fungsi library Arduino sendiri adalah memudahkan pengguna dalam melakukan
pengodingan.
Cara penggunaan sintaks sangat mudah. Kamu hanya perlu menambahkan
nama library yang ingin di-import ke program di belakang sintaks tersebut. Contohnya
seperti di bawah ini:

#include <OneWire.h>

5. Komentar
Apabila kamu bertanya bagaimana cara untuk memberikan catatan pada program
yang kita buat di Arduino IDE? Maka jawabannya, kamu bisa menggunakan sintaks
komentar.

Sintaks komentar pada program Arduino adalah sintaks yang berfungsi menambah
keterangan pada program yang dibuat.

*Variabel Arduino
Variabel dalam bahasa program Arduino bisa didefinisikan sebagai suatu wadah
untuk menyimpan atau menampung data.

Kita dibebaskan memilih nama variabel yang diinginkan, asalkan sesuai dengan
ketentuan berikut:

 Tidak menggunakan spasi


 Maksimal 32 karakter
 Tidak menggunakan istilah baku dalam bahasa C Arduino

Sebagai contoh, misalkan kamu ingin mendefinisikan nilai pin 2 dengan variabel
“ganteng” dan menggunakan tipe data integer. Maka contoh penulisannya yaitu:

int ganteng = 2;

*Nilai Konstan Dalam Pemrograman Arduino


Pada dasarnya, Arduino telah memiliki beberapa variabel yang telah memiliki nilai
yang disebut sebagai konstan.Karena nilainya sudah ditentukan, jadi tak perlu lagi
didefinisikan di awal.
1. TRUE/FALSE
TRUE dan FALSE adalah konstanta boolean yang digunakan untuk mendefinisikan
level logika. Apakah ia bernilai benar (TRUE) atau salah (FALSE).

TRUE didefinisikan sebagai 1 dan FALSE sebagai 0. Lihat contoh format penulisannya
berikut ini:

If(c==TRUE);
{
perintah;
}

2. HIGH/LOW
Variabel konstan HIGH dan LOW umumnya digunakan untuk menentukan kondisi
pin saat membaca dan menulis data di pin digital.

Bila ada yang bertanya tentang pengertian HIGH dan LOW pada Arduino3.

*INPUT/OUTPUT
Variabel konstan ini sering digunakan pada fungsi pinMode() untuk mendefinisikan pin
digital. Apakah ia berperan sebagai INPUT atau OUTPUT. Contoh penggunaannya seperti ini.

pinMode(13, OUTPUT);

*Perintah Pin Digital I/O Arduino


Setidaknya, ada tiga macam perintah yang biasa digunakan untuk mengatur pin
digital input/output dalam pemrograman Arduino.

1. pinMode(pin, mode)
Apa itu pinMode()? Yaitu suatu perintah yang biasa ditemukan pada block void
setup(). Fungsi pinMode() pada Arduino adalah untuk memperjelas apakah suatu pin
digunakan sebagai INPUT atau OUTPUT. Contoh penulisannya seperti ini.

pinMode(3, INPUT);
Keterangan:

3           = nomor pin yang ingin dikonfigurasi


INPUT = mode yang digunakan.

2. digitalRead(pin)
Penggunaan perintah ini bertujuan untuk membaca nilai pin digital yang dikehendaki
lalu menyimpannya dalam suatu variabel. Berikut contoh penulisannya.

 Baca = digitalRead(8);

Keterangan:

Baca = nama variabel yang menyimpan data hasil pembacaan


8       = nomor pin digital yang digunakan.

3. digitalWrite(pin, value)
Apa itu digitalWrite pada Arduino? yaitu suatu perintah untuk menuliskan suatu
nilai pada pin digital.

Lengkapnya, fungsi digitalWrite() pada Arduino adalah untuk menentukan nilai logika


awal pada suatu pin. Apakah ia LOW atau HIGH. Lihat contoh penulisannya di bawah
ini.

digitalWrite(9,HIGH);

Keterangan:

9         = nomor pin digital yang digunakan


HIGH = kondisi yang diinginkan.

*Perintah Pin Analog I/O Arduino


Berbeda dengan pin digital, pin analog hanya memiliki dua jenis perintah yang
sering digunakan. Ini karena pin analog tak membutuhkan perintah penginisialisasian
dengan pinMode().
1. analogRead(pin)
Fungsi analogRead() pada Arduino yaitu untuk membaca data dari pin analog
kemudian disimpan dalam suatu variabel.

Dimana data hasil pembacaan tersebut berupa nilai integer dengan kisaran 0 sampai
1023. Berikut contoh penulisannya.

 Baca = analogRead(A0);

Keterangan:

Baca = nama variabel tempat menampung data hasil pembacaan


A0    = nama pin analog yang digunakan (A0 sampai A6)

2. analogWrite(pin, value)
Perintah ini berfungsi untuk mengirimkan nilai analog dengan metode PWM
(Pulse Width Modulation) pada pin khusus yang berlabel PWM, yaitu pin 3, 5, 6, 9, 10,
dan 11. Pin PWM biasanya ditandai dengan adanya tanda tilde (~) di depan atau di atas
nama pin.

Adapun untuk nilai yang biasa digunakan dalam PWM, yaitu mulai dari 0 sampai 255.
Jadi, kamu bisa mengatur frekuensi PWM dari nilai tersebut. Contoh penulisan
analogWrite() yang benar seperti pada contoh di bawah ini.

analogWrite(5,100);

Keterangan:

5     = nama pin analog yang digunakan


100 = nilai PWM yang digunakan

Dari dua perintah tersebut, tentu kamu sudah bisa mengidentifikasi perbedaan
analogRead() dan analogWrite() dari segi fungsi.
Perintah analogread() untuk membaca data analog Arduino, sedangkan perintah
analogWrite() untuk menuliskan data analog pada pin Arduino.

*Perulangan dalam Pemrograman Arduino


Dalam program Arduino juga sering dikenal ada istilah perulangan. Yaitu suatu
perintah yang memungkinkan kita untuk mengeksekusi suatu pernyataan berdasarkan
acuan nilai yang mengalami perulangan.

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.

Contoh Program

int PWMpin = 10;

voidsetup()

    pinMode(PWMpin, OUTPUT);
}

voidloop()
{
    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). 

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 ;
voidloop()
{
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”. 

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. 

*Percobaan program yang telah saya buat dari pc ke arduino melalui


kabel jumper dan beberapa lampu LED,seperti gambar di bawah ini.

Program 6

const int PIN_10 =10;


const int PIN_11 =11;

const int PIN_12 =12;

Void setup( )

PinMode (PIN_10, OUTPUT);

PinMode (PIN_11, OUTPUT);

PinMode (PIN_12, OUTPUT);

Void Loop ( )

// LED merah

for (int pencacah = 1; pencacah <= 3; pencacah++)

digitalWrite (PIN_12, HIGH);

delay(1000) ; // Tunda 1 detik

digitalWrite (PIN_12, LOW);

delay(1000) ; // Tunda 1 detik

}
// LED kuning

For (int pencacah = 1; pencacah <= 3; pencacah++)

digitalWrite(PIN_11, HIGH) ;

delay(1000) ; // Tunda 1 detik

digitalWrite(PIN_11, LOW) ;

delay(1000) ; // Tunda 1 detik

//LED hijau

for (int pencacah = 1 ; pencacah ,= 3; pencacah++)

digitalWrite (PIN_10 HIGH) ;

delay(1000) ; // Tunda 1 detik

digitalWrite (PIN_10 LOW) ;

delay(1000) ; // Tunda 1 detik

}
Gambar program 6

Program 7

const int PIN_10 =10;

const int PIN_11 =11;

const int PIN_12 =12;

Void setup( )

PinMode (PIN_10, OUTPUT);

PinMode (PIN_11, OUTPUT);


PinMode (PIN_12, OUTPUT);

Void Loop ( )

// LED merah

for (int pencacah = 3; pencacah <= 0; pencacah- -)

digitalWrite (PIN_12, HIGH);

delay(1000) ; // Tunda 1 detik

digitalWrite (PIN_12, LOW);

delay(1000) ; // Tunda 1 detik

// LED kuning

For (int pencacah = 3; pencacah <= 0; pencacah- -)

digitalWrite(PIN_11, HIGH) ;

delay(1000) ; // Tunda 1 detik

digitalWrite(PIN_11, LOW) ;
delay(1000) ; // Tunda 1 detik

//LED hijau

for (int pencacah = 3; pencacah ,= 0; pencacah- -)

digitalWrite (PIN_10 HIGH) ;

delay(1000) ; // Tunda 1 detik

digitalWrite (PIN_10 LOW) ;

delay(1000) ; // Tunda 1 detik

Gambar program 7

Anda mungkin juga menyukai