Anda di halaman 1dari 15

Home

Tentang Kami
Edukasi
Produk
Tutorial
Bengkel
Berita
Toko Online

Tutorial Singkat Bahasa Pemrograman Arduino


June 22, 2011   Zerfani Yulias   28 Comments

Arduino menggunakan pemrograman dengan bahasa C. Berikut ini adalah sedikit penjelasan
yang ditujukan kepada anda yang hanya mempunyai sedikit pengalaman pemrograman dan
membutuhkan penjelasan singkat mengenai karakter bahasa C dan software Arduino. Untuk
penjelasan yang lebih mendalam, web Arduino.cc adalah sumber yang lengkap.

Struktur

Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang harus ada.

void setup( ) {   }
Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika
program Arduino dijalankan untuk pertama kalinya.
void loop( ) {   }
Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah
dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus menerus
sampai catu daya (power) dilepaskan.

Syntax

Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan.

//(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.
/*   */(komentar banyak baris)
Jika anda punya banyak catatan, maka hal itu dapat dituliskan pada beberapa baris
sebagai komentar. Semua hal yang terletak di antara dua simbol tersebut akan
diabaikan oleh program.
{   }(kurung kurawal)
Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir
(digunakan juga pada fungsi dan pengulangan).
;(titk koma)
Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik koma yang
hilang maka program tidak akan bisa dijalankan).

Variabel

Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan
angka dengan cara yang cerdas. Variabel inilah yang digunakan untuk memindahkannya.

int (integer)
Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai angka
desimal dan menyimpan nilai dari -32,768 dan 32,767.
long (long)
Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32 bit) dari memori
(RAM) dan mempunyai rentang dari -2,147,483,648 dan 2,147,483,647.
boolean (boolean)
Variabel sederhana yang digunakan untuk menyimpan nilai TRUE (benar) atau
FALSE (salah). Sangat berguna karena hanya menggunakan 1 bit  dari RAM.
float (float)
Digunakan untuk angka desimal (floating point). Memakai 4 byte (32 bit) dari RAM
dan mempunyai rentang dari -3.4028235E+38 dan 3.4028235E+38.
char (character)
Menyimpan 1 karakter menggunakan kode ASCII (misalnya ‘A’ = 65). Hanya
memakai 1 byte (8 bit) dari RAM.

Operator Matematika

Operator yang digunakan untuk memanipulasi angka (bekerja seperti matematika yang
sederhana).

=
Membuat sesuatu menjadi sama dengan nilai yang lain (misalnya: x = 10 * 2, x
sekarang sama dengan 20).
%
Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain
(misalnya: 12 % 10, ini akan menghasilkan angka 2).
+
Penjumlahan

Pengurangan
*
Perkalian
/
Pembagian

Operator Pembanding

Digunakan untuk membandingkan nilai logika.

==
Sama dengan (misalnya: 12 == 10 adalah FALSE (salah) atau 12 == 12 adalah TRUE
(benar))
!=
Tidak sama dengan (misalnya: 12 != 10 adalah TRUE (benar) atau 12 != 12 adalah
FALSE (salah))
<
Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12 adalah FALSE
(salah) atau 12 < 14 adalah TRUE (benar))
>
Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12 adalah FALSE
(salah) atau 12 > 14 adalah FALSE (salah))

Struktur Pengaturan

Program sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya, berikut ini
adalah elemen dasar pengaturan (banyak lagi yang lain dan bisa dicari di internet).

1. if..else, dengan format seperti berikut ini:

if (kondisi) { }

else if (kondisi) { }

else { }

Dengan struktur seperti diatas program akan menjalankan kode yang ada di dalam
kurung kurawal jika kondisinya TRUE, dan jika tidak (FALSE) maka akan diperiksa
apakah kondisi pada else if dan jika kondisinya FALSE maka kode pada else yang akan
dijalankan.

2. for, dengan format seperti berikut ini:

