bab ii landasan teori · dioda terbentuk dari bahan semikonduktor tipe p dan n yang digabungkan....
TRANSCRIPT
6
BAB II
LANDASAN TEORI
2.1. Perangkat Keras
Dalam teori ini akan membahas tentang komponen apa saja yang digunakan
dalam “Pembuatan Alat Pendeteksi Kebocoran Listrik Rumah Dengan
Mikrokontroler Arduino”, baik fungsi maupun pengertiannya. Setiap komponen
memiliki peran penting dalam pembuatan alat ini, baik komponen pasif ataupun
aktif.
2.1.1. Sumber Tegangan
Menurut (Sitohang et al., 2018) ”Sumber Tegangan adalah sebuah perangkat
yang memasok listrik energi untuk satu atau lebih beban listrik. Catu daya menjadi
bagian yang penting bagi perangkat elektonik yang berfungsi sebagai sumber tenaga
listrik”.
Sedangkan menurut (Fadlilah & Arifudin, 2018) menyatakan bahwa :
Sumber tegangan atau catu daya atau sering disebut dengan power supply
adalah sebuah piranti yang berguna sebagai sumber listrik untuk piranti lain.
Pada dasarnya catu daya bukanlah sebuah alat yang menghasilkan energi
listrik saja, namun ada beberapa catu daya yang menghasilkan energi
mekanik, dan energi yang lain.
Menurut (Nawali, Sompie, & Tulung, 2015) Ada dua sumber tegangan atau
catu daya, yaitu :
1. Sumber DC (Direct Current).
Sumber DC adalah sumber tegangan searah. Tegangan DC dapat diperoleh dari
baterai ataupun accu. Perangkat elektronik seharusnya dicatu oleh suplai arus
searah DC yang stabil agar dapat bekerja dengan baik. Namun, untuk aplikasi
7
yang membutuhkan catu daya lebih besar, sumber dari baterai atau accu tidaklah
cukup.
2. Sumber AC (Alternating Current)
Sumber AC adalah sumber tegangan bolak-balik. Tegangan AC merupakan catu
daya yang besar karena didapat dari pembangkit tenaga listrik. Karna pada
umumnya perangkat elektronik menggunakan sumber DC, maka diperlukan
suatu perangkat catu daya yang dapat mengubah tegangan AC menjadi DC.
Untuk mengoperasikan alat Pendeteksi Kebocoran Listrik Rumah ini,
diperlukan catu daya sekitar 5-12 volt, catu daya ini dapat berasal dari adaptor AC ke
DC atau baterai yang dapat memberikan catu daya antara 7-12 volt, sesuai dengan
ketentuan yang ditetapkan pada datasheet Arduino Uno. Atau dapat juga
menggunakan koneksi USB, namun hal ini tidak disarankan karena koneksi USB
hanya mampu memberikan catu daya sebesar 5 volt, yang nantinya dapat
memungkinkan kinerja alat kurang maksimal.
2.1.2 Komponen Elektronika
Menurut Afrianto dalam (E. Maulana & Purnama, 2017) “Komponen
Elektronika disimpulkan bahwa “rangkaian elektronika, komponen-komponen
elektronika dibagi dalam jenis komponen pasif dan komponen aktif”.
1. Komponen Aktif
Menurut (E. Maulana & Purnama, 2017) “Komponen aktif adalah komponen
yang dapat digunakan jika ada tegangan minimal”. Contoh komponen aktif,
yaitu :
a. Dioda
Dioda merupakan salah satu komponen aktif yang banyak digunakan sebagai
penyearah arus AC ke DC. Ketika sebuah dioda difungsikan menjadi
8
penyerarah tegangan AC ke DC, maka fungsi dioda akan aktif ketika dialiri
sinyal AC. Maka dari itulah dioda disebut sebagai komponen aktif. Selain
digunakan sebagai penyearah tegangan AC ke DC, dioda juga memiliki
banyak fungsi tergantung dari jenis dan tipe dioda tersebut (Angga, 2016).
Sumber : ecadio.com
Gambar II.1 Dioda
Dioda terbentuk dari bahan semikonduktor tipe P dan N yang digabungkan.
Dengan demikian dioda sering disebut PN junction. Dioda adalah gabungan
bahan semikonduktor tipe N yang merupakan bahan dengan kelebihan
elektron dan tipe P adalah kekurangan satu elektron sehingga membentuk
Hole. Hole dalam hal ini berfungsi sebagai pembawa muatan. Apabila kutub
P pada dioda (anoda) dihubungkan dengan kutub positif sumber maka akan
terjadi pengaliran arus listrik dimana elektron bebas pada sisi N (katoda) akan
berpindah mengisi hole sehingga terjadi pengaliran arus. Sebaliknya apabila
sisi P dihubungkan dengan negatif baterai/sumber, maka elektron akan
berpindah ke arah terminal positif sumber. Didalam dioda tidak akan terjadi
perpindahan elektron (Gurupendidikan, 2019).
Sumber : gurupendidikan.co.id
Gambar II.2 Simbol Dioda dan Konstruksi Dioda
9
Sumber : Teknikelektronika.com
Gambar II.3 Jenis-jenis Dioda
Berikut adalah jenis-jenis dioda menurut (Kho, 2017a) :
1) Dioda Normal
Dioda jenis ini merupakan dioda yang paling sering ditemui dalam
rangkaian elektronika, terutama pada rangkaian pencatu daya (power
supply) dan rangkaian frekuensi radio (RF). Dioda jenis ini disebut juga
Dioda Normal (Normal Diode) karena merupakan dioda standar yang
paling umum digunakan ataupun Dioda Penyearah (Rectifier Diode)
karena biasanya digunakan sebagai penyearah pada Pencatu Daya. Dioda
ini juga dikenal dengan nama PN Junction Diode.
2) Dioda Bridge
Dioda Bridge pada dasarnya adalah Dioda yang terdiri dari 4 dioda normal
yang umumnya digunakan sebagai penyearah gelombang penuh dalam
rangkaian Pencatu Daya (Power Supply). Dengan menggunakan Dioda
Bridge, kita tidak perlu lagi merangkai 4 buah dioda normal menjadi
rangkaian penyearah tegangan AC ke tegangan DC karena telah dikemas
menjadi 1 komponen. Dioda Bridge memiliki 4 kaki terminal yaitu 2 kaki
10
terminal Input untuk masukan tegangan/arus bolak-balik (AC) dan 2 kaki
terminal untuk Output Positif (+) dan Output Negatif (-).
3) Dioda Zener
Dioda Zener adalah jenis dioda yang dirancang khusus untuk dapat
beroperasi di rangkaian bias balik. Karakteristik Dioda Zener ini adalah
dapat melewatkan arus listrik pada kondisi bias terbalik apabila tegangan
mencapai titik tegangan breakdown-nya. Namun pada saat Forward
bias (bias maju), Dioda Zener ini dapat menghantarkan arus listrik seperti
Dioda normal pada umumnya. Dioda Zener dapat memberikan tegangan
referensi yang stabil sehingga banyak digunakan sebagai pengatur
tegangan (Voltage Regulator) pada pencatu daya (Power supply).
4) LED
LED atau Light Emitting Diode merupakan jenis dioda yang dapat
memancarkan cahaya monokromatik ketika diberikan tegangan maju. LED
ada yang berwarna merah, jingga, kuning, biru, hijau dan putih tergantung
pada panjang gelombang (wavelength) dan jenis senyawa semikonduktor
yang digunakannya. Dalam kehidupan sehari-hari, kita dapat menemukan
aplikasi LED di lampu-lampu penerangan rumah maupun jalan raya,
lampu indikator peralatan elektronik dan listrik, lampu dekorasi dan iklan
serta backlight untuk TV LCD.
5) Dioda Foto
Dioda Foto atau Photodiode adalah jenis Dioda yang dapat mengubah
energi cahaya menjadi arus listrik. Dioda foto ini sering digunakan sebagai
sensor untuk mendeteksi cahaya seperti pada sensor cahaya kamera, sensor
penghitung kendaraan, scanner barcode dan peralatan medis. Dioda Foto
11
dapat dibagi menjadi dua jenis yaitu Dioda Photovoltaic yang
menghasilkan tegangan seperti sel surya dan Dioda Photoconductive yang
tidak menghasilkan tegangan dan harus diberikan sumber tegangan lain
untuk penggerak beban.
6) Dioda Laser
Dioda Laser adalah jenis dioda yang dapat menghasilkan radiasi atau
cahaya koheren yang dapat dilihat oleh mata dan spektrum inframerah
ketika dialiri arus listrik. Dioda Laser ini sering digunakan pada perangkat
audio/video seperti DVD Player, Laser pointer, Scanner Barcode, Alat
ukur jarak dan Printer laser. Laser pada dasarnya adalah singkatan dari
Light Amplification by Stimulated Emission of Radiation.
7) Dioda Varactor
Dioda Varactor atau kadang-kadang disebut juga dengan Dioda Varicap
adalah jenis dioda yang memiliki sifat kapasitas yang berubah-ubah sesuai
dengan tegangan yang diberikan. Dioda Varactor ini sering digunakan di
rangkaian-rangkaian yang berkaitan dengan frekuensi seperti osilator, TV
Tuner dan Radio Tuner. Simbol Dioda Varactor atau Dioda Varicap ini
dilambangkan dengan sebuah dioda yang ujungnya ditambahkan sebuah
kapasitor.
8) Dioda Tunnel
Dioda Tunnel atau Dioda Terowongan adalah jenis dioda yang mampu
beroperasi pada kecepatan yang sangat tinggi dan dapat berfungsi dengan
baik pada gelombang mikro (Microwave). Dioda Tunnel ini biasanya
digunakan di rangkaian pendeteksi frekuensi dan konverter.
12
9) Dioda Schottky
Dioda Schottky merupakan jenis dioda dengan tegangan maju yang lebih
rendah dari dioda normal pada umumnya. Pada arus rendah, tegangan
jatuh bisa berkisar diantara 0,15V hingga 0,4V. tegangan ini lebih rendah
dari dioda normal yang terbuat dari silikon yang memerlukan 0,6V. Dioda
ini banyak digunakan pada aplikasi rectifier (penyearah), clamping dan
juga aplikasi RF.
b. Transistor
Transistor adalah alat semikonduktor yang dipakai sebagai penguat, sebagai
sirkuit pemutus dan penyambung (switching), stabilisasi tegangan. Secara
umum transistor berarti merubah suatu bahan campuran atom dalam proses
kimia, dari suatu bahan yang bukan penghantar menjadi bahan penghantar
atau setengah penghantar. Dari sebab ini, transistor disebut dengan
semikonduktor (Doni, Sumarna, & Lesmono, 2016).
Menurut (Angga, 2016) “Transistor disebut sebagai komponen aktif karena
transistor harus dialiri tegangan dan arus tertentu pada ketiga elektrodanya,
sehingga transistor dapat aktif.”
Sumber : tukangsolder.com
Gambar II.4 Transistor
13
Secara umum, Transistor dapat digolongkan menjadi dua keluarga besar yaitu
Bipolar Junction Transistors (BJT) dan Junction Field Effect Transistor
(JFET) (Angga, 2015a).
1) Bipolar Junction Transistors (BJT)
Transistor Bipolar atau BJT sering digunakan untuk penguatan sinyal
listrik serta pada saklar digital, Bipolar Junction Transistor (BJT) adalah
komponen semikonduktor yang dibuat dengan tiga terminal/kaki
Semikonduktor (Basis, Kolektor dan emitor), biasanya kaki/terminal basis
dan emitor memiliki tegangan penghalang sekitar 0,5 – 0,7 V, artinya
bahwa dibutuhkan tegangan listrik minimal antara 0,5 – 0,7 volt untuk bisa
membuat arus listrik mengalir melalui kaki emitor ke basis (basis ke
emitor) dan atau kolektor ke basis (basis ke kolektor).
Sumber : skemaku.com
Gambar II.5 Simbol Transistor Bipolar PNP dan NPN
14
Secara teknis cara kerja transistor adalah komponen aktif dengan tiga
terminal terbuat dari bahan semikonduktor yang berbeda yang dapat
bertindak bisa sebagai isolator atau konduktor dengan menggunakan
tegangan dan sinyal yang kecil. Kemampuan transistor membuat
komponen ini disering digunakan dalam saklar (elektronika digital) atau
penguat (elektronika analog).
2) Junction Field Effect Transistor (JFET)
Junction Field Effect Transistor (JFET) atau FET adalah transistor yang
menggunakan tegangan pada terminal input-nya, hal ini dalam istilah
dunia rangkaian elektronika disebut gerbang (gate), gerbang ini
mengontrol arus yang mengalir melalui kaki terminal komponen transistor
ini dan menghasilkan arus keluaran yang sebanding dengan tegangan
input. Oleh karena itu komponen ini disebut juga transistor yang bisa
mengatur tegangan.
Sumber : skemaku.com
Gambar II.6 Simbol Transistor Efek Medan (FET)
15
Transistor FET ini mempunyai tiga kaki terminal semikonduktor yang satu
arah serta memiliki karakteristik yang mirip dengan transistor BJT yaitu
punya esiensi kerja yang tinggi, penggunaan yang praktis, tahan lama dan
juga murah dan dapat digunakan pada hampir semua perangkat elektronika
yang ada saat ini dan dapat menggantikan fungsi transistor BJT. Ukuran
dari transistor FET ini bisa lebih kecil dari transistor BJT dengan konsumsi
daya yang lebih kecil serta disipasi daya (berubahnya tenaga listrik
menjadi tenaga panas per satuan waktu) yang rendah, sehingga membuat
transistor FET ini cocok atau banyak digunakan dalam rangkaian logika
digital.
c. IC (Integrated Circuit)
IC (Integrated Circuit), adalah komponen elektronika aktif yang terdiri dari
gabungan ratusan, ribuan bahkan jutaan transistor, dioda, resistor dan
kapasitor yang diintegrasikan menjadi suatu rangkaian elektronika dalam
sebuah kemasan kecil (Haryati & Fadlilah, 2016).
Sumber : rajalistrik.com
Gambar II.7 Integrated Circuit (IC)
16
2. Komponen Pasif
Menurut (E. Maulana & Purnama, 2017) “Komponen pasif adalah komponen
yang dapat digunakan tanpa teganggan minimal”. Contoh komponen pasif yaitu:
a. Resistor
Resistor merupakan komponen elektronika yang berfungsi untuk
menghambat arus listrik. Istilah resistor dikenal juga dengan hambatan.
Resistor pada rangkaian elektronika banyak digunakan sebagai pembagi
tegangan untuk menghasilkan nilai tegangan dan atau arus tertentu (Angga,
2016).
Sumber : skemaku.com
Gambar II.8 Resistor
Resistor bekerja dengan hukum Ohm yang diformulasikan sebagai berikut:
V = I x R
I = V / R
yang mana, V adalah tegangan listrik dalam satuan Volt (V), I adalah arus
yang mengalir dalam satuan Ampere (A), dan R adalah hambatan dari resistor
dengan satuan Ohm (Ω). Dari rumus diatas menunjukan bahwa resistansi
17
akan berbanding terbalik dengan jumlah arus yang mengalir. Sehingga dapat
dikatakan jika nilai resistansi yang mengalir pada suatu hambatan atau
resistor maka arusnya akan semakin kecil dan sebaliknya. Itulah kenapa
fungsi utama resistor adalah sebagai penghambat arus (Angga, 2015b).
Berdasarkan bentuknya dan proses pemasangannya pada PCB, resistor terdiri
2 bentuk yaitu bentuk komponen radial dan komponen chip. Untuk bentuk
komponen radial, nilai resistor diwakili oleh kode warna sehingga kita harus
mengetahui cara membaca dan mengetahui nilai-nilai yang terkandung dalam
warna tersebut sedangkan untuk komponen chip, nilainya diwakili oleh kode
tertentu sehingga lebih mudah dalam membacanya. Kita juga bisa mengetahui
nilai suatu Resistor dengan cara menggunakan alat pengukur Ohm Meter atau
MultiMeter (Kho, 2014).
1) Resistor Radial
Nilai resistor yang berbentuk radial diwakili oleh warna-warna yang
terdapat di tubuh resistor dalam bentuk Gelang. Umumnya terdapat 4
Gelang di tubuh resistor, tetapi ada juga yang 5 hingga 6 gelang. Gelang
warna Emas dan Perak biasanya terletak agak jauh dari gelang warna
lainnya sebagai tanda gelang terakhir. Gelang Terakhirnya ini juga
merupakan nilai toleransi pada nilai Resistor yang bersangkutan.
18
Tabel II.1 Nilai Warna Resistor
Warna Nilai Pengali Toleransi
Hitam 0 1
Coklat 1 101 +/- 1%
Merah 2 102 +/- 2%
Orange 3 103
Kuning 4 104
Hijau 5 105 +/- 0,5%
Biru 6 106 +/- 0,25%
Ungu 7 107 +/- 0,1%
Abu-abu 8 +/- 0,05%
Putih 9
Emas 10-1
+/- 5%
Perak 10-2
+/- 10%
Tak Berwarna +/- 20%
Sumber : belajaeelektronika.net
a) Menghitung Resistor 4 Warna
Sumber : teknikelektronika.com
Gambar II.9 Contoh Menghitung Resistor 4 Warna
Gelang ke 1 : Coklat = 1
Gelang ke 2 : Hitam = 0
Gelang ke 3 : Hijau = 5 nol dibelakang angka gelang ke-2; atau kalikan
105
Gelang ke 4 : Perak = Toleransi 10%
Maka nilai Resistor tersebut adalah 10 * 105 = 1.000.000 Ohm atau 1
MOhm dengan toleransi 10%.
19
b) Menghitung resistor 5 warna
Sumber : teknikelektronika.com
Gambar II.10 Contoh Mengitung Resistor 5 Warna
Gelang ke 1 : Coklat = 1
Gelang ke 2 : Hitam = 0
Gelang ke 3 : Hijau = 5
Gelang ke 4 : Hijau = 5 nol dibelakang angka gelang ke-2; atau kalikan
105
Gelang ke 5 : Perak = Toleransi 10%
Maka nilai Resistor tersebut adalah 105 * 105 = 10.500.000 Ohm atau
10,5 MOhm dengan toleransi 10%.
20
c) Menghitung resistor 6 warna
Sumber : panduancara.com
Gambar II.11 Contoh Menghitung Resistor 6 Warna
Cara menghitung resistor 6 warna sama seperti menghitung resistor 5
warna, hanya penambahan warna dibelakang sebagai temperatur.
2) Resistor Chip
Membaca nilai resistor yang berbentuk Chip lebih mudah dari resistor
bentuk Radial, karena tidak menggunakan kode warna sebagai pengganti
nilainya. Kode yang digunakan oleh Resistor yang berbentuk Chip
menggunakan Kode Angka langsung jadi sangat mudah dibaca atau
disebut dengan Body Code Resistor (Kode Tubuh Resistor).
Cara menghitung resistor bentuk chip adalah seperti pada contoh berikut :
21
Sumber : teknikelektronika.com
Gambar II.12 Resistor Chip
Kode Angka yang tertulis di badan Resistor Chip adalah 473.
Masukkan Angka ke-1 langsung = 4
Masukkan Angka ke-2 langsung = 7
Masukkan Jumlah nol dari Angka ke 3 = 000 (3 nol) atau kalikan dengan
10³
Maka nilainya adalah 47.000 Ohm atau 47 kilo Ohm (47 kOhm).
Ada juga yang memakai kode R yang menandakan letaknya koma
decimal.
4R7 = 4,7 Ohm, 0R22 = 0,22 Ohm
Keterangan :
Ohm = Ω
Kilo Ohm = KΩ
Mega Ohm = MΩ
1.000 Ohm = 1 kilo Ohm (1 KΩ )
1.000.000 Ohm = 1 Mega Ohm (1 MΩ)
1.000 kilo Ohm = 1 Mega Ohm (1 MΩ)
22
b. Kapasitor (kondensator)
Kapasitor (kondersator) adalah sebuah komponen elektronika pasif yang
dapat menyimpan listrik untuk sementara waktu. Kapasitor berisi sepasang
konduktor yang dipisahkan oleh lapisan dielektrik atau isolator. Ketika
perbedaan tegangan diberikan di kedua konduktor, akan terjadi medan listrik
di lapisan dielektrik. Medan listrik inilah akan menyimpan energi diantara
kedua konduktor didalam kapasitor Kapasitor disebut juga dengan
kondensator yang dapat menerima aliran listrik dan menyimpanya dalam
waktu tertentu sehingga berfungsi menyimpan tenaga listrik untuk sementara.
Satuan kapasitor adalah Farad dan disingkat F (Doni et al., 2016).
Menurut (Eric R, 2015) menyatakan bahwa :
Kapasitor atau sering disebut sebagai kondensator adalah suatu alat yang
dapat menyimpanenergi di dalam medan listrik, dengan cara mengumpulkan
ketidakseimbangan internal dari muatan listrik. Kondensator memiliki satuan
yang disebut Farad dari nama Michael Faraday. Kondensator diidentikkan
mempunyai dua kaki dan dua kutub yaitu positif dan negatif serta memiliki
cairan elektrolit dan biasanya berbentuk tabung. Sedangkan jenis yang
satunya lagi kebanyakan nilai kapasitasnya lebih rendah, tidak mempunyai
kutub positif atau negatif pada kakinya, kebanyakan berbentuk bulat pipih
berwarna coklat, merah, hijau dan lainnya seperti tablet atau kancing baju.
Sumber : rumusrumus.com
Gambar II.13 Kapasitor
23
Untuk mengetahui besarnya nilai kapasitas atau kapasitansi pada kapasitor
dapat dibaca melalui kode angka pada badan kapasitor tersebut yang terdiri
dari 3 angka. Angka pertama dan kedua menunjukkan angka atau nilai, angka
ketiga menunjukkan faktor pengali atau jumlah nol, dan satuan yang
digunakan ialah pikofarad (pF). Pada badan kapasitor tertulis angka 103
artinya nilai kapasitas dari kapasitor tersebut adalah 10x103 pF = 10 x 1000
pF = 10nF = 0,01 µF (Fadlilah & Arifudin, 2018).
c. Induktor
Sebuah induktor adalah sebuah komponen elektronika pasif yang dapat
menyimpan energi pada medan magnet yang ditimbulkan oleh arus listrik
yang melintasinya. Kemampuan induktor untuk menyimpan energi magnet
ditentukan oleh induktansinya, dalam satuan Henry. Biasanya sebuah
induktor adalah sebuah kawat penghantar yang dibentuk menjadi kumparan,
lilitan membantu membuat medan magnet yang kuat di dalam kumparan
dikarenakan hukum induksi Faraday. Induktor adalah salah satu komponen
elektronik yang digunakan dalam rangkaian yang arus dan tegangannya
berubah-ubah dikarenakan kemampuan induktor untuk memproses arus
bolak-balik (Eric R, 2015).
Sumber : teknikelektronika.com
Gambar II.14 Induktor
24
2.1.3. Sensor
Menurut Setiawan dalam (Maarif & Fadlilah, 2015) “Sensor adalah alat yang
digunakan untuk mendeteksi dan berfungsi mengukur magnitude tertentu dan
mengubah variasi mekanis, magnetis, panas, sinar dan kimia. Sensor dikategorikan
melalui pengukur dan memegang peranan penting dalam pengendalian proses
pabrikasi modern”.
Pada pembuataan Alat Pendeteksi Kebocoran Listrik Rumah ini, penulis
menggunakan sebuah sensor multi fungsi yang dapat mendeteksi tegangan, arus,
serta daya listrik, yaitu PZEM-004T. Menurut Innovatorsguru dalam (Alipudin & et.
al, 2019) “PZEM-004T adalah sensor yang dapat digunakan untuk mengukur
tegangan rms, arus rms dan daya aktif yang dapat dihubungkan melalui arduino
ataupun platform opensource lainnya“.
Sumber : amazon.co.uk
Gambar II.15 PZEM-004T
25
Berdasarkan datasheet yang ada, PZEM004-T memiliki spesifikasi sebagai
berikut :
1. Fungsi
a. Fungsi pengukuran parameter listrik seperti tegangan, arus, beban yang
terhubung, dan total konsumsi.
b. Tombol daya fungsi menghapus.
c. Power-down fungsi penyimpanan data (kumulatif mematikan sebelum
menyimpan).
d. Fungsi komunikasi serial (dilengkapi dengan antarmuka serial TTL, melalui
berbagai terminal berkomunikasi dengan pelat adaptor, membaca, dan
mengatur parameter).
2. Spesifikasi Pengukuran
a. Working Voltage : 80 ~ 260VAC
b. Pengukuran Arus : 0 - 100 A
c. Nilai daya : 22kW
d. Frekuensi operasi : 45-65Hz
e. Akurasi pengukuran : 1,0 grade
3. Diagram Pengkabelan
Sumber : Datasheet
Gambar II.16 Diagram Pengkabelan PZEM-004T
26
Perkabelan modul ini dibagi menjadi dua bagian, kabel terminal input tegangan
dan arus tes serta kabel komunikasi serial, seperti yang ditunjukkan pada gambar
sesuai dengan kebutuhan aktual klien, dengan papan pin TTL berbeda untuk bisa
berkomunikasi dengan terminal yang berbeda.
4. Perlu Diperhatikan
a. Modul ini cocok untuk penggunaan di dalam ruangan, bukan di luar ruangan.
b. beban yang diterapkan tidak boleh melebihi daya pengenal.
c. Kabel tidak bisa salah.
Selain sensor PZEM-004T, ada beberapa sesor lain yang memiliki fungsi
serupa, yaitu senor ACS172 yang berfungsi mendeteksi besaran arus listrik dan
sensor ZMPT101B yang berfungsi mendeteksi besaran tegangan listrik. Berdasarkan
datasheet-nya sensor ZMPT101B memiliki rentan ukur tegangan sebesar 100-220V
dan sensor ACS172 memiliki rentan ukur arus sebesar 0-30A.
PZEM-004T yang memiki fungsi pengukuran tegangan listrik dan arus listrik,
dengan rentan ukur tegangan 80-280V dan rentan ukur arus 0-100A, memiliki
keunggulan yang lebih dibandingkan sensor ZMPT101B dan sensor ACS172.
Dengan kelebihan tersebut, maka pada pembuatan alat Pendeteksi Kebocoran Listrik
Rumah ini, menggunakan sensor PZEM-004T jelas lebih efisien dibandingkan
dengan menggunakan sensor ZMPT101B dan ACS712. Singkatnya menggunakan
satu sensor dengan dua fungsi, lebih efisien dibandingkan harus menggunakan dua
sensor dengan fungsi yang berbeda.
27
2.1.4. Saklar
Saklar merupakan sebuah perangkat yang digunakan untuk memutuskan arus
listrik dan untuk menghubungkan arus listrik. Pada pembuatan Alat Pendeteksi
Kebocoran Listrik Rumah ini, saklar yang digunakan adalah saklar model Push
Button.
Menurut (Suleman & Anwar, 2016) “Saklar adalah alat-alat elektronika yang
mempunyai fungsi sebagai pemutus dan penghubung arus. Ada 3 jenis saklar yaitu
saklar On Off, saklar Push On, saklar Push off”.
Push Button Switch (saklar tombol tekan) adalah perangkat sederhana yang
berfungsi untuk menghubungkan atau memutuskan aliran arus listrik dengan sistem
kerja tekan unlock (tidak mengunci). Sistem kerja unlock disini berarti saklar akan
bekerja sebagai perangkat penghubung atau pemutus aliran arus listrik saat tombol
ditekan, dan saat tombol tidak ditekan (dilepas), maka saklar akan kembali pada
kondisi normal (Sokop, Mamahit, Eng, & Sompie, 2016).
Push Button digunakan untuk memberikan perintah atau instruksi hanya ketika
tombol ditekan, seperti pada tombol menu yang akan digunakan pada pembuatan
Alat Pendeteksi Kebocoran Listrik Rumah ini, sebagai perintah untuk berpindah
menu pada layar LCD.
Sumber : tokopedia.com
Gambar II.17 Swich Tact Tactile Push Button
28
2.1.5. LCD (Liquid Crystal Display) 16x2
LCD adalah perangkat penampil yang difungsikan untuk menampilkan
karakter tertentu sesuai dengan kebutuhan dalam penggunaannya, seperti kata-kata
dalam bentuk huruf, data dalam bentuk angka, ataupun sebuah kalimat berjalan.
Menurut Budiharto dan Rizal dalam (Sutinah, 2014) menyatakan bahwa :
LCD adalah modul penampil yang banyak digunakan karena tampilanya lebih
menarik, LCD yang paling banyak digunakan adalah LCD M1632 refurbish
karena harganya yang relatif murah, LCD M1632 meurpakan modul LCD
dengan tampilan 16x2 (16 kolom dan 2 baris) dengan konsumsi daya rendah,
modul tersebut dilengkapi dengan mikrokontroler yang didesain khusus untuk
mengendalikan LCD.
Pada pembuatan Alat Pendeteksi Kebocoran Listrik Rumah ini penulis menggunakan
LCD 16x2 sebagai media penampilan data yang didapat dari hasil pendeteksian
sensor.
Sumber : lastminuteengineers.com
Gambar II.18 LCD 16x2
LCD 16x2 memiliki 16 PIN dengan fungsinya masing-masing sebagai media
penghubung antara LCD dengan perangkat pengontrol seperti Arduino atau yang
lainnya.
29
Tabel II.2 PIN LCD 16x2
Nama PIN Keterangan Port
VCC +5V VCC
GND 0V GND
VEE Tegangan Kontras LCD
RS Register Select, 0 = Input
Instruksi, 1 = Input Data
PD7
R/W 1 = Read, 0 = Write PD5
E Enable Clock PD6
D4 Data Bus 4 PC4
D5 Data Bus 5 PC5
D6 Data Bus 6 PC6
D7 Data Bus 7 PC7
Anode Tegangan Positif Backlight
Katode Tegangan Negatif Backlight
Sumber : Budiharto dan Rizal dalam (Sutinah, 2014)
Sumber : viruchi.com
Gambar II.19 PIN LCD 16x2
2.1.6. I2C LCD 16x2 Serial Module
I2C LCD adalah modul LCD yang dikendalikan secara serial sinkron dengan
protokol I2C/IIC (Inter Integrated Circuit) atau TWI (Two Wire Interface).
Normalnya, modul LCD dikendalikan secara paralel baik untuk jalur data maupun
kontrolnya. Namun, jalur paralel akan memakan banyak pin di sisi kontroller.
Setidaknya akan membutuhkan 6 atau 7 pin untuk mengendalikan sebuah modul
30
LCD. Dengan demikian untuk sebuah kontroller yang sibuk dan harus
mengendalikan banyak I/O, menggunakan jalur paralel adalah solusi yang kurang
tepat (Ajie, 2016).
Intinya modul ini digunakan untuk meminimalisir penggunaan port pada
kontroller serta memudahkan instalasi ketika akan menggunakan perangkat LCD
kususnya LCD 16x2 yang akan digunakan pada Alat Pendeteksi Kebocoran Listrik
Rumah ini.
Rincian I2C LCD Serial Module:
1. Kompatibel dengan LCD 16x2 dan 20x4
2. Memiliki alamat I2C standar = 0X27
3. Alamat dapat dipilih - Rentang 0x20 hingga 0x27
Sumber : saptaji.com
Gambar II.20 I2C LCD Serial Modul
31
2.1.7. Arduino
Saat ini ada banyak mikrokontroler maupun platform mikrokontroler tersedia,
misalnya saja Basic Stamp-nya Parallax, BX-24-nya Netmedia. Semua alat-alat
tersebut bertujuan untuk menyederhanakan berbagai macam kerumitan maupun detil
rumit pada pemrograman mikrokontroler sehingga menjadi paket mudah digunakan
(easy-to-use). Arduino juga menyederhanakan proses bekerja dengan mikrokontroler,
dibandingkan dengan mikrokontroler, arduino memiliki kelebihan yaitu perangkat
lunak dan perangkat kerasnya open source, pemrogramannya mudah, dan harganya
murah. Kontroler yang digunakan merupakan kit mikrokontroler arduino board tipe
Deumilanove dengan mikrokontroler Atmega328 (Fadlilah & Arifudin, 2018).
Berdasarkan situs resminya arduino adalah platform elektronik open source
yang didasarkan pada perangkat keras dan lunak yang mudah digunakan. Papan
arduino dapat membaca input cahaya pada sensor, jari pada tombol, atau pesan
twitter dan mengubahnya menjadi output untuk mengaktifkan motor, menyalakan
LED, atau menerbitkan sesuatu secara online. Kamu dapat memberi tahu papan
arduino apa yang harus dilakukan dengan mengirimkan serangkaian instruksi ke
mikrokontroler di papan arduino. Untuk melakukannya, kita menggunakan bahasa
pemrograman arduino (berdasarkan pengkabelan), dan perangkat lunak arduino
(IDE), berdasarkan pemrosesan.
Arduino dilahirkan di Ivrea Interaction Design Institute sebagai alat yang
mudah untuk membuat prototipe, yang ditujukan untuk siswa tanpa latar belakang
dalam bidang elektronik dan pemrograman. Segera setelah mencapai komunitas yang
lebih luas, papan Arduino mulai berubah untuk beradaptasi dengan kebutuhan dan
tantangan baru, membedakan penawarannya dari papan 8-bit sederhana hingga
produk untuk aplikasi IoT, wearable, pencetakan 3D, dan lingkungan tertanam.
32
Semua papan Arduino sepenuhnya open-source, memberdayakan pengguna untuk
membangunnya secara mandiri dan akhirnya menyesuaikannya dengan kebutuhan
khusus mereka. Perangkat lunak untuk Arduino ini juga bersifat open-source, dan
terus berkembang melalui kontribusi pengguna di seluruh dunia.
Arduino memiliki berbagai macam variasi produk yang terbagi kedalam
beberapa golongan, yaitu Entry Level, Enhanced Features, IoT, Education,
Wearable, Retired.
1. Entry Level
Untuk para pemula disarankan untuk menggunakan produk Entry level, karena
mudah digunakan dan siap digunakan untuk proyek kreatif. Papan dan modul ini
adalah yang terbaik untuk mulai belajar dan mengutak-atik elektronik dan
pengkodean. StarterKit termasuk buku dengan 15 tutorial yang akan membantu
mempelajari dasar-dasar hingga proyek yang kompleks. Jenis Arduino yang
termasuk kedalam golongan Entry Level yaitu : Arduino Uno, Arduino
Leonardo, Arduino 101, Arduino Explora, Arduino Micro, Arduino Nano,
MKR2UNO Adaptor, Arduino StarterKit.
2. Enhanced Features
Digunakan untuk proyek yang lebih kompleks dibandingkan dengan produk
Entry Level. Produk Enchanced Features memiliki rangkaian yang lebih lengkap
serta fungsionalitas yang lebih canggih atau kinerja yang lebih cepat. Jenis
Arduino yang termasuk kedalam golongan Enchanced Features yaitu : Arduino
Mega 2560, Arduino Zero, Arduino, Due, Arduino M0Pro, Arduino MKR Zero,
Arduino Motor Shield, Arduino USB Host Shield, Arduino Mega Proto Shield,
Proto Shield, Arduino ISP, Arduino 4 Relays Shield, Arduino USB 2 Serial
Micro.
33
3. IoT
Digunakan untuk membuat proyek yang saling terhubung dengan mudah.
Arduino yang termasuk kedalam golongan IoT yaitu : Arduino Yun, Arduino
Ethernet, Arduino Industrial 101, MKR FOX 1200, MKR WAN 1300, MKR GSM
1400, Arduino Yun Shield, Arduino Wireless SD Shield, Arduino Wireless Proto
Shield, MKR IoT Bundle.
4. Education
Produk Education adalah produk khusus yang disediakan serta didedikasikan
untuk membantu para pengajar dalam bidang elektronik dan pemrograman
dalam menciptakan lebih banyak pengalaman belajar yang inovatif. Produk
arduino yang termasik kedalam golongan Education yaitu : CTC 101,
Engineering Kit.
5. Wearable
Produk Wearable didesain agar dapat dikombinasikan dengan produk tekstil.
Arduino golongan ini dapat dijahit pada kain dan diberi aliran listrik
menggunakan bengang konduktor. Arduino yang termasuk kedalam golongan
Wearable yaitu : Lilypad Arduino Simple, Lilypad Arduino Mini Board, Lilypad
Arduino USB, Lilypad Arduino Simple Snap.
6. Retired
Adalah produk-produk arduino yang dirilis sejak tahun 2006. Arduino yang
termasuk kedalam golongan Retired yaitu : Arduino Gemma, Arduino Yun Mini,
Arduino Ethernet Shield V2, Arduino GSM Shield V2, Arduino Leonardo Eth,
Arduino Titan, Arduino USB2Serial Converter, Arduino M0, Arduino Mega
ADK, LCD Screen, Arduino Mini, Arduino Robot, Arduino Pro, Arduino Fio,
Arduino Pro Mini, Arduino GSM Shield V1, Arduino Ethernet Shield V1,
34
Arduino WiFi Shield, Arduino WiFi 101 Shield, Arduino Basic Kit, Older
Boards.
Pada pembuatan Alat Pendeteksi Kebocoran Listrik Rumah ini, penulis
menggunakan papan Arduino Uno sebagai pusat pengendali. Arduino Uno adalah
papan mikrokontroler berdasarkan ATmega328P. Papan ini memiliki 14 pin input
atau output digital (6 di antaranya dapat digunakan sebagai output PWM), 6 input
analog, kristal kuarsa 16 MHz, koneksi USB, colokan listrik, header ICSP, dan
tombol reset. Papan ini berisi semua yang diperlukan untuk mendukung
mikrokontroler, cukup sambungkan ke komputer dengan kabel USB atau daya
dengan adaptor AC atau baterai untuk memulai. Anda dapat bermain-main dengan
Arduino Uno tanpa terlalu khawatir melakukan sesuatu yang salah, skenario terburuk
yang dapat diganti chip mulai lagi dari awal. "Uno" berarti satu dalam bahasa Italia
dan dipilih untuk menandai rilis Arduino Software (IDE) 1.0. Papan Uno dan versi
1.0 Arduino Software (IDE) adalah versi referensi Arduino, yang sekarang berevolusi
menjadi rilis yang lebih baru. Papan Uno adalah yang pertama dalam serangkaian
papan USB Arduino, dan model referensi untuk platform Arduino (Arduino, 2015).
Sumber : store.arduino.cc/usa/arduino-uno-rev3
Gambar II.21 Arduino Uno 1
35
1. Spesifikasi Arduino Uno
Dibawah ini merupakan spesifikasi dari Arduino Uno berdasarkan situs resminya
(Arduino, 2015) :
a. Mikrokontroler : ATmega328P
b. Tegangan Pengoperasian : 5V
c. Tegangan Input (disarankan) : 7-12V
d. Tegangan Input (batas) : 6-20V
e. Pin I/O Digital : 14 (dimana 6 menyediakan output PWM)
f. Pin I/O Digital PWM : 6
g. Pin Input Analog : 6
h. Arus DC per Pin I/O : 20 mA
i. Arus DC untuk Pin 3.3V : 50 mA
j. Memori Flash : 32 KB (ATmega328P)
0,5 KB digunakan oleh bootloader
k. SRAM : 2 KB (ATmega328P)
l. EEPROM : 1 KB (ATmega328P)
m. Kecepatan Clock : 16 MHz
n. LED_BUILTIN : 13
o. Panjang : 68,6 mm
p. Lebar : 53,4 mm
q. Berat : 25 g
2. Daya
Papan Arduino Uno dapat diaktifkan melalui koneksi USB atau dengan catu
daya eksternal. Sumber daya dipilih secara otomatis. Daya eksternal (non-USB)
dapat berasal dari adaptor AC ke DC atau baterai. Adaptor dapat dihubungkan
36
dengan mencolokkan steker positif tengah 2,1mm ke colokan listrikpada board
Arduino. Petunjuk dari baterai dapat dimasukkan ke header pin GND dan Vin
pada konektor daya. Papan dapat beroperasi dengan suplai eksternal dari 6
hingga 20 volt. Namun, jika disediakan dengan kurang dari 7V, pin 5V mungkin
memasok kurang dari 5 volt dan papan mungkin menjadi tidak stabil. Jika
menggunakan lebih dari 12V, pengatur tegangan bisa menjadi terlalu panas dan
merusak papan. Kisaran yang disarankan adalah 7 hingga 12 volt (Arduino,
2015).
Pin daya adalah sebagai berikut:
a. Vin
Tegangan input ke papan Arduino ketika menggunakan sumber daya
eksternal (berbeda dengan 5 volt dari koneksi USB atau sumber daya yang
diatur lainnya). Anda dapat memasok tegangan melalui pin ini, atau jika ingin
memasok tegangan melalui colokan listrik, akseslah melalui pin ini.
b. 5V
Pin ini menghasilkan 5V yang diatur dari regulator di papan. Papan dapat
disuplai dengan daya baik dari colokan listrik DC (7 - 12V), konektor USB
(5V), atau pin Vin papan (7-12V). Memasok tegangan melalui pin 5V atau
3.3V melewati regulator, dapat merusak papan dan tidak disarankan.
c. 3V3
Pasokan 3,3 volt yang dihasilkan oleh regulator terpasang. Penarikan
maksimum saat ini adalah 50 mA.
d. GND
Pin Ground
37
e. IOREF
Pin ini pada papan Arduino memberikan referensi tegangan yang digunakan
mikrokontroler. Shield yang dikonfigurasi dengan benar dapat membaca
tegangan pin IOREF dan memilih sumber daya yang sesuai atau
mengaktifkan penerjemah tegangan pada output untuk bekerja dengan 5V
atau 3.3V.
Sumber : store.arduino.cc/usa/arduino-uno-rev3
Gambar II.22 Arduino Uno 2
3. Input/Output
Arduino Uno memiliki 14 Pin Digital. Masing-masing dari 14 pin digital pada
Uno dapat digunakan sebagai input atau output, menggunakan fungsi pinMode
(), digitalWrite (), dan digitalRead (). Mereka beroperasi pada 5 volt. Setiap pin
dapat menyediakan atau menerima 20 mA sebagai kondisi operasi yang
direkomendasikan dan memiliki resistor pull-up internal (terputus secara default)
38
20-50k ohm. Maksimum 40mA adalah nilai yang tidak boleh dilampaui pada pin
I/O apa pun untuk menghindari kerusakan permanen pada mikrokontroler.
Selain itu, beberapa pin memiliki fungsi khusus :Serial : 0 (RX) dan 1 (TX).
Digunakan untuk menerima (RX) dan mengirimkan (TX) data serial TTL. Pin
ini terhubung ke pin yang sesuai dari chip Serial ATmega8U2 USB-to-TTL.
a. Interupsi Eksternal : Pin 2 dan 3. Pin ini dapat dikonfigurasi untuk memicu
interupsi pada nilai rendah, naik atau turunnya tepi, atau perubahan nilai.
b. PWM : 3, 5, 6, 9, 10, dan 11. Menyediakan output PWM 8-bit dengan fungsi
analogWrite ().
c. SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin ini mendukung
komunikasi SPI menggunakan perpustakaan SPI.
d. LED: 13. Ada LED internal yang digerakkan oleh pin digital 13. Ketika pin
bernilai TINGGI, LED menyala, ketika pin RENDAH, mati.
e. TWI: pin A4 atau SDA dan pin A5 atau SCL. Mendukung komunikasi TWI
menggunakan Wire Library.
Uno memiliki 6 input analog, berlabel A0 hingga A5, yang masing-masing
memberikan 10 bit resolusi (yaitu 1024 nilai yang berbeda). Secara default
mereka mengukur dari ground ke 5 volt, meskipun mungkin untuk mengubah
ujung atas rentang mereka menggunakan pin AREF dan fungsi analogReference
().
Ada beberapa pin lain di papan tulis:
a. AREF, tegangan referensi untuk input analog. Digunakan dengan
analogReference ().
39
b. Reset, bawa Line ini RENDAH untuk mengatur ulang mikrokontroler.
Biasanya digunakan untuk menambahkan tombol reset ke shield yang
memblokir yang ada di papan.
Setiap perangkat arduino memiliki keunggulan masing-masing yang
disesuaikan dengan tiap golongan produk arduino. Secara fungsi, setiap arduino
tentunya memiliki fungsi yang tidak berbeda jauh bahkan sama antara tipe perangkat
yang satu dengan yang lainnya. Sebagai perbandingan spesifikasi penulis memilih
tiga tipe Arduino, yaitu Arduino Uno, Arduino Nano dan Arduino Mega. Tiga tipe
Arduino ini adalah perangkat yang umum digunakan sebagai pengendali utama
dalam sebuah proyek arduino.
Tabel II.3 Perbandingan Arduino Uno, Arduino Nano dan Arduino Mega
Spesifikasi Arduino
Uno Nano Mega
Mikrokontroler ATmega328P ATmega328 ATmega2560
Tegangan operasi 5V 5 V 5V
Pin I / O Digital 14 22 54
Pin I / O Digital PWM 6 6 15
Pin Input Analog 6 8 16
Memori Flash 32 KB 32 KB 256 KB
SRAM 2 KB 2 KB 8 KB
EEPROM 1 KB 1 KB 4 KB
Clock Speed 16 MHz 16 MHz 16 MHz
Konektivitas USB Standart A/B
USB
Standart A/B
USB
Micro-USB
Panjangnya 68.6 mm 45 mm 101.52 mm
Lebar 53.4 mm 18 mm 53.3 mm
Berat 25 g 7 g 37 g
Sumber : store.arduino.cc
Dari Tabel II.3 di atas, ketiga tipe Arduino ini memiliki perbedaan yang
lumayan menonjol, yaitu :
40
1. IC ATmega yang digunakan
Arduino Uno, Nano dan Mega memiliki IC yang sama, yaitu jenis ATMega
dengan tipe yang berbeda. Perbedaan IC ATMega ini akan berpengaruh pada
besarnya ukuran memori penyimpanan pada sebuah Arduino. Arduino Mega dengan
IC ATMega 2560, memiliki memori yang lebih besar yaitu sebesar 256KB,
dibandingkan dengan Arduino Uno dan Nano yang menggunakan IC ATMega 328
yang hanya memiliki memori sebesar 32KB.
Sumber : www.c-sharpcorner.com
Gambar II.23 Arduino Mega, Uno, Nano
2. Papan yang digunakan
Arduino Uno, Nano dan Mega memiliki ukuran papan yang sangat berbeda,
yang menyebabkan ketiga tipe ini memiliki pin I/O dan port konektivitas yang
berbeda. Arduino Mega menggunakan 16 pin input analog dan 54 pin I/O digital, lalu
Arduino Uno menggunakan 6 pin input analog dan 14 pin I/O digital, dan Arduino
Nano menggunakan 8 pin input analog yang nantinya akan digunakan sebagai pin
I/O digital dengan menambahkan ke 14 pin I/O digital yang sebelumnya sudah ada.
Kemudian pin I/O pada Arduino Nano menggunakan pin jenis male, sehingga
membutuhkan breadboard untuk menggunakannya, tidak seperti Arduino Uno dan
Mega yang menggunakan female port sehingga bisa langsung digunakan tanpa
memerlukan perantara breadboard. Selanjutnya dari port konektivitas, Arduino Uno
41
dan Mega menggunakan standart A/B USB sedangkan Arduino Nano menggunakan
Micro-USB yang disebabkan karena ukuran papan Arduino Nano yang lebih kecil,
karna itu juga Arduino Nano tidak memiliki port power DC yang digunakan untuk
menyuplai daya melalui adaptor. Kemudian ukuran papan yang terlihat jelas dimana
Arduino Mega memiliki ukuran yang paling besar dan Arduino Nano memiliki
ukuran yang paling kecil.
Dari beberapa perbedaan diatas penulis memilih menggunakan Arduino Uno
dalam pembuatan alat Pendeteksi Kebocoran Listrik Rumah ini, karena Arduino Uno
menggunakan pin jenis female sehingga lebih mudah digunakan, kemudian memori
yang tidak terlalu besar sehingga tidak banyak memori yang sia-sia karena tidak
digunakan, serta ukuran papan yang tidak terlalu besar sehingga tidak memakan
tempat dalam proses pemasangan alat.
2.2. Perangkat Lunak
Menurut (Y. I. Maulana, 2017) “Perangkat lunak merupakan abstraksi fisik
yang memungkinkan kita untuk berbicara dengan mesin perangkat keras. Tanpa
adanya perangkat lunak, maka perangkat keras yang telah diciptakan tidak akan
dapat berguna atau berfungsi dengan optimal”. Tanpa adanya perangkat lunak, maka
perangkat keras yang telah diciptakan tidak dapat digunakan atau difungsikan secara
optimal.
2.2.1. Bahasa Pemrograman
Menurut Frank dalam (Retnoningsih & Shadiq, 2017) Menyatakan bahwa :
Bahasa pemrograman adalah bahasa khusus yang memungkinkan seseorang
programer memberi tahu komputer untuk melakukan sesuatu, dengan
mengatakannya dengan tepat bagaimana melakukan hal itu. Seorang
pemrogram menulis kode sumber program, dan menjalankan program khusus,
yang disebut compiler, yang mengubah kode sumber menjadi sesuatu yang
dapat dimengerti oleh komputer.
42
Dalam pembuatan alat Pendeteksi Kebocoran Listrik Rumah ini, penulis
menggunakan bahasa pemrograman khusus arduino. Menurut (Ihsanto & Hidayat,
2014) “Bahasa pemrograman arduino adalah bahasa C. Tetapi bahasa ini sudah
dipermudah menggunakan fungsi-fungsi yang sederhana sehingga pemula pun bisa
mempelajarinya dengan cukup mudah”.
Struktur dasar dalam pemrograman arduino sangatlah sederhana dan terdiri
dari dua bagian, yaitu persiapan ( setup() ) dan eksekusi ( loop() ). Fungsi setup( )
adalah persiapan sebelum eksekusi program dan fungsi loop( ) adalah tempat menulis
program utama yang akan dieksekusi. Fungsi setup( ) digunakan untuk
mendefinisikan variabel-variabel yang digunakan dalam program. Fungsi ini berjalan
pertama kali ketika program dijalankan. Selanjutnya terdapat fungsi loop( ) adalah
program utama dari arduino yang dijalankan secara terus menerus baik pembacaan
input maupun pengaktifan output. Program ini adalah inti dari semua program dalam
Arduino (Andrianto & Darmawan, 2017).
Berikut adalah beberapa fungsi-fungsi dasar yang ada pada bahasa
pemrograman arduino :
1. Setup( )
Fungsi setup( ) dipanggil ketika program dijalankan, berfungsi untuk inisialisasi
mode pin sebagai input atau output dan inisialisasi serial. Fungsi ini harus ada
meski tidak ada insruksi yang ditulis.
2. Loop( )
Setelah memanggil fungsi setup( ), program yang berada dalam fungsi loop( )
akan dieksekusi secara terus menerus.
43
3. Function
Fungsi adalah sekumpulan blok instruksi yang memiliki nama sendiri dan blok
instruksi ini akan dieksekusi ketika fungsi ini dipanggil. Penulisan fungsi harus
didahului dengan tipe data fungsi setelah itu nama fungsi dan kemudian
parameternya, bila tidak ada nilai yang dihasilkan dari fungsi tersebut, maka tipe
fungsinya adalah void( ).
4. { } Kurung kurawal
Digunakan untuk mengawali dan mengakhiri sebuah fungsi, blok instruksi
seperti loop( ) , void( ) , dan instruksi for dan if.
5. ; (Titik koma)
Digunakan sebagai tanda akhir dari instruksi.
6. /* ....... */ Blok Komentar
Digunakan untuk memberi komentar pada program yang memiliki baris lebih
dari satu, biasanya digunakan untuk membantu memahami program yang dibuat.
Diawali dengan tanda /* dan diakhiri dengan tanda */. Apapun yang ditulis
dalam blok komentar ini tidak akan berpengaruh dengan program yang telah
dibuat dan tidak akan menghabiskan memori.
7. // Komentar Baris
Digunakan untuk memberi komentar per baris program. Sama seperti blok
komentar, komentar baris tidak akan menghabiskan memori dan tidak akan
berpengaruh pada program.
8. Variabel
Adalah ekspresi yang digunakan mewakili suatu nilai yang digunakan dalam
program. Suatu variabel akan menampung nilai sesuai dengan definisi yang telah
dibuat. Variabel perlu didefinisikan terlebih dahulu sebelum digunakan. Variabel
44
hanya perlu didefinisikan satu kali saja, tetapi nilainya dapat berubah sesuai
dengan perhitungan melalui program.
a. Variabel Global Adalah variabel yang dapat digunakan oleh semua fungsi dan
instruksi dalam program. Variabel ini didefinisikan pada awal program
sebelum fungsi setup ( ).
b. Variabel Lokal adalah variabel yang didefinisikan di dalam suatu fungsi atau
di dalam fungsi loop. Variabel ini hanya dapat dgunakan di dalam fungsi
tersebut. Dalam menggunakan variabel lokal sebaiknya menggunakan nama
variabel yang berbeda-beda, walaupun dalam fungsi yang berbeda untuk
menghindari nilai yang saling bertumpuk.
c. Tipe data Variabel :
1) Byte, menyimpan data numerik bernilai 8 bit, tidak memiliki nilai
desimal, data bertipe byte nilainya berkisar 0-255.
2) Int atau Integer adalah tipe data utama yang menyimpan data angka
bernilai 16bit, data tidak memiliki nilai desimal, data bertipe int nilainya
berkisar 32,767 sampai -32,768.
3) Long adalah tipe data integer yang memiliki kisaran nilai lebih tinggi,
memiliki 32bit dengan nilai berkisar 2,147,438,487 sampai -
2,147,483,648.
4) Float adalah suatu tipe data numerik yang memiliki nilai desimal,
memiliki data angka bernilai 32bit.
9. Array
Array adalah kumpulan nilai-nilai yang diakses dengan nomor indeks. Setiap
nilai dalam array dipanggil dengan memaggil nama array dan nomor indeks dari
nilai tersebut. Nomor index dimulai dari 0 (nol). Variabel array harus
45
dideklarasikan sebelum dapat digunakan. Untuk mendeklarasikan array, harus
dengan menyatakan tipe array dan ukuran, kemudian memberikan nilai pada
posisi indeks. Array sering digunakan pada program loop, dan sering
dikombinasikan dengan suatu counter yang digunakan sebagai penunjuk posisi
indeks untuk setiap nilai array.
10. Aritmatika
Operator aritmatika meliputi penambahan (+), pengurangan (-), perkalian (*),
dan pembagian ( / )
11. Operasi Logika
Operator logika digunakan untuk membandingkan dua ekspresi TRUE atau
FALSE, tergantung pada operator.
12. Operasi Gabungan
Adalah operasi aritmatika gabungan yang biasa digunakan dalam program.
Tabel II.4 Fungsi Operasi Gabungan
Simbol Keterangan
+ + Sama dengan x=x+1, atau menambah nilai x dengan 1
- - Sama dengan x=x-1, atau mengurangi nilai x dengan 1
+ = Sama dengan x=x+y, x ditambah y hasilnya simpan pada x
- = Sama dengan x=x-y, x dikurang y hasilnya simpan pada x
* = Sama dengan x=x*y, x dikali y hasilnya simpan pada x
/ = Sama dengan x=x/y, x dibagi y hasilnya simpan pada x
13. Operator Perbandingan
Operator untuk membandingkan dua konstanta atau variabel yang sering
digunakan untuk menguji suatu kondisi benar atau salah.
Tabel II.5 Operator Perbandingan
Simbol Keterangan
= = x = = y, x sama dengan y
! = x ! = y, tidak sama dengan y
< x < y, x kurang dari y
46
> x > y, x lebih dari y
< = x <= y, x kurang dari atau sama dengan y
> = x>= y, x lebih besar dari atau sama dengan
14. Konstanta
Bahasa arduino memiliki nilai-nilai yang telah ditetapkan yang disebut
konstanta. Mereka digunakan untuk membuat program lebih mudah dibaca.
15. TRUE and FALSE
Adalah konstanta boolean yang mendefinisikan nilai logika. FALSE dapat
didefinisikan sebagai 0 (nol), sedangkan TRUE sering didefinisikan sebagai 1,
tetapi dalam hal lain dapat juga didefinisikan sebagai nol.
16. HIGH and LOW
Konstanta ini menentukan nilai pin sebagai HIGH atau LOW dan digunakan
ketika membaca atau menulis pin digital. HIGH didefinisikan sebagai tingkat
logika 1 atau ON atau 5 Volt, sedangkan LOW adalah tingkat logika 0 atau OFF
atau 0 Volt.
17. Input and Output
Konstanta yang digunakan pada fungsi pinMode() untuk menentukan mode pin
digitall sebagai input atau output.
18. If
Instruksi untuk menguji apakah suatu kondisi tersebut telah tercapai, seperti
membandingkan nilai variabel berada diatas jumlah tertentu, dan menjalankan
setiap instruksi didalam kurung jika pernyataan tersebut benar. Jika kondisi tidak
terpenuhi maka program dalam kurung akan dilewati.
47
19. If.....else
Memungkinkan untuk mengeksekusi instruksi yang lain jika suatu kondusi tidak
terpenuhi. Else juga dapat digunakan untuk kondisi lebih dari satu.
20. For
Pernyataan for digunakan untuk mengulang suatu blok instruksi di dalam kurung
kurawal.
21. While
Fungsi while akan menjalankan program secara terus menerus hingga suatu
kondisi pada fungsi while bernilai salah atau false.
22. Do.....while
Perintah untuk melakukan suatu secara terus menerus hingga suatu kondisi yang
tidak memenuhi kondisi yang diinginkan.
23. pinMode(pin_Mode)
Instruksi yang digunakan pada fungsi void setup( ) untuk menginisialisasi suatu
pin sebagai input atau output.
24. digitalRead(pin)
Instruksi yang digunakan untuk membaca input dari suatu pin yang hasilnya
berupa logika HIGH atau LOW. Pin dapat diartikan sebagai suatu variabel atau
konstanta 0 – 13 yang mewakili input atau output dari board Arduino.
25. digitalWrite(pin,value)
Instruksi yang digunakan untuk memberi nilai output HIGH (1) atau LOW (0)
pada pin digital. Pin digital dapat diartikan sebagai variabel atau konstanta 0 –
13 yang mewakili input atau output dari board Arduino.
48
26. analogRead(pin)
Instruksi untuk membaca nilai input analog dengan resolusi 10 bit. Instruksi ini
hanya berlaku untuk pin A0 – A5 yang mampu membaca nilai analog. Karena
beresolusi 10 bit, maka hasil pembacaan nilai digital antara 0 sampai 1023.
27. analogWrite(pin,value)
Instruksi yang berfungsi untuk memberi nilai PWM (pulse width modulation)
pada output. Pada board arduino serverino hanya pin 9, 10 dan 11 saja yang
mampu menghasilkan output PWM. Nilai PWM berkisar antara 0 – 255.
28. delay(ms)
Instruksi untuk memberi jeda sebeelum melanjutkan ke program selanjutnya.
Jeda yang diberikan dituliskan dalam satuan mili detik.
29. millis( )
Instruksi untuk mengambil nilai waktu sejak progam dijalankan hingga program
berhenti atau dimatikan.
30. Serial.begin(rate)
Instruksi untuk membuka port data serial untuk komunikasi serial baik mengirim
atau menerima data dari serial. Rate adalah nilai yang digunakan untuk
komunikasi serial (biasanya menggunakan 9600). Ketika menggunakan
komunikasi serial, pin digital 0 (RX) dan pin digital 1 (TX) tidak dapat
digunakan secara bersamaan.
31. Serial.print( ); Serial.printIn(data);
Serial.print( ) adalah instruksi yang digunakan untuk mengirim data ke port
serial. Serial.portIn(data) adalah instruksi untuk mengirim data ke port serial
berikut dengan instruksi ganti baris.
49
32. Serial.read( )
Merupakan instruksi untuk menerima data dari port serial.
33. Serial.available( )
Merupakan Instruksi untuk mendeteksi apakah menerima data dari serial port ?,
apabila menerima data, akan menghasilkan >0.
2.2.2. Arduino IDE
Software Arduino IDE adalah pengendali mikro single-board yang bersifat
open-source atau terbuka, diturunkan dari platform wiring, serta dirancang untuk
memudahkan penggunaan elektronik dalam berbagai bidang. Hardware Arduino
menggunakan prosesor Atmel AVR dan software-nya memiliki bahasa pemrograman
C++ yang telah disederhanakan dan fungsi-fungsinya yang lengkap, sehingga
Arduino mudah dipelajari oleh pemula (Andrianto & Darmawan, 2017).
Sumber : Penulis
50
Gambar II.24 Software Arduino IDE
Dalam pembuatan alat Pendeteksi Kebocoran Listrik Rumah, Software
Arduino IDE berperan sebagai Editor, compiler dan Uploader program. Seluruh
program yang telah disusun akan di upload ke papan Arduino menggunakan
Software Arduino IDE ini.