• Tidak ada hasil yang ditemukan

T1 672007227 Full text

N/A
N/A
Protected

Academic year: 2017

Membagikan "T1 672007227 Full text"

Copied!
19
0
0

Teks penuh

(1)

1. Pendahuluan

Latar Belakang

Kota Magelang merupakan kota tujuan wisata di Indonesia yang memiliki objek wisata menarik. Salah satu objek wisata yang ada adalah sebuah candi yang dibangun megah pada pemerintahan Syailendra, yaitu Candi Borobudur. Dalam dunia pariwisata, Candi Borobudur adalah objek wisata tunggal di Indonesia yang paling banyak dikunjungi wisatawan. Menurut Badan Pusat Statistik (BPS) Kabupaten Magelang, Candi Borobudur dapat mendatangkan 2.408.453 wisatawan di tahun 2010 dan akan bertambah setiap tahunnya [1]. Wisatawan di Kota Magelang pada umumnya melakukan pengalaman baru yang dapat diperoleh dari kegiatan pariwisata tersebut. Namun ada aktivitas lain yang dilakukan wisatawan selain menikmati objek sejarah, olah raga, adat istiadat, kegiatan di lapangan dan berbelanja, yaitu adalah bersantap. Hal ini memposisikan wisata kuliner sebagai salah satu andalan yang dapat ditawarkan. Kota Magelang memiliki pilihan menu makanan yang tersedia dengan berbagai keunikan yang terbagi dalam beberapa kategori jenis makanan, antara lain : bakso, soto, gudeg, sate, sop senerek, wedangan, jajanan dan oleh-oleh [2]. Namun, kurangnya informasi wisata kuliner di Kota Magelang menjadi suatu permasalahan yang ada saat ini, karena wisatawan butuh sumber informasi untuk mempermudah pencarian suatu wisata kuliner yang ada. Semakin berkembangnya teknologi, kini peta digitasi dibuat dalam dunia wisata kuliner dengan menyajikan berbagai informasi yang berhubungan dengan makanan khas. Dengan pembuatan Aplikasi untuk panduan wisata kuliner di Kota Magelang pada Android mobile ini, dapat membantu para wisatawan dalam pencarian objek wisata kuliner yang ada di Kota Magelang.

Rumusan Masalah

Rumusan permasalahan pada penelitian yang dilakukan yaitu bagaimana cara merancang dan mengimplementasikan aplikasi untuk panduan wisata kuliner di Kota Magelang pada Android mobile dengan sistem GPS dan Google Maps API.

Tujuan Penelitian

Tujuan dari penelitian yang dilakukan adalah membuat dan mengimplementasikan aplikasi untuk panduan wisata kuliner di Kota Magelang pada Android mobile dengan sistem GPS dan Google Maps API yang memberikan sebuah informasi menu makanan dan peta lokasi kuliner yang dipermudah dengan adanya sistem pencarian wisata kuliner di Kota Magelang.

2. Tinjauan Pustaka

Penelitian Terdahulu

(2)

pemakai dalam memenuhi kebutuhan untuk melakukan wisata kuliner di wilayah Yogyakarta.[3]

Penelitian tentang Directory Website Wisata Kuliner berbasis JSP dan database MySQL yang berguna membantu mencari inspirasi dan berbagi informasi bagi para pecinta wisata kuliner dan menyediakan fasilitas bagi pengusaha kuliner untuk mengenalkan produk kulinernya serta menyediakan fasilitas delivery menu makanan secara online.[4]

Penelitian tentang aplikasi Mobile Sistem Navigasi Berbasis J2ME yang akan digunakan untuk pencarian rute suatu lokasi atau tempat fasilitas umum di kota-kota besar. Dan juga sebagai pengganti peta yang lebih tepat dan akurat.[5]

Penelitian berikutnya aplikasi Desain Mobile Agent Pencarian Hotel dengan kriteria pencarian hotel meliputi harga, kualitas atau bintang, dan rute. Memanfaatan Google Map berbasis API Map dan API Location untuk mobile agent pencarian hotel dengan kriteria tertentu dimana posisi user berada.[6]

Dari beberapa penelitian di atas, aplikasi ini mengacu pada penelitian android mobile yang lebih menekankan pada pencarian lokasi wisata kuliner dengan memanfaatkan Google Map berbasis API Map dan API Location dengan kriteria tertentu dimana posisi user berada.

Fuzzy Multi-Attribute Decision Making (FMADM) adalah suatu metode yang digunakan untuk mencari alternatif optimal dari sejumlah alternatif dengan kriteria tertentu. Inti dari FMADM adalah menentukan nilai bobot untuk setiap atribut, kemudian dilanjutkan dengan proses perankingan yang akan menyeleksi alternatif yang sudah diberikan [7]. Ada beberapa metode yang dapat digunakan untuk menyelesaikan masalah FMADM salah satunya adalah Simple Additive Weighting Method (SAW). Metode SAW sering juga dikenal istilah metode penjumlahan terbobot. Konsep dasar metode SAW adalah mencari penjumlahan terbobot dari rating kinerja pada setiap alternatif pada semua atribut. Metode SAW membutuhkan proses normalisasi matriks keputusan (X) ke suatu skala yang dapat diperbandingkan dengan semua rating alternatif yang ada.

