IMPLEMENTASI HOME AUTOMATION …ilkom.unnes.ac.id/snik/prosiding/2015/37. Ridho Taufiq.pdf · home...

14
Seminar Nasional Ilmu Komputer (SNIK 2015) - Semarang, 10 Oktober 2015 ISBN: 978-602-1034-19-4 241 IMPLEMENTASI HOME AUTOMATION MENGGUNAKAN SINGLE-BOARD ARDUINO DENGAN PENGENDALI BERBASIS ANDROID Ridho Taufiq Subagio 1 , Dwi Cahyadi 2 1,2 Program Studi Teknik Informatika, STMIK CIC Cirebon Email: 1 [email protected], 2 [email protected] ABSTRAK Home Automation adalah sebuah sistem otomatisasi untuk memudahkan kontrol di dalam rumah atau yang berkaitan dengan pekerjaan rumah tangga. Bagian-bagian yang dikontrol adalah perangkat elektronik seperti lampu, air conditioner, pemanas, dan perangkat elektrik lainnya. Saat ini proses pengembangan home automation masih terus dilakukan dengan salah satu tujuan pengembangannya adalah bagaimana meningkatkan nilai utilitas serta penyederhanaan media maupun komponen elektronik yang digunakannya agar dapat terjangkau oleh banyak kalangan masyarakat. Berbagai penelitian tentang home automation telah banyak dilakukan yang secara umum fokus pada pengendalian alat-alat listrik dengan peralatan kontrol dan media komunikasi yang berbeda-beda. Dalam penelitian ini akan dibuat sistem kendali berbasis android menggunakan arduino board untuk penerapan home automation yang akan mengendalikan perangkat elektrik dengan penambahan fitur keamanan meliputi alarm, kamera untuk monitoring, dan kendali kunci pintu otomatis. Arduino adalah single-board berbasis mikro kontroler Atmel AVR dan bersifat opensource yang merupakan turunan dari wiring platform. Arduino dirancang untuk memudahkan pengendalian perangkat elektrik dalam penggunaannya di berbagai bidang. Perangkat lunak arduino memiliki bahasa pemrograman sendiri. Hasil dari penelitian ini adalah sebuah sistem pengendali home automation menggunakan smartphone android yang dapat mengontrol peralatan elektrik yang terhubung dengan arduino board. Jenis komunikasi yang digunakan masih dalam lingkup jaringan lokal menggunakan Wi-Fi router sebagai penghubung antara perangkat android dan arduino board. Kata Kunci: Home Automation, Arduino, Android PENDAHULUAN 1. Dalam kesehariannya, sering terjadi ketika penghuni rumah pergi dan telah berada di luar rumah baru teringat bahwa ada beberapa perangkat elektrik di rumahnya yang belum dimatikan dan tidak memungkinkan untuk kembali ke rumah karena jarak yang jauh. Home automation adalah sebuah sistem otomatisasi untuk memudahkan kontrol di dalam rumah atau dalam hal ini berkaitan dengan pekerjaan rumah tangga, otomatisasi ini bisa meliputi penerangan rumah, Heat Ventilation Air Conditioner (HVAC), keamanan dan perangkat elektrik lainnya. Dengan demikian teknologi home automation memang diperlukan karena dapat memudahkan pengguna dalam mengontrol peralatan elektrik di rumahnya lebih mudah [1]. Untuk membuat sistem otomatisasi diperlukan biaya yang tidak sedikit. Sistem home automation terus dilakukan proses pengembangan, banyak pihak telah mencoba untuk mengembangkan teknologi ini dengan tujuan meningkatkan nilai utilitasnya serta penyederhanaan dari penggunaan komponen agar dapat digunakan oleh banyak kalangan masyarakat dengan biaya yang murah. Pemanfaatan perangkat android dan penggunaan media komunikasi wireless, baik bluetooth maupun Wi- Fi untuk sistem home automation ini telah dilakukan dibeberapa penelitian sebelumnya, namun masih berfokus pada bagaimana mengendalikan perangkat elektrik saja [2, 3]. Dalam penelitian ini akan ditambahkan fitur lainnya, yaitu faktor keamanan seperti kamera pengawas, alarm, dan kunci pintu otomatis sebagai tindakan pencegahan. Tujuan dari penelitian ini adalah bagaimana memanfaatkan perangkat android yang sudah ada dan telah banyak digunakan oleh masyarakat serta single-board arduino yang harganya semakin terjangkau untuk mengontrol perangkat elektrik di rumah sehingga dapat memberikan kemudahan monitoring, kenyamanan, dan keamanan. METODE 2. 2.1. Metode Penelitian Metode penelitian yang dilakukan dalam penelitian ini dibagi dalam beberapa tahapan penelitian, yaitu. 1) Pengumpulan data-data yang diperlukan berhubungan dengan sistem yang akan dibuat melalui studi pustaka yang bersumber dari buku referensi, jurnal, maupun internet. 2) Melakukan analisis kebutuhan perangkat keras yang digunakan serta perancangan interkoneksinya. 3) Melakukan perancangan dan pembuatan perangkat lunak pada bagian sistem Arduino dan Android. 4) Melakukan uji coba sistem secara keseluruhan.

