24
Perancangan Aplikasi Pemantau Lokasi Anak dan Widget Panic Button dengan Fused Location Provider API dan Google Cloud Messaging pada Android Platform Artikel Ilmiah Diajukan kepada Fakultas Teknologi Informasi untuk memperoleh Gelar Sarjana Komputer Peneliti: Ricky Oktavianus Lazuardy (672011050) Hendro Steven Tampake, S.Kom., M.Cs. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga April 2015

Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

Embed Size (px)

Citation preview

Page 1: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

Perancangan Aplikasi Pemantau Lokasi Anak dan Widget Panic Button dengan Fused Location Provider API dan Google Cloud

Messaging pada Android Platform

Artikel Ilmiah

Diajukan kepada Fakultas Teknologi Informasi

untuk memperoleh Gelar Sarjana Komputer

Peneliti: Ricky Oktavianus Lazuardy (672011050) Hendro Steven Tampake, S.Kom., M.Cs.

Program Studi Teknik Informatika Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana Salatiga

April 2015

Page 2: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem
Page 3: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem
Page 4: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem
Page 5: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem
Page 6: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

Perancangan Aplikasi Pemantau Lokasi Anak dan Widget Panic Button dengan Fused Location Provider API dan Google Cloud

Messaging pada Android Platform

1)Ricky Oktavianus Lazuardy, 2)Hendro Steven Tampake

Fakultas Teknologi Informasi Universitas Kristen Satya Wacana

Jl. Diponegoro 52-60, Salatiga 50711, Indonesia Email: 1)[email protected], 2) [email protected]

Abstract

Monitoring the location of children by parents is very important because the neighbourhood and the lack of parental supervision is a factor the juvenile delinquency. Therefore there is a need for applications that can help working parent in monitoring the location of children. Applications built by using Fused Location Provider API that can use the best provider to get the location of the child device periodically. The location is then sent using the GCM child to have a parent device. Further, the application also features a panic button widget that can be activated when the child feels in danger. parents find the application is helpful for monitoring their child. Keyword: Child Tracking, GPS, Panic Button, Android, Location API, Android

Abstrak

Pemantauan lokasi anak oleh orang tua merupakan hal yang sangat penting karena lingkungan dan kurangnya pengawasan dari orang tua merupakan faktor timbulnya kenakalan remaja. Oleh karena itu dibutuhkan sebuah aplikasi untuk membantu orang tua yang berkerja dalam membantu pemantauan lokasi anak. Aplikasi dibangun dengan memanfaatkan Fused Location Provider API yang dapat menggunakan provider terbaik untuk mendapatkan lokasi device anak secara berkala. Lokasi kemudian anak dikirim dengan menggunakan GCM ke device miliki orang tua. Selain itu aplikasi juga dilengkapi widget panic button yang dapat diaktifkan ketika anak merasa dalam bahaya. Dengan adanya aplikasi ini orang tua merasa terbantu untuk melakukan pemantauan terhadap anaknya. Kata Kunci : Pemantauan Anak, GPS, Tombol Panik, Android, Location API ______________________ 1)

Mahasiswa Fakultas Teknologi Informasi Jurusan Teknik Informatika, Universitas Kristen Satya Wacana, Salatiga. 2) Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana, Salatiga

Page 7: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

1

1. Pendahuluan

Kurangnya pengawasan oleh orang tua pada lingkungan pergaulan anak dapat berakibat fatal. Santrock dalam bukunya yang berjudul Adolescence menuliskan bahwa kurangnya pengawasan orang tua dan pengaruh buruk lingkungan merupakan faktor yang menyebabkan kenakalan anak [1]. Oleh karena itu, orang tua harus memantau dan menyeleksi tempat pergaulan anak. Akan tetapi, orang tua yang bekerja kurang memiliki waktu dalam memantau anaknya seperti yang di tulis di situs swa.co.id menyatakan bahwa, empat dari 10 orang tua mengaku lebih mudah mengatur jadwal pekerjaan di kantor dibandingkan dengan mengatur jadwal untuk berkegiatan dengan anak-anak mereka [2]. Selain itu, bahaya kejahatan penculikan anak semakin tahun semakin meningkat. Ketua Komnas PA, Arist Merdeka Sirait mengatakan Jumlah penculikan yang terjadi di tahun 2011 ialah, sekitar 121 kasus. Pada 2012 angkanya meningkat, menjadi 182 kasus di jabodetabek saja [3]. Untuk itu dibutuhkan sebuah alternatif dalam mengawasi pergaulan anak dan sarana untuk mengantisipasi penculikan anak yang mungkin terjadi. Android merupakan platform smartphone yang paling populer saat ini. Di seluruh dunia saat ini terdapat 1 milyar device android melebihi jumlah iphone , blackberry dan sebagainya, selain itu Indonesia juga terdaftar sebagai Negara pengguna smartphone peringkat 5 di dunia [4]. Kepopuleran android tersebut dapat kita manfaatkan sebagai alternatif pemantauan anak. Salah satu fitur dari android yang dapat dimanfaatkan adalah Fused Location Provider API, fitur ini dapat mendeteksi lokasi device anak yang kemudian dapat dikirim dengan layanan Google Cloud Messaging yang dapat mengirimkan pesan berisi lokasi device yang dipantau ke device milik orang tua. Untuk menyelesaikan masalah tersebut, maka dapat dibangun sebuah aplikasi mobile platform android yang dapat mengecek lokasi anak secara berkala. Aplikasi yang dibangun juga dapat memberikan notifikasi kepada orang tua apabila anak keluar dari wilayah yang di anggap aman oleh orang tua. Aplikasi yang dibangun ada 2, Satu aplikasi untuk orang tua untuk melihat lokasi anak dan aplikasi disisi anak yang berjalan dibelakang layar mengirimkan data lokasi, dan dilengkapi dengan fitur panic button untuk keadaan darurat.

