BAB III PEMBAHASAN. Pembuatan alat kunci kontak sepeda motor digital ini bertujuan untuk

dokumen-dokumen yang mirip
BAB IV PENGUJIAN DAN ANALISA ALAT

BAB III PERANCANGAN ALAT

BAB IV PENGUJIAN DAN ANALISA ALAT

BAB III PERANCANGAN ALAT

BAB III METODE PENELITIAN

BAB IV HASIL DAN UJI COBA

BAB IV PEMBAHASAN. 27

BAB IV HASIL DAN UJI COBA

BAB III METODOLOGI PERANCANGAN. Diagram alir digambarkan pada gambar berikut :

BAB III PERANCANGAN Gambaran Alat

BAB IV PERANCANGAN. Gambar 4.1 Blok diagram program

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN ALAT

BAB IV PENGUJIAN DAN ANALISA ALAT. perancangan alat. Tujuan pengujian adalah untuk mengetahui kebenaran

BAB V IMPLEMENTASI SISTEM DAN HASIL PENELITIAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB IV HASIL DAN UJI COBA. permodul hingga pengujian sistem secara keseluruhan serta monitoring unjuk

BAB IV HASIL DAN UJI COBA

BAB 3 PERANCANGAN ALAT

DT-AVR Application Note

BAB IV PENGUJIAN RPBOT PENGHISAP DEBU

RANCANG BANGUN SISTEM PENGAMAN PINTU RUMAH MENGGUNAKAN ANDROID BERBASIS ARDUINO UNO

BAB IV PERANCANGAN SISTEM

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN ALAT

RANCANG BANGUN SISTEM PENGAMAN PINTU RUMAH MENGGUNAKAN ANDROID BERBASIS ARDUINO UNO

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN ALAT

PENGENALAN ARDUINO. SPI : 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport komunikasi SPI menggunakan SPI library.

BAB III DESAIN DAN PERANCANGAN

BAB III PERANCANGAN. AMR_Voice Smartphone Android. Module Bluetooth untuk komunikasi data. Microcontroller Arduino Uno. Motor Servo untuk Pintu

BAB III ANALISIS DAN DESAIN SISTEM. a. Alarm main controller (kontrol utama sistem alarm)

ALAT PENGENDALI OTOMATIS DAN DETEKSI KEADAAN PERALATAN RUMAH MENGGUNAKAN SMS CONTROLLER. Hasani

BAB III PERANCANGAN DAN IMPLEMENTASI

BAB III METODE PENELITIAN. diperlukan dengan beberapa cara yang dilakukan, antara lain:

BAB III ANALISA DAN PERANCANGAN

BAB 3 PERANCANGAN SISTEM. ruangan yang menggunakan led matrix dan sensor PING))). Led matrix berfungsi

BAB III PERANCANGAN ALAT. Pada konsep dan design perancangan di sini yang dimaksud, meliputi

PERANCANGAN ALAT PENGENDALI LAMPU MENGGUNAKAN SUARA BERBASIS ANDROID. :Arnold Sanurda NPM : Dosen Pembimbing :Dr. Debyo Saptono, ST., MT.

BAB III PERANCANGAN SISTEM KENDALI EXHAUST FAN MENGGUNAKAN BLUETOOTH

BAB III PERANCANGAN ALAT

BAB III ANALISA DAN PERANCANGAN

BAB IV PENGUJIAN DAN ANALISA ALAT

BAB III ANALISA MASALAH DAN PERANCANGAN

BAB III PERANCANGAN SISTEMKENDALI PADA EXHAUST FAN MENGGUNAKAN SMS GATEWAY

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB IV PENERAPAN DAN ANALISA

BAB IV ANALISA DAN PENGUJIAN ALAT

BAB III PERANCANGAN ALAT DAN PROGRAM

BAB IV HASIL DAN UJI COBA

BAB IV PENGUJIAN DAN ANALISA

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB IV ANALISA DAN PENGUJIAN

BAB III ANALISA DAN PERANCANGAN

BAB IV HASIL DAN UJI PROGRAM

BAB III PERANCANGAN ALAT

A. SKEMA RANGKAIAN DAN INSTALASI. A.1. Blok Diagram Alarm - 3 -

BAB 3 PERANCANGAN DAN PEMBUATAN SISTEM

BAB III ANALISIS DAN PERANCANGAN

BAB III DESKRIPSI DAN PERANCANGAN SISTEM

BAB III PERANCANGAN ALAT

BAB IV HASIL PENGUKURAN DAN PENGUJIAN ALAT SISTEM PENGONTROL BEBAN DAYA LISTRIK

PERANCANGAN. 4-1

BAB III PERANCANGAN DAN PEMBUATAN ALAT

BAB III PERENCANAAN DAN PEMBUATAN ALAT

BAB IV HASIL DAN UJI COBA

BAB III PROSES PERANCANGAN

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN PERANCANGAN

BAB III METODE PENELITIAN. mengerjakan tugas akhir ini. Tahap pertama adalah pengembangan konsep

BAB III PERANCANGAN ALAT

BAB III PERANCANGAN ALAT

BAB IV PENGUJIAN ALAT

BAB IV HASIL DAN UJI COBA

BAB 3 PERANCANGAN ALAT. Gambar 3.1 diagram blok rangkaian

BAB III PERANCANGAN ALAT

BAB III METODE PENELITIAN

BAB III PERANCANGAN DAN PEMBUATAN ALAT. Proses perancangan meliputi tujuan dari sebuah penelitian yang kemudian muncul

BAB 3 PERANCANGAN SISTEM

BAB 3 PERANCANGAN SISTEM. Computer. Parallel Port ICSP. Microcontroller. Motor Driver Encoder. DC Motor. Gambar 3.1: Blok Diagram Perangkat Keras

BAB III PERENCANGAN DAN PEMBUATAN ALAT

BAB III PERANCANGAN ALAT

BAB III ANALISA DAN PERANCANGAN

DAFTAR ISI. HALAMAN JUDUL... i. LEMBAR PENGESAHAN... ii. PERNYATAAN... iii. PRAKATA... iv. DAFTAR ISI... vi. DAFTAR GAMBAR... ix. DAFTAR TABEL...

BAB III PERANCANGAN SISTEM

BAB IV PENGUJIAN DAN ANALISA

BAB III ANALISIS DAN PERANCANGAN SISTEM

BAB IV ANALISA DAN PENGUJIAN ALAT

BAB III METODOLOGI PENELITIAN

BAB III PERANCANGAN ALAT

BAB IV PENGUJIAN DAN ANALISIS

BAB III PERANCANGAN ALAT

BAB III PERENCANAAN SISTEM DAN PEMBUATAN ALAT

BAB IV PENGUJIAN DAN ANALISA ALAT

BAB III PERENCANAAN DAN REALISASI SISTEM

BAB III PERANCANGAN ALAT DAN PROGRAM

BAB III PERENCANAAN DAN PERANCANGAN

BAB III PERANCANGAN ALAT

BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM. secara otomatis. Sistem ini dibuat untuk mempermudah user dalam memilih

Transkripsi:

BAB III PEMBAHASAN 3.1. Tinjauan Umum Alat Pembuatan alat kunci kontak sepeda motor digital ini bertujuan untuk mengganti kunci kontak sepeda motor secara fisik (konvensional), demi kemudahan pengguna sepeda motor. Kunci kontak secara fisik, digunakan untuk menyambungkan dan memutuskan listrik yang berasal dari sumber daya listrik sepeda motor, yaitu Aki (accu), menuju ke sistem kelistrikan sepeda motor. Listrik akan tersambung dan masuk ke dalam sistem kelistrikan sepeda motor, saat kunci kontak fisik ini dipasang dan di-on-kan, oleh pengguna. Dengan alat ini, penggunaan kunci secara fisik ditiadakan dan diganti dengan komponen switch elektrik berupa relay yang akan membuka dan menutup jalur listrik dari sumber listrik, yaitu Aki (accu), menuju ke sistem kelistrikan motor. Komponen switch tersebut akan terbuka dan tertutup, berdasarkan perintah yang diberikan oleh pengguna melalui aplikasi Android, yang telah terinstal sebelumnya di Smartphone milik pengguna. Tentunya alat ini terkoneksi dengan Smartphone pengguna secara nirkabel, yaitu melalui koneksi Bluetooth. Pada aplikasi Android yang dirancang untuk alat ini, dilengkapi dengan sistem keamanan berupa log in, dan validasi log in. Lalu feature lainnya adalah penanganan delay starter motor, pencarian MAC Address Bluetooth sepeda motor, dan pemasangan otomatis perangkat Bluetooth antara Smartphone pengguna, dengan modul Bluetooth pada alat. 67

