79
BAB IV
IMPLEMENTASI DAN PENGUJIAN
4.1Implementasi
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 :
80
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
81
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
82
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.
83
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
84
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
85
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
86
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
87
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
88
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
89
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
90
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();
91
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<LatLng> 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<LatLng> list, int color) { List<Polyline> lines = new ArrayList<Polyline>();
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); }
92 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<LatLng> decodePoly(String encoded) { List<LatLng> poly = new ArrayList<LatLng>();
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;}
93
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 Keterangan
Sukses Gagal
1 Login √
Memasukan username dan password, apabila salah system memberika peringatan
2 Mengelola Data Admin √
Dapat menambah, mengubah, menghapus dan menampilkan data Admin
3 Mengelola Data Objek
Wisata √
Dapat menambah, mengubah, menghapus dan menampilkan data Objek Wisata
4 Mengelola Data Fasilitas
Umum √
Dapat menambah, mengubah, menghapus dan menampilkan data Fasilitas Umum
5 Menampilkan Data √ Menampilkan data daftar objek wisata dan fasilitas umum.
6 Menampilkan Jarak √
Menampilkan jarak posisi si pengguna ke posisi lokasi objek wisata dan fasilitas umum
7 Menampilkan Map √ Menampilkan lokasi data yang telah dipilih
94
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.