dashboard android pengontrol lampu …repository.amikom.ac.id/files/publikasi_09.11.3494.pdf ·...

13
DASHBOARD ANDROID PENGONTROL LAMPU MENGGUNAKAN JARINGAN BLUETOOTH NASKAH PUBLIKASI disusun oleh Ervin Nurdin Purnawan 09.11.3494 JURUSAN TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2013

Upload: doanminh

Post on 14-Mar-2019

234 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DASHBOARD ANDROID PENGONTROL LAMPU …repository.amikom.ac.id/files/Publikasi_09.11.3494.pdf · adalah bahasa pemrograman Java dan C. Bahasa tingkat tinggi tersebut kemudian ... Mikrokontroler

DASHBOARD ANDROID PENGONTROL LAMPU MENGGUNAKAN

JARINGAN BLUETOOTH

NASKAH PUBLIKASI

disusun oleh

Ervin Nurdin Purnawan

09.11.3494

JURUSAN TEKNIK INFORMATIKA

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AMIKOM YOGYAKARTA

2013

Page 2: DASHBOARD ANDROID PENGONTROL LAMPU …repository.amikom.ac.id/files/Publikasi_09.11.3494.pdf · adalah bahasa pemrograman Java dan C. Bahasa tingkat tinggi tersebut kemudian ... Mikrokontroler
Page 3: DASHBOARD ANDROID PENGONTROL LAMPU …repository.amikom.ac.id/files/Publikasi_09.11.3494.pdf · adalah bahasa pemrograman Java dan C. Bahasa tingkat tinggi tersebut kemudian ... Mikrokontroler

ANDROID DASHBOARD CONTROLLING LAMP USE THE BLUETOOTH NETWORK

DASHBOARD ANDROID PENGONTROL LAMPU MENGGUNAKAN JARINGAN BLUETOOTH

Ervin Nurdin Purnawan Andi Sunyoto

Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA

ABSTRACT

Developments of information technology influence human to absorb varieties of information and help in some activities. This is reinforced by developing of advanced communication devices such as smartphones and tablet computers that circulating in the society. Therefore , information technology can be used in our daily life .

Android Dashboard Light Controller that use Bluetooth Network is a form technology that will facilitate the human . By combining the microcontroller and android smartphones which are both connected in a Bluetooth network , android smartphone can control some lights .

Lights mounted on the microcontroller can be controlled via Android smartphones that have installed this application . To connect android smartphone with microcontroller used bluetooth network and its protocols . With it the user can turn off and turn on some lights through the Android smartphone . Keywords : Android , microcontroller , lamp controller , lamp controller

Page 4: DASHBOARD ANDROID PENGONTROL LAMPU …repository.amikom.ac.id/files/Publikasi_09.11.3494.pdf · adalah bahasa pemrograman Java dan C. Bahasa tingkat tinggi tersebut kemudian ... Mikrokontroler

1. Pendahuluan

Pesatnya perkembangan teknologi informasi mempermudah manusia untuk

menyerap berbagai informasi dan membantu dalam berbagai aktivitas. Hal ini dipertegas

dengan semakin berkembangnya alat komunikasi canggih seperti smartphone (telepon

pintar) dan computer tablet yang beredar di masyrakat. Sering kita jumpai pengendalian

lampu kebanyakan menggunakan saklar on/off. Sejalan dengan perkembangan teknologi

informasi dan komunikasi, hal tersebut tentu kurang praktis dan efisien, dimana kita

harus berada di depan piranti listrik tersebut dan menekan saklar on/off untuk

menyalakan atau mematikan lampu. Sebagai contoh dalam suatu rumah terdapat lebih

dari satu lampu dan terdapat dalam beberapa ruang, tentu tidak praktis dan efisien jika

kita harus berjalan kesetiap ruangan untuk menghidupkan atau mematikan lampu serta

memonitor apakah lampu sudah menyala atau belum.

2. Landasan Teori

2.1 Hardware

Hardware dalam sistem pengendali lampu menggunakan modul bluetooth

menggunakan mikrokontroller atmega16 terbagi menjadi dua, yaitu:

1. Bagian Mekanis

2. Bagian Elektronis

2.1.1 Bagian Mekanis

Bagian mekanis adalah bagian alat–alat yang terlihat langsung dan merupakan

penerapan fungsi dari perancangan maket ini, yang diantaranya adalah:

2.1.2 Bagian Elektronis

Bagian elektronis terdiri dari komponen–komponen elektronika yang terangkai