Transcript of IMPLEMENTASI HOME AUTOMATION …ilkom.unnes.ac.id/snik/prosiding/2015/37. Ridho Taufiq.pdf · home...

Page 1: IMPLEMENTASI HOME AUTOMATION …ilkom.unnes.ac.id/snik/prosiding/2015/37. Ridho Taufiq.pdf · home automation yang akan mengendalikan perangkat elektrik dengan penambahan fitur keamanan

Seminar Nasional Ilmu Komputer (SNIK 2015) - Semarang, 10 Oktober 2015 ISBN: 978-602-1034-19-4

241

IMPLEMENTASI HOME AUTOMATION MENGGUNAKAN

SINGLE-BOARD ARDUINO DENGAN PENGENDALI BERBASIS

ANDROID

Ridho Taufiq Subagio

1, Dwi Cahyadi

2

1,2Program Studi Teknik Informatika, STMIK CIC Cirebon

Email: [email protected], [email protected]

ABSTRAK

Home Automation adalah sebuah sistem otomatisasi untuk memudahkan kontrol di dalam rumah atau yang berkaitan dengan pekerjaan rumah tangga. Bagian-bagian yang dikontrol adalah perangkat elektronik seperti lampu, air

conditioner, pemanas, dan perangkat elektrik lainnya. Saat ini proses pengembangan home automation masih terus

dilakukan dengan salah satu tujuan pengembangannya adalah bagaimana meningkatkan nilai utilitas serta

penyederhanaan media maupun komponen elektronik yang digunakannya agar dapat terjangkau oleh banyak kalangan masyarakat. Berbagai penelitian tentang home automation telah banyak dilakukan yang secara umum

fokus pada pengendalian alat-alat listrik dengan peralatan kontrol dan media komunikasi yang berbeda-beda.

Dalam penelitian ini akan dibuat sistem kendali berbasis android menggunakan arduino board untuk penerapan

home automation yang akan mengendalikan perangkat elektrik dengan penambahan fitur keamanan meliputi alarm, kamera untuk monitoring, dan kendali kunci pintu otomatis. Arduino adalah single-board berbasis mikro kontroler

Atmel AVR dan bersifat opensource yang merupakan turunan dari wiring platform. Arduino dirancang untuk

memudahkan pengendalian perangkat elektrik dalam penggunaannya di berbagai bidang. Perangkat lunak arduino

memiliki bahasa pemrograman sendiri. Hasil dari penelitian ini adalah sebuah sistem pengendali home automation menggunakan smartphone android yang dapat mengontrol peralatan elektrik yang terhubung dengan arduino board.

Jenis komunikasi yang digunakan masih dalam lingkup jaringan lokal menggunakan Wi-Fi router sebagai

penghubung antara perangkat android dan arduino board.

Kata Kunci: Home Automation, Arduino, Android

PENDAHULUAN 1.

Dalam kesehariannya, sering terjadi ketika penghuni rumah pergi dan telah berada di luar rumah baru

teringat bahwa ada beberapa perangkat elektrik di rumahnya yang belum dimatikan dan tidak

memungkinkan untuk kembali ke rumah karena jarak yang jauh. Home automation adalah sebuah sistem

otomatisasi untuk memudahkan kontrol di dalam rumah atau dalam hal ini berkaitan dengan pekerjaan

rumah tangga, otomatisasi ini bisa meliputi penerangan rumah, Heat Ventilation Air Conditioner

(HVAC), keamanan dan perangkat elektrik lainnya. Dengan demikian teknologi home automation

memang diperlukan karena dapat memudahkan pengguna dalam mengontrol peralatan elektrik di

rumahnya lebih mudah [1]. Untuk membuat sistem otomatisasi diperlukan biaya yang tidak sedikit.

Sistem home automation terus dilakukan proses pengembangan, banyak pihak telah mencoba untuk

mengembangkan teknologi ini dengan tujuan meningkatkan nilai utilitasnya serta penyederhanaan dari

penggunaan komponen agar dapat digunakan oleh banyak kalangan masyarakat dengan biaya yang

murah.

Pemanfaatan perangkat android dan penggunaan media komunikasi wireless, baik bluetooth maupun Wi-

Fi untuk sistem home automation ini telah dilakukan dibeberapa penelitian sebelumnya, namun masih

berfokus pada bagaimana mengendalikan perangkat elektrik saja [2, 3]. Dalam penelitian ini akan

ditambahkan fitur lainnya, yaitu faktor keamanan seperti kamera pengawas, alarm, dan kunci pintu

otomatis sebagai tindakan pencegahan.

Tujuan dari penelitian ini adalah bagaimana memanfaatkan perangkat android yang sudah ada dan telah

banyak digunakan oleh masyarakat serta single-board arduino yang harganya semakin terjangkau untuk

