Pengenalan Python | 0 |
Bahasa pemrograman Python merupakan salah satu bahasa pemrograman yang cukup populer. Namun hanya sedikit orang yang memiliki kemauan untuk mempelajari dan mendalami bahasa Python ini. Kemungkinan di masa mendatang kebutuhan akan programmer-programmer dengan bahasa Python akan semakin dibutuhkan. Python ini juga dapat menjadi bahasa pemrograman berorientasi objek. Bahkan Python juga mendukung bahasa pemrograman utama dari mini computer Raspberry Pi.
Bagi yang sudah familiar dengan bahasa pemrograman C akan dibandingkan sintaks-sintaksnya dengan bahasa pemrograman Python. Python lebih mudah digunakan (dibandingkan dengan C) dan dukungan library kriptografi yang sudah tersedia.
Untuk dapat menjalankan dan meng-compile program Python saya menggunakan tools PyCharm dan sudah harus tersedia Python Interpreter. Silahkan download dengan klik link di bawah ini:
- PyCharm (pilih yang versi Community)
- Python Interpreter (pilih yang versi 2.7.11)
Berikut ini beberapa perbedaan singkat antara Python dengan bahasa C (atau Java atau yang sejenis). Kode di bawah ini untuk Python versi 2, bukan versi 3.
Tidak ada kurung kurawal
Di Python, untuk menyatakan suatu blok kode tidak dengan kurung kurawal seperti di C, tapi dengan indentasi. Jika di C kita menuliskan seperti ini:if (a > 0) {
printf("Positif");
return 1;
} else {
printf("Negatif");
return 0;
}
Maka di Python kita tuliskan seperti ini (jangan lupa indentasi):if a > 0:
print "Positif"
return 1
else:
print "Negatif"
return 0
Kode dibawah ini tidak valid di Python karena tidak ada indentasinya atau indentasi tidak rapi:if a > 0:
print "Positif"
return 1
else:
print "Negatif"
return 0
Tidak ada deklarasi variabel
Jika Anda sudah familiar dengan PHP, maka di Python sama, yaitu tidak ada deklarasi variabel. Anda bisa langsung mengisi nilai ke variabel tanpa deklarasi maupun tipe data.nilai = 100
message = "Hello"
Deklarasi fungsi
Jika di C Anda menuliskan misalnya seperti ini:int namafungsi(int parameter) {
statemen1;
statemen2;
}
Maka di Python Anda tuliskan seperti ini:def namafungsi(parameter):
statemen1
statemen2
Pernyataan kondisional
Jika di C Anda menuliskan misalnya seperti ini:if(kondisi) {
statemen1;
} else {
statemen2;
}
Maka di Python Anda tuliskan seperti ini:if kondisi:
statemen1
else:
statemen2
Perulangan
Jika di C Anda menuliskan misalnya seperti ini:for(i = 0; i < n; i++) {
statemen;
}
Maka di Python Anda tuliskan seperti ini:for i in range(n):
statemen
Untuk loop while:while i > 0:
statemen
Mencetak output
Jika di C Anda menuliskan misalnya seperti ini:int x = 10;
printf("Nilai x = %d", x);
Anda juga bisa menuliskannya di Python seperti ini:x = 10
print "Nilai x = %d" % (x)
Array
Array di Python disebut sebagai listdata = [10, 20, 30, 40]
data.append(50)
print data[0]
Sumber: code.cs.ipb.ac.id
Contoh lanjutan dari source code Python made in agung dp :D
Source Code
==========================================================================
__author__ = 'agungdwiprasetyo' print "Hello World" #tidak ada deklarasi variabel
a = 5
b = 10
print "Nilai a = %d, b = %d" % (a,b) #sintaks untuk mencetak nilai dari variabel
# pernyataan if
if a<10 and a>-10: a = a*-1
print "a negatif"
#hati-hati indentasi, harus diperhatikan untuk satu perintah if statemen-statemennya harus lurus rata kiri dengan statemen yang pertama dalam if
c = False
if not c: print "C is False"
else: print "C is True"
#looping
while a>0: print a a = a-1 for i in range(0,5,2):
print i,
#5 itu inklusif sebagai batas dari looping, 0 untuk mulai 5 untuk batas dan 2 sebagai increment/decrement print "\n"
#array
l=[10,20,30,40,50]
for i in l: print i, print"\n"
#list comprehension
m=[] for i in l: m.append(i*i) print m n = [x*x for x in l] print n # m sama dengan n
o = [x*x for x in l if x>20] print o # o berisi elemen2 list dimana nilai x lebih dari 20
#operator pangkat
a = 2 ** 5 #pangkat
b = 10 % 2 #modulo #string
a = 'asdf'
b = "asdf"
c = '''nama saya agung
saya tinggal di lampung'''
print a print b print c s = 'wk' * 10 + 'ha' * 5 # string juga bisa dimanipulasi seperti angka secara matematika
print s
#slicing, bisa buat list bisa juga buat string
s = "INSTITUT PERTANIAN BOGOR"
print s[:5] # INSTI
print s[9:18] #PERTANIAN
print s[9:18:2] #PRAIN
print s[18:9:-1] # NAINATRE
print s[10:] #ERTANIAN BOGOR
print s[::-1] #EROGOB NAINATREP TUTITSNI for c in s: print c, print "\n"
#contoh untuk DNA
dna = "ACTCGAGTCGAGCGATCAGATCAGTACGATGGGACGAGTTTACAGTGCAGTACGATGCGGCTAGAACTGAGCT"
print dna.lower() print dna.count('A') #menghitung jumlah karakter A pada string dna
print dna.count('G') #menghitung jumlah karakter G pada string dna
print dna.count('C') #menghitung jumlah karakter C pada string dna
print dna.count('T') #menghitung jumlah karakter T pada string dna
#mengubah char dalam string
mrna = ''
for c in dna: #cara naive
if c == 'T': c = 'U'
mrna += c print mrna mrna = dna.replace('T','U') #cara ringkas print mrna #fungsi
def transkripsi(dna): trans = dna.replace('T','U') return trans def main(): dna = "ACTCGAGTCCAGATCAGTACGATGGGACGAGTTTACAGTGCAGTACGATGCGGCTAGAACTGAGCT"
print transkripsi(dna) main() #pemanggilan fungsi main def komplemen(dna): d = { #struktur data dictionary
'A':'T', 'T':'A', 'C':'G', 'G':'C' } komp = ""
for c in dna: komp += d[c] return komp # atau bisa juga return ''.join( [d[c] for c in dna] ) print komplemen(dna)
==========================================================================
Instalasi Arduino | 0 |
Cara Instalasi Arduino pada Komputer:
1. Download software Arduino IDE di https://www.arduino.cc/en/Main/Software download sesuai OS komputer anda, dalam hal ini saya menggunakan OS Windows 7 64bit.
Ekstrak file hasil download dan setelah itu double click icon arduino.
2. Lakukan instalasi sampai tahap finish (jika tahap finish telah dilewati software Arduino IDE siap untuk digunakan).
3. Setelah itu buka software Arduino IDE.
Saat pertama kali membuka software terlihat layout software seperti gambar dibawah ini.
Dibawah ini merupakan tampilan sofware Arduino IDE.
1. Menu Bar: berisi menu-menu utama
2. Verify: Digunakan untuk meng-compile program sekaligus menyimpan kode program, agar programmer mampu mengetahui program telah sesuai dengan syntax atau
tidak seperti kurangnya tanda buka/kurung tutup, kurangnya tanda titik koma di akhir perintah, kesalahan deklarasi variabel, dll.
tidak seperti kurangnya tanda buka/kurung tutup, kurangnya tanda titik koma di akhir perintah, kesalahan deklarasi variabel, dll.
3. Upload: Mengirimkan program ke board arduino. Ketika ini di klik LED
pada arduino akan berkedip sangat cepat tanda program sedang di-burn ke arduino
pada arduino akan berkedip sangat cepat tanda program sedang di-burn ke arduino
4. New: Tombol ini digunakan untuk membuka halaman window yang baru.
5. Open: Tombol ini digunakan untuk membuka kodingan program yang telah
disimpan di drive.
disimpan di drive.
6.Save: Menyimpan kodingan program yang telah diketik.
7. Serial Monitor: Tombol ini akan membuka window yang digunakan untuk melihat data serial yang dikirimkan mikrokontroler, serta bisa juga untuk berkomunikasi dengan
mikrokontroler
8. Sketch Name: Menunjukan nama sketch yang sedang aktif atau digunakan.
9. Code Area: adalah tempat programmer untuk menuliskan program.
10. Message Area: Menunjukan proses burning serta kesuksesan kode yang di-burn ke arduino, dan akan
muncul pesan jika ada bagian yang error dalam program.
11. Tipe dan Port Area: Menunjukkan tipe arduino dan port yang sedang
terhubung ke komputer, dalam hal ini tipenya yaitu Arduino Uno yang tehubung
pada port COM3
Instalasi Driver Arduino
Instalasi ini berguna agar 'Board Arduino' dapat dikenali komputer anda. karena pada saat proses instalasi selesai driver arduino tidak otomatis
terinstal. Terlebih dahulu pastika papan arduino anda terpasang pada laptop
anda dengan bantuan kabel USB.
1. Terlebih dahulu buka device manager. start > computer > klik
kanan, manage > device manager
2. Setelah device manager terbuka perhatikan
pada bagian 'Ports (COM & LPT)', disana terdeteksi ada 'device' namun belum
terinstal.
3. FT232R USB UART
merupakan chip yang digunakan untuk memasukan sketch Arduino pada ATmega328p
untuk Arduino Uno.
5. cari dimana
anda menyimpan driver arduino anda, secara default driver
arduino tersimpan pada folder C/program files/ arduino/ driver. jika anda tidak
bisa menemukanya download terlebih dahulu drivernya sesuai dengan seri chip
downloader yang anda gunakan pada papan arduino. setelah itu arahkan pada
folder dimana anda menyimpan driver tersebut.
7. jika device
arduino masih memiliki tanda seru, lakukan kembali dengan cara klik kanan pada
USB Serial Device pada Port Com Device Manager. pilih update driver.
8. setelah itu anda akan mendapatkan notifikasi seperti
dibawah. perhatikan pada Device Port Com terlihat sekarang tanda serunya hilang
dan memiliki keterangan Arduini Uno ( jika anda menggunakan Arduino Uno)
Mengkoneksikan
Arduino pada Windows
1. Pilih Arduino UNO
Hubungkan Arduino Dengan Laptop gunakan kabel USB A to USB B.
Klik Tools/ Board/ Arduino UNO pada Arduino IDE.
Klik Tools/ Board/ Arduino UNO pada Arduino IDE.
//Pilih Arduino UNO, karena board microcontroler yang kita gunakan adalah
Arduino UNO
Arduino UNO
2. Pilih Serial Port
Klik Tools/ Serial Port/ Com ## , langkah ini digunakan untuk mengkoneksilan
Board Arduino dengan Arduino IDE. |
|
3. Setelah ini Arduino IDE siap untuk di gunakan.
tersedia library standar dan contoh program yang dapat dipergunakan untuk
mempermudah proses pembelajaran (tersedia pada menubar 'file' ).
Sumber:
https://learn.sparkfun.com/tutorials/how-to-install-ftdi-drivers/windows---in-depth
SFE-SIK-RedBoard-Guide-Version3.0-Online.PDF
-$ sudo apt-get install screenSumber:
https://learn.sparkfun.com/tutorials/how-to-install-ftdi-drivers/windows---in-depth
SFE-SIK-RedBoard-Guide-Version3.0-Online.PDF
Tambahan jika OS yang anda gunakan yaitu Linux Ubuntu:
Instal
Arduino pada Ubuntu
1. instal kelengkapan arduino di ubuntu
Buka terminal
1. instal kelengkapan arduino di ubuntu
Buka terminal
Ketikkan
kode dibawah ini pada terminal
-$ sudo apt-get install minicom
-$ sudo minicom -b 9600 -D /dev/ttyACM0
or
-$ sudo apt-get install minicom
-$ sudo minicom -b 9600 -D /dev/ttyACM0
or
-$ sudo apt-get install avrdude binutils-avr gcc-avr avr-libc gdb-avr
(sumber: https://github.com/tttor/trui-bot-prj/tree/master/robot)
2. instal sublime
-$ sudo add-apt-repository ppa:webupd8team/sublime-text-2
-$ sudo apt-get update
-$ sudo apt-get install sublime-text
(sumber: http://askubuntu.com/…/17…/how-do-i-install-sublime-text-2-3)
3. buat makefile
- download ws.tar.gz
- extract folder tersebut
- letakan di home
- buka terminal
- $ cd ws (masuk ke folder ws)
- $ make master_arduino (membuat folder library dll)
- $ make (make hex file)
- $ make master_upload (upload hex file to arduino kit)
Pengenalan Arduino | 1 |
Arduino
merupakan sebuah piranti elektronik dengan mikrokontroller yang dirancang untuk
memudahkan penggunaan elektronik dalam berbagai bidang. Hardwarenya memiliki
prosesor Atmel AVR dan softwarenya memiliki bahasa pemrograman sendiri.
Mikrokontroler
arduino diprogram menggunakan bahasa pemrograman arduino yang memiliki
kemiripan syntax dengan bahasa pemrograman C dan java. Karena sifatnya yang
terbuka maka siapa saja dapat mengunduh skema hardware arduino dan
membangunnya.
Arduino
menggunakan keluarga mikrokontroler ATMega yang dirilis oleh Atmel sebagai
basis, namun ada individu/perusahaan yang membuat clone arduino dengan
menggunakan mikrokontroler lain dan tetap kompatibel dengan arduino pada level
hardware. Untuk fleksibilitas, program dimasukkan melalui bootloader meskipun
ada opsi untuk membypass bootloader dan menggunakan downloader untuk memprogram
mikrokontroler secara langsung melalui port ISP.
Dan seperti
mikrocontroler yang banyak jenisnya, Arduino lahir dan berkembang, kemudian
muncul dengan berbagai jenis. Diantaranya adalah:
a. Arduino
Uno
Jenis yang
ini adalah yang paling banyak digunakan. Terutama untuk pemula sangat
disarankan untuk menggunakan Arduino Uno. Dan banyak sekali referensi yang
membahas Arduino Uno. Versi yang terakhir adalah Arduino Uno R3 (Revisi 3),
menggunakan ATMEGA328 sebagai Microcontrollernya, memiliki 14 pin I/O digital
dan 6 pin input analog. Untuk pemograman cukup menggunakan koneksi USB type A
to To type B. Sama seperti yang digunakan pada USB printer. Harga Arduino Uno ini sekitar 100.000 sampai 150.000 rupiah.
b. Arduino
Due
Berbeda
dengan saudaranya, Arduino Due tidak menggunakan ATMEGA, melainkan dengan chip
yang lebih tinggi ARM Cortex CPU. Memiliki 54 I/O pin digital dan 12 pin input
analog. Untuk pemogramannya menggunakan Micro USB, terdapat pada beberapa
handphone.
c. Arduino
Mega
Mirip
dengan Arduino Uno, sama-sama menggunakan USB type A to B untuk pemogramannya.
Tetapi Arduino Mega, menggunakan Chip yang lebih tinggi ATMEGA2560. Dan tentu
saja untuk Pin I/O Digital dan pin input Analognya lebih banyak dari Uno. Harga Arduino Mega ini sekitar 150.000 sampai 200.000 rupiah.
d. Arduino
Leonardo
Bisa
dibilang Leonardo adalah saudara kembar dari Uno. Dari mulai jumlah pin I/O
digital dan pin input Analognya sama. Hanya pada Leonardo menggunakan Micro USB
untuk pemogramannya.
e. Arduino
Fio
Bentuknya
lebih unik, terutama untuk socketnya. Walau jumlah pin I/O digital dan input
analognya sama dengan uno dan leonardo, tapi Fio memiliki Socket XBee. XBee
membuat Fio dapat dipakai untuk keperluan projek yang berhubungan dengan
wireless.
f. Arduino
Lilypad
Bentuknya
yang melingkar membuat Lilypad dapat dipakai untuk membuat projek unik. Seperti
membuat amor iron man misalkan. Hanya versi lamanya menggunakan ATMEGA168, tapi
masih cukup untuk membuat satu projek keren. Dengan 14 pin I/O digital, dan 6
pin input analognya.
g. Arduino
Nano
h. Arduino
Mini
Fasilitasnya
sama dengan yang dimiliki Nano. Hanya tidak dilengkapi dengan Micro USB untuk
pemograman. Dan ukurannya hanya 30 mm x 18 mm saja.
i. Arduino
Micro
Ukurannya
lebih panjang dari Nano dan Mini. Karena memang fasilitasnya lebih banyak
yaitu; memiliki 20 pin I/O digital dan 12 pin input analog.
j. Arduino
Ethernet
Arduino ini
yang sudah dilengkapi dengan fasilitas ethernet. Membuat Arduino kamu dapat
berhubungan melalui jaringan LAN pada komputer. Untuk fasilitas pada Pin I/O
Digital dan Input Analognya sama dengan Uno.
k. Arduino
Esplora
Rekomendasi
bagi kamu yang mau membuat gadget sepeti Smartphone, karena sudah dilengkapi
dengan Joystick, button, dan sebagainya. Kamu hanya perlu tambahkan LCD, untuk
lebih mempercantik Esplora.
l. Arduino
Robot
Ini adalah
paket komplit dari Arduino yang sudah berbentuk robot. Sudah dilengkapi dengan
LCD, Speaker, Roda, Sensor Infrared, dan semua yang kamu butuhkan untuk robot
sudah ada pada Arduino ini.
Sumber:
https://id.wikipedia.org/wiki/Arduino
Sumber:
https://id.wikipedia.org/wiki/Arduino
Tutorial Arduino #1: Dasar Pemrograman C pada Arduino | 0 |
Pada tutorial yang pertama ini saya akan membahas pengetahuan dasar pemrograman bahasa C pada Arduino. Seperti yang kita tahu bahwa Arduino merupakan sebuah modul mikrokontroler dengan port input dan output yang diprogram menggunakan bahasa C khusus Arduino dan bisa juga dengan bahasa lainnya (seperti Java). Modul Arduino terdiri dari beberapa tipe, yang membedakan hanya fitur-fiturnya saja sedangkan dari segi pemrograman sama saja. beberapa tipe modul tersebut antara lain Arduino Uno, Arduino Leonardo, Arduino Due, dll.
Kelebihan Modul Arduino antara lain:
1. Mudah digunakan, cocok sekali untuk pemula
2. Fungsi Library (code program tinggal pakai) untuk mengakses hardware sangat banyak.
Untuk instalasi modul Arduino pada PC dapat dilihat pada postingan sebelumnya disini
Berikut akan dibahas tentang pengenalan bahasa C untuk Arduino. Bagi yang sudah terbiasa dengan bahasa C pada umumnya (ANSI-C) tidak akan kesulitan untuk mempelajari bahasa C Arduino karena pada umumnya sintaks-sintaksnya hampir sama.
Pengenalan bahasa C sebagai bahasa pemrograman
Semua bahasa pemrograman terdiri dari:
Statemen adalah instruksi lengkap dalam bahasa C yang harus diakhiri dengan tanda titik koma (;). Contoh x=y+4;
Blok statemen adalah kumpulan-kumpulan statemen yang berada dalam satu kurung kurawal. Biasanya blok statemen ini berada dalam perintah logika IF atau dalam perulangan (looping). Contoh IF(x>0){x=x+5; print("x adalah positif"); }
Blok fungsi adalah satu blok kode yang melakukan tugas tertentu atau satu blok instruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program.
Statemen dan ekspresi C arduino identik dengan ANSI-C. Struktur program C Arduino minimal terdiri dari dua fungsi yaitu setup() dan loop().
Fungsi setup() dijalankan pertama kali setiap board arduino dihidupkan sedangkan fungsi loop() dijalankan terus menerus selama board arduino hidup. Pada program standar ANSI-C fungsi yg pertama dijalankan adalah fungsi main() sedangkan pada C Arduino adalah fungsi setup().
Contoh program untuk membuat lampu led nyala-mati secara periodik:
Variabel dan Konstanta
Variabel adalah memori penyimpanan data yang nilainya dapat diubah-ubah. Variabel disimpan di dalam RAM.
Konstanta adalah memori penyimpanan data yang nilainya tidak dapat dirubah setelah program di-compile. Konstanta disimpan di memory program.
Variabel Scope
Variabel dan konstanta global dapat diakses di seluruh bagian program.
Variabel dan konstanta lokal hanya dapat diakses di dalam fungsi tempat dideklarasikannya.
Tipe Data
Arduino C mendukung sebagian besar tipe data ANSI C dengan beberapa pengecualian. Variabel adalah sebuah atau beberapa lokasi memori yang diberi nama. Ketika anda mendefinisikan variabel Anda juga harus memberitahu compiler jenis data variable tersebut. Tipe data dari variabel penting karena untuk menentukan berapa banyak byte memori yg disediakan untuk variabel itu, dan jenis data yang dapat disimpan dalam variabel. Tipe data ini untuk mendeklarasikan variabel.
OPERATOR DAN EKSPRESI
Penjumlahan (+)
Pengurangan atau Negasi (-)
Perkalian (*)
Pembagian (/)
Modulo (%)
Perbedaan antara ++x dengan x++ yaitu untuk ++x tambahkan dulu nilai x dengan 1 setelah itu di proses baris kode tersebut, sedangkan x++ proses dulu baris kode setelah itu tambahkan nilai x dengan 1.
--y atau y-- disebut decrement, artinya nilai y=y+1 (nilai y berkurang satu dari nilai y sebelumnya).
Perbedaan antara --y dengan y-- yaitu untuk --y kurangkan dulu nilai y dengan 1 setelah itu di proses baris kode tersebut, sedangkan y-- proses dulu baris kode setelah itu kurangkan nilai y dengan 1.
Fungsi
Library
Library adalah kumpulan fungsi-fungsi khusus yang sudah disediakan oleh bahasa pemrograman C. Library ini biasanya berekstensi *.h dan dalam pemanggilannya digunakan sintaks #include <*.h>. Library ini juga diletakkan pada header dari source code. Sebagai contoh:
Control Statement
Semua control statement pada bahasa C Arduino sama dengan bahasa C pada umumnya.
BREAK
Break statement digunakan untuk keluar dari pengulangan FOR, WHILE, DO/WHILE, atau switch. BREAK keluar daru blok pengulangan dimana dia beada saja.
CONTINUE
Continue akan menyebabkan program memulai iterasi berikutnya dari statemen pegulangan WHILE. DO/WHILE, atau FOR loop. CONTINUE sama seperti BREAK pengulangan akan berhenti pada point yang dituju (di skip), bedanya CONTINUE akan memulai loop lagi dari atas, sedangkan BREAK memaksa keluar dari loop/pengulangan.
Contoh program
Structures, Union, dan Data Storage
Penulis: Agung Dwi Prasetyo, Computer Science IPB
Referensi :
https://www.arduino.cc/en/Reference/HomePage
C Programming for Arduino
Kelebihan Modul Arduino antara lain:
1. Mudah digunakan, cocok sekali untuk pemula
2. Fungsi Library (code program tinggal pakai) untuk mengakses hardware sangat banyak.
Untuk instalasi modul Arduino pada PC dapat dilihat pada postingan sebelumnya disini
Berikut akan dibahas tentang pengenalan bahasa C untuk Arduino. Bagi yang sudah terbiasa dengan bahasa C pada umumnya (ANSI-C) tidak akan kesulitan untuk mempelajari bahasa C Arduino karena pada umumnya sintaks-sintaksnya hampir sama.
Pengenalan bahasa C sebagai bahasa pemrograman
Semua bahasa pemrograman terdiri dari:
- Ekspresi
- Statemen
- Blok statemen
- Blok fungsi
Statemen adalah instruksi lengkap dalam bahasa C yang harus diakhiri dengan tanda titik koma (;). Contoh x=y+4;
Blok statemen adalah kumpulan-kumpulan statemen yang berada dalam satu kurung kurawal. Biasanya blok statemen ini berada dalam perintah logika IF atau dalam perulangan (looping). Contoh IF(x>0){x=x+5; print("x adalah positif"); }
Blok fungsi adalah satu blok kode yang melakukan tugas tertentu atau satu blok instruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program.
Statemen dan ekspresi C arduino identik dengan ANSI-C. Struktur program C Arduino minimal terdiri dari dua fungsi yaitu setup() dan loop().
Fungsi setup() dijalankan pertama kali setiap board arduino dihidupkan sedangkan fungsi loop() dijalankan terus menerus selama board arduino hidup. Pada program standar ANSI-C fungsi yg pertama dijalankan adalah fungsi main() sedangkan pada C Arduino adalah fungsi setup().
Berikut ini struktur minimal C Arduino:
//setup digunakan untuk inisialisasi variable, mode pin (Input atau Output), dll void setup() { statement1; statement2; ... } void loop() { statement1; statement2; ... }
Contoh program untuk membuat lampu led nyala-mati secara periodik:
//inisialisasi variabel yang akan digunakan int led = 13; //dalam hal ini led menjadi variabel dengan nilai 13 //13 ini akan digunakan sebagai pin input/output dari arduino //yang dihubungkan ke lampu led //setup dijalankan sekali saat arduino direset void setup(){ pinMode(led,OUTPUT); //variabel led dengan pin nomor 13 merupakan output } //loop melakukan eksekusi berulang void loop(){ digitalWrite(led,HIGH); //HIGH berarti led menyala delay(100); //selang waktu nyala-mati (dalam mikrosekon) digitalWrite(led,LOW); //LOW berarti led mati delay(100); //selang waktu mati-nyala (dalam mikrosekon) }*ket: tanda "//" merupakan baris komentar. Satu baris komentar tidak akan ikut dieksekusi dalam program
Variabel dan Konstanta
Variabel adalah memori penyimpanan data yang nilainya dapat diubah-ubah. Variabel disimpan di dalam RAM.
Konstanta adalah memori penyimpanan data yang nilainya tidak dapat dirubah setelah program di-compile. Konstanta disimpan di memory program.
Variabel Scope
Variabel dan konstanta global dapat diakses di seluruh bagian program.
Variabel dan konstanta lokal hanya dapat diakses di dalam fungsi tempat dideklarasikannya.
Tipe Data
Arduino C mendukung sebagian besar tipe data ANSI C dengan beberapa pengecualian. Variabel adalah sebuah atau beberapa lokasi memori yang diberi nama. Ketika anda mendefinisikan variabel Anda juga harus memberitahu compiler jenis data variable tersebut. Tipe data dari variabel penting karena untuk menentukan berapa banyak byte memori yg disediakan untuk variabel itu, dan jenis data yang dapat disimpan dalam variabel. Tipe data ini untuk mendeklarasikan variabel.
OPERATOR DAN EKSPRESI
- Operator Penugasan ( “=” )
Setelah
variabel telah dideklarasikan, operasi dapat dilakukan pada variable
menggunakan operator penugasan (=). Sebuah nilai yang diberikan untuk variabel
dapat berupa sebuah konstanta, variabel, atau ekspresi. Sebuah ekspresi dalam
bahasa C adalah kombinasi dari operand (pengidentifikasi) dan operator. Operator
penugasan antara lain sebagai berikut:
int nilai;
int x;
nilai = 13;
x=nilai;
- Operator Aritmetika
Penjumlahan (+)
Pengurangan atau Negasi (-)
Perkalian (*)
Pembagian (/)
Modulo (%)
- Operator Logika
AND
( && )
OR ( || )
sama dengan ( == )
tidak sama dengan ( != )
lebih kecil ( < )
lebih kecil atau sama dengan ( <= )
lebih besar ( > )
lebih besar atau sama dengan ( >= )
OR ( || )
sama dengan ( == )
tidak sama dengan ( != )
lebih kecil ( < )
lebih kecil atau sama dengan ( <= )
lebih besar ( > )
lebih besar atau sama dengan ( >= )
- Increment dan Decrement
Perbedaan antara ++x dengan x++ yaitu untuk ++x tambahkan dulu nilai x dengan 1 setelah itu di proses baris kode tersebut, sedangkan x++ proses dulu baris kode setelah itu tambahkan nilai x dengan 1.
--y atau y-- disebut decrement, artinya nilai y=y+1 (nilai y berkurang satu dari nilai y sebelumnya).
Perbedaan antara --y dengan y-- yaitu untuk --y kurangkan dulu nilai y dengan 1 setelah itu di proses baris kode tersebut, sedangkan y-- proses dulu baris kode setelah itu kurangkan nilai y dengan 1.
- Compound
Compound
digunakan hanya untuk menyingkat baris expresi saja.Contohnya:
X+= 3; artinya X = X + 3
X-= 3; artinya X = X – 3
X*= 3; artinya X = X * 3
X/= a; artinya X = X / a
X |= 3; artinya X = X OR 3
X &= 3; artinya X = X AND 3
X ^= 3; artinya X = X ^ 3
X &= 3; artinya X = X & 3
X+= 3; artinya X = X + 3
X-= 3; artinya X = X – 3
X*= 3; artinya X = X * 3
X/= a; artinya X = X / a
X |= 3; artinya X = X OR 3
X &= 3; artinya X = X AND 3
X ^= 3; artinya X = X ^ 3
X &= 3; artinya X = X & 3
Fungsi
Fungsi adalah sebuah blok statement yang melaksanakan tugas tertentu dan bisa dipakai
lebih dari 1 kali di dalam program. Program bahasa C terdiri dari fungsi-fungsi
dan sebuah program C minimal terdiri dari 1 fungsi .Pada C Arduino fungsi setup() dijalankan
pertama kali saat program dijalankan. Fungsi terdiri dari dua bagian utama yaitu
kepala fungsi dan blok fungsi. Berikut ini bentuk umum sebuah fungsi:
(type) nama_fungsi( (type) parameter) { statement; ... return (value); }Kepala fungsi terdiri dari type return value, nama fungsi, serta type dan nama parameter. Type pada kepala fungsi merupakan tipe data (dalam hal ini int, float, atau double). Statement di blok fungsi menyatakan apa yang fungsi harus lakukan. Jika return value atau parameter tidak ada maka type-nya ditulis void seperti dibawah ini:
void nama_fungsi() { statement; ... }
Library
Library adalah kumpulan fungsi-fungsi khusus yang sudah disediakan oleh bahasa pemrograman C. Library ini biasanya berekstensi *.h dan dalam pemanggilannya digunakan sintaks #include <*.h>. Library ini juga diletakkan pada header dari source code. Sebagai contoh:
#include <NewPing.h> //mengimport library NewPing.h void setup() {... } void loop() {... }Biasanya ada beberapa library yang tidak disediakan secara default oleh modul Arduino dan harus mendownloadnya sendiri melalui situs web Arduino atau mencari di Google. Untuk mendownload library lainnya dapat dilakukan di https://www.arduino.cc/en/Reference/Libraries
Control Statement
Semua control statement pada bahasa C Arduino sama dengan bahasa C pada umumnya.
- WHILE Loop
while(expression) //selama expresi bernilai true laksanakan perulangan blok { //statemen dibawahnya (dalam kurung kurawal) statement1; statement2; ... }atau jika statemen hanya 1 baris, statemen tidak perlu diberi tanda kurung kurawal { }
while(expression) statement;
- DO/WHILE Loop
do //jalankan statement dibawah (dalam kurung kurawal) { //minimal 1 kali perulangan dilaksanakan statement1; statement2; ... } while(expression); //jika expresi true, jalankan kembali perulanganatau jika statemen hanya 1 baris
do statement; while(expression);
- FOR Loop
for(expr1; expr2; expr3) { statement1; statement2; ... } //* expr1 dievaluasi hanya satu kali sebelum mulai looping //* expr2 merupakan ekspresi boolean. Jika tidak dituliskan diasumsikan bernilai // true //* jika expr2 bernilai false maka proses looping dihentikan //* jika expr2 bernilai true maka statement1, statement2, dan yang berada dalam // kurung kurawal dieksekusi //* setelah eksekusi statement-statement yang berada dalam kurung kurawal maka // expr 3 dieksekusiContoh program
for(int i=0; i<5; i++) { Serial.print("Hello World! \t"); Serial.println(i); }Maka output dari potongan program diatas yaitu:
Hello World! 0 Hello World! 1 Hello World! 2 Hello World! 3 Hello World! 4Dapat dilihat dari potongan program diatas terjadi 5 kali pengulangan. Dalam hal ini variabel i bertindak sebagai iterator. Mula-mula i bernilai 0 kemudian diincrement sampai nilainya kurang dari 5. Ketika i bernilai 5 maka ekspresi boolean pada looping bernilai false sehingga proses looping berhenti.
- IF/ELSE
if(expression) //jika ekspresi bernilai true laksanakan blok statemen setelah if { statement1; statement2; ... } else //jika ekspresi pada if diatas bernilai false maka laksanakan blok { //statemen pada bagian else disini statement3; statement4; ... }
- BREAK, CONTINUE, dan GOTO
BREAK
Break statement digunakan untuk keluar dari pengulangan FOR, WHILE, DO/WHILE, atau switch. BREAK keluar daru blok pengulangan dimana dia beada saja.
CONTINUE
Continue akan menyebabkan program memulai iterasi berikutnya dari statemen pegulangan WHILE. DO/WHILE, atau FOR loop. CONTINUE sama seperti BREAK pengulangan akan berhenti pada point yang dituju (di skip), bedanya CONTINUE akan memulai loop lagi dari atas, sedangkan BREAK memaksa keluar dari loop/pengulangan.
Contoh program
void setup(){ Serial.begin(9600); pinMode(led,OUTPUT); } void loop() { int i=0; for(i; i<10; i++) { if(i<=1) continue; if(i==8) break; Serial.println(i); } }Maka output dari program diatas yaitu
2 3 4 5 6 7
Structures, Union, dan Data Storage
void setup() { pinMode(int pin, int mode); }Potongan program diatas memerintahkan apakah pin akan diset sebagai digital input atau output. Mode berupa Input atau Output.
- Digital Input/Output
int digitalRead (int pin);Program diatas untuk membaca nilai dari pin digital. Nilai yang diperoleh dapat berupa 1 atau 0 (1 untuk HIGH dan 0 untuk LOW).
digitalWrite (int pin, int value);Program diatas untuk menulis nilai ke pin digital. Nilai dari value yang ditulis yaitu berupa 1 atau 0 (1 untuk HIGH dan 0 untuk LOW).
- Analog Input/Output
int analogRead (int pin);Program diatas untuk membaca nilai dari pin analog. Nilai yang diperoleh yaitu antara 0 sampai 1023.
analogWrite (int pin, int value);Program diatas untuk menulis nilai analog ke pin. Nilai dari value yang ditulis yaitu antara 0 sampai 255.
Penulis: Agung Dwi Prasetyo, Computer Science IPB
Referensi :
https://www.arduino.cc/en/Reference/HomePage
C Programming for Arduino