Anda di halaman 1dari 37

MAKALAH

(DASAR PROGRAM ARDUINO)

DISUSUN OLEH:
NAMA: RAHMAT PURNAMA
NIM: 222010009
PRODI: TEHNIK IINFORMATIKA

UNIVERSITAS PATRIA ATHA


2023/2024
1. Tipe Data Arduino
Tipe data merupakan kelompok data yang digunakan untuk mendeklarasikan sebuah
variabel di dalam bahasa pemrograman, khususnya pada bahasa pemrograman
Arduino. Tujuannya untuk memberi tahu kepada Arduino tipe data apa yang
ditampung dalam sebuah variabel. Tipe data yang digunakan dalam pemrograman
Arduino antara lain :

1. Tipe Data Integer dan Unsigned Int


Integer merupakan tipe data yang berfungsi untuk mendeklarasikan sebuah variabel
yang memiliki tipe data berupa angka desimal. Tipe data ini biasanya ditulis dengan int.
Data yang dapat di simpan berukuran 16 bit dengan rentang nilai yang dapat ditampung -
32768 sampai 32767. Sedangkan unsigned int hanya mampu menampung data 0 sampai
65,535 ( 2 pangkat 16).

2. Tipe Data Float


Float merupakan tipe data yang dapat menampung nilai desimal dan juga memiliki
penyimpanan yang lebih besar dari integer serta dapat menyimpan data berukuran 32 bit
dengan range 3.4028235E+38 sampai -3.4028235E+38. Selain itu, tipe data float juga bisa
menyimpan angka desimal di belakang koma.
3. Tipe Data Void
Void merupakan tipe data yang hanya digunakan untuk mendeklarasikan sebuah fungsi
dan memberitahu kepada Arduino bahwa program yang ada di dalam fungsi tidak
mengembalikan apapun.

4. Tipe Data Boolean


Boolean merupakan tipe data yang hanya digunakan dalam dua keadaan yaitu true atau
false. Angka 1 bernilai true dan angka 0 bernilai false. Tipe data boolean bisa menyimpan
data dengan ukuran 1 byte atau 8 bit.

5. Tipe Data Char


Char merupakan tipe data yang mengambil 1 byte untuk menyimpan suatu nilai karakter.
Tipe data ini banyak digunakan untuk mengolah data berbentuk text. Misalnya 'G' untuk
karakter harfiah ditulis menggunakan tanda kutip tunggal dan untuk multi karakter seperti
"GHI" menggunakan tanda kutip ganda. Karakter-karakter tersebut tersimpan dalam
bentuk angka yang dapat dilihat pada tabel ASCII.

6. Tipe Data Byte


Byte merupakan tipe data yang hanya bisa menyimpan 8 bit unsigned number dengan
rentang nilai 0-255 saja.

7. Tipe Data string (s huruf kecil)


string merupakan tipe data representasi dari kumpulan ASCII (American Standart Code
for Information Interchange) yang dilihat sebagai satu kesatuan. Data yang dapat
ditampung oleh string berupa alfanumerik seperti angka, huruf maupun simbol-simbol.
Contohnya huruf "c" yang berbeda dengan huruf "C". Pada huruf "c" memiliki nilai
desimal 99 sedangkan huruf "C" memiliki nilai desimal 67. Saat kita mengetikkan huruf
"c" maka yang terbaca oleh mikrokontroler adalah 99.
8. Tipe Data String (S huruf besar)
String merupakan tipe data kelas C++ yang dibuat dari tipe data string. Akan tetapi dilihat
sebagai objek bukan susunan (array) karakter. Sebagai contoh kita mendefinisikan variabel
bernama dataSaya menggunakan tipe data String yang dilihat sebagai objek, maka kita
bisa mengonversinya. Tipe data ini mudah dikonversi ke bentuk lain dengan menggunakan
fungsi default yang disediakan.
9. Tipe Data Array
Array merupakan tipe data berisi kumpulan nilai yang memiliki tipe data sama. Misalnya
data int, char dst menggunakan nama variabel yang sama. Nilai yang terdapat dalam array
dapat dipanggil dengan cara menuliskan nama array dan index number. Index number
array selalu dimulai dari angka 0, bukan angka 1.

10. Tipe Data Double


Double merupakan tipe data yang digunakan untuk nilai pecahan. Tipe data ini mencapai
2 pangkat 64 (64 bit).

11. Tipe Data Long dan Unsigned Long


Tipe data long dan unsigned long memiliki lebar data yang berbeda jika dibandingkan
dengan tipe data pada integer dan unsigned int. Long bisa menyimpan data 32 bit pada
mikrokontroler 8 bit. Sedangkan pada unsigned long hanya dapat menyimpan data
bilangan bulat dengan nilai maksimal 2 pangkat 32 (0 - 4294967295).

12. Tipe Data Short


Short merupakan tipe data 16 bit yang terdapat pada semua Arduino berbasis ATMega
dan ARM. Short menyimpan nilai 16 bit (2 byte) dengan rentang nilai antara 32.768
hingga 32.767.

13. Tipe Data Word


Word merupakan tipe data pada Arduino Uno dan Arduino berbasis ATMega lainnya.
Word menyimpan 16 bit bilangan tak bertanda. Sedangkan pada Arduino Due dan Zero,
word menyimpan 32 bit bilangan tak bertanda.

2. Bahasa Pemrograman Arduino


Arduino memahami perintah khusus yang disebut dengan Arduino language.
Bahasa pemrograman Arduino ini adalah temuan dari Hernando Barragan di tahun 2003.
Bahasa pemrograman ini cukup mirip dengan C++.
Akan tetapi, ia berbeda dan memiliki karakteristiknya tersendiri.
Bitdegree menyampaikan bahwa ada tiga bagian utama yang menyusun bahasa pemrograman
Arduino, yaitu function, value, dan structure.
1. Function
Function adalah yang digunakan untuk mengontrol board Arduino.
Dengan function, kamu bisa menganalisis karakter, melakukan operasi matematis, dan hal
lainnya.