68 3.2. Blok Rangkaian Alat Prinsip kerja alat kunci kontak motor digital ini dilakukan berdasarkan tiga bagian secara fungsional meliputi bagian input unit, processing unit, dan output unit. Gambar III.1 Gambar blok rangkaian alat Bagian input unit, berupa aplikasi Android yang telah dirancang dan terinstal pada Smartphone pengguna, dan juga perangkat modul Bluetooth HC-05 yang terpasang pada alat. Aplikasi Android bertindak sebagai sensor yang akan mengirimkan sinyal (data) ke alat, dan perangkat modul Bluetooth HC-05 yang terpasang pada alat, bertindak sebagai sensor yang akan menerima sinyal (data) yang dikirimkan oleh aplikasi. Bagian processing unit berupa mikrokontroler Arduino UNO berbasis ATMega 328, yang akan bertindak sebagai pengolah data, data yang telah diterima oleh perangkat modul Bluetooth HC-05 akan dikirim kedalam mikrokontroler dan diproses, sehingga menghasilkan perintah-perintah untuk mengontrol switch elektrik, yaitu relay.

69 Bagian output unit adalah berupa relay. Relay akan membuka dan menutup untuk menyambungkan atau memutuskan listrik pada sistem kelistrikan sepeda motor. Pada sistem kelistrikan sepeda motor beberapa switch manual yang ada, akan digantikan oleh perangkat relay ini. Pada protoytpe alat ini, beberapa hasil keluaran pada sepeda motor, akan disimulasikan oleh komponen-komponen elektronika, seperti Buzzer yang akan diinisialisasikan sebagai klakson sepeda motor, LED yang akan diinisialisasikan sebagai indikator kontak sepeda motor, dan Motor DC yang akan diinisialisasikan sebagai starter sepeda motor, dan mesin sepeda motor.

70 3.3. Skema Rangkaian Alat 3.3.1. Skema Catu Daya Gambar III.2 Skema Rangkaian Adaptor dengan 3 keluaran, yaitu 2 keluaran 9 volt, dan 1 keluaran 12 volt Rangkaian Adaptor yang dirancang, akan menghasikan 3 keluaran, yaitu 2 keluaran dengan tegangan 9 volt, dan 1 keluaran dengan tegangan 12 volt. Tegangan 9 volt digunakan untuk sumber mikrokontroler Arduino UNO, dan untuk sumber Buzzer, LED, dan Motor DC. Sedangkan keluaran tegangan 12 volt, digunakan untuk LED Indikator alat. Rangkaian adaptor ini, disimulasikan sebagai Aki (accu), seperti pada sistem kelistrikan sepeda motor.

71 3.3.2. Skema Modul Bluetooth HC-05 Sumber : www.wavesen.com Gambar III.3 Skematik rangkaian modul Bluetooth HC-05 dengan tegangan maksimal 5 volt Modul Bluetooth HC-05 yang digunakan, adalah modul yang telah dibrakeout, atau pemberian rangkaian pengonversi tegangan, baik tegangan power, maupun rangkaian konversi tegangan untuk jalur komunikasi serial. Pemberian rangkaian tambahan ini, dilakukan agar Bluetooth HC-05, dapat berkerja pada tegangan mikrokontroler Arduino UNO, yaitu 5 volt. Karena Bluetooth HC-05 ini pada awalnya hanya mampu beroperasi pada tegangan 3.3 volt. Pin-pin yang digunakan pada modul Bluetooth yang telah dibrakeout ini, adalah pin TX, pin RX, pin Vcc, dan pin Gnd.

72 3.3.3. Skema Mikrokontroler Arduino UNO Sumber : http://www.arduino.cc/en/main/policy Gambar III.4 Skematik rangkaian mikrokontroler Arduino UNO R3 (Revisi 3)

73 Pada rangkaian mikrokontroler Arduino UNO, pin-pin yang akan digunakan adalah, pin TX (pin digital 1), dan RX (pin digital 0), untuk terhubung ke pin TX, dan RX, modul Bluetooth HC-05. Pemasangan pin komunikasi serial Arduino UNO dan pin Bluetooth HC-05, dilakukan secara berpasangan, pin TX modul Bluetooth HC-05, dihubungkan dengan pin RX (pin digital 0), mikrokontroler Arduino UNO, sedangkan pin RX modul Bluetooth HC-05, dihubungkan dengan pin TX (pin digital 1), mikrokontroler Arduino UNO. Gambar III.5 Skema Arduino UNO dan modul Bluetooth HC-05 Pin RX dan TX ini berfungsi untuk melakukan komunikasi serial, atau komunikasi antara mikrokontroler Arduino UNO, dengan Smartphone pengguna yang dilakukan bit per bit, dengan perkataan lain, hanya satu bit yang dapat dilewatkan untuk setiap saat.

74 Pin lainnya yang akan digunakan oleh mirkokontroler Arduino UNO adalah pin digital 13, pin digital 12, pin digital 11, dan pin digital 10. Masing-masing pin ini akan terhubung dengan rangkaian relay sebagai output alat. Pin-pin digital ini akan mengeluarkan sinyal digital, berupa 1 atau 0, untuk mengaktifkan rangkaian relay, ataupun untuk menonaktifkan rangkaian relay. Gambar III.6 Skema Arduino UNO dan rangkaian relay

75 3.3.4. Skema Modul Relay Sumber : https://www.sainsmart.com/media/catalog/product/8/c/8c.jpg Gambar III.7 Skematik rangkaian relay Rangkaian relay digunakan sebagai output dari mikrokontroler Arduino UNO. Rangkaian ini, terhubung dengan pin digital 13, pin digital 12, pin digital 11, dan pin digital 10, mikrokontroler Arduino UNO. Masing-masin pin ini akan terhubung dengan masing-masing rangkaian relay. Setiap rangkaian relay akan mengaktifkan atau mengnonaktifkan beberapa komponen elektronika yang akan mensimulasikan cara kerja sepeda motor. Pada rangkaian relay pertama, akan mengaktifkan atau menonaktifkan Buzzer. Buzzer ini akan menginisialisasikan klakson sepeda motor, dan rangkaian relay ini akan terhubung dengan pin digital 13, mikrokontroler Arduino UNO.

76 Gambar III.8 Skema Arduino UNO, rangkaian relay, dan komponen Buzzer Rangkaian relay kedua, akan mengaktifkan atau menonaktifkan LED. LED digunakan untuk menginisialisasikan indikator kontak sepeda motor. Rangkaian relay ini akan terhubung dengan pin digital 12, mikrokontroler Arduino UNO. Gambar III.9 Skema Arduino UNO, rangkaian relay, dan komponen LED Rangkaian relay ketiga, akan mengaktifkan atau menonaktifkan Motor DC. Putaran Motor DC ini, akan menginisialisasikan starter sepeda motor. Pada sistem kelistrikan sepeda motor, starter sepeda motor akan dihidupkan selama beberapa saat, untuk menghidupkan mesin sepeda motor, dengan cara menekan tombol

77 switch starter motor. Dan penggunaan relay ketiga ini, dimaksudkan untuk menggantikan tombol switch starter motor, tanpa harus menekan tombol starter sepeda motor. Rangkaian relay ini akan terhubung dengan pin 11, mikrokontroler Arduinu UNO. Gambar III.10 Skema Arduino UNO, rangkaian relay, dan komponen Motor DC sebagai starter sepeda motor

78 Rangkaian relay terakhir, yaitu keempat, akan mengaktifkan dan menonaktifkan Motor DC. Putaran Motor DC ini, akan menginisialisasikan mesin sepeda motor. Rangkaian relay ini akan terhubung dengan pin 10, mikrokontroler Arduino UNO. Gambar III.11 Skema Arduino UNO, rangkaian relay, dan komponen Motor DC sebagai mesin sepeda motor

79 3.3.5. Skema Rangkaian Keseluruhan Gambar III.12 Skema Alat Kunci Kontak Digital berbasis Mikrokontroler Arduino UNO dan Android 3.4. Cara Kerja Alat Alat ini berkerja dengan perintah yang berasal dari aplikasi Smartphone Android yang telah dirancang untuk alat ini, yaitu BootLoop Studio Digital Key. Dengan aplikasi ini, pengguna dapat mengaktifkan dan mengnonaktifkan kontak sepeda motor, lalu menghidupkan dan mematikan mesin sepeda motor. 3.4.1. Cara Kerja Program Android Pada saat pengguna menginstal aplikasi BootLoop Studio Digital Key pada Smartphone pengguna, maka aplikasi ini akan membuat database, dimana pada database tersebut akan menyimpan enam buah data. Data pertama adalah password yang akan digunakan untuk log in aplikasi ini. Penggunaan log in pada aplikasi ini dimaksudkan untuk memberi keamanan, agar tidak sembarang orang bisa memberikan perintah kepada sepeda motor pengguna. Password default yang akan diberikan oleh aplikasi pada saat pertama penginstalan