dimana rij adalah rating kinerja ternormalisasi dari alternatif Ai pada atribut Cj; i=1,2,...,m dan j=1, 2,...,n. Nilai preferensi untuk setiap alternatif (Vi) diberikan sebagai:

Nilai Vi yang lebih besar mengindikasikan bahwa alternatif Ai lebih terpilih.

Potensi Wisata Kuliner ada beberapa potensi produk wisata kuliner yang

(3)

Android merupakan sistem operasi bergerak yang menggunakan versi modifikasi dari kernel Linux. Sistem ini memiliki berbagai keunggulan sebagai software berbasis kode komputer yang bisa didistribusikan secara terbuka (open source), sehingga programmer bisa membuat aplikasi baru di dalamnya. Adanya Android Market dalam sistem operasi Android menghadirkan ribuan aplikasi baik yang gratis maupun berbayar.[9]

Java Servlet adalah sebuah class dalam bahasa pemgrograman Java yang digunakan untuk meningkatkan kapabilitas dari server sebagai host dari aplikasi yang diakses melalui request-response programming model (Diadaptasi dari tutorial J2EE) dan sebuah class java yang meng-implement interface Servlet dan menerima request yang berasal dari class Java, web client, atau servlet lain yang membangkitkan response.[10]

JSON singkatan dari JavaScript Object Notation (notasi objek Javascript) adalah suatu format ringkas untuk pertukaran data komputer. Format-nya berbasis teks dan terbaca manusia serta digunakan untuk merepresentasikan struktur data sederhana dan baris asosiatif atau bisa disebut sebagai obyek. Format JSON sering digunakan untuk mentransmisikan data terstruktur melalui suatu koneksi jaringan pada suatu proses yang disebut serialisasi.[11]

GPS (Global Positioning System) adalah sebuah sistem navigasi berbasiskan radio yang menyediakan informasi koordinat posisi, kecepatan dan waktu kepada pengguna di seluruh dunia [12]. Jasa penggunaan satelit GPS tidak dikenakan biaya. Pengguna hanya membutuhkan GPS receiver untuk dapat mengetahui koordinat lokasi. Keakuratan koordinat lokasi tergantung pada tipe GPS receiver. GPS terdiri dari tiga bagian yaitu satelit yang mengorbit bumi (Satelit GPS mengelilingi bumi 2x sehari), stasiun pengendali dan pemantau di bumi, dan GPS receiver (alat penerima GPS).

Google Maps API adalah layanan Peta gratis dari perusahaan Google, Inc. Google mengizinkan siapapun yang dapat menambahkan fitur Google maps dalam web mereka sendiri dengan Google maps API. Dalam hal kecepatan pencarian data, google sangat diunggulkan oleh semua pemakai internet, maka google maps sangat optimal dan handal dalam hal pencarian data.[13]

MySQL (My Structure Query Language) adalah sebuah program pembuat database yang bersifat open source, artinya siapa saja boleh menggunakannya dan tidak dicekal. MySQL sebenarnya produk yang berjalan pada platform Linux. Selain itu, MySQL juga merupakan program pengakses database yang bersifat jaringan sehingga dapat digunakan untuk aplikasi multiuser.[14]

3. Metode Penelitian

(4)

Analisis

Pada tahap ini, dilakukan analisis kebutuhan yang akan digunakan pada sistem. Sistem menggunakan beberapa potensi produk wisata kuliner [8] dan juga ditambahkan jarak untuk pencarian wisata kuliner. Data kuliner yang digunakan dalam sistem didapat dari Dinas Pariwisata Kota Magelang. Selain itu juga dilakukan analisa kebutuhan dengan disebar kuisioner sebanyak 20 kepada mahasiswa Universitas Kristen Satya Wacana (UKSW) untuk membantu sistem dalam memberikan nilai harga dan jarak.

Tabel 1Tabel perhitungan kuisioner

No Pertanyaan

Pertanyaan

Pertanyaan 1 Dalam mencari suatu kuliner berdasarkan harga, harga yang murah bagi anda adalah ?

Pertanyaan 2 Dalam mencari suatu kuliner berdasarkan harga, harga yang mahal bagi anda adalah ?

Pertanyaan 3 Dalam mencari suatu kuliner berdasarkan jarak, jarak yang dekat bagi anda adalah ?

Pertanyaan 4 Dalam mencari suatu kuliner berdasarkan jarak, jarak yang jauh bagi anda adalah ?

Pada Tabel 1 adalah daftar pertanyaan yang disebarkan kepada responden. Kuliner yang dimaksut adalah kuliner dengan porsi makan sedang. Pertanyaan 1 dan 2 untuk mencari nilai dari harga, sedangkan pertanyaan 3 dan 4 untuk mencari nilai jarak.

Tabel 2Tabel perhitungan kuisioner

No Pertanyaan

Di bawah Rp 7500

Di bawah Rp 10000

Di bawah Rp 15000

Total Responden

P 1 12

(60%) 6 (30%) 2 (10%) 20 (100%) Di atas Rp 1000 Di atas Rp 15000 Di atas Rp 20000

P 2 0

(0%) 15 (75%) 5 (25%) 20 (100%) Di bawah 1 Km Di bawah 1.5 Km Di bawah 2 Km

P 3 15

(75%) 2 (10%) 3 (15%) 20 (100%) Di atas 2 Km Di atas 2.5 Km Di atas 3 Km

