APLIKASI BROADCAST POSITION GRUP WISATAWAN BERBASIS ANDROID MENGGUNAKAN GOOGLE API TUGAS AKHIR Disusun sebagai salah satu syarat memperoleh gelar Sarjana Komputer pada Program Studi Informatika Fakultas Ilmu Komputer Universitas Mercu Buana Disusun Oleh : Roy Tri Afandi 41513110041 PROGRAM STUDI INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2017
LEMBAR PERNYATAAN Yang bertanda tangan di bawah ini : NIM : 41513110041 Nama : Roy Tri Afandi Judul Tugas Akhir : APLIKASI BROADCAST POSITION GRUP WISATAWAN BERBASIS ANDROID MENGGUNAKAN GOOGLE API Menyatakan bahwa tugas akhir tersebut di atas adalah hasil karya saya sendiri dan bukan plagiat. Apabila ternyata ditemukan di dalam laporan tugas akhir saya terdapat unsur plagiat, maka saya siap untuk mendapatkan sanksi akademik yang terkait dengan hal tersebut. Jakarta,... Roy Tri Afandi ii
LEMBAR PERSETUJUAN NIM : 41513110041 Nama : Roy Tri Afandi Judul Tugas Akhir : APLIKASI BROADCAST POSITION GRUP WISATAWAN BERBASIS ANDROID MENGGUNAKAN GOOGLE API Tugas Akhir ini telah diperiksa dan disetujui. Jakarta,... Andi Nugroho, S.T, M.Kom Pembimbing iii
KATA PENGANTAR Puji syukur Alhamdulillah kehadirat Allah SWT yang telah melimpahkan segala rahmat dan karunia-nya, sehingga penulis dapat menyelesaikan laporan tugas akhir yang merupakan salah satu persyaratan untuk menyelesaikan program studi strata satu (S1) pada Jurusan Informatika Universitas Mercu Buana. Penulis menyadari bahwa laporan tugas akhir ini masih jauh dari sempurna. Karena itu, diharapkan dengan adanya laporan tugas akhir ini dapat menjadi sebagai bahan referensi untuk dikembangkan lebih lanjut. Dengan segala keterbatasan, penulis menyadari pula bahwa laporan tugas akhir ini takkan terwujud tanpa bantuan, bimbingan, dan dorongan dari berbagai pihak. Untuk itu, dengan segala kerendahan hati, penulis menyampaikan ucapan terima kasih kepada: 1. Bapak Andi Nugroho, S.T, M.Kom, selaku pembimbing tugas akhir pada Jurusan Informatika Universitas Mercu Buana. 2. Bapak Diky Firdaus, S.Kom, M.M, selaku Koordinator Tugas Akhir pada Jurusan Informatika Universitas Mercu Buana. 3. Ibu Desi Ramayanti, S.Kom, M.T, selaku Kepala Program Studi pada Jurusan Informatika Universitas Mercu Buana. 4. Bapak dan Ibu tercinta yang telah mendukung penulis baik secara moral maupun materi. 5. Saudara dan sahabat-sahabatku terutama Kawan-kawan Angkatan 2013 yang telah memberikan dukungan moral untuk terus menyelesaikan tugas akhir ini Semoga Allah SWT membalas kebaikan dan selalu mencurahkan hidayah serta taufik-nya, Amin. iv
ABSTRAK Salah satu masalah ketika melakukan wisata secara berkelompok atau grup adalah terpisah-pisah. Hal ini sering membuat waktu berwisata menjadi terbuang karena untuk mencari anggota yang terpisah. Lebih buruk lagi, jika anggota tersebut tidak bisa dihubungi, atau sedang dalam kondisi bahaya. Untuk mengurangi resiko ini, dibutuhkan sebuah sistem broadcast position yang bisa melacak lokasi terakhir anggota grup dalam beberapa waktu terakhir. Dalam penulisan ini, penulis mencoba untuk membuat sistem aplikasi broadcast position, yang menggunakan algoritma dijkstra dalam pencarian rute terpendek, yang dapat digunakan oleh wisatawan yang dapat digunakan ketika sedang menjalani grup wisata di suatu tempat. Kata kunci : broadcast position, dijkstra, grup wisata. v
DAFTAR ISI LEMBAR PERNYATAAN... ii LEMBAR PERSETUJUAN... iii KATA PENGANTAR... iv ABSTRAK... v DAFTAR ISI... vi DAFTAR GAMBAR... ix DAFTAR TABEL... xi BAB I PENDAHULUAN... 1 1.1. LATAR BELAKANG... 1 1.2. RUMUSAN MASALAH... 2 1.3. BATASAN MASALAH... 2 1.4. TUJUAN PENELITIAN... 3 1.5. MANFAAT PENELITIAN... 3 1.6. METODOLOGI PENELITIAN... 3 BAB II LANDASAN TEORI... 6 2.1. REKAYASA PERANGKAT LUNAK... 6 2.1.1. MODEL EVOLUSIONARY PROTOTYPING... 7 2.1.2. UNIFIED MODELING LANGUAGE... 9 2.1.3. USE CASE DIAGRAM... 9 2.1.4. ACTIVITY DIAGRAM... 12 2.1.5. SEQUENCE DIAGRAM... 13 2.1.6. CLASS DIAGRAM... 15 2.1.8. PENGUJIAN WHITE BOX... 18 2.2. STUDI PUSTAKA PENELITIAN... 20 2.2.1. GPS... 20 2.2.2. BROADCAST POSITION... 22 2.2.3. ALGORITMA DIJKSTRA... 22 2.2.4. API... 23 2.3. ANDROID... 23 2.3.1. PENGETIAN DAN SEJARAH ANDROID... 23 vi
2.3.2. FITUR PADA ANDROID... 24 2.3.3. PLATFORM ANDROID... 26 2.4. JAVA... 26 2.4.1. PENGERTIAN FRAMEWORK... 27 2.4.2. FRAMEWORK SPRING BOOT... 27 2.4.3. HIBERNATE... 28 2.5. MYSQL... 29 2.6. ALAT PENGEMBANGAN APLIKASI... 30 2.6.1. ANDROID STUDIO... 30 2.6.2. ECLIPSE STUDIO... 31 2.6.3. MYSQL WORKBENCH... 32 BAB III ANALISA SISTEM... 33 3.1. ANALISA PENGGUNA... 33 3.2. ANALISA KEBUTUHAN... 33 3.3. ANALISA SOFTWARE... 34 3.4. ANALISA HARDWARE... 35 3.5. ANALISA SISTEM TRACKING POSITION... 35 3.6. ANALISA BISNIS PROSES APLIKASI BROADCAST POSITION.. 37 BAB IV PERANCANGAN SISTEM... 38 4.1. PERANCANGAN SISTEM... 38 4.1.1. USE CASE... 38 4.1.2. ACTIVITY DIAGRAM... 44 4.1.3. SEQUENCE DIAGRAM... 50 4.1.4. CLASS DIAGRAM... 55 4.1.5. CONCEPTUAL DATA MODEL... 56 4.2. PERANCANGAN ANTAR MUKA... 60 BAB V IMPLEMENTASI SISTEM... 69 5.1. IMPLEMENTASI SISTEM... 69 5.2. LINGKUNGAN IMPLEMENTASI... 69 5.3. HASIL IMPLEMENTASI... 70 5.4. HASIL PENGUJIAN... 76 BAB VI KESIMPULAN DAN SARAN... 82 vii
6.1. KESIMPULAN... 82 6.2. SARAN... 82 DAFTAR PUSTAKA... 83 viii
DAFTAR GAMBAR Gambar 2. 1 Tahapan Protyping (Pressman, Roger S. 2015)... 8 Gambar 2. 2 Contoh Use Case Diagram (Pressman, Roger S. 2015)... 10 Gambar 2. 3 Contoh Activity Diagram (Pressman, Roger S. 2015)... 12 Gambar 2. 4 Contoh Sequence Diagram (Pressman, Roger S. 2015)... 14 Gambar 2. 5 Contoh Class Diagram (Pressman, Roger S. 2015)... 16 Gambar 2. 6 Arsitektur Spring (Neha Munsi. 2014)... 28 Gambar 2. 7 Arsitektur Hibernate (Neha Munsi. 2014)... 29 Gambar 2. 8 Tampilan Android Studio (androidstudio.com. 2017)... 31 Gambar 3. 1 Flowchart Sistem Tracking Position... 36 Gambar 3. 2 Bisnis Proses Aplikasi... 37 Gambar 4. 1 Diagram Use Case... 38 Gambar 4. 2 Activity Diagram Registrasi... 44 Gambar 4. 3 Activty Diagram Login... 45 Gambar 4. 4 Activity Diagram Mengelola Profile... 45 Gambar 4. 5 Activity Diagram Lacak Posisi Anggota... 46 Gambar 4. 6 Activity Diagram Panggil Nomor Darurat... 47 Gambar 4. 7 Activity Diagram Panggil Ketua Grup... 47 Gambar 4. 8 Activity Diagram Mengirim Undangan... 48 Gambar 4. 9 Activity Diagram Menerima Undangan... 48 Gambar 4. 10 Activity Diagram Buat Grup Baru... 49 Gambar 4. 11 Sequence Diagram Registrasi... 50 Gambar 4. 12 Sequence Diagram Login... 50 Gambar 4. 13 Sequence Diagram Mengelola Profile... 51 Gambar 4. 14 Sequence Diagram Melacak Posisi Anggota Grup... 51 Gambar 4. 15 Sequence Diagram Panggilan ke Nomor Darurat... 52 Gambar 4. 16 Sequence Diagram Panggilan ke Ketua Grup... 52 Gambar 4. 17 Sequence Diagram Mengirim Undangan... 53 Gambar 4. 18 Sequence Diagram Menerima Undangan... 53 Gambar 4. 19 Sequence Diagram Membuat Grup Baru... 54 Gambar 4. 20 Class Diagram... 55 ix
Gambar 4. 21 Conceptual Data Model... 56 Gambar 4. 22 Halaman Splash Screen... 60 Gambar 4. 23 Halaman Login... 61 Gambar 4. 24 Halaman Registrasi... 62 Gambar 4. 25 Halaman Menu Utama... 63 Gambar 4. 26 Halaman Buat Grup Baru... 64 Gambar 4. 27 Halaman Detail Grup Wisata... 65 Gambar 4. 28 Halaman Profile... 66 Gambar 4. 29 Halaman Edit Profile... 67 Gambar 4. 30 Halaman Emergency... 68 Gambar 5. 1 Implementasi Halaman Splash Screen... 70 Gambar 5. 2 Implementasi Halaman Login... 71 Gambar 5. 3 Implementasi Halaman Registrasi... 71 Gambar 5. 4 Implementasi Halaman Menu Utama... 72 Gambar 5. 5 Implementasi Halaman Buat Grup Baru (1)... 72 Gambar 5. 6 Implementasi Halaman Buat Grup Baru (2)... 73 Gambar 5. 7 Implementasi Halaman Grup Detail (1)... 73 Gambar 5. 8 Implementasi Halaman Grup Detail (2)... 74 Gambar 5. 9 Implementasi Halaman Profile... 74 Gambar 5. 10 Implementasi Halaman Edit Profile... 75 Gambar 5. 11 Implementasi Halaman Emergency... 75 Gambar 5. 12 Flowchart Broadcast Position... 76 Gambar 5. 13 Flowgraph Broadcast Position... 77 Gambar 5. 14 Flowchart Algoritma Dijkstra... 78 Gambar 5. 15 Peta Dengan Marking... 79 Gambar 5. 16 Peta Dengan Semua Rute Tersedia... 79 Gambar 5. 17 Ilustrasi Bentuk Node... 80 Gambar 5. 18 Perhitungan Jarak Terpendek... 80 Gambar 5. 19 Peta Dengan Rute Terpendek... 81 x
DAFTAR TABEL Tabel 2 1 Notasi Use Case (A.S & Shalahuddin, 2015)... 11 Tabel 2.2 Notasi Activity Diagram (A.S & Shalahuddin, 2015)... 13 Tabel 2.3 Notasi Sequence Diagram (A.S & Shalahuddin, 2015)... 14 Tabel 2. 4 Notasi Class Diagram (A.S & Shalahuddin, 2015)... 16 Tabel 2 5 Simbol Conceptual Data Model (A.S & Shalahuddin, 2015)... 18 Tabel 2. 6 Notasi Graph Diagram (Pressman, Roger S. 2015)... 19 Tabel 2.7 Daftar Versi OS di Android (androidstudio.com. 2017)... 26 Tabel 3. 1 Analisa Pengguna... 33 Tabel 4. 1 Deskripsi Use Case Registrasi... 39 Tabel 4. 2 Deskripsi Use Case Login... 39 Tabel 4. 3 Deskripsi Use Case Mengelola Profile... 40 Tabel 4. 4 Deskripsi Use Case Lacak Posisi Anggota... 40 Tabel 4. 5 Deskripsi Use Case Panggil Nomor Darurat... 41 Tabel 4. 6 Deskripsi Use Case Panggil Ketua Grup... 41 Tabel 4. 7 Deskripsi Use Case Terima Undangan... 42 Tabel 4. 11 Definisi Tabel User... 56 Tabel 4. 12 Definisi Tabel Country... 57 Tabel 4. 13 Definisi Tabel City... 57 Tabel 4. 14 Definisi Tabel Location... 57 Tabel 4. 15 Definisi Tabel Authentication... 58 Tabel 4. 16 Definisi Tabel Group... 58 Tabel 4. 17 Definisi Tabel Invitation... 59 Tabel 4. 18 Definisi Tabel MemberGroup... 59 Tabel 5. 1 Matriks Koneksi White-box Testing... 77 xi