80 adalah 12345678. Pengguna dapat mengganti password default tersebut dengan password yang lebih aman, dan panjang password yang digunakan adalah 8 karakter. Gambar III.13 Screenshot dari Smartphone, setelah penginstalan Aplikasi, dan pembuatan database secara otomatis Data kedua yang disimpan pada database aplikasi adalah, delay starter. Data ini adalah berupa delay yang akan dikirim ke alat, untuk mengontrol berapa lama relay akan terbuka dan menghubungkan listrik dari sumber listrik sepeda motor, yaitu Aki (accu), ke sistem kelistrikan motor. Hal ini dibutuhkan untuk membuat sepeda motor melakukan starter secara otomatis dan menghidupkan mesin sepeda motor. Pada kunci kontak sepeda motor konvensional, saat pengguna sepeda motor ingin menghidupkan mesin sepeda motor, maka ia akan menekan tombol starter, sampai mesin sepeda motor menyala. Pada perancangan sistem digital ini, mikrokontroler akan mengontrol relay untuk memutuskan hubungan listrik antara

81 sumber daya listrik aki (accu), dan sistem kelistrikan setelah nilai delay (waktu) terpernuhi (habis). Pengguna dapat mensetting delay yang akan dikirim ke alat melalui menu pengaturan pada aplikasi. Delay yang akan dijalankan oleh alat, adalah dalam bentuk milisekon (1000 milisekon = 1 sekon), dan pilihan settingan delay terendah pada aplikasi adalah 250 milisekon, dan pilihan settingan delay tertingginya adalah 3000 milisekon. Interval setiap pilihan yang ada, adalah 250 milisekon, artinya pilihan yang tersetting pada aplikasi yaitu, 250 milisekon, 500 milisekon, 750 milisekon, 1000 milisekon, 1250 milisekon, 1500 milisekon, 1750 milisekon, 2000 milisekon, 2250 milisekon, 2500 milisekon, 2750 milisekon, dan terakhir 3000 milisekon. Penggunaan interval 250 milisekon pada aplikasi ini, dimaksudkan untuk membentuk data delay berupa string 1 karakter, yang nantinya akan dikirimkan ke alat melalui Bluetooth. Sebagai contoh, ketika pengguna mensetting delay starter berupa 1250 milisekon, maka nilai ini akan disimpan kedalam database. Dan saat pengguna menekan switch mesin motor pada aplikasi, data delay ini akan diambil dari database, lalu aplikasi akan membagi nilai delay starter tersebut dengan bilangan 250 (1250 / 250 = 5), lalu hasil baginya yaitu 5, akan diubah menjadi tipe data string, dan kirimkan ke alat.

82 Gambar III.14 Screenshot dari Smartphone, settingan delay starter motor. Pada saat pengguna melakukan setting delay starter motor, maka pengguna akan mendapatkan pesan rekomendasi, label pesan rekomendasi yang muncul ini, dimaksudkan bahwa nilai delay tersebut, direkomendasikan oleh aplikasi sebagai lamanya waktu sepeda motor pengguna menghidupkan starter sepeda motornya. Dengan catatan sumber kelistrikan motor tersebut, yaitu Aki (accu), dalam kondisi prima, tidak dalam keadaan lemah ataupun rusak (soak). Settingan nilai delay starter motor ini juga dimaksudkan untuk menyelaraskan lamanya starter sepeda motor terhubung dengan sumber kelistrikan motor (accu), untuk menghidupkan mesin motor. Dengan delay starter ini, maka dapat menekan pengeluaran voltage yang berasal dari Aki (accu) sepeda motor tersebut.

83 Data ketiga yang disimpan pada database aplikasi, adalah nilai validasi log in. Data ini digunakan untuk mengamankan proses log in aplikasi. Jika pengguna salah melakukan log in sebanyak nilai dari validasi log in, maka aplikasi akan tertutup (keluar) secara otomatis, untuk menjaga keamanan aplikasi ini. Setelah aplikasi terinstal, maka data validasi log in default yang dimasukkan kedalam database adalah 3. Hal ini diartikan, pengguna akan diberikan kesempatan sebanyak 3 kali dalam melakukan kesalahan memasukkan password, ketika log in. Jika pengguna melakukan kesalahan lebih dari itu, maka aplikasi akan tertutup (keluar) secara otomatis. Penanganan kesalahan yang terjadi ini, dapat dikontrol oleh pengguna dengan mengubah nilai validasi log in tersebut. Semakin besar nilai validasi log in, maka akan semakin lama penanganan kesalahan yang dilakukan saat melakukan log in. Gambar III.15 Screenshot dari Smartphone, settingan validasi log in. Data keempat yang disimpan pada aplikasi ini adalah data MAC Address Bluetooth sepeda motor. Data ini, digunakan untuk melakukan koneksi secara otomatis dengan modul Bluetooth HC-05 pada alat, berdasarkan MAC Addressnya.

84 Setelah aplikasi terinstal pada Smartphone pengguna, maka data MAC Address yang akan tersimpan pada database yaitu berupa string xx:xx:xx:xx:xx:xx, maka aplikasi tidak akan bisa terkoneksi dengan Bluetooth sepeda motor, dikarenakan nilai MAC Address yang akan dipairing oleh Smartphone pengguna tidaklah valid. Hal pertama yang harus dilakukan pengguna adalah melakukan pairing Bluetooth, antara Bluetooth Smartphone pengguna, dengan modul Bluetooth HC- 05, yang terhubung dengan alat (mikrokontroler Arduino UNO). Proses pairing ini dilakukan secara manual, yaitu dengan mencari perangkat Bluetooth yang sedang aktif disekitar Smartphone pengguna, melalui pengaturan Bluetooth pada Smartphone pengguna. Gambar III.16 Screenshot dari Smartphone, proses pairing Bluetooth Smartphone pengguna dan modul Bluetooth HC-05 pada alat.

85 Pada saat melakukan pairing, agar Smartphone pengguna dapat terhubung dengan modul Bluetooth HC-05, maka pengguna harus memasukkan password modul Bluetooth HC-05, yaitu 1234. Password ini adalah password default modul Bluetooth HC-05, yang sudah disetting dari pabrik. Setelah kedua Bluetooth terhubung, maka barulah pengguna bisa mengambil MAC Address modul Bluetooth HC-05, yang terpasang pada alat, melalu menu pengaturan pada aplikasi. Gambar III.17 Screenshot dari Smartphone, settingan MAC Address sepeda motor. Data kelima dan keenam yang disimpan pada aplikasi ini, adalah kondisi status switch kontak sepeda motor, dan kondisi status switch mesin sepeda motor. Ketika pengguna memberi perintah kepada alat, melalui aplikasi untuk menghidupkan kontak sepeda motor, dengan menggeser switch pada aplikasi, maka kondisi status switch kontak sepeda motor pada aplikasi akan disimpan pada database. Hal ini dimaksudkan untuk mengembalikan kondisi switch, ketika pengguna menutup aplikasi ini. Lalu saat pengguna membuka kembali aplikasi, maka kondisi switch kontak motor, akan tetap dalam kondisi aktif. Penjagaan

86 kondisi atau status switch tersebut dilakukan menggunakan database, setiap kali switch berubah kondisi, maka kondisinya akan dikirim ke database dan akan disimpannya. Jika penjagaan kondisi ini tidak diterapkan, maka pada saat pengguna merubah kondisi switch pada aplikasi, untuk memberi perintah pada alat, maka saat pengguna menutup aplikasi dan membukanya kembali, kondisi switch akan kembali sesuai dengan proses inisialisasi awal aplikasi, yaitu false atau tidak aktif. Karena pada pembuatan aplikasi, kondisi switch diinisialiasaikan false, atau tidak aktif. Prosedur pengontrolan alat atau digital key pada aplikasi ini, melalui beberapa tahap, yaitu tahap pengambilan MAC Address Bluetooth motor, tahap ini sama seperti proses pencarian dan penyimpanan MAC Address Bluetooth motor, dipembahasan sebelumnya. Tahap kedua yaitu, pengecekan jalur koneksi data, berdasarkan MAC Address Bluetooth yang telah diambil dan disimpan oleh pengguna. Pada tahap kedua ini, jika MAC Address Bluetooth motor berbeda dengan data MAC Address yang disimpan pada database, maka aplikasi tidak akan terhubung, dan tidak bisa masuk ke dalam menu digital key. Maka pengguna harus mengambil data MAC Address Bluetooth sepeda motor, yang benar, dan bukan MAC Address Bluetooth lain, seperti MAC Address Bluetooth Smartphone lain yang pernah terpairing dengan Smartphone pengguna.