P 4 11

(55%) 2 (10%) 7 (35%) 20 (100%)

(5)

dianggap sebagai harga sedang. Demikian juga dengan selang jarak dari jarak dekat ke jarak jauh nantinya akan dianggap sebagai jarak sedang.

Penerapan Algoritma FMADM

Sistem menggunakan algoritma FMADM dalam proses pencarian wisata kuliner. Langkah awal dalam menggunakan algoritma tersebut adalah membuat bilangan fuzzy untuk harga dan juga jarak.

Tabel 3Tabel himpunan harga

Harga Kuliner Range Harga (Rp)

MURAH X< 7500

SEDANG 7500-15000

MAHAL X > 15000

Dari harga murah, sedang dan mahal nantinya akan diberi nilai bobot 1-3 sesuai dengan parameter yang diberikan user. Jika user memberi parameter murah, maka murah memiliki nilai tertinggi yaitu 3, sedang memiliki nilai 2 dan mahal memiliki nilai 1. Jika user memberi parameter sedang, maka sedang memiliki nilai tertinggi yaitu 3, murah memiliki nilai 2 dan mahal memiliki nilai 1. Jika user memberi parameter mahal, maka mahal memiliki nilai tertinggi yaitu 3, sedang memiliki nilai 2 dan murah memiliki nilai 1.

Tabel 4Tabel himpunan jarak

Jarak Kuliner Range Jarak (Km)

DEKAT X<1

SEDANG 1-2

JAUH X>2

Dari jarak dekat, sedang dan jauh nantinya akan diberi nilai bobot 1-3 sesuai dengan parameter yang diberikan user. Jika user memberi parameter dekat, maka dekat memiliki nilai tertinggi yaitu 3, sedang memiliki nilai 2 dan jauh memiliki nilai 1. Jika user memberi parameter sedang, maka sedang memiliki nilai tertinggi yaitu 3, dekat memiliki nilai 2 dan jauh memiliki nilai 1. Jika user memberi parameter jauh, maka jauh memiliki nilai tertinggi yaitu 3, sedang memiliki nilai 2 dan dekat memiliki nilai 1.

(6)

Tabel 5Tabel contoh kuliner Nama Kuliner Harga

(Rp) Jarak A-B (Km)

Nilai Harga

Nilai Jarak

Bakso Bakar 4500 0.3 1 3

Bakso Lezat 5000 1.5 1 2

Bakso Sidomulyo 5500 2.5 1 1

Bakso Kerikil 5000 1.7 1 2

Langkah awal yang dilakukan adalah mendapatkan nilai jarak menggunakan Google Distance Matrix untuk melengkapi data. Setelah data lengkap dengan nilai harga dan nilai jarak, sistem memberikan nilai pembobotan dari data tersebut dan juga parameter yang diberikan user. Kemudian data yang sudah diberi nilai pembobotan dibentuk menjadi matriks X dan nilai pembobotan untuk mencari kuliner dibentuk menjadi matriks W dengan nilai tertinggi yaitu 3.

W = 3 3

X = 1 3

1 2

1 1

1 2

R11 = 1 / max {1,1,1,1,2,2,1,2} = 1/2 = 0.5 R12 = 1 / max {1,1,1,1,2,2,1,2} = 1/2 = 0.5 R13 = 1 / max {1,1,1,1,2,2,1,2} = 1/2 = 0.5 R14 = 1 / max {1,1,1,1,2,2,1,2} = 1/2 = 0.5

R21 = 3 / max {3,2,2,2,3,1,2,1} = 3/3 = 1 R22 = 2 / max {3,2,2,2,3,1,2,1} = 2/3 = 0.666 R23 = 1 / max {3,2,2,2,3,1,2,1} = 1/3 = 0.333 R24 = 2 / max {3,2,2,2,3,1,2,1} = 2/3 = 0.666

R = 0.5 1 0.5 0.666 0.5 0.333 0.5 0.666

Setelah mendapat matriks R, kemudian matriks tersebut dikalikan matriks W untuk mendapatkan nilai pembobotan V. Hasil dengan nilai yang terbesar adalah alternatif terbaik yang ada.

V1 = 3*0.5 + 3*1 = 1.5 + 3 = 4.5

(7)

V3 = 3*0.5 + 3*0.333 = 1.5 + 0.999 = 2.499 V4 = 3*0.5 + 3*0.666 = 1.5 + 1.998 = 3.498

Kebutuhan Software

Dalam pencarian wisata kuliner beserta rute, teknologi dan perangkat yang dibutuhkan adalah koneksi internet, android mobile, Google Maps API, Java Servlet, MySQL database dan FMADM. Google Maps API itu sendiri berfungsi untuk memanggil maps pada aplikasi dan MySQL database berfungsi untuk menyimpan informasi wisata kuliner dan menyimpan rute menuju wisata kuliner yang berasal dari database. Selain dapat membantu melakukan pencarian wisata kuliner beserta rute, aplikasi ini juga mengetahui posisi user berada dengan menggunakan GPS. Proses pencarian wisata kuliner menggunakan metode FMADM yang membantu mencari alternatif optimal dari sejumlah alternatif dengan kriteria tertentu.

Desain Sistem