mengontrol perangkat elektrik di rumah sehingga dapat memberikan kemudahan monitoring,

kenyamanan, dan keamanan.

METODE 2.

2.1. Metode Penelitian

Metode penelitian yang dilakukan dalam penelitian ini dibagi dalam beberapa tahapan penelitian, yaitu.

1) Pengumpulan data-data yang diperlukan berhubungan dengan sistem yang akan dibuat melalui studi

pustaka yang bersumber dari buku referensi, jurnal, maupun internet.

2) Melakukan analisis kebutuhan perangkat keras yang digunakan serta perancangan interkoneksinya.

3) Melakukan perancangan dan pembuatan perangkat lunak pada bagian sistem Arduino dan Android.

4) Melakukan uji coba sistem secara keseluruhan.

Page 2: IMPLEMENTASI HOME AUTOMATION …ilkom.unnes.ac.id/snik/prosiding/2015/37. Ridho Taufiq.pdf · home automation yang akan mengendalikan perangkat elektrik dengan penambahan fitur keamanan

Seminar Nasional Ilmu Komputer (SNIK 2015) - Semarang, 10 Oktober 2015 ISBN: 978-602-1034-19-4

242

2.2. Home Automation

Home automation atau biasa disebut juga home control, smart home, smart house atau intelligent home

sebenarnya adalah kumpulan dari perangkat, sistem dan subsistem yang mana memiliki kemampuan

untuk berinteraksi satu sama lain atau berfungsi secara independen. Hal ini memungkinkan pemilik

rumah dapat mengendalikan hampir seluruh peralatan rumah secara individual atau secara kolektif

dengan menggunakan penjadwalan otomatis atau perubahan secara tiba-tiba [1].

Definisi lain dari home automation, home automation terdiri atas dua kata home dan automation.

1) Home (noun): sebuah tempat (seperti rumah atau apartemen) dimana manusia tinggal.

2) Automation (noun): operasi secara otomatis yang dikendalikan melalui sebuah alat, proses atau sistem

dengan perangkat mekanik atau elektronik untuk mengambil alih kerja manusia.

Jadi definisi dari home automation adalah tindakan untuk menjadikan kendali tugas di dalam rumah yang

dilakukan oleh manusia menjadi otomatis [4].

2.3. Single-board Arduino

Arduino adalah kit elektronik atau board rangkaian elektronik berbasis mikrokontroler yang bersifat

opensource dimana di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis

AVR buatan Atmel (Atmega328). Arduino merupakan opensource electronic platform yang bersifat easy-

to-use untuk membuat berbagai proyek elektronika. Arduino dapat menerima sinyal dari berbagai macam

sensor dan dapat mengendalikan berbagai perangkat seperti LED, motor, dan lain-lain. Selain itu, karena

arduino adalah sistem berbasis microcontroller maka perlu dituliskan perintah atau program ke dalam

Arduino tersebut agar dapat berfungsi sesuai dengan yang diinginkan. Bahasa pemrograman yang

digunakan mirip dengan C# dan untuk meng-upload program ke arduino dibutuhkan aplikasi arduino IDE

yang merupakan aplikasi compiler resmi dari arduino [5]. Gambar 1 merupakan tampilan dari single-

board arduino uno.

Gambar 1. Single-board arduino uno.

Single-board arduino ini menyediakan dukungan soket ekspansi sehingga dapat dikembangkan fungsinya

untuk keperluan lain. Beberapa komponen yang didukung oleh single-board arduino ini, antara lain.

2.3.1. Ethernet Shield Board

Penambahan Ethernet Shield Board memungkinkan single-board arduino dapat terhubung ke jaringan

lokal maupun internet. Ethernet Shield ini berbasis ethernet chip Wiznet W5100. Wiznet W5100

menyediakan protokol jaringan TCP/IP dan UDP. Dukungan Ethernet Shield Board dapat dilakukan

hingga empat koneksi soket secara simultan. Ethernet Shield Board terhubung ke single-board arduino

melalui soket dengan pin yang terhubung dan menumpuk di atasnya [5]. Gambar 2 merupakan tampilan

dari arduino ethernet shield R3.

Gambar 2. Arduino ethernet shield R3.

Page 3: IMPLEMENTASI HOME AUTOMATION …ilkom.unnes.ac.id/snik/prosiding/2015/37. Ridho Taufiq.pdf · home automation yang akan mengendalikan perangkat elektrik dengan penambahan fitur keamanan

Seminar Nasional Ilmu Komputer (SNIK 2015) - Semarang, 10 Oktober 2015 ISBN: 978-602-1034-19-4

243

2.3.2. Relay Module Board

Relay adalah saklar mekanik yang dikendalikan atau dikontrol secara elektronik (elektromagnetik). Saklar

pada relay akan terjadi perubahan posisi OFF ke ON pada saat diberikan energi elektromagnetik pada

armatur relay tersebut. Relay pada dasarnya terdiri dari 2 bagian utama yaitu saklar mekanik dan sistem