87 Jika MAC Address Bluetooth motor sesuai dengan data MAC Address yang tersimpan pada database aplikasi, maka pengguna akan berhasil masuk ke dalam menu digital key, dan bisa melakukan pengontrolan alat, dengan mengganti kondisi atau status switch, pada menu tersebut. Gambar III.18 Screenshot dari Smartphone, proses pengecekan jalur koneksi Bluetooth, kondisi jika gagal melakukan, atau membuka jalur koneksi, dan kondisi ketika berhasil melakukan atau membuka jalur koneksi. Pada menu digital key, terdapat dua buah switch. Switch pertama, yaitu switch kontak motor, digunakan untuk memberikan perintah, menghidupkan, atau mematikan kontak sepeda motor. Switch kedua, yaitu switch mesin motor, digunakan untuk memberikan perintah, menghidupkan, atau mematikan mesin sepeda motor. Kedua switch ini saling berhubungan, dimana switch mesin motor tidak akan aktif, atau dirubah kondisinya, jika switch kontak motor dalam keadaan tidak aktif. Hal ini dimaksudkan, tidak mungkin mesin sepeda motor bisa dihidupkan dalam kondisi kontak sepeda motor mati. Maka untuk menghidupkan mesin sepeda motor,

88 pengguna diharuskan mengaktifkan kontak motor terlebih dahulu. Dan ketika switch kontak motor dalam keadaan aktif atau hidup, lalu pengguna mematikan kontak motor, atau menonaktifkan switch kontak motor, maka switch mesin motor juga akan nonaktif secara otomatis, dan bersamaan. Hal ini dimaksudkan, bila pengguna motor, mematikan kontak sepeda motor, maka mesin sepeda motor akan mati secara otomatis. 3.4.2. Cara Kerja Alat Keseluruhan Dua perintah pada aplikasi yang dibentuk menggunakan dua buah switch, masing-masing untuk mengaktifkan dan menonaktifkan kontak motor, dan untuk mengaktifkan dan menonaktifkan mesin motor, akan memberikan atau mentransfer data yang berbeda untuk setiap perintahnya. Dan perintah-perintah tersebut akan diproses oleh mikrokontroler Arduino UNO, untuk mengontrol relay mana yang akan aktif, ataupun tidak aktif. Pada perintah pertama, yaitu menghidupkan kontak sepeda motor. Aplikasi akan mengirimkan data berupa string X. Lalu perintah kedua, yaitu mematikan kontak sepeda motor. Aplikasi akan mengirim data berupa string Y. Perintah ketiga, yaitu menghidupkan mesin sepeda motor. Aplikasi akan mengirimkan data berupa string 1 sampai dengan 9, lalu string A, B, dan C. Dan terakhir perintah keempat. Perintah ini adalah untuk mematikan mesin motor, dan data yang akan dikirim aplikasi adalah string Z. Semua string tersebut diubah menjadi data byte terlebih dahulu, sebelum dikirim melalui koneksi Bluetooth ke mikrokontroler Arduino UNO. Pada mikrokontroler Arduino UNO, perintah-perintah berupa data byte tersebut akan

89 diubah kembali menjadi bentuk string, dengan program yang tertanam pada mikrokontroler ini. Pada program yang tertanam didalam chip mikrokontroler Arduino UNO, akan dilakukan seleksi kondisi perintah yang berupa string. String X, digunakan untuk mengaktifkan kontak motor. ketika nilai ini diterima mikrokontroler Arduino UNO, maka mikrokontroler Arduino UNO akan mengaktifkan relay yang terhubung dengan klakson sepeda motor, yang disimulasikan dengan Buzzer, selama beberapa milisekon, lalu akan dinonaktifkan kembali. Hal ini tentunya akan membuat klakson sepeda motor akan berbunyi selama beberapa milisekon, lalu akan mati kembali. Setelah itu, akan mengaktifkan relay kunci kontak, yang disimulasikan dengan LED, kondisi ini diinisialisasikan kunci kontak sepeda motor on, dan mesin sepeda motor siap dihidupkan. String Y, digunakan untuk mematikan kunci kontak sepeda motor. Ketika nilai ini diterima oleh mikrokontroler Arduino UNO, maka mikrokontroler itu akan menonaktifkan semua relay, lalu relay yang terhubung dengan klakson sepeda motor atau Buzzer, diakifkan selama beberapa milisekon dan dinonaktifkan kembali, lalu diaktifkan kembali beberapa milisekon, dan dinonaktifkan kembali. Hal ini akan membuat klakson sepeda motor atau Buzzer akan berbunyi dua kali sebelum akhirnya semua kelistrikan sepeda motor dimatikan. String 1 sampai dengan 9, lalu string A, B, dan C, digunakan untuk menghidupkan starter sepeda motor, untuk menghidupkan mesin sepeda motor. Pada pembahasan sebelumnya, pengguna dapat mengatur delay starter motor, melalui aplikasi. Pada saat pengguna menghidupkan mesin motor, maka nilai delay

90 starter yang tersimpan pada database akan diambil dan dibagi oleh bilangan 250, sama seperti, pembahasan sebelumnya. Prosedur pembagian nilai delay starter dengan bilangan 250, ditujukan untuk mendapatkan bilangan 1 karakter yang nantinya akan dikirim kepada alat. Namun, jika hasil pembagian nilai delay starter dengan bilangan 250 menghasilkan bilangan dengan 2 digit, maka bilangan, akan diinisialisasikan dengan huruf atau karakter A, B, dan C. Sebagai contoh, pengguna mensetting nilai delay starter motor sebesar 2750 milisekon, maka pada saat proses pengiriman data, nilai 2750 milisekon yang berasal dari database akan dibagi terlebih dahulu dengan bilangan 250, (2750 / 250 = 11). Karena pengiriman data atau komunikasi serial antara Smartphone pengguna, dengan Bluetooth HC-05 yang terhubung ke alat, hanya dapat mengirim 1 karakter string, maka nilai 11 akan diubah atau diinisialisasikan dengan string B, string A, untuk penginisialisasian hasil bagi berupa bilangan 10, dan string C, untuk penginisialisasian hasil bagi berupa bilangan 12 (hasil bagi tertinggi, jika pengguna mensetting delay starter motor sebesar 3000 milisekon). Setelah proses penginisalisasian ataupun pengubahan hasil bagi menjadi string, dan dikonversi kembali menjadi byte, maka data tersebut atau kode-kode byte tersebut akan dikirim ke mikrokontroler Arduino UNO. Pada mikrokontroler ini, kode-kode byte tersebut akan diubah kembali menjadi string, lalu nilai string tersebut akan diubah menjadi tipe data integer, dan dikalikan dengan bilangan 250, untuk mendapatkan nilai delay starter motor, yang sebelumnya telah disetting oleh pengguna. Sebagai contoh, pengguna telah mensetting delay starter motor sebesar 1500, maka data yang akan dikirim adalah 1500 / 250 = 5, nilai 5 yang diterima oleh mikrokontroler Arduino UNO, akan dikalikan kembali dengan bilangan 250,

91 5 x 250 = 1500, maka pada mikrokontroler Arduino UNO akan mendapatkan nilai delay starter yang telah disetting oleh pengguna, pada aplikasi. Proses selanjutnya, adalah mikrokontroler Arduino UNO, akan mengaktifkan relay yang terhubung dengan Motor DC, yang menginisialisasikan starter sepeda motor. Motor DC akan berputar selama delay yang telah disetting oleh pengguna, lalu sebelum mikrokontroler Arduino UNO, menonaktifkan relay tersebut, maka relay yang terhubung dengan Motor DC, yang menginisialisasikan mesin sepeda motor aktif, dan Motor DC pun berputar. Lalu Motor DC, yang menginisialisasikan starter sepeda motor akan mati atau berhenti berputar, dikarenakan delay starter motor telah habis, dan mikrokontroler Arduino menonaktfikan relay tersebut. Perintah terakhir yang diseleksi oleh mikrokontroler Arduino UNO, adalah string Z. String ini digunakan untuk menonaktifkan relay yang terhubung dengan Motor DC yang menginisialisasikan mesin sepeda motor. Perintah ini, hanya menonaktifkan relay tersebut saja, dan relay yang terhubung dengan LED, masih tetap aktif, dan LED tetap menyala. Hal ini menginisialiasaikan sepeda motor, dalam keadaan kunci kontak on, dan standby, siap dihidupkan kembali.