Unified Modeling Language (UML) digunakan untuk menggambarkan bagaimana struktur dari rancangan aplikasi. UML adalah sebuah bahasa standar yang digunakan untuk menulis blueprint dari sebuah perangkat lunak. UML bisa juga digunakan untuk memvisualisasikan, menspesifikasikan, membangun dan mendokumentasikan sistem perangkat lunak.[16]

adm in use r

na v iga si pet a

m enca ri k uline r

m e na m pilk a n lok asi GPS m e la k uk a n pe rge se ra n pet a

m e la kuk an zoom I n / out

m enam bahk an loka si k uline r me nam bahka n rute k uline r

m e nge lola da ta kuliner

m enca ri da ta k uline r m e liha t da ta k uline r

me nam bah da ta kuliner me nge dit da ta k uline r

m e nghapus dat a k uline r

< < include> >

< < include> > < < include> > < < include> >

< < ext end> > < < include> >

< < include> >

< < include> >

< < include> >

< < include> > < < include> >

< < include> >

Gambar 1 Use Case Diagram

(8)

admin aplikasi server

input username & passw ord koneksi ke serv er cek dat abase

menu admin list username & password v alid username & passw ord invalid

insert dat a update Data delet e Data menu admin edit cari dat a

Gambar 2 Activity diagram login admin

. Proses login admin dijelaskan pada activity diagram pada Gambar 2. Sebelumnya admin harus login dahulu untuk masuk ke menu admin. Setelah login, admin dapat melakukan cari data, insert data, update data dan delete data.

user aplikasi serv er

pilih kat egori koneksi ke serv er eksekusi

hasil perankingan map

rut e kuliner lokasi kuliner det ail kuliner

FMADM

Gambar 3 Activity diagram user

(9)

KulinerI nfo

+ id + name + price + lat it ude + longitude + description + ket egoriI d + get Id() + get Name() + get Price() + get Lat it ude() + get Longit ude() + get Descript ion() + get KategoriI d()

Kat egoriKuliner

+ id + name + parent + get I d() + get Name() + get Parent() 1. . * 0.. 1

Gambar 4 Class diagram aplikasi server

Pada Gambar 4 menunjukan bahwa class tersebut adalah sebuah entity yang disimpan pada database, yaitu KulinerInfo dan KategoriKuliner. Class-class tersebut nantinya digunakan sebagai media yang digunakan aplikasi untuk memuat informasi dan menyimpan informasi tersebut pada database.

4. Hasil dan Pembahasan

Aplikasi server dengan aplikasi Java Servlet yang digunakan untuk

menerima request, kemudian menggenerate response berdasarkan request yang diterima tadi dari aplikasi client yang berupa aplikasi Android.

Ada proses-proses utama yang ada di dalam aplikasi server untuk melayani request dari aplikasi client. Proses-proses tersebut antara lain konektivitas dengan database, proses login admin, proses mengirim list kuliner dalam bentuk JSON, proses insert, update dan delete data. Sedangkan proses utama dari pada sistem adalah bagian pencarian wisata kuliner yang menggunakan algoritma FMADM dan juga perhitungan jarak dengan Google Distance Matrix.

Proses server yang pertama adalah membuat koneksi dengan MySQL database. Database yang digunakan sistem adalah awk_db dengan server localhost dan memiliki username serta passwort : root. Proses lain yang dilakukan server adalah proses login admin.

Kode Program 1 Proses login admin

Pada Kode Program 1 dijelaskan proses login admin, dimana server menggenerate response menggunakan HTTP Status Code. Jika login sukses maka 200 (SC_OK) dan jika login gagal maka 403 (SC_FORBIDDEN).

1 // hasil login berupa HTTP STATUS CODE