pembangkit elektromagnetik (induktor inti besi). Saklar atau kontaktor relay dikendalikan menggunakan

tegangan listrik yang diberikan ke induktor pembangkit magnet untuk menarik armatur tuas saklar atau

kontaktor relay [6]. Gambar 3 merupakan tampilan dari Relay Module Board Shield 4 Channel 5V.

Gambar 3. Relay module board shield 4 channel 5V.

2.3.3. Passive Infra Red (PIR)

Passive Infra Red (PIR) adalah sensor yang digunakan untuk mendeteksi adanya pancaran sinar infra

merah. Sensor PIR bersifat pasif, artinya sensor ini tidak memancarkan sinar infra merah tetapi hanya

menerima radiasi sinar infra merah dari luar [6]. Gambar 4 menunjukkan bentuk dan tampilan dari

Passive Infra Red (PIR).

Gambar 4. Passive Infra Red (PIR).

2.3.4. Buzzer

Buzzer adalah komponen elektronik yang berfungsi untuk mengubah getaran listrik menjadi getaran

suara. Pada dasarnya prinsip kerja buzzer hampir sama dengan loudspeaker, 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 [6]. Gambar 5 merupakan tampilan dari Buzzer.

Gambar 5. Buzzer.

2.3.5. Motor Servo

Motor servo adalah motor DC yang dilengkapi rangkaian kendali dengan sistem closed feedback yang

terintegrasi di dalam motor tersebut. Pada motor servo posisi putaran sumbu (axis) dari motor akan

diinformasikan kembali ke rangkaian kontrol yang ada di dalam motor servo [6]. Motor servo disusun

dari sebuah motor DC, gearbox, Variabel Resistor (VR) atau potensiometer dan rangkaian kontrol.

Potensiometer berfungsi untuk menentukan batas maksimum putaran sumbu (axis) motor servo

sedangkan sudut dari sumbu motor servo diatur berdasarkan lebar pulsa yang ada pada pin kontrol motor

servo. Motor servo dapat dilihat pada Gambar 6.

Page 4: IMPLEMENTASI HOME AUTOMATION …ilkom.unnes.ac.id/snik/prosiding/2015/37. Ridho Taufiq.pdf · home automation yang akan mengendalikan perangkat elektrik dengan penambahan fitur keamanan

Seminar Nasional Ilmu Komputer (SNIK 2015) - Semarang, 10 Oktober 2015 ISBN: 978-602-1034-19-4

244

Gambar 6. Motor servo.

2.4. Android

Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem

operasi, middleware dan aplikasi. Aplikasi android ditulis dalam bahasa pemrograman java. Kode java

dikompilasi bersama data file resource yang dibutuhkan oleh aplikasi, di mana prosesnya di-package oleh

tools yang dinamakan “apt tools” ke dalam paket Android sehingga menghasilkan file dengan ekstensi

apk, dan nantinya dapat di install di perangkat mobile [7].

HASIL DAN PEMBAHASAN 3.

3.1. Analisis dan Perancangan Perangkat Keras

3.1.1. Kebutuhan Perangkat Keras

Kebutuhan perangkat keras dapat dilihat pada Tabel 1.

Tabel 1. Kebutuhan perangkat keras

No. Nama Komponen Qty. No. Nama Komponen Qty.

1. Single-Board Arduino Uno 1 12. Steker listrik AC female 3

2. Arduino Ethernet Shield

Board

1 13. Steker listrik AC male 1

3. Relay Module Board 4 Chanel 5 Volt

1 14. Adaptor 1

4. Wi-Fi Router 1 15. Box akrilik ukuran 22 cm

x 15,5 cm

1

5. PIR Sensor 1 16. Switch 1 6. Buzzer 1 17. Fuse 1 A + Box 1

7. Motor Servo 1 18. Fuse box 1

8. Webcam 1 19. Terminal Blok 1

9. Jumper-male-to-female 20 11. Kabel kawat kecil

10. Kabel LAN 1 20. Kabel listrik AC

3.1.2. Diagram Blok Sistem

Diagram blok sistem terdapat pada Gambar 7.

Single-Board Arduino+

Ethernet Shield Board

Mini Wi-FiRouter

Relay Module Board4 Channel

PIR Sensor

WebCam

SmartphoneAndroid

Buzzer Motor Servo

Obyek

Bergerak

PerangkatElektrik

Gambar 7. Diagram blok sistem.

Dari Gambar 7 terlihat bahwa single-board arduino terhubung dengan ethernet shield board agar dapat

berkomunikasi dengan perangkat lainnya melalui jaringan yang mendukung protokol TCP/IP yaitu Mini

Wi-Fi router sehingga dapat berkomunikasi dengan perangkat android, WebCam, dan perangkat lainnya

yang terhubung dalam satu jaringan. Port input/output dari single-board arduino terhubung dengan

beberapa komponen, yaitu:

Page 5: IMPLEMENTASI HOME AUTOMATION …ilkom.unnes.ac.id/snik/prosiding/2015/37. Ridho Taufiq.pdf · home automation yang akan mengendalikan perangkat elektrik dengan penambahan fitur keamanan