2. Values
Values merepresentasikan konstanta dan variabel.
Tipe data yang bisa digunakan seperti array, boolean, char, float, dan lainnya sangat mirip
dengan C++.

3. Structure
Structure adalah bagian dari bahasa Arduino yang mengandung elemen kode, seperti
operator.
Berikut adalah contoh kode dan tampilan software saat mengerjakan pemrograman dengan
Arduino.
Cara Memprogram Arduino

Dasar dari logika kode Arduino adalah struktur “if-then“, atau jika-maka.
Struktur ini akan dibagi menjadi empat block, yaitu setup, input, manipulate data, dan output.
1. Setup
Setup dalam Arduino adalah kode yang ditulis untuk menjalankan suatu perintah satu kali,
seperti kalibrasi sensor.
2. Input
Input merupakan value yang digunakan sebagai kondisi atau syarat (if/jika).
3. Manipulate data
Bagian ini digunakan untuk mengubah data menjadi bentuk yang lebih mudah untuk
pelaksanaan kalkulasi.
4. Output
Output dalam Arduino adalah hasil dari logika kode yang dimasukkan (then).
Hasil output didapatkan dari data yang dikalkulasi dari tahap sebelumnya, tergantung dari
syarat “if” yang telah ditentukan.

3.Komentar
Sketch umumnya mengandung Komentar Program. Tentu saja, suatu Sketch bisa saja
tidak mengandung Komentar Program. Komentar Program ditujukan untuk memberi
keterangan kepada pembaca Sketch maupun bagi sang programer itu sendiri. Jadi Komentar
Program bukanlah suatu baris perintah. Ada atau tidaknya Komentar Program tidak ada
pengaruhnya bagi Arduino itu sendiri. Akan tetapi, Komentar Program menjadi sangat
penting untuk menusia, khususnya pembaca Sketch yang ingin mengetahui rahasia dibalik
kode-kode Sketch. Keterangan yang diberikan bisa berupa kegunaan Sketch, pencipta Sketch,
versi Sketch, ataupun berupa penjelasan untuk instruksi-instruksi yang terdapat di sketch.
Suatau Komentar Program dapat dibentuk dengan menuliskan simbol // dibagian mana saja
di Sketch. Jika pada Sketch ditulis simbol // maka tulisan pada baris yang sama setelah
simbol tersebut akan otomatis dianggap sebagai Komentar Program. Penggunaan simbol //
sebagai komentar program akan membuat komentar program pada baris yang sama saja.
Berikut contoh pembuatan Komentar Program dengan menggunakan simbol //

// ---------------------------------------------------------
// Sketch ini dibuat oleh Atok (Admin Bangka Robotic School)
// Ditujukan sebagai contoh penggunaan Komentar Program
// Tgl Pembuatan : 23 Desember 2015
// ---------------------------------------------------------

Pada contoh diatas, setiap komentar mencakup satu baris. Dalam praktik seringkali
Komentar Program bercampur dengan pernyataan dalam baris yang sama. Biasanya
digunakan untuk memberi keterangan kegunaan baris suatu program. Contonya sebagai
berikut

Serial.begin(9600);// kecepatan transmisi data di Port Serial

Pada contoh diatas Srial.begin(9600) adalah sebuah pernyataan dan disebelah kanannya
adalah sebuah Komentar Program. Selain menggunakan simbol //, Komentar Program juga
dapat dibuat dengan menggunakan pasangan simbol /* dan */ Kelebihan penggunaan
pasangan simbol tersebut adalah memungkinkan pembuatan Komentar Program yang terdiri
atas beberapa baris sekaligus. Berikut contohnya:

// ---------------------------------------------------------
// Sketch ini dibuat oleh Atok (Admin Bangka Robotic School)
// Ditujukan sebagai contoh penggunaan Komentar Program
// Tgl Pembuatan : 23 Desember 2015
// ---------------------------------------------------------
Dapat ditulis menjadi

/* ---------------------------------------------------------
Sketch ini dibuat oleh Atok (Admin Bangka Robotic School)
Ditujukan sebagai contoh penggunaan Komentar Program
Tgl Pembuatan : 23 Desember 2015
--------------------------------------------------------- */

Komentar Program dapat juga digunakan untuk mempercantik atau mempermudah


dalam membaca program dalam jumlah yang banyak. Contohnya sebagai berikut

//////////////////////////////////////////////// Inisialisasi
void setup() { //
// put your setup code here, to run once: //
Serial.begin(9600); //
} //
////////////////////////////////////////////////

/////////////////////////////////////////////////// Looping
void loop() { //
// put your main code here, to run repeatedly: //
Serial.print("Hai !!!"); //
Serial.println("Saya Belajar Sketch di"); //
Serial.print("Bangka Robotic School"); //
} //
///////////////////////////////////////////////////

Pengenalan Komponen dan Perangkat Dasar


 Light Emitting Dioda (LED)
LED (Light Emitting Dioda) adalah dioda yang dapat memancarkan cahaya pada saat
mendapat arus bias maju (forward bias).
LED (Light Emitting Dioda) dapat memancarkan cahaya karena menggunakan dopping
galium, arsenic dan phosporus. Jenis doping yang berbeda diata dapat menhasilkan cahaya
dengan warna yang berbeda. LED (Light Emitting Dioda) merupakann salah satu jenis dioda,
sehingga hanya akan mengalirkan arus listrik satu arah saja. LED akan memancarkan cahaya
apabil diberikan tegangan listrik