sehingga bisa mendukung kinerja dari pengontrol lampu menggunakan jaringan

bluetooth ini. Bagian elektronis dalam Perancang Sistem ini memiliki komponen

elektronik utama sebagai berikut:

1. Mikrokontroler

2. Modul saklar relay

3. Switch Button

4. Modul Bluetooth

5. Light Dependent Resistor (LDR)

2.1.2.1 Mikrokontroler

Mikrokontroler adalah sebuah system microprosesor di mana di dalalmnya sudah

terdapat CPU, ROM, RAM, I/O,clock dan peralatan internal lainnya yang sudah saling

Page 5: DASHBOARD ANDROID PENGONTROL LAMPU …repository.amikom.ac.id/files/Publikasi_09.11.3494.pdf · adalah bahasa pemrograman Java dan C. Bahasa tingkat tinggi tersebut kemudian ... Mikrokontroler

terhubung dan terorganisasi (teralamati) dengan baik oleh pabrik pembuatnya dan

dikemas dalam chip yang siap dipakai.1

a) Atmega16

Atmega 16 adalah salah satu produk mikrokontroler dari salah satu perusahaan

mikrokontroler ternama di dunia, yaitu ATMEL. ATmega16 menggunakan

arsitektur Harvard dengan memisahkan antara memori dan bus untuk program

dan data untuk memaksimalkan kemampuan dan kecepatan. Instruksi dalam

memori program dieksekusi dengan pipelining single level dimana ketika satu

instruksi dieksekusi, instruksi berikutnya diambil dari memori program. Konsep ini

mengakibatkan instruksi dieksekusi setiap siklus clock. CPU terdiri dari 32x8 bit

general purpose register yang dapat diakses dengan cepat dalam satu siklus

clock, yang mengakibatkan operasi Arithmetic Logic Unit (ALU) dapat dilakukan

dalam satu siklus. Pada operasi ALU, dua operand berasal dari register,

kemudian operasi dieksekusi dan hasilnya disimpan kembali pada register dalam

satu siklus clock. Operasi aritmetik dan logika pada ALU akan mengubah bit-bit

yang terdapat pada Status Register (SREG).

2.2 Software

Secara umum, semua komponen mikrokontroler dijalankan oleh program yang

dimasukkan ke dalam mikrokontroler. Program yang dijalankan oleh mikrokontroler

tersusun dari bahasa pemrograman tingkat rendah (low level language) atau disebut juga

bahasa mesin. Agar pembuatan program lebih mudah dipahami manusia, maka

diperlukan bahasa pemrograman tingkat tinggi (high level language), salah satunya

adalah bahasa pemrograman Java dan C. Bahasa tingkat tinggi tersebut kemudian

decompile dengan menggunakan software pendukung sehingga mempunyai output yang

dikenal oleh mesin.

2.2.1 Software Eclipse

Eclipse adalah sebuah IDE (Integrated Development Environment) untuk

mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-

independent). Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development

Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan program Java,

dan PDE (Plug-in Development Environment) untuk mengembangkan plug-in baru.

Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrograman Java.

1 Winoto, A. 2010. Mikrokontroler AVR ATmega8/32/16/8535 dan Pemrograman dengan Bahasa

C pada WinAVR. Bandung : Informatika. Hal 3

Page 6: DASHBOARD ANDROID PENGONTROL LAMPU …repository.amikom.ac.id/files/Publikasi_09.11.3494.pdf · adalah bahasa pemrograman Java dan C. Bahasa tingkat tinggi tersebut kemudian ... Mikrokontroler

2.2.2 Pemrograman AVR Studio 4

Software AVR Studio versi 4 adalah software gratis yang berfungsi sebagai text

editor dalam penulisan baris-baris perintah dan juga melakukan proses assembly yang

mengubah program sumber assembly menjadi program objek maupun bahasa hexa.

Software tersebut dapat melakukan simulasi secara lengkap.2

Beberapa fitur AVR Studio 4 yang sangat membantu dalam pemrograman

antara lain:3

1) Kemudahan menggunakan Source file editor dengan sintaks berwarna

2) Tampilan project management dengan target, grup, dan file yang berbeda

3) Editing pada saat debugging berlangsung menggunakan jendela yang sama

4) Breakpoint terjaga saat editing

3. Metode Penelitian

3.1 Studi Kasus Masalah

Sering kita jumpai pengendalian lampu kebanyakan menggunakan saklar on/off.

Sejalan dengan perkembangan teknologi informasi dan komunikasi, hal tersebut tentu

