Page 1
5
BAB II
LANDASAN TEORI
Dalam proses pembuatan alat robotika diperlukan perancangan dan
perencanaan terhadap pembuatan alat tersebut, salah satunya adalah penentuan
komponen-komponen elektronika dan modul mikrokontroler yang akan digunakan
pada alat tersebut. Dan tidak hanya perangkat kerasnya (hardware) saja yang
memerlukan perencanaan dan penentuan, namun juga terhadap perangkat lunaknya
(software) yang akan digunakan untuk memprogram alat tersebut.
2.1. Perangkat Keras
2.1.1. IC (Integrated Circuit)
Menurut Tim Pustena ITB (2011:27) IC (Integrated Circuit) dapat
dianalogikan sebagai “kumpulan resistor, dioda, dan transistor dengan kombinasi
tertentu dalam sebuah chip silikon berukuran mini. Penemuan IC di abad ke-20
sangat membantu penyederhanaan ratusan komponen dalam sepotong
semikonduktor.”.
1. IC Regulator
IC regulator, adalah IC yang menstabilkan tegangan pada level tertentu. IC
ini biasanya digunakan pada rangkaian power supply atau catu daya, guna
menstabilkan tegangan, dan bebas dari segala gangguan seperti noise ataupun
fluktuasi (naik turun). IC Regulator menstabilkan tegangan pada level tertentu
secara otomatis, bergantung dari kode yang tertera pada badan IC, sebagai contoh
IC Regulator 7805, maka output tegangannya hanya 5 volt.
Page 2
6
Sumber : http://positrontech.in/wp-content/uploads/2017/02/download.jpg
Gambar II.1 Simbol dan contoh IC Regulator
2. PC 817
IC optocoupler sederhana dan ekonomis untuk digunakan pada rangkaian
elektronika yang membutuhkan proteksi / isolasi terhadap tegangan tinggi dari
modul / peralatan eksternal, misalnya pada aplikasi relay.
Prinsip kerja optocoupler adalah memisahkan dua bagian rangkaian
elektronika (biasanya berbeda tegangan dalam skala besar walaupun tidak harus
demikian) menjadi dua bagian terpisah secara elektrik. Signal kendali antara dua
bagian tersebut ditransmisikan secara optik menggunakan cahaya, pada prakteknya
menggunakan LED sebagai pemancar cahaya dan phototransistor / photodiode /
LDR sebagai penerima signal. LED dan komponen penerima cahaya ini disatukan
dalam sebuah komponen terintegrasi / integrated circuit dalam bentuk IC
optocoupler seperti PC 817 ini.
Page 3
7
Sumber : https://ecs7.tokopedia.net/img/product-1 /2016/1/13/11730516/11730516_c58dcdd4-
2a7e-4ff9-82d1-0fd2bd45ee7c.jpg
Gambar II.2 PC 817
3. IC ATMega 328
ATMega328 adalah chip mikrokontroler 8 bit keluaran atmel yang
mempunyai arsitektur RISC (Reduce Instruction Set Computer). Chip ini memiliki
beberapa fitur antara lain :
a. 130 macam instruksi yang hampir semuanya dieksekusi dalam satu siklus
clock.
b. 32 x 8 bit register serba guna.
c. Kecepatan mencapai 16 MIPS (Microprocessor without Interlocked Pipeline
Stages) dengan clock 16 Mhz.
d. 32 KB flash memory dan pada Arduino memiliki bootloader yang
menggunakan 2 KB dari flash memory sebagai bootloader.
e. EEPROM (Erasable Programmable Read-Only Memory) sebesar 1 KB,
sebagai tempat penyimpanan data semi permanen. Karena EEPROM tetap
dapat menyimpan data meskipun catu daya dimatikan.
f. SRAM (Static Random-Access Memory) sebesar 2 KB.
Page 4
8
g. Memiliki pin I/O digital sebanya 14 pin.
IC ATMega 328 memiliki arsitektur Harvard, yaitu memisahkan memori
untuk data sehingga memaksimalkan kerja dan parallelism.
Sumber : http://www.learningaboutelectronics.com/Articles/Atmega328-pinout.php
Gambar II.3 IC ATMega 328
Instruksi-instruksi dalam memori pemrograman dieksekusi dalam satu jalur
tunggal, dimana pada saat satu instruksi dikerjakan, instruksi berikutnya sudah
diambil dari memori program. Konsep inilah yang memungkinkan instruksi-
instruksi dapat dieksekusi dalam setiap satu siklus clock.
Selain itu chip tersebut memiliki 23 jalur general purpose I/O (input / output),
32 buah register digunakan untuk mendukung operasi pada ALU (Arithmatic Logic
Unit) yang dapat dilakukan dalam satu siklus, 3 buah timer / counter dengan mode
perbandingan, interupt internal dan external, serial programmable USART, 2-wire
interface serial, serial port SPI, 6 buah channel 10 bit A / D converte,
programmable watchdog timer dengan oscilator internal, dan lima power saving
mode. Chip bekerja pada tegangan antara 1,8 volt ~ 5,5 volt. Maximum operating
frequency adalah 20 Mhz.
Page 5
9
Sumber : http://www.learningaboutelectronics.com/Articles/Atmega328-pinout.php
Gambar II.4 Pin-pin ATMega 328
2.1.2. Sumber Tegangan
Menurut Winarno dan Arifianto (2011:31) sumber tegangan adalah “suatu
alat atau sistem yang dapat menghasilkan energi listrik”.
Sumber tegangan memiliki dua jenis yaitu :
1. Sumber Arus Searah (Direct Current / DC)
Menurut Winarno dan Arifianto (2011:31) sumber arus searah adalah “arus
listrik yang bernilai konstan dan mengalir dari potensial tinggi (+) ke potensial
rendah (-)”.
Page 6
10
Besar arus listrik searah umumnya berkisar 1,5 volt hingga 24 volt. Sumber
tegangan searah merupakan sumber tegangan yang tidak mengalami perubahan
terhadap waktu. Arus listrik searah biasa digunakan pada baterai, dan aki.
a) Baterai
Merupakan salah satu contoh sumber tegangan dengan tegangan dan ukuran
yang kecil. Baterai mengandung kutub positif (+), dan kutub negatif (-), sehingga
pemasangannya tidak boleh terbalik. Kutub positif baterai dihubungkan dengan
potensial tinggi (+) suatu rangkaian eletronika, dan kutub negatif baterai
dihubungkan dengan potensial rendah (-) suatu rangkaian elektronika. Besar
tegangan pada baterai antara lain 1,5 volt, dan 9 volt.
Sumber : http://1.bp.blogspot.com/-u_5obJJqHjQ/UjU4l8dI2tI/AAAAAAAACwg/1bF00rnJPB4
/s1600/standard-battery-sizes.jpg
Gambar II.5 Baterai
Page 7
11
b) Aki
Sama seperti baterai. Aki memiliki kutub positif (+), dan kutub negatif (-),
namun daya yang dapat ditampung aki lebih besar dari pada baterai. Aki memiliki
dua jenis, yaitu :
1) Aki Kering
Aki kering tidak menggunakan pengisian cairan, ukuran aki ini lebih kecil
dari aki basah. Aki kering harus di-charge selama beberapa jam sesuai kapasitasnya
sebelum digunakan.
2) Aki Basah
Aki basah diisi menggunakan cairan aki zuur, dan harus diisi ulang setelah
habis digunakan, biasanya pengunaan aki basah adalah motor dan mobil.
Sumber : http://jagatotomotif.id/wp-content/uploads/2015/12/aki-kering-vs-aki-basah.jpg
Gambar II.6 Aki kering dan Aki basah
Page 8
12
2. Sumber Arus Bolak-Balik (Alternating Current / AC)
Menurut Winarno dan Arifianto (2011:32) sumber arus bolak-balik adalah
“arus listrik dengan besaran dan arah yang berubah-ubah secara bolak-balik”.
Arus AC mengalir bolak-balik dari potensial tinggi (+) ke potensial rendah (-
) dan dari potensial rendah ke potensial tinggi (+). Dalam satu detik, arus AC
berbolak balik sebanyak 50 hingga 60 kali. Gelombang listrik pada arus bolak-balik
berbentuk sinusoidal, gelombang segi empat, atau gelombang segitiga. Contoh
penggunaan arus bolak-balik yaitu pada jaringan PLN. Besar arus listrik bolak-balik
berkisar antara 110 hingga 220 volt dengan frekuensi 50 hertz.
2.1.3. Komponen Elektronika
1. Resistor
Menurut Nalwan (2012:28) “Resistor merupakan komponen elektronika pasif
yang mempunyai fungsi dasar untuk menahan arus listrik atau membagi tegangan”.
Ada berbagai jenis resistor, namun kita hanya akan membahas jenis resistor
yang digunakan pada rangkaian digital yaitu resistor karbon dan resistor pasang
permukaan (Surface Mount Device / SMD).
Sumber : http://zrf-community.blogspot.co.id/p/blog-page_15.html
Gambar II.7 Simbol Resistor
Page 9
13
a) Resistor Karbon
Resistor karbon terdiri atas sebuah unsur resitif berbentuk tabung dengan
kawat atau tutup logam pada kedua ujungnya. Badan resistor dilindungi dengan cat
atau plastik. Resistor komposisi karbon lawas mempunyai badan yang tidak
terisolasi, kawat penghubung dililitkan disekitar ujung unsur resistif dan kemudian
disolder. Resistor yang sudah jadi dicat dengan kode warna harganya.
1) Nilai hambatan (ohm).
2) Daya (watt), untuk rangkaian digital yang biasanya menggunakan arus yang
sangat lemah, parameter ini tidak perlu di perhatikan. Namun, apabila arus
yang dilewatkan pada resistor ini cukup besar (mendekati 1 ampere), nilai daya
harus diperhatikan.
3) Toleransi (%), hal ini perlu diperhatikan untuk rangkaian elektronika yang
membutuhkan ketelitian tinggi seperti pada pengukuran yang melibatkan nilai
resistansi sebagai variabel dari hasil pengukuran tersebut.
4) Koefisien suhu (gelang kelima), parameter ini hanya digunakan untuk
rangkaian elektronika di tempat-tempat yang memiliki suhu yang sangat
ekstrem. Gelang kelima ini jarang terlihat pada resistor.
Untuk mengukur nilai hambatan pada resistor karbon dapat dilakukan dengan
membaca gelang-gelang warna pada tabel warna. Gelang pertama, dan gelang
kedua merupakan informasi dua digit harga resistansi. Gelang ketiga merupakan
pengali (jumlah nol yang ditambahkan setelah dua digit resistansi), dan gelang
keempat merupakan toleransi harga resistansi. Kadang-kadang gelang kelima
Page 10
14
menunjukkan koefisien suhu, tetapi ini harus dibedakan dengan sistem lima warna
sejati yang menggunakan tiga digit resistansi.
Sumber : http://skemaku.com/kode-warna-resistor-dan-cara-membacanya/
Gambar II.8 Warna-warna dan nilainya pada gelang resistor
Sebagai contoh, hijau-biru-kuning-merah adalah 56 x 104 Ω = 560 KΩ ± 2%
Deskripsi yang lebih mudah adalah gelang pertama (hijau mempunyai harga 5 dan
gelang kedua (biru) mempunyai harga 6, dan keduanya dihitung sebagai 56. Gelang
ketiga (kuning) mempunyai harga 104, yang menambahkan empat nol di belakang
56, sedangkan gelang keempat (merah) merupakan kode untuk toleransi ± 2%
memberikan nilai 560.000 Ω pada keakuratan ± 2%.
Metode paling mudah untuk mengukur hambatan adalah dengan
menggunakan multimeter. Untuk multimeter digital dapat dengan mudah kita
lakukan dengan memindah sakelar ke posisi hambatan dan melihat nilai yang
Page 11
15
tertampil pada layar display pada saat kedua ujung kabel multimeter kita hubungkan
dengan resistor.
Sumber : http://duniaelektro14.blogspot.co.id/2016/08/dasar-elektronika-pengertian-dan-jenis.html
Gambar II.9 Resistor Karbon
b) Resistor Pasang Permukaan (Surface Mount Device / SMD)
Resistor pasang permukaan (lebih dikenal dengan istilah SMD), dewasa ini
dikembangkan untuk membuat desain yang lebih ringkas dan kompak. Dimensinya
yang sangat kecil dan hanya memerlukan satu sisi PCB untuk penyolderan
membuat desainnya sangat kecil dan ekonomis karena biaya cetak PCB menjadi
lebih murah. Disamping itu, komponen SMD tidak memerlukan pengeboran pada
PCB sehingga proses pembuatan PCB akan jauh lebih mudah.
Untuk resistor SMD terdapat parameter yang juga perlu diperhatikan yaitu
dimensi. Oleh karena itu, untuk memilih nilai resistor SMD, biasanya digunakan
nilai hambatan dan dimensi. Satuan dimensi yang digunakan untuk ini adalah inci.
Contoh, SMD 0805 berarti resistor tersebut memiliki 0,08 inci x 0,05 inci.
Page 12
16
Untuk menentukan nilai ohm pada resistor SMD terdapat 3 digit angka
dimana digit pertama dan kedua adalah nilai, dan digit terakhir adalah jumlah
pengali. Contoh pada resistor yang tertulis 153, nilai yang diperoleh adalah 15 x
103 atau 15 KΩ.
Sumber : https://dir.indiamart.com/impcat/chip-resistors.html
Gambar II.10 Resistor SMD
2. Kapasitor
Menurut Winarno dan Arifianto (2011:43) “Kapasitor merupakan komponen
elektronik yang berfungsi untuk menyimpan muatan listrik sementara”.
Satuan kapasitansi yang digunakan adalah farad. Dengan penyimpan muatan,
maka pada aplikasi dalam rangkaian elektronika fungsi kapasitor dapat
dikembangkan menjadi filter, waktu tunda (delay), atau pembangkit getaran
(osilator).
Dalam fungsinya sebagai filter, terutama filter frekuensi rendah (low pass
filter), kapasitor diletakkan secara paralel terhdap bagian-bagian yang akan di filter.
Di sana arus listrik yang tidak stabil akan tersimpan di dalam kapasitor sehingga
diperoleh tegangan yang lebih rata. Semakin besar nilai kapasitor, semakin rata
Page 13
17
tegangan yang diperoleh. Hal ini biasa digunakan pada adaptor (power supply) DC
di mana tegangan yang rata sangat dibutuhkan.
Sumber : http://4.bp.blogspot.com/-wxkwEbJ3TaQ/U1IA3w8N0fI/AAAAAAAACWs/
jqqev6MiEn4/s1600/symbol+Elco.jpg
Gambar II.11 Simbol Kapasitor
Dengan adanya sifat pengisian muatan pada kapasitor, komponen ini juga
dapat berfungsi sebagai pembangkit waktu tunda di mana tegangan yang
dibangkitkan akan tertunda terlebih dahulu dengan adanya waktu untuk mengisi
muatan. Proses waktu tunda dapat dianalogikan dengan proses pengisian air pada
gelas ukur di mana dibutuhkan waktu tertentu agar diperoleh air dengan volume
yang ditentukan. Demikian pula pada kapasitor, pada kondisi awal kapasitor ibarat
gelas kosong yang akan diisi terlebih dahulu oleh muatan listrik yang dihasilkan
karena adanya aliran arus ke dalamnya sehingga pada waktu tertentu nilai tegangan
kapasitor (Vc) sama dengan tegangan sumber (V). Dengan adanya nilai Vc = V ,
tegangan pada VR atau Vout berubah menjadi 0 volt. Dari sini akan diperoleh waktu
tunda di mana Vout akan sama dengan tegangan sumber untuk beberapa saat
sebelum turun menjadi 0 volt.
Pada fungsi kapasitor sebagai pembangkit getaran listrik (osilator), efek
pengisian dan pembuangan muatan pada kapasitorlah yang digunakan. Dengan
adanya proses pengisian dan pembuangan yang berulang-ulang, tegangan pada titik
Page 14
18
tersebut akan naik turun seiring dengan proses pengisian dan pembuangan. Kondisi
itu mengakibatkan terjadinya osilasi (getaran).
Proses ini dapat dilakukan dengan menggunakan dua buah sakelar di mana
saat sakelar pertama menutup, arus akan mengalir dan mengisi muatan kapasitor.
Kemudian, saat sakelar pertama membuka dan sakelar kedua menutup, arus akan
mengalir keluar dari kapasitor dan membuang muatan. Efek ini yang
mengakibatkan naik-turunnya tegangan sehingga timbul osilasi.
Selain fungsi-fungsi yang telah disebutkan, kapasitor juga dapat difungsikan
sebagai kopling sinyal, starting capacitor pada motor, dan lain-lain.
a) Kapasitor Elektrolit
Kapasitor elektrolit didesain dengan bahan elektrolit dan memiliki polaritas
positif dan negatif. Polaritas negatif biasanya digambarkan pada tubuh kapasitor
dan polaritas positif biasanya berada pada kaki yang terpanjang. Kapasitor ini
biasanya memiliki nilai yang cukup besar, yaitu mulai dari 1uF hingga puluhan ribu
uF (mikrofarad) dan biasanya digunakan untuk filter pada power supply.
Sumber : http://4.bp.blogspot.com/-yjs7bCt24NE/U1H_5Ro32jI/AAAAAAAACWk/
IThGWFEr79Y/s1600/Kapasitor.jpg
Gambar II.12 Kapasitor Elektrolit
Page 15
19
b) Kapasitor Keramik
Kapasitor keramik didesain dengan menggunakan bahan keramik dan
berkisar pada nilai 1 pF hingga 680 nF. Cara menghitung nilai kapasitor jenis ini
sama dengan cara menghitung nilai resistor SMD, yaitu dua digit pertama adalah
nilai dan ketiga adalah faktor pengali. Contoh, 224 adalah 22 x 104 pF atau 220 nF.
Namun, sering kali diperoleh kapasitor dengan satu atau dua digit saja. Pada
kapasitor jenis ini, nilai tersebut adalah nilai kapasitansi kapasitor dalam pF.
Sumber : http://1.bp.blogspot.com/-i88dlUpe-eY/UPpq6pQVEOI/AAAAAAAABGA/
iTm9wXcUjZA/s1600/capacitors-ceramic-disc.png
Gambar II.13 Kapasitor Keramik
c) Kapasitor Milar
Kapasitor ini biasanya berkisar antara 1 nF hingga 1 uF. Dibandingkan
dengan kapasitor keramik, jenis ini lebih tahan terhadap suhu panas.
Sumber : https://djukarna.files.wordpress.com/2012/03/kap4.jpg
Gambar II.14 Kapasitor Milar
Page 16
20
d) Kapasitor Pasang Permukaan (Surface Mount Device / SMD)
Selain nilai faradnya, pada kapasitor SMD atau kapasitor pasang permukaan,
seperti pada resistor SMD, parameter dimensi juga menjadi parameter utama.
Untuk kapasitor berukuran 0,08 x 0,05 inci, tipe dimensinya adalah 0805.
Sumber : http://4.bp.blogspot.com/-tRr3cFgomBU/UnT5iaNBF5I/AAAAAAAAAJA/
QE6lzOXIc3c/s1600/capasitor+solid.jpg
Gambar II.15 Kapasitor SMD
Selain nilai kapasitansi, satu parameter lain yang tak kalah penting pada
kapasitor adalah tegangan. Pastikan kapasitor memiliki parameter tegangan yang
jauh lebih besar daripada tegangan yang terjadi pada rangkaian. Jenis keramik dan
milar biasanya memiliki tegangan puluhan volt sehingga tidak memerlukan
perhatian khusus bila anda bekerja pada rangkaian dengan sumber tegangan baterai
6 atau 12 volt. Namun, untuk jenis elektrolit di mana ada banyak yang memiliki
tegangan 16 atau 25 volt, hal ini perlu mendapat perhatian khusus dan usahakan
untuk menggunakan tegangan yang jauh di atas sumber daya rangkaian.
Page 17
21
3. Transistor
Menurut Nalwan (2012:45) Transistor adalah “komponen semikonduktor
yang dapat digunakan untuk penguat, rangkaian pemutus dan penyambung,
stabilitas tegangan, modulasi sinyal, dan sebagainya”.
Menurut Winarno dan Arifianto (2011:48) “Transistor merupakan komponen
elektronik pertama yang mengantarkan dunia elektronika kuno menuju elektronika
modern”.
Sumber : http://1.bp.blogspot.com/-EAA7m59yKl8/VFdNjtrnxCI/AAAAAAAAAH0/
s2Cn4fLZZSw/s1600/simbol%2Btransistor.jpg
Gambar II.16 Simbol Transistor
Umumnya, transistor berfungsi sebagai sakelar dan komponen penguat
tegangan. Dan transistor yang banyak digunakan adalah jenis BJT, jenis ini
memiliki dua dioda yang kutub positif atau kutub negatifnya berhimpit, dan
memiliki tiga terminal, yaitu emiter (E), kolektor (C), dan basis (B). Transistor jenis
BJT dibagi menjadi dua jenis berikut ini :
Page 18
22
a) PNP (Positive Negative Positive)
Transistor ini terdiri dari selapis semikonduktor tipe N diantara dua lapis
semikonduktor tipe P. Arus kecil yang meninggalkan basis pada moda tunggal
emiter dikuatkan pada keluaran kolektor. Dengan kata lain, transistor PNP hidup
ketika tegangan basis lebih rendah daripada tegangan emiter. Tanda panah pada
simbol dilletakan pada emiter dan menunjuk ke dalam.
b) NPN (Negative Positive Negative)
N dan P pada transistor jenis ini menunjukkan pembawa muatan mayoritas
pada daerah yang berbeda pada transistor. Transistor NPN terdiri dari selapis
semikonduktor tipe P diantara dua lapis semikonduktor tipe N. Arus kecil yang
memasuki basis pada moda tunggal emitor dikuatkan di keluaran kolektor. Dengan
kata lain, transistor NPN hidup ketika tegangan basis lebih tinggi daripada tegangan
emiter. Tanda panah dalam simbol diletakkan pada kaki emiter dan menunjuk
keluar (arah aliran arus konvesional ketika peranti dipanjar maju).
Sumber : http://www.robotpark.com/image/cache/data/PRO/92166/92166-BD139-NPN-
Transistor-Pic001-700x700.jpg
Gambar II.17 Transistor
Page 19
23
4. Diode
Menurut Winarno dan Arifianto (2011:46) “Diode merupakan salah satu
komponen aktif yang berfungsi sebagai penyearah”.
Arus yang bergerak melalui diode hanya dapat mengalir searah dari bagian
positif ke bagian negatifnya, sedangkan arah sebaliknya akan terhambat. Hal ini
dapat dianalogikan dengan pintu putar pada supermarket yang hanya dapat berputar
searah dan tidak dapat berputar ke arah sebaliknya. Seperti pintu mengalir dari
positif ke negatif (selanjutnya akan disebut arah maju, sedangkan arah sebaliknya
adalah arah mundur) sehingga terjadi penurunan tegangan.
Sumber : https://dlnmh9ip6v2uc.cloudfront.net/assets/d/6/b/f/a/5171b6bece395ff53c000000.PNG
Gambar II.18 Simbol Diode
Untuk diode jenis germanium penurunan tegangannya adalah 0,2 volt,
sedangkan untuk diode jenis silikon (paling banyak dijumpai di pasaran) adalah 0,7
volt. Oleh karena itu, fungsi diode dapat dikembangkan menjadi penurunan
tegangan sebesar 0,7 volt dan penyearah tegangan (AC ke DC).
a) Penurunan tegangan sebesar 0,7 volt, apabila penurunan tegangan tidak terlalu
besar dan terjadi pada arus yang cukup besar di mana metode resistor pembagi
tegangan kurang efektif, dengan memberikan diode arah maju, penurunan
tegangan sebesar 0,7 volt tanpa harus memperhatikan impedansi rangkaian
beban dapat dilakukan.
Page 20
24
b) Penyearah tegangan (AC ke DC), hal ini biasa digunakan pada rangkaian
power supply yang menyearahkan tegangan sinus dari trafo menjadi bentuk DC
tak teregulasi melalui empat buah diode yang biasa disebut bridge atau
penyearah gelombang penuh (full wave rectifier). Untuk membuat desain yang
ringkas dan lebih ekonomis, sering kali penyearah ini juga terdiri atas dua buah
diode, yaitu penyearah setengah gelombang (half wave rectifier).
c) Sebagai pengaman komponen-komponen induktif seperti motor dan relay.
Motor dan relay memiliki kumparan, yaitu komponen yang bersifat induktif di
mana medan magnet yang ditimbulkan oleh aliran arus pada kumparan tersebut
sering kali memberikan tegangan balik yang cukup besar. Penggunaan diode
yang dipasang secara membalik dan paralel pada kumparan akan
mengakibatkan arus balik mengalir melalui diode tersebut dan efek medan
magnet akan segera hilang. Hal ini dibutuhkan untuk mengamankan
komponen-komponen lain dari kerusakan. Pada motor dimana arah arus yang
mengalir dapat dilakukan secara bolak-balik dibutuhkan empat buah diode
yang akan mengamankan transistor-transistornya dari tegangan induksi balik.
Sumber : http://teknikelektronika.com/fungsi-dioda-cara-mengukur-dioda/
Gambar II.19 Diode
Page 21
25
5. LED (Light Emitting Diode)
Menurut Winarno dan Arifianto (2011:36) “LED (Light Emitting Diode)
merupakan komponen eletronik berbahan semikonduktor yang dapat memancarkan
cahaya monokromatik jika diberi tegangan maju”.
Sumber : http://mhg-tutor.weebly.com/uploads/5/1/7/8/51787179/3701775.jpg
Gambar II.20 Simbol LED (Light Emitting Diode)
LED juga termasuk dalam jenis diode, hanya saja LED akan mengeluarkan
cahaya apabila arus mengalir maju terjadi. Namun, ada hal yang perlu di perhatikan
pada LED, yaitu tegang maju. LED memiliki tegangan maju yang terbatas sesuai
dengan spesifikasinya yang disebutkan pada lembar data atau datasheet-nya,
biasanya berkisar antara 2,5 hingga 3 volt walaupun kadang-kadang ada juga yang
lebih. Oleh karena itu, dalam mendesain rangkaian mengaktifkan LED, perlu
diperhatikan agar tegangan yang terjadi tidak melebihi tegangan maju yang
diizinkan.
Sumber : http://belajararm.blogspot.co.id/2015/01/pendeteksi-kereta-api-sebagai.html
Gambar II.21 LED (Light Emitting Diode)
Page 22
26
LED biasanya berfungsi sebagai indikator tegangan pada suatu titik. Contohnya
pada input power supply di mana nyala LED mengindikasikan masuknya tegangan,
atau pada jalur data di mana kedipan LED mengindikasikan lewatnya aliran data,
dan lain-lain.
6. Buzzer
Menurut Supriatna (2013:16) menerangkan bahwa “Buzzer merupakan alat
yang dapat menghasilkan bunyi atau suara karena mempunyai membran yang
terhubung dengan magnet dan koil”. Pada dasarnya prinsip kerja Buzzer hampir
sama dengan loud speaker, jadi Buzzer juga terdiri dari kumparan yang terpasang
pada diafragma dan kemudian kumparan tersebut dialiri arus sehingga menjadi
elektromagnet, kumparan tadi akan tertarik ke dalam atau keluar, tergantung dari
arah arus dan polaritas magnetnya, karena kumparan dipasang pada diafragma
maka setiap gerakan kumparan akan menggerakkan diafragma secara bolak-balik
sehingga membuat udara bergetar yang akan menghasilkan suara. Buzzer biasa
digunakan sebagai indikator bahwa proses telah selesai atau terjadi suatu kesalahan
pada sebuah alat (alarm).
Sumber : https://i1.wp.com/www.ngarep.net/wp-content/uploads/2017/01/Buzzer-piezoelectric-
struktur.jpg?resize=600%2C273
Gambar II.22 Buzzer
Page 23
27
7. Motor DC
Menurut Winarno dan Arifianto (2011:60) “jenis motor elektrik yang bekerja
pada arus searah”.
Sumber : http://3.bp.blogspot.com/-H13HzxIknas/VXdT5g-gy0I/AAAAAAAAAto/w-rrXuSGJgY/
s1600/schematic_symbol_4270_thumb.png
Gambar II.23 Simbol Motor DC
Motor ini menggunakan sumber tegangan DC. Motor DC atau motor arus
searah sebagaimana namanya, menggunakan arus langsung dan tidak langsung /
direct-unidirectional. Motor DC digunakan pada penggunaan khusus dimana
diperlukan penyalaan torque yang tinggi atau percepatan yang tetap untuk kisaran
kecepatan yang luas. sebuah motor DC yang memiliki tiga komponen utama :
a) Kutub Medan Magnet
Secara sederhana digambarkan bahwa interaksi dua kutub magnet akan
menyebabkan perputaran pada motor DC. Motor DC memiliki kutub medan
yang stasioner dan kumparan motor DC yang menggerakan bearing pada ruang
diantara kutub medan. Motor DC sederhana memiliki dua kutub medan: kutub
utara dan kutub selatan. Garis magnetik energi membesar melintasi bukaan
diantara kutub-kutub dari utara ke selatan. Untuk motor yang lebih besar atau
lebih komplek terdapat satu atau lebih elektromagnet. Elektromagnet
menerima listrik dari sumber daya dari luar sebagai penyedia struktur medan.
Page 24
28
b) Kumparan Motor DC
Bila arus masuk menuju kumparan motor DC, maka arus ini akan menjadi
elektromagnet. kumparan motor DC yang berbentuk silinder, dihubungkan ke
as penggerak untuk menggerakan beban. Untuk kasus motor DC yang kecil,
kumparan motor DC berputar dalam medan magnet yang dibentuk oleh kutub-
kutub, sampai kutub utara dan selatan magnet berganti lokasi. Jika hal ini
terjadi, arusnya berbalik untuk merubah kutub-kutub utara dan selatan
kumparan motor DC.
c) Commutator Motor DC
Komponen ini terutama ditemukan dalam motor DC. Kegunaannya adalah
untuk membalikan arah arus listrik dalam kumparan motor DC. Commutator
juga membantu dalam transmisi arus antara kumparan motor DC dan sumber
daya.
Sumber : http://robotechshop.com/wp-content/uploads/2015/12/micro-DC-motor1.jpg
Gambar II.24 Motor DC
Page 25
29
8. Transformator
Menurut Tanjung (2015:294) Transformator adalah “suatu alat yang
digunakan untuk mentranformasi tegangan yaitu menaikan tegangan (step up
tranformator), dan menurunkan tegangan (step down transformator)”.
prinsip kerja trafo adalah bila pada kumparan sisi primer dialiri arus bolak
balik maka pada inti besi akan dibangkitkan garis-garis gaya magnet (fluks magnet)
yang mengalir mengelilingi inti. Fluks magnet yang sama akan dilingkup oleh
kumparan sisi sekunder sehingga pada sisi sekunder akan dibangkitkan tegangan
induksi. Bila pada sisi sekunder merupakan rangkaian tertutup maka akan ada arus
yang mengalir.
Sumber : http://belajarelektronika.net/pengertian-fungsi-transformator-dan-prinsip-kerja-trafo/
Gambar II.25 Transformator dan simbolnya
Pembagian trafo adalah berdasarkan perbandingan jumlah lilitannya, yaitu :
a) Trafo step up, menyediakan tegangan sisi sekunder lebih tinggi dari sisi
primer.
b) Trafo step down, menyediakan tegangan sisi sekunder lebih rendah dari sisi
primer.
Page 26
30
c) Trafo isolasi, tegangan sisi sekunder sama dengan tegangan sisi primer, untuk
mengisolasi suplai daya listrik dari jala-jala, untuk pelayanan proteksi.
2.1.4. Modul Bluetooth HC-05
Menurut Sofana (2008 : 354), “Bluetooth adalah salah satu alternatif
teknologi wireless yang dibuat untuk peralatan mobile (mobile device)”.
Bluetooth digunakan untuk melakukan tukar menukar informasi di antara
peralatan-peralatan elektronik, secara wireless pada Personal Area Network (PAN).
Spesifikasi dari peralatan bluetooth dikembangkan dan didistribusikan oleh
Bluetooth Special Interest Group (B-SIG), dan dipromotori oleh Ericson, IBM,
Intel, Nokia, Toshiba, 3com, Lucen Technologies, Microsoft, dan Motorola.
Bluetooth berbeda dengan wifi (keluarga 802.11) standar yang digunakan oleh
bluetooth mengacuh pada spesifikasi IEEE 802.15. Buetooth menggunakan
frekuensi 2.4 GHz, dengan keceptan transfer data kurang dari 1 Mbps (sekitar 800
Kbps), dan jarak jangkauan yang terbatas (± 10 meter / 30 kaki).
Module bluetooth HC serial digunakan untuk mengirimkan atau menerima
data serial TTL via bluetooth. Modul bluetooth seri HC memiliki banyak jenis atau
varian, yang secara garis besar terbagi menjadi dua yaitu jenis Industrial series
(HC-03 / HC04) dan Civil series (HC-05 / HC-06).
Page 27
31
Untuk melihat metode kerja module bluetooth master atau slave dapat
dikenali dari nomor serinya, jika nomor seri genap maka module bluetooth tersebut
telah di-setting oleh pabrik dengan bekerja sebagai slave mode atau master mode
dan tidak dapat diubah cara kerjanya. Sedangkan buetooth HC dengan nomor seri
ganjil, kondisi default di-setting sebagai slave mode, tetapi dapat diubah menjadi
master dengan AT Command.
Sumber : https://arduino-info.wikispaces.com/BlueTooth-HC05-HC06-Modules-How-To
Gambar II.26 Modul Bluetooth HC-05
2.1.5. Relay
Relay adalah Saklar (Switch) yang dioperasikan secara listrik dan merupakan
komponen elektromekanikal (electromechanical) yang terdiri dari 2 bagian utama
yakni elektromagnet (Coil) dan mekanikal (seperangkat kontak saklar / Switch).
Relay menggunakan prinsip elektromagnetik untuk menggerakkan kontak
saklar sehingga dengan arus listrik yang kecil (low power) dapat menghantarkan
listrik yang bertegangan lebih tinggi. Sebagai contoh, dengan relay yang
menggunakan elektromagnet 5 volt dan 50 mA mampu menggerakkan Armature
Relay (yang berfungsi sebagai saklarnya) untuk menghantarkan listrik 220 volt 2
ampere.
Page 28
32
Pada peralatan elektronika relay digunakan untuk menjalankan fungsi logika
(Logic Function), relay digunakan untuk memberikan fungsi penundaan waktu
(Time Delay Function), relay digunakan untuk mengendalikan sirkuit tegangan
tinggi dengan bantuan dari signal tegangan rendah, dan ada juga relay yang
berfungsi untuk melindungi motor ataupun komponen lainnya dari kelebihan
tegangan ataupun hubung singkat (short).
Sumber : http://teknikelektronika.com/wp-content/uploads/2015/03/Gambar-bentuk-dan-Simbol-
relay.jpg?x22079
Gambar II.27 Relay dan simbolnya
2.1.6. Mikrokontroler Arduino UNO
Menurut Wardoyo dan Pramudyo (2015:65) Mikrokontroler adalah “IC
(Integrated Circuit) single chip yang didalamnya terkandung RAM (Random
Access Memory), ROM (Read Only Memory), mikroprosesor, dan piranti I/O
(Input/Output) yang saling terkoneksi, serta dapat diprogram berulang kali, baik
ditulis atau dihapus”.
Ada banyak jenis mikrokontroler yang masing-masing memiliki keluarga
atau series sendiri. Secara garis besar pengelompokan keluarga mikrokontroler
ditentukan oleh perusahaan tertentu sesuai dengan spesifikasi khusus yang
Page 29
33
dimilikinya sehingga dapat dibedakan dengan mikrokontroler keluarga lain,
terutama menyangkut kompabilitas dalam hal pemrograman.
Mikrokontroler dalam keluarga yang sama akan memiliki kesamaan dalam
hal arsitektur dan kompabilitas pemrograman, yang membedakan hanya dalam
kemasan fisik, jumlah pin, dan fitur-fitu yang dimiliki dari mikrokontroler tersebut.
Beberapa contoh keluarga mikrokontroler antara lain :
1. Keluarga MCS-48 (Intel)
2. Keluarga MCS-51 (Intel)
3. Keluarga AT89S (Atmel)
4. Keluarga AT90, ATTiny, ATMega (Atmel)
5. Keluarga MC68HC05 (Motorola)
6. Keluarga MC68HC08 (Motorola)
7. Keluarga MC68HC11 (Motorola)
8. Keluarga PIC 8 (Mikrochip)
9. Keluarga Z80 (Zilog)
Perbedaan mendasar dari mikrokontroler yang ada adalah berdasarkan
arsitekturnya. Terdapat dua jenis arsitektur yang sering dijumpai yaitu arsitektur
CISC (Complex Instruction Set Computing), dan arsitektur RISC (Reduced
Intsruction Set Computing).
Arsitektur CISC, yaitu mikrokontroler yang memiliki instruksi yang lebih
banyak, tetapi memiliki fasilitas yang terbatas, salah satunya keluarga AT89S, yang
merupakan satu keluarga mikrokontroler pendahulu Atmel dan juga MCS-51.
Arsitektur RISC, yaitu mikrokontroler yang memiliki instruksi yang terbatas, tetapi
Page 30
34
memiliki fasilitas yang banyak, keluarga AT-Mega merupakan salah satu
perkembangan teknologi mikrokontroler produksi Atmel jenis AVR, atau sering
disebut mikrokontroler AVR.
Perkembangan teknologi mikrokontroler berarsitektur CISC ke arsitektur
RISC, bertujuan untuk mempercepat mikrokontroler dalam melaksanakan suatu
instruksi. Mikrokontroler jenis MCS memiliki kecepatan frekuensi kerja 1/12 kali
dari frekuensi oscilator yang digunakan, sedangkan pada jenis AVR frekuensi
kerjanya sama dengan kecepatan frekuensi kecepatan oscilator yang digunakan.
Mikrokontroler AVR mempunyai kepanjangan Advanced Versatile RISC,
atau Alf and Vergard’s Risc processor yang berasal dari nama dua mahasiswa
Norwegian Institute of Technology (NTH), yaitu Alf-Egil Bogen, dan Vegard
Wollan. Secara umum mikrokontroler AVR dapat dikelompokan menjadi 5
kelompok, yaitu keluarga ATtiny, AT90Sxx, ATMega, AVR XMega, dan AVR32
UC3.
Tabel 1
Tabel memori mikrokontroler AVR
Sumber : Andrianto, dan Darmawan (2016:12)
Mikrokontroler AVR Memori
Tipe Jumlah
Pin
Flash EEPROM SRAM
TinyAVR (8 bit) 8 - 32 1 – 2K 64 – 128 0 – 128
AT90Sxx (8 bit) 20 - 44 1 – 8K 128 – 512 0 – 1K
ATMega (8 bit) 32 - 64 8 – 128K 512 – 4K 512 – 4K
AVR XMega (8/16 bit) 44 - 100 16 – 384K 512 – 4K 1K – 16K
AVR32 UC3 (32 bit) 48 - 144 16 – 512K - 32K – 128K
Page 31
35
Sumber : https://2.bp.blogspot.com/-SDaVW1cal80/WK7HwmxbU5I/AAAAAAAAATQ/
T1sZVgDU03cbIqFKyNwHomNtzzO3zzUhgCEw/s1600/Atmega328Pin.jpg
Gambar II.28 Pin mapping mikrokontoler ATMega 328 pada Arduino UNO
Menurut Andrianto, dan Darmawan (2016:13) Arduino adalah “Sebuah
board mikrokontroler yang bersifat open source, dimana desain skematik dan PCB
bersifat open source, sehingga kita dapat menggunakannya maupun memodifikasi”.
Menurut Kadir (2015:17) Arduino adalah “Jenis suatu papan (board) yang
berisi mikrokontroler. Dengan perkataan lain, Arduino dapat disebut sebagai papan
mikrokontroler”.
Arduino dikembangkan dari thesis Hernando Barragan pada tahun 2004,
seorang mahasiswa asal Kolombia. Judul thesisnya yaitu “Arduino-Revolusi Open
Hardware”. Arduino diawali di ruang kelas Interactive Design Institute (IDII), pada
tahun 2005 di Ivrea, Italia. Arduino ditemukan oleh Massimo Banzi dan David
Page 32
36
Cuartielles dengan tujuan awal yaitu untuk membantu para siswa membuat
perangkat desain dan interaksi.
Arduino berasal dari bahasa Itali yang berarti teman yang berani. Arduino
saat ini sudah menjadi salah satu platform OSHW (Open Source HardWare).
Sumber : https://images.g2crowd.com/uploads/product/image/social_landscape/social_landscape
1489713252/arduino-ide.png
Gambar II.29 Logo Arduino
Bootloader Chip/IC Arduino Board telah diisi oleh program yang dinamakan
Arduino Bootloader, yang memungkinkan untuk meng-upload code program tanpa
hardware tambahan, seperti AVR-ISP atau usb programmer. Bootloader akan aktif
selama beberapa detik ketika board mengalami reset.
Menurut Kadir (2013:25) Arduino Uno adalah “salah satu produk berlabel
Arduino yang sebenarnya adalah suatu papan eletronik yang mengandung
mikrokontroler ATMega328 (sebuah keping yang secara fungsional bertindak
seperti sebuah komputer). Piranti ini dapat dimanfaatkan untuk mewujudkan
rangkaian elektronik dari yang sederhana hingga yang kompleks”.
Page 33
37
Arduino UNO mengandung mikroprosesor berupa ATMega 328 (8 bit)
keluaran Atmel AVR. Komponen ini adalah sebuah IC (Integrated Circuit), yang
dipasangkan ke header socket sehingga memungkinkan dilepas.
Arduino UNO dilengkapi dengan Static Random-Access Memory (SRAM)
berukuran 2KB, digunakan sebagai memori kerja selama sketch dijalankan.
Memori inilah yang digunakan untuk menyimpan variabel. flash memory berukuran
32KB, digunakan untuk menyimpan sketch. Dan Electrically Erasable
Programmable Read-Only Memory (EEPROM) adalah memori yang dapat
digunakan untuk menyimpan data secara permanen. Arduino UNO juga dilengkapi
dengan oscillator 16MHz (yang memungkinkan operasi berbasis waktu
dilaksanakan dengan tepat).
Konektor USB (Universal Serial Bus) berfungsi sebagai penghubung ke PC.
Konektor ini sekaligus berfungsi sebagai pemasok tegangan bagi papan Arduino.
Konektor catu daya berfungsi sebagai penghubung ke sumber tegangan eksternal.
Hal ini diperlukan sekiranya konektor USB tidak terhubung ke PC. Adaptor AC ke
DC atau baterai dapat dihubungkan ke konektor ini. Konektor ini dapat menerima
tegangan +7 hingga +12 volt dan diturunkan dengan regulator (pembangkit
tegangan) 5 volt.
Sejumlah pin tersedia di papan Arduino UNO, pin-pin ini digunakan untuk
menerima atau mengirim isyarat 1 (dinyatakan sebagai HIGH) direpresantasikan
dalam bentuk tegangan 5 volt, dan isyarat 0 (dinyatakan dengan LOW) diwujudkan
dalam bentuk tegangan 0 volt.
Page 34
38
Pin 0 hingga 13 digunakan untuk isyarat digital, yang hanya bernilai 0 atau 1.
Beberapa pin digital dinamakan sebagai pin PWM (Pulse Width Modulation), dapat
digunakan sebagai keluaran analog. Pin PWM ditandai dengan simbol ~. Ada 6 pin
PWM, yaitu 3, 5, 6, 9, 10, dan 11.
Pin A0 hingga A5 adalah pin analog. Pin ini dipakai untuk menerima nilai
analog. jika dinyatakan dalam tegangan, nilai analog akan berkisar antara 0 volt
sampai 5 volt, pada pin ini Arduino bisa menerima nilai tegangan seperti 1,0 volt
atau 2,5 volt. Biasanya pin ini digunakan untuk input dari sensor.
Pin sumber tegangan adalah pin yang memberikan catu daya kepada pin-pin
lain yang membutuhkannya. Vin, berasal dari voltage in, adalah pin yang
memberikan tegangan sama dengan tegangan luar yang diberikan ke papan
Arduino. GND, berasal dari ground. Pin 5V, berisi tegangan 5 volt. Pin 3,3V berisi
tegangan 3,3 volt.
Arduino UNO mempunyai 4 buah Indikator LED, LED ON, akan menyala
jika papan Arduino diberi sumber tegangan. LED RX dan LED TX, akan menyala
jika suatu data sedang dikirim dan diterima oleh papan Arduino. Dan LED L, adalah
LED yang terhubung ke pin 13.
Page 35
39
Tombol reset akan membuat sketch dijalankan ulang. Kadangkala, instruksi
yang diberikan pada Arduino UNO menimbulkan hal yang tidak normal. Pada
keadaan seperti itu, tombol reset yang ditekan akan membuat sistem di-reset dan
kemudian diaktifkan kembali.
Sumber : http://www.elecrom.com/introduction-arduino-uno-uses-avr-atmega328/
Gambar II.30 Arduino UNO Board
Page 36
40
2.2. Perangkat Lunak
2.2.1. Bahasa Pemrograman
Menurut Irawan (2009:137) program adalah “perangkat lunak yang terdiri
dari sekumpulan kode, bisa dieksekusi dan dijalankan melalui sistem operasi”.
Menurut Munir (2007:13) bahasa pemrograman adalah “bahasa komputer
yang digunakan dalam menulis program”.
Berdasarkan tujuan aplikasinya bahasa pemrograman digolongkan menjadi 2
kelompok, yaitu bahasa pemrograman khusus (Specific Purpose Programming
Language), seperti Cobol (untuk terapan bisnis dan administrasi), Fortran (aplikasi
komputer ilmiah), Bahasa Assembly (aplikasi pemrograman mesin), Prolog
(aplikasi buatan), dan lainnya. sedangkan kelompok lainnya adalah bahasa
pemrograman bertujuan umum (General Purpose Programming Language), yang
digunakan untuk berbagai aplikasi seperti Bahasa Pascal, Basic, C, C++.
Berdasarkan kedekatan bahasa pemrograman apakah lebih condong ke
bahasa manusia, maka pemrograman juga dapat dikelompokan menjadi dua
macam, yaitu bahasa tingkat rendah dan bahasa tingkat tinggi. Bahasa tingkat
rendah dirancang agar setiap instruksinya langsung dikerjakan oleh komputer,
seperti bahasa mesin (Machine Language), dan Bahasa Assembly. Sedangkan
bahasa tingkat tinggi lebih mudah dipahami, dan lebih dekat dengan bahasa
manusia. Bahasa ini memerlukan kompiler untuk menerjemahkan bahasa ini
menjadi bahasa mesin agar dapat dieksekusi oleh CPU, contoh dari bahasa tingkat
ini adalah C, C++, dan sebagainya.
Page 37
41
Menurut Febrian (2007:342) programmer adalah “orang yang membuat
program, dengan membuat perintah-perintah yang dimengerti oleh mesin”.
1. Bahasa Pemrograman C
Bahasa C dirancang oleh Dennis M. Ritchie, staf AT&T Bell Laboratories di
New Jersey, pada tahun 1972. Bahasa C semula dirancang untuk digunakan didalam
pengembangan piranti lunak sistem yang berjalan di atas sistem operasi UNIX,
bukan untuk belajar menulis program komputer. Kernel sistem operasi UNIX
ditulis kembali dengan menggunakan bahasa C pada tahun 1973. Walaupun bahasa
C merupakan bahasa pemrograman tingkat tinggi (high level), namun bahasa ini
memungkinkan system programmer untuk mengakses perangkat keras komputer,
memiliki instruksi untuk mengendalikan proses, dan menyediakan sejumlah
struktur data. Berdasarkan paradigma pemrograman, bahasa C termasuk kelompok
imperative programming language, atau procedural programming language.
Dalam beberapa literatur, C terkadang dikelompokan pada bahasa pemrograman
beraras menengah (medium level). Pengelompokan ini bukan berarti bahwa bahasa
C kurang ampuh atau lebih sulit dibandingkan dengan bahasa beraras tinggi seperti
Java atau BASIC, melainkan menegaskan bahwa C juga menyediakan fasilitas yang
memungkinkan pemrogram menggunakan kode rakitan, selain menggunakan
perintah yang berorientasi pada manusia.
Publikasi bahasa C dilakukan oleh Brian W. Kernighan dan Dennis M.
Ritchie melalui buku The C Programming Language pada tahun 1978. Versi C ini
diistilahkan dengan versi K&R. Pada tahun 1982 komisi X3J11 dari Amerika
National Standard Institute (ANSI) menyusun formal baku bahasa C yang selesai
Page 38
42
pada tahun 1989. Pada tahun 1999 dilakukan pembaruan baku dan tercantum pada
dokumen ISO/IEC 9899:1999. Standar ini biasanya dikenal sebagai C99.
Bahasa C mempunyai beberapa kelebihan, diantarnya adalah :
a. C memiliki banyak operator untuk memanipulasi data.
b. Berbagai struktur data dan pengendalian proses disediakan dalam C sehingga
memungkinkan untuk membuat program yang terstruktur, yaitu bentuk
program yang mudah dipahami maupun dikembangkan.
c. Dibandingkan dengan bahasa mesin atau bahasa rakitan, C jauh lebih mudah
dipahami dan pemrogram tidak perlu tahu detail mesin komputer sehingga
tidak menyita waktu dalam menyelesaikan masalah dan mewujudkannya
dalam bentuk program.
d. Kecepatan eksekusi C boleh dikatakan menyamai kecepatan eksekusi program
yang dibuat dengan menggunakan bahasa beraras rendah.
e. C memungkinkan manipulasi data dalam bentuk bit maupun byte secara
efisien. Disamping itu, C juga memungkinkan untuk memanipulasi alamat
suatu data (melalui pointer).
Dan kelemahan-kelemahan bahasa C, antara lain :
a. Operator yang terlalu banyak dan fleksibilitas penulisan program terkadang
membingungkan pemakai. Kalau hal itu tidak dikuasai, sudah tentu akan
menimbulkan masalah.
Para pemrogram C tingkat pemula umumnya belum pernah mengenal pointer
dan tidak terbiasa menggunakannya (sebab bahasa lain seperti BASIC maupun Java
tidak mengenal pointer). Padahal, kemampuan C justru terletak pada pointer.
Page 39
43
2. Bahasa Pemrograman Java
Menurut Raharjo et all (2007:1) Java adalah “bahasa pemrograman yang
disusun oleh James Gosling yang dibantu oleh rekan-rekannya seperti Patrick
Naugton, Chris Warth, Ed Frank, dan Mike Sheridan di suatu perusahaan perangkat
lunak yang bernama Sun Microsystem, pada tahun 1991. Bahasa pemrograman ini
mula-mula diinisialisasi dengan nama Oak, namun pada tahun 1995 diganti
namanya menjadi Java”.
Java bersifat portabel atau yang sering disebut flat platform independent
(tidak tergantung pada platform). Itulah yang menyebabkan dalam dunia
pemrograman Java, dikenal adanya istilah “Write Once, Run Everywhere”, yang
berarti kode program hanya ditulis sekali, namun dapat dijalankan di bawah
platform manapun, tanpa harus melakukan perubahan kode program.
Menurut Hariyanto (2011:12) “Java merupakan penyeimbangan antara
mazhab orientasi objek “murni” yang memandang (semua harus objek) dan mazhab
pragmatis yang menerapkan model pragmatis (stay out my way)”.
Sebagian dari suatu program Java dan jendela yang ditampilkan program
tersebut. Ketika programmer mengompilasi program kodebyte dan tidak
bergantung pada mesin. Java lalu menggunakan just-in-time (JIT) compiler untuk
mengonversi kodebtye menjadi kode yang bergantung pada mesin. Programmer
menggunakan Java Platform, Standard Edition (Java SE) yang dikembangkan oleh
Sun Microsystems untuk menciptakan program-program mandiri yang digunakan
pada komputer desktop dan server. Programmer juga menggunakan Java Platform,
Page 40
44
Micro Edition (Java ME) untuk menciptakan program-program yang dapat
digunakan pada Smartphone dan perangkat mobile lainnya.
Java Platform, Enterprise Edition (Java EE) adalah kumpulan teknologi yang
dibangun pada Java SE dan memungkinkan programmer untuk mengembangkan
serta meluncurkan aplikasi besar bagi perusahaan, sering kali digunakan dalam
lingkungan Web2.0 (Aplikasi Web). Tujuannya dibuatnya Java EE adalah untuk
menyederhanakan dan mengurangi waktu pengembangan program dengan cara
mengembangkan objek-objek standar yang dapat digunakan berkali-kali.
2.2.2. Software Editor
1. Arduino IDE
Menurut Wardoyo dan Pramudyo (2015:95), Arduino IDE (Integrated
Development Environment) adalah “software yang sangat canggih ditulis
menggunakan Java”.
Arduino IDE (Integrated Development Environment) adalah alat
pengembang program yang terintegrasi yang bersifat Open Source, sehingga
berbagai keperluan disediakan dalam bentuk antarmuka berbasis menu yang
disediakan di situs arduino.cc yang ditujukan sebagai perangkat pengembang
sketch yang digunakan sebagai program di papan Arduino. (sumber :
https://www.arduino.cc/en/Guide/HomePage)
Page 41
45
Sumber : https://i.stack.imgur.com/6bDVW.png
Gambar II.31 Splash Screen Arduino IDE
Arduino IDE terdiri atas :
a) Editor program, sebuah window yang memungkinkan pengguna menulis dan
mengedit program dalam bahasa Processing.
b) Compiler, sebuah modul yang mengubah kode program (bahasa Processing)
menjadi kode biner. Bagaimanapun sebuah mikrokontroler tidak akan bisa
memahami bahasa Processing. Kode yang bisa dipahami oleh mikrokontroler
adalah kode biner. Itulah sebabnya compiler diperlukan dalam hal ini.
c) Uploader, sebuah modul yang memuat kode biner dari komputer kedalam
memory di dalam papan Arduino.
Sebuah kode program Arduino umumnya disebut dengan istilah sketch. Kata
“sketch” digunakan secara bergantian dengan “kode program” yang keduanya
memiliki arti yang sama. File ini berekstensi .ino.
Page 42
46
Sumber : https://d1nocd4j7qtmw4.cloudfront.net/wp-content/uploads/20160616151042/
Arduino- IDE-paste-example-sketch-for-connection.png
Gambar II.32 Arduino IDE
a. User Interface
1) Verify
Berfungsi untuk melakukan checking kode yang dibuat oleh programmer,
apakah kode tersebut sudah sesuai dengan kaidah pemrograman yang ada.
2) Upload
Berfungsi untuk melakukan kompilasi program atau kode yang telah dibuat
menjadi bahasa yang dapat dipahami oleh IC digital yang tertanam pada
Arduino.
Page 43
47
3) New
Berfungsi untuk membuat Sketch baru.
4) Open
Berfungsi untuk membuka sketch yang pernah dibuat.
5) Save
Berfungsi untuk menyimpan Sketch yang telah dibuat.
6) Serial Monitor
Berfungsi untuk membuka serial monitor. Serial monitor disini merupakan
jendela yang menampilkan data apa saja yang dikirimkan atau
dipertukarkan antara Arduino dengan sketch pada port serialnya. Serial
monitor ini sangat berguna sekali ketika seorang programmer ingin
membuat program atau melakukan debugging tanpa menggunakan LCD
(Liquid Crystal Display) pada Arduino. Serial monitor ini dapat digunakan
untuk menampilkan nilai proses, nilai pembacaan, bahkan pesan error.
7) 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.
Page 44
48
d) Sketchbook
Berfungsi menunjukan hirarki sketch yang telah dibuat, termasuk
struktur foldernya.
e) Example
Berisi contoh-contoh pemrograman yang disediakan pengembang
Arduino, sehingga user 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 kam dapat merubah tampilan interface IDE Arduino.
Page 45
49
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.
8) 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.
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 diembededkan pada
halaman web.
Page 46
50
f) Paste
Berfungsi menyalin data yang terdapat pada clipboard, kedalam editor.
g) Select All
Berfungsi untuk 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
Berfungi untuk mengurangi atau menambahkan indetntasi 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.
Page 47
51
9) Sketch
a) Verify/Compile
Berfungsi untuk mengecek apakah sketch yang sudah dibuat ada
kekeliruan dari segi sintaks atau tidak. Jika tidak ada kesalahan, maka
sintaks yang telah dibuat akan dikompile kedalam bahasa mesin.
b) Upload
Berfungsi mengirimkan program yang sudah dikompilasi ke Arduino
Board.
c) Uplad Using Programmer
Menu ini berfungsi untuk menuliskan bootloader kedalam IC
Mikrokontroler Arduino. Pada kasus ini user membutuhkan perangkat
tambahan seperti USBAsp 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 juga bisa
menambahkan library eksternal dari file .zip kedalam Arduino IDE.
Page 48
52
g) Add File…
Berfungsi untuk menambahkan file kedalam sketch arduino (file akan
dikopikan dari drive asal). File akan muncul sebagai tab baru dalam
jendela sketch.
10) 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
Berungsi membuka jendela serial monitor untuk melihat pertukaran
data.
e) Board
Berfungsi memilih dan melakukan konfigurasi board yang digunakan.
f) Port
Memilih port sebagai kanal komunikasi antara software dengan
hardware.
g) Programmer
Menu ini digunakan ketika hendak melakukan pemrograman chip
mikrokontroler tanpa menggunakan koneksi Onboard USB-Serial.
Biasanya digunakan pada proses burning bootloader.
Page 49
53
h) Burn Bootloader
Mengizinkan user untuk mengkopikan program bootloader kedalam IC
mikrokontroler.
11) 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.
b. Dasar Pemrograman
1) Struktur Program
Setiap program Arduino mempunyai dua buah fungsi yang harus ada :
a) void setup() { }
Semua kode didalam kurung kurawal akan djalankan hanya satu kali
ketika program Arduino dijalankan untuk pertama kalinya.
b) void loop() { }
Fungsi ini akan dijalankan setelah fungsi setup dijalankan. Fungsi ini
akan dijalankan lagi, dan lagi secara terus menerus sampai catu daya
(power) dilepaskan.
2) Syntax
Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format
penulisan.
Page 50
54
a) // (komentar satu baris)
Diperlukan untuk memberi catatan pada suatu blok program untuk arti
dari kode-kode yang dituliskan. Apapun yang dituliskan atau diketikan
dibelakang dua buah garis miring ini akan diabaikan oleh program.
b) /* */ (komentar banyak baris)
Jika programmer memerlukan banyak catatan yang akan dituliskan
pada beberapa baris, pada suatu blok program. Semua yang dituliskan
atau diketikan diantara dua simbol tersebut akan diabaikan oleh
program.
c) { } (kurung kurawal)
Digunakan untuk mendefinisikan kapan blok program mulai dan
berakhir, biasanya digunakan pada fungsi atau perulangan.
d) ; (titik koma)
Setiap baris kode harus diakhiri dengan titik koma, jika suatu blok
program tidak diakhiri titik koma, maka program tidak akan bisa
dijalankan, dan compiler akan menyatakan error.
3) Variabel
Sebuah program secara garis besar dapat didefinisikan sebagai instruksi
untuk memindahkan angka dengan cara yang cerdas. Variabel inilah yang
digunakan untuk memindahkannya.
a) int (integer)
Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak
mempunyai angka desimal dan menyimpan nilai dari -32.786 dan
32.767.
Page 51
55
b) short (short)
Identik dengan int, menyimpan angka dalam 2 byte (16 bit).
c) unsigned int (unsigned int)
Digunakan untuk menyimpan bilangan bulat yang berkisar 0 dan
65535. Menyimpan angka dalam 2 byte (16 bit).
d) word (word)
Identik dengan unsigned int. Memiliki jumlah byte, 2 byte (16 bit).
e) long (long)
Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32
bit) dari memori (RAM) dan mempunyai rentang dari -2.147.483.684
dan 2.147483.647.
f) unsigned long (unsigned long)
Digunakan untuk menyimpan bilang bulat yang berkisar 0 dan
4292967295. Memakai 4 byte (32 bit) dari memori (RAM).
g) boolean (boolean)
Variabel sederhana yang digunakan untuk menyimpan nilai TRUE
(benar) atau FALSE (salah). Hanya menggunakan 1 bit dari RAM.
h) float (float)
Digunakan untuk angka desimal (floating point). Memakai 4 byte (32
bit) dari RAM dan mempunyai rentang dari -3,4028235E+38 dan
3,4028235E+38.
i) double (double)
Sama seperti float. Dan memakai 4 byte (32 bit) dari RAM.
Page 52
56
j) char (character)
Menyimpan 1 karakter menggunakan kode ASCII (misalnya ‘A’ = 65).
Hanya memakai 1 byte (8 bit) dari RAM.
k) byte (byte)
Menyatakan sebuah byte yang dapat menampung sebuah bilangan bulat
antara 0 dan 255. Memakai 1 byte (8 bit) dari RAM.
l) String (teks)
Menyatakan deretan karakter, yang biasa dipakai untuk menyatakan
teks. Penggunaannya dengan mengetikan karakter didalam double
quotes (“ ”).
4) Operator Matematika
Operator yang digunakan untuk memanipulasi angka (bekerja seperti
matematika yang sederhana).
a) = (sama dengan)
Membuat suatu variabel yang berada didepan operator ini, akan
menjadi sama dengan nilai yang lain (nilai yang berada dibelakang
operator ini).
b) % (modulo)
Menghasikan sisa dari hasil pembagian suatu anga dengan angka yang
lain.
c) + (penjumlahan)
Untuk melakukan operasi matematika penjumlahan.
d) - (pengurangan)
Untuk melakukan operasi matematika pengurangan.
Page 53
57
e) * (perkalian)
Untuk melakukan operasi matematika perkalian.
f) / (pembagian)
Untuk melakukan operasi matematika pembagian.
5) Operator Pembanding
Digunakan untuk membandingkan nilai logika.
a) == (sama dengan)
Untuk membandingkan dua nilai, dan akan menghasilkan benar atau
TRUE, jika kedua nilai yang dibandingkan sama.
b) != (tidak sama dengan)
Untuk membandingkan dua nilai, dan akan menghasilkan benar atau
TRUE, jika kedua nilai yang dibandingkan tidak sama.
c) < (lebih kecil dari)
Untuk membandingkan dua nilai, dan akan menghasilkan benar atau
TRUE, jika nilai yang dibandingkan lebih kecil daripada nilai
pembandingnya.
d) <= (lebih kecil dari sama dengan)
Untuk membandingkan dua nilai, dan akan menghasil kan benar atau
TRUE, jika nilai yang dibandingkan lebih kecil atau sama dengan nilai
pembandingnya.
e) > (lebih besar dari)
Untuk membandingkan dua nilai, dan akan menghasilkan benar atau
TRUE, jika nilai yang dibandingkan lebih besar daripada nilai
pembandingnya.
Page 54
58
f) >= (lebih besar sama dengan)
Untuk membandingkan dua nilai, dan akan menghasilkan benar atau
TRUE, jika nilai yang dibandingkan lebih besar atau sama dengan nilai
pembandingnya.
6) Struktur Pengaturan
Program sangat tergantung pada pengaturan apa yang akan dijalankan
berikutnya. Berikut ini adalah elemen dasar pengaturan :
a) if
Digunakan bersamaan dengan operator pembanding, menguji apakah
suatu kondisi tertentu telah tercapai.
b) if...else
Digunakan bersamaan dengan operator pembanding, menguji apakah
seuatu kondisi tertentu telah tercapai, namun jika kondisi tidak tercapai,
maka akan menjalankan perintah lainnya, yang berada pada blok else.
c) for
Digunakan untuk mengulangi satu blok pernyataan yang dilingkupi
kurung kurawal. Perulangan akan terus terjadi selama kondisi
perulangan terpernuhi, dan akan berhenti berulang jika kondisinya tidak
lagi terpenuhi.
d) switch...case
Mengendalikan aliran program dengan membiarkan pemrogram
menentukan kode berbeda yang harus dijalankan dalam berbagai
kondisi. Secara khusus, pernyataan ini membandingkan nilai variabel
dengan nilai yang ditentukan dalam pernyataan case. Ketika sebuah
Page 55
59
pernyataan pada blok switch ditemukan yang nilainya sesuai dengan
variabel pada blok case, kode yang berada didalam blok case akan
dijalankan.
7) Fungsi Input / Output
a) pinMode(pin, mode)
Digunakan untuk menetapkan mode dari suatu pin. Pin adalah nomor
pin yang akan digunakan dari 0 - 19 (pin analog A0 – A5, dan pin digital
0 - 13). Mode yang biasa digunakan INPUT atau OUTPUT.
Penggunaan INPUT, menginisialisasikan bahwa pin yang akan
digunakan tersebut, akan digunakan sebagai inputan (pemberi nilai
masukkan) bagi Arduino tersebut, sedangkan penggunaan OUTPUT,
menginisialisasikan bahwa pin yang akan digunakan tersebut, akan
digunakan sebagai output (pemberi nilai keluaran), pada Arduino
tersebut.
b) digitalWrite(pin, value)
Penggunaan digitalWrite(), adalah untuk pin yang modenya berupa
OUTPUT. Pemberian nilai yang bisa dilakukan adalah HIGH dan LOW,
jika pemberian nilai berupa HIGH, maka pin tersebut akan diberikan
tegangan maksimal yang mampu ditahan Arduino yaitu 5 volt. Dan jika
pemberian nilai berupa LOW, maka pin tersebut akan diberikan nilai
terendah Arduino, yaitu 0 volt. Pemberian 0 volt atau 5 volt, adalah
realisasi dari nilai digital yaitu 0 atau 1. Dimana 0 untuk 0 volt, dan 1
untuk 5 volt.
Page 56
60
c) digitalRead(pin)
Penggunaan digitalRead(), adalah untuk pin yang modenya berupa
INPUT. Pemberian nilai yang bisa dilakukan adalah HIGH dan LOW,
jika pemberian nilai berupa HIGH, maka pin tersebut akan diberikan
tegangan maksimal yang mampu ditahan Arduino yaitu 5 volt. Dan jika
pemberian nilai berupa LOW, maka pin tersebut akan diberikan nilai
terendah Arduino, yaitu 0 volt. Pemberian 0 volt atau 5 volt, adalah
realisasi dari nilai digital yaitu 0 atau 1. Dimana 0 untuk 0 volt, dan 1
untuk 5 volt.
d) analogWrite(pin, value)
Beberapa pin pada Arduino mendukung PWM (Pulse With
Modulation), yaitu pin 3, 5, 6, 9, 10, 11. Ini dapat merubah pin hidup
(on) atau mati (off), dengan sangat cepat sehingga membuatnya dapat
berfungsi layaknya keluaran analog. Value (nilai) pada format kode
tersebut adalah angka antara 0 (0 % duty cycle ~ 0 volt) dan 255 (100
% duty cycle ~ 5 volt).
e) analogRead(pin)
Ketika pin analog ditetapkan sebagai INPUT, maka pin tersebut akan
dapat digunakan untuk membaca keluaran voltasenya. Keluarannya
berupa angka antara 0 (untuk 0 volt) dan 1024 (untuk 5 volt).
8) Fungsi Waktu
a) milis()
Menghasilkan nilai waktu dalam satuan mili detik dihitung sejak sketch
dijalankan.
Page 57
61
b) delay(ms)
Menghentikan sementara program dalam satuan mili detik.
c) delayMicrosecond(ms)
Menghentikan sementara program dalam satuan mikro detik.
9) Fungsi Matematika
a) min(x, y)
Menghasilkan nilai terkecil diantara x dan y.
b) max(x, y)
Menghasilkan nilai terbesar diantara x dan y.
c) abs(x, y)
Menghasilkan nilai absolut dari nilai x.
d) map(value, fromLow, fromHigh, toLow, toHigh)
Mengubah skala antara formLow sampai dengan fromHigh menjadi
toLow sampai dengan toHigh. Biasanya digunakan untuk pembacaan
sensor.
e) pow(base, exponent)
Menghasilkan nilai pangkat eksponensial dari nilai base.
f) sqrt(x)
Menghasilkan nilai akar kuadrat dari nilai x.
g) sin(rad)
Menghasilkan nilai sinus dari nilai rad yang diinputkan.
h) cos(rad)
Menghasilkan nilai cosinus dari nilai rad yang diinputkan.
Page 58
62
i) tan(rad)
Menghasilkan nilai tangen dari nilai rad yang diinputkan.
10) Fungsi Komunikasi Serial
f) Serial.begin(speed)
Membuat komunikasi serial dengan kecepatan transfer data sebesar
nilai parameter speed.
g) Serial.print(data) dan Serial.print(data, encoding)
Mengirim data ke serial. Encoding dapat berupa DEC, HEC, OCT, BIN,
dan BYTE.
h) Serial.println(data) dan Serial.println(data, Encoding)
Mengirim data ke serial dengan tiap akhir data akan ditambahkan
karakter carriage return. Encoding dapat berupa DEC, HEX, OCT,
BIN, dan BYTE.
i) Serial.available()
Menghitung berapa banyak komunikasi serial yang tersedia.
j) Serial.read()
Menangkap satu byte dari data yang akan datang.
k) Serial.flush()
Data yang datang ada kemungkinan sangat cepat sehingga tidak sempat
diproses. Arduino menyimpan data-data tersebut di buffer. Fungsi flush
digunakan untuk mengosongkan buffer tersebut.
Page 59
63
2. Android Studio
Android Studio adalah Lingkungan Pengembangan Terpadu (Integrated
Development Environtment / IDE) resmi untuk pengembangan aplikasi android
berdasarkan IntelliJ IDEA. Selain alat editor dan pengembang kode IntelliJ yang
hebat, Android Studio menawarkan banyak fitur yang meningkatkan produktivitas
saat membangun aplikasi android, seperti :
a. Sistem Build berbasis Gradle yang fleksibel.
b. Emulator yang cepat dan kaya fitur.
c. Lingkungan terpadu yang dapat dikembangkan untuk semua perangkat
android.
d. Instant Run, untuk mendorong perubahan pada aplikasi yang sedang berjalan
tanpa membangun APK baru.
e. Template kode dan terintegrasi dengan GitHub, untuk membantu user
membangun fitur aplikasi umum, dan mengimpor contoh kode.
f. Alat pengujian dan kerangka kerja yang luas.
g. Lint Tools, untuk menangkap dan mengambil kinerja, kegunaan, kompatibilitas
versi, dan masalah lainnya.
h. Dukungan C++ dan NDK
Page 60
64
Dukungan terintegrasi untuk Google Cloud Platform, sehingga mudah
mengintegrasikan Google Cloud Messaging dan App Engine. (sumber :
https://developer.android.com/studio/intro/index.html)
Sumber : https://tctechcrunch2011.files.wordpress.com/2017/02/android-studio-logo.png
Gambar II.33 Logo Android Studio
Beberapa fitur dasar Android Studio, adalah :
a. Struktur Proyek
Setiap proyek di Android Studio berisi satu atau lebih modul, dengan file
kode sumber dan file sumber daya. Jenis modul meliputi :
1) Modul aplikasi Android.
2) Modul perpustakaan.
3) Modul Google App Engine.
Secara default, Android Studio menampilkan file proyek dalam tampilan
proyek android. Tampilan ini disusun oleh modul untuk menyediakan akses secara
cepat ke file sumber utama proyek tersebut.
Semua file build berada di atas Gradle Scripts, dan setiap modul aplikasi
berisi folder berikut :
a) Manifest : berisi file AndroidManifest.xml.
Page 61
65
b) Java : berisi file kode java, termasuk kode uji JUnit.
c) Res : berisi semua file non-kode, seperti layout XML, string UI, dan
gambar bitmap.
b. User Interface
Adapun menu bar yang ada di Android Studio adalah :
1) Toolbar
Melakukan berbagai jenis tindakan, termasuk menjalankan aplikasi dan
meluncurkan alat android.
2) Navigasi Bar
Membantu bernavigasi di antara proyek dan membuka file untuk di edit. Bilah
ini memberikan tampilan struktur yang terlihat lebih ringkas dalam jendela
Project.
3) Editor window
Adalah tempat membuat memodifikasi kode. Bergantung pada jenis file saat
ini, editor dapat merubah.
4) Tool window bar
Muncul di luar jendela IDE dan berisi tombol yang memungkinkan
memperbesar tampilan Android Studio.
5) Tool windows
Pengelolaan proyek, penulusuran, kontrol versi, dan banyak lagi.
6) Statur bar
Menampilkan status proyek dan IDE itu sendiri, serta peringatan atau pesan.
Page 62
66
Sumber : https://developer.android.com/studio/intro/index.html
Gambar II.34 Tampilan Editor Android Studio