dengan konfigurasi forward bias. Berbeda dengan dioda pada umumnya, kemampuan
mengalirkan arus pada LED (Light Emitting Dioda) cukup rendah yaitu maksimal 20 mA.
Apabila LED (Light Emitting Dioda) dialiri arus lebih besar dari 20 mA maka LED akan
rusak, sehingga pada rangkaian LED dipasang sebuah resistor sebgai pembatas arus.
Gambar memperlihatkan bahwa LED memiliki kaki 2 buah seperti dengan dioda yaitu
kaki anoda dan kaki katoda. Pada gambar diatas kaki anoda memiliki ciri fisik lebih
panjang dari kaki katoda pada saat masih baru, kemudian kaki katoda pada LED (Light
Emitting Dioda) ditandai dengan bagian body LED yang di papas rata. Kaki anoda dan
kaki katoda pada LED (Light Emitting Dioda) disimbolkan seperti pada gambar diatas.
Pemasangan LED (Light Emitting Dioda) agar dapat menyala adalah dengan memberikan
tegangan bias maju yaitu dengan memberikan tegangan positif ke kaki anoda dan tegangan
negatif ke kaki katoda.

 Infra Red Sensor


Modul infrared (IR) sensor ini memiliki sepasang pemancar dan penerima inframerah.
Frekwensi inframerah yang dipancarkan mengenai permukaan halangan/rintangan (objek
terdeteksi) akan dipantulkan kembali dan diterima oleh bagian penerima inframerah.
Setelah diproses oleh rangkaian pembanding (comparator), lampu hijau akan menyala dan
mengeluarkan sinyal digital (digital output) rendah. Jarak deteksi dapat diatur dengan
potensiometer, dengan jarak efektif 2-30cm, tegangan kerja 3.3V - 5V. Mudah dipasang,
mudah digunakan, banyak dipakai pada robot penghindar rintangan, penghindar halangan
pada mobil, penghitung garis dan pelacak garis hitam putih dan banyak kegunaan lainnya.
Prinsip kerja dari modul ini adalah sebagai berikut:

1. ketika modul ini mendeteksi halangan di depan sinyal inframerah, lampu indikator
warna hijau akan menyala dan port output mengeluarkan sinyal rendah secara
menerus. Module ini dapat mendeteksi jarak 2 - 30cm dengan sudut deteksi 35 derajat.
Jarak deteksi dapat dinaikkan dengan memutar potensio searah jarum jam dan untuk
mengurangi jarak deteksi diputar berlawanan arah jarum jam;
2. sensor aktif inframerah mendeteksi pantulan, oleh karenanya bentuk pantulan dari
objek sangat penting. Permukaan warna hitam memiliki permukaan pantulan yang
paling kecil dan permukaan putih memiliki pantulan yang paling besar;
3. port output dapat dihubungkan langsung dengan IO port pada mikrokontroler atau
dapat juga langsung dihubungkan dengan relay 5V. Memiliki spesifikasi teknis dimana
tegangan external (VCC) berkisar antara 3,3V hingga 5V, GND (ground) dengan ouput
digital 0 dan 1.
4. menggunakan pembanding LM393 comparator yang stabil; dan dapat digunakan pada
tegangan 3-5V DC dan ketika diaktifkan, lampu indikator warna merah menyala.

 Ultrasonic Sensor
Sensor ultrasonik adalah sebuah sensor yang berfungsi untuk mengubah besaran fisis
(bunyi) menjadi besaran listrik dan sebaliknya. Cara kerja sensor ini didasarkan pada
prinsip dari pantulan suatu gelombang suara sehingga dapat dipakai untuk menafsirkan
eksistensi (jarak) suatu benda dengan frekuensi tertentu. Disebut sebagai sensor ultrasonik
karena sensor ini menggunakan gelombang ultrasonik (bunyi ultrasonik). Gelombang
ultrasonik adalah gelombang bunyi yang mempunyai frekuensi sangat tinggi yaitu 20.000
Hz. Bunyi ultrasonik tidak dapat di dengar oleh telinga manusia. Bunyi ultrasonik dapat
didengar oleh anjing, kucing, kelelawar, dan lumba-lumba. Bunyi ultrasonik nisa
merambat melalui zat padat, cair dan gas. Reflektivitas bunyi ultrasonik di permukaan zat
padat hampir sama dengan reflektivitas bunyi ultrasonik di permukaan zat cair. Akan
tetapi, gelombang bunyi ultrasonik akan diserap oleh tekstil dan busa. Pada sensor
ultrasonik, gelombang ultrasonik dibangkitkan melalui sebuah alat yang disebut dengan
piezoelektrik dengan frekuensi tertentu. Piezoelektrik ini akan menghasilkan gelombang
ultrasonik (umumnya berfrekuensi 40kHz) ketika sebuah osilator diterapkan pada benda
tersebut. Secara umum, alat ini akan menembakkan gelombang ultrasonik menuju suatu
area atau suatu target. Setelah gelombang menyentuh permukaan target, maka target akan
memantulkan kembali gelombang tersebut. Gelombang pantulan dari target akan
ditangkap oleh sensor, kemudian sensor menghitung selisih antara waktu pengiriman
gelombang dan waktu gelombang pantul diterima.
Secara detail, cara kerja sensor ultrasonik adalah sebagai berikut:
1. Sinyal dipancarkan oleh pemancar ultrasonik dengan frekuensi tertentu dan dengan
durasi waktu tertentu. Sinyal tersebut berfrekuensi diatas 20kHz. Untuk mengukur jarak
benda (sensor jarak), frekuensi yang umum digunakan adalah 40kHz.
2. Sinyal yang dipancarkan akan merambat sebagai gelombang bunyi dengan kecepatan
sekitar 340 m/s. Ketika menumbuk suatu benda, maka sinyal tersebut akan dipantulkan
oleh benda tersebut.
3. Setelah gelombang pantulan sampai di alat penerima, maka sinyal tersebut akan
diproses untuk menghitung jarak benda tersebut. Jarak benda dihitung berdasarkan
rumus: S = 0,034.t/2 dimana S merupakan jarak antara sensor ultrasonik dengan benda
(bidang pantul), dan t adalah selisih antara waktu (durasi) pemancaran gelombang oleh
transmitter dan waktu ketika gelombang pantul diterima receiver.

 Motor Servo