2 if (hasilLogin) {

3 System.out.println(response.SC_OK);

4 responseStatus = response.SC_OK;

5 System.out.println("login berhasil!");

6 } else {

7 System.out.println(response.SC_FORBIDDEN);

8 responseStatus = response.SC_FORBIDDEN;

(10)

Kode Program 2 List kuliner dalam format JSON

Pada Kode Program 2 dijelaskan proses response server yang digunakan untuk menampilkan list data kuliner. Data yang dikirim ke client berupa data dengan format JSON array : id, name, description, latitude, longitude, price dan kategoriId. Setelah list data kuliner tampil, admin dapat melakukan insert, update

dan delete dengan menggunakan perintah : INSERT_QUERY,

UPDATE_QUERY dan DELETE_QUERY. Proses-proses tersebut merupakan response server dari aplikasi client pada bagian admin. Sedangkan proses server pada user berada pada bagian pencarian. Proses pencarian yang diterima server adalah parameter kategori kuliner, harga dan jarak yang akan difilter -menggunakan FMADM. Sebelum proses filtering, dihitung terlebih dahulu perhitungan jarak antara lokasi GPS user berada ke lokasi kuliner menggunakan Google Distance Matrix. Setelah nilai jarak didapat, baru proses FMADM dijalankan yang dimulai dari proses pembobotan.

Kode Program 3 Proses pembobotan nilai harga

Pada Kode Program 3 dijelaskan bagaimana proses pembobotan nilai harga yang digunakan pada sistem. Pembobotan tersebut sesuai dengan parameter

1 switch (inputHarga){

2 case 1 :

3 if (harga < 7500D) {

4 value = 3;

5 } else if (harga >= 7500D && harga < 15000D) {

6 value = 2;

7 } else if (harga >= 15000D) {

8 value = 1;} break;

9 case 2 :

10 if (harga < 7500D) {

11 value = 3;

12 } else if (harga >= 7500D && harga < 15000D) {

13 value = 2;

14 } else if (harga >= 15000D) {

15 value = 1;} break;

16 case 3 :

17 if (harga < 7500D) {

18 value = 3;

19 } else if (harga >= 7500D && harga < 15000D) {

20 value = 2;

21 } else if (harga >= 15000D) { 22 value = 1; } break;

1 List<KulinerInfo>kulinerInfos = KulinerInfoDAO.loadAll();

2 JSONArray array = new JSONArray();

3 for (KulinerInfo kulinerInfo : kulinerInfos) {

4 JSONObject jsono = new JSONObject();

5 jsono.put("id", kulinerInfo.getId()); 6 jsono.put("name", kulinerInfo.getName());

7 jsono.put("description",kulinerInfo.getDescription()); 8 jsono.put("latitude", kulinerInfo.getLatitude()); 9 jsono.put("longitude", kulinerInfo.getLongitude()); 10 jsono.put("price", kulinerInfo.getPrice());

11 jsono.put("kategoriId",kulinerInfo.getKategori().getId());

12 array.put(jsono);}

(11)

yang diberikan user. Dari harga murah, sedang dan mahal nantinya akan diberi nilai bobot 1-3 sesuai dengan parameter yang diberikan user. Jika user memberi parameter murah, maka murah memiliki nilai tertinggi yaitu 3, sedang memiliki nilai 2 dan mahal memiliki nilai 1. Jika user memberi parameter sedang, maka sedang memiliki nilai tertinggi yaitu 3, murah memiliki nilai 2 dan mahal memiliki nilai 1. Jika user memberi parameter mahal, maka mahal memiliki nilai tertinggi yaitu 3, sedang memiliki nilai 2 dan murah memiliki nilai 1.

Kode Program 4 Proses pembobotan jarak

Pada Kode Program 4 dijelaskan bagaimana proses pembobotan jarak yang digunakan pada sistem. Pembobotan tersebut sesuai dengan parameter yang diberikan user. Jika user memberi parameter dekat, maka dekat memiliki nilai tertinggi yaitu 3, sedang memiliki nilai 2 dan jauh memiliki nilai 1. Jika user memberi parameter sedang, maka sedang memiliki nilai tertinggi yaitu 3, dekat memiliki nilai 2 dan jauh memiliki nilai 1. Jika user memberi parameter jauh, maka jauh memiliki nilai tertinggi yaitu 3, sedang memiliki nilai 2 dan dekat memiliki nilai 1.

Setelah mendapatkan pembobotan, barulah masuk ke proses perhitungan FMADM untuk mendapatkan perankingan kuliner sesuai dengan parameter yang diberikan user. Mulai dari menghitung R Harga, R Jarak dan V Hasil menggunakan rumus benefit. Hasil perankingan tersebut kemudian diurutkan dari nilai V terbesar sampai terkecil. Lalu diambil 5 dengan nilai tertinggi untuk ditampilkan di aplikasi client. Untuk lebih jelasnya dapat dilihat pada Pada Kode Program 5

1 switch (inputJarak) {

2 case 1 :

3 if (jarak <= 1000) {

4 value = 3;

5 } else if (jarak > 1000 && jarak < 2000) {

6 value = 2;

7 } else if (jarak >= 2000) {

8 value = 1;}break;

9 case 2:

10 if (jarak <= 1000) {

11 value = 2;

12 } else if (jarak > 1000 && jarak < 2000) {

13 value = 3;

14 } else if (jarak >= 2000) {

15 value = 1;} break;

16 case 3:

17 if (jarak <= 1000) {

18 value = 1;

19 } else if (jarak > 1000 && jarak < 2000) {

20 value = 2;

21 } else if (jarak >= 2000) {

(12)

Kode Program 5 Proses perhitungan algoritma FMADM

Aplikasi client adalah rancangan yang berupa aplikasi Android. Aplikasi ini

terdiri dari 4 halaman yang memiliki fungsi sendiri-sendiri. Halaman tersebut antara lain : Halaman menu utama terdapat beberapa fungsi yang ditampilkan, yaitu : map, kategori kuliner, harga, jarak kuliner dan menu inflater yang dapat dilihat pada Gambar 5.

Gambar 5 Halaman menu utama

Halaman menu utama terdapat 3 spinner yang digunakan untuk mencari kategori kuliner, harga dan juga jarak. Sedangka button cari digunakan untuk memproses pencarian dengan mengirimkan parameter ke aplikasi server. Dimana proses pencarian tersebut menggunakan algoritma FMADM yang dieksekusi oleh aplikasi server. Pada halaman menu utama ini, proses yang ditampilkan adalah lokasi GPS user, lokasi kuliner, rute dan informasi kuliner. Kuliner yang ditampilkan dalam balon adalah 5 dengan nilai tertinggi dari perankingan algoritma FMADM. Hasil perankingan didapat dari server berupa format JSON

1 System.out.println("CALCULATING FMADM R HARGA..."); 2 rHarga = new ArrayList<Float>();

3 int xMaks = Collections.max(xHarga);

4 for (int i = 0; i < distances.size(); i++) {

5 float x = xHarga.get(i);

6 float r = x / xMaks;

7 System.out.println("CALCULATING FMADM R JARAK..."); 8 rJarak = new ArrayList<Float>();

9 int xMaks = Collections.max(xJarak);

10 for (int i = 0; i < distances.size(); i++) { 11 float x = xJarak.get(i);

12 float r = x / xMaks;

13 System.out.println("CALCULATING V..."); 14 v = new ArrayList<Float>();

15 for (int i = 0; i < destinations.size(); i++) { 16 float x1 = xHarga.get(i);

17 float x2 = xJarak.get(i); 18 float r1 = rHarga.get(i); 19 float r2 = rJarak.get(i);

(13)

dengan menggunakan perintah HTTP GET yang dapat dilihat pada Kode Program 6.

Kode Program 6 Proses data degan format JSON

Hasil perankingan tersebut kemudian ditampilkan di map dalam bentuk balon-balon yang terdapat rute. Lebih jelasnya dapat dilihat pada dapat dilihat pada Gambar 6.

Gambar 6 Halaman hasil menu utama

Halaman menu admin login terdapat beberapa fungsi yang ditampilkan, yaitu : username, password dan tombol login. Untuk lebih jelasnya dapat dilihat pada Gambar 6.

1 kulinerInfos = new ArrayList<KulinerInfo>();

2 JSONArray array = new JSONArray(result);

3 for (int i = 0; i < array.length(); i++) {

4 JSONObject row = array.getJSONObject(i);

5 KulinerInfo info = new KulinerInfo();

6 info.setDescription(row.getString("description")); 7 info.setId(row.getLong("id"));

8 info.setLatitude(row.getDouble("latitude")); 9 info.setLongitude(row.getDouble("longitude")); 10 info.setName(row.getString("name"));

11 info.setPrice(row.getDouble("price"));

12 info.setKategori(new KategoriKuliner(row.getLong("kategoriId"), ""));

(14)

Gambar 7 Halaman menu login admin

Pada kolom username dan password digunakan untuk mengisi username dan password yang sudah ditentukan, yaitu : admin dan admin. Serta tombol login digunakan untuk masuk ke halaman menu admin list. Penanaganan fungsi tampilan pada halaman login admin dapat dilihat dalam Kode Program 7.

Kode Program 7 Fungsi tampilan halaman menu login admin

Apabila user melakukan inputan dengan username dan password dan menekan tombol login, maka aplikasi akan mengeksekusi perintah yang dapat dilihat pada Kode Program 8.

Kode Program 8 Proses login dengan HTTP POST

Pada Kode Program 8 dijelaskan proses eksekusi login. Dengan membuat koneksi dengan server melaui port dan URL terlebih dahulu. Lalu mengirim parameter username dan password ke server dengan HTTP POST. Setelah itu aplikasi client menggunakan HTTP Response untuk menerima return dari aplikasi server berupa HTTP Status Code. Jika login sukses maka 200 (SC_OK) dan akan masuk ke halaman menu admin list dan jika login gagal maka 403 (SC_FORBIDDEN) maka akan tetap pada halaman admin login yang dapat dilihat pada Kode Program 9.

1 HttpParams httpParams = new BasicHttpParams();

2 HttpConnectionParams.setConnectionTimeout(httpParams, 10000);

3 HttpResponse httpResponse = null;

4 HttpClient client = new DefaultHttpClient(httpParams);

5 String stringUrl = "http://10.0.2.2:" + port + "/AwkServer/LoginServlet";

6 HttpPost httpPost = new HttpPost(stringUrl);

7 List<NameValuePair> formLogin = new ArrayList<NameValuePair>(1); 8 formLogin.add(new BasicNameValuePair("username", this.username)); 9 formLogin.add(new BasicNameValuePair("password", this.password)); 1 user = (EditText) findViewById(R.id.usernameTxt);

2 pass = (EditText) findViewById(R.id.passwordTxt);

(15)

Kode Program 9 Proses response menggunakan HTTP Status Code

Halaman menu admin list terdapat beberapa fungsi yang ditampilkan, yaitu : kolom pencarian kuliner, list kuliner dan menu inflater. Lebih jelasnya dapat dilihat pada Gambar 8.

Gambar 8 Halaman admin list

Pada halaman admin list, sistem menggunakan HTTP GET untuk mendapatkan data kuliner dari server yang berupa format JSON. Kuliner yang ditampilkan dalam list adalah semua data kuliner yang ada. Proses tersebut dapat dilihat pada Kode Program 10.

Kode Program 10 Proses pengambilan data JSON

Menu lain pada halaman ini adalah kolom pencarian untuk memfilter list kuliner tersebut. Filter tersebut digunakan untuk membantu admin jika ada data yang ingin delete data atau update data. Selain kolom pencarian, halaman ini juga

1 kulinerInfos = new ArrayList<KulinerInfo>();

2 JSONArray array = new JSONArray(result);

3 for (int i = 0; i < array.length(); i++) {

4 JSONObject row = array.getJSONObject(i);

5 KulinerInfo info = new KulinerInfo();

6 info.setDescription(row.getString("description")); 7 info.setId(row.getLong("id"));

8 info.setLatitude(row.getDouble("latitude")); 9 info.setLongitude(row.getDouble("longitude")); 10 info.setName(row.getString("name"));

11 info.setPrice(row.getDouble("price"));

12 info.setKategori(new KategoriKuliner(row.getLong("kategoriId"), ""));

13 kulinerInfos.add(info);

1 if (httpResponse != null)

2 switch ((httpResponse).getStatusLine().getStatusCode()) {

3 case HttpStatus.SC_OK: // HTTP 200

4 result = HttpStatus.SC_OK;

5 break;

6 case HttpStatus.SC_FORBIDDEN: // HTTP 403

7 result = HttpStatus.SC_FORBIDDEN;

(16)

memiliki menu inflater untuk menambah data kuliner yang terdapat pada menu admin edit.

Halaman admin edit terdapat 2 macam kondisi, yaitu :

Jika admin memilih salah satu kuliner dari halaman menu admin list, maka dapat dilihat pada Gambar 9.

Gambar 9 Halaman admin edit 1

Pada Gambar 8 dijelaskan halaman menu admin edit 1 sudah terdapat data kuliner yang ditampilkan. Data kuliner tersebut didapat dari halaman admin list yang berupa format JSON. Data JSON tersebut antara lain : id kuliner, nama, harga, latitude, longitude, deskripsi dan id kategori kuliner. Pada halaman ini dapat dilakukan proses update atau delete data dengan menggunakan menu inflater. Jika admin menggunakan inflater menu admin edit, maka dapat dilihat pada Gambar 10.

Gambar 10 Halaman admin edit 2

Pada Gambar 10 dijelaskan halaman menu admin edit 2 merupakan halaman untuk menambahkan data kuliner baru. Pada halaman ini dapat dilakukan proses insert data dengan menggunakan menu inflater.

(17)

MapView untuk mendapat poin latitude dan longitude. Lebih jelasnya dapat dilihat pada Gambar 11.

Gambar 11 Halaman set lokasi kuliner

Pada Gambar 11 dijelaskan pengambilan poin latitude dan longitude menggunakan android marker dengan proses OnTap. Dimana titik yang dipilih akan ditampilkan menggunaka toast yang berisi informasi latitude dan longitude tersebut. Dalam pengujian sistem menggunakan kuisioner, disebar kuisioner pada mahasiswa Universitas Kristen Satya Wacana (UKSW). Sebelum koresponden mengisi kuisioner, responden dipersilahkan untuk menggunakan dan menjalankan Aplikasi Untuk Panduan Wisata Kuliner di Kota Magelang Pada Android mobile. Berikut ini adalah daftar pertanyaan yang dapat dilihat pada Tabel 5.

Tabel 3Tabel pertanyaan

No Pertanyaan Pertanyaan

Pertanyaan 1 Apakah aplikasi ini mudah dimengerti ?

Pertanyaan 2 Bagaimana tingkat kesulitan dalam menjalankan aplikasi ini ? Pertanyaan 3 Bagaimana tampilan aplikasi ini ?

Pertanyaan 4 Apakah aplikasi bermanfaat bagi anda ?

(18)

Tabel 4Tabel perhitungan kuisioner

No Sangat Mudah Mudah Cukup Sulit Sangat Sulit Total

P 1 2

(10%) 16 (80%) 2 (10%) 0 (0%) 0 (0%) 20 (100%)

P 2 1

(5%) 14 (70%) 5 (25%) 0 (0%) 0 (0%) 20 (100%) Sangat Menarik

Menarik Cukup Jelek Sangat Jelek

P 3 1

(5%) 17 (85%) 2 (10%) 0 (80%) 0 (80%) 20 (100%) Sangat Ber manfaat Ber manfaat

Cukup Kurang Ber manfaat

Tidak Ber manfaat

P 4 5

(25%) 13 (65%) 1 (5%) 1 (5%) 0 (0%) 20 (100%) Sangat Membantu Mem bantu

Cukup Kurang Membantu

Tidak Mem bantu

P 5 7

(35%) 12 (60%) 1 (5%) 0 (0%) 0 (0%) 20 (100%) Pada Tabel 4 menjelaskan pertanyaan ke-1 yaitu “Apakah aplikasi ini mudah dimengerti?” sebanyak 2 (10%) responden menjawab sangat mudah, 16 (80%) responden menjawab mudah dan 2 (10%) responden menjawab cukup. Pada pertanyaan ke-1 aplikasi ini mudah dimengerti bagi reponden.

Pertanyaan ke-2 yaitu “Bagaimana tingkat kesulitan dalam menjalankan aplikasi ini ?” sebanyak 1 (5%) responden menjawab sangat mudah, 14 (70%) responden menjawab mudah dan 5(25%) responden menjawab cukup. Jadi kesimpulannya aplikasi. Pada pertanyaan ke-2 aplikasi ini mudah untuk dijalankan bagi responden.

Pertanyaan ke-3 yaitu “Bagaimana tampilan aplikasi ini ?” sebanyak 1 (5%) responden menjawab sangat menarik, 17 (85%) responden menjawab menarik dan 2 (10%) responden menjawab cukup. Pada pertanyaan ke-3 aplikasi ini memiliki tampilan yang menarik bagi responden.

Pertanyaan ke-4 yaitu “Apakah aplikasi ini bermanfaat bagi anda?” sebanyak 5 (25%) responden menjawab sangat bermanfaat, 13 (65%) responden menjawab bermanfaat, 1 (5%) responden menjawab cukup dan 1 (5%) menjawab kurang bermanfaat. Pada pertanyaan ke-4 aplikasi ini bermanfaat bagi responden.

Pertanyaan ke-5 yaitu “Apakah aplikasi ini membantu dalam pencarian wisata kuliner?” sebanyak 2 (35%) responden menjawab sangat membantu, 16 (60%) responden menjawab membantu dan 2 (5%) responden menjawab cukup. Pada pertanyaan ke-5 aplikasi ini sangat membantu untuk mencari wisata kuliner bagi responden

(19)

5. Kesimpulan

Kesimpulan yang dapat diambil dari hasil perancangan aplikasi adalah aplikasi client yang menggunakan android dapat bekerja sebagai user dan admin. Dengan terkoneksi oleh aplikasi server yang menggunakan java servlet. Dimana server dapat memproses setiap request yang dikirimkan oleh aplikasi client.

Hasil akhir dari perancangan berupa aplikasi untuk panduan wisata kuliner di Kota Magelang pada android mobile yang dapat membantu para wisatawan untuk mencari wisata kuliner dengan lebih mudah.

6. Daftar Pustaka

[1] Pemerintah Kabupaten Magelang, 2012, http://magelangkab.bps.go.id, Diakses tanggal 8 Januari 2011.

[2] Pemerintah Kota Magelang, 2011, http://www.magelangkota.go.id, Diakses tanggal 1 Agustus 2011.

[3] Hamdani. (2010). Sistem Pendukung Keputusan Wisata Kuliner Dengan Visualisasi Geografi. (Vol 5 No. 1 Februari 2010 19). Samarinda: Jurnal Informatika Mulawarman.

[4] Andayani, N. (2006). Pembuatan Directory Website Wisata Kuliner Berbasis JSP. Surabaya: Politeknik Elektronika.

[5] Putri, P. (2009). Sistem Navigasi Berbasis J2ME. Surabaya: Politeknik Elektronika.

[6] Kurniawan, E. (2011). Desain Mobile Agent Pencarian Hotel. Salatiga: Informatika.

[7] Sri Kusuma Dewi, S. H. (2006). Fuzzy Multi-Attribute Decision Making (Fuzzy MADM). Yogyakarta: Graha Ilmu.

[8] Anshori,Y., & Satya, D., G. (2008). Sparkling Surabaya. Surabaya: Bayu Media Publishing.

[9] Cooper, M. (2010). Step by Step Smartphone Android. Massachusetts: Pace University.

[10] Jeni, 2011, http://www.scribd.com/doc/7589785/jeniweb-programmingbab-2basic-servlets, Diakses tanggal 6 Juli 2011.

[11] JSON, 2012, http://www.json.org/, Diakses tanggal 3 Januari 2012. [12] Ivan, G. (2009). Optimalisasi Hasil Pengukuran GPS. Yogyakarta:

Multimedia Center Publishing.

[13] Anonymous, 2012, Referensi Dosen Narotama, http://webcache.googleusercontent.com/search?q=cache:oQJ11VCZcNgJ:r eferensi.dosen.narotama.ac.id/files/2011/12/jbptunikompp-gdl-antonizuli-22743-10-13.unik-i.pdf+&hl=id&gl=id, Diakses tanggal 7 Februari 2012. [14] Nugroho, B. (2008). Aplikasi Pemograman Web Dinamis dengan PHP dn

MySQL. Yogyakarta: Penerbit Gava Media.

[15] Sommerville, I. (2000). Software Engineering. Malang: Erlangga.

Gambar

Tabel 1 Tabel perhitungan kuisioner
Tabel 3 Harga Kuliner Tabel himpunan harga Range Harga (Rp)
Tabel 5 Tabel contoh kuliner Harga Jarak A-B
Gambar 1 Use Case Diagram
+7

Referensi

Dokumen terkait

Berdasarkan hasil observasi awal dan wawancara dengan guru biologi di SMA Negeri 1 Majalengka terkait pembelajaran biologi, bahwa guru senantiasa membuat perangkat

(1) Pada bangunan yang tidak mempunyai instalasi penyalur petir, pemasangan penyalur tegangan lebih antara antena dengan elektroda bumi harus dipasang diluar bangunan; (2)

mendapatkan uang dari pelanggan atas pemakaian listrik dan kewajiban pelanggan untuk membayar listrik setiap bulan rekening, sehingga akibat hukum dari kelalaian

Pelanggan yang memilih untuk keuntungan awal atau keuntungan bulanan digalakkan untuk mempunyai sama ada Akaun Semasa atau Akaun Simpanan Islamik (CASA-i) dengan

Görüldüğü gibi Kuranın savaşta ganimet adı altında helal kıldığı yağmacılık günümüz modern hukukunda insanlığa karşı işlenmiş ağır

Sedangkan di Ind o nesia, profil dengan bukaan circu l ar baik dengan atau tanpa adding p lates di Indone si a belum ban y ak... Berdaurkan uraian pada pendahuluan

Penelitian ini bertujuan untuk menganalisis pengaruh kesadaran wajib pajak, pengetahuan wajib pajak, sanksi pajak, penerapan sistem e-filling, sikap rasional dan persepsi tarif

Penelitian ini bertujuan untuk melihat hasil belajar siswa dan minat siswa saat bekerja di kelas VIII-A SMP NEGERI 39 Medan pada mata pelajaran Matematika