Berdasarkan uraian tersebut, maka rumusan masalah dalam penelitian ini adalah bagaimana merancang dan membangun sebuah sistem yang dapat membantu orang tua dalam melakukan pemantauan anak dengan aplikasi berbasis Android dengan menggunakan teknologi Fused Location Provider API dan Google Cloud Messaging pada Android platform. 2. Tinjauan Pustaka

Pada penelitian sebelumnya yang berjudul Monitoring Lokasi Anak Menggunakan Handphone ber-GPS yang membahas mengenai pembuatan aplikasi monitoring lokasi anak di handphone berbasis symbian sebagai server

Page 8: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

2

yang akan mengirimkan lokasi anak berdasarkan sms yang di kirim dari handphone milik orang tua dan akan mengirimkan link google map berisi lokasi anak melalui sms. Berdasarkan penelitian, aplikasi tersebut dapat mendapatkan lokasi anak tanpa anak mengetahui [5]. Melalui hasil penelitian ini dapat diambil kesimpulan bahwa system pemantauan lokasi anak yang dibangun harus dapat menjadi server yang mengirimkan lokasi anak tanpa diketahui oleh anak. Pada penelitian yang berjudul Rancang Bangun Aplikasi Pemantauan Posisi Anggota Keluarga Berbasis Android yang membahas tentang pembangunan aplikasi untuk melacak posisi anggota keluarga pada smartphone berbasis android. Berdasarkan penelitian, aplikasi tersebut dapat mendapatkan lokasi dari device anggota keluarga lainnya, melakukan photo sharing, dan messenger antar anggota keluarga. Penelitian di nilai berhasil dan mendapat respon yang positif dari para respondennya [6]. Melalui hasil penelitian ini dapat diambil kesimpulan bahwa keluarga dapat saling mengirimkan lokasi device melalui GPS yang kemudian ditampilkan menggunakan Google Maps API. Family Location Tracking merupakan aplikasi pada Android platform yang yang memberikan layanan lokasi anak secara real-time dan notifikasi ketika anak masuk atau keluar dari safe-zone [7]. Perbedaan aplikasi yang dirancang dengan aplikasi ini adalah adanya fitur pengiriman lokasi berkala yang dikirimkan oleh aplikasi pada device anak sehingga orang tua tidak harus meluangkan waktu untuk melakukan pengecekan lokasi anak secara berkala, orang tua hanya perlu melihat history lokasi anak yang telah tersimpan di aplikasi ketika memiliki waktu. Berdasarkan penelitian-penelitian yang telah dilakukan terkait dengan pemantauan lokasi anak dan aplikasi yang serupa, maka dilakukan penelitian yang membahas tentang perancangan dan pengembangan sistem yang dapat membantu orang tua dalam melakukan pemantauan terhadap anak pada Android platform. Aplikasi dibangun menggunakan teknologi Fused Location Provider dan Google Cloud Messaging (GCM). Sistem terbagi menjadi 2 yaitu aplikasi ClientApp pada device anak dan ParentApp pada device orang tua. Aplikasi ClientApp akan berfungsi sebagai server yang akan secara berkala mengirimkan lokasi yang didapat melalui Fused Location Provider melalui GCM ke device orang tua yang akan diterima oleh aplikasi ParentApp yang berfungsi sebagai receiver GCM yang akan menyimpan lokasi yang dikirimkan menggunakan Sugar ORM dan dapat menampilkan history lokasi yang dikirimkan menggunakan Google Maps API. Selain itu aplikasi ClientApp juga dilengkapi dengan widget panic button yang dapat mengirimkan pesan melalui GCM dan juga memberikan update lokasi secara real-time yang akan diterima oleh aplikasi ParentApp dengan memutar suara yang menandakan bahaya diikuti dengan menampilkan lokasi device anak yang diterima. Fused Location Provider adalah library yang terdapat didalam google play services yang secara pintar mengatur teknologi lokasi yang memberikan lokasi terbaik sesuai kebutuhan user [8]. Aplikasi ClientApp mendeteksi lokasi menggunakan Fused Location Provider dengan bantuan library smart-location dengan konfigurasi BEST_EFFORT dan one fix yang akan mendeteksi lokasi dengan tingkat akurasi medium dengan hanya 1 kali akses yang akan dilakukan

Page 9: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

3

secara berkala pada update lokasi berkala dan NAVIGATION yang akan mendeteksi lokasi dengan tingkat akurasi high dengan jarak minimum 0 meter dan interfal 0.5 detik pada saat panic button diaktifkan. Lokasi yang dideteksi didapatkan dalam bentuk objek location yang berisi latitude yang merupakan garis lintang, longitude yang merupakan garis bujur, dan accuracy yang menandakan keakuratan dari lokasi yang didapatkan.

Google Cloud Messaging (GCM) Merupakan layanan yang memperbolehkan pengiriman data dari server ke device android milik pengguna dan juga untuk pengerimaan data dari alat yang sama. GCM menangani semua aspek dari pengantrian pesan dan pengiriman ke aplikasi android yang berjalan di alat target dan secara gratis [9]. Pada aplikasi ParentApp, GCM digunakan untuk menerima lokasi yang dikirimkan oleh aplikasi ClientApp setelah proses pairing dilakukan dengan menampilkan QRCode GCM registeration id yang akan dibaca oleh ClientApp sebagai alamat pengiriman lokasi melalui GCM. Pada aplikasi ClientApp pesan gcm dikirimkan dengan menggunakan koneksi http-post dengan content-type JSON.