Motor servo adalah jenis motor DC dengan sistem umpan balik tertutup yang terdiri dari
sebuah motor DC, serangkaian gear, rangkaian kontrol, dan juga potensiometer. Jadi motor
servo sebenarnya tak berdiri sendiri, melainkan didukung oleh komponen-komponen lain
yang berada dalam satu paket. Sedangkan fungsi potensiometer dalam motor servo adalah
untuk menentukan batas sudut dari putaran servo. Sementara sudut sumbu motor servo
dapat diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel servo itu
sendiri. Oleh karena itu motor servo dapat berputer searah dan berlawanan arah jarum jam.
Motor servo dapat menampilkan gerakan 0 derajat, 90 derajat, 180 derajat, hingga 360
derajat. Tak heran jika motor ini banyak diaplikasikan untuk penggerak kaki dan juga
lengan robot. Selain itu motor servo juga memiliki torsi yang besar sehingga mampu
menopang beban cukup berat. Gambar 8. Bagian-bagian motor servo Prinsip kerja dari
motor servo tak jauh berbeda dibanding dengan motor DC yang lain. Hanya saja motor ini
dapat bekerja searah maupun berlawanan jarum jam. Derajat putaran dari motor servo juga
dapat dikontrol dengan mengatur pulsa yang masuk ke dalam motor tersebut. Motor servo
akan bekerja dengan baik bila pin kontrolnya diberikan sinyal PWM dengan frekwensi 50
Hz. Frekwensi tersebut dapat diperoleh ketika kondisi Ton duty cycle berada di angka 1,5
ms. Dalam posisi tersebut rotor dari motor berhenti tepat di tengah-tengah alias sudut nor
derajat atau netral. Pada saat kondisi Ton duty cycle kurang dari angka 1,5 ms, maka rotor
akan berputar berlawanan arah jarum jam. Sebaliknya pada saat kondisi Ton duty cycle
lebih dari angka 1,5 ms, maka rotor akan berputar searah jarum jam.

Operator
Operator dalam pemograman merupakan simbol yang menjelaskan kepada compiler
untuk melakukan fungsi matematika dan logika khusus. Pada arduino terdapat banyak
operator bawaan antara lain:

1. Operator Aritmatika.
2. Operator Pembanding.
3. Operator Boolean.

1.Operator Aritmatika
Operator aritmatika pada arduino meliput:

 Operator Penugasan (=) berfungsi untuk menyimpan nilai yang ada di sebelah
tanda (=) kanan ke dalam variabel yang ada di sebelah kiri tanda (=)
 Penjumlahan (+) berfungsi menjumlahkan operan.
 Pengurangan (-) berfungsi mengurangi operan .
 Perkalian (*) berfungsi mengalikan operan.
 Pembagian (:) berfungsi membagi operan.
 Modulo (%) berfungsi menghasilkan sisa dari nilai bagi.

Contoh Program :
2. OPERATOR LOGIKA
Operator Logika digunakan untuk memberi perintah AND, OR, NOT.

&& ( AND )
Contoh :
if (input1 == HIGH && input2 == HIGH)
{ digitalWrite (led, HIGH); }
Artinya : Jika ‘input1’ DAN ‘input2’ sama sama berlogika HIGH maka ‘led’ akan berlogika
HIGH.

| | ( OR )
Contoh :
if (input1 == HIGH || input2 == HIGH)
{ digitalWrite (led, HIGH); }
Artinya :Jika ‘input1’ berlogika HIGH ATAU ‘input2’ berlogika HIGH maka ‘led’ akan
berlogika HIGH.

! ( NOT )
Contoh :
if ( ! input == LOW )
{ digitalWrite (led, HIGH); }
Artinya : Jika ‘input’ berlogika LOW maka ‘led’ akan berlogika LOW.

3.OPERATOR KENAIKAN DAN PENURUNAN

( Increment dan Decrement )

Operator ini terdiri dari dua jenis yaitu increment (++) dan decrement (- -). Operator
increment digunakan untuk menambah nilai suatu variabel dengan 1, sedangkan operator
decrement digunakan untuk mengurangi nilai suatu variabel dengan 1.

contoh:

Increment (--)

x++; // increment x by one and returns the old value of x

++x; // increment x by one and returns the new value of x

Kedua pernyataan diatas sama, apabila X = 2, maka kedua pernyataan tersebut akan menghasilkan X
= 3 ketika dieksekusi.

Perbedaaanya adalah untuk ++X , kurangi dulu nilai X dgn 1 baru di proses baris kode tsb, sedangkan
X++ , proses dulu baris code tsb baru kurangi nilai X dgn 1
Decrement (--)

x-- ; // decrement x by one and returns the old value of x

--x ; // decrement x by one and returns the new value of x

Untuk decrement penjelasannya sama dengan increment, perbedaannya hanyalah jika increment
digunakan untuk kenaikan sedangkan decrement digunakan untuk penurunan.

4.Operator Penugasan ( assigment operator )


Operator penugasan digunakan untuk memindahkan nilai dari suatu ungkapan ( expression ) ke
suatu Variabel ( Identifer ). Operator ini adalah operator sama dengan ( = ). Contoh :
fahrenheit = celcius * 1.8 + 32 ;
variable operator expression
Pernyataan diatas menunjukkan bahwa operator sama dengan memindahkan nilai dari expressi "
celcius * 1.8 + 32 " ke dalam variabel fahrenheit.
Operator ini juga bisa dalam bentuk banyak sebagai berikut :
Identifer1 = Identifer2 = .... = Expression ;
Contohnya :
a = b = 15 * 2 ;
jadi variable a bernilai 30, dan variable b bernilai 30 juga..

Karakter

Karakter dapat berupa huruf,digit,simbol,dan bahkan karakter kontrol (seperti spasi dan
*).

·Huruf:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

abedefghijklmnopqrstuvwxyz

Digit:

0123456789

Simbol dan Lain-lain:

\n*+Spasi

Pengenal(Identifier)

Pengenal adalah suatu nama yang biasa dipakai dalam pemrograman untuk
menyatakan:
variabel;

· konstanta bernama;

·tipe data;

fungsi;

ataupun hal-hal lain yang dibuat oleh pemrogram.

Penamaan Pengenal

Suatu pengenal berupa satu atau beberapa karakter