kurang praktis dan efisien, dimana kita harus berada di depan piranti listrik tersebut dan

menekan saklar on/off untuk menyalakan atau mematikan lampu. Sebagai contoh dalam

suatu rumah terdapat lebih dari satu lampu dan terdapat dalam beberapa ruang, tentu

tidak praktis dan efisien jika kita harus berjalan kesetiap ruangan untuk menghidupkan

atau mematikan lampu serta memonitor apakah lampu sudah menyala atau belum.

3.2 Tinjauan Umum Masalah

Melihat dari aspek efisiensi waktu dan tenaga, sudah selayaknya pengendalian

penerangan suatu ruangan dilakukan secara mobile. Cara manual yang selama ini masih

diterapkan sejauh ini memang berjalan dengan baik namun demi mengurangi tenaga

manusia yang terlibat dalam pengendalian secara manual ini maka perlu di rancang

suatu sistem yang dapat mengendalikan penerangan suatu ruangan.

3.3 Sistem Yang Dibutuhkan

Sistem yang dibutuhkan adalah suatu sistem pengendali yang dapat

mengendalikan lampu suatu ruangan. Sistem yang terdiri dari aplikasi mobile yang

kemudian diterima transmitter dan receiver yang terhubung pada perangkat

mikrokontroler kemudian dapat mengendalikan lampu.

Perangkat keras elektronik terdiri dari perancangan desain pcb antara

mikrokontroller dengan lampu. Untuk membuat perangkat keras diperlukan komponen–

komponen elektronika agar dapat bekerja maksimal sesuai dengan fungsinya.

2 Wardhana, L. Belajar Sendiri Mikrokontroler AVR Seri ATMega8535 Simulasi, Hardware, dan

Aplikasi. Yogyakarta : ANDI. Hal 11 3 Ibid. Hal 11

Page 7: DASHBOARD ANDROID PENGONTROL LAMPU …repository.amikom.ac.id/files/Publikasi_09.11.3494.pdf · adalah bahasa pemrograman Java dan C. Bahasa tingkat tinggi tersebut kemudian ... Mikrokontroler

3.4 Perancangan Sistem

Dalam merancang sistem pengendali jarak jauh ini, harus digambarkan terlebih

dahulu menggunakan blok diagram tentang konfigurasi dan sebaran pengkawatan yang

akan diterapkan. Hal ini akan sangat membantu dalam mengetahui kelemahan dan

pencarian kesalahan jika terjadi kegagalan kerja sistem.

Gambar 3.1: Blok Diagram Sistem Keseluruhan

1. Aplikasi Mobile

Perancangan aplikasi mobile ini dibuat dengan bahasa pemrograman Java.

Android device berfungsi sebagai server pengendali lampu.

2. Transmitter dan Receiver

Transmitter dan receiver berfungsi sebagai pengirim dan penerima data.

Transmitter mengiirimkan input perintah dari aplikasi mobile kemudian diterima receiver

yang diteruskan ke perangkat mikrokontroler. Transmitter dan receiver pada sistem ini

menggunakan perangkat modul df bluetooth.

3. Mikrokontroler

Mikrokontroler disini berfungsi sebagai pengolah dan pengatur logika on/off yang

mengubah perintah sinyal digital ke analog ataupun sebaliknya yang berperan untuk

mengendalikan lampu. Pada perngendali lampu ini mikrokontroler yang digunakan

adalah Atmega16.

3.4.1 Perancangan Aplikasi Mobile

Perancangan aplikasi mobile pada sistem ini dibuat dengan bahasa

pemrograman Java. Program bekerja secara manual dengan menklik button On/off yang

tersedia pada aplikasi mobile.

3.4.2 Perancangan Software

Rancangan model merupakan suatu gambaran secara umum tentang tahapan-

tahapan yang dilalui dalam pembuatan sistem. Dalam hal ini rancangan model yang

dibuat menggunakan diagram alir (flow chart) yaitu sistem yang akan mendefinisikan

urutan-urutan kerja pada sebuah sistem.

3.4.2.1 Perancangan Flowchart Sistem Keseluruhan

Pertama kali mikrokontroller akan mengeksekusi apakah ada inputan dari saklar,

Android Device Bluetooth module Mikrokontroller Lampu

Blok Client Blok Server

Page 8: DASHBOARD ANDROID PENGONTROL LAMPU …repository.amikom.ac.id/files/Publikasi_09.11.3494.pdf · adalah bahasa pemrograman Java dan C. Bahasa tingkat tinggi tersebut kemudian ... Mikrokontroler