JavaScript Object Notation (JSON) adalah format perubahan data yang ringan, mudah dibaca oleh manusia dan mudah untuk diurai dan dibuat [10]. JSON merupakan tipe kontent yang dikirimkan oleh aplikasi ClientApp ke server GCM yang kemudian akan mengirimkan data JSON tersebut ke device orang tua.

3. Metode Penelitian

Metode penelitian yang digunakan untuk penelitian ini adalah metode Research and Development (R&D). Metode ini merupakan metode penelitian yang digunakan untuk menghasilkan produk tertentu dan menguji keefektifan produk tersebut. Tahapan-tahapan yang dilakukan dalam metode penelitian ini dapat dilihat pada Gambar 1.

Gambar 1 Tahapan Penelitian Research and Development [11]

Dalam penelitian ini tahapan penggunakan R&D dilakukan hanya sampai dengan uji coba produk atau uji coba terbatas saja. Tahapan penelitian dapat

Page 10: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

4

dijelaskan sebagai berikut : 1) Tahap Potensi dan Masalah, pada tahap ini dilakukan observasi/penelitian dan pengamatan terhadap masalah yang ditemui oleh orang tua-orang tua yang berkerja dalam melakukan pemantauan terhadap anak mereka, sehingga dibuatlah sebuah sistem yang dapat membantu orang tua dalam melakukan pemantauan lokasi anak. 2) Tahap Pengumpulan Data, pada tahap ini dilakukan penentuan kebutuhan-kebutuhan sesuai identifikasi masalah dengan menentukan dengan menentukan fitur-fitur apa saja yang dibutuhkan oleh orang tua dalam melakukan pemantauan lokasi terhadap anaknya. Pengumpulan data ini dilakukan dengan melakukan wawancara langsung terhadap orang tua yang berkerja dan memiliki anak. 3) Tahap Desain Produk, pada tahap ini dilakukan pembuatan desain sistem dengan menggunakan diagram Unified Modelling Language (UML). Desain sistem berupa diagram yang meliputi : usecase diagram, class diagram, sequence diagram,dan deployment diagram. Selain desain sistem menggunakan UML dilakukan juga pembuatan arsitektur aplikasi, penentuan user pengguna sistem dan analisis kebutuhan fungsional. 4) Tahap Validasi Desain, proses validasi desain merupakan proses pengecekan antara fitur yang diperlukan dengan desain aplikasi yang dibuat. Revisi desain akan dilakukan apabila tidak sesuai dengan fitur yang diinginkan. 5) Tahap Implementasi, proses perealisasian desain sistem yang telah dirancang. Terdapat 2 aplikasi dalam sistem yang dibuat ClientApp yang akan mengirimkan lokasi device anak ke device orang tua, lokasi tersebut kemudian diterima oleh aplikasi ParentApp yang kemudian akan menyimpan data lokasi tersebut ke database device. Kedua aplikasi mobile tersebut dibuat dengan menggunakan java native (Android Studio) dan dibantu dengan Gradle yang mengatur proses import library google play services, smart location untuk penggunakan fused location provider, library Sugar ORM yang mengatur penyimpanan lokasi ke database, dan library xzing untuk pembuatan QR Code. 6) Tahap Uji Coba produk, pada tahap ini dilakukan pengujian sistem. Pada pengujian alpha, metode pengujian yang digunakan adalah blackbox testing dimana pengujian berfokus pada spesifikasi fungsional dari perangkat lunak, tester mendefinisikan kondisi input dan melakukan pengujian. Selanjutkan dilakukan pengujian penerimaan atau beta testing dimana pengujian dilakukan oleh pengguna sistem dalam hal ini orang tua yang berkerja dan memiliki anak. 7) Tahap ini merupakan tahap akhir dimana dilakukan analisis dari hasil pengujian dan pemberian kesimpulan dari penelitian. Pada proses pengumpulan data dilakukan proses wawancara kepada orang tua untuk menentukan fitur-fitur yang harus dimiliki dari aplikasi yang dibangun. Fitur-fitur tersebut meliputi update lokasi berkala, melihat history lokasi anak, safe zone, dan widget panic button. Fitur-fitur tersebut yang kemudian akan menjadi dasar dari perancangan sistem yang dibangun. Pada tahap perancangan sistem dibuat rancangan arsitektur sistem. Arsitektur dari sistem dapat dilihat pada Gambar 2.

Page 11: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

5

Gambar 2. Arsitektur Aplikasi