huruf,

digit,

garis-bawah(_),

dan berawalan dengan huruf atau garis-bawah.

Pemberian nama pengenal sebaiknya menggunakan kata yang berarti dan mudah
dibaca. Sebagai contoh pengenal

suhu_ruangan lebih mudah dipahami oleh orang daripada s

ataupun

suhu ruangan

Untuk pengenal yang melibatkan lebih dari satu kata, model punuk unta kadang
digunakan. Sebagai contoh,

suhu Ruangan

adalah alternatif dari

suhu_ruangan
Aturan yang berlaku pada punuk unta:

 kata pertama diawali dengan huruf kecil;


 kata kedua dan seterusnya diawali dengan huruf kapital.

Konstanta

Konstanta Oktal dan Desimal

Selain dalam bentuk desimal (sistem bilangan dengan basis 10),konstanta bilangan
bulat(char, int, short,dan long dapat disajikan dalam bentuk sistem oktal (sistem bilangan
berbasis 8) ataupun sistem heksadesimal (sistem bilangan berbasis 16).

Konstanta Boolean

Konstanta yang menyatakan nilai benar di tipe boolean ditulis seperti berikut:

true
Adapun,konstanta yang menyatakan nilai salah ditulis sebagai berikut:

false

Konstanta Karakter

Konstanta karakter ditulis dengan awalan dan akhiran petik tunggal(‘). Contoh:

 ‘A’
 ‘5’
 (*)
Karakter tertentu ditulis dengan tanda khusus. Contoh:

 ‘\n’ menyatakan karakter newline


 ‘\t’ menyatakan tab
Konstanta Integer

Konstanta integer atau bilangan bulat ditulis tanpa mengandung tanda pecahan.Tanda
+untuk menyatakan bilangan positif bersifat opsional.Contoh:

 -23
 56
 +56 (identik dengan 56)
Konstanta bertipe long ditulis dengan akhiran L atau l. Contoh:

45678901L

Konstanta bertipe unsigned long bisa ditulis dengan akhiran UL atau ul. Contoh:

234567989UL

Konstanta Oktal

Dalam sistem oktal, digit yang digunakan berkisar antara 0 sampai dengan 7. Penulisan
konstanta diawali dengan 0 (nol).Contoh:

 010(9 desimal)
 011(10 desimal)

Konstanta Heksadesimal
Pada sistem heksadesimal,digit yang dapat dipakai berupa salah satu di antara 16 simbol
berikut:

0123456789ABCDEF

Simbol A,B,C,D,E,dan F dapat dinyatakan dengan huruf kecil a,b,c,d,e,dan f.Penulisan


konstanta diawali dengan Ox (nol dan x).Hubungan simbol ABCDEF dengan bilangan
pada sistem desimal seperti yang

ditunjukkan di Tabel 1.2.

Tabel 1.2 Hubungan angka heksadesimal dan desimal

Heksadesimal Desimal Heksadesimal Desimal

0(0000 biner) 0 0101 biner) 5

1(0001 biner) 1 6(0110 biner) 6

2(0010 biner) 2 7(0111 biner) 7

3(0011 biner) 3 8(1000 biner) 8

4(0100 biner) 4 9(1001 biner) 9

A(1010 biner) 10 D(1101 biner) 13

B(1011 biner) 11 E (1110 biner) 14

C(1100 biner) 12 F(1111 biner) 15

Contoh:

 0x10(10 heksadesimal atau 16 desimal)


 OxFF(FF heksadesimal atau 255 desimal)
Gambar 1.24 memperlihatkan contoh penggunaan konstanta heksadesimal untuk
menyatakan angka yang

direpresentasikan dengan sejumlah LED. LED berwarna putih menyatakan hidup (on).

0011 1100=0x3C

0010 01000×24

0010 0100=0x24

0111 1110*0x7E

0110 0010=0x62

0110 0010=0x62

0110 0010=0x62

Konstanta Biner

Arduino menyediakan cara penulisan konstanta dalam bentuk biner. Dalam hal ini,
deretan angka o dan yang diawali dengan B adalah konstanta biner.Contoh:

 B110 identik dengan 6 dalam sistem desimal;


 B10101 identik dengan 21 dalam sistem desimal.

Konstanta Titik-Mengambang

 Di dalam menuliskan konstanta yang menyatakan tipe float atau d0uble, tanda
pecahan yang digunala berupa titik.Contoh:konstanta 2.5 berarti 2,5 (dua
setengah). Notasi E atau e boleh digunakan unt menyatakan tanda eksponen
(pangkat).Contoh:
1.2E3 atau 1.2e+3

Konstanta String
Konstanta string merupakan deretan karakter yang diawali dan diakhiri dengan tanda
petik-ganda Contoh:

“Resistor”

Konstanta string dengan sebuah karakter berbeda dengan konstanta karakter.Konstanta


karakter diawali dan diakhiri tanda petik tunggal,sedangkan string diawali dan diakhiri
tanda petik ganda. Jadi,

“a”

tidaklah sama dengan

‘a’

sebab, “a” berarti konstanta string, sedangkan ‘a’ adalah konstanta karakter.

Suatu konstanta string dapat mengandung karakter yang menggunakan tanda\(karakter


escape sequence). Contoh:

“\n”

merupakan konstanta yang terdiri atas sebuah karakter newline.

Penamaan Konstanta

Konstanta boleh diberi nama. Nama konstanta bisa diwujudkan dengan menggunakan
kata kunci const. Bentuk deklarasinya seperti berikut:

const tipe nama_konstanta =nilai;

Contoh:

const int PIN 12=12;

Ungkapan

Ungkapan (ekspresi) dapat berupa:

 pengenal;
 konstanta;
fungsi;
kombinasi elemen-elemen di atas dengan operator.
Contoh ungkapan:

3+2-1

Pada ungkapan di atas,3,2,dan 1 merupakan operand dan simbol+serta-adalah


operator,Nilai ungkapan sendiri adalah hasil penjumlahan 3 dan 2 dan kemudian
dikurangi 1.Penjelasan visual diperlihatkan di Gambar 1.26.

