Institutional Repository | Satya Wacana Christian University: Perancangan Aplikasi Pemantau Lokasi Anak dan Widget Panic Button dengan Fused Location Provider API dan Google Cloud Messaging pada Android Platform

  

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

  

Perancangan Aplikasi Pemantau Lokasi Anak dan Widget Panic

Button dengan Fused Location Provider API dan Google Cloud

1) 2)

Messaging pada Android Platform

  

Ricky Oktavianus Lazuardy, Hendro Steven Tampake

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

1) 2)

Jl. Diponegoro 52-60, Salatiga 50711, Indonesia

Email: [email protected], [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

2) Wacana, Salatiga. Staff Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana, Salatiga

Pendahuluan 1

  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.

Tinjauan Pustaka 2

  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 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 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.

Metode Penelitian 3

  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 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.

  

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.

  

Tabel 1 Daftar Pengguna Sistem

Keterangan Actor

  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 Parent

  4. Melihat data lokasi di Maps pada aplikasi ParentApp

  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 Parent

  9. Menerima peringatan dan lokasi Child saat Panic Button diaktifkan 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.

  

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

  

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 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].

  

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 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 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

Hasil pembahasan dan implementasi 4

  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.

  

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 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.

  

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 konfigurasi request post seperti restApiUrl yang merupakan alamat request gcm,

  

entity yang berisi message yang dikirim dan method callback untuk pengecekan

hasil request.

  Periodic Location Update Menyimpan update lokasi ke database lokal

Dipicu oleh

  Pengujian beta adalah pengujian yang dilakukan oleh orang yang tidak ikut dalam pembuatan aplikasi, Pengujian beta dilakukan dengan pengisian

  Dari hasil pengujian blackbox tersebut didapati bahwa setiap fungsi valid, sehingga dapat disimpulkan bahwa sistem berjalan dengan baik dan sesuai yang diharapkan.

  Panic Button Konfirmasi menutup PanicButtonActiviy dan mematikan suara peringatan

Mematikan panic

button di ClientApp Suara peringatan berhasil dihentikan dan memunculkan dialog konfirmasi penutupan √

  

Location Listener

interval 500 ms,

jarak minimal 0

Map fragment Activity berhasil di update √

  √ Panic Button Mengirimkan lokasi update dan menambahkan ke Map di Panic Button Activity

  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

  Melihat lokasi berdasarkan tanggal Membuka notifikasi atau memilih child

di main activity

Lokasi berhasil ditampilkan sesuai tanggal √

  √ Periodic Location Update

  

Dipicu oleh GCM

Receiver Notifikasi berhasil ditampilkan

  Periodic Location Update Memunculkan notifikasi biasa dan warning ketika lokasi diluar zona aman

  

GCMReceiver

Lokasi berhasil di simpan ke database √

  

Dipicu oleh

AlarmManager

Lokasi berhasil dikirim dan diterima oleh ParentApp sesuai interval √

  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.

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

  

Menekan tombol

simpan Informasi berhasil di simpan di sharedpreferences √

  Device Pairing Menyimpan informasi registerasi ClientApp di SharedPreference

  Pesan diterima dan child berhasil di tambahkan ke database √

  √ Device Pairing Menyimpan data child di database Pesan gcm tipe konfirmasi dengan nama child

  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

  Scan Registeration id qr code Scan qr code

menggunakan

kamera Registeration id berhasil di dapat

  

Tabel 3 Hasil Pengujian Blackbox

Fungsi Skenario Input Hasil Validitas

Device Pairing

  ujicoba blackbox memungkinkan pengembang software untuk membuat himpunan kondisi input yang akan melatih seluruh syarat-syarat fungsional suatu program.

  

blackbox memfokuskan pada keperluan fungsional dari software. Karna itu

  Pengujian alpha adalah pengujian aplikasi yang dilakukan oleh pembuat aplikasi dan orang-orang yang ikut membantu dalam pembuatan. Metode ujicoba

Dokumen yang terkait

BAB II KAJIAN PUSTAKA 2.1 Kajian Teori 2.1.1 Hakekat Pendidikan Kewarganegaraan (PKn) - Institutional Repository | Satya Wacana Christian University: Upaya Peningkatan Hasil Belajar PKN Melalui Pendekatan Problem Based Learning (PBL) Siswa Kelas 4 SDN Jim

0 0 22

BAB III METODE PENELITIAN 3.1 Setting Dan Karakteristik Subjek Penelitian - Institutional Repository | Satya Wacana Christian University: Upaya Peningkatan Hasil Belajar PKN Melalui Pendekatan Problem Based Learning (PBL) Siswa Kelas 4 SDN Jimbaran 01 Kay

0 0 22

BAB IV HASIL PENELITIAN DAN PEMBAHASAN 4.1 Hasil Penelitian 4.1.1 Hasil Penelitian Pra Siklus - Institutional Repository | Satya Wacana Christian University: Upaya Peningkatan Hasil Belajar PKN Melalui Pendekatan Problem Based Learning (PBL) Siswa Kelas 4

0 0 36

Institutional Repository | Satya Wacana Christian University: Upaya Peningkatan Hasil Belajar PKN Melalui Pendekatan Problem Based Learning (PBL) Siswa Kelas 4 SDN Jimbaran 01 Kayen Pati Semester 1 Tahun Pelajaran 2016 / 2017

0 0 106

BAB II - Institutional Repository | Satya Wacana Christian University: Upaya Peningkatan Hasil Belajar IPA Melalui Penerapan Strategi True or False Berbantuan Kartu pada Siswa Kelas 4 SDN Payang 01 Pati Semester 1 Tahun 2016

0 0 16

Institutional Repository | Satya Wacana Christian University: Upaya Peningkatan Hasil Belajar IPA Melalui Penerapan Strategi True or False Berbantuan Kartu pada Siswa Kelas 4 SDN Payang 01 Pati Semester 1 Tahun 2016

0 0 25

BAB IV HASIL PENELITIAN DAN PEMBAHASAN - Institutional Repository | Satya Wacana Christian University: Upaya Peningkatan Hasil Belajar IPA Melalui Penerapan Strategi True or False Berbantuan Kartu pada Siswa Kelas 4 SDN Payang 01 Pati Semester 1 Tahun 201

0 0 31

Institutional Repository | Satya Wacana Christian University: Upaya Peningkatan Hasil Belajar IPA Melalui Penerapan Strategi True or False Berbantuan Kartu pada Siswa Kelas 4 SDN Payang 01 Pati Semester 1 Tahun 2016

0 0 127

Institutional Repository | Satya Wacana Christian University: Perancangan Sistem Monitoring Perkembangan Jemaat Berbasis Web di Gereja Toraja

0 0 22

Institutional Repository | Satya Wacana Christian University: Perancangan Aplikasi Pengumuman Mobile Berbasis Android Menggunakan Google Cloud Messaging (Studi Kasus : FTI-UKSW)

0 0 22