5
BAB II
LANDASAN TEORI
2.1. Perangkat Keras
Menurut (Mulyani, 2018) mengemukakan bahwa “Perangkat Keras adalah
semua bagian fisik komputer, dibedakan dengan data yang berada didalamnya atau
beroperasi didalamnya, dan dibedakan dengan perangkat lunak (software) yang
menyediakan instruksi untuk perangkat keras dalam menyelesaikan tugas .
Berdasarkan fungsinya, perangkat keras dibagi menjadi :
1. Input Device (Unit Masukan)
Unit ini berfungsi sebagai media untuk memasukkan data dari luar ke dalam
suatu memori dan processor untuk diolah guna menghasilkan informasi yang
diperlukan.
2. Process Device (Unit Pemrosesan)
Otak sebuah komputer berada pada unit pemrosesan (proses device).
3. Output Device (Unit Keluaran)
Unit ini merupakan peralatan yang berfungsi untuk mengeluarkan hasil
pemrosesan ataupun pengolah data yang berasal dari CPU ke dalam suatu
media yang dapat dibaca oleh manusia ataupun dapat digunakan untuk
menyimpan data hasil proses.
4. Backing Storage (Unit Penyimpanan)
Unit ini biasa disebut memori yang merupakan suatu tempat penyimpanan
atau menampung data dan program.
6
5. Periferal (Unit Tambahan)
Unit ini adalah hardware tambahan yang disambung ke komputer, biasanya
dengan bantuan kabel ataupun sekarang banyak perangkat peripheral
wireless.
2.1.1. Teori IC (Integrated Circuit)
Menurut (Hakiem, 2015) memberikan batasan bahwa “IC (Integrated
Circuit) adalah komponen elektronika semi konduktor yang merupakan gabungan
dari ratusan atau ribuan komponen-komponen lain. Bentuk IC berupa kepingan
silikon padat, biasanya berwarna hitam yang mempunyai banyak kaki-kaki (pin)
sehingga bentuknya mirip sisir.
Sebelum adanya IC, hampir seluruh peralatan elektronik dibuat dari satuan-
satuan komponen (individual) yang dihubungkan satu sama lainnya menggunakan
kawat atau kabel, sehingga tampak mempunyai ukuran besar serta tidak praktis.
Perkembangan teknologi elektronika terus semakin meningkat dengan semakin
lengkapnya jenis-jenis IC yang disediakan untuk rangkaian linear dan digital,
sehingga produk peralatan elektronik makin tahun makin tampak kecil dan canggih.
Sumber : Dickson Kho
Gambar II.1. IC (Integrated Circuit)
7
Komponen / bentuk utama dalam sebuah IC ada dua, yaitu :
1. IC TTL (Integrated Circuit Transistor Logic)
IC TTL adalah IC yang banyak digunakan dalam rangkaian digital karena
menggunakan sumber tegangan yang relatif rendah, yaitu 4,75 Volt sampai
5,25 Volt. IC TTL dibangun dengan menggunakan transistor sebagai
komponen utamanya dan fungsinya dipergunakan untuk berbagai variasi
Logic, sehingga dinamakan Transistor.
2. IC CMOS (IC Complementary Metal Oxide Semiconductor)
Sebenarnya antara IC TTL dan IC CMOS memiliki pengertian sama, hanya
terdapat beberapa perbedaan yaitu dalam penggunaan IC CMOS konsumsi
daya yang diperlukan sangat rendah dan memungkinkan pemilihan tegangan
sumbernya yang jauh lebih lebar yaitu antar 3V sampai 15V, level
pengsaklaran CMOS merupakan fungsi dari sumber tegangan.
2.1.2. Sumber Tegangan
Menurut (Muda, 2013) mengemukakan bahwa “Power Supply atau Catu
Daya merupakan suatu rangkaian yang paling penting bagi sistem elektronika. Ada
dua sumber catu daya yaitu :
1. Sumber AC yaitu sumber tegangan bolak-balik.
2. Sumber DC yaitu sumber tegangan searah.
2.1.3. Komponen Elektronika
Komponen Elektronika adalah elemen dasar yang digunakan untuk
membentuk suatu rangkaian elektronika dan biasanya dikemas dalam bentuk diskrit
dengan dua atau lebih terminal penghubung (Kho, 2019).
8
1. Resistor
Resistor atau disebut juga dengan hambatan adalah komponen
elektronika pasif yang berfungsi untuk menghambat dan mengatur arus listrik
dalam suatu rangkaian elektronika. Satuan Nilai Resistor atau hambatan adalah
Ohm (Ω). Nilai Resistor biasanya diwakili dengan kode angka ataupun Gelang
Warna yang terdapat dibadan Resistor. Hambatan Resistor sering disebut juga
dengan Resistansi (Kho, 2019).
Sumber : Dickson Kho
Gambar II.2. Resistor
Untuk mengetahui nilai resistor dari warna dapat dilihat pada tabel II.1
Tabel II.1. Kode Warna Resistor
Sumber : http://elektronikadasar.info/kode-warna-resistor-sistem-tabel.htm
9
Jenis-jenis Resistor diantaranya adalah :
a. Resistor yang Nilainya tetap.
b. Resistor yang nilainya dapat diatur, resistor jenis ini sering disebut juga
dengan Variabel Resistor ataupun Potensiometer.
c. Resistor yang nilainya dapat berubah sesuai dengan intensitas cahaya,
resistor jenis ini disebut dengan LDR atau Light Dependent Resistor.
d. Resistor yang nilainya dapat berubah sesuai dengan perubahan suhu,
resistor jenis ini disebut dengan PTC (Positive Temperature Coefficient)
dan NTC (Negative Temperature Coefficient).
2. Kapasitor (Capacitor)
Kapasitor atau disebut juga dengan Kondensator adalah Komponen
Elektronika Pasif yang dapat menyimpan energi atau muatan listrik dalam
sementara waktu. Fungsi-fungsi Kapasitor (Kondensator) diantaranya adalah
dapat memilih gelombang radio pada rangkaian Tuner, sebagai perata arus
pada rectifier dan juga sebagai Filter di dalam Rangkaian Power Supply (Catu
Daya). Satuan nilai untuk Kapasitor (Kondensator) adalah Farad (F) (Kho,
2019).
Sumber : http://belajarelektronika.net/cara-menghitung-nilai-kapasitor-paralel-dan-
seri/
Gambar II.3. Kapasitor
10
Jenis-jenis Kapasitor diantaranya adalah :
a. Kapasitor yang nilainya Tetap dan tidak ber-polaritas. Jika didasarkan pada
bahan pembuatannya maka Kapasitor yang nilainya tetap terdiri dari
Kapasitor Kertas, Kapasitor Mika, Kapasitor Polyster dan Kapasitor
Keramik.
b. Kapasitor yang nilainya Tetap tetapi memiliki Polaritas Positif dan Negatif,
Kapasitor tersebut adalah Kapasitor Elektrolit atau Electrolyte Condensator
(ELCO) dan Kapasitor Tantalum
c. Kapasitor yang nilainya dapat diatur, Kapasitor jenis ini sering disebut
dengan Variable Capasitor.
3. Transformator
Transformator atau sering disingkat dengan istilah Trafo adalah suatu alat
listrik yang dapat mengubah taraf suatu tegangan AC ke taraf yang lain.
Maksud dari pengubahan taraf tersebut diantaranya seperti menurunkan
Tegangan AC dari 220V AC ke 12V AC ataupun menaikkan Tegangan dari
110V AC ke 220V AC.
Transformator atau Trafo ini bekerja berdasarkan prinsip Induksi
Elektromagnet dan hanya dapat bekerja pada tegangan yang berarus bolak balik
(AC). Transformator (Trafo) memegang peranan yang sangat penting dalam
pendistribusian tenaga listrik. Transformator menaikan listrik yang berasal dari
pembangkit listrik PLN hingga ratusan kilo Volt untuk di distribusikan, dan
kemudian Transformator lainnya menurunkan tegangan listrik tersebut ke
tegangan yang diperlukan oleh setiap rumah tangga maupun perkantoran yang
pada umumnya menggunakan Tegangan AC 220 Volt (Kho, 2019).
11
Sumber : https://teknikelektronika.com/pengertian-transformator-prinsip-kerja-trafo/
Gambar II.4. Transformator
4. Dioda (Diode)
Dioda adalah Komponen Elektronika Aktif yang berfungsi untuk
menghantarkan arus listrik ke satu arah dan menghambat arus listrik dari arah
sebaliknya. Diode terdiri dari 2 Elektroda yaitu Anoda dan Katoda (Kho, 2019).
Sumber : https://rumus.co.id/dioda
Gambar II.5. Dioda
12
Berdasarkan Fungsi Dioda terdiri dari :
a. Dioda Biasa atau Dioda Penyearah yang umumnya terbuat dari Silikon dan
berfungsi sebagai penyearah arus bolak balik (AC) ke arus searah (DC).
b. Dioda Zener (Zener Diode) yang berfungsi sebagai pengamanan rangkaian
setelah tegangan yang ditentukan oleh Dioda Zener yang bersangkutan.
Tegangan tersebut sering disebut dengan Tegangan Zener.
c. LED (Light Emitting Diode) atau Diode Emisi Cahaya yaitu Dioda yang
dapat memancarkan cahaya monokromatik.
d. Dioda Foto (Photo Diode) yaitu Dioda yang peka dengan cahaya sehingga
sering digunakan sebagai Sensor.
e. Dioda Shockley (SCR atau Silicon Control Rectifier) adalah Dioda yang
berfungsi sebagai pengendali .
f. Dioda Laser (Laser Diode) yaitu Dioda yang dapat memancar cahaya Laser.
Dioda Laser sering disingkat dengan LD.
g. Dioda Schottky adalah Dioda tegangan rendah.
h. Dioda Varaktor adalah dioda yang memiliki sifat kapasitas yang berubah-
ubah sesuai dengan tegangan yang diberikan.
5. Transistor
Transistor merupakan Komponen Elektronika Aktif yang memiliki
banyak fungsi dan merupakan Komponen yang memegang peranan yang sangat
penting dalam dunia Elektronik modern ini. Beberapa fungsi Transistor
diantaranya adalah sebagai Penguat arus, sebagai Switch (Pemutus dan
penghubung), Stabilitasi Tegangan, Modulasi Sinyal, Penyearah dan lain
sebagainya. Transistor terdiri dari 3 Terminal (kaki) yaitu Base/Basis (B),
Emitor (E) dan Collector/Kolektor (K). Berdasarkan strukturnya, Transistor
13
terdiri dari 2 Tipe Struktur yaitu PNP dan NPN. UJT (Uni Junction Transistor),
FET (Field Effect Transistor) dan MOSFET (Metal Oxide Semiconductor FET)
juga merupakan keluarga dari Transistor (Kho, 2019).
Sumber : https://electroino.com/transistor/
Gambar II.6. Transistor
6. Saklar (Switch)
Saklar adalah Komponen yang digunakan untuk menghubungkan dan
memutuskan aliran listrik. Dalam Rangkaian Elektronika, Saklar sering
digunakan sebagai ON/OFF dalam peralatan Elektronika (Kho, 2019).
Sumber : https://teknikelektronika.com/pengertian-saklar-listrik-cara-
kerjanya/
Gambar II.7. Saklar (Switch)
14
2.1.4. Sensor
Menurut (Ekojono et al., 2018) memberikan batasan bahwa “Sensor adalah
komponen yang dapat digunakan untuk mengkonversi suatu besaran tertentu menjadi
satuan analog sehungga dapat dibaca oleh suatu rangkaian elektronik.
1. Sensor LDR (Light Dependent Resistor)
Menurut (Sujartawa, 2018) mengemukakan bahwa “LDR (Light
Dependent Resistor) adalah salah satu jenis resistor yang nilai hambatannya
dipengaruhi oleh cahaya yang diterima olehnya. Besarnya nilai hambatan pada
LDR tergantung besar kecilnya cahaya yang diterima oleh LDR itu sendiri.
LDR sering disebut dengan alat atau sensor yang berupa resistor yang peka
terhadap cahaya. Biasanya LDR terbuat dari cadmium sulfida yaitu merupakan
bahan semikonduktor yang resistannya berupa menurut banyaknya cahaya
(sinar) yang mengenainya . Resistansi LDR pada tempat yang gelap biasanya
mencapai sekitar 10 M, dan di tempat terang LDR mempunyai resistansi yang
turun menjadi sekitar 150.
Sumber : Sujartawa
Gambar II.8. Sensor LDR
15
2. Sensor Hujan
Sensor hujan adalah jenis sensor yang berfungsi untuk mendeteksi
terjadinya hujan atau tidak, yang dapat difungsikan dalam segala macam
aplikasi dalam kehidupan sehari-hari. Dipasaran sensor ini dijual dalam bentuk
module sehingga hanya perlu menyediakan kabel jumper untuk dihubungkan ke
mikrokontroler atau Arduino (Faudin, 2019).
Sumber : http://indomaker.com/index.php/2019/01/17/mendeteksi-hujan-
menggunakan-rain-sensor-dan-arduino/
Gambar II.9. Sensor Hujan
2.1.5. Motor Servo
Menurut (Andrianto & Darwaman, 2017) memberi batasan bahwa
“Motor Servo adalah sebuah motor dengan sistem umpan balik tertutup, posisi
dari motor akan diinformasikan kembali kerangkaian kontrol yang ada didalam
motor servo”. Motor ini terdiri dari sebuah motor DC, serangkai roda gigi
(gear), potensiometer dan rangkaian kontrol. Potensiometer berfungsi untuk
menentukan batas sudut dari putaran servo. Sedangkan putaran sudut dari
16
sumbu motor servo diatur (dengan sinyal PWM) berdasarkan lebar pulsa
(berkisar antara 0.5ms s.d. 2ms) yang dikirim melalui kaki sinyal dari motor
servo. Secara umum terdapat 2 jenis motor servo, yaitu motor servo standard
(dapat berputar 180 derajat) dan motor servo Continous (dapat berputar 360
derajat).
Sumber : https://circuitdigest.com/article/servo-motor-basics
Gambar II.10. Motor Servo
2.1.6. LCD 16x2 (Liquid Crystal Display)
Menurut (Parastiwi et al.,) mengemukakan bahwa “LCD 16x2 adalah
LCD yang ini mempunyai batas maksimal batas maksimum 16 digit horizontal
dan 2 digit vertikal. LCD ini dihubungkan ke PORT B pada mikrokontroller
Atmega 16. Cara kerja dari LCD ini adalah merubah data ASCII menjadi data
karakter yang nantinya akan ditampilkan pada display LCD.
17
Sumber : https://www.nyebarilmu.com/cara-mengakses-modul-display-
lcd-16x2/
Gambar II.11. LCD 16x2
2.1.7. Arduino
Menurut (kadir, 2016) memberikan batasan bahwa “Arduino
merupakan perangkat keras sekaligus perangkat lunak yang memungkinkan
siapa saja melakukan pembuatan prototipe suatu rangkaian elektronika yang
berbasis mikrokontoler dengan mudah dan cepat. Arduino berbasis
mikrokontroler Atmega328P. Papan Arduino Uno bekerja dengan tegangan
masukan 7-12 V. Adapun tegangan kerja yang digunakan adalah 5 V. Papan ini
mengandung 14 pin digital dan 6 diantara pin-pin tersebut dapat bertindak
sebagai pin-pin PWM (Pulse Width Modulation), yang memungkinkan untuk
mendapatkan isyarat analog di pin digital. PWM berguna misalnya untuk
meredupkan LED atau mengatur kecepatan putar motor. Papan ini juga
menyediakan 6 pin analog.
1. Arduino Uno
Arduino Uno adalah board mikrokontroler berbasis ATmega328
(datasheet). Memiliki 14 pin input dari output digital dimana 6 pin input tersebut
dapat digunakan sebagai output PWM dan 6 pin input analog, 16 MHz osilator
18
kristal, koneksi USB, jack power, ICSP header, dan tombol reset. Untuk
mendukung mikrokontroler agar dapat digunakan cukup hanya menghubungkan
board Arduino Uno ke komputer dengan menggunakan kabel USB atau listrik
dengan AC yang ke adaptor DC atau baterai untuk menjalankannya. Uno
berbeda dengan semua board sebelumnya dalam hal koneksi USB to serial yaitu
menggunakan fitur Atmega8U2 yang diprogram sebagai konverter USB to serial
berbeda dengan board sebelumnya yang menggunakan chip FTDI driver USB to
serial (Musbihin, 2019).
Sumber : Musbihin
Gambar II.12. Arduino Uno
Nama “Uno” berarti satu dalam bahasa italia , untuk menandai
peluncuran Arduino 1.0. Uno dan versi 1.0 akan menjadi versi referensi dari
Arduino. Uno adalah yang terbaru dalam serangkaian board USB Arduino, dan
sebagai model referensi untuk platform Arduino, untuk perbandingan dengan
versi sebelumnya, lihat indeks board Arduino.
19
Dibawah ini adalah spesifikasi yang ada dalam Arduino Uno, yaitu :
1. Mikrocontroller : ATmega328
2. Operasi dengan daya : 5V
3. Input Tegangan : 7-12V
4. Output Tegangan : 6-20V
5. Digital I / O : Pin 14
6. Analog Input : Pin 6
7. Arus DC untuk pin I / O : Pin 40mA
8. Arus DC untuk pin 3,3V : Pin 50mA DC
9. Flash Memory : 32 KB (Atmega)
10. SRAM : 2 KB (Atmega328)
11. EEPROM : 1 KB (Atmega328)
12. Clock Speed : 16 MHz
2. Arduino Due
Arduino jenis ini menggunakan CPU Mikrokontroler buatan Atmel dengan
kode SAM3X8E ARM Cortex-M3. Arduino ini adalah arduino pertama yang
menggunakan CPU 32-bit sehingga memiliki kemampuan jauh lebih tinggi
daripada arduino tipe-tipe yang lain. Secara umum memiliki 54 Digital I/O, 12
Analog Input & 4 UART(hardware serial input). Koneksi menggunakan micro
USB.
20
Sumber : Musbihin
Gambar II.13. Arduino Due
3. Arduino Mega
Arduino Mega seperti halnya arduino uno hanya menggunakan ic
microcontroler yang lebih tinggi yaitu ATMEGA2560. Secara umum memiliki
54 digital I/O, 16 analog input dan 4 UART.
Sumber : Musbihin
Gambar II.14. Arduino Mega
21
4. Arduino Leonardo
Arduino yang memiliki nama unik seperti nama tokoh dalam film kura-
kura ninja. Secara garis besar mirip dengan arduino uno karena menggunakan
mikrokontroler ATmega328p. Sehingga arduino leonardo ini memiliki 20 digital
input output (I/O) dan koneksi menggunakan micro usb.
Sumber : Musbihin
Gambar II.15. Arduino Leonardo
5. Arduino Fio
Arduino fio ini sama halnya seperti arduino uno karena menggunakan
mikrokontroler ATMega328P, sehingga memiliki 14 digital input/output & 8
analog input. Hanya saja perbedaannya dengan arduino uno yaitu arduino fio
menggunakan koneksi micro usb serta terdapat pin untuk xbee yang
memungkinkan untuk komunikasi secara wireless atau tanpa kabel.
Sumber : Musbihin
Gambar II.16. Arduino Fio
22
6. Arduino Lilypad
Arduino lilypad ini sama halnya dengan arduino uno karena
menggunakan mikrokontroler atmega328p hanya saja memiliki keunikan dalam
bentuk boardnya yang bukan persegi tapi berbentuk lingkaran serta menggunakan
koneksi micro usb. Dalam banyak keterangan arduino ini cocok untuk aplikasi yang
berhubungan dengan kain/tekstil.
Sumber : Musbihin
Gambar II.17. Arduino Lilypad
2.2. Perangkat Lunak
Menurut (Asnawati & Utami, 2015) mengemukakan bahwa “Perangkat
Lunak (software) adalah program yang berisi kumpulan instruksi untuk melakukan
proses pengolahan data. Software sebagai penghubung antara manusia sebagai
pengguna dengan perangkat keras komputer, berfungsi menerjemahkan bahasa
manusia ke dalam bahasa mesin sehingga perangkat keras komputer memahami
keinginan pengguna dan menjalankan instruksi yang diberikan dan selanjutnya
memberikan hasil yang diinginkan manusia tersebut.
23
2.2.1. Bahasa Pemograman
Bahasa Pemograman dapat dikatakan sebagai sekumpulan instruksi yang
diberikan kepada komputer untuk dapat melaksanakan tugas-tugas tertentu dalam
menyelesaikan suatu permasalahan. Bahasa pemograman sering juga disebut dengan
bahasa komputer (jagad.id, 2019).
Bahasa pemograman memiliki beberapa tingkatan yang harus anda tahu
sebelum mengenal lebih jauh tentang bahasa pemograman, yaitu :
1. Bahasa Tingkat Rendah : bahasa tingkat rendah merupakan bahasa yang masih
jauh sekali dari bahasa manusia, susah untuk mengerti. Bahasa yang masuk ke
dalam tingkatan ini adalah bahasa Assembly.
2. Bahasa Tingkat Tinggi : bahasa tingkat tinggi merupakan bahasa yang
mendekati bahasa manusia, mudah untuk mengerti. Bahasa yang masuk ke
dalam tingkatan ini adalah bahasa pascal, Basic, PHP< dan Java.
3. Bahasa Tingkat Menengah : bahasa tingkat menengah merupakan paduan antara
bahasa tingkat tinggi dan rendah, bahasanya tidak sulit maupun tidak mudah
untuk di mengerti manusia.
a. Menurut (Andrianto & Darwaman, 2017) Struktur dasar dalam pemograman
arduino sangatlah simpel dan terdiri dari dua fungsi, yaitu fungsi persiapan
[setup()] dan fungsi utama [loop()].
Setup() adalah persiapan sebelum eksekusi program.
Loop() adalah tempat menulis program utama yang akan di eksekusi.
b. Fungsi setup() digunakan untuk mendefinisikan variabel-variabel yang
digunakan dalam program. Fungsi ini berjalan pertama kali ketika program
dijalankan, selanjutnya terdapat loop() adalah program inti / utama dari arduino
24
yang dijalankan secara terus menerus baik pembaaan input maupun pengaktifan
output. Program ini adalah inti dari semua program dalam arduino.
c. Loop()
Setelah memanggil fungsi setup(), program yang berada dalam fungsi loop()
akan dieksekusi secara terus menerus.
d. Function
Fungsi adalah sekumpulan blok instruksi yang memiliki nama sendiri dan blok
instruksi ini akan di eksekusi ketika fungsi ini dipanggil. Penulisan fungsi harus
didahului dengan tipe fungsi setelah itu nama fungsi dan kemudian pramaternya,
bila tidak ada nilai yang dihasilkan dari fungsi tersebut, tipe fungsinya adalah
void().
Contoh :
Fungsi dengan nama delayVal() untuk menentukan nilai delay dalam program
membaca nilai potensiometer. Dengan mendeklarasikan variabel v, v adalah
nilai yang membaca nilai potensiometer yang memiliki nilai antara 0 sampai
1023 kemudian dibagi 4 sehingga nilainya antara 0 sampai 225. Kemudian nilai
v dikirim ke program utama / program pemanggil.
Contoh :
Int delayVal() {
Int v; // membuat variabel local v
v = analogRead(pot); // membaca nilai analog potensiometer
v/ = 4; // mengkonversi nilai 0-1023 menjadi 0-225
return v; // menghasilkan nilai v
25
e. { } (kurung kurawal)
Digunakan untuk mengawali dan mengakhiri sebuah fungsi, blok instruksi
seperti loop(), void() dan instruksi for dan if.
Contoh :
int a() {
a =0; //instruksi
}
f. ; (titik koma)
Digunakan sebagai tanda akhir dari instruksi.
Contoh :
int x = 13; // mendefinisikan variabel x sebagai integer bernilai 13
g. /* */ blok komentar
Digunakan untuk memberi komentar pada program yang memiliki baris
lebih dari satu, biasanya digunakan untuk membantu memahami program
yang dibuat. Diawali dengan tanda /* dan diakhiri dengan tanda \*. Apapun
yang ditulis dengan dalam blok komen ini tidak akan berpengaruh dengan
program yang telah dibuat dan tidak akan menghabiskan memori.
Contoh :
/* ini adalah blok komen jangan lupa untuk menutup komen ini */
h. // Komentar Baris
Digunakan untuk memberi komentar per baris program, sama seperti blok
komentar, komentar baris tidak akan menghabiskan memori dan tidak
berpengaruh pada program.
26
Contoh :
// ini adalah contoh komen baris
i. Variabel
adalah ekspresi yang digunakan untuk mewakili suatu nilai yang digunakan
program . Suatu variabel akan menampung nilai sesuai definisi yang telah
dibuat.
Contoh :
// variabel “x” akan menampung nilai input analog pada pin A0
Int x = 0; // mendefinisikan variabel x bertipe integer
//x akan menampung data tang dibaca oleh pin A0
x = analogRead (A0);
Variabel perlu didefinisikan terlebih dahulu sebelum digunakan. Variabel
didefinisikan sesuai dengan tipe data nilainya seperti int, float, long dll.
Variabel hanya perlu didefinisikan satu kali saja tetapi nilainya dapat berubah
sesuai dengan perhitungan atau melalui program.
Contoh :
Mendefinisikan variabel “x” dengan nilai awal 0 dan tipe data integer
int x = 0; //variabel x bertipe data integer dengan nilai awal 0
Ada beberapa tipe data variabel, yaitu :
1) Byte
Byte menyimpan data numerik bernilai 8 bit, tidak memiliki nilai desimal,
data bertipe byte nilainya berkisar 0-255.
27
Contoh :
Byte x= 180;
2) int
integer adalah tipe data utama yang menyimpan data angka bernilai 16 bit
tidak memiliki nilai desimal, data bertipe int nilainya berkisar 32,767
sampai -32,768.
Contoh :
Int x = 1500; // mendefinisikan “x” bertipe integer
3) long (long)
adalah tipe data integer yang memiliki kisaran nilai yang lebih tinggi,
memiliki nilai 32 bit dengan nilai berkisar 2,147,483,647 sampai -
2,147,483,648.
Contoh :
long x = 9000 // mendefinisikan “x” bertipe long
4) float
adalah suatu tipe data numerik yang memiliki nilai desimal, memiliki
angka bernilai 32 bit.
Contoh :
float x=3,14; // mendefinisikan “x” bertipe float
j. Array
Array adalah kumpulan nilai-nilai yang diakses dengan nomor indeks. Setiap
dalam array dapat dipanggil dengan memanggil nama array dan nomor
indeks dari nilai tersebut. Nomor index dimulai dari 0 (nol). Variabel array
28
harus dideklarasikan sebelum dapat digunakan. Untuk mendeksklarasikan
array harus dengan menyatakan tipe array dan ukuran, kemudian
memberikan nilai pada posisi indeks.
Contoh :
// mendeklarasikan array integer 6 nilai dengan nomor index
int myArray [5];
myArray [3] = 10; // memberikan nilai indeks ke-4 dengan nilai 10
Untuk mengambil nilai dari array dengan menuliskan nama variabel array
dan posisi nomor index.
Contoh :
x = myArray [3]; // x sekarang sama dengan 10
Array sering digunakan pada program loop, dan sering dikombinasikan
dengan counter yang digunakan sebagai penunjuk posisi indeks untuk nilai
array.
Contoh :
Menggunakan array yang memiliki nilai yang berbeda-beda dan
mengirimkannya sebagai nilai PWM pada pin 10 dengan menggunakan
counter.
int ledPin = 10; // LED pada pin 10
//array 8 nilai
byte flicker [] = {180, 30, 255, 200, 10, 90, 150, 60};
void setup() {
pinMode (ledPin, OUTPUT); // set pin OUTPUT
29
}
void loop () {
for (int i = 0; i <9; i++) // loop sama dengan jumlah
{
analogWrite (ledPin, flicker [i]); // mengirim nilai indeks ke loop delay
(200); // jeda 200ms
}
}
k. Aritmatika meliputi penambahan, pengurangan, perkalian, dan pembagian.
Contoh :
y = y + 3;
x = x – 7;
i = j * 6;
r = r / 5;
l. Operasi Gabungan
adalah operasi matematika gabungan yang biasa digunakan dalam program.
x ++ // sama dengan x = x+1, atau menambah nilai dengan 1
x -- // sama dengan x = x-1, atau mengurangi nilai x dengan 1
x + = y // sama dengan x = x+y, x ditambah y hasilnya simpan pada x
x - = y // sama dengan x = x-y, x dikurang y hasilnya simpan pada x
x * = y // sama dengan x = x*y, x dikali y hasilnya simpan pada x
x / = y // sama dengan x = x/y, x dibagi y hasilnya simpan pada x
m. Operator Pembanding
Operator untuk membandingkan 2 konstanta atau variabel yang sering
digunakan untuk menguji suatu kondisi benar atau salah.
30
x == y // x sama dengan y
x =! y // x tidak sama dengan y
x < y // x adalah kurang dari y
x > y // x adalah lebih besar dari y
x <= y // x adalah kurang dari atau sama dengan y
x >= y // x adalah lebih dari atau sama dengan y
n. Operator Logika
Operator logika digunakan untuk membandingkan dua ekspresi TRUE atau
FALSE, tergantung pada operator. Ada tiga operator logika, AND, OR dan
NOT, yang sering digunakan dalam pertanyaan if.
Contoh :
if (x>0 && x <5) // bernilai benar hanya jika kedua ekspresi benar
if (x>0 | | y >0) // bernilai benar hanya jika salah satu ekspresi benar
if (! (x>0)) // bernilai benar jika ekspresi salah
o. TRUE / FALSE
adalah konstanta boolean yang mendefinisikan nilai logika. FALSE dapat
didefinisikan sebagai 0 (nol) sedangkan TRUE sering didefinisikan 1, tetapi
dalam hal lain dapat didefinisikan sebagai nol.
Contoh :
if (b == TRUE) {
digitalWrite (0, HIGH);
}
31
p. HIGH / LOW
Konstanta ini menentukan nilai pin sebagai HIGH atau LOW dan digunakan
ketika membaca atau menulis ke pin digital. HIGH didefinisikan sebagai
tingkat 0/OFF/0 Volt.
Contoh :
digitalWrite (13, HIGH);
q. Input / Output
Konstanta yang digunakan pada fungsi pinMode() untuk menentukan mode
pin digital sebagai input atau output.
Contoh :
pinMode (13, OUTPUT);
r. if
Instruksi untuk menguji apakah suatu kondisi tertentu telah tercapai, seperti
membandingkan nilai variabel berada diatas jumlah tertentu, dan
menjalankan setiap instruksi di dalam kurung jika pertanyaan tersebut benar.
Jika kondisi tidak terpenuhi maka program dalam kurung akan dilewati.
Contoh :
// membandingkan nilai variabel dengan nilai tertentu
if (x > 0 ) {
Serial.print (“POSITIF”);
}
s. if...... else
Memungkinkan untuk mengeksekusi instruksi yang lain jika suatu kondisi
tidak terpenuhi.
32
Contoh :
if (inputPin == HIGH) {
digitalWrite (0, HIGH); }
else {
digitalWrite (0, LOW); }
else juga dapat digunakan untuk kondisi lebih dari satu.
Contoh :
if (inputPin <500) {
digitalWrite(0, LOW); }
Contoh :
else if (inputPin >= 1000) {
digitalWrite (1, HIGH); }
else {
digitalWrite (2, HIGH); }
t. while
Fungsi while akan menjalankan program secara terus menerus hingga suatu
kondisi pada fungsi while bernilai salah atau false.
Contoh :
while (x> 1) {
digitalWrite (0, HIGH); }
u. do while
Perintah untuk melakukan secara terus menerus hingga mencapai suatu
kondisi yang tidak memadai kondisi yang tidak diinginkan.
33
Contoh :
do {
digitalWrite(0, HIGH);
} while (x > 1);
v. pinMode(pin, Mode)
Instruksi yang digunakan pada fungsi void setup() untuk menginisialisasi atau
pin sebagai input ataupun output.
Contoh :
pinMode (3, OUTPUT); // pindigital 3 diinsialisasi sebagai output
w. digitalRead(pin)
Instruksi yang membaca input dari suatu pin yang hasilnya berupa logika
HIGH atau LOW. Pin yang diartikan sebagai variabel atau konstanta 0 – 13
yang mewakili input dan output dari board arduino.
Contoh :
value = digitalRead(Pin);
x. digitalWrite
Instruksi yang digunakan untuk memberi nilai output HIGH (1) dan LOW (0)
pada pindigital. Pindigital dapat diartikan sebagai suatu variabel atau
konstanta 0 – 13 yang mewakili input atau output dari board arduino.
Contoh :
digitalWrite(pin, HIGH);
34
y. analogRead(pin)
Instruksi yang membaca nilai input analog dengan resolusi 10 bit. Instruksi
ini hanya berlaku untuk pin A0 – A5 yang mampu membaca nilai analog
karena beresolusi 10 bit maka pembacaan nilai digital antara 0 sampai 1023.
Contoh :
value = analogRead (pin);
z. analogWrite(pin, value)
instruksi yang berfungsi untuk memberi nilai PWM (Pulse Width
Modulation) pada output. Pada board arduino serverino hanya pin 9, 10 dan
11 saja yang mampu menghasilkan output PWM. Nilai PWM berkisar antara
0-225.
Contoh :
analogWrite(pin, 255);
2.2.2. Software Editing
1) Arduino IDE
Menurut (Andrianto & Darmanto, 2017) menemukakan bahwa “Software
IDE Arduino adalah pengendali mikro single-board yang bersifat open-source,
diturunkan dari platform Wiring, dirancang untuk memudahkan penggunaan
elektronik dalam berbagai bidang, hardware-nya menggunakan processor Atmel
AVR dan software-nya memiliki bahasa pemograman C++ yang sederhana dan
fungsi-fungsinya yang lengkap, sehingga Arduino dipelajari oleh pemula.
35
Sumber : Penulis
Gambar II.18. Tampilan Awal Arduino IDE
Sumber : Penulis
Gambar II.19. Tampilan Kodingan Arduino IDE
36
Tabel II.2. Software Arduino IDE
NO Tools Fungsi Software Arduino IDE
1 Verivy Berfungsi untuk melakukan checking
kode.
2 Upload Berfungsi untuk melakukan
kompilasi program.
3 New Berfungsi untuk membuat sketch
baru.
4 Open Berfungsi untuk membuka sketch dan
membuka kembali untuk dilakukan
editing atau upload ulang ke
Arduino.
5 Save Berfungsi untuk menyimpan sketch
6 Serial Monitor Berfungsi untuk membuka serial
monitor.
1) File
a) New berfungsi untuk membuat membuat sketch baru dengan bare minimum
yang terdiri void setup() dan void loop().
b) Open berfungsi membuka sketch yang pernah dibuat di dalam drive.
c) Open Recent merupakan menu yang berfungsi mempersingkat waktu
pembukaan file atau sketch yang baru-baru ini sudah dibuat.
d) Sketchbook berfungsi menunjukan hirarki sketch yang kamu buat termasuk
struktur foldernya.
37
e) Example berisi contoh-contoh pemrograman yang disediakan pengembang
Arduino, sehingga kamu dapat mempelajari program-program dari contoh
yang diberikan.
f) Close berfungsi menutup jendela Arduino IDE dan menghentikan aplikasi.
g) Save berfungsi menyimpan sketch yang dibuat atau perubahan yang dilakukan
pada sketch
h) Save as berfungsi menyimpan sketch yang sedang dikerjakan atau sketch
yang sudah disimpan dengan nama yang berbeda.
i) Page Setup berfungsi mengatur tampilan page pada proses pencetakan.
j) Print berfungsi mengirimkan file sketch ke mesin cetak untuk dicetak.
k) Preferences disini dapat merubah tampilan interface IDE Arduino.
l) Quit berfungsi menutup semua jendela Arduino IDE. Sketch yang masih
terbuka pada saat tombol Quit ditekan, secara otomatis akan terbuka pada saat
Arduino IDE dijalankan.
2) Edit
a) Undo/Redo berfungsi untuk mengembalikan perubahan yang sudah dilakukan
pada Sketch beberapa langkah mundur dengan Undo atau maju dengan Redo.
b) Cut berfungsi untuk meremove teks yang terpilih pada editor dan
menempatkan teks tersebut pada clipboard.
c) Copy berfungsi menduplikasi teks yang terpilih kedalam editor dan
menempatkan teks tersebut pada clipboard.
d) Copy for Forum berfungsi melakukan copy kode dari editor dan melakukan
formating agar sesuai untuk ditampilkan dalam forum, sehingga kode tersebut
bisa digunakan sebagai bahan diskusi dalam forum.
38
e) Copy as HTML berfungsi menduplikasi teks yang terpilih kedalam editor dan
menempatkan teks tersebut pada clipboard dalam bentuk atau format HTML.
Biasanya ini digunakan agar code dapat diembededdkan pada halaman web.
f) Paste berfungsi menyalin data yang terdapat pada clipboard, kedalam editor.
g) Select All berfungsi untk melakukan pemilihan teks atau kode dalam halaman
editor.
h) Comment/Uncomment, berfungsi memberikan atau menghilangkan tanda //
pada kode atau teks, dimana tanda tersebut menjadikan suatu baris kode
sebagai komen dan tidak disertakan pada tahap kompilasi.
i) Increase/Decrease Indent, berfungsi untuk mengurangi atau menambahkan
indentasi pada baris kode tertentu. Indentasi adalah “tab”.
j) Find berfungsi memanggil jendela window find and replace, dimana kamu
dapat menggunakannya untuk menemukan variabel atau kata tertentu dalam
program atau menemukan serta menggantikan kata tersebut dengan kata lain.
k) Find Next berfungsi menemukan kata setelahnya dari kata pertama yang
berhasil ditemukan.
l) Find Previous berfungsi menemukan kata sebelumnya dari kata pertama yang
berhasil ditemukan.
3) Sketch
a) Verify/Compile, berfungsi untuk mengecek apakah sketch yang kamu buat
ada kekeliruan dari segi sintaks atau tidak. Jika tidak ada kesalahan, maka
sintaks yang kamu buat akan dikompile kedalam bahasa mesin.
b) Upload berfunsi mengirimkan program yang sudah dikompilasi ke Arduino
Board.
39
c) Upload Using Programmer menu ini berfungsi untuk menuliskan bootloader
kedalam IC Mikrokontroler Arduino. Pada kasus ini kamu membutuhkan
perangkat tambahan seperti USB Asp untuk menjembatani penulisan program
bootloader ke IC Mikrokontroler.
d) Export Compiled Binary berfungsi untuk menyimpan file dengan ekstensi
.hex, dimana file ini dapat disimpan sebagai arsip untuk di upload ke board
lain menggunakan tools yang berbeda.
e) Show Sketch Folder, berfungsi membuka folder sketch yang saat ini
dikerjakan.
f) Include Library berfungsi menambahkan library/pustaka kedalam sketch
yang dibuat dengan menyertakan sintaks #include di awal kode. Selain itu
kamu juga bisa menambahkan library eksternal dari file .zip kedalam Arduino
IDE.
g) Add File berfungsi untuk menambahkan file kedalam sketch arduino (file
akan dikopikan dari drive asal).
4) Tools
a) Auto Format berfungsi melakukan pengaturan format kode pada jendela
editor
b) Archive Sketch berfungsi menyimpan sketch kedalam file .zip
c) Fix Encoding & Reload berfungsi memperbaiki kemungkinan perbedaan
antara pengkodean peta karakter editor dan peta karakter sistem operasi yang
lain.
d) Serial Monitor berfungsi membuka jendela serial monitor untuk melihat
pertukaran data.
e) Board berfungsi memilih dan melakukan konfigurasi board yang digunakan.
40
f) Port memilih port sebagai kanal komunikasi antara software dengan
hardware.
g) Programmer menu ini digunakan ketika kamu hendak melakukan
pemrograman chip mikrokontroller tanpa menggunakan koneksi Onboard
USB-Serial. Biasanya digunakan pada proses burning bootloader.
h) Burn Bootloader mengizinkan kamu untuk mengkopikan program bootloader
kedalam IC mikrokontroler.
5) Help
Disini bisa mendapatkan bantuan terhadap kegalauan mengenai
pemrograman. Menu help berisikan file-file dokumentasi yang berkaitan
dengan masalah yang sering muncul, serta penyelesaiannya. Selain itu pada
menu help juga diberikan link untuk menuju Arduino Forum guna
menanyakan serta mendiskusikan berbagai masalah yang ditemukan.
6) Sketchbook
Arduino Software IDE, menggunakan konsep sketchbook, dimana sketchbook
menjadi standar peletakan dan penyimpanan file program. Sketch yang telah
kamu buat dapat dibuka dengan dari File -> Sketchbook atau dengan menu
Open.
7) Tabs, Multiple Files, dan Compilations
Mekanisme ini mengijinkan kamu untuk melakukan menejemen sketch,
dimana lebih dari satu file dibuka dalam tab yang berbeda.
41
8) Uploading
Merupakan mekanisme untuk mengkopikan file .hex atau file hasil kompilasi
kedalam IC mikrokontroler Arduino. Sebelum melakukan uploading, yang
perlu kamu pastikan adalah jenis board yang kamu gunakan dan COM Ports
dimana keduanya terletak pada menu Tools -> Board dan Tools -> Port.
9) Library
Library/ Pustaka merupakan file yang memberikan fungsi ekstra dari sketch
yang kamu buat, semisal agar Arduino dapat bekerja dengan hardware
tertentu dan melakukan proses manipulasi data. Untuk menginstal Library
pihak ketiga alias Library bukan dari Arduino, dapat dilakukan dengan
Library Manager, Import file .zip, atau kopi paste secara manual di folder
libraries pada Documents di platform Windows.
10) Serial Monitor
Serial monitor merupakan suatu jendela yang menunjukan data yang
dipertukaran antara arduino dan komputer selama beroperasi, sehingga kamu
bisa menggunakan serial monitor ini untuk menampilkan nilai hasil operasi
atau pesan debugging. Selain melihat data, kamu juga bisa mengirimkan data
ke Arduino melalui serial monitor, caranya dengan memasukkan data pada
text box dan menekan tombol send untuk mengirimkan data. Hal penting yang
harus kamu perhatikan adalah menyamakan baudrate antara serial monitor
dengan Arduino board. Untuk menggunakan kemampuan komunikasi serial
ini, pada Arduino, di bagian fungsi void setup(), diawali dengan instruksi
Serial.begin diikuti dengan nilai baudrate.
42
11) Preferences
Preferences mengatur tentang beberapa hal dalam penggunaan Arduino
Software IDE, seperti ukuran font, lokasi dimana menyimpan sketcbook,
bahasa yang digunakan pada Arduino Software IDE, dan masih banyak lagi.
mengatur preferences pada menu file yang dapat dijumpai pada platform
Windows dan Linux.
12) Language Support
Language Support merupakan pilihan bahasa yang dapat disesuaikan pada
Software Arduino IDE. Language Support ini dapat ditemukan pada menu
file -> preferences atau dengan menekan Ctrl+Comma.
13) Boards
Pemilihan board pada Arduino Software IDE, berdampak pada dua parameter
yaitu kecepatan CPU dan baudrate yang digunakan ketika melakukan
kompilasi dan meng-upload sketch.
2) Fritzing
Fritzing adalah salah satu dari perangkat lunak gratis yang dapat
dipergunakan dengan baik untuk belajar elektronika. Perangkat lunak ini bisa
bekerja baik di lingkungan sistem operasi GNU/Linux maupun Microsoft
Windows. Masing-masing software memiliki keunggulannya masing-masing bagi
setiap tipe pengguna dan keperluan. Untuk pelajaran elektronika daya ada
beberapa hal yang menarik dari Fritzing.
43
Pertama, sebagaimana yang telah diungkap Fritzing juga dapat bekerja di
sistem ber-OS GNU/Linux seperti Fedora, Debian, Ubuntu, atau Mint. Ini penting
karena OS ini bersifat gratis sehingga memungkinkan untuk dijadikan platform
belajar yang dapat dipakai secara luas.
Kedua, Fritzing memberikan fasilitas pengguna untuk melakukan
perancangan sistem di breadboard. Ini sangat memudahkan bagi pengguna yang
membutuhkan alat bantu perancangan atau dokumentasi pada sistem yang
menggunakan breadboard.
Ketiga, Fritzing terus menerus diperbaharui (updated) termasuk untuk
komponen, terutama komponen yang popular. Dengan begitu pengguna akan
semakin mudah untuk melakukan perancangan, terutama untuk perancangan
dengan menggunakan sistem papan seperti Arduino.
Keempat, Fritzing tidak hanya memiliki fitur perancangan pada breadboard
sebagai tambahan dari fitur perancangan schematic dan PCB tetapi juga
menyediakan tempat untuk melakukan coding (misalnya untuk sistem Arduino).
Sehingga Fritzing cukup lengkap untuk mengembangkan sistem prototipe
maupun untuk membantu proses belajar.
44
Sumber : Penulis
Gambar II.20. Aplikasi Fritzing
Top Related