Seminar Nasional Ilmu Komputer (SNIK 2015) - Semarang, 10 Oktober 2015 ISBN: 978-602-1034-19-4

245

1) Relay Module Board yang berfungsi sebagai saklar elektronik untuk menghidupkan dan mematikan

perangkat elektrik. Fungsi dari pensaklaran ini dikontrol oleh mikrokontroler yang terdapat di dalam

arduino board sesuai dengan perintah yang dikirim oleh smartphone android.

2) Motor Servo untuk menggerakan kunci pintu berdasarkan respon dari sensor infra red (PIR Sensor)

yang menerima informasi adanya obyek yang bergerak.

3) Buzzer berfungsi sebagai bunyi alarm yang memberitahukan adanya obyek bergerak yang diterima

oleh sensor infrared (PIR Sensor).

3.1.3. Pin Diagram

Tabel 2 adalah konfigurasi dari penggunaan pin pada single-board arduino yang menghubungkan dengan

perangkat lainnya.

Tabel 2. Pin diagram interkoneksi single-board arduino dengan perangkat lainnya

No Nama Komponen Pin Komponen Pin Arduino

1 Relay Vcc 5V

In1 2

In2 3

In3 4

In4 5

Gnd Gnd

2 Motor Vcc 5V

Out 7

Gnd Gnd

3 PIR Vcc 5V

Out 7

Gnd Gnd

4 Buzzer Positive 9

Negative Gnd

3.2. Analisis dan Perancangan Perangkat Lunak

a. Use Case Diagram

Gambar 8 merupakan use case diagram dari perangkat keras yang dibuat.

Gambar 8. Use case diagram.

Use case diagram menunjukan fitur apa saja yang terdapat pada sistem home automation yang akan

dibuat, fitur tersebut adalah setup, mengendalikan lampu, mengendalikan perangkat elektrik, buka/tutup

kunci pintu, aktivasi alarm, dan streaming obyek dari kamera.

Page 6: IMPLEMENTASI HOME AUTOMATION …ilkom.unnes.ac.id/snik/prosiding/2015/37. Ridho Taufiq.pdf · home automation yang akan mengendalikan perangkat elektrik dengan penambahan fitur keamanan

Seminar Nasional Ilmu Komputer (SNIK 2015) - Semarang, 10 Oktober 2015 ISBN: 978-602-1034-19-4

246

b. Activity dan Sequence Diagram

Activity dan sequence diagram menunjukan urutan aktifitas yang terjadi dari mulai user memilih tindakan

pada aplikasi android sampai dengan arduino mengirimkan status ditunjukkan pada Gambar 9.

Gambar 9. Activity dan sequence diagram.

c. Algoritma Program Arduino

Program yang berjalan pada single-board arduino dimulai dari tahap loading library yang dibutuhkan

kemudian dilanjutkan dengan inisialisasi Port I/O melalui pin yang ada sesuai dengan fungsi yang

diharapkan. Selanjutnya adalah melakukan setup konfigurasi ethernet shield board agar dapat terhubung

ke dalam jaringan melalui Wi-Fi router dan perangkat android. Berikutnya arduino akan menunggu dan

merespon terhadap sinyal-sinyal yang dikodekan dan dikirim dari perangkat android. Algoritma program

dari sistem arduino dapat dilihat pada flowchart pada Gambar 10 bawah ini.

Gambar 10. Flowchart program arduino.

d. Cara Kerja Program Keseluruhan

Cara kerja dari sistem home automation yang dibuat adalah android akan mengirimkan kode melalui

jaringan yang akan diterima oleh arduino sebagai text, selanjutnya arduino akan mendeskripsikan text

tersebut menjadi sebuah perintah dengan menggunakan logika if-case. Pada dasarnya perintah yang

dikirim adalah untuk memberikan atau memutuskan arus listrik untuk aktuator sehingga aktuator bekerja

Page 7: IMPLEMENTASI HOME AUTOMATION …ilkom.unnes.ac.id/snik/prosiding/2015/37. Ridho Taufiq.pdf · home automation yang akan mengendalikan perangkat elektrik dengan penambahan fitur keamanan

Seminar Nasional Ilmu Komputer (SNIK 2015) - Semarang, 10 Oktober 2015 ISBN: 978-602-1034-19-4

247

sesuai dengan keinginan user. Tabel 3 adalah daftar kode kendali yang dikirim oleh aplikasi dari

perangkat android untuk mengendalikan kerja arduino.

Tabel 3. Daftar kode kendali

Kode Perintah

L Lampu nyala

L Lampu mati

A Perangkat 1 hidup

A Perangkat 2 hidup

B Perangkat 3 hidup

B Perangkat 1 mati

C Perangkat 2 mati

C Perangkat 3 mati

S Alarm aktif

S Alarm tidak aktif

M Kunci

M Buka kunci

e. Rancangan Database

Database yang dibuat hanya terdiri dari 1 (satu) tabel dan tersimpan di perangkat android. Database ini

