5
BAB II
LANDASAN TEORI
2.1. Perangkat Keras
Menurut (Susilawati dan Risanto Darmawan, 2017) menyimpulkan bahwa:
Hardware atau perangkat keras adalah segala piranti atau komponen dari
sebuah rangkaian elektronika yang sifatnya bisa dilihat secara kasat mata dan
bisa diraba secara langsung. Hardware berfungsi untuk mendukung segala
proses dalam sebuah rangkaian elektronika dan bekerja sesuai perintah yang
sudah ditentukan penggunanya. Dengan adanya komponen hardware, maka
bentuk output dari setiap proses bisa direalisasikan
Perangkat keras adalah bagian komponen - komponen dari sebuah alat yang
berfungsi untuk memberikan masukan, mengolah dan menampilkan keluaran. Dan
digunakan oleh sistem untuk menjalankan perintah yang diprogramkan. Dalam hal ini
penulis akan menjelaskan tentang komponen apa saja yang digunakan pada alat ini,
pengertian dan fungsinya. Karena masing-masing komponen memiliki peran penting,
baik komponen elektronika aktif maupun pasif, sensor serta perangkat output yang
digunakan dalam pembuatan alat ini, maka penulis membaginya kedalam beberapa
kelompok yaitu IC analog, sumber tegangan, komponen elektronika dasar, sensor, led,
buzzer dan mikrokontroler.
2.1.1. Teori IC Digital / IC Analog
Menurut (Listriyarini dan Ratih, 2018) “Integrated Circuit (IC) adalah suatu
kelompok elektronik yang dibuat dari bahan semikonduktor dan merupakan
pengembangan dari transistor”.
IC memiliki fungsi dan tugas khusus yang telah ditentukan oleh
pembuatnya, tugas khusus ini ditentukan dengan bagaimana cara merangkai
6
komponen yang ada karena pada dasarnya adalah sebuah rangkaian tertentu
dengan fungsi tertentu pula.
Ada dua jenis Integrated Circuit (IC):
1. Integrated Circuit (IC) Analog
IC analog adalah IC yang tersusun oleh beberapa rangkaian analog (linear) dan
beroperasi dengan menggunakan sinyal sinusoidal. Pada umumnya IC analog
berfungsi sebagai penguat daya (power amplifier), penguat sinyal, penerima frekuensi
radio, penguat sinyal mikro.
2. IC Digital
Berbeda dengan IC analog, IC digital beroperasi pada tegangan 0 volt (low) dan
5 volt (high). IC digital sering digunakan sebagai aplikasi sakelar cepat, dalam
perkembangannya IC digital merupakan jenis IC yang paling banyak digunakan dalam
segala bidang elektronika, karena ukurannya kecil dan memiliki fungsi yang sangat
lengkap.
Sumber: https://teknikelektronika.com/jenis-jenis-pengelompokan-ic-integrated-circuit/
Gambar II.1. Integrated Circuit(IC)
2.1.2. Sumber Tegangan
Menurut (Fadlilah dan Ahmad Arifudin, 2018) mengatakan bahwa “Sumber
tegangan atau catu daya atau sering disebut dengan power supply adalah sebuah piranti
yang berguna sebagai sumber listrik untuk piranti lain”.
7
Menurut (Ponto, 2018) “Baterai atau akkumulator adalah sebuah sel listrik
dimana didalamnya berlangsung proses elektrokimia yang reversible (dapat
berkebalikan) dengan efisiensinya yang tinggi.” Yang dimaksud dengan reaksi
elektrokimia reversibel adalah didalam baterai dapat berlangsung proses pengubahan
kimia menjadi tenaga listrik (proses pengosongan) dan sebaliknya dari tenaga listrik
menjadi tenaga kimia (proses pengisian) dengan cara proses regenerasi dari elektroda
- elektroda yang dipakai yaitu, dengan melewatkan arus listrik dalam arah polaritas
yang berlawanan didalam sel. Baterai menghasilkan listrik melalui proses kimia.
Terdapat 2 jenis baterai berdasakan pada proses yang terjadi, yaitu:
1. Primary battery Baterai yang hanya dapat digunakan sekali saja dan dibuang.
Material elektrodanya tidak dapat berkebalikan arah ketika dilepaskan.
2. Secondary battery Baterai yang dapat digunakan dan diisi ulang beberapa kali,
proses kimia yang terjadi di dalam baterai ada reversibel, dan baha aktif dapat
kembali ke kondisi semula dengan pengisian sel. Berikut adalah gambar baterai
Sumber: https://components101.com/batteries/18650-lithium-cell
Gambar II.2. Baterai Lithium 18650
2.1.3. Komponen Elektronika
1. Resistor
Menurut (Wahyudi, 2018) “Resistor adalah komponen yang mempunyai sifat
menghambat arus listrik”. Satuan nilai dari resistor adalah ohm (Ω). Resistor
8
merupakan komponen elektronika dua kutub yang didesign untuk menahan arus listrik
dengan memproduksi tegangan listrik diantara kedua kutubnya, nilai tegangan
terhadap resistansi berbanding dengan arus yang mengalir.
a. Resistor Tetap (Fixed Resistor)
Resistor tetap merupakan suatu resistor yang nilai resistansinya tidak dapat
diubah. Resistor tetap memiliki nilai resistansi yang tertulis pada badan
resistor dengan menggunakan kode warna dan kode angka. Resistor jenis
ini sering digunakan sebagai penghambat arus listrik secara permanen
dalam rangkaian elektronika.
b. Resistor Tidak Tetap
Resistor variable adalah resistor yang nilai resistansinya dapat diubah
secara langsung baik dengan tuas yang telah tersedia atau menggunakan
obeng”. Ada 2 jenis Resistor variabel yang ada di pasaran yaitu Trimpot
dan Potensiometer.
Sumber: https://teknikelektronika.com/pengertian-resistor-jenis-jenis-resistor/
Gambar: II.3. Resistor
2. Kapasitor
Kapasitor adalah komponen dasar elektronika yang berfungsi untuk
menyimpan muatan listrik dengan symbol C (Capasitor). Struktur sebuah
kapasitor terbuat dari 2 buah plat metal yang dipisahkan oleh suatu bahan
dielektrik. Bahan dielektrik yang umum dikenal misalnya udara vakum,
9
keramik, gelas dan lain - lain. Jika kedua ujung plat metal diberi tegangan listrik, maka
muatan – muatan positif akan mengumpul pada salah satu kaki (elektroda) metalnya
pada saat yang sama muatan – muatan negatif terkumpul pada ujung metal yang satu
lagi. Muatan positif tidak dapat mengalir menuju ujung kutub negatif dan begitu juga
sebaliknya karena terpisah oleh bahan dielektrik yang nonkonduktif. Muatan elektrik
ini tersimpan selama tidak ada kondiksi pada ujung - ujung kakinya.
a. Kapasitor Elektrolit (ELCO)
Kelompok kapasitor elektrolit terdiri dari kapasitor – kapasitor yang bahan
dielektriknya adalah lapisan metal - oksida. Umumnya kapasitor yang
termasuk kelompok ini adalah kapasitor polar dengan tanda (+) (plus) (-)
(minus) dibadannya.
b. Kapasitor Keramik
Bentuk kapasitor keramik bermacam - macam. Karena sifatnya yang
stabil, kapasitor keramik bagus digunakan pada frekuensi tinggi. Pemasang
kapasitor keramik pada rangkaian elektronika boleh dibolak - balik. Nilai
kapasistansi kapasitor keramik sangat kecil, tetapi bagus digunakan pada
jangkauan tegangan yang luas hingga 100 volt.
Sumber: https://teknikelektronika.com/cara-membaca-menghitung-nilai-kapasitor-
berdasarkan-kode-angka/
Gambar II.4. Kapasitor
10
3. Kristal (X-tal)
Kristal umumnya digunakan sebagai rangkaian osilator yang menuntut
stabilitas frekuensi yang tinggi dalam jangka waktu yang panjang, akurasi
crystal umumnya pada berada dalam kisaran 30ppm, dengan akurasi yang
lebih tinggi akan semakin mahal harganya. Perlu diketahui bahwa setiap
mikrokontroler AVR memiliki fasilitas untuk memilih sumber clock atau
detak dengan banyak alternative pilihan. Keluarga AVR memberikan opsi
pilihan sumber clock untuk fleksibilitas penggunaan.
Sumber: https://sismik.stei.itb.ac.id/page/4/
Gambar II.5. X-tal
4. Pin Header
Header atau biasa dikenal dengan nama pin head berguna sebagai
soket tempat menghubungkan kabel-kabel konektor, ada dua jenis pin header yaitu pin
header male dan pin header female, walaupun berbeda namun memiliki fungsi yang
sama yaitu sebagai konektor.
Sumber: http://www.jogjarobotika.com/116-male-female-header
Gambar II.6. Pin Headet Male, Female
11
5. Socket Pin
Socket adalah tempat untuk memasang dan melepaskan IC. Fungsi dari socket
adalah untuk melindungi IC pada saat penyolderan dan memudahkan penggantian
apabila IC yang digunakan mengalami kerusakan.
Sumber: https://www.addicore.com/DIP-Socket-DIP-28-28-pin-0-3-Wide-p/160.htm
Gambar II.7. Socket Pin
6. Kabel Jumper
Kabel Jumper digunakan untuk menyalurkan energi listrik. Sebuah kabel listrik
terdiri dari isolator dan konduktor isolator adalah bahan pembungkus kabel yang biasa
terbuat dari plastik atau karet, sedangakan konduktor terbuat dari tembaga.
Sumber: https://www.gadgetkudus.com/kabel-jumper-male-to-male-20cm/
Gambar II.8. Kabel Jumper
7. Modul I2C
Menurut (Sari, Cucu Suhery, dan Yudha Arman, 2015) memberikan batasan
bahwa “I2C merupakan singkatan dari Inter Integrated Circuit, yaitu sebuah protokol
untuk komunikasi serial antar IC dan sering disebut juga Two Wire Interface (TWI)”.
12
Sumber : www.miniinthebox.com
Gambar II.9. Modul I2C
8. Atmega328p
Atmega328 merupakan mikrokontroler keluarga AVR 8 bit. Beberapa
mikrokontroler yang sama dengan ATMega8 ini antara lain ATMega8535,
ATMega16, ATMega32, ATMega328, yang membedakan antara mikrokontroler
antara lain adalah ukuran memori, banyaknya GPIO (pin inpu/output), peripherial
(USART, timer, counter, dll). Dari segi ukuran fisik ATMega328 memiliki ukuran
fisik lebih kecil dibandingkan dengan beberapa mikrokontroler diatas. Namun untuk
segi memori dan peripheral lainnya ATMega328 tidak kalah dengan yang lainnya
karena ukuran memori dan peripheralnya relatif sama dengan ATMega8535,
ATMega32, hanya saja jumlah GPIO lebih sedikit dibandingkan mikrokontroler
diatas.
Sumber: https://klinikrobot.com/product/ic-atmel-avr-atmega/atmel-dip-atmega328p-pu.html
Gambar II.10. ATMega328
ATMega328 memiliki 3 buah PORT utama yaitu PORTB, PORTC, dan
PORTD dengan total pin input/output sebanyak 23 pin. PORT tersebut dapat
difungsikan sebagai input/output digital atau difungsikan sebagai peripheral lainnya.
13
a. Port B
Port B merupakan jalur data 8 bit yang dapat difungsikan sebagai
input/output. Selain itu PORTB juga dapat memiliki fungsi alternative
seperti di bawah ini.
1) ICP1 (PBO), berfungsi sebagai Timer Counter 1 input capture pin.
2) OC1A (PB!), OC1B (PB2) dan OC2 (PB3) dapat difungsikan sebagai
keluaran PWM (Pulse Width Modulation).
3) MOSI (PB3), MISO (PB4), SCK (PB5), SS (PB2) merupakan jalur
komunikasi SPI.
4) Selain itu pin ini juga berfungsi sebagai jalur pemograman serial (ISP).
5) TOSC1 (PB6) dan TOSC2 (PB7) dapat difungsikan sebagai sumber
clock external untuk timer.
6) XTAL1 (PB6) dan XTAL2 (PB7) merupakan sumber clock utama
mikrokontroler.
b. Port C
Port C merupakan jalur data 7 bit yang dapat difungsikan sebagai
input/output. Fungsi alternatif PORTC antara lain sebagai berikut.
1) ADC6 channel (PC0,PC1,PC2,PC3,PC4,PC5) dengan resolusi sebesar
10 bit. ADC dapat kita gunakan untuk mengubah input yang berupa
tegangan analog menjadi data digital.
2) I2C (SDA dan SDL) merupakan salah satu fitur yang terdapat pada
PORTC. I2C digunakan untuk komunikasi dengan sensor atau device
lain yang memiliki komunikasi data tipe I2C seperti sensor kompas,
accelerometer nunchuck.
14
c. Port D
Port D merupakan jalur data 8 bit yang masing-masing pin-nya juga dapat
difungsikan sebagai input/output. Sama seperti Port B dan Port C. Port D
juga memiliki fungsi alternatif dibawah ini.
1) USART (TXD dan RXD) merupakan jalur data komunikasi serial
dengan level sinyal TTL. Pin TXD berfungsi untuk mengirimkan data
serial, sedangkan RXD kebalikannya yaitu sebagai pin yang berfungsi
untuk menerima data serial.
2) Interrupt (INT0 dan INT1) merupakan pin dengan fungsi khusus
sebagai interupsi hardware. Interupsi biasanya digunakan sebagai
selaan dari program, misalnya pada saat program berjalan kemudian
terjadi interupsi hardware/software maka program utama akan
berhenti dan akan menjalankan program interupsi.
3) XCK dapat difungsikan sebagai sumber clock external untuk USART,
namun kita juga dapat memanfaatkan clock dari CPU, sehingga tidak
perlu membutuhkan external clock.
4) T0 dan T1 berfungsi sebagai masukan counter external untuk timer 1
dan timer 0.
5) AIN0 dan AIN1 keduanya merupakan masukan input untuk analog
comparator.
ATMega328 adalah mikrokontroler keluaran dari atmel yang mempunyai
arsitektur RISC (Reduce Intruction Set Computer) yang mana setiap proses eksekusi
data lebih cepat dari pada arsitektur CISC (Completed Intruction Set Computer).
Mikrokontroler ini memiliki beberapa fitur antara lain:
15
a. Memiliki EEPROM (Electrically Erasable Programmable Read Only
Memory) sebesar 1KB sebagai tempat penyimpanan data semi permanen
karena EEPROM tetap dapat menyimpan data meskipun catu daya dimatikan.
b. Memiliki SRAM (Static Random Access Memory) sebesar 2 KB.
c. Memiliki pin I/O digital sebanyak 14 pin 6 diantaranya PWM (pulse Width
Modulation) output.
d. 32 x 8-bit register serba guna.
e. Dengan clock 16 MHz kecepatan mencapai 16 MIPS.
f. 32 KB Flash memory dan pada arduino memiliki bootloader yang
menggunakan 2 KB dari flash memori sebagai bootloader.
g. 130 macam intruksi yang hampir semuanya dieksekusi dalam satu siklus
clock.
9. Motor Driver L293D
Driver Motor DC H-Bridge Dengan IC L293D merupakan rangkaian penggerak
motor DC H-Bridge yang sangat sederhana dan dapat digunakan untuk mengontrol 2
unit motor DC secara PWM maupun dengan logika TTL. Rangkaian Driver Motor DC
H-Bridge Dengan IC L293D menjadi sangat sederhana karena menggunakan IC
L293D yang didesain khusus sebagai driver motor DC H-Bridge dengan 2 unit
rangkaian kontrol motor DC dalam 1 IC yang independen. Untuk membuat driver
motor DC dengan teknik H-Bridge menggunakan IC L293D seperti pada artikel
“Driver Motor DC H-Bridge Dengan IC L293D” ini dapat dirakit pada PCB yang
kecil. Driver Motor DC H-Bridge Dengan IC L293D dapat digunakan untuk
mengontrol 2 buah motor DC sekaligus. Driver Motor DC H-Bridge Dengan IC
L293Dini dapat digunakan untuk mengendalikan motor DC secara kontinyu ataupun
dengan teknik PWM. Rangkaian driver motor dc dalam artikel “Driver Motor DC H-
16
Bridge Dengan IC L293D” ini hanya menggunakan IC L293D saja dan mampu
mengendalikan motor DC dengan kapasitas arus hingga 1A untuk tiap unitnya. Untuk
merakit rangkaian Driver Motor DC H-Bridge Dengan IC L293D dapat melihat
gambar berikut.
Sumber: http://e-belajarelektronika.com/driver-motor-dc-h-bridge-dengan-ic-l293d/
Gambar II.11. Rangkaian Driver Mootor DC
Untuk megoperasikan rangkaian Driver Motor DC H-Bridge Dengan IC
L293D ini adalah dengan memberikan logika HIGH dan LOW atau dengan pulsa
PWM pada teminal input 1A – 1B dan terminal 2A – 2B. Jalur input Enable 1 dan
Enable 2 digunakan untuk mengaktifkan driver motor DC H-Bridge pada IC L293D.
Konfigurasi kontrol rangkaian Driver Motor DC H-Bridge Dengan IC L293D dapat
dilihat pada tabel berikut :
Table II.1.
Logika High dan Low
Enable
0
1
1
1
1
Input A
X
0
1
1
0
Input B
X
1
0
1
0
17
Dalam aplikasi rangkaian Driver Motor DC H-Bridge Dengan IC L293D, IC
L293D akan menghasilkan panas pada saat mengendalikan motor DC. Oleh karena itu
perlu dipasang pendingin (heat sink) kecil untuk menyerap panas yang dihasilkan IC
tersebut. Rangkaian Driver Motor DC H-Bridge Dengan IC L293D ini dapat
digunakan untuk kontrol motor DC pada robot line follower maupun robot-robot yang
lain. Jalur input atau terminal input rangkaian Driver Motor DC H-Bridge Dengan IC
L293D dapat dihubungkan ke microcontroler atau IC TTL secara langsung tanpa
tambahan interface.
Sumber: https://potentiallabs.com/cart/l293d-ic
Gambar II.12. IC L39D
2.1.4. Sensor
1. Infrared
Rangkaian sensor infra merah menggunakan foto transistor dan led infra merah
yang dihubungkan secara optik. Foto transistor akan aktif apabila terkena cahaya dari
led infra merah. Antara Led dan foto transistor dipisahkan oleh jarak. Jauh dekatnya
jarak memengaruhi besar intensitas cahaya yang diterima oleh foto transistor. Apabila
antara Led dan foto transistor tidak terhalang oleh benda, maka foto transistor akan
aktif. Transistor BC 547 akan tidak aktif karena tidak ada arus yang mengalir ke basis
transistor BC 547. Karena transistor tersebut tidak aktif, maka tidak ada arus yang
mengalir dari kolektor ke emitor sehingga menyebabkan transistor BD 139 tidak aktif
18
dan outputnya berlogik ‘1’ dan Led padam. Apabila antara Led dan foto transistor
terhalang oleh benda, foto transistor akan tidak aktif, sehingga transistor BC 547 akan
aktif karena ada arus mengalir ke basis transistor BC 547. Dengan transistor dalam
keadaan on, maka arus mengalir dari kolektor ke emitor sehingga menyebabkan
transistor BD 139 on dan outputnya berlogik ‘0’ serta Led menyala.
Sumber: https://sea.banggood.com/search/infrared-sensor.html
Gambar II.13. Sensor Infrared
2. HC-SR 04 Ultrasonik
Menurut (Santoso, Wijaya Kurniawan dan Gembong Edhi Setyawan, 2017)
mengatakan bahwa “HC-SR 04 merupakan sensor ultrasonik yang dapat
digunakan untuk mengukur jarak antara penghalang dan sensor”.
Sensor ultrasonik adalah sebuah sensor yang berfungsi untuk mengubah besaran
fisi(bunyi) menjadi besaran listrik dan sebaliknya. Cara kerja sensor ini
didasarkan pada prinsip dari pantulan suatu gelombang suara sehingga dapat
dipakai untuk menafsirkan eksistensi (jarak) suatu benda dengan frekuensi
tertentu. Disebut sebagai sensor ultrasonik karena sensor ini menggunakan
gelombang ultrasonik (bunyi ultrasonik).
Cara menggukan alat ini yaitu ketika kita memberikan tegangan positif pada pin
Trigger selama 10uS, maka sensor akan mengirimkan 8 step sinyal ultrasonik
dengan frekuensi 40kHz. Selanjutnya sinyal akan diterima pada pin Echo.
19
Untuk mengatur jarak benda yang memantulkan sinyal tersebut, maka selisih
waktu ketika mengirim dan menerima sinyal digunakan untuk menentukan jarak
benda tersebut.
Sumber: https://www.elangsakti.com/2015/05/sensor-ultrasonik.html
Gambar II.14. Sensor Ultrasonik
2.1.5. Output
1. LCD (Liquid Crystal Display)
Menurut (Dinata dan Wahri Sunanda, 2015) memberikan batasan bahwa “LCD
berfungsi untuk menampilkan suatu nilai hasil sensor, menampilkan teks, atau
menampilkan menu pada aplikasi mikrokontroler”.
Adapun fitur yang disajikan dalam LCD ini adalah:
a. Terdiri dari 16 karakter dan 2 baris.
b. Mempunyai 192 karakter tersimpan.
c. Terdapat karakter generator terprogram.
d. Dapat dialamati dengan mode 4-bit dan 8-bit.
e. Dilengkapi dengan back light.
20
Sumber : Dinata dan Wahri Sunanda (2015:86)
Gambar II.15. LCD (Liquid Crystal Display)
2. Buzzer
Menurut (Purnamasari dan Romi Wijaya, 2017) memberikan batasan bahwa
“Buzzer adalah sebuah komponen elektronika yang berfungsi untuk mengubah
getaran listrik menjadi getaran suara”.
Buzzer merupakan sebuah komponen elektronika yang masuk dalam keluarga
transduser, yang dimana dapat mengubah sinyal listrik menjadi getaran suara.
Nama lain dari komponen ini disebut dengan beeper. Pada saat ada aliran catu
daya atau tegangan listrik yang mengalir ke rangkaian yang menggunakan
piezoelectric, maka akan terjadi pergerakan mekanis pada piezoelectric
tersebut, yang dimana gerakan tersebut mengubah energi listrik menjadi energi
suara yang dapat didengar oleh telinga manusia. Piezoelectric menghasilkan
frekuensi di range kisaran antara 1 – 5 kHz hingga 100 kHz yang diaplikasikan
ke Ultrasound, tegangan operasional piezoelectric pada umumnya yaitu berkisar
antara 3Vdc hingga 12 Vdc.
Sumber: https://uk.farnell.com/mallory/sbs300fl/piezo-speaker-medical-105dba/
Gambar II.16. Buzzer
21
3. Motor servo
Menurut (Iswanto, 2016) mengatakan bahwa “Motor Servo adalah sebuah
motor dengan sistem closed feedback di mana posisi dari motor akan
dikonfirmasikan kembali ke rangkaian kontrol yang ada di dalam motor servo”.
Motor servo adalah sebuah motor dengan sistem closed feedback dimana posisi
dari motor akan diinformasikan kembali ke rangkaian kontrol yang ada di dalam
motor servo . Motor ini terdiri dari sebuah motor, serangkaian gear,
potensiometer dan rangkaian kontrol. Potensiometer berfungsi untuk
menentukan batas sudut dari putaran servo . Sedangkan sudut dari sumbu motor
servo diatur berdasarkan lebar pulsa yang dikirim melalui kaki sinyal dari kabel
motor. Tampak pada gambar dengan pulsa 1.5 ms pada periode selebar 2 ms
maka sudut dari sumbu motor akan berada pada posisi tengah. Semakin lebar
pulsa OFF maka akan semakin besar gerakan sumbu ke arah jarum jam dan
semakin kecil pulsa OFF maka akan semakin besar gerakan sumbu ke arah yang
berlawanan dengan jarum jam. Motor servo biasanya hanya bergerak mencapai
sudut tertentu saja dan tidak continue seperti motor DC maupun motor stepper.
Walau demikian, untuk beberapa keperluan tertentu, motor servo dapat
dimodifikasi agar bergerak continue. Pada robot, motor ini sering digunakan
untuk bagian kaki, lengan atau bagian-bagian lain yang mempunyai gerakan
terbatas dan membutuhkan torsi cukup besar.
Motor servo adalah motor yang mampu bekerja dua arah (CW dan CCW)
dimana arah dan sudut pergerakan rotornya dapat dikendalikan hanya dengan
memberikan pengaturan duty cycle sinyal PWM pada bagian pin kontrolnya.
Berikut adalah gambar Servo Sg90 :
22
Sumber: https://servodatabase.com/servo/towerpro/sg90
Gambar II.17. Motor Servo
4. Motor DC
Motor Listrik DC atau DC Motor ini menghasilkan sejumlah putaran per menit
atau biasanya dikenal dengan istilah RPM (Revolutions per minute) dan dapat dibuat
berputar searah jarum jam maupun berlawanan arah jarum jam apabila polaritas listrik
yang diberikan pada Motor DC tersebut dibalikan. Motor Listrik DC tersedia dalam
berbagai ukuran rpm dan bentuk. Kebanyakan Motor Listrik DC memberikan
kecepatan rotasi sekitar 3000 rpm hingga 8000 rpm dengan tegangan operasional dari
1,5V hingga 24V.
Terdapat dua bagian utama pada sebuah Motor Listrik DC,
yaitu Stator dan Rotor. Stator adalah bagian motor yang tidak berputar, bagian yang
statis ini terdiri dari rangka dan kumparan medan. Sedangkan Rotor adalah bagian
yang berputar, bagian Rotor ini terdiri dari kumparan Jangkar. Dua bagian utama ini
dapat dibagi lagi menjadi beberapa komponen penting yaitu diantaranya
adalah Yoke (kerangka magnet), Poles (kutub motor), Field winding (kumparan
medan magnet), Armature Winding (Kumparan Jangkar), Commutator (Komutator)
dan Brushes (kuas/sikat arang).
23
Sumber: https://duwiarsana.com/produk/motor-dc-6v-roda/
Gambar II.18. Motor DC
2.1.6. Arduino
Menurut (Kadir, 2017) mengatakan bahwa “Arduino Uno adalah papan yang
mengandung sebuah mikrokontroler buatan Atmel (Atmega328p) yang menjadi pusat
pengendali perangkat keras dan sejumlah pin untuk kepentingan operasi masukan
(input) dan keluaran (output)”.
Mikrokontroler sebuah pengembangan lebih lanjut mengenai mikroprosesor
adalah mikrokontroler. bila dalam penggunaannya, mikroprosesor membutuhkan
RAM (Random Akses Memory) dan ROM (Read Only Memory) untuk membuat suatu
alat yang sederhana. Akan tetapi dalam sebuah chip Mikrokontroler, piranti-piranti
tersebut telah terintegrasi cukup lengkap didalam nya, bahkan sekarang
mikrokontroler ada yang memiliki piranti-piranti tambahan lain yang terintegrasi di
dalamnya, seperti ADC (Analog Digital Converter), RTC (Real Time Clock), dan
lainlain. Penggunaan mikrokontroler dapat mengurangi komponen yang akan
digunakan bila kita akan membuat suatu alat atau rangkaian elektronik.
Arduino adalah sebuah papan mikrokontroler yang sudah didesain dan dibuat oleh
salah satu perusahaan dari Italia yang memudahkan pengguna dalam mengembangkan
proyek-proyek automasi dan mikrokontroler lainnya dengan mudah dan bersifat open
source.
24
Sumber: https://store.arduino.cc/usa/arduino-uno-rev3
Gambar II.19. Arduino Uno
2.2 Perangkat Lunak
Menurut (Utami, 2015) mengatakan bahwa “Perangkat lunak (software) adalah
program yang berisi kumpulan instruksi untuk melakukan proses pengolahan data”.
Perangkat lunak atau piranti lunak (Software) adalah istilah khusus untuk data
yang diformat, dan disimpan secara digital, termasuk program computer,
dokumentasinya, dan berbagai informasi yang bias dibaca, dan ditulis oleh
computer.Dengan kata lain, bagian dari system computer yang tidak terwujud.Istilah
ini menonjolkan perbedaan dengan perangkat keras computer.
Pembuatan perangkat lunak itu sendiri memerlukan “Bahasa pemrograman”
yang ditulis oleh seorang pemrogram untuk selanjutnya.dikompilasi dengan aplikasi
komplier sehingga menjadi kode yang bias dikenali oleh mesin hardware
2.2.1. Bahasa Pemprograman
Menurut (Iswanto dan Nia Maharani Raharja, 2015) menyimpulkan bahwa:
Bahasa C pertama kali digunakan di komputer Digital Equipment Corporation
PDP-11 yang menggunakan sistem operasi UNIX C adalah bahasa yang
standar, artinya suatu program yang ditulis dengan bahasa C tertentu akan
dapat dikonversi dengan bahasa C yang lain dengan sedikit modifikasi, Standar
bahasa C yang asli adalah standar dari UNIX.
Bahasa yang digunakan dalam pembuatan robot avoider adalah bahasa C.
25
1. Struktur
Struktur dalam penulisan program bahasa C mencakup tiga hal yaitu File
Header, Fungsi Utama, Fungsi Lain. Dalam pemprograman bahasa C
biasa menggunakan fungsi utama Main() yang akan dijalankan pertama
kali pada saat eksekusi program, meskipun didalam fungsi utama ini terdapat
statement yang memanggil fungsi lain. Sedangkan didalam program
Arduino (Sketch) memiliki dua fungsi yang diperlukan yang setiap
fungsinya melampirkan blok-blok pernyataan.
void setup()
statements;
void loop()
statements;
a. Void setup()
Fungsi setup() akan dipanggil ketika sketch dijalankan pertama kali dan
hanya akan berjalan sekali, yaitu setiap power-upatau restart
boardArduino. Struktur fungsi ini berguna untuk menginisialisasi mode
pin, variabel, memulai penggunaan library, dll
26
b. Void loop()
Setelah fungsi setup() selesai, fungsi loop() akan dijalankan secara terus
menerus sampai catu daya (power supply) dilepas. Fungsi ini akan
secara aktif mengontrol board Arduino baik secara input maupun output.
2. Syintax
Bahasa C memerlukan beberapa elemen dalam format penulisan, yaitu:
a. ; (titik koma) digunakan pada akhir setiap baris kode.
b. (kurung kurawal) untuk mendefinisikan awal fungsi dan akhir fungsi.
c. // (baris komentar) digunakan untuk memberi satu baris catatan dari arti kode-
kode yang dituliskan.
d. /**/ (blok komentar) digunakan untuk memberi dua atau lebih baris catatan
dari arti kode-kode yang dituliskan
e. #include yaitusatu jenis pengarah praprosessor yang dipakai untuk membaca
file yang dinamakan file judul (header file)
3. Operator aritmatika
Operator ini digunakan untuk memanipulasi angka yang bekerja seperti
matematika sederhana. Operator Aritmatika digolongkan dalam Operator
binarydan operator unary.
a. (=) Membuat sesuatu menjadi sama dengan nilai yang lain (misalnya: x =
10 * 2, x sekarang sama dengan 20).
b. (%) Menghasilkan sisa dari hasil pembagian suatu angka dengan angka
yang lain (misalnya: 12 % 10, ini akan menghasilkan angka 2)
c. (+) Penjumlahan
d. (-) Pengurangan
e. (*) Perkalian
27
f. (/) Pembagian
4. Operator pembanding
Operator ini digunakan untuk membandingkan dua buah nilai dengan hasil berupa
nilai numerik 1 (True) atau 0 (False).
a. (==) Sama dengan (misalnya: 12 == 10 adalah FALSE (salah) atau 12 ==
12 adalah TRUE (benar))
b. (!=) Tidak sama dengan (misalnya: 12 != 10 adalah TRUE (benar) atau 12
!= 12 adalah FALSE (salah))
c. (>) Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12
adalah FALSE (salah) atau 12 > 14 adalah FALSE (salah))
d. (<) Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12
adalah FALSE (salah) atau 12 < 14 adalah TRUE (benar))
5. Struktur pengaturan
Sebuah program memiliki suatu struktur dan pengaturan untuk menjalankan
perintah programnya, yang biasa disebut juga dengan seleksi kondisi. Beberapa
seleksi kondisi yang biasa digunakan dalam bahasa C sebagai berikut:
a. if..else, dengan format seperti berikut ini:
if (kondisi)
else if (kondisi)
else
Digunakan untuk memilih satu dari dua atau lebih pernyataan dengan
menjalankan pernyataan if terlebih dahulu, jika kondisinya TRUE maka akan
diteruskan perintah programnya, jika kondisinya FALSE maka pernyataan else
yang akan dijalankan.
28
b. for, dengan format seperti berikut ini:
for (int i = 0; i < #pengulangan; i++)
Digunakan untuk melakukan perulangan pada suatu kondisi menggunakan
perhitungan (counter) yang pasti.
6. Digital I/O
I/O digital pada Arduino memiliki fungsi sendiri untuk mengaksesnya. Fungsi
ini menyederhanakan perintah yang berhubungan dengan pin I/O Arduino.
a. pinMode (pin, mode)
Berfungsi untuk mengkonfigurasi pin tertentu secara spesifik untuk
digunakan sebagai input atau output. Pin adalah nomor pin yang akan
digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Pada Arduino 1.0.1
dimungkinkan untuk mengaktifkan resistor pullup internal dengan mode
INPUT_PULLUP dan mode INPUTeksplisit menonaktifkan pullups
intern
b. digitalWrite (pin, value)
Berfungsi untuk memberi nilai HIGHatau LOWke pin digital. Jika pin
dikonfigurasi sebagai OUTPUTdengan pinMode(), maka tegangan akan
diatur ke nilai yang sesuai, yaitu 5V atau 3.3V untuk HIGHdan 0V
(ground) untuk LOW. Jika pin dikonfigurasi sebagai INPUTdengan
pinMode(), maka digitalWrite() akan mengaktifkan (HIGH) atau
menonaktifkan (LOW) dengan pullup internal pada pin input.
c. digitalRead (pin)
Berfungsi untuk membaca nilai dari pin digital tertentu, baik itu HIGHatau
LOW.
29
7. Analog I/O
Arduino memang sebuah mesin digital, tetapi mempunyai kemampuan untuk
beroperasi didalam analog.
a. AnalogRead (pin)
Berfungsi untuk membaca nilai analog melalui pin analog. Pada Arduino
Uno sendiri memiliki 6 channel analog. Ketika pin analog ditetapkan
sebagai INPUT, maka keluaran voltase dapat dibaca, yang keluarannya
antara angka 0 (0V) dan 1024 (5V).
b. AnalogWrite (pin, value)
Pin pada Arduino ada yang mendukung PWM (pulse width modulation)
yaitupin 3, 5, 6, 9, 10, 11, yang dapat merubah pin hidup (on) atau mati (off)
dengan cepat sehingga dapat membuatnya berfungsi seperti keluaran
analog. Valueatau nilai pada format kode tersebut adalah antara angka 0 (0%
duty cycle –0V) dan 255 (100% duty cycle –5V).
8. Delay (time)
Fungsi ini untuk menghentikan sementara program selama waktu yang ditentukan
dalam milidetik. Delay (1000) sama dengan 1 detik
4.2.2. Aplikasi Program (Arduino IDE)
Arduino dapat digunakan untuk mengembangkan objek interaktif, mengambil
masukan dari berbagai switch atau sensor, dan mengendalikan berbagai lampu, motor,
dan output fisik lainnya. Proyek Arduino dapat berdiri sendiri, atau berkomunikasi
dengan perangkat lunak (software) yang berjalan pada komputer (misalnya: Flash,
Pengolahan, MaxMSP, database, dsb). Board dapat dirakit sendiri atau dibeli; open-
source IDE dapat didownload secara gratis.
30
Arduino adalah software open source yang memudahkan untuk menulis kode
program dan meng-upload-nya ke board Arduino. Software Arduino dapat berjalan
pada Windows, Mac OS X, dan Linux. Software ini ditulis dalam bentuk Java dan
berbasis processing, avr-gcc, dan perangkat lunak open source lainnya.
Software Arduino IDE (Integrated Development Environment) adalah sebuah
perangkat lunak yang memudahkan dalam mengembangkan aplikasi mikrokontroler
mulai dari menuliskan source program, kompilasi, upload hasil kompilasi, dan uji coba
secara terminal serial. Arduino dapat dijalankan di komputer dengan berbagai macam
platform karena didukung atau berbasis Java. Source program yang dibuat untuk
aplikasi mikrokontroler adalah bahasa C/C++ dan dapat digabungkan dengan
assembly.
Lingkungan open-source Arduino memudahkan untuk menulis kode dan
meng-upload ke board Arduino. Ini berjalan pada Windows, Mac OS X, dan Linux.
Berdasarkan Pengolahan, avr-gcc, dan perangkat lunak sumber terbuka lainnya. Di
samping IDE Arduino sebagai jantungnya, bootloader adalah jantung dari Arduino
lainnya yang berupa program kecil yang dieksekusi sesaat setelah mikrokontroler
diberi catu daya. Bootloader ini berfungsi sebagai pemonitor aktifitas yang diinginkan
oleh Arduino. Jika dalam IDE terdapat file hasil kompilasi yang akan di-upload,
bootloader secara otomatis menyambutnya untuk disimpan dalam memori program.
Jika pada saat awal mikrokontroler bekerja, bootloader akan mengeksekusi program
aplikasi yang telah diupload sebelumnya. Jika IDE hendak mengupload program baru,
bootloader seketika menghentikan eksekusi program berganti menerima data program
untuk selanjutnya diprogramkan dalam memori program mikrokontroler.
Hubungan komunikasi data antara IDE arduino dengan board Arduino
digunakan komunikasi secara serial dengan protokol RS232. Jika board arduino sudah
31
dilengkapi dengan komunikasi serial RS232 (biasanya USB), maka dapat langsung
ditancapkan ke USB komputer. Piranti serial RS232 ini digunakan jika board arduino
atau arduino buatan sendiri tidak dilengkapi dengan piranti serial 232.
Sumber: https://www.arduino.cc/en/Main/Software
Gambar II.20. Arduino Ide