TUGAS AKHIR - KI091391
SISTEM PEMANTAU PEMAKAIAN PERANGKAT
BERGERAK ANAK
BASKARA NUR PATRIA NRP 5111 100 097
Dosen Pembimbing I
Dr.Tech. Ir. R.V. Hari Ginardi, M.Sc.
Dosen Pembimbing II Ir. F.X. Arunanto, M.Sc.
JURUSAN TEKNIK INFORMATIKA Fakultas Teknologi Informasi
TUGAS AKHIR - KI091391
SISTEM PEMANTAU PEMAKAIAN PERANGKAT
BERGERAK ANAK
BASKARA NUR PATRIA NRP 5111 100 097
Dosen Pembimbing I
Dr.Tech. Ir. R.V. Hari Ginardi, M.Sc.
Dosen Pembimbing II Ir. F.X. Arunanto, M.Sc.
JURUSAN TEKNIK INFORMATIKA Fakultas Teknologi Informasi
FINAL PROJECT - KI091391
KIDS MOBILE DEVICE USAGE MONITORING
SYSTEM
BASKARA NUR PATRIA NRP 5111 100 097
Advisor
Dr.Tech. Ir. R.V. Hari Ginardi, M.Sc. Ir. F.X. Arunanto, M.Sc.
i
Sistem Pemantau Pemakaian Perangkat Bergerak Anak.
Nama Mahasiswa : Baskara Nur Patria NRP : 5111 100 097
Jurusan : Teknik Informatika FTIf-ITS Dosen Pembimbing I : Dr.Tech. Ir. R.V. Hari Ginardi, M.Sc. Dosen Pembimbing II : Ir. F.X. Arunanto, M.Sc.
ABSTRAK
Dewasa ini semakin banyak orang tua yang memberikan perangkat bergerak berupa ponsel cerdas atau tablet kepada anaknya. Ini dilakukan untuk kemudahan komunikasi antara keduanya, maupun sebagai digital babysitter supaya anak lebih tenang. Namun, perlu disadari juga bahwa hal ini dapat membuat anak mengalami ketergantungan terhadap layanan yang diberikan perangkat bergerak tersebut. Layanan-layanan tersebut antara lain video game, pesan singkat, sampai browser. Sebagai orang tua yang memiliki kesibukan dan tidak mungkin mengawasi aktivitas anak dengan perangkat bergeraknya, diperlukan sebuah sistem pemantau perangkat bergerak yang mampu menginformasikan hal ini kepada para orang tua secara rutin.
Sistem pemantau aktivitas perangkat bergerak yang dibuat pada tugas akhir ini terdiri dari sebuah aplikasi perangkat bergerak dan sebuah aplikasi yang berjalan pada server. Aplikasi pada perangkat bergerak ini memanfaatkan layanan service dan broadcast yang disediakan oleh sistem operasi android. Service ini akan berjalan selama perangkat aktif dan berfungsi untuk mencatat seluruh aktivitas perangkat bergerak dan menampilkan hasil record yang telah disimpan. Sementara layanan broadcast digunakan untuk beberapa hal seperti menangkap telepon masuk maupun keluar dan pesan singkat yang masuk ke perangkat. Selain itu, aplikasi ini juga akan mencatat lokasi-lokasi perangkat tersebut berada sehingga orang tua tahu dimana anak beserta perangkatnya berada selama sehari penuh.
ii
sehari-hari sehingga lebih bijak dalam menyikapi pemberian perangkat bergerak pada anaknya.
iii
Sistem Pemantau Orang Tua Terhadap Pemakaian Perangkat Bergerak Anak. addicted to services or applications that provided by a gadget such as video game, short message service, and browser. As parents who are busy and do not really have time for monitoring children’s activities with their gadget, we need a mobile device usage monitoring system that is able to inform their activities to parents regularly.
Mobile device usage monitoring system that developed in this final project consists of a mobile application and a web service application. The mobile application uses system service and broadcast that provided by android. This service will run every time and . Service ini akan berjalan selama perangkat aktif dan serves to recod all device’s activities and show the records that have been stored. The broadcast service is used for listening some activities such as incoming call, outgoing call, and incoming sms. This application is also able to record the device’s location. So, parents will know their children position all day long.
The mobile application will send records to second application that runs in a server. Later, the second application will forward those records to registered parent’s email address. Hopefully, parents can evaluate their children’s activites easier with their gadget using records that provided by this system.
v
KATA PENGANTAR
Puji syukur kepada Allah Yang Maha Esa atas segala karunia dan rahmat-Nya penulis dapat menyelesaikan tugas akhir yang berjudul:
Sistem Pemantau Pemakaian Perangkat Bergerak Anak
Melalui lembar ini, penulis ingin menyampaikan ucapan terima kasih dan penghormatan yang sebesar-besarnya kepada:
1. Allah SWT atas segala nikmat dan rahmat yang telah diberikan selama ini.
2. Ibu penulis yang selalu mencurahkan kasih sayang, dukungan, doa dan selalu menjadi motivasi bagi penulis untuk selalu berusaha sebaik-baiknya.
3. Saudara kandung, saudara ipar, dan keponakan penulis yang selalu menjadi motivasi kepada penulis dalam menuntut ilmu dan menyelesaikan buku ini.
4. Bapak Dr.tech. Ir. R. V. Hari Ginardi, M.Sc. dan Bapak Ir. F.X. Arunanto, M.Sc. selaku dosen pembimbing yang telah memberikan arahan, ilmu, motivasi, dan meluangkan waktu untuk membantu pengerjaan tugas akhir ini.
5. Ibu Umi Laili Yuhana selaku dosen wali penulis yang telah meluangkan waktu untuk konsultasi mengenai masalah-masalah akademik.
6. Bapak dan Ibu dosen yang telah membina dan memberikan ilmu kepada penulis selama menempuh studi di Teknik Informatika ITS.
vi
8. Teman-teman yang telah memberikan referensi buku tugas akhir kepada penulis: Ghani, Monika, Helmy, dan Fahmi.
9. Teman-teman yang pernah satu kelompok pada tugas kuliah di setiap semester.
10. Keluarga besar angkatan TC 2011 yang menemani keseharian penulis dalam kehidupan kampus.
11. Pihak-pihak lain yang namanya tidak dapat penulis sebutkan satu -persatu.
Bagaimanapun juga penulis telah berusaha semaksimal mungkin dalam menyusun tugas akhir ini, namun penulis mohon maaf apabila terdapat kekurangan, kesalahan maupun kelalaian yang telah penulis lakukan. Kritik dan saran yang membangun dapat disampaikan sebagai bahan perbaikan selanjutnya.
Surabaya, Juni 2015
vii
DAFTAR ISI
ABSTRAK ... i
ABSTRACT ... iii
KATA PENGANTAR ... v
DAFTAR ISI ... vii
DAFTAR GAMBAR ... xi
DAFTAR TABEL ... xv
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Permasalahan ... 2
1.3 Batasan Permasalahan ... 3
1.4 Tujuan dan Manfaat ... 3
1.5 Metodologi ... 4
1.6 Sistematika ... 5
BAB II TINJAUAN PUSTAKA ... 7
2.1 Sistem Pemantau Pemakaian Gadget ... 7
2.2 Android SDK ... 8
2.3 MPAndroidChart ... 9
2.4 Reverse Geocoding ... 9
2.5 Basis Data SQLite ... 9
2.6 JavaScript Object Notation ... 10
2.7 Content Provider ... 10
viii
3.1. Analisis ... 13
3.1.1.Analisis Permasalahan ... 13
3.1.2.Deskripsi Umum Perangkat Lunak ... 14
3.1.3.Kebutuhan Fungsional Aplikasi Android ... 15
3.1.4.Kebutuhan Fungsional Aplikasi Webservice ... 23
3.2. Perancangan ... 25
3.2.1.Perancangan Umum Arsitektur Sistem ... 25
3.2.2.Perancangan Basis Data ... 26
3.2.3.Perancangan Algoritma ... 33
3.2.4.Perancangan Antarmuka Sistem ... 36
BAB IV IMPLEMENTASI ... 49
4.1. Lingkungan Implementasi ... 49
4.2. Implementasi Antarmuka ... 49
4.3. Implementasi Proses Pada Aplikasi Perangkat Bergerak59 4.3.1.Mencatat Aplikasi yang Dibuka ... 59
4.3.2.Mencatat Lokasi Pengguna ... 62
4.3.3.Mencatat Panggilan Telepon ... 63
4.3.4.Mencatat Pesan Singkat Masuk ... 65
4.3.5.Mencatat Pesan Singkat Keluar ... 65
4.3.6.Mencatat Alamat Situs yang Dikunjungi ... 67
4.3.7.Menampilkan Record ... 68
ix
4.3.9.Mengirim Record ... 69
4.3.9.1. Memeriksa Jaringan ... 69
4.3.9.2. Membuat Struktur JSON ... 70
4.3.9.3. Mengirimkan JSON ... 71
4.3.10. Mengubah Akun ... 72
4.3.11. Mendaftarkan dan Login Akun ... 72
4.3.12. Menghitung Statistik ... 73
4.3.12.1. Aplikasi ... 73
4.3.12.2. Panggilan Masuk dan Keluar... 74
4.3.12.3. Pesan Singkat Masuk dan Keluar ... 74
4.3.12.4. Durasi ... 74
4.3.13. Menampilkan Statistik ... 75
4.3.14. Menambahkan Favorit ... 76
4.3.15. Menghapus Favorit ... 77
4.4. Implementasi Proses Pada Aplikasi Webservice ... 77
4.5. Implementasi Tampilan Report ... 79
BAB V PENGUJIAN DAN EVALUASI ... 81
5.1. Lingkungan Pelaksanaan Pengujian ... 81
5.2. Pengujian Fungsionalitas ... 81
5.2.1.Pengujian Melakukan Pendaftaran dan Login Akun . 82 5.2.2.Pengujian Pencatatan Aplikasi ... 85
5.2.3.Pengujian Pencatatan Pesan Singkat Masuk ... 86
5.2.4.Pengujian Pencatatan Pesan Singkat Keluar ... 88
x
5.2.8.Pengujian Pencatatan Lokasi ... 95
5.2.9.Pengujian Menampilkan Statistik ... 97
5.2.10. Pengujian Ubah Akun ... 104
5.2.11. Pengujian Atur Jadwal dan Pengiriman Record109 5.2.12. Pengujian Penambahan Aplikasi Favorit ... 113
5.2.13. Pengujian Penambahan Domain Favorit ... 114
5.2.14. Pengujian Penghapusan Aplikasi Favorit ... 116
5.2.15. Pengujian Penghapusan Domain Favorit ... 117
5.3. Pengujian Non Fungsionalitas ... 119
5.3.1.Pembersihan Memori Melalui Task Manager ... 119
5.3.2.Pembersihan Memori Melalui Aplikasi Luar ... 124
5.3.3.Penghentian Servis Melalui Application Manager .. 127
5.3.4.Konsumsi Memori ... 129
5.4. Evaluasi Pengujian... 133
5.4.1.Evaluasi Pengujian Fungsionalitas ... 133
5.4.2.Evaluasi Pengujian Non Fungsionalitas ... 136
BAB VI PENUTUP ... 139
5.1. Kesimpulan ... 139
5.2. Saran ... 140
DAFTAR PUSTAKA ... 141
xv
DAFTAR TABEL
Tabel 3. 1 Daftar Kasus Penggunaan Aplikasi Perangkat Bergerak
... 19
Tabel 3. 2 Daftar Kasus Penggunaan Aplikasi Webservice ... 24
Tabel 3. 3 Rincian Tabel Pengguna ... 26
Tabel 3. 4 Rincian Tabel SMS Masuk ... 27
Tabel 3. 5 Rincian Tabel SMS Keluar ... 27
Tabel 3. 6 Rincian Tabel Telepon Masuk ... 28
Tabel 3. 7 Rincian Tabel Telepon Keluar ... 29
Tabel 3. 8 Rincian Tabel Aplikasi ... 29
Tabel 3. 9 Rincian Tabel Lokasi ... 30
Tabel 3. 10 Rincian Tabel Situs ... 30
Tabel 3. 11 Rincian Tabel Aplikasi Favorit ... 31
Tabel 3. 12 Rincian Tabel Situs Favorit ... 31
Tabel 3. 13 Rincian Tabel Alarm ... 32
Tabel 3. 14 Rincian Tabel SMS Sementara... 32
Tabel 3. 15 Keterangan Halaman Antarmuka Daftar ... 36
Tabel 3. 16 Keterangan Halaman Antarmuka Login ... 38
Tabel 3. 17 Keterangan Halaman Antarmuka Overview ... 39
Tabel 3. 18 Keterangan Halaman Antarmuka Edit Akun ... 41
Tabel 3. 19 Keterangan Halaman Antarmuka Statistik ... 43
Tabel 3. 20 Keterangan Halaman Antarmuka Atur Jadwal ... 44
Tabel 3. 21 Keterangan Halaman Antarmuka Menambahkan Favorit ... 46
Tabel 3. 22 Keterangan Halaman Antarmuka Menghapus Favorit ... 47
Tabel 5. 1 Spesifikasi Perangkat Bergerak ... 81
Tabel 5. 2 Rincian Pengujian Melakukan Pendaftaran ... 82
Tabel 5. 3 Rincian Pengujian Melakukan Login ... 84
xvi
Tabel 5. 6 Rincian Pengujian Melakukan Pencatatan SMS Keluar
... 88
Tabel 5. 7 Rincian Pengujian Pencatatan Panggilan Masuk dan Diangkat ... 90
Tabel 5. 8 Rincian Pengujian Pencatatan Missed Call ... 91
Tabel 5. 9 Rincian Pengujian Pencatatan Panggilan Keluar ... 92
Tabel 5. 10 Rincian Pengujian Pencatatan Alamat Situs ... 94
Tabel 5. 11 Rincian Pengujian Melakukan Pencatatan Lokasi .... 96
Tabel 5. 12 Rincian Pengujian Menampilkan Statistik Aplikasi . 97 Tabel 5. 13 Rincian Pengujian Menampilkan Statistik Panggilan Masuk ... 98
Tabel 5. 14 Rincian Pengujian Menampilkan Statistik Panggilan Keluar ... 100
Tabel 5. 15 Rincian Pengujian Menampilkan Statistik SMS Masuk ... 101
Tabel 5. 16 Rincian Pengujian Menampilkan Statistik SMS Keluar ... 103
Tabel 5. 17 Rincian Pengujian Mengubah Alamat Email ... 104
Tabel 5. 18 Rincian Pengujian Mengubah Password ... 106
Tabel 5. 19 Rincian Pengujian Mengubah Alamat Email dan
Tabel 5. 23 Rincian Pengujian Menambahkan Aplikasi Favorit ... 113
xvii
Tabel 5. 26 Rincian Pengujian Menghapus Domain Favorit .... 118 Tabel 5. 27 Rincian Pengujian Pembersihan Memori Melalui Task Manager ... 120 Tabel 5. 28 Rincian Pengujian Pembersihan Memori Melalui Aplikasi Luar ... 124 Tabel 5. 29 Rincian Pengujian Penghentian Servis ... 127
xi
DAFTAR GAMBAR
Gambar 3. 1 Diagram Modul Aplikasi Perangkat Bergerak ... 17
Gambar 3. 2 Diagram Kasus Penggunaan Aplikasi Perangkat Bergerak ... 18
Gambar 3. 3 Diagram Kasus Penggunaan Aplikasi Webservice . 24 Gambar 3. 4 Arsitektur Umum Sistem ... 26
Gambar 3. 5 Alur Kerja Aplikasi Perangkat Bergerak ... 33
Gambar 3. 6 Alur Kerja Servis Utama ... 34
Gambar 3. 7 Alur Kerja Proses Pengiriman Data ... 35
Gambar 3. 8 Rancangan Antarmuka Halaman Daftar ... 36
Gambar 3. 9 Rancangan Antarmuka Halaman Login ... 38
Gambar 3. 10 Rancangan Antarmuka Halaman Overview ... 39
Gambar 3. 11 Rancangan Antarmuka Halaman Edit Akun ... 41
Gambar 3. 12 Rancangan Antarmuka Halaman Statistik ... 42
Gambar 3. 13 Rancangan Antarmuka Halaman Atur Jadwal ... 44
Gambar 3. 14 Rancangan Antarmuka Halaman Menambahkan Favorit ... 45
Gambar 3. 15 Rancangan Antarmuka Halaman Menghapus Favorit ... 47
Gambar 4. 1 Antarmuka Halaman Daftar... 50
Gambar 4. 2 Antarmuka Halaman Login ... 51
Gambar 4. 3 Antarmuka Halaman Overview ... 52
Gambar 4. 4 Antarmuka Halaman Overview – Aplikasi ... 52
Gambar 4. 5 Antarmuka Halaman Overview - Lokasi ... 53
Gambar 4. 6 Antarmuka Halaman Overview - Telepon Masuk . 53 Gambar 4. 7 Antarmuka Halaman Overview - Telepon Keluar .. 54
Gambar 4. 8 Antarmuka Halaman Overview - Pesan Masuk... 54
Gambar 4. 9 Antarmuka Halaman Overview - Pesan Keluar... 55
Gambar 4. 10 Antarmuka Halaman Overview - Browser ... 55
xii
Gambar 4. 14 Antarmuka Halaman Menambah Favorit ... 58
Gambar 4. 15 Antarmuka Halaman Menghapus Favorit ... 58
Gambar 4. 16 Implementasi Report ... 80
Gambar 5. 1 Hasil Pengujian PA-01 ... 83
Gambar 5. 2 Hasil Pengujian PA-02 ... 84
Gambar 5. 3 Hasil Pengujian PA-03 ... 86
Gambar 5. 4 Hasil Pengujian PA-04 ... 88
Gambar 5. 5 Hasil Pengujian PA-05 ... 89
Gambar 5. 6 Hasil Pengujian PA-06 ... 91
Gambar 5. 7 Hasil Pengujian PA-07 ... 92
Gambar 5. 8 Hasil Pengujian PA-08 ... 94
Gambar 5. 9 Hasil Pengujian PA-09 ... 95
Gambar 5. 10 Hasil Pengujian PA-10 ... 97
Gambar 5. 11 Hasil Pengujian PA-11 ... 98
Gambar 5. 12 Hasil Pengujian PA-12 ... 100
Gambar 5. 13 Hasil Pengujian PA-13 ... 101
Gambar 5. 14 Hasil Pengujian PA-14 ... 102
Gambar 5. 15 Hasil Pengujian PA-15 ... 104
Gambar 5. 16 Hasil Pengujian PA-16 ... 106
Gambar 5. 17 Hasil Pengujian PA-17 ... 107
Gambar 5. 18 Hasil Pengujian PA-18 ... 109
Gambar 5. 19 Hasil Pengujian PA-19 ... 111
Gambar 5. 20 Hasil Pengujian PA-22 ... 114
Gambar 5. 21 Hasil Pengujian PA-23 ... 116
Gambar 5. 22 Hasil Pengujian PA-24 ... 117
Gambar 5. 23 Hasil Pengujian PA-25 ... 119
Gambar 5. 24 Proses Pembersihan Memori Dari Task Manager ... 121
xiii
Gambar 5. 26 Tampilan Notifikasi Foreground Service Berjalan
... 123
Gambar 5. 27 Tampilan Menu Application Manager ... 124
Gambar 5. 28 Tampilan Clear Master ... 125
Gambar 5. 29 Notifikasi Foreground Service... 126
Gambar 5. 30 Tampilan Application Manager ... 127
Gambar 5. 31 Tampilan Saat Akan Dihentikan ... 128
Gambar 5. 32 Tampilan Setelah Dihentikan ... 129
Gambar 5. 33 Konsumsi Memori < 1 Jam ... 130
Gambar 5. 34 Konsumsi Memori 2 Jam ... 131
Gambar 5. 35 Konsumsi Memori 7 Jam ... 132
BIODATA PENULIS
Penulis lahir di Kediri, 17 Agustus 1993. Sebelum menempuh jenjang pendidikan sarjana di Teknik Informatika Institut Teknologi Sepuluh Nopember Surabaya, penulis menempuh pendidikan di SD Pawyatan Daha 2, SMP Negeri 1 Kediri, dan SMA Negeri 1 Kediri. Dalam menyelesaikan pendidikan S1, penulis mengambil bidang minat algoritma pemrograman. Selama kuliah penulis aktif dalam beberapa kegiatan organisasi.
Pada bidang nonakademik, penulis magang sebagai staff di departemen minat dan bakat Himpunan Mahasiswa Teknik Computer Informatika ITS (HMTC) pada periode kepengurusan 2011-2012. Selama 2 tahun berikutnya penulis aktif sebagai staf dan staf ahli departemen pengembangan sumber daya mahasiswa di HMTC. Penulis juga sempat menjabat wakil koordinator REEVA Schematics 2013. Penulis memiliki ketertarikan pada pembuatan aplikasi perangkat bergerak khususnya berbasis android dan ios, dan sistem enterprise. Pada bidang non-teknis penulis memiliki ketertarikan pada bisnis start-up, sepak bola, dan travelling. Penulis dapat dihubungi melalui alamat email
1
BAB I
PENDAHULUAN
1.1
Latar Belakang
Saat ini semakin banyak orang tua yang memberikan perangkat bergerak berupa smartphone maupun tablet kepada anaknya pada usia dini. Hal ini pada awalnya dilakukan untuk kemudahan komunikasi ketika orang tua sedang tidak bersama anaknya. Seiring berjalannya waktu, situs theAsianparent Indonesia menuliskan bahwa penggunaan perangkat bergerak pada anak yang berlebihan memiliki dampak negatif sehingga perlu dibatasi. Diantaranya gangguan tidur, terlambat bicara bagi balita, sikap pasif, gangguan bagi perkembangan mata, sulit konsentrasi, dan kecanduan1. Oleh karena itu, orang tua harus tetap memberikan pengawasan terhadap penggunaan perangkat bergerak milik anaknya sehingga mereka tahu frekuensi kegiatan yang digunakan anak terhadap perangkat bergeraknya.
Perkembangan seorang anak bergantung sikap orang tua sejak dini, salah satunya adalah dalam memberikan, membimbing, dan mengawasi anak dalam penggunaan media informasi dan teknologi secara terarah dan terpadu. Untuk menentukan sikap orang tua terhadap anaknya secara tepat, diperlukan sebuah report pemakaian perangkat bergerak oleh anak secara berkala dan teratur. Dengan report ini, orang tua dapat lebih memahami kegiatan anak ketika mengoperasikan perangkat bergerak miliknya sehingga orang tua diharapkan tidak salah dalam mengambil keputusan terhadap perilaku anaknya. Oleh sebab itu, diperlukan aplikasi yang berjalan sebagai
background service pada sebuah perangkat bergerak yang dapat mencatat seluruh aktivitas pengguna dengan perangkat tersebut. Aplikasi ini harus selalu berjalan menggunakan sumber daya yang
1
dimiliki perangkat dengan efektif sehingga tidak mengganggu kinerja perangkat ketika digunakan untuk aktivitas lain.
Dalam tugas akhir ini, dibuat aplikasi yang memberikan data serta statistik pemakaian perangkat bergerak untuk mengevaluasi pemakaian perangkat oleh anak. Data-data yang akan diproduksi adalah catatan waktu pemakaian telepon (baik panggilan masuk maupun keluar) beserta nomor yang dituju, pesan singkat masuk dan keluar beserta nomor yang dituju, aplikasi yang dibuka beserta waktu dan lokasinya, dan situs-situs yang dikunjungi oleh
browser perangkat tersebut. Sementara statistik yang akan dihasilkan dari data yang ada adalah nomor telepon yang paling sering dihubungi dan menghubungi anak melalui panggilan maupun pesan singkat serta aplikasi-aplikasi yang paling sering dibuka oleh anak sehingga orang tua dapat mengawasi apakah anaknya kecanduan terhadap suatu aplikasi. Seluruh record
beserta statistik pemakaian perangkat yang dihasilkan akan dikirimkan secara berkala dan terjadwal ke alamat email yang dimasukkan oleh orang tua. Diharapkan dengan adanya data yang dihasilkan oleh aplikasi ini, orang tua akan lebih mudah menentukan sikap terhadap perilaku anak dalam menggunakan perangkat bergerak.
1.2
Rumusan Permasalahan
Rumusan masalah yang diangkat dalam tugas akhir ini dipaparkan sebagai berikut.
1. Bagaimana cara kerja service, broadcast, dan
asynchronous task pada perangkat bergerak.
2. Bagaimana cara untuk membuat service selalu berjalan pada latar belakang sistem.
3. Bagaimana cara merancang dan membangun sistem yang mampu memantau aktivitas perangkat bergerak.
1.3
Batasan Permasalahan
Permasalahan yang dibahas dalam tugas akhir ini memiliki beberapa batasan, di antaranya sebagai berikut.
1. Aplikasi dibangun khusus untuk perangkat bergerak dengan sistem operasi Android dengan versi 4.x.x. 2. Aplikasi membutuhkan koneksi internet untuk
mengirimkan record.
3. Aplikasi memanfaatkan koneksi internet untuk memperoleh posisi lintang dan bujur.
4. API Google Geocoding yang dipakai merupakan versi tidak berbayar.
5. Data alamat situs yang dicatat merupakan alamat situs yang dikunjungi menggunakan browser native perangkat.
1.4
Tujuan dan Manfaat
Tujuan dari pembuatan tugas akhir ini adalah sebagai berikut.
1. Mengetahui cara kerja service, broadcast, dan
asynchronous task pada android.
2. Merancang cara untuk membuat service selalu berjalan di latar belakang sistem.
3. Merancang dan membangun sistem yang mampu memantau aktivitas perangkat bergerak.
4. Merancang dan membangun sistem yang mampu memproduksi statistik pemakaian perangkat bergerak. Sementara manfaat dari pembuatan tugas akhir ini antara lain sebagai berikut.
1. Memberikan data aktivitas perangkat bergerak secara teratur.
2. Membantu orang tua dalam mengevaluasi kegiatan anak selama menggunakan perangkat bergerak berdasarkan
record serta hasil statisik yang dikirim ke alamat email
1.5 Metodologi
Langkah yang ditempuh dalam pengerjaan tugas akhir ini adalah sebagai berikut.
1. Studi Literatur
Tahap ini merupakan tahap pengumpulan informasi dan pembelajaran yang akan digunakan pada tugas akhir ini. Studi literatur meliputi diskusi dan pemahaman mengenai topik tugas akhir ini, diantaranya mengenai:
a. Service, Broadcast, dan Asynchronous Task pada android.
b. Content Provider pada android.
c. Proses komunikasi data antara aplikasi perangkat perangkat bergerak yang berbasis android dengan
webservice yang dibangun menggunakan PHP.
d. Eksplorasi library untuk pembuatan diagram pada android.
2.
Perancangan Sistem
Tahap ini merupakan tahap perancangan sistem dengan menggunakan studi literatur dan mempelajari konsep aplikasi yang akan dibuat. Dengan berbekal teori, metode, dan informasi yang sudah terkumpul pada tahap sebelumnya diharapkan akan membantu dalam proses perancangan sistem.
3.
Implementasi
Tahap ini dilakukan pembuatan perangkat lunak berdasarkan rancangan yang telah dibuat pada proses sebelumnya. Rincian pada tahap ini sebagai berikut.
a. Implementasi rancangan basis data.
b. Implementasi webservice yang berfungsi untuk menangani komunikasi aplikasi perangkat bergerak dengan server.
c. Implementasi rancangan aplikasi perangkat bergerak.
4.
Pengujian dan Evaluasi
a. Uji coba pemakaian pada perangkat ketika terhubung dan tidak terhubung dengan internet.
b. Uji coba penggunaan aplikasi pada lokasi yang berbeda. c. Uji coba penggunaan aplikasi pada kondisi airplane
mode.
d. Melakukan pengecekan kebenaran data serta statistik yang dihasilkan oleh aplikasi dengan kejadian yang sebenarnya terjadi.
e. Pengecekan konsumsi aplikasi terhadap memori karena jika berlebihan akan sangat mempengaruhi performa perangkat.
5.
Penyusunan Buku Tugas Akhir
Pada tahap ini ditulis buku yang bertujuan untuk mendokumentasikan seluruh konsep, rancangan, dasar teori, literatur, proses yang dilakukan dan hasil yang diperoleh selama pengerjaan tugas akhir. Buku yang ditulis bertujuan untuk memberikan gambaran dari pengerjaan tugas akhir dan berguna untuk pembaca yang tertarik untuk melakukan pengembangan sistem lebih lanjut.
1.6
Sistematika
Buku tugas akhir ini disusun dengan sistematika yang terdiri dari beberapa bagian, yaitu:
Bab I Pendahuluan
Bab ini membahas latar belakang masalah, tujuan pembuatan tugas akhir, rumusan permasalahan, batasan permasalahan, metodologi yang digunakan, dan sistematika penyusunan tugas akhir.
Bab II Tinjauan Pustaka
Bab ini membahas teori pendukung dan literatur yang berkaitan dengan bahasan dan mendasari pembuatan Tugas Akhir ini.
Bab III Analisis dan Perancangan
Bab ini membahas tentang desain dan rancangan dari perangkat lunak.
Bab ini membahas tentang implementasi hasil analisis dan perancangan dalam bentuk pseudocode. Bab ini membahas proses pembangunan perangat lunak.
Bab V Pengujian dan Evaluasi
Bab ini membahas tentang pengujian aplikasi berdasarkan skenario yang telah ditentukan. Mengevaluasi fitur aplikasi apakah telah memenuhi kebutuhan fungsional.
Bab V Kesimpulan dan Saran
Bab ini berisi kesimpulan baik dari proses pengembangan perangkat lunak dan hasil uji coba.
Daftar Pustaka
7
BAB II
TINJAUAN PUSTAKA
Pada bab ini dibahas mengenai dasar teori dan literatur yang menjadi dasar pembuatan tugas akhir. Dasar teori yang dibahas di dalam bab ini adalah kajian mengenai sistem operasi android dan
library MPAndroidChart. Selain itu juga dibahas mengenai basis data SQLite dan struktur data JSON yang digunakan untuk pertukaran data serta beberapa hal lainnya.
2.1
Sistem Pemantau Pemakaian
Gadget
Aplikasi pemantau penggunaan perangkat bergerak merupakan aplikasi yang digunakan untuk membantu pengguna memantau pemakaian perangkat bergerak. Bagi orang tua, dengan aplikasi pemantau berarti mengetahui aktivitas anak tanpa memblokir hak aksesnya.
Saat ini ada beberapa aplikasi yang dapat digunakan untuk memantau maupun mengatur pemakaian perangkat bergerak. Situs tomsguide, telah merilis beberapa aplikasi pengatur dan pemantau perangkat bergerak anak oleh orang tua yang dianggap terbaik saat ini, antara lain: PhoneSheriff, Qustodio, Net Nanny, My Mobile Watchdog dan Mobile Spy (Hall, 2015). Aplikasi-aplikasi ini memiliki fitur-fitur yang berbeda satu sama lain. Sebagai aplikasi yang dianggap terbaik, PhoneSheriff mampu memantau aplikasi apa saja yang ada di perangkat, pesan singkat yang masuk dan keluar, situs internet yang dikunjungi, serta lokasi anak. Karena konsepnya merupakan aplikasi pengatur oleh orang tua, maka aplikasi ini memungkinkan orang tua untuk memblokir aplikasi lain di perangkat milik anak dan memblokir nomor telepon. Sementara aplikasi lain dari yang disebutkan di atas rata-rata memiliki beberapa fitur yang dimiliki oleh PhoneSheriff, namun tidak selengkap PhoneSheriff.
aplikasi-aplikasi tersebut mencatat aplikasi-aplikasi-aplikasi-aplikasi apa saja yang dibuka oleh anak ketika menggunakan perangkat bergerak miliknya.
2.2
Android SDK
Android SDK merupakan perangkat lunak yang digunakan oleh para pengembang untuk membangun aplikasi pada platform
android. Android SDK menyediakan API yang dibutuhkan oleh pengembang perangkat lunak untuk membuat aplikasi android.
Pada aplikasi yang menjadi tugas akhir ini, eksplorasi dilakukan pada penggunaan service dimana kelas yang mengekstensi kelas abstrak Service akan menjalankan proses secara terus menerus di balik layar2. Normalnya ketika memori pada perangkat tersisa sedikit, sistem operasi akan secara otomatis mematikan servis-servis tersebut. Oleh karena aplikasi pada tugas akhir ini membutuhkan suatu servis yang harus berjalan terus menerus, diperlukan suatu sistem atau cara yang mencegah servis tersebut dihentikan secara paksa oleh sistem operasi ketika memori perangkat tersisa sedikit.
Android memiliki sistem broadcast yang dapat digunakan oleh pengembang ingin suatu proses atau komputasi ketika perangkat dalam state tertentu3. Untuk mendapatkan suatu
broadcast dari sistem, pengembang harus mengimplementasikan fungsi khusus pada suatu kelas sehingga kelas tersebut akan menerima suatu trigger dari broadcast yang dikeluarkan oleh sistem. Perbedaan paling mendasar kelas ini dengan kelas-kelas yang mengekstensi kelas lainnya adalah cara pemanggilannya.
Android juga memiliki sistem yang membuat suatu kelas abstrak bernama AsyncTask dimana kelas yang mengekstensi kelas ini akan bersifat seperti servis, namun dirancang agar digunakan untuk mengeksekusi atau melakukan komputasi sebanyak satu kali.
2 http://developer.android.com/reference/android/app/Service.html 3
2.3
MPAndroidChart
MPAndroidChart4 merupakan library yang dikembangkan oleh Philipp Jahoda untuk membuat tampilan grafis berupa diagram pada perangkat android. Jenis diagram yang dapat dibuat menggunakan library ini antara lain diagram garis, batang, pencar, candlestick, pai atau lingkaran, dan jaring laba-laba atau radar. Library ini juga mendukung animasi pada diagram, kustomisasi warna dan ukuran sesuai keinginan pengembang aplikasi. Semua aplikasi yang berjalan pada android versi 2.2 ke atas dapat menggunakan fitur-fitur library ini.
2.4
Reverse Geocoding
Geocoding merupakan proses melakukan konversi sebuah alamat (misal 1600 Amphitheatre Parkway, Mountain View, CA) menjadi data koordinat geografis (misal lintang 37.423021 dan bujur -122.083739). Sementara reverse geocoding merupakan kebalikannya, dimana koordinat geografis diterima sebagai input dan dihitung alamat fisik terdekat dari koordinat tersebut (Stenneth, Wolfson, Yu, & Xu, 2011). Fitur reverse geocoding
pada tugas akhir ini menggunakan API milik Google dan diimplementasikan pada webservice sistem.
2.5
Basis Data SQLite
Basis data SQLite5 merupakan basis data yang berukuran kecil, berdiri sendiri, bukan berupa basis data client-server, tanpa konfigurasi khusus, namun memiliki fitur penuh perintah SQL. SQLite merupakan produk public domain, yang artinya setiap orang dapat menggunakannya secara bebas. Setiap android memakai basis data SQLite, dimana fitur ini terdapat pada
package android.database.sqlite. Perangkat berbasis android akan memakai SQLite versi 3.4.0.
4 https://github.com/PhilJay/MPAndroidChart 5
2.6
JavaScript Object Notation
JSON (JavaScript Object Notation)6 adalah format pertukaran data yang ringan. JSON mudah untuk dibaca dan ditulis oleh manusia dan memudahkan mesin untuk mengurai dan menciptakan. Format ini berdasar dari himpunan bagian bahasa pemrograman JavaScript standar ECMA-262 edisi ke-3, Desember 1999. JSON merupakan format teks yang benar – benar berbeda atau independen namun tetap menggunakan konvensi yang mudah dikenali bagi programmer yang sudah terbiasa dengan bahasa C, C++, C#, Java, JavaScript, Perl, Python dan bahasa lainnya. Sifat JSON yang seperti ini menjadikannya format pertukaran data yang ideal.
2.7
Content Provider
Content Provider7 pada android merupakan suatu layanan yang mengatur akses suatu aplikasi ke suatu set data data yang terstruktur. Mereka mengenkapsulasi data tersebut dan membuat suatu mekanisme untuk mengakses isinya agar keamanan data terjaga. Content Provider merupakan antarmuka standar yang dapat digunakan oleh pengembang suatu aplikasi untuk melakukan proses mengakses data yang terdapat pada proses lain di luar aplikasi tempat proses itu berjalan.
Ketika pengembang ingin mengakses data pada content provider, pengembang dapat menggunakan objek content resolver
pada aplikasinya untuk melakukan pengiriman data dengan
content provider. Nantinya, aplikasi akan dianggap sebagai client
dan content provider akan bertindak seperti server. Content provider ini nanti akan menerima permintaan dari client, lalu akan melakukan proses sesuai yang diminta, dan akan mengembalikan hasilnya kepada client. Tentunya untuk membaca isi dari content provider, pengembang perlu mencantumkan izin apa saja yang dibutuhkan oleh aplikasinya ke dalam file manifest milik android.
6 http://json.org/json-id.html
7
2.8
Location Based Services
Location Based Services atau layanan berbasis lokasi adalah sebuah layanan yang dapat diakses oleh perangkat bergerak melalui untuk mendapatkan posisi perangkat secara geografis (Singhal & Shukla, 2012). Layanan berbasis lokasi memanfaatkan lokasi geografis perangkat untuk menyediakan informasi-informasi yang dibutuhkan. Ada beberapa teknologi yang digunakan layanan ini untuk mendapatkan lokasi geografis sebuah perangkat bergerak, salah satunya Global Positioning System atau GPS.
GPS merupakan salah satu teknologi yang terkenal akurat untuk digunakan dalam proses pencarian informasi lokasi suatu perangkat. GPS memanfaatkan sinyal dari beberapa satelit untuk melakukan pendeteksian lokasi. Hal ini menyebabkan adanya kelemahan pada teknologi GPS dimana ketika suatu perangkat berada di dalam ruangan, teknologi ini tidak akan bekerja secara maksimal. Hal ini ditandai dengan lamanya suatu perangkat mendapatkan koordinat lintang dan bujurnya ketika perangkat tersebut menggunakan GPS di dalam ruangan.
Pada perangkat android yang memiliki fitur GPS, pengembang umumnya memiliki dua pilihan untuk mendapatkan lokasi perangkat. Yang pertama menggunakan GPS, kedua menggunakan jaringan internet. Seperti yang telah dijelaskan di awal, GPS menghasilkan koordinat lintang dan bujur yang lebih akurat daripada ketika menggunakan jaringan internet8. Namun melihat kelemahan GPS ketika digunakan dalam pendeteksian lokasi di dalam ruangan, pencarian lokasi menggunakan jaringan internet lebih sesuai dengan kebutuhan aplikasi tugas akhir ini.
2.9
Webservice
Webservice9 adalah mekanisme paling standar yang menghubungkan sebuah perangkat lunak dengan perangkat lunak
8 http://stackoverflow.com/questions/1513485/how-do-i-get-the-current-gps-location-programmatically-in-android
9
lain melalui jaringan internet. Webservice menggunakan XML untuk melakukan proses encoding data melalui protokol HTTP sehingga hampir seluruh platform dapat menerima data yang disediakan oleh webservice. Selain HTTP dan XML, webservice
biasanya dibangun dengan dua platform tambahan yaitu WSDL dan SOAP.
13
BAB III
ANALISIS DAN PERANCANGAN
Pada bab ini dibahas analisis kebutuhan, proses, dan desain dari perangkat lunak yang dibangun dalam tugas akhir ini. Bagian awal bab akan dibahas tentang analisis permasalahan dan kebutuhan calon pengguna. Berikutnya dibahas fungsional sistem yang berdasarkan hasil analisis kebutuhan. Bagian berikutnya akan dibahas rancangan perangkat lunak yang ditujukan untuk memberikan gambaran tentang perangkat lunak yang dibuat.
3.1.
Analisis
Pada sub bab berikut akan dijelaskan analisis pembuatan aplikasi pemantau pemakaian perangkat bergerak oleh anak. Analisis yang dilakukan meliputi analisis permasalahan, deskripsi umum sistem, dan kebutuhan fungsional sistem.
3.1.1.
Analisis Permasalahan
Dewasa ini, semakin banyak orang tua yang memberikan perangkat bergerak kepada anaknya baik berupa ponsel pintar maupun tablet, tidak peduli berapa usia anak. Untuk anak usia balita yang masih belum mengenyam jenjang pendidikan, hal ini dilakukan untuk penenang anak atau semacam digital babysitter
(Anna, 2011). Sedangkan untuk anak yang telah menginjak jenjang pendidikan formal, hal tersebut dilakukan untuk kemudahan berkomunikasi dengan orang tua maupun teman anak sampai penunjang kegiatan akademik anak.
14
jika orang tua bisa memantau aktivitas sosial anak dan aktivitas anak ketika menggunakan perangkat bergerak.
3.1.2.
Deskripsi Umum Perangkat Lunak
Aplikasi yang dibangun pada tugas akhir ini akan menghasilkan luaran berupa data. Data ini nantinya dapat diolah menjadi hal-hal yang perlu dievaluasi terkait kegiatan anak selama menggunakan perangkat bergerak. Aplikasi ini memiliki kemampuan untuk mencatat aktivitas anak dengan perangkat bergerak miliknya lalu mengirimkan record tersebut ke alamat
email orang tua.
Dalam implementasinya, perangkat lunak ini terdiri dari dua aplikasi. Aplikasi pertama adalah aplikasi yang berjalan di perangkat bergerak android yang nantinya akan dijalankan di perangkat bergerak milik anak. Sedangkan aplikasi kedua merupakan aplikasi webservice yang akan menerima data yang dikirim oleh aplikasi pertama, lalu mengolahnya untuk diteruskan ke alamat email orang tua. Cara kerja aplikasi pertama ini adalah orang tua cukup melakukan instalasi pada perangkat milik anak, lalu melakukan registrasi menggunakan alamat email yang nantinya dijadikan alamat tujuan pengiriman record dan menetapkan password untuk mengakses aplikasi ini pada perangkat milik anak. Kemudian, orang tua mengatur jam berapa aplikasi akan mengirimkan email yang berisi record serta statistik pemakaian perangkat oleh anak.
Setiap 24 jam sekali sesuai waktu yang diatur oleh orang tua, aplikasi pertama mengirimkan data-data berupa JSON ke aplikasi kedua. Ketika aplikasi kedua menerima data tersebut, aplikasi kedua akan mengirimkan data-data di JSON tadi ke alamat email
orang tua. Kebutuhan umum perangkat lunak aplikasi perangkat bergerak apabila diringkas adalah sebagai berikut.
1. Dapat mencatat lokasi perangkat.
2. Dapat mencatat waktu panggilan masuk beserta nomor telepon yang menghubungi.
4. Dapat mencatat waktu pesan singkat masuk beserta nomor telepon pengirim dan isi pesan.
5. Dapat mencatat waktu pesan singkat keluar beserta nomor telepon penerima dan isi pesan.
6. Dapat mencatat nama aplikasi yang dibuka beserta waktu saat aplikasi itu dibuka.
7. Dapat mencatat situs web yang dikunjungi oleh browser
perangkat.
8. Dapat menampilkan statistik.
9. Dapat mengubah alamat email tujuan penerima record. 10. Dapat mengubah password.
11. Dapat mengubah waktu record dikirimkan ke
webservice.
12. Dapat mengirimkan record ke webservice.
Sedangkan aplikasi berbasis web sifatnya hanya untuk meneruskan data yang dikirimkan melalui JSON ke alamat email
tujuan dalam bentuk HTML sehingga dapat dilihat oleh orang tua. Kebutuhan umum perangkat lunak aplikasi webservice apabila diringkas adalah sebagai berikut.
1. Dapat menerima data yang dikirimkan oleh perangkat bergerak.
2. Dapat mengirimkan email yang berisi record perangkat bergerak.
3.1.3.
Kebutuhan Fungsional Aplikasi Android
Aplikasi pada perangkat bergerak digunakan untuk menangani proses penyimpanan dan pengolahan data pemakaian perangkat bergerak. Berikut daftar kebutuhan fungsional dari aplikasi pada perangkat bergerak.
1. Menampilkan lokasi perangkat. 2. Menampilkan waktu panggilan masuk.
3. Menampilkan nomor telepon yang menghubungi. 4. Menampilkan waktu panggilan keluar.
16
6. Menampilkan waktu masuk pesan singkat. 7. Menampilkan isi pesan singkat masuk.
8. Menampilkan nomor telepon pengirim pesan singkat. 9. Menampilkan waktu terkirim pesan singkat.
10. Menampilkan isi pesan singkat terkirim.
11. Menampilkan nomor telepon penerima pesan singkat. 12. Menampilkan waktu aplikasi dibuka.
13. Menampilkan nama aplikasi yang dibuka. 14. Menampilkan alamat situs yang dikunjungi. 15. Menampilkan waktu situs dikunjungi. 16. Menampilkan statistik pemakaian perangkat. 17. Mengubah alamat email.
18. Mengubah password.
19. Mengelola waktu pengiriman record ke alamat email
orang tua.
20. Mengirimkan record ke webservice. 21. Menambahkan aplikasi favorit. 22. Menghilangkan aplikasi favorit. 23. Menambahkan domain situs favorit. 24. Menghilangkan domain situs favorit.
Gambar 3. 1 Diagram Modul Aplikasi Perangkat Bergerak
18
Hak akses terhadap aplikasi android hanya diberikan kepada orang tua. Penjelasan lengkap mengenai kasus penggunan pada aplikasi pemantauan perangkat bergerak anak berbasis android ada pada tabel berikut.
Tabel 3. 1 Daftar Kasus Penggunaan Aplikasi Perangkat Bergerak
No Kode Nama Keterangan
1 UC-A01 Menampilkan lokasi perangkat
Orang tua dapat
mengetahui lokasi-lokasi perangkat dalam bentuk koordinat lintang bujur.
panggilan yang pernah masuk ke perangkat.
mengetahui nomor telepon berapa saja yang
mengetahui waktu setiap panggilan keluar yang dilakukan oleh perangkat bergerak.
5 UC-A05 Menampilkan nomor telepon yang dihubungi
Pengguna dapat
mengetahui nomor telepon berapa saja yang dihubungi oleh perangkat milik anak. 6 UC-A06 Menampilkan
waktu masuk
Pengguna dapat
20
pesan singkat pesan singkat yang masuk ke perangkat.
7 UC-A07 Menampilkan isi pesan singkat masuk
Pengguna dapat
mengetahui isi setiap pesan singkat yang masuk ke
mengetahui nomor telepon pengirim setiap pesan singkat yang masuk ke
mengetahui waktu setiap pesan singkat yang dikirim
mengetahui isi setiap pesan singkat yang dikirim oleh perangkat.
11 UC-A11 Menampilkan nomor telepon penerima pesan singkat
Pengguna dapat
mengetahui nomor telepon tujuan setiap pesan singkat yang dikirim oleh perangkat
12 UC-A12 Menampilkan waktu aplikasi dibuka
Pengguna dapat
mengetahui waktu setiap aplikasi yang dibuka di perangkat.
13 UC-A13 Menampilkan nama aplikasi
Pengguna dapat
yang dibuka perangkat. 14 UC-A14 Menampilkan
alamat situs yang dikunjungi
Pengguna dapat
mengetahui alamat situs yang dikunjungi oleh perangkat.
15 UC-A15 Menampilkan waktu situs dikunjungi
Pengguna dapat
mengetahui waktu dari alamat situs yang dikunjungi oleh perangkat. 16 UC-A16 Menampilkan
statistik Statistik yang dimaksud antara lain: paling sering menerima pesan singkat dari perangkat, dan
5 nomor telepon yang paling sering mengirim pesan singkat ke perangkat.
17 UC-A17 Mengubah alamat email
22
Pengguna dapat mengubah
password yang dijadikan sebagai sarana untuk login. 19 UC-A19 Mengelola
waktu pengiriman
record ke alamat
email orang tua
Pengguna dapat mengatur waktu kapan aplikasi mengirimkan record ke alamat email yang diinginkan.
20 UC-A20 Mengirimkan
record ke
webservice
Perangkat mampu
mengirimkan record ke
webservice dalam bentuk JSON.
21 UC-A21 Menambahkan aplikasi favorit
Pengguna dapat
menambahkan aplikasi ke dalam daftar aplikasi favorit untuk ditampilkan dengan cara berbeda dari aplikasi lainnya. Hal ini dilakukan bertujuan untuk kemudahan dalam melihat daftar aplikasi yang dibuka pada perangkat.
22 UC-A22 Menghilangkan aplikasi favorit
Pengguna dapat
menghapus salah satu aplikasi dari dalam daftar aplikasi favorit.
23 UC-A23 Menambahkan
domain situs
Pengguna dapat
favorit situs favorit sehingga setiap situs dengan domain
favorit tersebut akan ditampilkan dengan cara berbeda dari situs lainnya. Hal ini juga dilakukan
bertujuan untuk
kemudahan dalam melihat daftar situs yang dikunjungi perangkat. 24 UC-A24 Menghilangkan
domain situs
favorit
Pengguna dapat
menghapus salah satu
domain situs dari dalam daftar domain situs favorit.
3.1.4.
Kebutuhan Fungsional Aplikasi
Webservice
Aplikasi webservice ini merupakan aplikasi yang digunakan untuk menerima JSON yang dikirimkan oleh aplikasi pada perangkat bergerak, lalu mengolahnya agar dapat dikirim melalui
email dan mengirimkannya. Berikut daftar kebutuhan fungsional dari aplikasi webservice ini.
24
Gambar 3. 3 Diagram Kasus Penggunaan Aplikasi Webservice
Oleh karena aplikasi ini sifatnya adalah sebagai webservice
semata, maka aplikasi ini tidak akan memiliki halaman antarmuka. Berikut penjelasan dari kebutuhan fungsional aplikasi ini.
Tabel 3. 2 Daftar Kasus Penggunaan Aplikasi Webservice
No Kode Nama Keterangan
1 UC-W01 Membaca data
JSON yang
dikirim oleh
client
Aplikasi dapat membaca JSON yang dikirim oleh
client lalu melakukan
decoding agar nilai-nilai dari JSON tersebut dapat diterjemahkan ke dalam bentuk variabel PHP. 2 UC-W02 Mengirim
record ke
alamat email
yang ditentukan
Aplikasi dapat mengirim sebuah halaman HTML yang berisi record
pemakaian perangkat bergerak ke alamat email
3.2. Perancangan
Sub bab berikut membahas tentang perancangan dari aplikasi pemantau penggunaan perangkat bergerak anak. Sub bab berikut membahas rancangan antarmuka, rancangan proses dan rancangan basis data. Pembahasan lebih detil akan dibahas berikut ini.
3.2.1. Perancangan Umum Arsitektur Sistem
Sistem ini dirancang dengan menggunakan server dan client
sebagai pengumpul dan pengolah data. Server berupa webservice
sedangkan client berupa perangkat bergerak android. Client
bertugas mengumpulkan data berupa catatan penggunaan perangkat bergerak tersebut kemudian ketika waktu pengiriman tiba, client akan mengirimkan data tersebut ke server. Server
bertugas menerima data tersebut lalu mengirimkan seluruh data tersebut ke alamat email yang dituju. Seluruh data pada client
26
Gambar 3. 4 Arsitektur Umum Sistem
3.2.2. Perancangan Basis Data
Pada sub bab ini akan dijelaskan bagaimana rancangan basis data yang digunakan pada aplikasi pemantau penggunaan perangkat bergerak. Basis data pada sistem yang dibangun pada tugas akhir ini menggunakan sistem manajemen basis data relasional SQLite. SQLite digunakan untuk penyimpanan data pengguna, pesan singkat, telepon, lokasi, aplikasi, dan situs. Oleh karena tabel-tabel yang dirancang tidak berkaitan dan berelasi satu sama lain, maka rancangan basis data akan langsung dijabarkan sebagai berikut.
3.2.1.1.Rancangan Tabel Pengguna (user)
Tabel pengguna digunakan untuk menyimpan data pengguna yang digunakan sebagai akses untuk masuk dalam aplikasi pada perangkat android.
Tabel 3. 3 Rincian Tabel Pengguna
Nama Kolom Tipe Data Keterangan
tabel
email Text Alamat email
pengguna
password Text Kata kunci pengguna
3.2.1.2.Rancangan Tabel SMS Masuk (incomingSMS)
Tabel ini digunakan untuk menyimpan data pesan singkat yang masuk ke dalam perangkat.
Tabel 3. 4 Rincian Tabel SMS Masuk
Nama Kolom Tipe Data Keterangan
_id Integer Primary Key dari
tabel
number Text Nomor telepon
pengirim pesan singkat
time Text Waktu pesan singkat
masuk
content Text Isi pesan singkat
flag Text Jenis tabel
3.2.1.3.Rancangan Tabel SMS Keluar (outgoingSMS)
Tabel ini digunakan untuk menyimpan data pesan singkat yang dikirim oleh perangkat.
Tabel 3. 5 Rincian Tabel SMS Keluar
28
_id Integer Primary Key dari
tabel
number Text Nomor telepon
penerima pesan singkat
time Text Waktu pesan singkat
dikirim
content Text Isi pesan singkat
flag Text Jenis tabel
3.2.1.4.Rancangan Tabel Telepon Masuk (incomingCall) Tabel ini digunakan untuk menyimpan data panggilan telepon yang masuk ke perangkat.
Tabel 3. 6 Rincian Tabel Telepon Masuk
Nama Kolom Tipe Data Keterangan
_id Integer Primary Key dari
tabel
number Text Nomor telepon yang
menghubungi perangkat
details Text Detail panggilan
telepon berupa waktu panggilan masuk
sampai waktu
3.2.1.5.Rancangan Tabel Telepon Keluar (outgoingCall) Tabel ini digunakan untuk menyimpan data panggilan telepon dari perangkat.
Tabel 3. 7 Rincian Tabel Telepon Keluar
Nama Kolom Tipe Data Keterangan
_id Integer Primary Key dari
tabel
number Text Nomor telepon yang
dihubungi perangkat
details Text Detail panggilan
berupa waktu
panggilan keluar dimulai sampai waktu panggilan berakhir
3.2.1.6.Rancangan Tabel Aplikasi (apps)
Tabel aplikasi digunakan untuk menyimpan data aplikasi yang dibuka oleh perangkat.
Tabel 3. 8 Rincian Tabel Aplikasi
Nama Kolom Tipe Data Keterangan
_id Integer Primary Key dari
tabel
package Text Nama aplikasi yang
dibuka
time Text Waktu aplikasi
30
banned Text Keterangan apakah
aplikasi masuk daftar favorit
duration Integer Durasi aplikasi
dibuka dalam satuan detik
3.2.1.7.Rancangan Tabel Lokasi (location)
Tabel lokasi digunakan untuk menyimpan data lokasi perangkat selama digunakan.
Tabel 3. 9 Rincian Tabel Lokasi
Nama Kolom Tipe Data Keterangan
_id Integer Primary Key dari
tabel
coordinate Text Koordinat lokasi
berupa lintang dan bujur
time Text Waktu pencatatan
lokasi
flag Text Jenis tabel
3.2.1.8.Rancangan Tabel Situs (browser)
Tabel situs digunakan untuk menyimpan situs yang dikunjungi oleh perangkat.
Tabel 3. 10 Rincian Tabel Situs
_id Integer Primary Key dari tabel
time Text Waktu situs
dikunjungi
url Text Alamat situs
title Text Judul situs
flag Text Jenis tabel
3.2.1.9.Rancangan Tabel Aplikasi Favorit (bannedApps) Tabel ini digunakan untuk mencatat aplikasi-aplikasi apa saja yang dimasukkan ke daftar aplikasi favorit oleh orang tua.
Tabel 3. 11 Rincian Tabel Aplikasi Favorit
Nama Kolom Tipe Data Keterangan
_id Integer Primary Key dari
tabel
package Text Nama aplikasi
3.2.1.10. Rancangan Tabel Situs Favorit (bannedLink)
Tabel ini digunakan untuk mencatat domain situs apa saja yang dimasukkan ke daftar domain favorit oleh orang tua.
Tabel 3. 12 Rincian Tabel Situs Favorit
Nama Kolom Tipe Data Keterangan
_id Integer Primary Key dari
32
url Text Alamat domain situs
3.2.1.11. Rancangan Tabel Alarm (alarm)
Tabel ini digunakan untuk menyimpan waktu pengiriman
record ke webservice.
Tabel 3. 13 Rincian Tabel Alarm
Nama Kolom Tipe Data Keterangan
_id Integer Primary Key dari
tabel
hour Text Jam pengiriman
record ke webservice
minute Text Menit pengiriman
record ke webservice
3.2.1.12. Rancangan Tabel SMS Sementara (temporarySMS) Tabel ini digunakan untuk menyimpan pesan terkirim terakhir dari perangkat. Pesan singkat terkirim terakhir perangkat tidak disimpan pada variabel khusus untuk menghindari terhapusnya isi variabel tersebut oleh sistem.
Tabel 3. 14 Rincian Tabel SMS Sementara
Nama Kolom Tipe Data Keterangan
_id Integer Primary Key dari
tabel
sms Text Isi pesan beserta
nomor tujuan
3.2.3. Perancangan Algoritma
Perancangan algoritma merupakan tahap untuk membentuk alur proses yang berjalan pada sistem. Berikut perancangan alur kerja aplikasi pada perangkat bergerak secara garis besar.
Gambar 3. 5 Alur Kerja Aplikasi Perangkat Bergerak
3.2.3.1 Servis Utama
34
Gambar 3. 6 Alur Kerja Servis Utama
Servis SMS dan servis browser sendiri berisi sebuah content resolver sesuai kebutuhan data yang ingin didapatkan. Cara kerjanya sendiri dengan menyimpan setiap adanya perubahan data pada content provider yang diakses tersebut. Perubahan data tersebut menandakan adanya pesan keluar yang baru saja terkirim atau situs yang baru saja dikunjungi oleh perangkat. Servis utama ini tidak boleh berhenti menyala karena kerja servis-servis yang lain bergantung trigger yang dibuat oleh servis utama. Maka dari itu, untuk mencegah servis ini dimatikan oleh sistem, servis ini harus dijadikan sebagai foreground service10 agar sistem operasi memprioritaskan servis ini sebagai servis terakhir yang akan dimatikan ketika sistem operasi kehabisan memori.
Pada perkembangannya, keterbatasan kapasitas memori yang dimiliki oleh perangkat android menjadi kendala untuk servis
browser secara terus menerus. Oleh sebab itu, ketika aplikasi yang dibuka tidak berhubungan dengan browser maka servis
10
utama akan menghentikan servis browser jika servis tersebut sedang berjalan. Hal ini ditujukan untuk mengantisipasi terjadinya
crash karena aplikasi menjadi rakus memori. 3.2.3.2 Pengiriman Data
Pada proses pengiriman data, hal yang perlu dipertimbangkan ada dua hal. Pertama, untuk menyiasati ketika anak mematikan akses internet perangkat bergerak saat aplikasi akan mengirimkan JSON ke webservice. Kedua, jika perangkat bergerak sedang berada dalam penerbangan pesawat dan menyalakan fitur mode pesawat, aplikasi seharusnya menunda pengiriman JSON ke webservice. Oleh sebab itu, aplikasi dirancang agar mengetahui situasi perangkat bergerak tempatnya bernaung. Berikut diagram alur pengiriman data ke webservice
dengan mempertimbangkan kendala di atas.
36
3.2.4. Perancangan Antarmuka Sistem
Pada subbab ini akan dibahas secara mendetail rancangan antarmuka hanya pada aplikasi perangkat bergerak.
3.2.4.1.Antarmuka Halaman Daftar
Halaman ini berfungsi untuk menampung pengguna yang belum pernah terdaftar pada aplikasi ini. Berikut tampilan antarmuka halaman daftar.
Gambar 3. 8 Rancangan Antarmuka Halaman Daftar
Komponen-komponen penyusun halaman di atas terdapat pada tabel berikut.
Tabel 3. 15 Keterangan Halaman Antarmuka Daftar
Nomor Nama Komponen Keterangan
1 ImageView Digunakan untuk menampilkan ikon aplikasi.
nama aplikasi.
3 EditText1 Digunakan sebagai tempat pengisian alamat email pengguna untuk dapat masuk ke aplikasi. 4 EditText2 Digunakan sebagai tempat
pengisian password pengguna. 5 EditText3 Digunakan sebagai tempat
pengisian ulang password
pengguna.
6 Button Digunakan untuk melakukan
proses registrasi ke basis data aplikasi.
7 TextView2 Digunakan untuk menampilkan tulisan pemberitahuan kepada pengguna bahwa masukan alamat
email harus benar.
3.2.4.2.Antarmuka Halaman Masuk
38
Gambar 3. 9 Rancangan Antarmuka Halaman Login
Komponen-komponen penyusun halaman di atas adalah sebagai berikut.
Tabel 3. 16 Keterangan Halaman Antarmuka Login
Nomor Nama Komponen Keterangan
1 ImageView Digunakan untuk menampilkan ikon aplikasi.
2 TextView Digunakan untuk menampilkan nama aplikasi.
3 EditText1 Digunakan sebagai tempat pengisian alamat email pengguna untuk dapat masuk ke aplikasi. 4 EditText2 Digunakan sebagai tempat
pengisian password pengguna.
5 Button Digunakan untuk melakukan
password yang dimasukkan pengguna ke basis data aplikasi.
3.2.4.3.Antarmuka Halaman Overview
Halaman overview merupakan halaman yang menampilkan seluruh hasil pencatatan yang dilakukan terhadap aktivitas yang dilakukan dengan perangkat. Berikut tampilan antarmuka halaman overview.
Gambar 3. 10 Rancangan Antarmuka Halaman Overview
Halaman ini terdiri dari sebuah spinner dan sebuah
listview. Berikut komponen-komponen penyusun halaman
overview.
Tabel 3. 17 Keterangan Halaman Antarmuka Overview
Nomor Nama Komponen Keterangan
40
pilihan data apa saja yang ingin ditampilkan pada listview.
2 ListView Digunakan untuk menampilkan hasil record yang telah tersimpan pada basis data aplikasi. Pada
listview ini berisi sebuah textview
dimana textview ini nantinya dijadikan sebagai media untuk menampilkan hasil record.
3.2.4.4.Antarmuka Halaman Edit Akun
Halaman edit akun merupakan halaman yang digunakan pengguna untuk mengelola akun yang digunakan untuk masuk ke dalam aplikasi. Pada halaman ini terdiri dari kolom isian alamat
Gambar 3. 11 Rancangan Antarmuka Halaman Edit Akun
Berikut komponen-komponen penyusun halaman edit
akun.
Tabel 3. 18 Keterangan Halaman Antarmuka Edit Akun
Nomor Nama Komponen Keterangan
1 EditText1 Digunakan sebagai tempat pengisian alamat email baru pengguna untuk dapat masuk ke aplikasi.
2 EditText2 Digunakan sebagai tempat pengisian password baru pengguna.
3 EditText3 Digunakan sebagai tempat konfirmasi pengisian password
baru.
42
proses pengubahan alamat email
dan password baru pada basis data.
5 TextView Digunakan untuk menampilkan keterangan pada halaman.
3.2.4.5.Antarmuka Halaman Statistik
Halaman statistik merupakan halaman yang digunakan untuk menampilkan statistik pemakaian perangkat bergerak dalam bentuk diagram. Diagram yang ditampilkan merupakan diagram pai. Berikut rancangan antarmuka halaman statistik.
Gambar 3. 12 Rancangan Antarmuka Halaman Statistik
Tabel 3. 19 Keterangan Halaman Antarmuka Statistik
Nomor Nama Komponen Keterangan
1 Spinner Digunakan untuk menampilkan pilihan data statistik apa saja yang ingin ditunjukkan pada piechart. 2 PieChart Digunakan untuk menampilkan
statistik pemakaian perangkat bergerak. Bagian ini terdiri dari sebuah gambar diagram dan sebuah legenda yang menjelaskan maksud dari warna-warna yang ada pada diagram pai tersebut.
3.2.4.6.Antarmuka Halaman Atur Jadwal
44
Gambar 3. 13 Rancangan Antarmuka Halaman Atur Jadwal
Komponen-komponen penyusun halaman ini antara lain sebagai berikut.
Tabel 3. 20 Keterangan Halaman Antarmuka Atur Jadwal
Nomor Nama Komponen Keterangan
1 TextView Digunakan untuk menampilkan tulisan yang menerangkan tentang fungsi halaman.
2 DatePicker Digunakan sebagai media pengguna untuk menentukan jam berapa record dikirimkan oleh aplikasi ke alamat email
pengguna.
3 Button Digunakan sebagai proses untuk menyimpan waktu pengiriman
3.2.4.7.Antarmuka Halaman Menambahkan Favorit
Halaman ini merupakan halaman yang digunakan untuk menangani kebutuhan pengguna dalam menandai aplikasi-aplikasi serta domain-domain situs mana saja yang perlu ditandai menjadi aplikasi dan domain favorit. Halaman ini nantinya menampilkan seluruh aplikasi dan situs yang telah diakses oleh anak sehingga orang tua tinggal memilih aplikasi dan situs dengan domain apa yang dianggap perlu diperhatikan. Berikut rancangan antarmuka halaman ini.
Gambar 3. 14 Rancangan Antarmuka Halaman Menambahkan Favorit
46
Tabel 3. 21 Keterangan Halaman Antarmuka Menambahkan Favorit
Nomor Nama Komponen Keterangan
1 Spinner Digunakan untuk menampilkan pilihan jenis favorit yang ingin ditambahkan. Nantinya spinner
ini jika ditekan akan memunculkan sebuah fragmen
popup yang berisi pilihan aplikasi dan domain.
2 ListView Digunakan sebagai media untuk menampilkan daftar calon aplikasi atau situs yang bisa ditambahkan ke dalam objek favorit oleh pengguna. Listview ini nantinya berisi gabungan checkbox dan
textview.
3 Button Digunakan sebagai proses untuk menyimpan daftar konten-konten yang ditandai sebagai objek favorit.
3.2.4.8.Antarmuka Halaman Menghapus Favorit
Halaman ini merupakan halaman untuk menangani kebutuhan pengguna dalam menghilangkan aplikasi atau domain
Gambar 3. 15 Rancangan Antarmuka Halaman Menghapus Favorit
Komponen-komponen penyusun antarmuka halaman ini antara lain sebagai berikut.
Tabel 3. 22 Keterangan Halaman Antarmuka Menghapus Favorit
Nomor Nama Komponen Keterangan
1 Spinner Digunakan untuk menampilkan pilihan jenis favorit yang ingin dihapus dari daftar. Nantinya
spinner ini jika ditekan akan memunculkan sebuah fragmen
popup yang berisi pilihan aplikasi dan domain.
48
favorit oleh pengguna. Listview
ini nantinya berisi gabungan
checkbox dan textview.
49
BAB IV
IMPLEMENTASI
Pada bab ini dijelaskan mengenai implementasi dari perancangan perangkat lunak. Implementasi yang dijelaskan meliputi lingkungan pembangunan perangkat lunak, implementasi antarmuka pengguna, dan implementasi proses-proses yang terjadi pada perangkat lunak. Implementasi sistem mengacu pada perancangan yang ditulis pada Bab III.
4.1.
Lingkungan Implementasi
Dalam merancang perangkat lunak ini digunakan beberapa perangkat pendukung. Perangkat keras yang digunakan dalam pengembangan sistem ini berupa komputer dengan spesifikasi AMD Phenom II X6 1090T 3,20 Ghz dengan memori 8GB. Sementara spesifikasi perangkat lunak yang digunakan untuk pengembangan sistem adalah sebagai berikut :
Microsoft Windows 7 64bit sebagai sistem operasi.
Android Studio 1.1.0 sebagai IDE untuk implementasi aplikasi.
Android SDK versi 24.1.2 sebagai kerangka aplikasi perangkat bergerak.
Apache versi 2.4.12 dan PHP versi 5.4.41 sebagai lingkungan web server aplikasi webservice.
4.2.
Implementasi Antarmuka
Pada subbab ini akan dibahas implementasi antarmuka berdasarkan rancangan antarmuka yang telah dibahas pada bab sebelumnya. Antarmuka yang akan dibahas merupakan antarmuka pada aplikasi perangkat bergerak. Berikut rincian rancangan antarmuka pada aplikasi perangkat bergerak.
aplikasi ke perangkat bergerak. Halaman ini digunakan oleh pengguna untuk mendaftarkan alamat email beserta password yang diinginkan untuk digunakan sebagai alat masuk ke aplikasi. Berikut implementasi dari halaman daftar pada aplikasi perangkat bergerak.
Gambar 4. 1 Antarmuka Halaman Daftar
Gambar 4. 2 Antarmuka Halaman Login
Pada gambar di atas, pengguna diminta untuk memasukkan alamat email dan password untuk masuk ke aplikasi. Jika terjadi kesalahan, maka aplikasi akan menampilkan toast yang menginformasikan bahwa alamat email atau password yang dimasukkan salah.
Gambar 4. 3 Antarmuka Halaman Overview
Halaman antarmuka berikut adalah tampilan ketika pengguna memilih application pada spinner.
Gambar 4. 4 Antarmuka Halaman Overview – Aplikasi Halaman antarmuka berikut adalah tampilan ketika
Gambar 4. 5 Antarmuka Halaman Overview - Lokasi Halaman antarmuka berikut adalah tampilan ketika
pengguna memilih incoming call pada spinner.
Gambar 4. 6 Antarmuka Halaman Overview - Telepon Masuk