diperlukan untuk menyimpan setting IP Address single-board arduino, nomor port yang diakses, dan

URL dari kamera. Untuk tabel setup dapat dilihat pada Tabel 1.

Tabel 4. Tabel setup

Nama Field Jenis Panjang

ip_arduino Varchar 15

Port Varchar 4

url_cam Varchar 50

f. Deployment Diagram

Gambar 11 adalah deployment diagram dari software. Komponen-komponen pada deployment diagram

terdapat pada Tabel 5.

Gambar 11. Deployment diagram.

Tabel 5. Keterangan komponen deployment diagram

No Nama Node/

Komponen

Keterangan

1. Android Difungsikan sebagai remote dari home automation.

2. Aplikasi Aplikasi android yang dibuat penulis untuk

mengendalikan home automation.

3. Database Basis data pada aplikasi untuk menyimpan pengaturan dan

IP address home automation

4. Router Berfungsi menyediakan jaringan komputer untuk

menghubungkan android dengan arduino dan kamera.

5. Kamera Digunakan untuk memantau kedaan rumah dan dapat di-

deployment Deployment Model

«device»

Pengontrol

«device»

Ethernet Shield

«device»

Relay

«device»

Android

Aplikasi

Database

«device»

Motor

«device»

PIR

«device»

Buzzer

«device»

Router

«device»

Kamera

«device»

Arduino

Alat Elektronik

Arduino.ino

SPI.h Ethernet.h Servo.h

EthernetUDP.h

<ethernet><wifi>

<ethernet>

Page 8: IMPLEMENTASI HOME AUTOMATION …ilkom.unnes.ac.id/snik/prosiding/2015/37. Ridho Taufiq.pdf · home automation yang akan mengendalikan perangkat elektrik dengan penambahan fitur keamanan

Seminar Nasional Ilmu Komputer (SNIK 2015) - Semarang, 10 Oktober 2015 ISBN: 978-602-1034-19-4

248

streaming melalui aplikasi

6. Pengontrol Rangkaian utama dari home automation yang terdiri atas

arduino, ethernet shield dan relay

7. Arduino Merupakan otak dari home automation yang

mengendalikan kerja komponen lain

8. Ethernet Shield Digunakan untuk menghubungkan arduino ke jaringan

yang disediakan router melalui kabel ethrtnet.

9. Relay Saklar otomatis yang dikendalikan oleh arduino.

10. PIR Sensor pendeteksi gerak atau objek.

11. Motor Penggerak untuk memutar kunci.

12. Buzzer Alat pngeras suara tanda alarm.

13. Alat Elektronik Node terdiri alat-alat listrik yang dihubungkan ke

pengontrol dan dapat dikendalikan oleh home automation.

14. Arduino.ino Source file yang ditanamkan pada arduino yang berisi

sekumpulan perintah eksekusi untuk mengoperasikan

home automation.

15. SPI.h Serial Peripheral Interface, library yang berisi protokol-

protokol agar arduino bisa berkomunikasi dengan perngkat

lain.

16. Ethernet.h Library berisi protokol dan fungsi dari ethernet.

17. EthernetUDP.h Library Unit Datagram Protocol

18. Servo.h Library untuk motor servo.

g. Rancangan User Interface Aplikasi Android

Gambar 12 adalah rancangan untuk tampilan user interface pada aplikasi android.

Application Title

Switch Control

Kunci/Buka Kunci

Alarm

Camera

Status

Application Title

ONOFF

ONOFF

ONOFF

ONOFF

Dev 1 Status

Dev 2 Status

Dev 3 Status

Dev 4 Status

Application Title

IP Address

Port

URL Cam

Save

(1) (2) (3)

Gambar 12. Rancangan tampilan user interface aplikasi android.

Keterangan:

1) Rancangan tampilan dashboard.

2) Rancangan tampilan switch control.

3) Rancangan tampilan setting.

Page 9: IMPLEMENTASI HOME AUTOMATION …ilkom.unnes.ac.id/snik/prosiding/2015/37. Ridho Taufiq.pdf · home automation yang akan mengendalikan perangkat elektrik dengan penambahan fitur keamanan

Seminar Nasional Ilmu Komputer (SNIK 2015) - Semarang, 10 Oktober 2015 ISBN: 978-602-1034-19-4

249

3.3. Implementasi

3.3.1. Implementasi Perangkat Keras

Gambar 13 adalah hasil dari implementasi perakitan perangkat keras yang diperlukan:

Gambar 13. Komponen perangkat keras yang telah tersusun.

Perangkat yang diimplementasi hanya bisa dapat mengendalikan 4 (empat) perangkat elektrik, 1 (satu)

motor DC, 1 (satu) sensor infra red, dan buzzer, simulasi dalam uji cobanya pada Gambar 14.

Gambar 14. Denah untuk simulasi uji coba.

3.3.2. Implementasi Program

1. Program Android

Fungsi utama dari program android adalah untuk mengirim pesan berupa paket data ke arduino melalui

