BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Implementasi prototype merupakan tahap pengembangan rancangan menjadi kode program. Pada awal bagian ini dijabarkan spesifikasi perangkat keras dan lunak pada program yang akan di implementasikan. Di samping itu disajikan tampilan Aplikasi Layanan Pencarian Lokasi Objek Wisata di Kota Kuningan Berbasis Android setelah di implementasikan pada telepon genggam Sony Ericsson Xperia Ray. 4.1.1 Batasan Implementasi Dalam pengimplementasian aplikasi ini ada beberapa hal yang perlu menjadi batasan implementasi, yaitu : 1. Pengolahan data hanya dilakukan di aplikasi server 2. Aplikasi hanya memberikan informasi jarak, keterangan lokasi objek wisata dan fasilitas umum 4.1.2 Implementasi Perangkat Keras dan Perangkat Lunak A. Implementasi Perangkat Keras Dalam menerapkan dari rancangan yang telah dijelaskan sebelumnya dibutuhkan beberapa perangkat keras untuk menyajikan aplikasi ini. Adapun alat-alat yang dibutuhkan adalah : 1. Smartphone berbasiskan system operasi Android Sony Ericsson Xperia Ray dengan spesifikasi sebagai berikut :
79
a. System operasi : Android OS v.4.0.4 (Ice Cream Sandwich) b. Ukuran/Berat 111 x 53 x 9.4 mm c. CPU 1GHz Scorpion processor, Adreno 205 GPU, MSM8255 Snapdragon Chipset d. Internal storage 376 MB, Eksternal storage 4 GB e. Inputan Touchscreen f. GPS : A-GPS support 2. Satu unit laptop dengan spesifikasi : a. Processor : Intel Core i3 b. Harddisk : 500 GB c. RAM 2 GB d. Monitor e. Keyboard B. Implementasi Perangkat Lunak Perangkat lunak yang digunakan untuk membuat aplikasi ini adalah sebagai berikut : 1. System operasi Windows 7 Ultimate Edition sebagai system operasi 2. Aplikasi IDE Eclipse Keplar 3. JDK v 1.7.0 dan Android SDK windows 4. ADT v.22.0.0 5. Platform Android minimal versi 4.0 6. XAMPP 1.6.4 7. StarUML 8. Mozilla Firefox
80
4.1.3 Implementasi Antar Muka A. Implementasi pada Aplikasi Mobile Implementasi ini dibuat berdasarkan perancangan yang sudah dibangun. Berikut implementasi pada aplikasi mobile. Halaman menu utama aplikasi bisa dilihat pada Gambar 4.1 : 1. Halaman Menu Utama Aplikasi
Gambar 4.1 Halaman Menu Utama 2. Halaman Menu Objek Wisata Pada halaman ini terdiri dari list berbagai objek wisata yang dapat dipilih oleh pengguna untuk mengetahui keterangan objek wisata yang di pilih oleh pengguna. Bisa dilihat pada Gambar 4.2
81
Gambar 4.2 Halaman Menu Objek Wisata 3. Halaman Keterangan Objek Wisata Pada halaman ini terdapat keterangan-keterangan objek wisata yang telah dipilih oleh pengguna. Di halaman ini pula terdapat menu Get Direction untuk mengetahui lokasi objek wisata. Bisa dilihat pada Gambar 4.3.
Gambar 4.3 Halaman Keterangan Objek Wisata
82
4. Halaman Map Pada halaman ini menmpilkan lokasi map objek wisata yang telah dipilih oleh pengguna. Bisa dilihat pada Gambar 4.4
Gambar 4.4 Halaman Map 5. Halaman Menu Fasilitas Umum Pada halaman ini menampilkan list fasilitas umum berdasarkan kategori. Bisa dilihat pada Gambar 4.5
Gambar 4.5 Halaman Menu Fasilitas Umum
83
6. Halaman Kategori Pada halaman ini menampilkan list salah satu kategori fasilitas umum yang telah di pilih oleh pengguna. Bisa dilihat pada Gambar 4.6
Gambar 4.6 Halaman Kategori 7. Halaman Map Pada halaman ini menampilkan lokasi map fasilitas umum yang telah dipilih oleh pengguna. Bisa dilihat 4.7
Gambar 4.7 Halaman Map 84
B. Implementasi Pada Aplikasi Server Implementasi ini dibuat berdasarkan perancangan yang sudah dibangun. Berikut implementasi pada aplikasi server. 1. Halaman Login Halaman login adalah halaman yang pertama muncul saat mengakses web server. Halaman ini hanya bias diakses oleh admin. Bisa dilihat pada Gambar 4.8
Gambar 4.8 Halaman Login 2. Halaman Utama Website Halaman utama merupakan tampilan setelah sukses melakukan login. Bisa dilihat pada Gambar 4.9
Gambar 4.9 Halaman Utama Website 85
3. Halaman Menu Admin Halaman ini menampilkan tabel data admin, juga terdapat form tambah, edit dan hapus data admin. Bisa dilihat pada Gambar 4.10
Gambar 4.10 Halaman Menu Admin 4. Halaman Menu Objek Wisata Halaman ini menampilkan tabel data-data objek wisata, juga terdapat edit, hapus dan link untuk masuk ke menu tambah data objek wisata. Bisa dilihat pada Gambar 4.11
Gambar 4.11 Halaman Menu Objek Wisata
86
5. Halaman Menu Tambah Data Objek Wisata Halaman ini untuk menambah data objek wisata baru. Bisa dilihat pada Gambar 4.12
Gambar 4.12 Halaman Menu Tambah Data Objek Wisata 6. Halaman Menu Fasilitas Umum Halaman ini menampilkan tabel data-data fasilitas umum, juga terdapat edit, hapus dan link untuk masuk ke menu tambah data fasilitas umum. Bisa dilihat pada Gambar 4.13
Gambar 4.13 Halaman Menu Fasilitas Umum
87
7. Halaman Menu Tambah Data Fasilitas Umum Halaman ini untuk menambah data fasilitas umum baru. Bisa dilihat pada Gambar 4.14
Gambar 4.14 Halaman Menu Tambah Data Fasilitas Umum 4.1.4 Implementasi Instalasi Aplikasi Berikut ini adalah implementasi instalasi aplikasi di handphone untuk menggunakan aplikasi Layanan Pencarian Lokasi Objek Wisata di Kota Kuningan. 1. Pilih apk di memory card handphone
Gambar 4.15 Pemilihan APK
88
2. Lalu muncul konfirmasi penginstalan dan keperluan apa saja untuk menjalankan aplikasi seperti akses GPS dan jaringan Internet. Bisa dilhat pada gambar 4.16
Gambar 4.16 Konfirmasi Penginstalan 3. Proses Penginstalan tunggu sampai selesai. Bisa dilihat pada Gambar 4.17
Gambar 4.17 Proses penginstalan
89
4. Aplikasi sudah terinstal. Bisa dilihat pada Gambar 4.18
Gambar 4.18 instalasi Selesai 4.1.5 Implementasi Source Code 1) Source Code Parameter Url Request ke Google Parameter yang di tambahkan adalah origin yang berupa data latitude dan longitude tempat awal kita berada, destination berupa data latitude dan longitude tempat tujuan, sensor berupa parameter untuk memberitahu google bahwa request berasal dari device yang memiliki sensor location atau tidak. Bisa dilihat pada Gambar 4.19 1 2 3 4 5 6 7 8 9 10 11 12 13 14
private String makeURL(double sourcelat, double sourcelog, double destlat, double destlog) { StringBuilder urlString = new StringBuilder(); urlString.append("http://maps.googleapis.com/maps/api/directions/json"); urlString.append("?origin=");// from urlString.append(Double.toString(sourcelat)); urlString.append(","); urlString.append(Double.toString(sourcelog)); urlString.append("&destination=");// to urlString.append(Double.toString(destlat)); urlString.append(","); urlString.append(Double.toString(destlog)); urlString.append("&sensor=false&mode=driving&alternatives=true"); return urlString.toString();
Gambar 4.19 Source Code Parameter Url Request ke Google
90
2) Source Code Parsing Data Parsing data dari hasil parameter url request google yang di tambahkan, hasilnya akan berupa checkpoint-checkpoint rute terdekat atau tercepat. Bisa dilihat pada Gambar 4.20 1 2 3 4 5 6 7 8 9 10 11
private void parseRoute(String result) { try { final JSONObject json = new JSONObject(result); JSONArray routeArray = json.getJSONArray("routes"); JSONObject routes = routeArray.getJSONObject(0); JSONObject overviewPolylines = routes getJSONObject("overview_polyline"); String encodedString = overviewPolylines.getString("points"); List
list = decodePoly(encodedString); drawRoute(list, Color.BLUE); } catch (JSONException e)
Gambar 4.20 Source Code Parsing Data
3) Source Code Draw Route Menerjemahkan data checkpoint – checkpoint dari hasil parsing data menjadi line di google maps, sekaligus menghitung jarak menggunakan method spherical cosinus. Data checkpoint sudah berbentuk List yang sebelumnya hanya String. Hasil dari data ini akan di draw line. Bisa dilhat pada Gambar 4.21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
private void drawRoute(List list, int color) { List lines = new ArrayList(); for (int z = 0; z < list.size() - 1; z++) { LatLng src = list.get(z); LatLng dest = list.get(z + 1); distance = distance + SphericalCosinus(src.latitude, src.longitude, dest.latitude, dest.longitude); if (mMap != null) { Polyline line = mMap.addPolyline(new PolylineOptions() add(new LatLng(src.latitude, src.longitude), new LatLng(dest.latitude, dest.longitude)) width(5).color(color).geodesic(true)); lines.add(line); } pointedListener.OnDrawLine(lines, distance); }
Gambar 4.21 Source Code Draw Route
91
4) Source Code Checkpoint Merubah Entity string hasil dari JSON string menjadi titik – titik checkpoint yang akan di draw line. Hasil dari titik-titik checkpoint yang sudah di draw line tersebut akan di hitung jaraknya menggunakan method spherical law of cosines. Bisa dilihat pada Gambar 4.22 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
private List decodePoly(String encoded) { List poly = new ArrayList(); int index = 0, len = encoded.length(); int lat = 0, lng = 0; while (index < len) { int b, shift = 0, result = 0; do { b = encoded.charAt(index++) - 63; result |= (b & 0x1f) << shift; shift += 5; } while (b >= 0x20); int dlat = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1)); lat += dlat; shift = 0; result = 0; do { b = encoded.charAt(index++) - 63; result |= (b & 0x1f) << shift; shift += 5; } while (b >= 0x20); int dlng = ((result & 1) != 0 ? ~(result >> 1) : (result >> 1)); lng += dlng; LatLng p = new LatLng((((double) lat / 1E5)), (((double) lng / 1E5))); poly.add(p);}
Ganbar 4.22 Source Code Checkpoint
5) Source Code Method Spherical Law Of Cosines Perhitungan dasar yang di pakai di aplikasi, method yang menghitung jarak 2 titik secara garis lurus berdasarkan checkpoint – checkpoint yang sudah yang sudah di Draw Line. Bisa dilihat pada Gambar 4.23 1 2 3 4 5 6 7 8
private double SphericalCosinus(double lat1, double lon1, double lat2, double lon2) { double R = 6371; // km double dLon = (lon2 - lon1) * Math.PI / 180; lat1 = lat1 * Math.PI / 180; lat2 = lat2 * Math.PI / 180; double d = Math.acos(Math.sin(lat1) * Math.sin(lat2) + Math.cos(lat1) * Math.cos(lat2) * Math.cos(dLon))* R; return d;}
Gambar4.23 Source Code Method Spherical Law Of Cosines
92
4.2
Pengujian Sistem Pengujian merupakan bagian yang penting dalam pengembangan aplikasi. Tujuan
dari pengujian adalah untuk menjamin aplikasi yang dibangun memilki kualitas yang handal dan mampu mempresentasikankajian pokok dari spesifikasi, analisis dan perancangan dari aplikasi itu sendiri. 4.2.1 Rencana Pengujian Pengujian aplikasi ini menggunakan metode black box. Pengujian ini berfokus pada fungsional dari aplikasi yang dibuat. Tabel 4.1 adalah hasil pengujian aplikasi berdasarkan spesifikasi yang didefinisikan pada proses analisis dan implementasi Tabel 4.1 Tabel Pengujian Aplikasi
No
Deskripsi
Hasil Sukses Gagal
1
Login
√
2
Mengelola Data Admin
√
3
Mengelola Data Objek Wisata
√
4
Mengelola Data Fasilitas Umum
√
5
Menampilkan Data
√
6
Menampilkan Jarak
√
Menampilkan Map
√
7
Keterangan Memasukan username dan password, apabila salah system memberika peringatan Dapat menambah, mengubah, menghapus dan menampilkan data Admin Dapat menambah, mengubah, menghapus dan menampilkan data Objek Wisata Dapat menambah, mengubah, menghapus dan menampilkan data Fasilitas Umum Menampilkan data daftar objek wisata dan fasilitas umum. Menampilkan jarak posisi si pengguna ke posisi lokasi objek wisata dan fasilitas umum Menampilkan lokasi data yang telah dipilih
93
4.3
Tahap Evaluasi Berdasarkan dari hasil evaluasi pengujian perangkat lunak diatas maka penulis
menarik kesimpulan bahwa Aplikasi Layanan Pencarian Lokasi Objek Wisata di Kota Kuningan Berbasis Android ini sudah berjalan secara fungsional dan memberikan informasi sesuai dengan yang diharapkan.
94