Sesuai arsitektur sistem pada Gambar 2, aplikasi ParentApp melakukan proses registerasi melalui internet ke server GCM untuk mendapatkan id registerasi untuk melakukan pengiriman ke aplikasi ParentApp melalui GCM (1). Registration id yang di dapat di rubah menjadi QR code (2). Modul kamera pada device client membaca QR code melalui pembaca QR code lalu data registration id digunakan untuk menyandingkan dua device tersebut (3). Data nama dikirimkan ke server GCM dengan registration id yang sudah didapat dengan menggunakan metode HTTP POST melewati internet (4). GCM menerima, mengatur antrian dan melakukan proses push message ke device parent (5). GCM Receiver menerima message dan data pengguna device client di tambahkan ke dalam database local device parent dan proses penyandingan pun selesai (6). Dalam jangka waktu tertentu alarm manager akan berjalan dan melakukan request lokasi melalui fused location provider yang kemudian akan menerima lokasi dari salah satu provider yang kemudian akan di kirim melalui metode HTTP POST (7). Proses pengiriman data lokasi dijalankan melalui proses (4),(5), dan data lokasi di simpan melalui proses (6). Dari arsitektur sistem yang dibangun maka dilakukan perancangan sistem menggunakan diagram UML yang merupakan bahasa notasi yang telah menjadi standar dalam industri perangkat lunak. Untuk desain aplikasi yang akan dibuat dalam penelitian ini digunakan 3 buah diagram UML yaitu use case diagram, sequence dan class diagram. Dalam pembuatan use case diagram perlu dilakukan penentuan actor atau user pengguna sistem. Actor terdiri dari user dari aplikasi dan subsistem lain yang dapat berinteraksi dengan sistem yang dibuat. Klasifikasi Actor dari sistem dapat dilihat pada Tabel 1.

Page 12: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

6

Tabel 1 Daftar Pengguna Sistem

Actor Keterangan Parent Pengguna sistem yang melakukan proses instalasi, konfirgurasi dan

penyandingan / pairing antara 2 device. Parent memiliki hak akses penuh terhadap 2 aplikasi dan akan mendapat data lokasi yang akan dikirimkan oleh device child.

Child Pengguna sistem yang hanya dapat menggunakan widget android panic button

BSC Background Services ChildApp (BSC) adalah services yang berjalan dibelakang layar pada aplikasi ChildApp yang akan melakukan proses pengiriman lokasi ke aplikasi ParentApp sesuai interval yang telah di atur, menyembunyikan dan memunculkan aplikasi, dan lain lain

BSP Background Services ParentApp (BSP) adalah services yang berjalan dibelakang layar pada aplikasi ParentApp yang akan mendapatkan data push message dari GCM dan akan mengolah data yang diterima agar dapat digunakan oleh parent.

Pada Tabel 1 terdapat 2 aktor pengguna yang merupakan pengguna

aplikasi dan dapat berinteraksi langsung dengan aplikasi dan 2 aktor subsistem yang bertugas menjalankan aplikasi dibelakang layar. Setelah penentuan actor dilakukan analisis kebutuhan fungsional dari fitur yang harus disediakan oleh sistem yang dibangun. Hasil dari analisis kebutuhan fungsional beserta dengan actor yang menggunakan fitur tersebut dapat ditunjukan pada Tabel 2.

Tabel 2 Daftar Fungsional Sistem No. Kebutuhan Fungsional Actor 1. Proses registerasi id aplikasi ParentApp Parent 2. Proses penyandingan atau pairing Parent, BSP 3. Proses pengiriman data lokasi secara berkala BSC 4. Melihat data lokasi di Maps pada aplikasi ParentApp Parent 5. Penambahan filter Safe Zone pada Maps Parent 6. Menerima dan mengolah push message dari GCM BSP 7. Menyalakan dan Mematikan Panic Button Child 8. Proses penyimpanan data lokasi berkala dan panic button BSP 9. Menerima peringatan dan lokasi Child saat Panic Button diaktifkan Parent

Use case diagram menjelaskan apa yang dapat dilakukan atau dikerjakan oleh sistem menurut pandangan pengguna. Use case diagram berhubungan dengan scenario atau sebuah kejadian yang terjadi ketika user berinteraksi dengan aplikasi [12]. Use case diagram sistem dapat dilihat pada Gambar 3.

Page 13: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

7

Gambar 3 Use Case Diagram

Gambar 3 menunjukan use case diagram untuk pengguna Parent, BSP, Child, dan BSC pada 2 aplikasi ClientApp dan ParentApp. Parent memiliki 4 fungsi case utama yaitu Receive Location Update, Receive Panic Button Start Notification, View Location Log, Pairing Device Child and Parent. Case Receive Location Update adalah proses penerimaan notifikasi lokasi anak yang apabila notifikasi tersebut disentuh akan membuka case View Child Location Log yang akan menampilkan data lokasi Child. Pada case View Child Location Parent dapat menambahkan Safe Zone. Case View Location Log digunakan untuk menampilkan data lokasi Child dan dapat digunakan untuk menambahkan Safe Zone. Receive Panic Button Start Notification adalah penerimaan notifikasi yang menunjukan bahwa panic button telah dinyalakan di device Child. Case Receive Panic Button Start Signal akan secara otomatis memutar sound alert dan menunjukan lokasi terakhir yang akan dilakukan update oleh receive panic button location update dan akan dihentikan oleh receive panic button stop notification. Case Pairing device ChildApp and ParentApp adalah proses untuk mengenalkan antara device ChildApp dan ParentApp menggunakan QR code dan GCM. BSP memiliki hanya 1 case utama yang akan menerima pesan dari GCM yang kemudian akan diambil tipe dari pesan yang didapat akan dijalankan case lainnya. Sub-case dari case utama tersebut ada 6 yaitu Notify Location Update, Notify Child Register Attempt, Child Confirmation Attempt, Notify Panic Button Start Signal, Notify Panic Button Location Update, dan Notify Panic Button Stop Signal. Case Notify Location Update adalah proses penyimpanan data lokasi, memunculkan notifikasi lokasi dan notifikasi warning ketika berada diluar zona aman. Case Notify Child Register Attempt adalah proses memunculkan notifikasi yang menandakan ada aplikasi ChildApp yang ingin mendaftarkan diri ke ParentApp. Case Child Confirmation Attempt adalah proses memunculkan notifikasi yang memberitahukan bahwa ada aplikasi ChildApp yang sudah melakukan konfirmasi dan ditambahkan ke database. Case Notify Panic Button Start Signal untuk memunculkan notifikasi menandakan panic button telah di aktifkan dan membuka jendela lokasi dan memutar suara peringatan. Case Notify