protokol UDP dimana pesan tersebut berisi kode untuk menentukan tindakan apa yang akan dilakukan

arduino. Selain mengirim, program android pun dapat menerima pesan dari arduino sehingga user dapat

mengetahui kondisi status dari perangkat yang terhubung ke single-board arduino.

Berikut ini adalah script utama untuk mengirim pesan melalui protokol UDP.

String s;

byte[] b = (s.getBytes());

if (isOnline()) {

byte[] receiveData = new byte[1024];

serverHostname1 = new String("192.168.1.X");

ip = InetAddress.getByName(serverHostname1);

try {

d1 = new DatagramSocket();

} catch (Exception e)

e.printStackTrace();

}

try {

send = new DatagramPacket(b, b.length, ip, 8032);

} catch (Exception e) {

}

d1.send(send);

}

Page 10: IMPLEMENTASI HOME AUTOMATION …ilkom.unnes.ac.id/snik/prosiding/2015/37. Ridho Taufiq.pdf · home automation yang akan mengendalikan perangkat elektrik dengan penambahan fitur keamanan

Seminar Nasional Ilmu Komputer (SNIK 2015) - Semarang, 10 Oktober 2015 ISBN: 978-602-1034-19-4

250

Variabel string “s” berisi kode untuk perintah arduino, selanjutnya nilai dari variabel “s” dirubah menjadi

bentuk byte dan disimpan dalam variabel “b”. Proses berikutnya adalah menjadikan nilai dari variabel “b”

sebagai packet datagram sehingga dapat dikirim dengan tujuan IP Address dan port arduino melalui

protokol datagram yang sedang aktif. Adapun hasil dari implementasi program android ditunjukkan pada

Gambar 15.

(a) (b) (c)

(d) (e) (f)

Gambar 15. Implementasi aplikasi di perangkat Android.

Keterangan gambar:

(a) Tampilan ketika tidak terhubung jaringan

(b) Tampilan ketika terhubung ke jaringan tetapi tidak terkoneksi ke Arduino

(c) Tampilan ketika terhubung ke jaringan dan Arduino

(d) Switch Control

(e) Tampilan streaming dari kamera

(f) Tampilan setting

2. Program Single-board Arduino

Pemrograman arduino digunakan bahasa C, hanya saja memiliki sedikit perbedaan dari segi struktur

utama, jika pada bahasa C konvensional void utama adalah void main () sedangkan untuk pemrograman

arduino membutuhkan dua void utama yaitu void setup() dan void loop().

Void setup() merupakan sekumpulan perintah yang dibaca satu kali ketika Arduino pertama kali

dinyalakan, perintah dalam void ini biasanya perintah untuk menentukan sebuah kondisi atau membuat

lingkungan kerja, contohnya menentukan jenis digital pin dari arduino atau menentukan keadaan arduino.

Sedangkan void loop() akan dibaca terus menerus dan berulang-ulang ketika arduino menyala.

3.4. Pengujian

3.4.1. Pengujian Progarm Arduino

Berikut adalah script dari program arduino untuk kendali alat elektronik. Gambar 16 adalah flow graph

hasil pengujian program arduino untuk kendali alat elektrik.

1 Void Loop(){

2 Udp.read(packetBuffer, UDP_TX_PACKET_MAX_SIZE);

3 if (packetBuffer[0] == 'L') {

Page 11: IMPLEMENTASI HOME AUTOMATION …ilkom.unnes.ac.id/snik/prosiding/2015/37. Ridho Taufiq.pdf · home automation yang akan mengendalikan perangkat elektrik dengan penambahan fitur keamanan

Seminar Nasional Ilmu Komputer (SNIK 2015) - Semarang, 10 Oktober 2015 ISBN: 978-602-1034-19-4

251

4 digitalWrite(relay1, LOW);

5 s = "ON";

6 }else if (packetBuffer[0] == 'l') {

7 digitalWrite(relay1, HIGH);

8 s = "OFF";

9 }

10 sendStatus(String s);

11 }

12 void sendStatus(String msg) {

13 Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());

14 Udp.print(msg);

15 Udp.endPacket();

16 }

1

2

3

4 6

5

9

7

8

10

11

12

13

14

15

16

Gambar 16. Flow graph hasil pengujian program arduino untuk kendali alat elektrik.

Perhitungan white box.

(1)

(2)

(3)

(4)

(5)

(6)

(7)

Proses ini memperoleh nilai CC sebesar 3, tergolong simple procedure dan memiliki resiko error rendah.

3.4.2. Pengujian Program Android