92 3.5. Flowchart Program 3.5.1. Flowchart Program Android Start Int ValidasiLogIn = 0; If Database Ada && Database Kosong Pembuatan Database untuk menyimpan Password, Delay Starter, Validasi Login, MAC Address Bluetooth HC-05, Status Switch Kunci Kontak, Status Switch Mesin Motor. Password = 12345678. Delay Starter = 1000. Validasi Login = 3 MAC Address Bluetooth HC-05 = xx:xx:xx:xx:xx:xx Status Switch Kunci Kontak = false Status Switch Mesin Motor = false Insert Data kedalam Database End ValidasiLogIn <= Validasi Login ValidasiLogIn++ Input Password If Input Password = Password To Page 2 Gambar III.19 Flowchart program Aplikasi Android BootLoop Studio Digital Key, Halaman Log In (page 1).

93 From Page 1 From Page 4 Hidupkan Bluetooth. From Page 3 If Pengguna memilih Digital Key If MAC Address dari Database = xx:xx:xx:xx:xx:xx If Bluetooth = Hidup If Pengguna memilih Pengaturan To Page 4 To Page 3 If Pengguna memilih Informasi Aplikasi Tampilkan Infomasi Apikasi End Gambar III.20 Flowchart program Aplikasi Android BootLoop Studio Digital Key, Halaman Menu Utama (page 2).

94 From Page 2 If Bluetooth = Hidup Hidupkan Bluetooth. Pencarian MAC Address Bluetooth motor berdasarkan MAC Address Bluetooth yang berada didatabase. Pembukaan Jalur Komunikasi Serial. Switch Kunci Kontak = Aktif. Simpan Status Kunci Kontak false ke Database. To Page 2 Jika ditemukan dan Berhasil Switch Mesin Motor = Aktif. Simpan Status Mesin Motor false ke Database. Kirim Data String Y ke Arduino UNO. Tampilkan Data Delay Starter dari Database. Tampilkan MAC Address dari Database. If Switch Kunci Kontak = Aktif Switch Kunci Kontak = Aktif. Simpan Status Kunci Kontak true ke Database. Kirim Data String X ke Arduino UNO. Switch Mesin Motor = Aktif. Simpan Status Mesin Motor false ke Database. Kirim Data String Z ke Arduino UNO. If Switch Mesin Motor = Aktif Kirim Data String A ke Arduino UNO If Hasil Bagi = 10 If Hasil Bagi >= 1 && Hasil Bagi <= 9 Switch Mesin Motor = Aktif. Simpan Status Mesin Motor true ke Database. Ambil Nilai Delay Starter dari Database / 250. Kirim Data String B ke Arduino UNO If Hasil Bagi = 11 Kirim Data String Hasil Bagi ke Arduino UNO Kirim Data String C ke Arduino UNO If Hasil Bagi = 12 Gambar III.21 Flowchart program Aplikasi Android BootLoop Studio Digital Key, Halaman Kunci Kontak Motor Digital (page 3).

95 From Page 5 From Page 6 From Page 2 Int ValidasiLogIn = 0; End If Pengguna memilih Ganti Password ValidasiLogIn <= Validasi Login ValidasiLogIn++ If Pengguna memilih Ganti Delay Starter Ganti Delay Starter Input Password If Input Password = Password If Delay Starter = 0 Update Data Delay Starter pada Database To Page 5 If Pengguna memilih Ganti Validasi Login Ganti Validasi Login If Validasi LogIn = 0 Update Data Validasi LogIn pada Database If Pengguna memilih Ganti MAC Address Motor To Page 6 To Page 2 Gambar III.22 Flowchart program Aplikasi Android BootLoop Studio Digital Key, Halaman Pengaturan (page 4).

96 Update Password pada Database To Page 4 From Page 4 If Password Baru = Konfirmasi Password Baru Input Password Baru. If Password Baru == 0 If Konfirmasi Password Baru == 0 If Password Baru <= 8 karakter Input Konfirmasi Password Baru. Gambar III.23 Flowchart program Aplikasi Android BootLoop Studio Digital Key, Halaman Ganti Password (page 5).

97 From Page 4 Menghidupkan Bluetooth If Bluetooth = Hidup Mencari MAC Address dari Perangkat Bluetooth yang ter-paired / terhubung If ada Bluetooth yang ter-paired Pengguna harus melakukan paired secara manual pada pengaturan Bluetooth Smartphone Pengguna MAC Address Bluetooth ditampilkan pada List If Pengguna memilih MAC Address yang ditampilkan Update Data MAC Address pada Database To Page 4 Gambar III.24 Flowchart program Aplikasi Android BootLoop Studio Digital Key, Halaman Ganti MAC Address Bluetooth Motor (page 6).

98 3.5.2. Flowchart Program Arduino Start String Data Dari SmartPhone User; #define Klakson Motor Pin 13 #define Kunci Kontak Motor Pin 12 #define Starter Motor Pin 11 #define Mesin Motor Pin 10 Pin 13 Sebagai Pin OUTPUT, dengan Output Sinyal Digital Pin 12 Sebagai Pin OUTPUT, dengan Output Sinyal Digital Pin 11 Sebagai Pin OUTPUT, dengan Output Sinyal Digital Pin 10 Sebagai Pin OUTPUT, dengan Output Sinyal Digital Pin 13 Klakson Motor HIGH Pin 12 Kunci Kontak Motor HIGH Pin 11 Starter Motor HIGH Pin 10 Mesin Motor HIGH Input String Data Dari SmartPhone User; If Data Dari SmartPhone User = X Pin 13 Klakson Motor LOW Delay 250 ms Pin 13 Klakson Motor HIGH Pin 12 Kunci Kontak Motor LOW Pin 11 Starter Motor HIGH Pin 10 Mesin Motor HIGH Relay Buzzer Menyala selama 250 ms, lalu Mati kembali. Relay LED menyala. Relay Motor DC Mati. Relay Motor DC Mati. If Data Dari SmartPhone User = Y Pin 10 Mesin Motor HIGH. Pin 11 Starter Motor HIGH. Pin 13 Klakson Motor LOW Delay 250 ms Pin 13 Klakson Motor HIGH Delay 250 ms Pin 13 Klakson Motor LOW Delay 250 ms Pin 13 Klakson Motor HIGH Pin 12 Kunci Kontak Motor HIGH Relay Motor DC Mati. Relay Motor DC Mati. Relay Buzzer Menyala selama 250 ms, lalu Mati kembali. Lalu Menyala kembali selama 250 ms, lalu Mati kembali. Relay LED Mati. If Data Dari SmartPhone User = Z Pin 13 Klakson Motor HIGH Pin 11 Starter Motor HIGH Pin 10 Mesin Motor HIGH Pin 12 Kunci Kontak Motor LOW RelayBuzzer Mati. Relay Motor DC Mati. Relay Motor DC Mati. Relay LED Menyala. If Data Dari SmartPhone User = 1 int Delay = Data Dari SmartPhone User.toInt() * 250; Pin 13 Klakson Motor HIGH. Pin 12 Kunci Kontak Motor LOW. Pin 11 Starter Motor LOW Delay Delay ms Pin 11 Starter Motor HIGH. Pin 10 Mesin Motor LOW Relay Buzzer Mati. Relay LED Menyala. Relay Motor DC Menyala selama Delay ms, lalu Mati kembali. Relay Motor DC Menyala. If Data Dari SmartPhone User = 2 From Page 2 To Page 2 If Data Dari SmartPhone User = 3 Gambar III.25 Flowchart program yang tertanam pada mikrokontroler Arduino UNO (page 1).

99 From Page 1 If Data Dari SmartPhone User = 4 If Data Dari SmartPhone User = 5 If Data Dari SmartPhone User = 6 To Page 1 If Data Dari SmartPhone User = 7 If Data Dari SmartPhone User = 8 If Data Dari SmartPhone User = 9 If Data Dari SmartPhone User = A Data Dari SmartPhone User = 10 If Data Dari SmartPhone User = B Data Dari SmartPhone User = 11 End If Data Dari SmartPhone User = C Data Dari SmartPhone User = 12 Gambar III.26 Flowchart program yang tertanam pada mikrokontroler Arduino UNO (page 2).

100 3.6. Konstruksi Sistem (Coding) 3.6.1. Inisialisasi Gambar III.27 Perintah pendefinisian pin-pin yang akan digunakan dari program yang tertanam pada mikrokontroler Arduino UNO. String DataDariSmartPhoneUser digunakan untuk menampung data String yang dikirim oleh aplikasi ke arduino. Lalu #define adalah syntax yang digunakan untuk mendefinisikan suatu konstanta. #define KlaksonMotor 13, adalah pendefinisian, jika programmer memanggil konstanta KlaksonMotor, maka pin 13 pada mikrokontroler arduino siap digunakan. Begitu pula dengan #define KunciKontakMotor 12, mendifiniskan jika programmer memanggil konstanta KunciKontakMotor maka pin 12 pada mikrokontroler arduino siap digunakan, dan seterusnya.