Page 14: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

8

Panic Button Location update untuk memunculkan notifikasi serta mengupdate data lokasi terakhir di jendela lokasi Case Notify Panic Button Stop Signal untuk memunculkan notifikasi dan menutup jendela lokasi dan mematikan suara. Child hanya memiliki 1 use case utama yaitu menyalakan panic button yang akan mengirim data ke ParentApp bahwa panic button telah aktif serta akan mengirim lokasi secara real-time. Setelah Child merasa aman dengan kondisinya Child dapat menonaktifkan panic button dan secara langsung akan mengirim pesan ke ParentApp untuk menghentikan proses terkait. BSC hanya memiliki 1 use case utama yang akan dijalankan ketika device booting (Receive BOOT_COMPLETED Action). Case tersebut akan menjalankan AlarmManager untuk menjalankan case send location update secara berkala. Class diagram memberikan overview tentang sebuah sistem dengan menampilkan class-class yang terdapat dalam sistem serta relasinya. Class diagram menunjukan interaksi antar kelas tetapi tidak menunjukan apa yang terjadi saat class-class tersebut berinteraksi [12]. Cara menganalisis class diagram adalah dengan menganalisa uraian skenario masing-masing use case yang ada. Dari uraian tersebut dicoba mencari object atau class apa yang ada di dalamnya. Kemudian dilanjutnya dengan menganalisa attribute dan method apa yang relevan untuk masing-masing class yang telah ditemukan. Berdasarkan hasil analisis scenario yang ada maka ditentukan kelas diagram yang dibagi menjadi 3 yaitu Class diagram entity, Class diagram data access object dan Class diagram application action.

Gambar 4 Class Diagram Entity

Class diagram entity berisi object yang terdapat dalam aplikasi. Class Child adalah struktur dasar dari sebuah informasi child, class ChildLocation adalah struktur dasar sebuah informasi lokasi keberadaan aktor Child. Class SafeZone adalah struktur dasar sebuah informasi zona aman sebagai filter.

Gambar 5 Class Diagram DAO

Desain class diagram Data Access Object (DAO) adalah obyek-obyek yang akan digunakan oleh aplikasi untuk memanipulasi data di database. Segala

Page 15: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

9

dao ke database SQLite di atur oleh Sugar ORM dengan cara extend kelas SugarReport<T> dengan T di rubah dengan tipe kelas masing masing kelas entity dan semua proses akan diatur oleh ORM (Object Relational Mapping).

Gambar 6 Class Diagram Action

Gambar 6 adalah class diagram pada sisi aplikasi ClientApp dan ParentApp yang saling terhubung dengan qr code scanner(ParentApp ke Client App) dan GCM(ClientApp ke ParentApp). Pada class diagram ini broadcast receiver dan activity merupakan berbagai titik awal proses dimulai, activity untuk proses yang dijalankan oleh user dan broadcast receiver merupakan proses yang dijalankan oleh background process. Sequence diagram adalah suatu diagram yang menggambarkan interaksi antar obyek serta menunjukan proses komunikasi di antara obyek-obyek tersebut. Diagram sequence juga menunjukan rangkaian pesan yang ditukarkan oleh obyek-obyek yang melakukan proses atau fungsi tertentu [12].

Page 16: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

10

Gambar 7 Sequence Diagram Pairing Process

Gambar 7 adalah sequence diagram yang menunjukan proses pairing antara 2 aplikasi ChildApp dan ParentApp yang dilakukan oleh aktor Parent. Proses pairing dimulai dengan membuka aplikasi ParentApp yang secara otomatis akan melakukan pengambilan id registrasi dari GCM yang kemudian akan disimpan ke dalam shared preferences dan di tampilkan dalam bentuk QR code. Setelah itu Parent membuka MainActivity dari ClientApp untuk menscan QR code yang terdapat pada ParentApp lalu melakukan proses request melalui GCM yang akan diterima oleh GCMReceiver, kemudian GCMReceiver akan melakukan generate QR code confirmation yang kemudian akan melakukan scan untuk autentikasi. Setelah QR code confirmation dideteksi aplikasi ClientApp akan melakukan pengiriman kode konfirmasi tersebut ke ParentApp melalui GCM, GCMReceiver dan kemudian apabila cocok akan dilakukan penambahan ke database di device ParentApp.

Gambar 8 Sequence Diagram Periodic Location Update

Gambar 8 menunjukan sequence diagram proses update lokasi berkala ClientApp. Langkah awal dimulai ketika device selesai booting maka BroadcastReceiver AutoStart akan menangkap aksi tersebut dan akan mendaftarkan alarm manager yang akan membuat aksi yang diulang secara berkala. Aksi yang berulang tersebut di eksekusi oleh AlarmReceiver dan akan menjalankan prosesnya pada AlarmIntentService. AlarmIntentService akan mengirim lokasi, nama, tanggal,waktu ke GCM yang kemudian akan diteruskan

Page 17: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

11