Berikut adalah script dari arduinoCmd(). 1 public void arduinoCmd(String s) throws Exception {

2 byte[] b = (s.getBytes());

3 if (isOnline()) {

4 byte[] receiveData = new byte[1024];

serverHostname1 = new String("192.168.1.105");

ip = InetAddress.getByName(serverHostname1);

5 try {

6 d1 = new DatagramSocket();

7 } catch (Exception e) {

8 e.printStackTrace(); }

9 try {

10 send = new DatagramPacket(b, b.length, ip, 8032);

11 } catch (Exception e) {

12 e.printStackTrace();}

13 d1.send(send);

14 rec = new DatagramPacket(receiveData, receiveData.length);

15 d1.setSoTimeout(10000);

16 d1.receive(rec);

Page 12: IMPLEMENTASI HOME AUTOMATION …ilkom.unnes.ac.id/snik/prosiding/2015/37. Ridho Taufiq.pdf · home automation yang akan mengendalikan perangkat elektrik dengan penambahan fitur keamanan

Seminar Nasional Ilmu Komputer (SNIK 2015) - Semarang, 10 Oktober 2015 ISBN: 978-602-1034-19-4

252

17 modifiedSentence = new String(rec.getData());

18 d1.close();

19 } else {

Toast.makeText(getApplicationContext(), "No network",

20 Toast.LENGTH_LONG).show();}

21 }

Flow Graph hasil pengujian program android dapat dilihat pada Gambar 17.

1 2 3 4 5 6 9

101314151617

7

8

18

111219 20 21

Gambar 17. Flow Graph hasil pengujian program Android.

Perhitungan white box.

(8)

(9)

(10)

(11)

(12)

(13)

(14)

Proses ini memperoleh nilai CC sebesar 4, tergolong simple procedure dan memiliki resiko error rendah.

3.4.1 Akumulasi Seluruh Hasil Pengujian

Tabel 6 adalah akumulasi dari seluruh proses yang terdapat pada arduino dan android.

Tabel 6. Akumulasi hasil pengujian dengan white box

Perangkat Nama Proses Nilai Cyclomatic Complexity

Arduino kendali alat elektronik 3

kendali kunci 5

aktifasi alaram 7,5

Jumlah 15,5

Android arduinoCmd () 4,5

menampilkan setting 3

update setting 1

Jumlah 8,5

Rata-rata nilai CC Arduino = 15,5 / 3 = 5,166

Rata-rata nilai CC Android = 8,5 / 3 = 2,84

SIMPULAN 4.

Arduino merupakan single-board berbasis mikrokontroler yang dapat digunakan untuk berbagai macam

keperluan serta dapat dihubungkan dengan perangkat Android yang semakin banyak penggunanya

sehingga dapat membangun home automation dengan biaya yang murah. Perangkat Android yang

digunakan berfungsi sebagai pengendali home automation yang dilengkapi fitur keamanan berupa alarm,

kendali motor untuk membuka dan menutup pintu, dan video streaming untuk monitoring keadaan

sehingga dapat memberikan keamanan lebih bagi pemilik rumah. Berdasarkan hasil pengujian diperoleh

nilai rata-rata Cyclomatic Complexity sebesar 5,16 untuk program arduino dan 2,83 untuk program

Android yang artinya sistem memiliki prosedur yang sederhana dan memiliki tingkat resiko error yang

Page 13: IMPLEMENTASI HOME AUTOMATION …ilkom.unnes.ac.id/snik/prosiding/2015/37. Ridho Taufiq.pdf · home automation yang akan mengendalikan perangkat elektrik dengan penambahan fitur keamanan

Seminar Nasional Ilmu Komputer (SNIK 2015) - Semarang, 10 Oktober 2015 ISBN: 978-602-1034-19-4

253

rendah. Pengembangan sistem selanjutnya dapat digunakan media internet sebagai media komunikasi

agar dapat dilakukan pengendalian jarak jauh serta dengan lingkup pengendalian perangkat elektrik yang

lebih luas.

REFERENSI 5.

[1] Gerhart, J. 1999. Home Automation and Wiring. McGraw-Hill Professional, New York.

[2] Warangkiran, I. 2014. Perancangan Kendali Lampu Berbasis Android. e-Journal Teknik Elektro dan

Komputer UNSRAT. Vol 3, No 1.

[3] Rahmiati, P. 2014. Implementasi Sistem Bluetooth menggunakan Android dan Arduino untuk Kendali

Peralatan Elektronik. Jurnal Teknik Elektro Itenas. Vol 2, No 1.

[4] Spivey, D. 2015. Home Automation for Dummies. John Wiley & Sons, New York.

[5] Kelas Microcontrol. (Online), (http://www.kelas-mikrokontrol.com/e-learning, diakses tanggal 19

Maret 2015).

[6] Elektronika Dasar. (Online), (http://elektronika-dasar.web.id, diakses tanggal 20 Februari 2015).

[7] Suprianto, D. dan Agustina, R. 2012. Pemrograman Aplikasi Android. Mediakom, Yogyakarta.

Page 14: IMPLEMENTASI HOME AUTOMATION …ilkom.unnes.ac.id/snik/prosiding/2015/37. Ridho Taufiq.pdf · home automation yang akan mengendalikan perangkat elektrik dengan penambahan fitur keamanan

Seminar Nasional Ilmu Komputer (SNIK 2015) - Semarang, 10 Oktober 2015 ISBN: 978-602-1034-19-4

254