• Tidak ada hasil yang ditemukan

Sistem Pemantau Pemakaian Perangkat Bergerak Anak. - ITS Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "Sistem Pemantau Pemakaian Perangkat Bergerak Anak. - ITS Repository"

Copied!
318
0
0

Teks penuh

(1)

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

(2)

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

(3)

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.

(4)
(5)

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.

(6)

ii

sehari-hari sehingga lebih bijak dalam menyikapi pemberian perangkat bergerak pada anaknya.

(7)

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.

(8)

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.

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)

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

(17)

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

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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.

(23)

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

(24)

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

(25)

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.

(26)

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

(27)

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.

(28)

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

(29)

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

(30)

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

(31)

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

(32)

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.

(33)

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.

(34)

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.

(35)

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.

(36)

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.

(37)

Gambar 3. 1 Diagram Modul Aplikasi Perangkat Bergerak

(38)

18

(39)

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

(40)

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

(41)

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

(42)

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

(43)

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.

(44)

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

(45)

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

(46)

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

(47)

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

(48)

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

(49)

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

(50)

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

(51)

_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

(52)

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

(53)

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

(54)

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

(55)

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.

(56)

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.

(57)

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

(58)

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

(59)

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

(60)

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

(61)

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.

(62)

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

(63)

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

(64)

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

(65)

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

(66)

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

(67)

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.

(68)

48

favorit oleh pengguna. Listview

ini nantinya berisi gabungan

checkbox dan textview.

(69)

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.

(70)

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

(71)

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.

(72)

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

(73)

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

Gambar

Tabel 5. 26 Rincian Pengujian Menghapus Domain Favorit .... 118
Gambar 3. 1 Diagram Modul Aplikasi Perangkat Bergerak
Gambar 3. 2 Diagram Kasus Penggunaan Aplikasi Perangkat
Tabel 3. 1 Daftar Kasus Penggunaan Aplikasi Perangkat Bergerak
+7

Referensi

Dokumen terkait

Prosentase angka kematian ternak 5% 7,6% 6% - 5.2.21 Program Pencegahan dan Penanggulangan Penyakit Ternak... 5.2.22.22 Pengembangan budidaya ternak kambing/domba

Kesenian yang dimiliki Kabupaten Gunungkidul bermacam – macam jenis kesenian yang ada di Gunungkidul khususnya di desa Kemadang masih banyak dari tabel dibawah merupakan

Jika dalam suatu sistem antrian terdapat satu atau lebih server yang tidak dapat melayani customer pada rentang waktu tertentu saat jam operasional, maka

Biji dari tanaman dikotil yang lambat perkecambahnnya yaitu kacang tanah, dimana pada umur 7 hari baru menunjukan panjang radikula 1,5 cm.. Kacang Hijau menunjukan perkecambahan yang

Tujuan yang ingin dicapai pada praktikum Perkembangan Sel Betina adala Tujuan yang ingin dicapai pada praktikum Perkembangan Sel Betina adala untuk memlelajari perkembangan katak

Head pompa adalah energi per satuan berat yang harus disediakan untuk mengalirkan sejumlah zat cair yang direncanakan sesuai dengan kondisi instalasi pompa, atau tekanan untuk

Dari data olahan tabel 4.2.3.3 diketahui bahwa nilai F hitung adalah sebesar 4.717 yang berarti nilai tersebut lebih besar dari derajat yang digunakan yaitu F tabel