ke GCMReceiver pada kelas ParentApp. Pesan kemudian akan diolah pada GCMIntentServices untuk memunculkan notifikasi yang apabila di klik akan membuka halaman ChildMonitor. Pada halaman child monitor parent dapat menambahkan SafeZone selain itu pada bagian GCMIntentServices apabila lokasi yang dikirimkan berada di luar SafeZone maka akan ada notifikasi pemberitahuan dengan suara.

Gambar 9 Sequence Diagram Panic Button

Gambar 9 menunjukan sequence diagram panic button yang menggambarkan proses kerja panic button. Aktor Child menyalakan panic button, dan widget tersebut akan melakukan pengiriman dengan tipe panic button start ke GCM dan akan dilanjutkan ke GCMReceiver , GCMReceiver berhasil menerima memberikan hasil dari GCM ke GCMIntentService Untuk diolah dan menghasilkan notifikasi. GCMIntentServices membuat notifikasi dan membuka Activity PanicButtonActivity. Setelah pengiriman sinyal start oleh widget, widget juga menjalankan proses perulangan untuk mengirimkan update lokasi ke GCM yang dilanjutkan ke GCMReceiver dan GCMIntentService yang kemudian digunakan untuk update lokasi terakhir yang ada di activity PanicButtonActivity. Setelah itu apabila Child sudah merasa tidak membutuhkan panic button maka child akan mematikan panic button, maka widget panic button akan mengirimkan sinyal stop ke GCM yang kemudian akan di proses oleh GCMReceiver dan GCMIntentService untuk mematikan Activity WidgetPanicButtonActivity dan alert sound. Deployment/physical diagram menggambarkan susunan fisik sebuah sistem, menunjukkan bagian perangkat lunak mana yang berjalan pada perangkat keras mana [12]. Deployment diagram sistem ini dapat dilihat pada Gambar 10.

Gambar 10 Deployment Diagram Sistem

Page 18: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

12

Gambar 10 menggambarkan deployment diagram sistem pemantauan anak. Pada deployment diagram tersebut terdapat 2 macam perangkat lunak yaitu ClientApp pada device anak dan ParentApp pada device orang tua. Kedua perangkat lunak itu dihubungkan dengan menggunakan QR Code dan GCM API. Server GCM berada di internet sehingga server GCM tersebut diakses menggunakan HTTP POST yang kemudian server GCM akan melakukan push message yang dikirim dari device anak ke device orang tua.

Setelah melakukan perancangan terhadap arsitektur dan obyek yang ada di dalam aplikasi ini, selanjutnya perlu dilakukan perancangan antar muka yang digunakan untuk aplikasi ini. Antar muka ini merupakan media dimana user akan berkomunikasi dengan aplikasi. Perancangan antar muka untuk aplikasi ini antara lain

Gambar 11 Rancangan Layout Widget Panic Button dan MainActivity ClientApp

Gambar 12 Rancangan Layout MainActivity, RegisterConfirm, ChildMonitor,

WidgetPanicButtonActivity

4. Hasil pembahasan dan implementasi

Penelitian ini menghasilkan sistem pemantauan anak yang terdiri dari dua aplikasi ClientApp dan ParentApp. Langkah pertama dalam menggunakan aplikasi adalah melakukan proses pairing antar device. Proses pairing antar device digunakan agar device ClientApp mengerti id GCM dari device ParentApp dan ParentApp agar dapat melakukan autentikasi filtering pada pesan agar hanya menerima pesan GCM dari device yang terdaftar di database lokal.

Page 19: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

13

Gambar 13 Antar muka MainActivity ParentApp

Gambar 9 menampilkan QR code id registerasi GCM dan daftar child yang terdaftar.

Gambar 14 QR Code Registerasi dan Confirmation

Gambar 15 Antar muka MainActivity ClientApp

Gambar 10 merupakan tampilan QR Code pada MainActivity ParentApp dan QR code untuk konfirmasi pada proses registerasi child pada Gambar 11. Langkah registerasinya adalah mengisi nama, lalu sentuh tombol scan QR code untuk melakukan scan QR code dari ParentApp, lalu sentuh tombol register ChildApp, setelah itu lakukan scan pada confirmation code yang ditampilka oleh

Page 20: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

14

ParentApp, dan setelah proses berhasil sentuh tombol save settings and start services. Setelah proses pairing berhasil maka service update lokasi berkala akan diaktifkan. Update lokasi berkala merupakan proses pengiriman lokasi secara berkala dengan interval yang telah di setting pada MainActivity ClientApp. Proses ini tidak terlihat dari layar karena berjalan di belakang layar. Sedangkan pada device ParentApp update lokasi terlihat pada notifikasi dan Activity ChildMonitor untuk melihat history lokasi.

Gambar 16 Notifikasi Biasa

Gambar 17 Notifikasi dengan Suara Ketika diluar SafeZone

Terdapat 2 jenis notifikasi pada update lokasi berkala. Gambar 16 merupakan notifikasi biasa yang hanya ditampilkan saja dan Gambar 17 notifikasi dengan suara yang terjadi ketika ChildApp keluar dari zona aman yang telah di setting sebelumnya. Apabila notifikasi di tekan maka user akan dibawa ke Activity ChildMonitor

Gambar 18 Activity ChildMonitor

Activity ChildMonitor menampilkan semua data yang telah diterima oleh device ParentApp yang ditampilkan berdasarkan tanggal, dan list untuk memilih lokasi yang ingin dilihat pada bagian atas yang akan otomatis memindahkan kamera ketika di tekan. Area zona aman ditandai dengan area hijau yang bisa ditambahkan dan edit dengan cara melakukan long-click pada map. Widget Panic Button adalah fitur yang dapat digunakan saat anak merasa dalam bahaya yang bisa dieksekusi oleh aktor Child untuk memberikan peringatan kepada device ParentApp dengan menggunakan suara peringatan yang keras dan memberikan update lokasi terbaru dengan hampir mendekati waktu nyata.