Gambar 1.26 Operand dan operator

Contoh lain:

a=b+c-2

Pada ungkapan ini,a,b, dan c merupakan operand,simbol=,+dan-adalah operator.Dalam


hal ini,variabel a diisi dengan hasil penjumlahan b dan c, dikurangi 1. Selanjutnya, nilai a
ini menyatakan nilai ungkapan.

Operator+,-,*, dan /

Operator seperti penjumlahan,pengurangan,perkalian,dan pembagian merupakan hal


yang umum. Nama sifat pada ungkapan yang melibatkan operator-operator ini juga
perlu diperhatikan,Silakan lihat Tabel1

Tabel 1.6 Operasi aritmatika menggunakan operator+,-,*,dan/

Ungkapan Hasil Ungkapan Hasil

7.0+2.0
9.0 7.0-2.0 5.0
9.0 7.0-2 5.0
7.0+2

9.0 7-2.0 5.0


7+2.0

9 7-2 5
7+2

7.0*2.0 14.0 7.0/2.0 3.5


7.0*2 14.0 7.0/2 3.5

7*2.0 14.0 7/2.0 3.5

7*2 14 7/2 3

Secara garis besar dapat disimpulkan bahwa operasi yang melibatkan


operator+,-,*,dan/seperti beniku

1. Sekiranya salah satu operand berupa bilangan titik-mengambang


(bilangan real),hasil ungkapa bertipe bilangan titik-mengambang.
2. Sekiranya kedua operand bertipe bilangan bulat, hasil ungkapan bertipe
bilangan bulat.

Operator Sisa Pembagian

Operator sisa pembagian (operator modulus) yang berupa % mempunyai manfaat pada
berbagai aplika Sebagai contoh,dengan menggunakan operator ini dapat dipastikan
bahwa suatu bilangan rand0m ya dibangkitkan oleh sistem selalu berada antara
jangkauan 0 dan 10. Contoh lain,operator ini dapat dipa sebagai dasar penentuan suatu
bilangan termasuk bilangan genap atau bilangan ganjil.

Operator ini diterapkan pada operand bertipe bilangan bulat.Supaya lebih


jelas,perhatikan beberapa comt

berikut:

7%2→1 Sisa pembagian bilangan 7 dengan 2 adalah 1

6%2→0 Sisa pembagian bilangan 6 dengan 2 adalah 0

8%3→1 Sisa pembagian bilangan 8 dengan 3 adalah 2

Secara prinsip, sisa pembagian x dengan y dapat diperoleh dengan menggunakan cara
berikut:

1. Bagilah x dengan y dan menghasilkan bilangan bulat z.


2. Sisa pembagian x dengan y adalah x-y*z.
Sebagai contoh,8*%3 adalah 1.Hal ini dapat diperoleh dengan cara seperti berikut:

1. 1.z=8/3=2
2. sisa pembagian=8-3*z=8-2*2=2

Prioritas Operator Aritmatika

Tabel 1.7 memberikan penjelasan prioritas operator-operator aritmatika. Operator yang


mempunyai prioritas tinggi akan diutamakan dalam hal pengerjaan dibandingkan
dengan operator yang memiliki prioritas lebih rendah.

Tabel 1.7 Prioritas operator aritmatika

Operator Prioritas

++dan–(Khusus yang

berkedudukan sebagai awalan)

Tertinggi
-(Unary minus) Terendah

* %/

+-(Penjumlahan dan
pengurangan)

Jika operator memiliki prioritas sama (di Tabel 1.18 terletak pada baris yang sama),
operator yang terletak di sebelah kiri dalam suatu ungkapan yang akan diutamakan
untuk dikerjakan terlebih dahulu.

Contoh 1:

x=2+3*2;

Pernyataan ini memberikan nilai 8 ke x disebabkan 3*2 dikerjakan terlebih dahulu


(mengingat* mempunyai prioritas lebih tinggi daripada +).Pernyataan di atas identik
dengan:

x=2+(3*2);
Contoh 2:

x=2*3%2;

Operator*dan% mempunyai prioritas sama.Namun,karena yang terletak di sebelah kiri


adalah *, maka 2 *3 akan dikerjakan terlebih dahulu. Dengan demikian,pernyataan ini
identik dengan:

x=(2*3)。2;

Tanda kurung biasa digunakan untuk mengubah urutan pengerjaan.Sebagai contoh,

x=(2+3)*2;

akan memberikan nilai 10 ke x, sebab 2+3 dikerjakan terlebih dahulu dan hasilnya baru
dikalikan dengan 2.

Operator Penugasan

Operator penugasan, yang berupa simbol sama dengan (=), berguna untuk memberikan
suatu nilai ke suatu variabel. Operator ini dapat dikenakan sebagal ungkapan ataupun
berdiri sebagai pernyataan,

Penugasan Sederhana

Beberapa pernyataan penugasan telah diperkenalkan.Contoh:

a=1:

a-2+b:

Pada contoh pertama,variabel a diisi dengan hasil ungkapan 2 + b.

Penugasan dalam Ungkapan

Pada contoh berikut,operator penugasan dipakai untuk memberikan nilai berdasarkan


ungkapan:

a=2+(b=1);
Pada contoh di atas, mula-mula variabel b diisi 1.Kemudian,variabel a diisi dengan hasil
ungkapan 2+1

Operator Penurunan dan Penaikan