setelah itu akan dikirimkan hasil inputan tesebut kepada server melalui transmitter. Setiap

inputan atau perintah yang terjadi pada client dan server akan selalu dikirim melalui

modul bluetooth dan saling berinteraksi.

MULAI

Pairing Device

Cek Perintah

Ada Perintah?

Buka Aplikasi

Kirim data(String)

Cek terima

data(String)

Tampilkan status

lampu

unpair

Selesai

Y

T

CLIENT

MULAI

Pairing Device

Cek Perintah

Saklar

Ada Perintah

saklar?

Eksekusi perintah

saklar

Cek terima paket

data perintah

Cek validasi paket

Eksekusi perintah

Y

T

SERVER

Ada paket

data?

Data valid?

Tentukan Status

Lampu

Kirim data status

lampu

T

T

Y

Baca Sensor

F1-1

F1-2

F1-3

F1-4

F2-1

F2-2

F2-3

F2-4

F2-5

F2-6

F2-7

F2-8

Gambar 3.2 Flowchart Keseluruhan Sistem

1. Server

a. Server melakukan pairing untuk membuka jalur komunikasi.

b. Server menjalankan fungsi F2-1 yaitu fungsi untuk cek perintah saklar.

Page 9: DASHBOARD ANDROID PENGONTROL LAMPU …repository.amikom.ac.id/files/Publikasi_09.11.3494.pdf · adalah bahasa pemrograman Java dan C. Bahasa tingkat tinggi tersebut kemudian ... Mikrokontroler

c. Server melakukan pengecekan apakah ada perintah dari saklar, jika ada perintah

maka server akan menjalankan fungsi F2-2 yaitu fungsi untuk mengeksekusi

perintah dari saklar, jika tidak ada perintah, maka server tidak akan menjalankan

apapun.

d. Kemudian server menjalankan fungsi F2-3 yaitu fungsi untuk cek menerima

perintah dari client.

e. Server melakukan pengecekan apakah ada paket masuk, jika tidak ada paket

yang masuk maka kembali mengulang ke fungsi F2-1 yaitu fungsi untuk cek

perintah saklar. Jika ada paket maka server akan menjalankan fungsi F2-4 yaitu

fungsi untuk cek validasi paket.

f. Jika paket tidak valid maka kembali mengulang ke fungsi F2-1 yaitu fungsi cek

perintah saklar. Jika paket valid maka server akan menjalankan fungsi F2-5 yaitu

fungsi untuk mengeksekusi perintah dari android device/remote.

g. Kemudian server akan menjalankan fungsi F2-6 yaitu fungsi untuk baca sensor.

h. Setelah fungsi F2-6 selesai dijalankan, kemudian server akan menjalankan

fungsi F2-7 yaitu fungsi untuk menentukan status lampu.

i. Terakhir server akan menjalankan fungsi F2-8 yaitu fungsi untuk mengirimkan

status lampu ke client dan kembali mengulang ke fungsi F2-1 yaitu fungsi untuk

cek perintah saklar.

2. Client

a. Client membuka socket untuk berkomunikasi.

b. Client menjalankan fungsi F1-1 yaitu fungsi untuk cek dan membaca perintah.

c. Client melakukan pengecekan apakah ada perintah, jika tidak terdapat perintah

maka kembali mengulang ke fungsi F1-1, jika terdapat perintah maka dilakukan

pengecekan.

d. Client akan menjalankan fungsi F1-2 yaitu fungsi untuk mengirimkan perintah ke

server.

e. Client akan menjalankan fungsi F1-3 yaitu fungsi untuk menerima status lampu

dari server.

f. Client menjalankan fungsi F1-4 yaitu fungsi untuk menampilkan status lampu

pada GUI dan kembali melakukan proses F1-1 yaitu fungsi untuk cek dan

membaca perintah.

Page 10: DASHBOARD ANDROID PENGONTROL LAMPU …repository.amikom.ac.id/files/Publikasi_09.11.3494.pdf · adalah bahasa pemrograman Java dan C. Bahasa tingkat tinggi tersebut kemudian ... Mikrokontroler

4. Hasil dan Pembahasan

4.1 Pairing dan Koneksi Bluetooth Device

Sebelum masuk ke layout pengendali lampu, kita harus melakukan koneksi dengan

device Bluetooth pada mikrokontroller. Jika tidak terkoneksi dengan device Bluetooth,

maka tidak akan bisa masuk layout pengendali.

Gambar 4.1 Pairing Device

4.2 Menu Pengendali Lampu