Page 21: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

15

Gambar 19 Widget Panic Button dan PanicButtonActivity

Gambar 19 menunjukan tampilan Widget Panic Button saat keadaan non aktif dan aktif. Saat widget tersebut aktif maka aplikasi ParentApp akan membuka PanicButtonActivity dan memutar efek suara peringatan yang keras untuk mendapatkan perhatian aktor Parent. Activity ini juga akan melakukan update lokasi anak dengan hampir mendekati waktu nyata. Dalam Perancangan sistem ini, ChildApp berfungsi sebagai server yang melakukan request HTTP POST ke server GCM untuk mengirimkan lokasi secara berkala. Kode pengiriman data lokasi dapat dilihat pada Kode Program 1 Kode Program 1 Pengiriman Lokasi Device ChildApp ke Server GCM

Baris 1 berisi deklarasi method, Baris 2-4 merupakan proses pengaksesan Shared Preference untuk mendapatkan parent gcm registration id dan nama. Baris 5-7 merupakan deklarasi library untuk pengiriman request HTTP POST dengan penambahan header authorization sebagai syarat gcm untuk menerima request dengan menggunakan Browser Key yang didapatkan melalui aktivasi GCM API dan content type yang mengindikasikan bahwa data request post yang dikirim berupa json. Baris 9-26 merupakan proses penyusunan data json yang akan di sisipkan ke dalam pengiriman data. Baris 27-29 merupakan proses memasukan

Page 22: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

16

konfigurasi request post seperti restApiUrl yang merupakan alamat request gcm, entity yang berisi message yang dikirim dan method callback untuk pengecekan hasil request. Pengujian aplikasi dilakukan dengan menguji fungsi-fungsi dari aplikasi yang telah dibuat untuk mencari kesalahan/bug pada sistem agar sistem berjalan sesuai dengan yang diharapkan dan dapat memenuhi kebutuhan pengguna. Pengujian sistem pemantau anak ini menggunakan dua teknik pengujian yaitu pengujian alpha dan pengujian beta. Pengujian alpha adalah pengujian aplikasi yang dilakukan oleh pembuat aplikasi dan orang-orang yang ikut membantu dalam pembuatan. Metode ujicoba blackbox memfokuskan pada keperluan fungsional dari software. Karna itu ujicoba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program.

Tabel 3 Hasil Pengujian Blackbox Fungsi Skenario Input Hasil Validitas Device Pairing

Scan Registeration id qr code Scan qr code menggunakan kamera

Registeration id berhasil di dapat

Device Pairing

Pesan gcm untuk registerasi untuk mendapatkan confirmation code yang kemudian akan di scan

Menekan tombol registerasi

Pesan diterima dan confirmation code berhasil di tampilkan dan di scan

Device Pairing

Menyimpan data child di database Pesan gcm tipe konfirmasi dengan nama child

Pesan diterima dan child berhasil di tambahkan ke database

Device Pairing

Menyimpan informasi registerasi ClientApp di SharedPreference

Menekan tombol simpan

Informasi berhasil di simpan di sharedpreferences

Periodic Location Update

Mengirim lokasi , tanggal, dan waktu ke device parent sesuai interval yang di setting

Dipicu oleh AlarmManager

Lokasi berhasil dikirim dan diterima oleh ParentApp sesuai interval

Periodic Location Update

Menyimpan update lokasi ke database lokal

Dipicu oleh GCMReceiver

Lokasi berhasil di simpan ke database

Periodic Location Update

Memunculkan notifikasi biasa dan warning ketika lokasi diluar zona aman

Dipicu oleh GCM Receiver

Notifikasi berhasil ditampilkan

Periodic Location Update

Melihat lokasi berdasarkan tanggal Membuka notifikasi atau memilih child di main activity

Lokasi berhasil ditampilkan sesuai tanggal

Panic Button

Membuka Panic Button Activity dan memutar Suara peringatan di ParentApp

Menyalakan panic button di ClientApp

Activity berhasil berjalan dan suara peringatan berhasil di putar

Panic Button

Mengirimkan lokasi update dan menambahkan ke Map di Panic Button Activity

Location Listener interval 500 ms, jarak minimal 0

Map fragment Activity berhasil di update

Panic Button

Konfirmasi menutup PanicButtonActiviy dan mematikan suara peringatan

Mematikan panic button di ClientApp

Suara peringatan berhasil dihentikan dan memunculkan dialog konfirmasi penutupan

Dari hasil pengujian blackbox tersebut didapati bahwa setiap fungsi valid, sehingga dapat disimpulkan bahwa sistem berjalan dengan baik dan sesuai yang diharapkan. Pengujian beta adalah pengujian yang dilakukan oleh orang yang tidak ikut dalam pembuatan aplikasi, Pengujian beta dilakukan dengan pengisian survey terhadap 30 sample user yaitu 30 orang tua yang berkerja dan sudah

Page 23: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

17

memiliki anak. Survey dirancang dengan skala pembobotan likert. Daftar pernyataan pada survey dapat dilihat pada Tabel 4.

Tabel 4 Daftar Pernyataan Survey

No Pernyataan 1 Proses pairing aplikasi mudah.