101 Gambar III.28 Perintah mode pin yang akan digunakan dan penginisialisasian dari keluaran sinyal digital yang diterima oleh pin-pin tersebut. Void Setup(), digunakan untuk menjalankan perintah-perintah (syntax), yang akan dijalankan hanyak sekali saat mikrokontroler arduino dihidupkan. Fungsi ini akan dijalankan kembali jika tombol reset pada papan mikrokontroler arduino ditekan. Serial.begin(9600), adalah syntax yang digunakan untuk menginisialisasikan baudrate yang akan digunakan oleh mikrokontroler arduino untuk melakukan komunikasi serial. Dan nilai 9600, adalah nilai dari baudrate yang digunakan, dimana mikrokontroler akan membuka komunikasi serial melalui Bluetooth, dengan kecepatan 9600 bit per detik. pinmode(klaksonmotor, OUTPUT), adalah syntax yang digunakan untuk menginisialisasikan pin mikrokontroler yang didefinisikan konstanta KlaksonMotor, digunakan sebagai pin keluaran, sebelumnya KlaksonMotor didefinisikan sebagai pin 13 mikrokontroler arduino, maka pin 13 ini digunakan sebagai pin keluaran. Begitu pula dengan syntax pinmode(kuncikontakmotor,

102 OUTPUT), pinmode(startermotor, OUTPUT), dan pinmode(mesinmotor, OUTPUT). digitalwrite(klaksonmotor, HIGH), adalah syntax yang digunakan untuk mengirimkan sinyal ke pin mikrokontroler yang didefinisikan konstanta KlaksonMotor. Pin 13 yang mendefinikan konstanta KlaksonMotor, akan mendapatkan sinyal berupa HIGH. Syntax HIGH, pada arduino menginisialisasikan sinyal digital dengan kondisi 1 (5 volt). Maka pin 13 akan menerima sinyal berupa sinyal digital 1 (5 volt), saat mikrokontroler arduino dihidupkan. Perintah digitalwrite(kuncikontakmotor, HIGH), digitalwrite(startermotor, HIGH), dan digitalwrite(mesinmotor, HIGH), membuat pin-pin yang telah didefiniskan tersebut akan mendapatkan sinyal digital 1 (5 volt). Pada rangkaian output berupa relay, ada pengubahan sinyal digital yang diterima oleh rangkaian relay, jika pemberian perintah HIGH atau 1 (5 volt), maka rangkaian relay akan merubahnya menjadi LOW atau pada sinyal digital adalah 0 (0 volt), hal ini membuat rangkaian relay mati atau memutuskan jalur sumber vcc. Namun jika pemberian perintah LOW, atau 0 (0 volt), maka rangkaian relay akan merubahnya menjadi HIGH, atau 1 (5 volt). Pada penginisialisasian ini, semua pin-pin keluaran yang telah didefinisikan diberikan perintah HIGH, untuk membuat semua relay dalam keadaan mati pada saat pertama kali alat dihidupkan.

103 3.6.2. Input a) Program Android Gambar III.29 Perintah atau syntax java, yang akan dijalankan untuk mengirimkan data, berupa menghidupkan atau mematikan kunci kontak motor, dari aplikasi Android. Fungsi untuk pengiriman data dari switch kunci kontak. Pada fungsi ini pertama akan dilakukan pengecekan kondisi, jika SwitchKunciKontak, dalam keadaan tidak tercentang atau tidak aktif, maka kondisi SwitchMesinMotor akan tidak tercentang juga, atau tidak aktif, lalu menjalankan fungsi KirimDataKeMotor(), dan nilai yang dimasukkan

104 kedalam fungsi tersebut adalah string Y, yang sebelumnya telah disisipkan pada variabel REQUEST_KUNCI_KONTAK_OFF. Setelah itu pemanggilan fungsi GantiStatusMesinMotor(), dari objek DBBootLoopStudio, dimana melakukan update status SwitchMesinMotor, menjadi false. Lalu kembali melakukan pemanggilan fungsi GantiStatusKunciKontakMotor(), dari objek DBBootloopStudio, dimana melakukan update status SwitchKunciKontak, menjadi false. Pengecekan kondisi dilakukan kembali, dengan kondisi jika SwitchKunciKontak dalam keadaan tercentang atau aktif. Pada kondisi ini, akan dilakukan pengecekan kondisi lagi terhadap variabel internal, yaitu boolean Check. Jika kondisi variabel ini true, maka program akan menjalankan fungsi KirimDataKeMotor(), dengan nilai yang dimasukkan kedalam fungsi tersebut adalah string X, yang sebelumnya telah disisipkan pada variabel REQUEST_KUNCI_KONTAK_ON, lalu perintah selanjutnya adalah pengupdatean data status SwitchKunciKontak pada database, menjadi true. Jika kondisi variabel boolean Check ini false, maka program akan menjalakan fungsi KirimDataKeMotor(), dan nilai yang dimasukkan kedalam fungsi tersebut adalah string Y, yang sebelumnya telah disisipkan pada variabel REQUEST_KUNCI_KONTAK_OFF, dan perintah terakhir adalah, pengupdatean data status SwitchMesinMotor, pada database menjadi false.

105 Gambar III.30 Perintah atau syntax java, yang akan dijalankan untuk mengirimkan data, berupa menghidupkan atau mematikan mesin motor, dari aplikasi Android. Fungsi untuk pengiriman data dari switch mesin motor. Pada fungsi ini pertama akan dilakukan pengecekan kondisi, jika SwitchKunciKontak, dalam keadaan tidak tercentang atau tidak aktif, maka kondisi SwitchMesinMotor akan tidak tercentang juga, atau tidak aktif, lalu menjalankan fungsi GantiStatusMesinMotor(), dari objek DBBootLoopStudio, dimana melakukan update status SwitchMesinMotor, menjadi false. Pengencekan kondisi dilakukan kembali, dengan kondisi jika SwitchKunciKontak dalam keadaan tercentang atau aktif. Pada kondisi ini, akan dilakukan pengecekan kondisi lagi terhadap variabel internal, yaitu

106 boolean Check. Jika kondisi variabel ini true, maka program akan menjalankan fungsi KirimDataKeMotor(), dengan nilai yang dimaksudkan kedalam fungsi adalah nilai string yang berasal dari database DBBootLoopStudio(), berupa nilai delay starter, yang diubah kedalam bentuk integer, melalui fungsi Integer.parseInt(), lalu barulah hasil konversi ini dimasukkan kedalam fungsi NilaiDelayngAkaDikirim(). Didialam fungsi ini akan dilakukan pengubahan bentuk dari nilai delay starter menjadi bentuk nilai string 1 karakter, lalu nilai string ini dikirim dengan fungsi KirimDataKeMotor(), lalu setelah pengeksekusian perintah tadi, program akan menjalankan perintah pengupdatean data status SwitchMesinMotor, pada database menjadi true. Jika kondisi variabel boolean Check ini false, maka program akan menjalakan fungsi KirimDataKeMotor(), dan nilai yang dimasukkan kedalam fungsi tersebut adalah string Z, yang sebelumnya telah disisipkan pada variabel REQUEST_MESIN_MOTOR_OFF, dan perintah terakhir adalah, pengupdatean data status SwitchMesinMotor, pada database menjadi false.

107 Gambar III.31 Perintah atau syntax java, yang akan dijalankan untuk mengirimkan data, berupa pengkonversian data dari string menjadi byte, lalu dikirimkan melalui komunikasi serial Bluetooth. Fungsi KirimDataKeMotor(), adalah fungsi yang akan dijalankan untuk mengkonversi data atau string yang akan dikirim ke alat. Fungsi ini akan mengubah variabel string Perintah menjadi byte dengan perintah Perintah.getbyte(), lalu hasil konversi dimasukkan kedalam array DataBuffer bertipe data byte. Perintah Log.d(), dijalankan untuk mengirim string pesan, pada Command Promt, Android Studio, untuk menangani error debug aplikasi. Setelah proses pengubahan tipe data, program akan melakukan trial terhadap proses pengirim data byte pada perintah OutputStreamOS.write(), dengan perintah ini aplikasi akan melakukan uji coba terhadap pengiriman data melalui koneksi jalur transfer Bluetooth. Jika, dalam proses pengiriman terjadi kendala, atau jalur koneksi transfer Bluetooth tertutup, maka blok eksekusi try akan melempar kesalahan yang terjadi kepada blok eksekusi catch, dimana perintah yang akan dijalankan pada blok eksekusi ini, yaitu