for (int i = 0; i < #pengulangan; i++) { }

Digunakan bila anda ingin melakukan pengulangan kode di dalam kurung kurawal
beberapa kali, ganti #pengulangan dengan jumlah pengulangan yang diinginkan.
Melakukan penghitungan ke atas dengan i++ atau ke bawah dengan i–.

Digital

1. pinMode(pin, mode)
Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor pin yang akan
digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa digunakan adalah
INPUT atau OUTPUT.

2. digitalWrite(pin, value)

Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH
(ditarik menjadi 5 volts) atau LOW (diturunkan menjadi ground).

3. digitalRead(pin)

Ketika sebuah pin ditetapkan sebagai INPUT maka anda dapat menggunakan kode ini
untuk mendapatkan nilai pin tersebut apakah HIGH (ditarik menjadi 5 volts) atau LOW
(diturunkan menjadi ground).

Analog

Arduino adalah mesin digital tetapi mempunyai kemampuan untuk beroperasi di dalam alam
analog (menggunakan trik). Berikut ini cara untuk menghadapi hal yang bukan digital.

1. analogWrite(pin, value)

Beberapa pin pada Arduino mendukung PWM (pulse width modulation) yaitu pin 3, 5,
6, 9, 10, 11. Ini dapat merubah pin hidup (on)atau mati (off) dengan sangat cepat
sehingga membuatnya dapat berfungsi layaknya keluaran analog. Value (nilai) pada
format kode tersebut adalah angka antara 0 ( 0% duty cycle ~ 0V) dan 255 (100% duty
cycle ~ 5V).

2. analogRead(pin)

Ketika pin analog ditetapkan sebagai INPUT anda dapat membaca keluaran voltase-
nya. Keluarannya berupa angka antara 0 (untuk 0 volts) dan 1024 (untuk 5 volts).

Demikianlah tutorial singkat mengenai bahasa pemrograman pada Arduino. Selamat mencoba!

Like 45 Tweet Follow

Posted in: Tutorial   Tags: Arduino, Arduino Tutorial, Starter Kit

28 Responses to Tutorial Singkat Bahasa Pemrograman Arduino

1. georgejacobus says:
September 2, 2012 at 18:31

Terima kasih pak atas tuttorialnya, , maju terus famosa studio pak

Reply

2. Andi Firmansyah says:


October 29, 2013 at 10:30
Thanks gan.., Jangan Berhenti Berbagi. 😀
Reply

3. Aryo Adhi Condro says:


November 20, 2013 at 12:08

terimakasih pak infonya

Reply

4. ivan says:
November 26, 2013 at 05:38

thanks gan, semangat berbagi . .

Reply

5. Bertus Wikael says:


December 18, 2013 at 16:24

tolong bantu donk pak..


funsi syntax dibawah ini saya bingung;

-unsigned long last = millis();


-if (millis() – last > 250)
-last = millis();

Terimakasih pak

Reply

Zerfani Yulias says:


January 7, 2014 at 21:04

Silahkan gunakan link reference yang ada di website Arduino untuk mengetahui arti
syntax tersebut.
Seperti link tentang millis yang ada di sini.
Silahkan gunakan fasilitas search yang ada di sana untuk mengetahui arti syntax
yang lain.

Kemudian gunakan contoh yang ada di link tersebut untuk bereksperimen, sehingga
anda bisa mengetahui lebih tepat bagaimana cara penggunaannya.
Mesti harus dengan banyak mencoba untuk dapat menguasai Arduino dan
pemrogramannya ini.

Reply

6. zizoo says:
January 11, 2014 at 13:44
hallo pak,
kalo saya mau membuat program yang tidak mengulang-ngulang harus pake kode apa di
void setelah setup?
klo pake loop kan akan mengulang terus menerus

Reply

Zerfani Yulias says:


March 17, 2014 at 14:13

Betul, kalau mau programnya hanya dijalankan 1 kali, pasang kode programnya di
bagian void setup, jangan di void loop.

Reply

7. ahmad ainun najib says:


February 13, 2014 at 09:08

trimakasih infonya pak. izin copas

Reply

Zerfani Yulias says:


March 17, 2014 at 18:11

Silahkan saja, asal dicantumkan link tutorial yang ini ditempat anda.

Reply

mohamad syaifudin says:


April 2, 2014 at 23:08

pak,apakah bisa saya beli sebuah program misalnya utk menggerakan relay board
16 channel dari board arduino 2560,nanti saya yang minta relay pertama berapa
lama hidup dan matinya ,dilanjutkan relay ke dua begitu seterusnya nanti bapak
yang buat bahasanya dan dikirim ke e mail saya,pak nanti saya yang merobah
setting timenya relay hidup mati tp bahasa programram sudah dari bapak,bisa
bapak?

Reply

Zerfani Yulias says:


August 26, 2014 at 08:53

Tidak perlu beli, karena anda bisa membuatnya sendiri. Pemrograman untuk
relay itu cukup mudah.
Lihat contoh program Blink yang ada di Arduino IDE (menu
File>Examples>Basics>Blink).
Di situ ada baris program ini:
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second

Nah tinggal mengganti variabel led dengan variabel lain yang sudah
didefinisikan untuk pin yang mengendalikan relay-nya.
Di baris delay(1000) bisa diganti dengan delay yang sesuai kebutuhan. Dari
yang sederhana ini tinggal dikembangkan lebih lanjut sesuai kebutuhan anda.

Selamat mencoba!

Reply

8. Jae says:
March 11, 2014 at 10:58

pak klo misalnya untuk membuat perangkat alarm banjir atau detektor kebakaran, arduino
versi apa yg plg bagus untuk dipakai??

Reply

Zerfani Yulias says:


March 17, 2014 at 19:01

Arduino apa saja bisa digunakan, tinggal disesuaikan saja dengan kebutuhan pin IO-
nya.

Reply

indriyanus manalor says:


April 17, 2015 at 19:37

Malam Pak Zerfani Yulias,


saya mengalami masalah untuk pembuatan program stair light controller, saya
menggunakan 2 buah PIR untuk sensorya dan 8 buah LED.

const int LED1 = 4;


const int LED2 = 5;
const int LED3 = 6;
const int LED4 = 7;
const int LED5 = 8;
const int LED6 = 9;
const int LED7 = 10;
const int LED8 = 11;
const int PIR1 = 12;
const int PIR2 = 13;
int pirs1 = 0;
int pirs2 = 0;

void setup() {
// put your setup code here, to run once:
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(LED6, OUTPUT);
pinMode(LED7, OUTPUT);
pinMode(LED8, OUTPUT);
pinMode(PIR1, INPUT);
pinMode(PIR2, INPUT);
}

void naik(){
digitalWrite(LED1, HIGH);
delay(200);
digitalWrite(LED2, HIGH);
delay(200);
digitalWrite(LED3, HIGH);
delay(200);
digitalWrite(LED4, HIGH);
delay(200);
digitalWrite(LED5, HIGH);
delay(200);
digitalWrite(LED6, HIGH);
delay(200);
digitalWrite(LED7, HIGH);
delay(200);
digitalWrite(LED8, HIGH);
delay(200);
}

void naikmati(){
digitalWrite(LED1, LOW);
delay(200);
digitalWrite(LED2, LOW);
delay(200);
digitalWrite(LED3, LOW);
delay(200);
digitalWrite(LED4, LOW);
delay(200);
digitalWrite(LED5, LOW);
delay(200);
digitalWrite(LED6, LOW);
delay(200);
digitalWrite(LED7, LOW);
delay(200);
digitalWrite(LED8, LOW);
delay(200);
}
void turun(){
digitalWrite(LED8, HIGH);
delay(200);
digitalWrite(LED7, HIGH);
delay(200);
digitalWrite(LED6, HIGH);
delay(200);
digitalWrite(LED5, HIGH);
delay(200);
digitalWrite(LED4, HIGH);
delay(200);
digitalWrite(LED3, HIGH);
delay(200);
digitalWrite(LED2, HIGH);
delay(200);
digitalWrite(LED1, HIGH);
delay(200);
}

void turunmati(){
digitalWrite(LED8, LOW);
delay(200);
digitalWrite(LED7, LOW);
delay(200);
digitalWrite(LED6, LOW);
delay(200);
digitalWrite(LED5, LOW);
delay(200);
digitalWrite(LED4, LOW);
delay(200);
digitalWrite(LED3, LOW);
delay(200);
digitalWrite(LED2, LOW);
delay(200);
digitalWrite(LED1, LOW);
delay(200);
}

void mati(){
digitalWrite(LED8, LOW);
digitalWrite(LED7, LOW);
digitalWrite(LED6, LOW);
digitalWrite(LED5, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED1, LOW);
}
void loop() {
// put your main code here, to run repeatedly:
pirs1 = digitalRead(PIR1);
pirs2 = digitalRead(PIR2);
if (( pirs1 == HIGH)&&(pirs2 == LOW))
{
naik();
}
if (( pirs1 == LOW)&&(pirs2 == HIGH))
{
naikmati();
}
if (( pirs2 == HIGH)&&(pirs1 == LOW))
{
turun();
}
if (( pirs2 == LOW)&&(pirs1 == HIGH))
{
turunmati();}
}

tapi untuk yang naik atasya lampu tidak menyala karna bentrok dengan
program yang ke turunmati..

mohon solusiya pak trims.

Reply

9. heri says:
April 15, 2014 at 11:25

terimakasi infonya pak…. sukses selalu

Reply

10. irhash furqan says:


July 3, 2014 at 22:13

Kalo misalkan #include itu apa ya? apakah harus dimasukkan di dalam code?

Reply

11. ashari says:


November 6, 2014 at 02:45

trimakasih pa, informasinya sangat mmbantu….dan saya mau tanya ada tidak ebook/buku
kumpulan2 program untuk para pemula,…jika ada dimana harus membelinya,

Reply
12. tri kusnandri says:
December 17, 2014 at 23:21

malam pak
saya ingin abertany cara membuat programing untuk mengukur volume dengan arduino
r3 + pelampung motor bolehkah bapk memberikan langkah”nya?

Reply

13. dayat says:


January 17, 2015 at 17:08

terimakasih pak atas info ? mohon bantuannya cz saya baru di bidang arduino ini

Reply

14. andri says:


February 10, 2015 at 12:07

pak mau nanya,biar key bisa konek ke pengaturan timer apa kodenya?

Reply

15. fikri says:


April 23, 2015 at 11:36

ada ndak program alat pendeteksi banjir berbasis arduino

Reply

16. dion says:


April 25, 2015 at 11:53

Bang minta program dht11 arduino uno dong, error mulu pas di dht DHT(DHTTYPE
DHTPIN)
Makasi bang

Reply

17. Adeng Subagia says:


April 30, 2015 at 19:47

pak. saya pendatang baru, mau tanya kalau sketch lampu on/off 4 buah itu hanya pakai
void setup aja apa pakai void loop?

Reply

18. david simanjuntak says:


May 25, 2015 at 22:36

pak bisa bantu saya gak??


Reply

19. adam says:


May 25, 2015 at 22:57

kalo untuk menampilkan dibelakang koma cuma dua angka dari pembacaan sensor itu
gimana pak? misalnya 20,34 C. terimakasih

Reply

20. winanda says:


July 6, 2015 at 14:37

mohon maaf pak, ijin copas ……..

Reply

21. zaid says:


September 2, 2015 at 23:01

pak mau nanya pak, kalau program arduino untuk menggerakkan motor dc biar bs
cw/ccw dan bisa diatur pwmnya, dengan menekan button maka motornya berputar 90
derajat trus button satu lg klu ditekan maka motornya berputar lg pak. mohon bantuanya
teomakasih pak. motor dc ini saya gabungkan dengan driver mosfet pak

Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Comment

Name *

Email *

Website

Post Comment

Search

Recent Posts
Menggunakan ITEAD Bluetooth Shield dengan Arduino Uno – R3

March 24, 2014 By Zerfani Yulias


Posting kita kali ini akan menjelaskan cara penggunaan ITEAD Bluetooth Shield
dengan Arduino Uno – R3. Dengan menggunakan Bluetooth Shield, Read More »

Memperkenalkan Arduino Esplora

September 27, 2013 By Zerfani Yulias


Pada tanggal 10 Desember 2012, Team Arduino memperkenalkan Arduino Esplora.
Arduino Esplora adalah Microcontroller Arduino yang sudah dilengkapi dengan
sensor Read More »

Arduino Mega 2560

September 26, 2013 By Zerfani Yulias


Ulasan kali ini adalah tentang produk Arduino Mega 2560. Arduino Mega 2560
adalah board Arduino yang merupakan perbaikan dari board Read More »

Menggunakan Infrared Kit untuk Kendali Jarak Jauh dengan


Arduino

February 14, 2013 By Zerfani Yulias


Di Toko Online Famosa Studio tersedia Infrared (IR) Kit for Arduino. IR Kit ini bisa
digunakan untuk mengendalikan proyek Arduino Read More »

Ultrasonic Range Sensor HC-SR04 dengan Library NewPing

November 29, 2012 By Zerfani Yulias


Wow, posting terakhir yang saya buat sudah hampir setahun yang lalu. Mohon
maaf, karena kesibukan mengurus Toko Online Famosa Studio, Read More »

Find us on Facebook
Famosa Studio
4.349 suka

Sukai Halaman Beli Sekarang

Jadilah orang pertama yang menyukai ini.

Famosa Studio
sekitar setahun yang lalu

WOW, jadi belajar banyak nih dari


robot buatan Alonzo Martinez. Ide
dan proses pembuatan robot-nya
sangat menginspirasi!
https://www.youtube.com/watch?
v=0vfuOW1tsX0
#diy #robot #raspberrypi #robotics
#animated #arduino #teensy

YOUTUBE.COM
Alonso Mar...
We're gushin...

Suka Komentari Bagikan

Follow us on Twitter

FamosaStudio on Twitter
Follow

1837 people follow FamosaStudio

triari_official
HenncoEnterpris
triari_o HenncoEn
syamsyul DkrElect AmiraAin AdindaGi AuliaPu7 Snap_EDA Rod_uChi Electron

@FamosaStudio

VIDEO! M&Ms and Skittles sorting machine - YouTube


https://t.co/bFc76gi9zZ #arduino #makers #diy #sorting #machine, Feb 8
COOL! Arduino Blog – Sort your M&Ms or Skittles with this ingenious
machine https://t.co/HqPfNsd6nt #arduino #makers #diy #sorting #machine,
Feb 8
Prepare for presenting the iLearn 3D Printing 101 Workshop #3DPrinting
#3DPrint #3DPrinter… https://t.co/WDfUoGDnsZ, Jan 14
COOL! This Simple 3D-Printed Door Handle Works Without Any Moving Parts
https://t.co/RRFpMcIHWt #3DPrint #3DPrinting, Sep 13
Yup, it"s a pokeball #3DPrint #3DPrinting #Pokemon #PokemonGo #CraftBot
https://t.co/Mswrtqy3VN, Aug 20
Follow @FamosaStudio

Recent Comments

zaid on Tutorial Arduino – Push Buttons


zaid on Ultrasonic Range Sensor HC-SR04 dengan Library NewPing
noufal on Menggunakan Ultrasonic Range Sensor HC-SR04 dan SDM-IO
edo on Menggunakan Ultrasonic Range Sensor HC-SR04 dan SDM-IO
teguh silva on Menggunakan Infrared Kit untuk Kendali Jarak Jauh dengan Arduino

© 2019 Famosa Studio Blog. All Rights Reserved.


Powered by WordPress  |  Levels theme by FlexiThemes

Anda mungkin juga menyukai