2 Fitur history lokasi anak mudah digunakan.

3 Fitur Safe Zone mudah digunakan.

4 Fitur Widget Panic Button mudah digunakan

5 Fitur history lokasi anak membantu dalam memantau lokasi anak

6 Fitur Safe Zone membantu dalam memantau lokasi anak

7 Fitur Widget Panic Button berguna saat anak merasa terancam.

Pernyataan tersebut memiliki 5 opsi jawaban yaitu Sangat Setuju, Setuju,

Netral, Tidak Setuju,dan Sangat Tidak Setuju. Hasil dari survey tersebut dapat dilihat di Tabel 5.

Tabel 5 Hasil Survey

Jawaban P.1 P.2 P.3 P.4 P.5 P.6 P.7

Sangat Setuju 22 26 24 24 26 25 24

Setuju 8 4 6 6 4 5 6

Netral 0 0 0 0 0 0 0

Tidak Setuju 0 0 0 0 0 0 0

Sangat Tidak Setuju 0 0 0 0 0 0 0

Total 30 30 30 30 30 30 30

Dari hasil survey yang didapat dilakukan penghitungan menggunakan penskoran skala likert dengan semakin positif opsi jawaban yang dipilih maka semakin tinggi skornya sehingga, opsi jawaban Sangat Setuju bernilai 5, Setuju bernilai 4, Netral bernilai 3, Tidak Setuju bernilai 2, dan Sangat Tidak Setuju bernilai 1. Hasil dari perhitungan survey dapat dilihat di Tabel 6.

Tabel 6 Hasil Perhitungan Survey

Poin Pertanyaan P.1 P.2 P.3 P.4 P.5 P.6 P.7

Jumlah 142 146 144 144 146 145 144

Nilai Max 150 150 150 150 150 150 150

Skor Hasil 94.67% 97.33% 96.00% 96.00% 97.33% 96.67% 96.00%

Pada Tabel 6 jumlah dihitung dengan mengkalikan nilai opsi jawaban dengan jumlah dari hasil survey. Setelah itu penghitungan skor dihitung dengan rumus Jumlah/Nilai Max x 100% sehingga didapat Skor Hasil tersebut. Dari hasil perhitungan Likert tersebut dapat disimpulkan bahwa semua poin pernyataan menyatakan bahwa aplikasi mudah digunakan dan dapat membantu dalam pemantauan anak.

Page 24: Diajukan kepada Fakultas Teknologi Informasi untuk ...repository.uksw.edu/bitstream/123456789/15224/2/T1_672011050_Full... · membahas tentang perancangan dan pengembangan sistem

18

5. Simpulan

Aplikasi yang dibangun dapat membantu orang tua dalam melakukan pemantauan lokasi anak, dan fitur widget panic button yang dapat membantu anak untuk memberitahukan lokasinya secara real-time orang tua pada saat dibutuhkan. Selain itu aplikasi juga dinilai mudah digunakan. Dengan aplikasi ini orang tua dapat melakukan pemantauan lokasi anak ditengah kesibukannya berkerja dan dapat membantu mengantisipasi penculikan anak. Saran untuk pengembangan aplikasi ini adalah dapat ditambahkannya kombinasi key untuk mengaktifkan panic button dan diperluasnya fitur seperti request lokasi real-time dari aplikasi ParentApp dan navigasi. 6. Daftar Pustaka

[1] Santrock. J. W., Adolescence Fifteenth Edition, 2013, Halaman 454. [2] Ellyzar, Zachra., 2012, Jangan Sibuk Kerja, Perhatikan Kepentingan

Anak!, http://swa.co.id/business-research/jangan-sibuk-kerja-perhatikan-kepentingan-anak diakses tanggal 10 Maret 2015.

[3] Zuraya, Nidia., 2015.,“Komnas PA: Kasus Penculikan Anak Meningkat”, http://www.republika.co.id/berita/nasional/umum/13/02/03/mhn2fm-komnas-pa-kasus-penculikan-anak-meningkat, di akses tanggal 7 April 2015

[4] Heriyanto, Trisno., 2014, Indonesia Masuk 5 Besar Negara Pengguna Smartphone,http://inet.detik.com/read/2014/02/03/171002/2485920/317/indonesia-masuk-5-besar-negara-pengguna-smartphone, diakses tanggal 10 Maret 2015.

[5] Hakim, Muhammad Amrin., 2011, ”Monitoring Lokasi Anak Menggunakan Handphone ber-GPS”, Surabaya : Jurusan Tehnik Informatika, Institut Teknologi Sepuluh November.

[6] Khairani, Latifa, 201, ”Rancang Bangun Aplikasi Pemantauan Posisi Anggota Keluarga Berbasis Android”, Palembang: Jurusan Tehnik Informatika, STMIK MDP

[7] Android Informer, April 2015, Family Location Tracking, http://positioning-our-kids.android.informer.com/, diakses pada tanggal 5 April 2015

[8] Developer.android.com, Location APIs, https://developer.android.com /google/play-services/location.html diakses tanggal 4 April 2015.

[9] Developer.android.com, GCM, https://developer.android.com/google/ gcm/index.html diakses tanggal 4 April 2015.

[10] JSON, JSON, http://www.json.org/, diakses tanggal 10 April 2015. [11] Prof. Dr. Sugiyono., Metode Penelitian Kuantitatif, Kualitatif, dan R&D,

2012, halaman 298 [12] Fowler, Martin., UML DISTILLED, 3th Ed., A Brief Guide to the

Standard Object Modeling Language, 2004.