Dalam layout ini tersedia beberapa button yang berfungsi untuk menyalakan dan

mematikan lampu. Kita dapat mengetahui status terbaru lampu melalui layout ini.

Gambar 4.2 Menu Pengendali Lampu

Page 11: DASHBOARD ANDROID PENGONTROL LAMPU …repository.amikom.ac.id/files/Publikasi_09.11.3494.pdf · adalah bahasa pemrograman Java dan C. Bahasa tingkat tinggi tersebut kemudian ... Mikrokontroler

4.3 Pengujian Aplikasi dan Hardware

Pada pengujian aplikasi didapatkan komunikasi data antara smartphone dengan

mikronkontroller. Dari aplikasi dapat mengendalikan driver relay yang berupa on/off,

dan menghidupkan atau mematikan lampu yang akan dikendalikan.

Tabel 4.1 Tabel Uji Coba

No. Keterangan Pada Aplikasi Kondisi Alat

1 Menyalakan lampu Ketika button “ON” pada

aplikasi diaktifkan

Lampu menyala

2 Mematikan lampu Ketika button “ON” pada

aplikasi diubah menjadi

“OFF ”

Lampu mati

3 Feedback Lampu ToggleButton teks “Off” Lampu pijar mati

4 Feedback Lampu ToggleButton teks “On” Lampu pijar hidup

5 Tekan Switch Feedback sesuai Lampu semula Hidup

menjadi mati, semula mati

menjadi hidup.

6 Tekan Button Tekan Button Nyalakan

Semua

Lampu Menyala Semua

7. Tekan Button Tekan Button Matikan

Semua

Lampu Mati Semua

5. Penutup

Setelah melakukan perancangan baik mekanik dan elektronik, hardware maupun

software maka dari hasil penelitian dan pengujian sistem ini diperoleh:

5.1 Kesimpulan

Dari beberapa tahap perancangan, pembuatan dan pengujian simulator sistem

pengendali lampu dalam bentuk maket ini dapat diambil kesimpulan antara lain:

1. Dapat bekerja dengan baik dalam mengendalikan lampu, yaitu mampu

menyalakan dan mematikan 8 buah lampu.

2. Bekerja kurang baik dalam penerimaan feedback dari lampu, dapat menerima

inputan Switch dengan baik.

5.2 Saran

Dalam perancangan dan pembuatan aplikasi pengontrol lampu sistem kontrol

Page 12: DASHBOARD ANDROID PENGONTROL LAMPU …repository.amikom.ac.id/files/Publikasi_09.11.3494.pdf · adalah bahasa pemrograman Java dan C. Bahasa tingkat tinggi tersebut kemudian ... Mikrokontroler

jarak jauh ini penulis memberi saran–saran pengembangan lebih lanjut untuk mencapai

sistem kontrol jarak jauh yang lebih baik, antara lain:

1. Sebaiknya menambahkan fitur sensor arus agar lebih praktis dalam pengelolaan

di lapangan.

2. Pada aplikasi ditambahkan timer untuk mematikan atau menyalakan lampu

sesuai timer yang kita inginkan.

3. Pada penerapan yang sesungguhnya untuk koneksi dari ruang pengendali ke

perangkat sebaiknya menggunakan jaringan LAN (Local Area Network) karena

jika menggunakan bluetooth ada kemungkinan rawan terjadinya gangguan

frekuensi.

4. Driver relay sebaiknya menggunakan komponen yang lebih bagus atau lebih

mahal untuk menjaga keawetan komponen tersebut. Karena relay yang

digunakan untuk pengendali lampu harus berfungsi sebagai switch pada

tegangan 220 volt sehingga dibutuhkan komponen yang berkualitas.

Page 13: DASHBOARD ANDROID PENGONTROL LAMPU …repository.amikom.ac.id/files/Publikasi_09.11.3494.pdf · adalah bahasa pemrograman Java dan C. Bahasa tingkat tinggi tersebut kemudian ... Mikrokontroler

DAFTAR PUSTAKA

Andrianto, Heri. 2008. Pemograman Mikrokontroler AVR ATMEGA16

Menggunakan Bahasa C (Code Vision AVR). Bandung: Informatika.

Safaat H, Nazruddin. 2012. Pemrograman Aplikasi Mobile Smartphone Dan

Tablet Pc Berbasis Android. Bandung: Informatika.

Winoto, Ardi. 2010. Mikrokontroler AVR Atmega8/32/16/8535 dan Pemrograman

dengan Bahasa C pada WinAVR. Bandung: Informatika.