108 menampilkan jendela notifikasi pesan error, yang didapatkan dari syntax IOException e. Gambar III.32 Perintah atau syntax java, yang akan dijalankan untuk mengubah nilai delay starter menjadi string 1 karakter. Fungsi NilaiDelayngAkaDikirim(), akan dijalankan untuk mengubah nilai delay starter yang diambil dari database, dan diubah untuk mendapatkan nilai string 1 karakter. Perintah pertama yang akan dijalankan, adalah penginisialisasian variabel bertipe data string, yang bernama DelaySiapKirim. Lalu penginisialisasian variabel Nilai, dengan tipe data integer. Variabel ini akan membagi variabel delay yang dijadikan syarat fungsi, dengan nilai 250, lalu hasil baginya akan diseleksi menggunakan perintah switch case, dan seleksi yang disetting adalah, 10, 11, dan 12, jika switch menerima bilangan tersebut, maka isi variabel string

109 DelaySiapKirim, akan diisi dengan string A, B, dan C. Namun, jika nilai yang diseleksi oleh switch case tidak ada dalam seleksi case, maka switch case akan menjalankan perintah default, yaitu string yang diisikan kedalam DelaySiapKirim, berupa isi dari variabel Nilai yang dikonversi kedalam string. Lalu nilai DelaySiapKirim tersebut akan dilempar kembali oleh fungsi, dengan perintah return. b) Program Arduino Gambar III.33 Perintah input dari komunikasi serial, dan pengambilan data yang dikirimkan, serta pengkonversian data yang diterima. Fungsi void loop(), adalah fungsi yang akan dijalankan secara berulang-ulang pada mikrokontroler arduino. Maka semua perintah (syntax), yang dituliskan didalam fungsi ini akan dijalankan berulang-ulang. Pada perintah if(serial.available()), maka arduino akan melakukan pengecekan komunikasi serial. Jika komunikasi serial tidak ada, maka mikorkontroler arduino tidak akan menjalankan perintah-perintah yang berada dalam blok perintah if. Dan jika komunikasi serial ditemukan maka perintah-perintah yang berada dalam blok perintah if, akan dijalankan.

110 While(Serial.available()), adalah perintah untuk melakukan perulangan, ketika mikrokontroler arduino menerima data dari jalur komunikasi serial. Perulangan ini, dilakukan untuk mengumpulkan rangkaian byte yang diterima oleh mikrokontroler. Karena pada proses pengiriman data dari dan kedalam mikrokontroler, data tersebut akan diubah tipe datanya menjadi tipe data byte, tipe data byte tersebut yang dikirim melalui komunikasi serial. Pada perulangan ini, tipe data byte tersebut akan diubah menjadi tipe data char, ketika diterima oleh mikrokontroler, lalu dimasukkan kedalam variabel DataTemporer, yang bertipe data char, lalu selanjutnya disusun menjadi sebuah string, dan disimpan ke dalam variabel DataDariSmartPhoneUser. Jika data selesai ditransfer maka, proses perulangan akan terhenti.

111 3.6.3. Main Program Gambar III.34 Perintah main program, dimana data string yang diterima oleh mikrokontroler arduino, akan dicek dengan perintah if. Perintah if(datadarismartphoneuser == X ), adalah perintah yang akan melakukan pengecekan isi dari variabel DataDariSmartPhoneUser, jika isi dari variabel adalah X, maka semua perintah yang berada didialam blok if(datadarismartphoneuser == X ), akan dijalankan, perintah-perintah ini adalah akan memberikan sinyal kepada pin-pin mikrokontroler arduino yang diinginkan, berupa HIGH atau LOW, untuk memutuskan dan menyambungkan rangkaian relay. Begitu juga dengan semua perintah if lainnya, akan dieksekusi sesuai dengan data yang diterima, ketika program Arduino membaca data yang berasal dari komunikasi serial.

112 3.6.4. Output Gambar III.35 Perintah output yang berada didalam if, dengan pengeceken isi variabel, jika isi varibel DataDariSmartPhone adalah X, untuk menghidupkan kunci kontak motor. Perintah digitalwrite(klaksonmotor, LOW), akan memberikan sinyal LOW pada pin KlaksonMotor (pin 13 mikrokontroler), lalu pada rangkaian output relay sinyal LOW diubah menjadi HIGH, dan membuat relay terhubung dengan sumber Vcc, pada rangkaian relay yang masuk kedalam pin KlaksonMotor (pin 13 mikrokontroler) ini, terpasang Buzzer, maka Buzzer akan berbunyi. Lalu perintah delay(250), akan menahan kondisi HIGH pada pin KlaksonMotor (pin 13 mikrokontroler), selama 250 milisekon, dan hal ini akan membuat relay terhubung selama 250 milisekon, dan Buzzer akan berbunyi selama waktu itu. Pada perintah selanjutnya digitalwrite(klaksonmotor, HIGH), setelah delay(250) terpenuhi. Akan memberikan sinyal HIGH pada pin KlaksonMotor (pin 13 mikrokontroler), lalu pada rangkaian output relay sinyal HIGH diubah menjadi LOW, dan membuat relay memutuskan sumber Vcc, hal ini akan membuat Buzzer mati setelah menyala selama 250 milisekon.

113 Perintah digitalwrite(kuncikontakmotor, LOW), akan memberikan sinyal digital LOW pada pin KunciKontakMotor (pin 12 mikrokontroler), sinyal digital LOW, akan diubah menjadi HIGH, pada rangkaian relay yang masuk kedalam pin KunciKontakMotor (pin 12 mikrokontroler), hal ini akan LED yang terhubung dengan relay tersebut akan menyala. Hal ini menginisialisasikan bahwa sepeda motor dalam keadaan on atau siap dihidupkan mesinnya. Lalu perintah digitalwrite(startermotor, HIGH), dan digitalwrite(mesinmotor, HIGH), akan membuat pin StarterMotor (pin 11 mikrokontroler), dan pin MesinMotor (pin 10 mikrokontroler), menerima sinyal digital HIGH, dan rangkaian relay yang terhubung pada pin ini akan mengkonversinya menjadi LOW, dan membuat kedua relay yang terhubung kedalam masing-masing pin ini, akan dalam keadaan memutuskan sumber Vcc dengan Motor DC. Gambar III.36 Perintah output yang berada didalam if, dengan pengeceken isi variabel, jika isi varibel DataDariSmartPhone adalah Y, untuk mematikankan kunci kontak motor.

114 Pada perintah diatas, akan membuat pin StarterMotor (pin 11 mikrokontroler), dan pin MesinMotor (pin 10 mikrokontroler), akan menerima sinyal digital HIGH, dan membuat relay yang terhubung kedalam masing-masing pin tersebut mengubahnya menjadi LOW, dan membuat relay dalam memutuskan sumber Vcc dengan Motor DC. Perintah selanjutnya adalah membuat pin KlaksonMotor (pin 13 mikrokontroler), menerima sinyal digital LOW, selama 250 milisekon, lalu HIGH selama 250 milisekon, lalu LOW kembali selama 250 milisekon, lalu terakhir menjadi HIGH kembali. Hal ini akan membuat relay menyambungkan sumber Vcc dengan Buzzer selama 250 milisekon, lalu memutuskannya selama 250 milisekon, lalu menyambungkannya kembali selama 250 milisekon, lalu memutuskannya kembali. Maka Buzzer yang terhubung pada relay ini akan berbunyi sebanyak dua kali. Lalu perintah terakhir adalah membuat pin KunciKontakMotor (pin 12 mikrokontroler), menerima sinyal HIGH, dan membuat relay memutuskan sumber Vcc dengan LED yang terhubung padanya. Maka LED pada relay ini akan mati. Gambar III.37 Perintah output yang berada didalam if, dengan pengeceken isi variabel, jika isi varibel DataDariSmartPhone adalah Z, untuk mematikankan mesin motor.

115 Pada blok ini, perintah yang dilakukan adalah meng-high-kan pin KlaksonMotor (pin 13 mikrokontroler), pin StarterMotor (pin 11 mikrokontroler), dan pin MesinMotor (pin 10 mikrokontroler). Hal ini akan membuat masing-masing relay memutuskkan sumber Vcc ke masing-masing komponen yang terhubung kepada masing-masing relay tersebut. Dan pada pin KunciKontakMotor (pin 12 mikrokontroler), menerima sinyal digital LOW, akan membuat relay mengubungkan sumber Vcc dengan LED yang terhubung pada relay tersebut. Gambar III.38 Perintah output yang berada didalam if, dengan pengeceken isi variabel, jika isi varibel DataDariSmartPhone adalah 1, 2, 3, 4 atau 5, untuk menghidupkan mesin motor.