Berkaitan dengan operasi aritmatika, tersedia operator yang disebut sebagai operator
penaikan (increme dan operator penurunan (decrement).Kedua operator ini biasa
digunakan pada operand bertipe bilang bulat. Tabel 1.8 memperlihatkan simbol untuk
kedua operator tersebut.

Tabel 1.8 Operator penurunan dan penaikan

Operator Keterangan

++ Operator penaikan

— Operator penurunan

Operator penaikan digunakan untuk menaikkan nilai variabel sebesar satu, sedangkan
operator penunuma dipakai untuk menurunkan nilai variabel sebesar satu. Penempatan
operator terhadap variabel da dilakukan di muka atau di belakangnya. Contoh:

x=x+1;

y=y-1;

dapat ditulis menjadi:

x++;

y–;

Pada contoh di atas,penempatan operator penaikan atau penurunan di depan atau di


belakang variabelto berbeda.Namun,sesungguhnya perbedaan kedua posisi ada,walau
pada contoh tersebut tidak terlihat.

Operator Bitwise (Manipulasi Bit)


Untuk keperluan memanipulasi bit, tersedia enam operator seperti yang diperlihatkan di
Tabel 1.9. Prioritas seluruh operator bitwise diperlihatkan di Tabel 1.10.Seluruh operator
ini hanya dapat dikenakan pada operand bertipe bilangan bulat atau karakter.

Tabel 1.9 Operator bitwise

pA0r Keterangan Contoh

<< Geser bit ke kiri 25<<2

>> Geser bit ke kanan 25>>2

& Operasi bit DAN 25&2

1 Operasi bit ATAU 25|2

V Operasi bit XOR 25^2

~ Operasi bit BUKAN ~25

Tabel 1.10 Prioritas operator bitwise

Variabel Keterangan

Tertinggi >><<

&
Terendah
V

Operator Geser Kiri dan Geser Kanan


Operator>>dan <<berguna untuk menggeser bit bit dalam suatu bilangan bulat ke kiri
atau ke kan Penggeseran bit ke kiri mempunyal efek seperti perkalian,sedangkan
penggeseran ke kanan memben

efek seperti pembagian.

Operator<<

Bentuk umum pemakaian operator <<:

nilai << Jumlah bit digeser ke kiri

Pada operasi penggeseran ke kiri,setiap penggeseran sebuah bit akan memberikan


pengaruh sepertiham

perkalian dengan bilangan dua.

Jika x bernilai 93,kemudian digeser ke kiri satu bit, maka hasilnya adalah 186

Operator atau,dan,xor

Bentuk pemakaian operator atau (l), dan (&),dan xor (^):

operand1 operator operand2

Operasi bit dilakukan antara operand1 dan operand2 untuk posisi bit yang sama (bit 0
operand1 dengan bit 0 operand2,bit 1 operand1 dengan bit 1 operand 2, dan
seterusnya).

Operator Atau

Simbol operator atau berupa |,dengan bentuk pemakaian seperti berikut:

operand1 | operand2

Pada operasi dengan operator ini, hasil operasi per bit sebagai berikut:

hasil 0 kalau kedua bit yang dioperasikan bernilai 0;


 hasil 1 kalau salah satu atau dua dari bit yang dibandingkan bernilai satu.
Seluruh kemungkinan operasi dengan & diperlihatkan di Tabel 1.11
Tabel 1.11 Operasi dengan &

Bit Operand 1 Bit Operand 1 Hasil

0 0 0

0 1 1

1 0 1

1 1 1

Operator Dan

Simbol operator dan berupa &,dengan bentuk penggunaannya seperti berikut:

operandl &operand2

Pada operasi dengan dan,hasil operasi bit seperti berikut:

 hasil O kalau dari dua bit yang dibandingkan ternyata ada yang bernilai 0;
 hasil 1 kalau dua bit yang dibandingkan sama-sama bernilai 1.
Seluruh kemungkinan operasi dengan & diperlihatkan di Tabel 1.12.

Tabel 1.12 Operasi dengan operator bitwise dan

Bit Operand 1 Bit Operand 1 Hasil

0 0 0

0 1 0

1 0 0
1 1 1

Operator xor

Simbol operator xor (exclusive or) berupa ^,dengan bentuk penggunaannya seperti
berikut:

operand1 ^ operand2

Pada operasi dengan xor,hasil operasi per bit sebagai berikut:

hasil 1 kalau satu bit dari kedua dua bit yang dibandingkan bernilai 1;
hasil 0 untuk kondisi yang lain.
Seluruh kemungkinan operasi dengan^diperlihatkan di Tabel 1.13.

Tabel 1.13 Operasi dengan operator bitwise xor

Bit Operand 1 Bit Operand 1 Hasil

0 0 0

0 1 1

1 0 1

1 1 0

Operator Komplemen

Bentuk pemakaian operator komplemen:

~operand
Operator ini mempunyai sifat membalik (mengonversi) nilai setiap bit operand. Jika bit
bernilai 1, hasilnya 0.P Jika bit bernilai 0, hasilnya 1 (lihat Tabel 1.14).

Tabel 1.14 Operator komplemen

Operand Hasil

0 1

1 0

Operator Majemuk

Operator majemuk disediakan untuk memendekkan penulisan operasi penugasan


semacam:

x=x+2;

y=y*4:

menjadi:

x+= 2;

K *=4;

Operator seperti+=dan *= dinamakan operator majemuk.

Tabel 1.15 mencantumkan seluruh kemungkinan operator kombinasi dalam suatu


pernyataan d pernyataan padanannya.

Tabel 1.15 Operator majemuk

Operator Contoh Keterangan

+= X+= 2; Kependekan dari x=x+ 2;


-= X-=2; Kependekan dari x=x-2;

*= x*-2; Kependekan dari x=x*2;

/= x/=2; Kependekan dari x = x/2;

%= x%=2; Kependekan dari x=x% 2;

<<= x<<=2; Kependekan dari x=x<<2;

>>= X2: Kependekan darix=x>>2;

&= x&=2; Kependekan dari x = x&2;

=1 x|=2; Kependekan dari x=x|2;

^= x^=2; Kependekan dari x=x^2;

Operator Relasional

Operator relasional atau operator pembanding biasa digunakan untuk membandingkan


dua nilai. Keseluruhan operator relasional dapat dilihat di Tabel 1.16.

Tabel 1.16 Operator relasional

Operator Keterangan

== Sama dengan (bukan penugasan)


!= Tidak sama dengan

> Lebih dari

< Kurang dari

>= Lebih dari atau sama dengan

<= Kurang dari atau sama dengan

Contoh ungkapan kondisi yang menggunakan operator relasional:

x==y

Hasil ungkapan tersebut bernilai:

 1 kalau nilai x sama dengan nilai y;


 0 kalau nilai x tidak sama dengan y.

Operator Logika

Operator logika biasa digunakan untuk menghubungkan dua ungkapan kondisi menjadi
satu ungkapan kondisi.Operator-operator yang tergolong sebagai operator logika
adalah:

 &&(operator logika dan);


 Il (operator logika atau);
 !(operator logika bukan).
Operator || dan &&

Bentuk pemakaian operator || dan &&:

ungkapant 1l ungkapan2 atau ungkapant or ungkapan2

ungkapant s& ungkapan2 atau ungkapant and ungkapan2

Pada bentuk pertama, hasi ungkapan bermilai benar kalau ungkapant dan ungkapanz
berila n bentuk keduia,hasil ungkapan berupa benar hanya kalau ungkapant dan
ungkapan2 bernilal be 1.17 memberikan seluruh kemungkinan pada operasi dengan //
dan &&.

Tabel 1.17 Operator logika “atau”(I1)serta “dan”(&&)

Ungkapan1 Ungkapan2 Hasil//atau or Hasil && atau and

Salah Salah Salah Salah

Salah Benar Benar Salah

Benar Salah Benar Salah

Benar Benar Benar Benar

Benar

Operator Logika !

Penggunaan operator! seperti berikut:

!ungkapan atau

not ungkapan

Hasilnya berupa:

 benar kalau ungkapan bernilai salah;


 salah kalau ungkapan bernilai benar.

 Pada bentuk pemakaian || atau &&,biasanya ungkapan1 dan ungkapan2


dit dalam tanda kurung.Contoh:
 (a==b)&&(c==d)
 Sebenarnya, penambahan kurung seperti itu tidak merupakan keharusan..
Kehadirannya hanya dimaksudkan untuk mempermudah orang yang ala
membacanya.Dengan perkataan lain, ungkapan tersebut dapat ditulis
menjadi
 a==b&&c==d
 Hal ini disebabkan operator==mempunyai prioritas lebih tinggi
dibandingkan &8 Berbeda halnya kalau and atau or digunakan.Kalau and
atau or digunakan pada bentuk seperti(a==b)&&(c==d),tanda kurung
tetap diperlukan karena priora and atau or lebih rendah daripada operator
relasional seperti==.
 Tabel 1.18 mencantumkan prioritas operator-operator di Arduino.
Tabel 1.18 Prioritas operator

Simbol Nama Pengerjaan Prioritas

()
Pemanggilan fungsi
Elemen array
[]

Pointer ke anggota struktur –


->

Anggota struktur, union atau kelas


·

++ Pre-increment
— Post-increment

i Logika bukan(NOT)

~ Bitwise komplemen TERTINGGI

– Minus(unary)

+ Plus(unary) Kiri ke kanan

& Alamat (address)

sizeof Ukuran tipe data

(tipe) Type casting

tipe() Type casting

* Dereferensi C Kiri ke kanan


·
Dereferensi C
*?
Kurung untuk ungkapan
()

* Perkalian
/ Pembagian
Kiri ke kanan
% Sisa pembagian(modulus)

+ Penjumlahan
– Pengurangan Kiri ke kanan

<< Geser kiri


>> Geser kanan Kiri ke kanan

< Kurang dari


> Lebih dari

<= Kurang dari atau sama dengan Kiri ke kanan

>= Lebih dari atau sama dengan

== Sama dengan
!= Tidak sama dengan Kiri ke kanan

& Bitwise“dan” Kiri ke kanan

V Bitwise“xor” Kiri ke kanan

1 Bitwise“atau” Kiri ke kanan

&& Logika“dan” Kiri ke kanan

11 Logika“atau” Kiri ke kanan


?: Operator kondisi Kiri ke kanan

= Penugasan Kanan ke Kiri

*= Operator majemuk

/= Operator majemuk

%= Operator majemuk

+= Operator majemuk

-= Operator majemuk

<= Operator majemuk

Operator majemuk
>>= Operator majemuk

&= Operator majemuk

^= Operator majemuk

|= Operator majemuk

, Operator koma Kiri ke kanan TERENDAH


Fungsi yang Berhubungan dengan Bit

Sejumlah fungsi yang disediakan di Arduino berhubungan dengan bit. Sebagai contoh,
Anda d mengnolkan suatu bit dengan mudah dengan menggunakan bitClear (). Silakan
lihat Tabel 1.19 m mengenali fungsi-fungsi seperti itu.

Tabel 1.19 Fungsi-fungsi untuk operasi bit

Fungsi Keterangan

Mengnolkan bit n pada nilai x. Tak ada nilai balik.Contoh:

bitClear(x,n) byte x=B11111111;bitClear(x, 1);

Maka, bit 1 pada x dinolkan. Bentuk binernya akanberupa:11111101


Membuat bit n pada nilai x bernilai 1. Tak ada nilai balik.Contoh:
byte x=B11111001;bitSet(x,1);
bitSet(x,n)
Maka, bit 1 pada x dinolkan. Bentuk binernya akanberupa:11111011

Membuat bit n pada nilai x bernilai b (0 atau 1).Tak adanilai balik.Contoh:


byte x =B11111001;bitSet(x,2,1);
bitWrite(x,n,b)
Maka, bit 1 pada x dinolkan. Bentuk binernya akanberupa:11111101

Memberikan nilai balik berupa nilai bit pada posisi bit n

pada nilai x. Contoh:

bitRead(x,n) byte x=B11111001;

Maka,bitRead(x, 0) memberikan nilai balik berupa

1.

Memberikan nilai balik berupa nilai pada posisi bit n


bit(n)
atau identik dengan 2n.

Memberikan nilai balik berupa byte rendah suatu nilai x.


lowByte(x) Identik dengan x & B11111111

Memberikan nilai balik berupa byte tertinggi suatu nilai x


highByte(x) yang bertipe word.

Anda mungkin juga menyukai