Gambar III.39 Perintah output yang berada didalam if, dengan pengeceken isi variabel, jika isi varibel DataDariSmartPhone adalah 6, 7, 8, 9 atau A, untuk menghidupkan mesin motor. 116

117 Gambar III.40 Perintah output yang berada didalam if, dengan pengeceken isi variabel, jika isi varibel DataDariSmartPhone adalah B, atau C, untuk menghidupkan mesin motor. Gambar III.41 Fungsi untuk menyalakan starter motor dan menghidupkan mesin motor, yang akan dipanggil pada setiap blok if dengan isi dari pengecekan varibel DataDariSmartPhone. Pada blok if, dengan pengecekan isi dari variabel DataDariSmartPhone adalah, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, atau C. Akan menjalankan fungsi yang sama, yaitu fungsi

118 MenyalakanStarterMotorDanMenghidupkanMesinMotor(String DelayStarterMotor). Pertama fungsi ini akan mendeklarasikan 3 buah variabel internal bertipe data integer. DelayMurni, DelaySebelumMesinMenyala, dan DelaySesudahMesinMenyala. Ketiga variabel ini akan berisi nilai yang digunakan untuk mengontrol delay untuk mengaktifkan dua relay yang terhubung ke Motor DC. itu, relay yang mengsimulasikan starter motor,dan relay yang mensimulasikan mesin motor. Setelah pendeklarasian, variabel DelayMurni akan mengkonversikan variabel DelayStarterMotor, yang awalnya bertipe data string, menjadi tipe data integer, lalu mengkalikannya dengan bilangan 250, maka hasilnya adalah sesuai dengan delay yang dikirimkan oleh aplikasi android BootLoop Studio Digital Key, yang digunakan untuk mengontrol alat ini. Lalu variabel DelaySebelumMesinMenyala, akan berisi hasil bagi dari variabel DelayMurni dengan bilangan 5. Variabel ini digunakan untuk mengaktifkan relay yang mensimulasikan mesin motor setelah relay yang mensimulasikan starter motor, menyala. Variabel DelaySesudahMesinMenyala, berisi hasil dari pengurangan nilai pada variabel DelayMurni, dengan DelaySebelumMesinMenyala. Variabel ini akan digunakan untuk mematikan relay yang mensimulasikan starter motor, setelah relay yang mensimulasikan mesin motor, menyala. Setelah semua variabel mendapatkan isinya masing-masing, maka selanjutnya adalah pengontrolan pin mikrokontroler. Pertama adalah pin KlaksonMotor (pin 13 mikrokontroler), akan menerima sinyal HIGH, hal ini akan

119 membuat relay memutuskan sumber Vcc dengan Buzzer, lalu pin KunciKontakMotor (pin 12 mikrokontroler), menerima sinyal digital LOW, akan membuat relay mengubungkan sumber Vcc dengan LED yang terhubung pada relay tersebut. pin StarterMotor (pin 11 mikrokontroler), menerima sinyal digital LOW, maka relay akan menghubungkan sumber Vcc dengan Motor DC, dan menyalakan Motor DC. Motor DC yang mensimulasikan starter motor ini akan menyala selama beberapa milisekon. Lalu, setelah Motor DC yang mensimulasikan starter motor ini menyala, pin MesinMotor (pin 10 mikrokontroler) menerima sinyal LOW, membuat relay akan menghubungkan sumber Vcc dengan Motor DC yang mensimulasikan mesin motor ini, menyala. Setelah beberapa milisekon Motor DC yang mensimulasikan mesin motor ini, menyala, maka pin StarterMotor (pin 11 mikrokontroler), menerima sinyal digital HIGH, dan relay akan memutuskan sumber Vcc dengan Motor DC, yang mensimulasikan starter motor. Maka starter motor akan mati.

120 3.7. Hasil Percobaan Uji coba ini dilakukan dengan terhadap respon aplikasi Android yang telah dirancang, yaitu BootLoop Studio Digital Key, dengan respon aktif, atau tidak aktifnya pin-pin mikrokontroler Arduino UNO, akan mengaktifkan, atau menonaktfikan, relay-relay yang terhubung dengan masing-masing pin mikrokontroler Arduino UNO, untuk mensimulasikan kondisi motor. 3.7.1. Hasil Input Untuk mengetahui hasil dari input alat, dilakukan percobaan terhadap respon aplikasi Android (BootLoop Studio Digital Key) yang telah dibuat, dengan respon aktif dan tidak aktifnya relay yang masuk ke pin-pin mikrokontroler Arduino UNO, berdasarkan perintah dari aplikasi Android tersebut. Tabel 2 Tabel hasil input dari aplikasi BootLoop Studio Digital Key, terhadap pin-pin mikrokontroler Arduino Uno Input dari aplikasi BootLoop Studio Digital Key (Switch Button) Swicth Meng-on-kan Kunci Kontak Motor Swicth Meng-off-kan Kunci Kontak Motor Swicth Menghidupkan Mesin Motor Swicth Mematikan Mesin Motor Relay (pin mikrokontroler Arduino UNO) Pin 13 Pin 12 Pin 11 Pin 10 Aktif Aktif Aktif Aktif Aktif Aktif Aktif Aktif Aktif Aktif Aktif Aktif Aktif Aktif Aktif Aktif *Kondisi Aktif dilihat dari respon pertama pin tersebut saat mendapatkan input dari aplikasi BootLoop Studio Digital Key, karena pada beberapa pin, ada yang Aktif lalu setelah beberapa milisekon akan kembali Aktif, sesuai dengan program yang ditanam pada mikrokontroler Arduino UNO.

121 Gambar III.42 Foto respon relay, terhadap perintah dari aplikasi BootLoop Studio Digital Key, ketika diberikan perintah mengaktifkan kunci kontak. Gambar III.43 Foto respon relay, terhadap perintah dari aplikasi BootLoop Studio Digital Key, ketika diberikan perintah menonaktifkan kunci kontak.

122 Gambar III.44 Foto respon relay, terhadap perintah dari aplikasi BootLoop Studio Digital Key, ketika diberikan perintah mengaktifkan mesin motor. Gambar III.45 Foto respon relay, terhadap perintah dari aplikasi BootLoop Studio Digital Key, ketika diberikan perintah menonaktifkan mesin motor.

123 3.7.2. Hasil Output Untuk mengetahui hasil output, dilakukan percobaan terhadap respon masing-masing relay yang aktif atau tidak aktif, dengan hasilnya berupa Buzzer, LED, dan Motor DC, yang terhubung pada masing-masing relay tersebut. Simulasi ini akan menunjukan kondisi dari motor. Tabel 3 Tabel hasil output dari mikrokontroler Arduino UNO, Terhadap komponen-komponen yang mensimulasikan kondisi motor. Kondisi Motor Kunci Kontak Motor On Kunci Kontak Motot Off Mesin Motor Hidup Mesin Motor Mati Relay pin 13 (Buzzer / Klakson Motor) Aktif (Bunyi) Relay (pin mikrokontroler Arduino UNO) Relay pin 12 Relay pin 11 (LED / Kunci (Motor DC / Kontak Strater Motor) Motor) Aktif (Menyala) Aktif Relay pin 10 (Motor DC / Mesin Motor) Aktif Aktif (Bunyi) Aktif Aktif Aktif Aktif Aktif Aktif (Menyala) Aktif (Menyala) Aktif (Berputar) Aktif Aktif (Berputar) Aktif *Kondisi Aktif dilihat dari respon pertama pin tersebut saat mendapatkan output dari Arduino UNO, karena pada beberapa pin, ada yang Aktif lalu setelah beberapa milisekon akan kembali Aktif, sesuai dengan program yang ditanam pada mikrokontroler Arduino UNO.

124 Gambar III.46 Foto respon komponen LED, dan Buzzer, terhadap perintah dari aplikasi BootLoop Studio Digital Key, ketika diberikan perintah mengaktifkan kontak motor. Gambar III.47 Foto respon komponen LED, dan Buzzer, terhadap perintah dari aplikasi BootLoop Studio Digital Key, ketika diberikan perintah menonaktifkan kontak motor.

125 Gambar III.48 Foto respon komponen LED, Buzzer, dan Motor DC terhadap perintah dari aplikasi BootLoop Studio Digital Key, ketika diberikan perintah menghidupkan mesin motor. Gambar III.49 Foto respon komponen LED, Buzzer, dan Motor DC terhadap perintah dari aplikasi BootLoop Studio Digital Key, ketika diberikan perintah mematikan mesin motor.