mobile.pdf
DESCRIPTION
javaTRANSCRIPT
APLIKASI BERGERAK (MOBILE APPLICATION)
PEMANDU WISATA WILAYAH MALANG RAYA
BERBASIS J2ME
SKRIPSI
Oleh:
INTAN NUR FARIDA
NIM: 05550043
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI (UIN)
MAULANA MALIK IBRAHIM MALANG
2010
APLIKASI BERGERAK (MOBILE APPLICATION)
PEMANDU WISATA WILAYAH MALANG RAYA
BERBASIS J2ME
SKRIPSI
Diajukan Kepada:
Jurusan Teknik Informatika
Universitas Islam Negeri (UIN) Maulana Malik Ibrahim Malang
untuk Memenuhi Salah Satu Persyaratan dalam
Memperoleh Gelar Sarjana Komputer (S. Kom)
Oleh:
INTAN NUR FARIDA
NIM: 05550043
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI (UIN)
MAULANA MALIK IBRAHIM MALANG
2010
HALAMAN PERSETUJUAN
APLIKASI BERGERAK (MOBILE APPLICATION)
PEMANDU WISATA WILAYAH MALANG RAYA
BERBASIS J2ME
SKRIPSI
Oleh:
INTAN NUR FARIDA
NIM: 05550043
Telah Disetujui, 22 Januari 2010
Mengetahui,
Ketua Jurusan Teknik Informatika
Ririen Kusumawati, M. Kom
NIP. 197203092005012002
Dosen Pembimbing I, Dosen Pembimbing II,
Fatchurrochman, M. Kom
Ach. Nasichuddin, M. A
NIP. 197007312005011002 NIP. 197307052000031002
HALAMAN PENGESAHAN
APLIKASI BERGERAK (MOBILE APPLICATION)
PEMANDU WISATA WILAYAH MALANG RAYA
BERBASIS J2ME
SKRIPSI
OLEH
INTAN NUR FARIDA
NIM: 05550043
Telah Dipertahankan di Depan Dewan Penguji Skripsi dan
Dinyatakan Diterima sebagai Salah Satu Persyaratan
untuk Memperoleh Gelar Sarjana Komputer (S.Kom)
Tanggal, 22 Januari 2010
Susunan Dewan Penguji : Tanda Tangan
1. Penguji Utama : Syahiduzzaman, M. Kom ( )
NIP. 197005022005011005
2. Ketua Penguji : Ririen Kusumawati, M. Kom ( )
NIP. 197203092005012002
3. Sekertaris Penguji : Fatchurrochman, M. Kom ( )
NIP. 197007312005011002
4. Anggota Penguji : Ach. Nasichuddin, M. A ( )
NIP. 197307052000031002
Mengetahui dan Mengesahkan,
Ketua Jurusan Teknik Informatika
Fakultas Sains dan Teknologi
Universitas Islam Negeri (UIN)
Maulana Malik Ibrahim Malang
Ririen Kusumawati, M. Kom
NIP 197203092005012002
LEMBAR PERNYATAAN
Saya yang bertanda tangan dibawah ini :
Nama : Intan Nur Farida
NIM : 05550043
Jurusan : Teknik Informatika
Judul Tugas Akhir : APLIKASI BERGERAK (MOBILE APPLICATION)
PEMANDU WISATA WILAYAH MALANG RAYA
BERBASIS J2ME
Dengan ini menyatakan bahwa :
1. Isi dari tugas Akhir yang saya buat adalah benar-benar karya sendiri dan
tidak menjiplak karya orang lain, selain nama-nama termaktub di isi dan
tertulis di daftar pustaka dalam Skripsi ini.
2. Apabila dikemudian hari ternyata Skripsi saya tulis terbukti hasil jiplakan,
maka saya akan bersedia menanggung segala resiko yang akan saya
terima.
Demikian pernyataan ini dibuat dengan segala kesadaran.
Malang, Januari 2010
Yang menyatakan,
Intan Nur Farida
NIM. 05550043
MOTTO
Hai orang-orang yang beriman, jadikanlah sabar dan shalat sebagai
penolongmu. . Sesungguhnya Allah beserta orang-orang yang sabar.
(QS. Al-Baqarah : 153)
Satu-satunya hal yang tak dapat dimengerti mengenai alam semesta adalah bahwa ia dapat dimengerti. (Einstein)
Persembahan
Skripsi ini kupersembahkan kepada:
Bapakq dan ibuq tercinta yang selalu mendidik, memberikan kasih sayang sepanjang masa dan mendoakanku serta mendukung setiap
langkahku untuk menuntut ilmu hingga tercipta karya ini…. Semoga Allah SWt selalu memberikan kebahagiaan dunia akhirat.
Aamiin…..
Kakakq Mas Udin (M.E.W) yang selalu mengarahkan dalam setiap kesulitan yang kuhadapi. Adekq D’ Yusuf (M.Y.A.D) dan D’ Fajar
(M.F.A.Q.R) yang selalu memberikan motivasi. Sepupuq, Mb’ Umi Wardah dan D’ Putri terima kasih atas
semangatnya. Seluruh karib kerabatku yang mendoakan dan mendukung tiap detik hari-hariku
Dosen2 Teknik Informatika UIN Maulana Malik Ibrahim Malang:
P. Fatchur, P. Zainal, B. Ririn, P. Faisal, P. Syahid, P. Amin, P. Totok,
P. Har, P. Yaqin, B. Roro, B. Hani, P. Agus & Staf Lab. P. Gun, P. Deni
dan P. Wawan
Spesial thank’s to Mas Akif, terima kasih atas segala bentuk dukungan dan motivasi serta semangatnya…..
Arek-arek kosan: senasib seperjuangan angk ‘05 (Aim, Novita, Binta, Dwi),
Masmi, Mbak Lila, Mbak Tatin, Yogi, Mbak Anjar, Mega dan Ocha terima
kasih atas kebersamaan yang memberiku semangat …
Teman-teman jurusan Teknik Informatika terutama angkatan 2005 dan
kakak2 angkatan 2004 serta adek2 jurusan TI lainnya…..
Sahabat-sahabatku (Galileo & Kom’s Sunan Ampel), kawan-kawanku dan
teman-temanku semuanya……terima kasih atas pelajaran, pengalaman,
kegiatan dan hikmah sehingga menambah pengetahuan dan wawasan dalam
hidupku
KATA PENGANTAR
Assalamualaikum Wr. Wb.
Puji syukur alhamdulillah penulis panjatkan ke hadirat Allah SWT atas
segala rahmat, taufiq serta hidayah-Nya sehingga penulis dapat menyelesaikan
skripsi ini dengan judul “Aplikasi Bergerak (Mobile Application) Pemandu
Wisata Wilayah Malang Raya Berbasis J2ME”.
Shalawat serta salam semoga tetap terlimpahkan kepada junjungan kita
Nabi Agung Muhammad SAW yang telah membimbing ummatnya dari kesesatan
menuju jalan yang diridloi Allah SWT yakni Diinul Islam.
Penulis menyadari bahwa baik dalam perjalanan studi maupun dalam
penyelesaian skripsi ini, penulis banyak memperoleh bimbingan dan motivasi dari
berbagai pihak, oleh karena itu pada kesempatan ini penulis menyampaikan
terimakasih yang sedalam-dalamnya kepada:
1. Bapak Prof. Dr. H. Imam Suprayogo, selaku Rektor Universitas Islam Negeri
(UIN) Maulana Malik Ibrahim Malang, dan para pembantu Rektor, atas segala
motivasi dan layanan fasilitas yang telah diberikan selama ini.
2. Ibu Ririn Kusumawati, M. Kom., selaku Ketua Jurusan Teknik Informatika
Universitas Islam Negeri (UIN) Maulana Malik Ibrahim Malang.
3. Bapak Fatchurrochman, M.Kom, selaku Dosen Pembimbing yang penuh
perhatian, ketelatenan dan kesabaran dalam memberikan bimbingan serta
arahan dalam penulisan skripsi ini.
4. Ustadz A. Nasichudin, M. A yang telah bersedia meluangkan waktunya untuk
memberikan bimbingan dan pengarahan selama penulisan skripsi di bidang
integrasi Sains dan Al-Qur‟an.
5. Bapak dan ibu, kedua orang tua yang selalu membimbing dan mendidik, serta
Kakak dan adik-adikku tercinta yang selalu mendukung dan mendo‟akan
sehingga sampai pada detik-detik penulisan skripsi ini dengan lancar.
6. Teman-teman Teknik Informatika, terutama angkatan 2005 beserta semua
pihak yang telah membantu penyelesaian skripsi ini.
7. Teman-temanku kosan yang selalu memberi semangat dan dukungan untuk
menyelesaikan tugas akhir ini.
8. Ibu Rosa A.S ([email protected]) yang selalu siap menjawab
pertanyaan dalam setiap kesulitan, Pak Andi Sunyoto (www.andisun.com), Pak
Amri Shodiq dan Pak Adi Wicaksono terima kasih atas wawasan dan
pengetahuan yang telah diberikan.
9. Dan semua pihak yang tidak dapat saya sebutkan satu-persatu terima kasih
banyak atas bantuan dan motifasinya.
Dengan bekal dan kemampuan terbatas, penulis menyadari bahwa dalam
penulisan skripsi ini masih jauh dari sempurna dan masih banyak kekurangan.
Akhirnya, tiada kata selain harapan semoga skripsi ini bermanfaat sesuai dengan
maksud dan tujuannya. Amiin Ya Robbal Alamiin.
Wassalamu‟alaikum Wr. Wb.
Malang, Januari 2010
Penulis
DAFTAR ISI
HALAMAN JUDUL .........................................................................................i
HALAMAN PENGAJUAN ..............................................................................ii
HALAMAN PERSETUJUAN..........................................................................iii
HALAMAN PENGESAHAN ...........................................................................iv
LEMBAR PERNYATAAN ..............................................................................v
MOTTO .............................................................................................................vi
PERSEMBAHAN ..............................................................................................vii
KATA PENGANTAR .......................................................................................viii
DAFTAR ISI ......................................................................................................x
DAFTAR TABEL DAN GAMBAR .................................................................xiv
ABSTRAK .........................................................................................................xvi
BAB I: PENDAHULUAN.................................................................................1
1.1 Latar Belakang .............................................................................1
1.2 Rumusan Masalah ........................................................................4
1.3 Batasan Masalah...........................................................................5
1.4 Tujuan Penelitian dan Manfaat Penelitian ...................................5
1.5 Sistematika Penulisan...................................................................6
BAB II: LANDASAN TEORI ..........................................................................8
2.1 Petunjuk Alam dalam Perspektif Islam ........................................8
2.2 Profil Geografis Malang ...............................................................15
2.3 Pemandu Wisata ...........................................................................16
2.3.1 Pengertian .........................................................................16
2.3.2 Tugas-tugas Pramuwisata.................................................16
2.3.3 Jenis-jenis Pramuwisata ...................................................17
2.3.3.1 Berdasarkan Tempat Melaksanakan Tugas .......17
2.3.3.2 Berdasarkan Spesifikasi .....................................18
2.3.3.3 Berdasarkan Asal Wisatawan dan Wilayah
Negara Tempat Dilaksanakannya Tur ...............18
2.3.3.4 Berdasarkan Status ............................................19
2.3.3.5 Berdasarkan Tingkatan ......................................19
2.3.3.6 Berdasarkan Jumlah Wisatawan yang
Ditangani ...........................................................20
2.4 Java ...............................................................................................20
2.5 Java2 Micro Edition (J2ME) .......................................................22
2.5.1 Pengertian .........................................................................22
2.5.2 Arsitektur J2ME ...............................................................23
2.5.3 Verifikasi Class ................................................................25
2.5.4 KVM (Kilobyte Virtual Machine) ....................................26
2.5.5 CVM (C-Virtual Machine) ...............................................26
2.5.6 MIDlet ..............................................................................26
2.5.7 JAD (Java Application Descriptor) ..................................28
2.6 Record Management System ........................................................28
2.7 Aplikasi Bergerak (Mobile Application) ......................................30
2.8 UML .............................................................................................32
2.9 Netbeans Mobility 6.0 ..................................................................34
2.10 Rumus Jarak ................................................................................35
BAB III: DESAIN DAN PERANCANGAN SISTEM ...................................38
3.1 Tahap-Tahap Pembuatan Program ................................................38
3.1.1 Survei dan Pengumpulan Data .........................................38
3.1.2 Analisis dan Perancangan ................................................38
3.1.3 Implementasi ....................................................................39
3.1.4 Ujicoba dan Integrasi Software ........................................39
3.2 Analisis dan Perancangan Aplikasi .............................................40
3.2.1 Use Case Diagram............................................................40
3.2.2 Activity Diagram...............................................................41
3.2.2.1 Activity Diagram dari Use Case Login..............41
3.2.2.2 Activity Diagram dari Use Case Entry
Data Hotel ..........................................................42
3.2.2.3 Activity Diagram dari Use Case
Melihat Peta .......................................................43
3.2.2.4 Activity Diagram dari Use Case Mencari
Posisi ..................................................................44
3.2.2.5 Activity Diagram dari Use Case
Menghitung Jarak ..............................................44
3.2.3 Sequence Diagram ............................................................45
3.2.3.1 Sequence Diagram dari Use case Login............45
3.2.3.2 Sequence Diagram dari Use case Entri
Data Objek .........................................................46
3.2.3.3 Sequence Diagram dari Use case
Melihat Peta .......................................................48
3.2.3.4 Sequence Diagram dari Use Case
Mencari Posisi ...................................................49
3.2.3.5 Sequence Diagram dari Use case
Menghitung Jarak ..............................................50
3.2.4 Class Diagram ..................................................................52
3.2.5 Flow Diagram...................................................................53
3.2.6 Desain Layout ..................................................................55
3.2.6.1 SplashScreen ......................................................55
3.2.6.2 Form Welcome ..................................................55
3.2.6.3 List Menu ...........................................................56
3.2.6.4 Form Peta ...........................................................56
3.2.6.5 Form Profil ........................................................57
3.2.6.6 Form Admin ......................................................57
3.2.6.7 Form Bantuan ....................................................58
3.2.6.8 Form Menghitung Jarak .....................................58
3.2.6.9 Pesan ..................................................................59
3.2.6.10 List Database ...................................................59
3.2.6.1 1 Form JalanDB dan List ViewJalan ..................60
3.2.6.12 FormObwisDB dan listViewObjek .................60
3.2.6.13 Form HotelDB dan list ViewHotel ..................61
3.2.6.14 Form RestoDB dan List ViewResto ................62
3.2.6.15 Form RSDB dan List ViewRS .........................62
3.2.6.16 Form BelanjaDB dan List ViewBelanja ..........63
3.2.6.17 Form Informasi dan List ViewInformasi ..........63
3.2.7 Database Menggunakan Record Management
Store (RMS) .....................................................................64
3.2.8 Koneksi RMS dengan Data dan Gambar .........................66
3.2.9 Kuesioner .........................................................................67
3.2.10 Perhitungan Jarak .............................................................72
BAB IV: HASIL DAN PEMBAHASAN .........................................................74
4.1 Implementasi Program dalam Pandangan Islam ..........................74
4.1.1 Kebutuhan Perangkat Keras .............................................75
4.1.1.1 Personal Komputer ..............................................75
4.1.1.2 Handphone ...........................................................76
4.1.2 Kebutuhan Perangkat Lunak ............................................76
4.1.3 Setup Program di Komputer.............................................76
4.1.4 Implementasi Aplikasi pada Handphone .........................77
4.1.5 Implementasi Record Management System .....................77
4.1.6 Implementasi Antarmuka .................................................80
4.1.6.1 Form ...................................................................80
4.1.6.2 List .....................................................................80
4.1.6.3 Alert ...................................................................80
4.1.6.4 Canvas ...............................................................81
4.2 Pembahasan ..................................................................................83
4.2.1 SplashScreen ....................................................................83
4.2.2 Form Welcome .................................................................84
4.2.3 List Menu .........................................................................85
4.2.4 Form Peta .........................................................................87
4.2.5 Form Profil .......................................................................88
4.2.6 Form Admin .....................................................................89
4.2.7 Form Database .................................................................90
4.2.8 Form JalanDB ..................................................................92
4.2.9 Form Objek WisataDB .....................................................93
4.2.10 Form HotelDB ..................................................................94
4.2.11 Form RestoDB .................................................................95
4.2.12 Form RSDB ......................................................................96
4.2.13 Form BelanjaDB ..............................................................97
4.2.14 Form Bantuan ...................................................................98
4.2.15 Form Menghitung Jarak ...................................................99
4.2.15 Form Informasi.................................................................101
4.3 Evaluasi Program .........................................................................102
4.3.1 Uji Coba ...........................................................................102
4.3.2 Hasil Kuesioner ................................................................103
BAB V: PENUTUP ...........................................................................................105
5.1 Kesimpulan ..................................................................................105
5.2 Saran .............................................................................................105
DAFTAR PUSTAKA
LAMPIRAN-LAMPIRAN
DAFTAR TABEL DAN GAMBAR
Tabel Halaman
3.1 Penjelasan Use case diagram ............................................................ 40
3.2 Tabel Jalan ......................................................................................... 64
3.3 Tabel Objek Wisata ........................................................................... 65
3.4 Tabel Hotel ........................................................................................ 65
3.5 Tabel Restoran ................................................................................... 65
3.6 Tabel Rumah Sakit ............................................................................ 66
3.7 Tabel Pusat Belanja ........................................................................... 66
3.8 Tabel Hasil Kuesionar ....................................................................... 68
3.9 Tabel Perhitungan Objek Wisata ....................................................... 72
3.10 Tabel Perhitungan Hotel .................................................................... 72
3.11 Tabel Perhitungan Pusat Perbelanjaan............................................... 73
Gambar
2.1 Platform Java ....................................................................................... 22
2.2 Arsitektur J2ME .................................................................................. 23
2.3 Proses Verifikasi Dua Tingkat ............................................................ 26
2.4 Daur Hidup MIDlet ............................................................................. 27
2.5 Keterkaitan MIDlet dan Record store .................................................. 28
2.6 Jarak P dan Q pada koordinat .............................................................. 36
3.1 Use Case Diagram Current System ..................................................... 40
3.2 Activitye Diagram dari Use Case Login .............................................. 41
3.3 Activitye Diagram dari Use Case Entry Data Hotel ............................ 42
3.4 Activitye Diagram dari Use Case Melihat Peta ................................... 43
3.5 Activitye Diagram dari Use Case Mencari Posisi ............................... 44
3.6 Activitye Diagram dari Use Case Menghitung Jarak .......................... 44
3.7 Sequence Diagram dari Use Case Login ............................................. 46
3.8 Sequence Diagram dari Use Case Entri Data Objek ........................... 47
3.9 Sequence Diagram dari Use Case Melihat Peta .................................. 48
3.10 Sequence Diagram dari Use Case Mencari Posisi .............................. 50
3.11 Sequence Diagram dari Use Case Menghitung Jarak ......................... 51
3.12 Class Diagram .................................................................................... 53
3.13 Flow Diagram ..................................................................................... 54
3.14 Desain splashScreen............................................................................ 55
3.15 Desain formWelcome.......................................................................... 55
3.16 Desain listMenu .................................................................................. 56
3.17 Desain Form Peta ................................................................................ 56
3.18 Desain Form Profil .............................................................................. 57
3.19 Desain Form Admin ............................................................................ 57
3.20 Desain Form Bantuan .......................................................................... 58
3.21 (a) Desain Form Menghitung Jarak..................................................... 58
(b) List Hasil Perhitungan ................................................................... 58
3.22 Desain Pesan ....................................................................................... 59
3.23 Desain List Database ........................................................................... 59
3.24 (a) Desain formJalanDB ...................................................................... 60
(b) listViewJalan ................................................................................. 60
3.25 (a) Desain formObwisDB ................................................................... 60
(b) listViewObjek ................................................................................. 60
3.26 (a) Desain formHotelDB ..................................................................... 61
(b) listViewHotel ................................................................................. 61
3.27 (a) Desain formRestoDB ..................................................................... 62
(b) listViewResto ................................................................................. 62
3.28 (a) Desain formRSDB ......................................................................... 62
(b) listViewRS ...................................................................................... 62
3.29 (a) Desain formBelanjaDB .................................................................. 63
(b) listViewBelanja .............................................................................. 63
3.30 (a) Desain formInformasi .................................................................... 64
(b) listViewInfo.................................................................................... 64
4.1 Kelas RestorantCanvas........................................................................ 81
4.2 SplashScreen ....................................................................................... 84
4.3 Form Welcome .................................................................................... 85
4.4 List Menu ............................................................................................ 86
4.5 Form Peta ............................................................................................ 87
4.6 Form Profil .......................................................................................... 88
4.7 (a) Form Admin................................................................................... 89
(b) Alert1 ............................................................................................. 89
4.8 List1..................................................................................................... 91
4.9 (a) Form JalanDB ................................................................................ 92
(b) listViewJalan ................................................................................. 92
4.10 (a) Form ObjekDB .............................................................................. 93
(b) listViewObjek ................................................................................ 93
4.11 (a) Form HotelDB .............................................................................. 94
(b) listViewHotel ................................................................................. 94
4.12 (a) Form RestoDB ............................................................................... 95
(b) listViewResto ................................................................................ 95
4.13 (a) Form RSDB ................................................................................... 96
(b) listViewRS ..................................................................................... 96
4.14 (a) Form BelanjaDB ............................................................................ 97
(b) listViewBelanja ............................................................................. 97
4.15 Form Bantuan ...................................................................................... 98
4.16 (a) Form Algo ...................................................................................... 99
(b) listViewAlgo.................................................................................. 99
4.17 (a) Form Informasi .............................................................................. 102
(b) listViewInfo ................................................................................... 102
4.18 (a) Input data pada formAlgo .............................................................. 103
(b) Proses ............................................................................................. 103
(c) Data objek wisata pada DBObjek .................................................. 103
(b) Output hasil perhitungan ............................................................... 103
ABSTRAK
Farida, Intan Nur. 2010. Aplikasi Bergerak (Mobile Application) Pemandu
Wisata Wilayah Malang Raya Berbasis J2ME. Skripsi. Jurusan Teknik
Informatika. Fakultas Sains dan Teknologi. Universitas Islam Negeri
(UIN) Maulana Malik Ibrahim Malang.
Pembimbing: (1) Fatchurrochman, M. Kom (2) A. Nasichuddin, M. A
Kata kunci: pemandu wisata, mobile application, j2me, rms
Pemandu wisata memberikan informasi tentang objek wisata dan berbagai
bantuan lain yang diperlukan wisatawan dalam melakukan perjalanan wisata.
Pengembangan aplikasi mobile saat ini masih terbatas. Terutama di
Propinsi Jawa Timur khususnya wilayah Malang yang berpotensi untuk
pengembangan wisata. Kebanyakan aplikasi yang ada berbasis web dan
membutuhkan perangkat komputer untuk menggunakannya.
Dalam skripsi ini tujuan yang ingin dicapai adalah merancang dan
membangun Aplikasi Bergerak (Mobile Application) Pemandu Wisata Wilayah
Malang Raya Berbasis J2ME, yaitu aplikasi yang dapat membantu wisatawan
untuk mengetahui informasi objek wisata secara mobile.
Aplikasi ini menggunakan java 2 platform micro edition ( J2ME) sebagai
modul yang digunakan untuk membuat interface dan fungsi. Class Canvas
digunakan untuk memanggil objek gambar sebagai peta. Sedangkan untuk
aplikasi database menggunakan Record Management System (RMS) yang
mendukung aplikasi J2ME.
BAB I
PENDAHULUAN
1.1 Latar Belakang
Ilmu pengetahuan atau juga biasa disebut sains, secara singkat dan
sederhana dapat didefinisikan sebagai “Himpunan pengetahuan manusia yang
dikumpulkan melalui proses pengkajian secara empirik dan dapat diterima oleh
rasio”. Adapun teknologi adalah, “Penerapan konsep ilmiah yang tidak hanya
bertujuan menjelaskan gejala-gejala alam untuk tujuan pengertian dan
pemahaman”, namun lebih jauh lagi bertujuan memanipulasi faktor-faktor yang
terkait dalam gejala-gejala tersebut, untuk mengontrol dan mengarahkan proses
yang terjadi. Jadi teknologi disini berfungsi sebagai sarana memberikan
kemudahan bagi kehidupan manusia. Dengan kata lain, teknologi adalah
“Penerapan sains secara sistematis untuk mempengaruhi dan mengendalikan alam
di sekeliling kita dalam suatu proses produktif ekonomis untuk menghasilkan
sesuatu yang bermanfaat”. (Ali Anwar Yusuf, 2006: 279-280)
Teknologi merupakan penerapan seluruh konsep atau teori yang terdapat
di dalam ilmu pengetahuan. Sedangkan peran dan fungsinya merupakan jembatan
yang menghubungkan seluruh kekayaan alam dengan kebutuhan manusia scara
materiil. Allah SWT telah menciptakan alam semesta beserta seluruh isinya untuk
memberikan rangsangan kepada manusia agar ia menggunakan akalnya, berpikir
dan merenungkannya. Sehingga dengan melakukan pengamatan, penalaran, dan
pengkajian terhadap alam ini manusia mampu melahirkan ilmu pengetahuan yang
bermanfaat. Firman Allah SWT dalam Al-Qur‟an surat Ali Imram: 190-191:
(190) Sesungguhnya dalam penciptaan langit dan bumi, dan silih
bergantinya malam dan siang terdapat tanda-tanda bagi orang-orang yang
berakal,. (191) (yaitu) orang-orang yang mengingat Allah sambil berdiri atau
duduk atau dalam keadan berbaring dan mereka memikirkan tentang penciptaan
langit dan bumi (seraya berkata): "Ya Tuhan kami, tiadalah Engkau menciptakan
Ini dengan sia-sia, Maha Suci Engkau, Maka peliharalah kami dari siksa neraka..
(QS. Ali Imran: 190-191)
Ayat tersebut menjelaskan bahwa penciptaan langit dan bumi serta
pergantian malam dan siang merupakan ayat-ayat atau gejala-gejala yang dapat
ditangkap secara simbolik bagi orang-orang yang menggunakan akalnya (ulu al-
bab). Proses penggunaan akal menurut ayat ini dapat melalui dua cara: pertama,
melakukan dzikir, yaitu melakukan kontemplasi atau perenungan yang mengarah
hanya kepada Allah Sang Pencipta; dan kedua menjadikan seluruh ciptaan Allah
sebagai objek berpikir. Sehingga dapat disimpulkan bahwa semua itu pasti
mempunyai tujuan dan berdaya manfaat bagi kehidupan manusia. Dengan
perkataan lain bahwa Al-Qur‟an tidak hanya memerintahkan kepada manusia
untuk berpikir rasional, tapi lebih lanjut memerintahkan umat manusia untuk
berpikir fungsional guna melihat manfaat ciptaaan Allah bagi kehidupan umat
manusia. (Ali Anwar Yusuf, 2006: 279-280)
Salah satu bentuk usaha yang dapat dilakukan adalah melalui proses
befikir, mempelajari, dan merenungkan segala bentuk ciptaan-Nya yang ada di
muka bumi yang berwujud lingkungan alam hasil kebudayaan yang ada disekitar
kita. Untuk mempermudah proses tersebut kita membutuhkan sarana yang
berisikan informasi mengenai tempat-tempat yang memiliki kelebihan dan
keindahan dari tempat-tempat lainnya, dalam hal ini adalah tempat-tempat wisata
baik dalam bentuk keindahan alam dan hasil kebudayaan yang telah dicapai oleh
manusia yang semuanya merupakan ciptaan Allah yang ditundukkan untuk
manusia supaya menjadikan manusia untuk bersyukur atas karunia yang
diberikan-Nya, serta menjaga dan memanfaatkannya.
Allah telah memberi petunjuk kepada manusia dengan menciptakan alam
semesta yang sedemikian rupa. Segala sesuatu yang ada di langit dan di bumi
merupakan karunia ciptaan Allah SWT yang ditujukan kepada manusia untuk
menjalankan kehidupannya. Allah telah menciptakan bumi beserta isinya dengan
segala manfaatnya untuk manusia. Misalkan tentang penciptaan gunung untuk
menopang bumi agar tidak goncang, adanya siang dan malam sebagai petunjuk
waktu, sungai yang dialiri air sebagai sumber air bagi manusia, adanya jalan-jalan
agar dapat dilakukan perjalanan dari suatu tempat ke tempat lain serta masih
banyak lagi penciptaan alam yang membantu kehidupan manusia.
Sebagaimana Firman Allah SWT dalam Al-Qur‟an surat An-nahl ayat 15
berikut ini:
(15). Dan dia menancapkan gunung-gunung di bumi supaya bumi itu
tidak goncang bersama kamu, (dan dia menciptakan) sungai-sungai dan jalan-
jalan agar kamu mendapat petunjuk. (QS. An-nahl :15)
Ayat diatas menjelaskan bahwa apa yang telah ada di semesta raya ini
merupakan petunjuk bagi manusia. Manusia dapat mengamati dan memperhatikan
apa yang ada disekitarnya untuk memperolah pengetahuan yang lebih banyak lagi.
Pengetahuan-pengetahuan baru yang dihasilkan melalui proses berpikir dan
analisa yang baik akan mampu menambah bahkan menciptakan kemudahan baru
bagi kepentingan hidup manusia yang sesuai dan tidak bertentangan dengan ayat
Al-Qur‟an.
Terilhami oleh kemajuan aplikasi mobile dewasa ini yang dalam perkem-
bangannya menggunakan bahasa java yaitu J2ME maka diajukan judul dengan
topik “Aplikasi Bergerak (Mobile Application) Pemandu Wisata Wilayah Malang
Raya Berbasis J2ME”. Aplikasi ini diharapkan mampu meningkatkan daya tarik
wisatawan di wilayah Malang untuk melakukan perjalanan wisata dengan
mengandalkan pemandu wisata yang praktis dan mudah.
1.2 Rumusan Masalah
Berdasarkan latar belakang di atas maka diperoleh rumusan masalah
sebagai berikut: Bagaimana merancang dan membangun aplikasi bergerak (mobile
application) pemandu wisata wilayah Malang Raya berbasis J2ME.
1.3 Batasan Masalah
Batasan masalah pada tugas akhir ini antara lain:
a. Objek tempat wisata melingkupi kota Malang.
b. Aplikasi dengan pemandu wisata umum (bukan memandu pada satu objek
wisata).
c. Pemanduan wisata berpedoman pada jalan protokol dengan fokus objek
wisata, hotel, restoran atau rumah makan, rumah sakit dan pusat
perbelanjaan.
d. Menampilkan peta wisata Malang sesuai kapasitas layar.
e. Menunjukkan fasilitas di sekitar objek wisata.
1.4 Tujuan dan Manfaat Penelitian
a. Tujuan Penelitian
Tujuan penelitian ini adalah untuk merancang dan membangun aplikasi
bergerak (mobile application) pemandu wisata wilayah Malang Raya berbasis
J2ME.
b. Manfaat Penelitian
Penelitian ini memberikan manfaat khususnya bagi wisatawan yang
melakukan perjalanan di wilayah Malang dan memberikan kemudahan dalam
melakukan input data oleh admin untuk mengolah data. Serta meningkatkan
wawasan dan pengetahuan seiring perkembangan teknologi.
1.5 Sistematika Penulisan Laporan
Adapun sistematika pada Tugas Akhir ini adalah sebagai berikut :
BAB I PENDAHULUAN
Berisi tentang latar belakang pemilihan judul aplikasi bergerak
(mobile application) pemandu wisata wilayah Malang Raya
berbasis J2ME, rumusan masalah, batasan masalah, tujuan dan
manfaat, serta sistematika penulisan laporan.
BAB II LANDASAN TEORI
Pada bab ini membahas tentang teori-teori yang terkait dengan
permasalahan yang diambil, sehingga memudahkan penulis dalam
menyelesaikan masalah.
BAB III DESAIN DAN PERANCANGAN SISTEM
Pada bab ini menjelaskan mengenai tahapan-tahapan yang dilalui
dalam penyelesaian tugas akhir ini, yaitu desain dan perancangan
aplikasi bergerak (Mobile Application) pemandu wisata wilayah
Malang Raya berbasis J2ME.
BAB IV HASIL DAN PEMBAHASAN
Berisi tentang implementasi dan evaluasi mengenai kebutuhan
peralatan serta cara instalasi, cara pemakaian program yang
dijelaskan dalam bentuk gambar dan penjelasan proses pada
aplikasi.
BAB V PENUTUP
Berisi tentang kesimpulan dan saran yang diharapkan dapat
bermanfaat untuk pengembangan program aplikasi selanjutnya.
BAB II
LANDASAN TEORI
2.1 Petunjuk Alam dalam Perspektif Islam
Secara etimologis, kata „alam berasal dari kata „alama, yang bermakna
mengecap, merasakan, mengerti dan turunan katanya adalah „alam yang berarti
alam, jamaknya al-„alamin. Sementara semesta bermakna whole, entire
(keseluruhaan dan semua). Dengan demikian alam semesta adalah semua yang
termasuk dalam ciptaan Allah, makhluk hidup ataupun makhluk non-hidup.
(Hakim Muda Harahap, 2007: 39)
Allah telah menciptakan alam semesta dengan segala petunjuk didalamnya
bagi manusia. Alam semesta membuktikan kekuasaan Allah yang Maha Besar.
Alam semesta meliputi sistem tatasurya dan seluruh makhluk di ruang angkasa.
Sistem tatasurya yang terdiri dari planet-planet yang mengelilingi matahari
merupakan bagian dari alam semesta. Salah satunya adalah galaksi bimasakti.
Galaksi ini menggambarkan planet-planet termasuk bumi bergerak mengelilingi
pusatnya yaitu matahari. Beberapa planet memiliki satelit yang mengitarinya.
Semuanya berjalan pada lintasan yang teratur dan tidak bertabrakan satu sama
lain. Satu-satunya planet yang dapat dihuni manusia adalah bumi, namun ada
kemungkinan untuk kehidupan di planet lain karena masih dalam proses
penelitian.
Al-Qur‟an mendorong manusia untuk membaca dan menelaah alam
sebagai pertanda adanya Allah SWT yang mengatur perjalanan alam. Hal ini
membantu manusia mendekatkan diri kepada Allah SWT. Al-Qur‟an pun
menunjukkan cara-cara memahami alam semesta ini, salah satunnya antara lain
dapat dilakukan melalui indera penglihatan, pendengaran, perasa, pencium dan
peraba sehingga membantu manusia melakukan pengamatan dan eksperiman.
Peristiwa alam yang terjadi menunjukkan tanda-tanda kekuasaan Allah
SWT. Allah SWT telah menurunkan hujan, menunjukkan adanya pergantian siang
dan malam, gerhana bulan dan matahari. Allah juga menciptakan berbagai
petunjuk alam seperti gunung, sungai, jalan dan bintang-bintang sehingga dapat
bermanfaat bagi manusia. Adanya gunung yang menjulang sangat kokoh di
permukaan bumi dapat menyeimbangkan perputaran bumi. Derasnya aliran air
sungai membantu peyediaan air bagi kelangsungan hidup manunsia, antara lain
untuk minum, mengairi sawah, transportasi dan lain sebagainya. Manusia pun
dapat bepergian ke tempat lain dengan menggunakan jalan menuju tempat tujuan.
Hal ini sesuai dengan firman Allah SWT dalam Al-Qur‟an Surat An-Nahl
ayat 15 beikut:
(15) Dan Dia menancapkan gunung-gunung di bumi supaya bumi itu
tidak goncang bersama kamu, (dan dia menciptakan) sungai-sungai dan
jalan-jalan agar kamu mendapat petunjuk. (QS. An-Nahl : 15)
Beberapa petunjuk alam menurut Al-Qur‟an, antara lain:
1. Sungai
Air mengalir dari tempat satu ke tempat lain dari tempat yang tinggi ke
tempat yang lebih rendah melalui sungai. Sungai memberikan manfaat bagi petani
untuk mengairi sawahnya, menyediakan air minum bagi manusia dan makhluk
hidup lainnya seperti tumbuhan dan hewan. Sungai memisahkan daratan satu
dengan daratan lainnya sehingga memunculkan sarana penghubung, misalkan
jembatan. Sungai juga berfungsi sebagai penampung air jika turun hujan deras
sehingga mengurangi resiko bencana banjir.
Sebagaimana menurut Ahmad Musthafa Al-Maraghi dalam Kitab tafsir Al-
Maraghi 14, menjelaskan arti kata dalam surat An-Nahl ayat 15: Sungai
merupakan tempat dimana air mengalir dari tempat satu ke tempat lain. Sungai-
sungai bersumber pada berbagai tempat namun menjadi rizki bagi penduduk
tempat lain yang berada disekitar sungai. Sungai ini memotong tanah atau daratan,
melewati gunung-gunung dan perbukitan hingga sampai pada tenpat-tempat yang
para penduduknya ditakdirkan untuk memanfaatkannya. Seperti pada sungai Nil,
bersumber dari tengah-tengah Benua Afrika melalui gunung-gunung dan lembah-
lembah di Sudan, tetapi manfaat yang paling besar hanya diambil oleh penduduk
Mesir. Semua ini terjadi berkat takdir Allah yang Maha Halus lagi Maha
Mengetahui.
Hal serupa juga diungkapkan oleh Muhammad Nasib Ar-Rifa‟i bahwa
Allah menjadikan sungai di bumi mengalir dari suatu tempat ke tempat lain
sebagai sumber rezeki bagi penghuni tempat lain. Sungai juga melintasi berbagai
wilayah dan menerobos gunung-gunung dan perbukitan hingga sampai pada
tempat yang ditetapkan Allah. Sungai ini adakalanya mengalir dan berhenti
sejalan dengan sumbernya. (Muhammad Nasib ar-Rifa‟i, 1999: 1017)
Sungai merupakan sumber air bagi makhluk hidup. Sebagaimana
dijelaskan oleh Quraisy Shihab bahwa Allah menciptakan sungai dengan aliran air
didalamnya untuk minum demi kelangsungan hidup.
2. Jalan
Manusia dapat bepergian dengan mengikuti petunjuk berupa jalan menuju
tempat tujuan.
Ibnu Katsiir menyatakan:
Allah menciptakan di atas bumi itu jalan-jalan yang menghubungkan
antara suatu negeri dengan negeri yang lain, sehingga Allah memotong
gunung untuk mengadakan diantara kedua negeri itu jalan tembus dan
terowongan. (Tafsir Ibnu Katsir jilid 5, 2007: 48)
Ahmad Musthafa Al-Maraghi menerangkan:
Demikian pula Dia menjadikan di dalamnya jalan-jalan yang
ditempuh dari satu negeri ke negeri yang lain. Kadang-kadang terlihat ada
terowongan di dalam gunung untuk menjadi tempat lewat dan jalan.
(Terjemah Tafsir Al-Maraghi 14, 112)
Menurut Al-Qurthubi, jalan-jalan menunjukkan bahwa adanya jalur-jalur
dan lorong-lorong yang terdapat di alam dapat membantu manusia menuju suatu
negeri (tujuan) sehingga tidak tersesat atau bingung.
Menurut Quraisy Shihab tentang tafsir surat An-Nahl ayat 15: Allah
menciptakan jalan-jalan yang terhampar di bumi agar manusia memperoleh
petunjuk lahiriah sesuai yang dikehendaki dan petunjuk batiniyah menuju
pengakuaan keesaan dan kekuasaan Allah SWT.
Sebagaimana Firman Allah SWT dalam ayat lain, yaitu:
31. Dan Telah kami jadikan di bumi Ini gunung-gunung yang kokoh
supaya bumi itu (tidak) goncang bersama mereka dan Telah kami jadikan
(pula) di bumi itu jalan-jalan yang luas, agar mereka mendapat petunjuk.
(QS. Al-Anbiyaa‟ : 31)
Jalan merupakan petunjuk di bumi agar manusia menemukan arah untuk
menempuh perjalanan ke suatu tempat. Jalan tersebut menunjukkan arah agar
manusia tidak tersesat dan sampai pada tujuannya.
3. Bintang
Bintang-bintang merupakan kumpulan benda-benda langit dalam bentuk
gas yang sangat panas sekali. Di sekitarnya dikelilingi oleh gas hidrogen, sekitar
74 % dari alam terdiri dari gas hidrogen. Sementara bintang-bintang itu diciptakan
dari debu yang berkumpul menjadi kabut. (Ahmad Khalid Allam dkk, 2005: 247)
Menurut Al-Qurthubi, Ibnu Abbas RA pernah bertanya pada Rasulullah
SAW tentang bintang lalu beliau bersabda, artinya sebagai berikut:
“Dia adalah zodiak anak domba dan diatasnya kiblat kalian dan
dengannya kalian mendapat petunjuk jalan dalam perjalanan kalian di darat
atau di laut.”
Firman Allah:
16. Dan (Dia ciptakan) tanda-tanda (penunjuk jalan). dan dengan
bintang-bintang Itulah mereka mendapat petunjuk. (QS. An-Nahl : 16)
Kata ( عالمات/ ) „alamat adalah bentuk jama‟ dari (عالمة) „alamah
yakni tanda yang dengannya sesuatu diketahui dengan jelas. Yang dimaksud
adalah ciri-ciri yang terdapat pada sesuatu yang demikian jelas, baik ciri tersebut
berada tanpa keterlibtan manusia mengadakannya, maupun dibuat oleh manusia
setelah diilhamkan kepada mereka oleh Allah sehingga disepakati bersama dan
menjadi tanda-tanda yang jelas bagi sesuatu. (M. Quraish Shihab, 2002: 202)
Selanjutnya Quraisy Shihab mengatakan bahwa didahulukannya kata
atas kalimat bertujuan menekankan dan mengundang perhatian
tentang besarnya nikmat Allah melalui bintang-bintang tersebut. Adanya bintang-
bintang tersebut dapat membantu manusia mnegetahui arah ketika berada di
tengah lautan atau padang pasir.
Allah menunjukkan tanda-tanda sebagai petunjuk jalan oleh orang yang
berjalan dari gunung-gunung yang besar, bukit-bukit yang kecil dan sebagainya.
Sehingga jika dia tersesat dijalan, maka tanda-tanda tersebut akan menolongnya
dan menunjukinya ke jalan yang lurus di darat dan di laut. Berikut ini keterangan
Muhammad Nasib Ar-Rifa‟i menerangkan bahwa yang dimaksud dengan “tanda-
tanda” adalah adanya gunung-gunung dan perbukitan dapat dijadikan
petunjuk baik oleh musafir di lautan maupun di daratan apabila mereka tersesat.
Sejak awal peradaban umat manusia sampai sekarang, benda-benda langit
merupakan petunjuk perjalanan manusia, baik di darat maupun di laut. Dengan
meneropong matahari, bulan dan bintang (terutama bintang yang tak bergerak)
seseorang yang akan bepergian dapat menentukan arah yang hendak dituju.
Bahkan para antariksawan berpedoman pada matahari dan bintang dalam
menentukan arah perjalanan pada suatu masa tertentu. Mereka juga menggunakan
gugus bintang dalam menentukan waktu. Dengan demikian manusia dapat
mengenal tempat dan waktu. (Quraisy Shihab 2002: 203)
Berkaitan dengan ayat 16 pada surat An-Nahl, Muhammad Nasib Ar-
Rifa‟i menyatakan bahwa bintang-bintang merupakan petunjuk pada kegelapan
malam.
Firman Allah SWT:
97. Dan dialah yang menjadikan bintang-bintang bagimu, agar kamu
menjadikannya petunjuk dalam kegelapan di darat dan di laut. Sesungguhnya
kami Telah menjelaskan tanda-tanda kebesaran (kami) kepada orang-orang
yang Mengetahui. (QS. Al An'am, 6: 97)
Allah SWT telah menciptakan bintang-bintang untuk kepentingan manusia
yaitu dari cahayanya dan posisinya di kegelapan malam ketika manusia berada di
tengah padang pasir dan lautan sehingga bisa menemukan jalan dalam
pengembaraan. Keberadaannya dalam kehidupan manusia di bumi membawa
manfaat yang sangat besar. Bintang-bintang itu menjadi petunjuk bagi orang-
orang yang bepergian menuju kota-kota, mencari arah Ka`bah, mengenali waktu
di malam hari, dan menemukan arah jalan di padang pasir dan lautan.
2.2 Profil Geografis Malang
Malang merupakan salah satu kota besar di Jawa Timur, secara lengkap
keadaan geografis kota Malang adalah sebagai berikut:
Terletak pada ketinggian antara 440 - 667 dpl, serta 112,06 Bujur Timur
dan 7,06 - 8,02 Lintang Selatan, dengan dikelilingi gunung-gunung :
a. Gunung Arjuno di sebelah Utara
b. Gunung Tengger di sebelah Timur
c. Gunung Kawi di sebelah Barat
d. Gunung Kelud di sebelah Selatan
2.3 Pemandu Wisata
2.3.1 Pengertian
Istilah pemandu wisata bagi masyarakat umum merupakan setiap orang
yang memimpin suatu rombongan wisatawan, baik itu untuk suatu kunjungan
wisata yang singkat maupun beberapa hari, dapat juga disebut tour guide/
pramuwisata. Namun dalam industry pariwisata, istilah pemandu wisata memiliki
pengertian yang lebih tegas, yaitu seseorang yang membawa orang-orang dalam
suatu perjalanan wisata dalam waktu yang terbatas.
Berdasarkan Keputusan Menparpostel Nomor KM.82/PW/.102/MPPT-88,
pramuwisata adalah seseorang yang bertugas memberikan bimbingan, penerangan, dan
petunjuk tentang objek wisata, serta mampu membantu segala sesuatu yang diperlukan
wistawan.
Menurut Drs. Adi Soenarno, M.B.A. dalam Kamus Istilah Pariwisata dan
Perhotelan memberikan definisi pramuwista sebagai seseorang yang bertugas mengantar
tamu ke objek wisata dan menerangkan objek wista tersebut. (Muhajir. 2005:11)
Dari sudut pandang wisatawan, pramuwisata adalah seseorang yang bekerja pada
suatu biro perjalanan atau kantor wisata (tourist office) yang bertugas memberikan
informasi, petunjuk dan advis secara langsung kepada wisatawan sebelum dan selama
perjalanan wisata berlangsung.
Secara umum, pramuwisata adalah seseorang yang dibayar untuk menemani
wisatawan dalam perjalanan, mengunjungi, melihat, dan menyaksikan serta memberikan
informasi tentang objek wisata dan berbagai bantuan lain yang diperlukan wisatawan
sebelum dan selama perjalanan berlangsung.
2.3.2 Tugas-tugas Pramuwisata
Secara umum tugas seorang pemandu wisata adalah sebagai berikut:
1. To conduct/ to direct, yaitu mengatur dan melaksanakan kegiatan perjalanan wisata
bagi wisatawan yang ditanganinya berdasarkan program perjalanan (itinerary) yang
telah ditetapkan.
2. To point out, yaitu menunjukkan dan mengantarkan wisatawan ke objek-objek dan
daya tarik wisata yang dikehendaki.
3. To inform, yaitu memberikan informasi dan penjelasan mengenai objek dan daya
tarik wisata yang dikunjungi, informasi sejarah dan budaya dan berbagai informasi
lainnya.
2.3.3 Jenis-jenis Pramuwisata
Pemandu wisata dapat dikelompokkan berdasarkan kategori sebagai
berikut:
2.3.3.1 Berdasarkan Tempat Melaksanakan Tugas
a. Local Guide (On-Site Guide)
Pemandu wisata lokal adalah seorang pemandu wisata yang menangani suatu
tur selama satu atau beberapa jam di suatu tempat yang khusus, pada suatu atraksi
wisata, atau disuatu areal yang terbatas, misalnya gedung bersejarah, museum, taman
hiburan, pabrik dan pusat riset ilmiah.
b. City Guide
City Guide adalah pemandu wisata yang bertugas membawa wisatawan
dan memberikan informasi tentang obyek-obyek wisata utama di suatu kota,
biasanya dilakukan di dalam bus atau kendaraan lainnya. Seorang City Guide
yang melakukan tugas rangkap sekaligus sebagai pengemudi disebut Sightseeing
Guide.
2.3.3.2 Berdasarkan Spesifikasi
a. Pramuwisata khusus, yaitu pramuwisata yang bertugas khusus di salah satu atau
beberapa obyek wisata tertentu.
b. Pramuwisata umum, yaitu pramuwisata yang tidak bertugas pada salah satu obyek
wisata saja tetapi di mana saat ia dibutuhkan. Dengan demikian prmuwisata ini harus
mempunyai pengetahuan yang luas tentang obyek wisata, sejrah budaya, kesenian dan
sebagainya.
2.3.3.3 Berdasarkan Asal Wisatawan dan Wilayah Negara Tempat
Dilaksanakannya Tur
a. In-bound Tour Guide, yaitu pemandu wisata yang menangani wisatawan asing yang
melakukan perjalanan wisata di Negara tempat pramuwisata bekerja atau memetap.
b. Out-bound Tour Guide, yaitu pemandu wisata yang bertugas menemani wisatawan
yang melakukan perjlanan wisata ke luar negeri. Namun sering kali tugas seperti ini
dipercayakan kepada seorang Tour Escort, yaitu orang yang mengatur dan
mendampingi suatu rombongan wisatawan yang melakukan perjalanan selama
beberapa hari.
c. Domestic Tour Giude, yaitu pemandu wisata yang menangani wisatawan dalam negeri
yang melakukan perjalanan wisata di negeri mereka sendiri.
2.3.3.4 Berdasarkan Status
a. Payroll Guide, yaitu pemandu wisata yang bekerja teta pada suatu biro perjalanan
wisata (BPW) atau lembaga pariwisata, disebut juga Full-Time Guide atau Guide
Staff.
b. Freelance Guide, yaitu pemandu wisata yang bekerja suatu BPW sebagai pekerja
paruh waktu, yang bekerja pada musim-musim tertentu saja, disebut sebagau part-time
guide atau step-on guide. Pemandu wisata ini biasanya bekerja pada saat mendapat
panggilan dari perusahaan pada musim-musim ramai (peak-reason) atau dipesan oleh
wisatawan (client) secara langsung.
2.3.3.5 Berdasarkan Tingkatan
Berdasarkan keputusan Menteri Pariwisata, Pos dan Telekomunikasi Nomor KM
82/PW 102/MPPT-88 tentang Pramuwisata dan Pengatur Wisata, pemandu wisata
(pramuwisata) dikelompokkan sebagai berikut:
a. Pramuwisata muda, yaitu pemandu wisata (pramuwisata) yang bertugas pada suatu
daerah Tingkat II tmpat sertifikat diberikan. Sertifikat tersebut diperoleh melalui suatu
kursus dan ujian dengan persyaratan-persyaratan tertentu.
b. Pramuwisata madya, yaitu pemandu wisata (pramuwisata) yang bertugas di dalam
wilayah Daerah Tingkat I tempat sertifikat diberikan.
c. Pengatur wisata, yaitu pegawai biro perjalanan wisata yang mempunyai pengetahuan
dan ketrampilan untuk memimpin dan mengurus perjalanan wisata rombongan.
2.3.3.6 Berdasarkan Jumlah Wisatawan yang Ditangani
a. Group Tour Guide, yaitu pemandu wisata yang bertugas menangani wisatawan dalam
suatu rombongan atau yang sering diistilahkan dengan GIT (Grop Inclusive Tour).
b. Individual Tour Guide, yaitu pemandu wisata yang bertugas menangani wisatawan
individual atau FIT (Free Individual Traveller).
Menurut H. Kodhyat dan Ramaini dalam Kamus Pariwisata dan Perhotalan
batasan mengenai FIT ini adalah orang yang melakukan perjalanan secara perorangan,
tidak dalam rombongan. Sementara GIT adalah rombongan wisatawan yang membayar
perjalanannya dalam bentuk paket. (Muhajir. 2005:16)
2.4 Java
Java menurut definisi dari Sun adalah nama untuk sekumpulan teknologi
untuk membuat dan menjalankan perangkat lunak pada komputer standalone
ataupun pada lingkungan jaringan. Java2 adalah generasi kedua dari Java platform
(generasi awalnya adalah Java Development Kit). Java bediri atas sebuah mesin
interpreter yang diberi nama Java Virtual Machine (JVM). JVM inilah yang akan
membaca bytecode dalam file .class dari suatu program sebagai representasi
langsung program yang berisai bahasa mesin. Oleh karena itu bahasa java disebut
sebagai bahasa pemrograman yang portable karena dapat dijalankan pada
berbagai sistem operasi, asalakan pada sistem operasi tersebut terdapat JVM.
Platform Java terdiri dari kumpulan library, JVM, kelas-kelas loader yang
dipaket dalam sebuah lingkungan rutin Java, dan sebuah kompiler, debugger dan
kakas lain yang dipaket dalam Java Development Kit (JDK). Java2 adalah
generasi yang sekarang sedang berkembang dari platform Java. Agar sebuah
program Java dapat dijlankan, maka file dengan ekstensi .java harus dikompilasi
menjadi file bytcode. Untuk menjalankan bytecode tersebut dibutuhkan JRE
(Java Runtime Environment) yang memungkinkan pemakai untuk menjalankan
program Java, hanya menjalankan, tidak untuk membuat kode baru lagi.
Platform java mempunyai tiga buah edisi yang bebeda yaitu J2EE (Java2
Enterprise Edition), J2ME (Java2 Micro Edition), dan J2SE (Java2 Second
Edition). J2EE adalah kelompok dari beberapa API dari Java dan teknologi selain
Java. J2EE dibuat untuk membuat aplikasi yang kompleks. J2EE sering dinggap
sebagai middleware atau teknologi yang berjalan di server, namun sebenarnya
J2EE tidak hanya sebatas untuk itu. Faktanya J2EE juga mencakup teknologi yang
dapat digunakan di semua lapisan dari sebuah sistem informasi. Implementasi
J2EE menyediakan kelas dasar dan API dari Java yang mendukung
pengembangan dan rutin standar untuk aplikasi klien maupun server, termasuk
aplikasi yang berjalan di web browser. J2SE adalah lingkungan dasar dari Java.
Ruang lingkup keterhubungan J2EE, J2SE dan J2ME dapat dilihat pada gambar
2.1.
Gambar 2.1 Platform Java
2.5 Java2 Micro Edition (J2ME)
2.5.1 Pengertian
Java2 Micro Edition atau yang biasa disebut J2ME adalah lingkungan
pengembangan yang didesain untuk meletakkan perangkat lunak Java pada barang
elektronik beserta perangkat pendukungnya. Pada J2ME, jika perangkat lunak
berfungsi baik pada sebuah perangkat maka belum tentu juga berfungsi baik pada
sebuah perangkat yang lainnya. J2ME membawa Java ke dunia informasi,
komunikasi, dan perangkat komputasi selain perangkat computer desktop yang
biasanya lebih kecil dibandingkan perangkat computer desktop. J2ME biasa
digunakan pada telepon seluler, pager, PDA dan sejenisnya.
J2ME adalah bagian dari J2SE, karena itu tidak semua library yang ada
pada J2SE dapat digunakan pada J2ME. Tetapi J2ME mempunyai beberapa
library khusus yang tidak dimiliki J2SE. Inti dari J2ME terletak pada
configuration dan profile-profile. Suatu configuration menggambarkan
lingkungan runtime dasar dari suatu sistem J2ME. Ia menggambarkan core
library, virtual machine, fitur keamanan dan jaringan.
2.5.2 Arsitektur J2ME
Profile
Configuration
Kumpulan
Library
JVM
Sistem Operasi
Gambar 2.2 Arsitektur J2ME
Arsitektur J2ME dapat dilihat pada gambar 2 diatas. J2ME terbagi dalam 2
bagian yaitu:
a. Configuration
Configuration merupakan Java library minimum dan kapabilitas yang
dipunya oleh para pengembang J2ME, yang maksudnya sebuah mobile device
dengan kemampuan Java akan dioptimalkan untuk menjadi sesuai. Configuration
hanya mengatur hal-hal tentang kesamaan sehingga dapat dijadikan ukuran
kesesuaian antar-device. Dalam J2ME telah didefinisikan dua buah konfigurasi,
antara lain:
1. Connected Limited Device Configuration (CLDC)
CLDC atau Connected Limited Device Configuration adalah
perangkat dasar dari J2ME, spesifikasi dasar berupa library dan API yang
diimplementasikan pada J2ME, seperti yang digunakan pada telepon seluler,
pager, dan PDA. Perangkat tersebut dibatasi dengan keterbatasan memori,
sumber daya, dan kemampuan memproses. Spesifikasi CLDC pada J2ME
adalah spesifikasi minimal dari package, kelas, dan sebagian fungsi Java
Virtual Machine yang dikurangi agar dapat diimplementasikan dengan
keterbatasan sumber daya pada alat-alat tersebut, JVM yang digunakan
disebut KVM (Kylobyte Virtual Machine).
2. Connected Device Configuration (CDC)
CDC atau Connected Device Configuration adalah super set dari
CLDC. CDC menyediakan lingkungan Java runtime yang lebih luas
dibandingkan CLDC dan lebih dekat kepada lingkungan J2SE. CDC terdiri
dari virtual machine dan kumpulan library dasar untuk dipergunakan pada
profile industri. Implementasi CDC pada J2ME adalah source code yang
menyediakan sambungan dengan macam-macam platform.
b. Profile
Profile membahas sesuatu yang spesifik untuk sebuah perangkat. Profile
juga menggambarkan set-set tambahan dari API dan fitur untuk pasar tertentu,
kategori perangkat atau industri. Sementara configuration menggambarkan library
dasar, profile-profile menggambarkan library yang penting untuk membuat
aplikasi-aplikasi efektif. Library ini memasukkan user interface, jaringan
dan penyimpanan API. Dalam J2ME terdapat dua buah profile yaitu:
1. MIDP atau Mobile Information Device Profile. Yaitu profile yang
menyediakan library Java untuk implementasi dasar antarmuka (GUI),
jaringan (Networking), basisdata (database), penyimpanan tetap
(persistant strage), daur hidup aplikasi (Application life cicle), dan timer
(Personal Information Management). MIDP dirancang khusus untuk
wireless phone dan pager serta dibangun berdasarkan CLDC. Saat ini
terdapat MIDP 1.0 dan MIDP 2.0 . Fitru tambahan MIDP 2.0 dibanding
dengan MIDP 1.0 adalah API untuk multimedia. Pada MIDP 2.0 terdapat
dukungan memainkan tone, tone sequence, dan file WAV walaupun tanpa
adanya Mobile Media API (MMAPI).
2. Foundation Profile (FP). Profil dasar untuk non – GUI network devices
pada CLDC dengan ROM 1024 k dan RAM 512 k.
2.5.3 Verifikasi Class
Spesifikasi CLDC memerlukan semua class untuk melewati proses
verifikasi dua tingkat. Verifikasi pertama dilaksanakan diluar perangkat sebelum
instalasi pada perangkat. Verifikasi kedua terjadi pada perangkat selama runtime
dan dilaksanakan oleh KVM, seperti ditunjukkan gambar 3.
Gambar 2.3 Proses Verifikasi Dua Tingkat
2.5.4. KVM (Kilobyte Virtual Machine)
KVM adalah paket JVM yang didesain untuk perangkat yang kecil. KVM
mendukung sebagian dari fitur-fitur JVM, seperti misalnya KVM tidak
mendukung operasi floating-point dan finalisasi objek. KVM diimplemen-tasikan
dengan menggunakan C sehingga sangat mudah beradaptasi pada tipe platform
yang berbeda.
2.5.5. CVM (C-Virtual Machine)
CVM adalah paket JVM optimal yang digunakan pada CDC. CVM
mempunyai seluruh fitur dari virtual machine yang didesain untuk perangkat yang
memerlukan fitur-fitur Java2 virtual machine.
2.5.6. MIDlet
MIDlet adalah aplikasi yang ditulis untuk MIDP. Aplikasi MIDlet adalah
bagian dari kelas javax.microedition.midlet MIDlet yang didefinisikan pada
MIDP. MIDlet berupa sebuah kelas abstrak yang merupakan subkelas dari
bentuk dasar aplikasi sehingga antarmuka antara aplikasi J2ME dan aplikasi
manajemen pada perangkat terbentuk.
Midlet terdiri dari beberapa metode yang harus ada, yaitu constructor(),
protected void startApp() throws MIDletStateChangeException, protected void
pauseApp(), protected void destroyApp(Boolean unconditional) throws
MIDletStateChangeException.
Gambar 2.4 Daur Hidup MIDlet
Pada gambar diatas terlihat bahwa ketika MIDlet dijalankan maka akan
diinisialisasi dengan kondisi pause dan dijalankan pauseApp(), Kondisi
berikutnya adalah fungsi MIDlet yang dijalanka, yaitu pada startApp(). Metode
yangada tersebut diimplemntasikan sebagai protected, hal ini dimaksudkan agar
MIDlet lain tidak dapat memanggil metode tersebut. Pada saat pemakai keluar
dari MIDlet, maka metode destroyApp() akan dijalankan saebelum MIDlet benar-
benar tidak berjalan lagi. Metode notifydestroyed() akan dipanggil sebelum
MIDlet benar-benar tidak berjalan lagi, destroyApp() akan memanggil
notifyDestroyed (), dan notifyDestroyed () akan member tahu platform untuk
menterminasi MIDlet dan membersihkan semua sumber daya yang mengacu pada
MIDlet.
Aplikasi-aplikasi MIDlet dibungkus dan dikirim kedalam perangkat
sebagai MIDlet suites. Sebuah MIDlet suite terdiri dari Java Archive (JAR) dan
sebuah tambahan Java Application Descriptor (JAD).
2.5.7. JAD (Java Application Descriptor)
Digunakan untuk mendiskripsikan isi aplikasi untuk keperluan pemetaan.
File JAD berisi deskripsi file JAR (Java Archive) dan pemetaan atribut MIDlet,
sedangkan file JAR berisi kumpulan kelas dan resource.
2.6 Record Management System
Record Management System (RMS) adalah kumpulan record yang
disimpan sebagai array dari byte dalam sebuah record store. RMS memiliki
orientasi record basis data yang sederhana sehingga MIDlet dapat menyimpan
informasi dan mengaksesnya. MIDlet yang berbeda dapat mengakses RMS yang
sama. Keterkaitan MIDlet, RMS, dan record store dapat dilihat pada gambar
berikut.
Gambar 2.5 Keterkaitan MIDlet dan Record store
Mekanisme penyimpanan data pada MIDP telah tersedia secara persisten
(tetap) dalam memori device yang bersangkutan. Data tersebut berupa kumpulan-
kumpulan record. Record yang telah ditempatkan di dalam ruang penyimpanan
dapat diambil kembali untuk kemudian digunakan sesuai kebutuhan. Ruang
penyimpanan yang tetap (persisten storage) bersifat non-volatile (data tidak akan
hilang walaupun program direstart atau device dimatikan) untuk menyimpan data
dalam sebuah aplikasi.
Pada konsepnya, record yang disimpan dalam record store diakses
berdasarkan recordId yang berupa integer. RecordId ini biasanya digunakan untuk
mengakses record seperti fungsi indeks pada pengaksesan array.
Pada saat data disimpan di dalam sebuah record store, data tersebut berada
dalam bentuk sekumpulan larik dari tipe byte (array byte). Namun sebaliknya
dalam pemrograman java, di sisi aplikasi, data harus selalu dalam bentuk objek.
Sehingga untuk melakukan penyimpanan data dari aplikasi ke dalam record store,
terlebih dulu dilakukan serialisasi dari bentuk objek ke bentuk array byte.
Adapun untuk mengembalikan data dari record store ke aplikasi, juga perlu
dilakukan deserialisasi dari bentuk array byte ke dalam bentuk objek. Dalam
Record
store
MIDlet
RMS API
pemrograman MIDP, tidak didukung adanya fasilitas untuk serialisasi/
deserialisasi untuk objek Java yang ada di dalam J2SE (Java 2 Platform Standart
Edition). Untuk itu dilakukan proses tersebut secara manual melalui kode-kode
program yang ditulis, melalui kelas-kelas yang tersimpan dalam paket java.io.
Beberapa hal untuk melakukan proses serialisasi/ deserialisasi data di
dalam pemrograman MIDP antara lain: Pertama, Kelas InputStream dan
OutputStream merupakan kelas abstrak yang merepresentasikan stream data
yang didefinisikan untuk method-method dasar guna keperluan baca/ tulis dari/ ke
stream. Kedua, Kelas ByteArrayStream dan ByteArrayOutputStream merupakan
subkelas dari InputStream dan OutputStream untuk melakukan baca/ tulis
dari/ ke byte array. Ketiga, Kelas DataInputStream dan
DataOutputStream untuk mengaitkan objek InputStream dan
OutputStream yang ada. Kelas –kelas inii menyediakan method-method
untuk proses baca/ tulis terhadap variable-variabel dengan tipe primitif maupun
objek-objek String dari/ ke byte array ke dalam stream data.
2.7 Aplikasi Bergerak (Mobile Application)
Kata mobile mempunyai arti bergerak atau berpindah. Sehingga diperoleh
pengertian bahwa aplikasi bergerak merupakan aplikasi yang dapat dijalankan
walaupun pengguna berpindah atau karena pengguna berpindah.
Pemrograman aplikasi bergerak tidak banyak berbeda dengan
pemrograman konvensional pada PC. Aspek karakteristik dari perangkat bergerak
sering mempengaruhi arsitektur dan implementasi dari aplikasi tersebut. Dalam
pemrograman aplikasi bergerak berbagai aspek teknis perangkat lebih
menonjol karena memiliki banyak keterbatasan dibandingkan komputer
konvensional atau PC. (Budi Darytamo dkk, 2007:1)
Perangkat bergerak (mobile) memiliki banyak jenis dalam hal ukuran,
desain dan layout, tetapi memiliki kesamaan karakteristik yang sangat berbeda
dari sistem desktop.
1. Ukuran yang kecil
Perangkat mobile memiliki ukuran yang kecil. Konsumen menginginkan
perangkat yang terkecil untuk kenyamanan dan mobilitas mereka.
2. Memory yang terbatas
Perangkat mobile juga memiliki memory yang kecil, yaitu primary (RAM)
dan secondary (disk). Pembatasan ini adalah salah satu faktor yang
mempengaruhi penulisan program untuk berbagai jenis dari perangkat ini.
Dengan pembatasan jumlah dari memory, pertimbangan-pertimbangan
khusus harus diambil untuk memelihara pemakaian dari sumber daya yang
mahal ini.
3. Daya proses yang terbatas
Sistem mobile tidaklah setangguh rekan mereka yaitu desktop. Ukuran,
teknologi dan biaya adalah beberapa faktor yang mempengaruhi status dari
sumber daya ini. Seperti harddisk dan RAM, Anda dapat menemukan
mereka dalam ukuran yang pas dengan sebuah kemasan kecil.
4. Mengkonsumsi daya yang rendah
Perangkat mobile menghabiskan sedikit daya dibandingkan dengan mesin
desktop. Perangkat ini harus menghemat daya karena mereka berjalan pada
keadaan dimana daya yang disediakan dibatasi oleh baterai-baterai.
5. Kuat dan dapat diandalkan
Karena perangkat mobile selalu dibawa kemana saja, mereka harus cukup
kuat untuk menghadapi benturan-benturan, gerakan, dan sesekali tetesan-
tetesan air.
6. Konektivitas yang terbatas
Perangkat mobile memiliki bandwith rendah, beberapa dari mereka bahkan
tidak tersambung. Kebanyakan dari mereka menggunakan koneksi
wireless.
7. Masa hidup yang pendek
Perangkat-perangkat konsumen ini menyala dalam hitungan detik
kebanyakan dari mereka selalu menyala. Coba ambil kasus sebuah
handphone, mereka booting dalam hitungan detik dan kebanyakan orang
tidak mematikan handphone mereka bahkan ketika malam hari. PDA akan
menyala jika anda menekan tombol power mereka.
2.8 UML
Unified Modelling Language (UML) adalah sebuah "bahasa" yang telah menjadi
standar dalam industri untuk visualisasi, merancang dan mendokumentasikan
sistem piranti lunak. UML menawarkan sebuah standard
untuk merancang model sebuah sistem. Ada beberapa diagram yang
disediakan dalam UML antara lain:
1. Diagram Use Case
Use case diagram menggambarkan fungsionalitas yang diharapkan dari
sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan
“bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor
dengan sistem.
Konsep dasar pemodelan use case meliputi : use case, actor, relasi,
diagram aktivitas dan diagram use case. Aktor merupakan bagian dari use case
yang bertindak sebagai subjek (pelaku) dalam suatu proses. Use case adalah
proses-proses yang terjadi dalam suatu software. Use case juga menggambarkan
apa yang sedang dilakukan oleh seorang actor. Relasi menggambarkan hubungan
antara actor dan use case.
2. Diagram Aktivitas
Diagram aktivitas atau Activity diagram menggambarkan aliran
fungsionalitas sistem. Pada tahap pemodelan bisnis, diagram aktivitas dapat
digunakan untuk menunjukkan aliran kerja bisnis. Diagram ini dapat digunakan
untuk menggammbarkan aliran kerja (floe of events) dalam use case.
3. Diagram Sekuensial
Diagram sekuensial atau sequence diagram digunakan untuk menggambarkan
aliran fungsionalitas dalam use case. Diagram ini disusun berdasarkan urutan
waktu.
4. Diagram Kelas
Diagram kelas atau class diagram menunjukkan interaksi antar kelas
dalam sistem. Diagram kelas digunakan untuk menampilkan kelas-kelas atau
paket-paket di dalam sistem dan relasi antar mereka. Diagram ini menunjukkan
gambaran sistem secara statis. Satu diagram kelas menampilkan subset dari kelas-
kelas dan relasinya.
2.9 Netbeans Mobility 6.0
Pengembangan NetBeans diawali dari Xelfi, sebuah proyek mahasiswa
tahun 1997 di bawah bimbingan Fakultas Matematika dan Fisika Universitas
Charles, Praha. Sebuah perusahaan kemudian dibentuk untuk proyek tersebut dan
menghasilkan versi komersial NetBeans IDE hingga kemudian dibeli oleh Sun
Microsystem pada tahun 1999. Sun kemudian menjadikan NetBeans open source
pada bulan Juni tahun 2000. Sejak itu komunitas NetBeans terus berkembang.
Platform NetBeans adalah framework yang dapat digunakan kembali
(reusable) untuk menyederhanakan pengembangan aplikasi desktop. Ketika
aplikasi berbasis platform NetBeans dijalankan, kelas Main dari platform
dieksekusi. Modul-modul yang tersedia ditempatkan di sebuah registry di dalam
memori, dan tugas startup modul dijalankan. Secara umum, kode modul
dimuatkan ke dalam memori hanya ketika ia diperlukan.
NetBeans IDE adalah IDE open source yang ditulis sepenuhnya dengan
bahasa pemrograman Java menggunakan platform NetBeans. NetBeans IDE
mendukung pengembangan semua tipe aplikasi Java (J2SE, web, EJB, dan
aplikasi mobile). Fitur lainnya adalah sistem proyek berbasis Ant, kontrol versi,
dan refactoring.
NetBeans Mobility Pack adalah alat untuk mengembangkan aplikasi yang
berjalan pada perangkat bergerak (mobile), umumnya telepon seluler, tetapi juga
mencakup PDA, dan lain-lain.
NetBeans Mobility Pack digunakan untuk menulis, menguji, dan
debugging aplikasi untuk perangkat bergerak yang menggunakan teknologi
berplatform Java Micro Edition (platform Java ME). Paket ini mengintegrasikan
dukungan terhadap Mobile Information Device Profile (MIDP) 2.0, Connected
Limited Device Configuration (CLDC) 1.1, dan Connected Device Configuration
(CDC). Emulator dari pihak ketiga dapat diintegrasikan dengan mudah untuk
lingkungan pengujian yang lebih kokoh. NetBeans Mobility Pack saat ini tersedia
dalam dua klaster yang berbeda, yang satu memuat CDC dan yang lainnya CLDC.
2.10 Rumus Jarak
Rumus jarak antara dua titik pada bidang dapat digambarkan
menggunakan koordinat. Hal ini didasarkan pada teorema phytagoras yang
menyatakan bahwa jika a dan b merupakan ukuran dua kali suatu segitiga siku-
siku dan c merupakan sisi miringnya maka:
a2 + b
2 = c
2
Ketika dua titik P dan Q sebarang, masing-masing dengan koordinat (x1, y1) dan
(x2, y2). Bersama dengan R (titik dengan koordinat (x2, y1) maka P dan Q adalah
titik-titik sudut sebuah segitiga siku-siku. Panjang PR dan RQ masing-
masing | x2 – x1 | dan | y2 – y1 |. Bilamana teorema phytagoras diterapkan
dan diambil akar kuadrat utama dari kedua ruas maka untuk d(P,Q), jarak antara P
dan Q adalah d(P,Q) = )y-(y )x- x( 2
12
2
12 . (Edwin J Purcell dan Dale
Verberg, 1987: 26)
y
Q(x2, y2)
| x2 – x1 |
P(x1, y1) | x2 – x1 | R(x2, y1)
x
Gambar 2.6 Jarak P dan Q pada koordinat
Menurut Louis Leithold dalam bukunya yang berjudul Kalkulus dan Ilmu
Ukur Analitik Edisi Kelima Jlid I menyebutkan bahwa jarak antara dua titik P1 dan
P2 ditentukan oleh | P1 P2 | = )y-(y )x- x( 2
12
2
12 .
Jarak antara dua titik merupakan panjang garis yang menghubungkan dua
titik. Dalam geometri analitik disebutkan bahwa jarak antara dua titik diperoleh
dengan menarik akar dari jumlah kuadrat selisih koordinat kedua titik tersebut
dalam koordinat Cartesius siku-siku. Pada bidang datar untuk mencari jarak antara
dua titik (x1,y1) dan (x2,y2) adalah dengan menggunakan rumus:
RUMUS : Jarak antara dua titik = )y-(y )x- x( 2
12
2
12
Contoh:
Cari jarak di antara P( -1,2 ) dan Q( 3,5 ).
Penyelesaian:
Misalkan (x1,y1) = (-1,2) dan (x2 ,y2) = (3,5)
Maka, PQ = 22 )25())1(3(
= 22 34
= 916
= 25
= 5
BAB III
DESAIN DAN PERANCANGAN SISTEM
3.1 Tahap-tahap Pembuatan Program
Penelitian yang dilakukan untuk merancang sistem diperoleh dari
pengamatan data-data yang ada. Tahap-tahap yang dilakukan untuk penelitian
guna perancangan dan pembuatan program tersebut secara terstruktur adalah:
3.1.1 Survei dan Pengumpulan Data
1. Observasi
Observasi merupakan tahap pengumpulan data dengan mengadakan
pengamatan langsung terhadap beberapa tempat yang terkait untuk memperoleh
data serta gambaran secara jelas terhadap permasalahan yang ada. Pengumpulan
data dilakukan pada Dinas Kebudayaan dan Pariwisata Kota Malang.
2. Studi Literatur
Peneliti melakukan studi literatur tentang teori dan konsep pemrograman
J2ME, RMS dan pemandu wisata.
3.1.2 Analisis dan Perancangan
Perencanaan dan pembuatan aplikasi ini dibagi menjadi 2 tahap yaitu:
Analisis
Mengidentifikasi permasalahan-permasalahan ada pada aplikasi yang
dibangun, meliputi perangkat keras (hardware), perangkat lunak (software) dan
pengguna. Membuat analisa terhadap data yang sudah diperoleh dari hasil
observasi yaitu menggabungkan laporan survey dan kebijakan pemakai menjadi
spesifikasi yang terstruktur dengan menggunakan pemodelan.
Perancangan
Memahami rancangan sistem sesuai data yang ada dan mengimplementasi-
kan model yang diinginkan oleh pemakai. Pemodelan sistem ini berupa pembuat-
an use case diagram, sequence diagram, class diagram, flow diagram dan desain
layout serta perancangan database guna mempermudah dalam proses-proses
selanjutnya.
3.1.3 Implementasi
Membuat dan menyelesaikan program secara keseluruhan, yaitu
menggabungkan perancangan aplikasi berdasarkan sintaks dan struktur java
dengan record database.
3.1.4 Ujicoba dan Integrasi Software
Pengujian dilakukan berupa simulasi pada emulator dan pada handphone dengan
dukungan Java MIDP 2.0.
3.2 Analisis dan Perancangan Aplikasi
3.2.1 Use Case Diagram
Untuk mengenal proses dari suatu sistem digunakan diagram use case.
Dengan diagram use case ini dapat diketahui proses yang terjadi pada aplikasi.
Gambar use case bisa dilihat di bawah ini (gambar 3.3)
Gambar 3.1 Use Case Diagram Current System
Use case diagram di atas dijelaskan dalam tabel 3.1 di bawah ini.
Tabel 3.1 Penjelasan Use Case Diagram
Aktor Input Nama Use Case Deskripsi Use Case
admin password Login Use case ini berfungsi untuk
konfirmasi login bagi admin
admin password Entri Data Jalan Use case ini berfungsi untuk
mencatat dan menyimpan
Melihat Peta
Mencari posisiMenghitung jarak
user
Login
Entri Data Jalan
Entri Data Objek
Entri Data Hotel
Entri Data Restoran
Entri Data RS
Entri Data Pusat Belanja
admin
3.2.2 Activity Diagram
3.2.2.1 Activity Diagram dari Use Case Login
Activity diagram ini digunakan oleh admin. Activity login digunakan untuk
melindungi data agar aman dari pihak-pihak yang tidak bnertanggung jawab.
Login merupakan kunci untuk melakukan pengolahan data.
data ke dalam database
DBJalan
admin password Entri Data Objek Use case ini berfungsi untuk
mencatat dan menyimpan
data ke dalam database
DBObjek
admin password Entri Data Hotel Use case ini berfungsi untuk
mencatat dan menyimpan
data ke dalam database
DBHotel
admin password Entri Data
Restoran
Use case ini berfungsi untuk
mencatat dan menyimpan
data ke dalam database
DBResto
admin password Entri Data
Rumah Sakit
Use case ini berfungsi untuk
mencatat dan menyimpan
data ke dalam database
DBJRS
admin password Entri Data Pusat
Belanja
Use case ini berfungsi untuk
mencatat dan menyimpan
data ke dalam database
DBBelanja
user asal, tujuan Melihat Peta Use case ini digunakan
untuk menampilkan peta
sesuai pilihan ketegori
User kategori Mencari Posisi Use case ini digunakan
untuk menampilkan posisi
user di peta
User kategori, x,
y dan radius
Menghitung
Jarak
Use case ini digunakan
untuk menghitung jarak
antar objek dengan
mempertimbangkan radius.
Gambar 3.2 Activity Diagram dari Use Case Login
3.2.2.2 Activity Diagram dari Use Case Entry Data Hotel
Activity diagram ini digunakan oleh admin untuk memasukkan data-data
terkait. Activity ini dimiliki oleh beberapa use case dengan sifat sama antara lain:
entry data jalan, entry data objek wisata, entry data restoran, entry data rumah
sakit dan p entry data usat belanja
Gambar 3.3 Activity Diagram dari Use Case Entry Data Hotel
input no hotel,
nama, x dan y
simpan
pilih kategori
tabel : DBHotelform : PemanduWisataadmin : admin
Input password
benar
verifikasi
password
Tampilan form
Pengaturran database
Y
Pesan kesalahan
password salah
N
pemanduW : PemanduWisataadmin : admin
3.2.2.3 Activity Diagram dari Use Case Melihat Peta
Activity diagram ini digunakan untuk melihat gambar peta. User dapat
melihat lokasi objek wisata yang ada.
Gambar 3.4 Activity Diagram dari Use Case Melihat Peta
3.2.2.4 Activity Diagram dari Use Case Mencari Posisi
Activity Diagram dari Use Case mencari posisi ini digunakan untuk
mengetahui posisi user dalam kondisi di peta pada aplikasi ini. Nilai posisi ini
merupakan besar piksel yang dihitung mulai dari kiri atas (0,0).
Pilih Kategori
pilih aplikasi
No
Tampil Pilihan Kategori
Objek untuk Berwisata
Yes
pilih jalan Tampil peta
jalan
pilih objek
wisata
pilih hotel
No
pilih restoran
No
pilih rumah sakit
No
tampil peta
objek wisata
Yes
tampil peta
hotel
Yes
tampil peta
restoran
Yes
tampil peta
rumah sakit
tampil peta pusat
perbelanjaan
Yes
No
Yes
No
pemanduW : PemanduWisatauser : user
Gambar 3.5 Activity Diagram dari Use Case Mencari Posisi
3.2.2.5 Activity Diagram dari Use Case Menghitung Jarak
Gambar 3.6 Activity Diagram dari Use Case Menghitung Jarak
input kategori, koordinat
x, y dan radius
hasil < radius
cetak nama
objek
tidak tampil
proses hitung
Yes
No
pemanduW : PemanduWisatauser : user
pilih kategori
tekan tombol navigasi kiri,
kanan, atas dan bawah
Lihat nilai koordinat
yang ada
pemanduW : PemanduWisataser : user
Activity Diagram ini digunakan untuk menghitung tempat wisata mana saja
yang dekat dan termasuk dalam radius yang diinginkan.
3.2.3 Sequence Diagram
3.2.3.1 Sequence Diagram dari Use case Login
Sequence diagram ini dipergunakan admin untuk mengamankan data-data
dalam database. Use case ini menjaga aplikasi supaya aman dari orang-orang yang
tidak berhak mengubah data yang ada. Sehingga login merupakan kunci bagi
admin untuk melakukan pengaturan data-data.
Use case login di include oleh admin, proses yang terjadi di dalamnya
adalah sebagai berikut:
1. Admin memasukkan isian berupa password pada form login.
2. Interface PemanduWisata akan melakukan verifikasi yaitu mengecek
kevalidan password yang dimasukkan.
3. Jika login valid maka Admin akan masuk ke halaman pengaturan database,
jika login tidak valid maka sistem akan menampilkan pesan error kepada
Admin.
Berikut gambar sequence diagram untuk use case login
Gambar 3.7 Sequence Diagram dari Use Case Login
3.2.3.2 Sequence Diagram dari Use case Entri Data Objek
Use case ini menangani proses input data pada aplikasi. Proses yang
terjadi antar satu data dengan yang lainnya adalah sama. Yaitu proses untuk
tambahJalan(), tambahObjek, tambahHotel, tambahRestoran, tambahRS dan
tambagBelanja. Perbedaan hanya pada RMS, yaitu sesuai dengan kategori.
Berikut adalah proses yang terjadi:
1. Admin memilih kategori sesuai kebutuhan.
2. Sistem menampilkan form isian sesuai kategori yang dirpilih.
3. Admin mengisi form terpilih, kemudian tekan Add.
4. Sistem akan melakukan validasi data yang diinputkan.
5. Sistem akan mengirim data ke database.
: admin : PemanduWisata
verifikasi( )
getpassword( )
Gambar 3.8 Sequence Diagram dari Use Case Entri Data Objek
: admin : PemanduWisata : DBObjek
getnoO( )
getnmO( )
getxO( )
getyO( )
tambahObjek( )
3.2.3.3 Sequence Diagram dari Use case Melihat Peta
Gambar 3.9 Sequence Diagram dari Use Case Melihat Peta
: DBObjek : user
: PemanduWisata
: DBJalan : DBHotel : DBResto : DBRS : DBBelanja
getkategori( )
get xj( )
get yj( )
get xO( )
get yO( )
get xH( )
get yH( )
get xRm( )
get yRm( )
get xRs( )
get yRs( )
get xB( )
get yB( )
JalanCanvas( )
ObjekCanvas( )
HotelCanvas( )
RestorantCanvas( )
RSCanvas( )
BelanjaCanvas( )
Diagram ini menangani proses untuk menampilkan gambar objek terpilih
pada peta. Proses untuk gambar diatas yaitu:
1. User memilih kategori sesuai keinginan.
2. Sistem akan mengambil data-data terkait dari RMS.
3. Sistem menampilkan data pada peta sesuai kategori pilihan.
3.2.3.4 Sequence Diagram dari Use Case Mencari Posisi
Use case ini menangani proses untuk memperoleh nilai posisi user pada
peta. Berikut ini adalah proses untuk use case Mencari Posisi, antara lain:
1. User memililh kategori sesuai keinginan.
2. Sistem akan menampilkan peta yang dipilih.
3. User dapat menggunakan tombol navigasi untuk memperoleh letak yang
tepat.
4. Sistem menampilkan nilai koordinat x dan y sebagai posisi user.
Gambar 3.10 Sequence Diagram dari Use Case Mencari Posisi
3.2.3.5 Sequence Diagram dari Use case Menghitung Jarak
Use case ini menangani proses untuk menghitung jarak objek berdasarkan
radius yang berada di sekitar posisi user. Untuk lebih jelasnya dapat dilihat pada
gambar berikut:
: user : PemanduWisata
getkategori( )
getuserposx( )
getuserposy( )
Gambar 3.11 Sequence Diagram dari Use Case Menghitung Jarak
Proses untuk gambar di atas adalah:
1. User memilih kategori RMS
: user : PemanduWisata : DBJalan : DBObjek : DBHotel : DBResto : DBRS : DBBelanja
getkategori( )
getposx( )
getposy( )
getradius( )
result( )
get xj( )
get yj( )
get xO( )
get yO( )
get xH( )
get yH( )
get xRm( )
get yRm( )
get xRs( )
get yRs( )
get xB( )
get yB( )
2. User memasukkan nilai posisinya, yaitu nilai x dan y.
3. User memasukkan nilai radius.
4. User menekan tombol result
5. Sistem akan menghitung jarak antar objek, jika lebih kecil dari nilai radius
maka akan ditampilkan nama objek tersebut. Namun jika sebaliknya maka
hanya ditampilkan nilai jarak objek.
6. Sistem menampilkan hasil perhitungan pada form ViewHasil.
3.2.4 Class Diagram
Class diagram membantu kita dalam visualisasi struktur kelas-kelas dari
suatu sistem dan merupakan tipe diagram yang paling banyak dipakai. Class
diagram memperlihatkan hubungan antar kelas dan penjelasan detail tiap-tiap
kelas didalam model desain dari suatu sistem, seperti Gambar berikut ini:
Gambar 3.12 Class Diagram
3.2.5 Flow Diagram
Aplikasi Mobile membutuhkan form-form yang saling berhubungan untuk
melakukan proses data. Keterkaitan antara form satu dengan yang lain
digambarkan dengan flow diagram. Diagram ini merupakan relasi antar form
untuk mewujudkan suatu proses aliran informasi dari banyak data. Flow Diagram
digambarkan dengan bentuk form berupa persegi empat dengan garis penghubung
antar form.
Perancangan form pada flow diagram yaitu dengan membuat fungsi
command yang merupakan tombol untuk menjalankan aplikasi. Namun
sebenarnya di dalam form tersebut telah dirancang screen yang menunjukkan
adanya item-item dalam form. Form akan berfungsi jika command dijalankan.
Deskripsi tentang screen atau layout akan dibahas pada sub bab selanjutnya.
Gambar 3.13 Flow Diagram
3.2.6 Desain Layout
Untuk membuat aplikasi mobile berbasis j2me maka dibuat desain untuk
screen layout. Desain layout berfungsi untuk merancang tampilan form aplikasi.
Desain layout dirancang secara sederhana.
3.2.6.1 SplashScreen
Gambar 3.14 Desain splashScreen
Splashscreen dirancang untuk menampilkan kesan proses loading ke menu
awal dari aplikasi. Terdapat pengatur waktu selama 5 detik untuk membuat jeda.
3.2.6.2 Form Welcome
Gambar 3.15 Desain formWelcome
Pemandu Wisata
Membantu
wisatawan……
Form ini dirancang untuk menampilkan ucapan selamat datang kepada
user yang akan menggunakan aplikasi.
3.2.6.3 List Menu
Gambar 3.16 Desain listMenu
Form ini dirancang untuk menampilkan pilihan-pilihan yang dapat diakses
dalam menggunakan aplikasi.
3.2.6.4 Form Peta
Gambar 3.17 Desain formPeta
Menu:
- Peta
- Profil
- Admin
- Bantuan
- Menghitung Jarak
- Informasi
Peta
Layer:
- Jalan
- Objek Wisata
- Hotel
- Restoran
- Rumah Sakit
- Pusat Belanja
Form ini dirancang untuk menampilkan pilihan kategori pada menu peta
yang dapat diakses sesuai keinginan.
3.2.6.5 Form Pofil
Gambar 3.18 Desain Form Profil
Form ini dirancang untuk memuat tentang teknologi yang digunakan.
3.2.6.6 Form Admin
Gambar 3.19 Desain Form Admin
Form ini dirancang untuk admin yang akan melakukan perubahan atau
penambahan data pada database.
Profil
Admin
Admin :.....
Password:…..
3.2.6.7 Form Bantuan
Gambar 3.20 Desain Form Bantuan
Form ini dirancang untuk pilihan bantuan bagi user yang membutuhkan
bantuan dalam menjalankan aplikasi ini.
3.2.6.8 Form Menghitung Jarak
(a) (b)
Gambar 3.21 (a) Desain Form Menghitung Jarak dan (b) List Hasil Perhitungan
Form ini dirancang untuk menghitung jarak antar objek pada peta. Setelah
proses perhitungan dilakukan di form ini maka hasilnya akan dimunculkan pada
list hasil perhitungan.
Bantuan
Menghitung
Jarak
- Pilih Kategori
- Posisi:
X =… Y =…
- Radius :…
Hasil
Perhitungan
…..
…..
…..
3.2.6.9 Pesan
Gambar 3.22 Desain Pesan
Form ini dirancang untuk menampilkan pesan kesalahan jika password
yang dimasukkan salah.
3.2.6.10 List Database
Gambar 3.23 Desain List Database
Form yang dirancang untuk mengolah data pada database. Berisi pilihan
kategori untuk memillih RMS masing-masing objek yang dibutuhkan.
Login Gagal….
Silahkan hub:
in.nfarida@
gmail.com
Database
- Data Jalan
- Data Objek
Wisata
- Data Hotel
- Data Restoran
- Data Rumah Sakit
- Data Pusat
Belanja
3.2.6.11 Form JalanDB dan List ViewJalan
(a) (b)
Gambar 3.24 (a) Desain formJalanDB dan (b) listViewJalan
Gambar (a) menunjukkan form yang dirancang unruk mengisi data-data
jalan dan koordinatnya. Sedangkan Gambar (b) menunjukkan isi data jalan ketika
tombol lihat dipilih.
3.2.6.12 Form ObwisDB dan List ViewObjek
(a) (b)
Gambar 3.25 (a) Desain formObwisDB dan (b) listViewObjek
Jalan
No ID :……
Nama :……
Koord x:……
Koord y:……
Data Jalan
Objek Wisata
No ID :……
Nama :……
Koord x:……
Koord y:……
Data Objek
Wisata
Gambar (a) menunjukkan form yang dirancang unruk mengisi data-data
objek wisata dan koordinatnya. Sedangkan Gambar (b) menunjukkan isi data
objek wisata ketika tombol lihat dipilih.
3.2.6.13 Form HotelDB dan list ViewHotel
(a) (b)
Gambar 3.26 (a) Desain formHotelDB dan (b) listViewHotel
Gambar (a) menunjukkan form yang dirancang unruk mengisi data-data
hotel dan koordinatnya. Sedangkan Gambar (b) menunjukkan isi data hotel ketika
tombol lihat dipilih.
Hotel
No ID :……
Nama :……
Koord x:……
Koord y:……
Data Hotel
3.2.6.14 Form RestoDB dan List ViewResto
(a) (b)
Gambar 3.27 (a) Desain formRestoDB dan (b) listViewResto
Gambar (a) menunjukkan form yang dirancang unruk mengisi data-data
restoran dan koordinatnya. Sedangkan Gambar (b) menunjukkan isi data restoran
ketika tombol lihat dipilih.
3.2.6.15 Form RSDB dan List ViewRS
(a) (b)
Gambar 3.28 (a) Desain formRSDB dan (b) listViewRS
Restoran
No ID :……
Nama :……
Koord x:……
Koord y:……
Data Restoran
Rumah Sakit
No ID :……
Nama :……
Koord x:……
Koord y:……
Data Rumah
Sakit
Gambar (a) menunjukkan form yang dirancang unruk mengisi data-data
rumah sakit dan koordinatnya. Sedangkan Gambar (b) menunjukkan isi data
rumah sakit ketika tombol lihat dipilih.
3.2.6.16 Form BelanjaDB dan List ViewBelanja
(a) (b)
Gambar 3.29 (a) Desain formBelanjaDB dan (b) listViewBelanja
Gambar (a) menunjukkan form yang dirancang unruk mengisi data-data
pusat perbelanjaan dan koordinatnya. Sedangkan Gambar (b) menunjukkan isi
data pusat belanja ketika tombol lihat dipilih.
3.2.6.15 Form Informasi dan List ViewInformasi
Gambar (a) menunjukkan form yang dirancang unruk memillih informasi
sesuai kategori yang diinginkan. Sedangkan Gambar (b) menunjukkan hasil
informasi yang ada ketika tombol lanjut dipilih.
Pusat Belanja
No ID :……
Nama :……
Koord x:……
Koord y:……
Data Pusat
Belanja
(a) (b)
Gambar 3.30 (a) Desain Form Informasi dan (b) listViewInfo
3.2.7 Database menggunakan Record Management System (RMS)
Ruang penyimpanan pada handphone telah disediakan namun bersifat
lokal sehingga dapat dibaca dan ditulis (read-write). Ruang penyimpanan lokal ini
disebut dengan RMS (Record Management System).
Untuk memudahkan dan mempercepat pengambilan data maka setiap
kategori mempunyai satu RMS. Sehingga terdapat beberapa RMS dalam aplikasi.
1. Table Jalan
Nama RMS: DBJalan
Tabel 3.2 Tabel Jalan
Name Data type
noj Integer(5)
nmj character varying(32)
xj Integer(5)
yj Integer(5)
Informasi
Taksi:…………
- Jalan
- Objek Wisata
- Hotel
- Restoran
- Rumah Sakit
- Pusat Belanja
Informasi
2. Tabel Objek Wisata
Nama RMS: DBObjek
Tabel 3.3 Tabel Objek Wisata
3. Tabel Hotel
Nama RMS: DBHotel
Tabel 3.4 Tabel Hotel
4. Tabel Restoran
Nama RMS: DBResto
Tabel 3.5 Tabel Restoran
Name Data type
noO Integer(5)
nmO character varying(32)
xO Integer(5)
yO Integer(5)
Name Data type
noO Integer(5)
nmO character varying(32)
xO Integer(5)
yO Integer(5)
Name Data type
noRm Integer(5)
nmRm character varying(32)
xRm Integer(5)
yRm Integer(5)
5. Tabel Rumah Sakit
Nama RMS: DBRS
Tabel 3.6 Tabel Rumah Sakit
Name Data type
noRs Integer(5)
nmRs character varying(32)
xRs Integer(5)
yRs Integer(5)
6. Tabel Pusat Belanja
Nama RMS: DBRS
Tabel 3.7 Tabel Pusat Belanja
Name Data type
noB Integer(5)
nmB character varying(32)
xB Integer(5)
yB Integer(5)
3.2.8 Koneksi RMS dengan Data dan Gambar
RMS atau Record Management System merupakan kunpulan record
untuk menyimpan data pada ponsel. Sifat RMS yang merupakan ruang
penyimpanan lokal membedakannya dengan kebanyakan sifat database pada PC/
komputer. RMS harus diatur secara efisien karena hanya dapat diakses melalui
program yang telah dibuat oleh programmer, bukan diatur secara langsung oleh
JVM. Sehingga membutuhkan kejelian dalam membuat fungsi untuk mengakses
data dari dan ke RMS.
Koneksi RMS dengan data, artinya melakukan perancangan untuk
membuat/ membuka recordstore, membuat record baru dan menambahkan ke
dalam record store, membaca dari record store dan menghapus dari record store.
Koneksi RMS dengan gambar, yaitu data-data dalam RMS yang
merupakan nilai x dan y akan digunakan untuk menentukan nilai koordinat. Nilai-
nilai tersebut dipanggil untuk menunjukkan tempat image yang akan diletakkan
pada peta. Proses koneksi RMS dengan image hampir sama dengan koneksi RMS
ke data. Pada koneksi RMS dengan image digunakan pada kelas canvas. Hal ini
dilakukan untuk menggambar peta dan memanggil image lain berdasarkan nilai
koordinat x dan y yang berasal dari data pada RMS tersebut.
3.2.9 Kuesioner
Kuesioner dilakukan untuk menghitung hasil survey kelayakan aplikasi.
Survey ditujukan kepada user dengan mengisi pernyataan sesuai dengan
pengamatannya pada aplikasi. Berikut pernyataan pada kuesioner:
1. Tampilan Aplikasi
2. Kesesuaian desain warna
3. Informasi yang tersedia
4. Kelengkapan menu
5. Kemudahan dalam pemakaian aplikasi
6. Penggunaan bahasa dalam kalimat
7. Keakuratan menghitung jarak
8. Fungsi masing-masing menu
9. Kesesuaian fungsi tombol
10. Manfaat dan kelayakan aplikasi
Adapun nilai dari pernyataan diasumsikan dengan huruf ,maka keterangan
sebagai berikut:
SB : Sangat Baik B : Baik
C : Cukup K : Kurang
Berikut ini perolehan perhitungan kuesioner dari 30 koresponden, yang
terdiri dari 10 wisatawan dan 20 masyarakat umum.
Tabel 3.8 Rekapitalasi Hasil Kuesionar
No Pernyataan
Jumlah Penilaian Responden
Wisatawan Masyarakat
Umum
SB B C K SB B C K
1 Tampilan aplikasi 2 8 - - 4 14 2 -
2 Kesesuaian desain warna 2 5 3 - 5 8 6 1
3 Informasi yang tersedia 1 6 2 1 3 9 5 3
4 Kelengkapan menu 1 4 5 - 1 8 7 4
5 Kemudahan dalam pemakaian aplikasi 2 6 1 - 4 6 10 -
6 Penggunaan bahasa dalam kalimat 5 5 - - 3 14 3 -
7 Keakuratan menghitung jarak 1 7 2 - 1 12 7 -
8 Fungsi masing-masing menu 1 7 2 - 3 7 8 2
9 Kesesuaian fungsi tombol 1 4 4 2 1 8 8 3
10 Manfaat dan kelayakan aplikasi 3 7 - - 6 12 2 -
Prosentase diperoleh dengan perhitungan:
Prosentase = kuesionerjumlah
RespondenPenilaian Jumlah x 100 %
Tampilan aplikasi :
Wisatawan: Masyarakat Umum:
SB = 10
2x 100 % = 20 % SB =
20
4x 100 % = 20 %
B = 10
8
x 100 % = 80 % B = 20
14
x 100 % = 70 %
C = 0 % C = 20
2
x 100 % = 10 %
K = 0 % K = 0%
Kesesuaian desain warna :
Wisatawan: Masyarakat Umum:
SB = 10
2x 100 % = 20 % SB =
20
5x 100 % = 25 %
B = 10
5x 100 % = 50 % B =
20
8x 100 % = 40 %
C = 10
3x 100 % = 30 % C =
20
6x 100 % = 30 %
K = 0% K = 20
1x 100 % = 5 %
Informasi yang tersedia :
Wisatawan: Masyarakat Umum:
SB = 10
1x 100 % = 10 % SB =
20
3x 100 % = 15 %
B = 10
6x 100 % = 60 % B =
20
9x 100 % = 45 %
C = 10
2x 100 % = 20 % C =
20
5x 100 % = 25 %
K = 10
1x 100 % = 10 % K =
20
3x 100 % = 15 %
Kelengkapan menu :
Wisatawan: Masyarakat Umum:
SB = 10
1x 100 % = 10 % SB =
20
1x 100 % = 5 %
B = 10
4x 100 % = 40 % B =
20
8x 100 % = 40 %
C = 10
5x 100 % = 50 % C =
20
7x 100 % = 35 %
K = 0 % K = 20
4x 100 % = 20 %
Kemudahan dalam pemakaian aplikasi :
Wisatawan: Masyarakat Umum:
SB = 10
2x 100 % = 20 % SB =
20
4x 100 % = 20 %
B = 10
6x 100 % = 60 % B =
20
6x 100 % = 30 %
C = 10
1x 100 % = 10 % C =
20
10x 100 % = 50 %
K = 0 % K = 0 %
Penggunaan bahasa dalam kalimat :
Wisatawan: Masyarakat Umum:
SB = 10
5x 100 % = 50 % SB =
20
3x 100 % = 15 %
B = 10
5x 100 % = 50 % B =
20
14x 100 % = 70 %
C = 0% C = 20
3x 100 % = 15 %
K = 0 % K = 0 %
Keakuratan menghitung jarak :
Wisatawan: Masyarakat Umum:
SB = 10
1x 100 % = 10 % SB =
20
1x 100 % = 5 %
B = 10
7x 100 % = 70 % B =
20
12x 100 % = 60 %
C = 10
2x 100 % = 20 % C =
20
7x 100 % = 35 %
K = 0 % K = 0 %
Fungsi masing-masing menu :
Wisatawan: Masyarakat Umum:
SB = 10
1x 100 % = 10 % B S =
20
3x 100 % = 15 %
B = 10
7x 100 % = 70 % B =
20
7x 100 % = 35 %
C = 10
2x 100 % = 20 % C =
20
8x 100 % = 40 %
K = 0 % K = 20
2x 100 % = 10 %
Kesesuaian fungsi tombol :
Wisatawan: Masyarakat Umum:
SB = 10
1x 100 % = 10 % SB =
20
1x 100 % = 5 %
B = 10
3x 100 % = 30 % B =
20
8x 100 % = 40 %
C = 10
4x 100 % = 40 % C =
20
8x 100 % = 40 %
K = 20
2x 100 % = 20 % K =
20
3x 100 % = 15 %
Manfaat dan kelayakan aplikasi :
Wisatawan: Masyarakat Umum:
SB = 10
3x 100 % = 30 % SB =
20
6x 100 % = 30 %
B = 10
7x 100 % = 60 % B =
20
12x 100 % = 60 %
C = 0 % C = 20
2x 100 % = 10 %
K = 0 % K = 0 %
3.2.10 Perhitungan Jarak
Perhitungan algoritma merupakan suatu uji coba dari aplikasi untuk
mengetahui jarak antar objek yang sepanjang radius. Jika jarak tersebut kurang
dari radius maka akan tampil namun sebaliknya jika melebihi radius maka objek
tidak akan ditampilkan sebagai hasil aplikasi.
Objek Wisata:
Misalkan, posisi z (x1, y1) : (50, 60)
radius : 100
Tabel 3.9 Tabel Perhitungan Objek Wisata
Hotel:
Misalkan, posisi z (x1, y1) : (80, 80)
radius : 100
Tabel 3.10 Tabel Perhitungan Hotel
Nama Objek
Wisata (x2, y2) (x2 – x1)
2 (y2 – y1)
2 )y-(y )x- x( 2
12
2
12 Ket.
Taman Rekreasi
Senaputera (119,137 4761 5921 103,3538 > radius
Tareko 120,144 4900 7056 109,3435 > radius
Lembah Dieng 71,137 441 5929 79,81228 < radius
Museum Brawijaya 93,130 1849 4900 82,1853 < radius
Taman Rekreasi
Tlogomas 58,33 64 729 28,16028 < radius
Nama Hotel (x2, y2) (x2 – x1)2 (y2 – y1)
2 )y-(y )x- x( 2
12
2
12 Ket.
Arjosari (178,38) 19600 1764 146,1463 > radius
Mutiara (128,119) 2304 1521 61,84658 < radius
Malang Regent‟s Park (123,127) 1849 2209 63,70243 < radius
Kartika Kusuma (122,139) 1746 3841 72,42237 < radius
The Graha Cakra (105,125) 625 2025 51,47815 < radius
Pusat Perbelanjaan:
Misalkan, posisi z (x1, y1) : (70, 80)
radius : 50
Tabel 3.11 Tabel Perhitungan Pusat Perbelanjaan
Nama Pusat
Perbelanjaan (x2, y2) (x2 – x1)
2 (y2 – y1)
2 )y-(y )x- x( 2
12
2
12 Ket.
Ramayana Dept Store (124, 155) 2916 5625 92,41753 > radius
Matahari Dept Store (120, 168) 2500 7744 101,2126 > radius
Plasa Dieng (70, 135) 0 3025 55 > radius
Plasa Araya (187, 50) 13689 900 120,7849 > radius
MATOS (87,91) 289 121 20,24846 < radius
BAB IV
HASIL DAN PEMBAHASAN
4.1 Implementasi Program dalam Pandangan Islam
Al-Qur‟an merupakan pedoman hidup yang utama bagi manusia. Nabi
Muhammad SAW sebagai utusan Allah SWT telah menyebarkan ajaran Al-
Qur‟an melalui agama Islam. Al-Qur‟an mendorong manusia untuk membaca dan
menelaah alam sebagai pertanda adanya Allah SWT yang Maha Kuasa dalam
mengatur perjalanan alam semesta.
Allah SWT telah menciptakan alam semesta beserta seluruh isinya untuk
memberikan rangsangan kepada manusia agar menggunakan akalnya, berpikir dan
merenungkannya. Kekuasaan Allah tentang alam telah dijelaskan dalam kitab suci
Al-Qur‟an. Al-Qur‟an memberikan petunjuk tentang alam diantaranya melalui
penciptaan jalan, sungai dan bintang untuk kelangsungan hidup manusia.
Adanya sungai bermanfaat sebagai sumber air bagi makhluk hidup. Jalan
merupakan petunjuk di bumi agar manusia menemukan arah untuk menempuh
perjalanan ke suatu tempat. Bintang-bintang berguna untuk mengenali waktu dan
arah di malam hari ketika bepergian. Hal ini merupakan petunjuk alam yang Allah
ciptakan untuk manusia supaya menjadikan manusia untuk bersyukur atas karunia
dan menjaga serta memanfaatkannya.
Aplikasi pemandu wisata ini membantu manusia untuk lebih memahami
petunjuk alam. Aplikasi ini memberikan informasi yang berguna untuk melakukan
perjalanan wisata. Sehingga mampu melengkapi maksud yang terkandung
dalam ayat Al-Qur‟an mengenai petunjuk alam sebagaimana telah diuraikan pada
bab sebelumnya.
Sebagaimana dijelaskan dalam Al-Qur‟an: “Dan Dia menancapkan
gunung-gunung di bumi supaya bumi itu tidak goncang bersama kamu, (dan dia
menciptakan) sungai-sungai dan jalan-jalan agar kamu mendapat petunjuk. (QS.
An-Nahl : 15). Aplikasi ini merupakan wujud syukur atas karunia Allah SWT
berupa keindahan alam, seperti adanya jalan-jalan, sungai dan gunung yang
tercipta untuk kemudahan manusia dalam menjalani kehidupan.
Implementasi program sesuai keterangan ayat diatas membutuhkan
beberapa perangkat yang akan dijelaskan dalam keterangan dibawah ini. Sehingga
untuk menjalankan aplikasi ini, harus dipersiapkan kebutuhan program baik dari
segi perangkat keras maupun perangkat lunak. Perangkat keras meliputi komputer
dan handphone. Sedangkan kebutuhan perangkat lunak akan dijelaskan lebih
lanjut.
4.1.1 Kebutuhan Perangkat Keras
4.1.1.1 Personal Komputer
1. Komputer Intel Pentium 4 CPU 3.06 Ghz atau sejenisnya
2. Memory 1 G
3. Hardisk 140 GB
4. VGA 128 MB
5. Monitor LG 17”
4.1.1.2 Handphone
1. Java MIDP 2.0
2. Memory minimal 30 MB
3. Port microUSB
4. Blutooth sensor
5. Layar TFT 262.144 warna, 240x320 piksel, 2 inchi
4.1.2 Kebutuhan Perangkat Lunak
1. Microsoft Windows XP Profesional Version 2002 Servise Pack 2
2. jdk -6u10-windows-i586-p
3. NetBeans Mobility 6.0
4. Sun Java(TM) Wireless Toolkit 2.5.2 for CLDC
5. Adobe Photoshop 7
4.1.3 Setup Program di Komputer
1. Instalasi Microsoft Windows XP Profesional Servise Pack 2 sebagai sistem
operasi
2. Instalasi jdk -6u10-windows-i586-p
3. Instalasi NetBeans Mobility 6.0
4. Instalasi Sun Java(TM) Wireless Toolkit 2.5.2 for CLDC
5. Instalasi Photoshop 7 atau di atasnya
4.1.4 Implementasi Aplikasi pada Handphone
Untuk mengimplementasikan aplikasi ini pada handphone maka harus
dibuat koneksi antara komputer dengan handphone. Koneksi dapat dilakukan
menggunakan kabel data. Setelah terhubung maka file siap diakses.
File PemanduWisata.jar yang telah terbentuk dengan menggunakan
NetBeans Mobility 6.0 antara lain:
- build
- dist
- nbproject
- src
File .jar yang terdapat di folder dist dicopy ke memory handphone beserta RMS
dalam satu folder. Aplikasi siap dijalankan di handphone.
File RMS terdapat pada komputer dengan directory C:\Documents and
Settings\[user]\j2mewtk\2.5.2\appdb\DefaultColorPhone. Seluruh RMS di copy
dan disertakan bersama file .jar sebagaimana yang dijelaskan diatas.
4.1.5 Implementasi Record Management System
Untuk menyimpan semua informasi MIDlet telah menyediakan sebuah
memori non-volatile yang disebut RMS. RMS yang merupakan kumpulan field
bukanlah file system seperti yang digunakan pada komputer. Dengan sifat RMS
yang bersifat tetap maka untuk mengakses data pun juga dilakukan dalam source
code program.
Aplikasi ini menggunakan beberapa perintah untuk memanggil informasi
dari RMS. Perintah tersebut antara lain untuk membuka atau membuat RMS,
menambah data, melihat data dan menghapus data.
Berikut ini potongan source code untuk membuka RMS tabel DBHotel:
hotelrs = null;
//Membuka record store bernama DBHotel atau secara otomatis
membuatnya jika belum ada
try
{
hotelrs = RecordStore.openRecordStore("DBHotel", true);
}
catch (RecordStoreException rse)
{
rse.printStackTrace();
}
Agar bisa menggunakan RMS secara optimal maka untuk membuka atau
membuat record store dilakukan pada constractor dari file aplikasi yang akan
dibuat. Proses yang sama juga dilakukan untuk kategori yang lain.
Berikut ini potongan source code untuk menambah data RMS tabel
DBHotel:
public void tambahHotel(String noH, String nmH, String xH,
String yH)
//noH, nmH, xH, yH adalah variabel untuk nomor, nama
hotel,koordinat x dan koordinat y
{
byte[] temp = null;
try
{
ByteArrayOutputStream baosH = new ByteArrayOutputStream();
DataOutputStream dosH = new DataOutputStream(baosH);
dosH.writeUTF(noH);// menulis noH ke dalam stream
dosH.writeUTF(nmH);// menulis nmH ke dalam stream
dosH.writeUTF(xH); // menulis xH ke dalam stream
dosH.writeUTF(yH); // menulis yH ke dalam stream
temp = baosH.toByteArray();
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
try
{
//menambah record baru
hotelrs.addRecord(temp, 0, temp.length);
}
catch (RecordStoreNotOpenException rsnoe)
{
rsnoe.printStackTrace();
}
catch (RecordStoreException rse)
{
rse.printStackTrace();
}
}
Berikut ini potongan source code untuk melihat data RMS tabel DBHotel:
public void lihatHotel()
{
byte[] temp = null;
listViewHotel.deleteAll();
try
{
hotelre = hotelrs.enumerateRecords(null, null, false);
while (hotelre.hasNextElement())
{
int i = hotelre.nextRecordId();
temp = hotelrs.getRecord(i);
ByteArrayInputStream baisH =
new ByteArrayInputStream(temp);
DataInputStream disH = new DataInputStream(baisH);
try
{
String noH = disH.readUTF();//membaca data noH
String nmH = disH.readUTF();//membaca data nmH
String xH = disH.readUTF();//membaca data xH
String yH = disH.readUTF();//membaca data yH
listViewHotel.append(noH + " " + nmH + " [" + xH +
"," + yH + "]", null);
//menambahkan string untuk diletakkan pada form listViewHotel
}
catch (IOException ioe)
{
ioe.printStackTrace();
}
}
}
catch (InvalidRecordIDException invID)
{
invID.printStackTrace();
}
catch (RecordStoreNotOpenException rsnoe)
{
rsnoe.printStackTrace();
}
catch (RecordStoreException rse)
{
rse.printStackTrace();
}
}
4.1.6 Implementasi Antarmuka
Aplikasi ini menggunakan beberapa komponen J2ME untuk
mengimplementasikan antarmuka. Komponen tersebut antara lain:
4.1.6.1 Form
Form yang terbentuk pada aplikasi ini digunakan sebagai halaman untuk
menampilkan komponen item. Item dapat berupa ImageItem, StringItem,
TextField, ChoiceGroup dan lain sebagainya. Beberapa form yang digunakan
pada aplikasi adalah: formAplikasi, formAbout, formAdmin dan lain sebagainya
yang akan dijelaskan pada sub bab pembahasan.
4.1.6.2 List
List menunjukkan fungsi untuk memilih elemen. Elemen tersebut dapat
berupa teks, string atau gambar. Komponen list mengimplementasikan antarmuka
choice yang mendefinisikan tipe list. List pada aplikasi ini meliputi file
menuUtama, list1 dan listView database. Untuk lebih lanjut akan dijelaskan pada
sub bab pembahasan.
4.1.6.3 Alert
Alert menunjukkan pesan yang tampil di layar yang menampilkan teks
ataupun gambar untuk memberikan suatu informasi kepada pemakai. Pada
aplikasi ini terdapat file Alert1 yang menunjukkan pesan kesalahan saat
melakukan login oleh admin.
4.1.6.4 Canvas
Canvas merupakan subclass yang menggunakan grafis level rendah.
Artinya semua elemen yang akan ditampilkan pada layar ponsel harus digambar
sendiri pada Canvas dengan menggunakan objek Graphics. Canvas mempunyai
metode paint(Graphics g) yang diakses setiap kali Canvas terbentuk dan metode
repaint() yang dipanggil.
Untuk menggambar atau memanggil gambar baik berupa peta atau icon
maka aplikasi ini menggambarnya pada kelas Canvas dan memanggilnya kembali
dengan metode yang telah dijelaskan diatas.
Gambar 4.1 Kelas RestorantCanvas
Gambar di atas menunjukkan hasil tampilan dengan menggambar di kelas
Canvas. Gambar peta dipanggil dengan metode drawImage, begitu juga icon yang
nampak pada layar.
Kelas Canvas pada aplikasi ini meliputi beberapa kelas, antara lain: Kelas
JalanCanvas, ObjekCanvas, HotelCanvas, RestorantCanvas, RSCanvas dan
BelanjaCanvas. Kelas-kelas tersebut mempunyai kemiripan source code namun
terdapat perbedaan pada file gambar atau icon yang dipanggil untuk ditampilkan
di layar.
Potongan source code untuk RestorantCanvas :
//Method drawScreen untuk menggambar Graphics
private void drawScreen(Graphics g)
{
byte[] temp = null;
try
{
g.setColor(100,100,100); //warna font
g.fillRect(0,0,getWidth(),getHeight());
Image image = Image.createImage("/ok2.jpg");
g.drawImage(image, 0, 0,Graphics.TOP | Graphics.LEFT);
Image image1 = Image.createImage("/App.png");
g.drawImage(image1, currentX1, currentY1,Graphics.TOP |
Graphics.LEFT);
g.drawString("Posisi "+currentX1 +","+ currentY1,
currentX1, currentY1, Graphics.TOP | Graphics.LEFT);
Image image2 = Image.createImage("/restorant.png");
//memanggil data pada RMS
restore = restors.enumerateRecords(null, null, false);
if (restore.hasNextElement())
{
int k = restore.nextRecordId();
temp = restors.getRecord(k);
ByteArrayInputStream baisRm = new ByteArrayInputStream(temp);
DataInputStream disRm = new DataInputStream(baisRm);
String noRm = disRm.readUTF();
String nmRm = disRm.readUTF();
String xRm = disRm.readUTF();
String yRm = disRm.readUTF();
int xxRm = Integer.parseInt(xRm);
int yyRm = Integer.parseInt(yRm);
g.drawImage(image2, xxRm, yyRm, Graphics.TOP | Graphics.LEFT);
//menggambar image2 berdasarkan koordinat xxRm, yyRm
g.drawString(nmRm+" ("+xxRm+","+yyRm +")", xxRm, yyRm,
Graphics.TOP | Graphics.LEFT);
//menampilkan data pada peta
}
}catch(Exception e){ }
flushGraphics();
}
4.2 Pembahasan
Pada bagian ini akan dijelaskan fungsi-fungsi dari form yang ada di sistem
beserta kode program.
4.2.1 SplashScreen
SplashScreen adalah tampilan berupa gambar atau teks yang akan muncul
ketika aplikasi pertama kali dijalankan. Untuk menampilkannya harus diatur
berapa lama waktu yang dibutuhkan untuk muncul di layar. Setelah waktu yang
ditentukan maka layar akan menampilkan interface selanjutnya. Splashscreen ini
menunjukkan nama dari aplikasi yang sedang dijalankan.
Gambar 4.2 SplashScreen
Potongan source code untuk splashScreen :
public SplashScreen getSplashScreen() {
if (splashScreen == null) {
// write pre-init user code here
splashScreen=new SplashScreen(getDisplay());
splashScreen.setTitle("WELCOME");
splashScreen.setCommandListener(this);
splashScreen.setFullScreenMode(true);
//Mengeset tampilan menjadi satu layar penuh
splashScreen.setImage(getImage1());
splashScreen.setText("");
splashScreen.setTimeout(3000);
//Mengeset waktu tampil selama 3 detik
// write post-init user code here
}
return splashScreen;
}
4.2.2 Form Welcome
Form ini menampilkan ucapan selamat datang untuk user yang akan
mengakses aplikasi ini.
Gambar 4.3 Form Welcome
Potongan source code untuk formWelcome :
public Form getFormWelcome() {
if (formWelcome == null) {
// write pre-init user code here
formWelcome = new Form("Aplikasi Pemandu Wisata",
new Item[] { getImageItem(), getStringItem() });
formWelcome.setTicker(getTicker1());
formWelcome.addCommand(getOkCmd());
formWelcome.addCommand(getExitCmd());
formWelcome.setCommandListener(this);
// write post-init user code here
}
return formWelcome;
}
4.2.3 List Menu
List ini menunjukkan isi dari menu utama yang terdapat pada aplikasi.
Menu terdiri dari peta, profil, admin, bantuan, menghitung jarak dan informasi.
List ini menggunakan type implisit, sehingga user hanya dapat memilih satu
pilihan saja.
Gambar 4.4 List Menu
Potongan source code untuk listMenu :
public List getListMenu() {
if (listMenu == null) {
// write pre-init user code here
listMenu = new List("Menu", Choice.IMPLICIT);
//tipe implicit untuk memilih hanya satu pilihan
listMenu.append("Peta", getImage3());
listMenu.append("Profil", getImage4());
listMenu.append("Admin", getImage5());
listMenu.append("Bantuan", getImage12());
listMenu.append("Menghitung Jarak", getImage20());
listMenu.append("Informasi", getImage21());
listMenu.addCommand(getScrCmd1());
listMenu.addCommand(getBackCmd3());
listMenu.setCommandListener(this);
listMenu.setSelectedFlags(new boolean[] { false, false,
false, false, false, false });
listMenu.setFont(0, getFont1());
listMenu.setFont(1, getFont2());
listMenu.setFont(2, getFont3());
listMenu.setFont(3, getFont5());
listMenu.setFont(4, getFont12());
listMenu.setFont(5, getFont13());
// write post-init user code here
}
return listMenu;
}
4.2.4 Form Peta
Form ini menampilkan isi dari aplikasi yang telah dipilih ketika
menuUtama tampil. Form peta menyediakan pilihan kategori untuk berwisata.
Yaitu pilihan kategori tujuan dalam perjalanan. User dapat memilih salah satu
item sesuai kebutuhannya.
Gambar 4.5 Form Peta
Potongan source code untuk Form Peta:
public ChoiceGroup getChoiceGroup() {
if (choiceGroup == null) {
// write pre-init user code here
choiceGroup = new ChoiceGroup("Layer",
Choice.EXCLUSIVE);
choiceGroup.append("Jalan", getImage6());
choiceGroup.append("Obyek Wisata", getImage7());
choiceGroup.append("Hotel", getImage8());
choiceGroup.append("Restorant", getImage9());
choiceGroup.append("Rumah Sakit", getImage10());
choiceGroup.append("Pusat Perbelanjaan",
getImage11());
choiceGroup.setSelectedFlags(new boolean[] { false, false, false,
false, false, false });
choiceGroup.setFont(0, null);
choiceGroup.setFont(1, null);
choiceGroup.setFont(2, null);
choiceGroup.setFont(3, null);
choiceGroup.setFont(4, null);
choiceGroup.setFont(5, null);
// write post-init user code here
}
return choiceGroup;
}
4.2.5 Form Profil
Form ini menampilkan tentang software yang digunakan serta informasi
secukupnya tentang aplikasi.
Gambar 4.6 Form Profil
Gambar 4.6 Form Profil
Potongan source code untuk Form Profil:
public Form getFormAbout() {
if (formAbout == null) {
// write pre-init user code here
formAbout = new Form("Profil", new Item[] {
getStringItem1() });
formAbout.setTicker(getTicker3());
formAbout.addCommand(getBackCmd2());
formAbout.setCommandListener(this);
// write post-init user code here
}
return formAbout;
}
4.2.6 Form Admin
Form ini digunakan oleh admin untuk mengatur data-data yang dibutuhkan
untuk kemudian disimpan di database RMS. Karakter untuk textfield password
telah diatur secara default. Jika login berhasil maka aplikasi akan menampilkan
form input database dan jika gagal maka akan muncul pesan kegagalan yang
diimplementasikan oleh alert1.
(a) (b)
Gambar 4.7 (a) Form Admin dan (b) Alert1
Potongan source code untuk Form Admin :
private void initialize() {
// write pre-initialize user code here
loginScreen = new LoginScreen(getDisplay());
loginScreen.setLabelTexts("Username", "Password");
loginScreen.setTitle("Form Admin");
loginScreen.setTicker(getTicker6());
loginScreen.addCommand(LoginScreen.LOGIN_COMMAND);
loginScreen.addCommand(getBackCmd4());
loginScreen.setCommandListener(this);
loginScreen.setBGColor(-13261);
loginScreen.setFGColor(-13421773);
loginScreen.setPassword("");
loginScreen.setUsername("admin");
loginScreen.setLoginTitle("Masukkan Password");
loginScreen.setUseLoginButton(true);
loginScreen.setLoginButtonText("Login");
scrCmd2 = new Command("Add", Command.SCREEN, 0);
// write post-initialize user code here
}
Potongan source code loginScreen untuk mengatur verifikasi username dan
password.
public void method1() {
// enter pre-if user code here
if
(loginScreen.getUsername().equals("admin")&&loginScreen.getPasswor
d().equals("123")) {
// write pre-action user code here
switchDisplayable(null, getList1());
// write post-action user code here
} else {
// write pre-action user code here
switchDisplayable(null, getAlert1());
// write post-action user code here
}
// enter post-if user code here
}
4.2.7 Form Database
Form ini akan tampil jika password pada form login telah sesuai. Form ini
berisi pilihan item untuk mengatur data di RMS. Masing-masing item mempunyai
record store.
Gambar 4.8 List1
Potongan source code untuk list1 :
public List getList1() {
if (list1 == null) {
// write pre-init user code here
list1 = new List("Database", Choice.IMPLICIT);
list1.append("Data Jalan", getImage13());
list1.append("Data Objek Wisata", getImage14());
list1.append("Data Hotel", getImage15());
list1.append("Data Restoran", getImage16());
list1.append("Data Rumah Sakit", getImage17());
list1.append("Data Pusat Belanja", getImage18());
list1.addCommand(getScrCmd8());
list1.setCommandListener(this);
list1.setFitPolicy(Choice.TEXT_WRAP_DEFAULT);
list1.setSelectedFlags(new boolean[] { false, false,
false, false, false, false });
list1.setFont(0, getFont6());
list1.setFont(1, getFont7());
list1.setFont(2, getFont8());
list1.setFont(3, getFont9());
list1.setFont(4, getFont10());
list1.setFont(5, getFont11());
// write post-init user code here
}
return list1;
}
4.2.8 Form JalanDB
Form ini menampilkan field yang akan digunakan untuk menyimpan data
jalan pada RMS. Setelah field terisi maka digunakan tombol simpan untuk
menyimpan di record store. Sedangkan tombol lihat digunakan untuk
menampilkan data yang baru disimpan.
(a) (b)
Gambar 4.9 (a) Form JalanDB dan (b) listViewJalan
Potongan source code untuk formJalanDB :
public Form getFormJalanDB() {
if (formJalanDB == null) {
// write pre-init user code here
formJalanDB = new Form("Jalan ", new Item[] {
getTf_idjalan(), getTf_nmjln(), getTf_xjln(), getTf_yjln() });
//memanggil teks yang diisi pada textfield
formJalanDB.addCommand(scrCmd2);
formJalanDB.addCommand(getCancCmd());
formJalanDB.addCommand(getScrCmd9());
formJalanDB.setCommandListener(this);
// write post-init user code here
//formBuatData.append(textField);
}
return formJalanDB;
}
4.2.9 Form Objek Wisata
Form ini menampilkan field yang akan digunakan untuk menyimpan data
objek wisata pada record store. Setelah field terisi maka digunakan tombol
simpan untuk menyimpan data di record store. Sedangkan tombol lihat digunakan
untuk menampilkan data yang baru disimpan.
(a) (b)
Gambar 4.10 (a) Form ObjekDB dan (b) listViewObjek
Potongan source code untuk formObjekDB :
public Form getFormObwisDB() {
if (formObwisDB == null) {
// write pre-init user code here
formObwisDB = new Form("Objek Wisata", new Item[] {
getTf_idow(), getTf_nmow(), getTf_xow(), getTf_yow() });
formObwisDB.addCommand(getCancCmd4());
formObwisDB.addCommand(getScrCmd11());
formObwisDB.addCommand(getScrCmd12());
formObwisDB.setCommandListener(this);
// write post-init user code here
}
return formObwisDB;
}
4.2.10 Form HotelDB
Form ini menampilkan field yang akan digunakan untuk menyimpan data
hotel pada RMS. Setelah field terisi maka digunakan tombol simpan untuk
menyimpan data di record store. Sedangkan tombol lihat digunakan untuk
menampilkan data yang baru disimpan.
(a) (b)
Gambar 4.11 (a) Form HotelDB dan (b) listViewHotel
Potongan source code untuk formHotelDB :
public Form getFormHotelDB() {
if (formHotelDB == null) {
// write pre-init user code here
formHotelDB = new Form("Hotel", new Item[] {
getTf_idhotel(), getTf_nmhotel(), getTf_xh(), getTf_yh() });
formHotelDB.addCommand(getCancCmd3());
formHotelDB.addCommand(getScrCmd6());
formHotelDB.addCommand(getScrCmd14());
formHotelDB.setCommandListener(this);
// write post-init user code here
}
return formHotelDB;
}
4.2.11 Form RestoDB
Form ini menampilkan field yang akan digunakan untuk menyimpan data
restoran pada record store. Setelah field terisi maka digunakan tombol simpan
untuk menyimpan di record store. Sedangkan tombol lihat digunakan untuk
menampilkan data yang baru disimpan.
(a) (b)
Gambar 4.12 (a) Form RestoDB dan (b) listViewResto
Potongan source code untuk formRestoDB :
public Form getFormRestoDB() {
if (formRestoDB == null) {
// write pre-init user code here
formRestoDB = new Form("Restoran", new Item[] {
getTf_idrm(), getTf_nmrm(), getTf_xrm(), getTf_yrm() });
formRestoDB.addCommand(getScrCmd4());
formRestoDB.addCommand(getScrCmd5());
formRestoDB.addCommand(getCanCmd5());
formRestoDB.setCommandListener(this);
// write post-init user code here
}
return formRestoDB;
}
4.2.12 Form RSDB
Form ini menampilkan field yang akan digunakan untuk menyimpan data
rumahsakit pada record store. Setelah field terisi maka digunakan tombol simpan
untuk menyimpan di record store. Sedangkan tombol lihat digunakan untuk
menampilkan data yang baru disimpan.
(a) (b)
Gambar 4.13 (a) Form RSDB dan (b) listViewRS
Potongan source code untuk formRSDB :
public Form getFormRSDB() {
if (formRSDB == null) {
// write pre-init user code here
formRSDB = new Form("Rumah Sakit", new Item[] {
getTf_idrs(), getTf_nmrs(), getTf_xrs(), getTf_yrs() });
formRSDB.addCommand(getCancCmd1());
formRSDB.addCommand(getScrCmd3());
formRSDB.addCommand(getScrCmd17());
formRSDB.setCommandListener(this);
// write post-init user code here
}
return formRSDB;
}
4.2.13 Form BelanjaDB
Form ini menampilkan field yang akan digunakan untuk menyimpan data
pusat perbelanjaan pada record store. Setelah field terisi maka digunakan tombol
simpan untuk menyimpan di record store. Sedangkan tombol lihat digunakan
untuk menampilkan data yang baru disimpan.
(a) (b)
Gambar 4.14 (a) Form BelanjaDB dan (b) listViewBelanja
Potongan source code untuk formBelanjaDB :
public Form getFormBelanjaDB() {
if (formBelanjaDB == null) {
// write pre-init user code here
formBelanjaDB = new Form("Pusat Belanja", new Item[] {
getTf_idbel(), getTf_nmbel(), getTf_xbel(), getTf_ybel() });
formBelanjaDB.addCommand(getCancCmd2());
formBelanjaDB.addCommand(getScrCmd19());
formBelanjaDB.addCommand(getScrCmd20());
formBelanjaDB.setCommandListener(this);
// write post-init user code here
}
return formBelanjaDB;
}
4.2.14 Form Bantuan
Form ini digunakan untuk membantu user dalam menjalankan aplikasi.
Gambar 4.15 Form Help
Potongan source code untuk formHelp :
public Form getFormHelp() {
if (formHelp == null) {
// write pre-init user code here
formHelp = new Form("Bantuan", new Item[] {
getStringItem3(), getStringItem4() });
formHelp.setTicker(getTicker5());
formHelp.addCommand(getBackCmd3());
formHelp.setCommandListener(this);
// write post-init user code here
}
return formHelp;
}
4.2.15 Form Menghitung Jarak
Form ini digunakan oleh user dalam mencari lokasi objek wisata atau
tempat lainnya berdasarkan radius yang diinginkan. Radius diukur dari posisi user
sebagaimana dapat dilihat pada form aplikasi dan item kategori yang dipilih.
User dapat memilih kategori yang diinginkan sesuai kebutuhan.
Sedangkan posisi z (x,y) menunjukkan posisi user yang ditunjukkan oleh
koordinat yang terdapat pada peta di layar (Form Peta). Setelah koordinat x dan y
diisi maka radius juga harus diisi. Radius diisi maksimal angka 200, sesuai
kapasitas layar ponsel dalam menampilkan peta. Setelah semua data terisi lengkap
maka ditekan tombol hasil, sehingga muncul hasil perhitungan pada StringIitem
hasil di layar.
(a) (b)
Gambar 4.16 (a) Form Algo dan (b) listViewAlgo
Potongan source code untuk tombol hasil:
else if (choiceAlgo.isSelected(1) && !tf_posisix.equals("") &&
!tf_posisiy.equals("") && !tf_radius.equals(""))
{
hitungJarakO(choiceAlgo.getSelectedIndex(),tf_posisix.getString(),
tf_posisiy.getString(), tf_radius.getString());
System.out.println("Ayo Berhitung");
choiceAlgo.setSelectedIndex(0, true);
tf_posisix.setString("");
tf_posisiy.setString("");
tf_radius.setString("");
}
Potongan metode hitungJarakO yaitu:
private void hitungJarakO(int k, String posx, String posy, String
radius)
{
byte[] temp = null;
try
{
objekre = objekrs.enumerateRecords(null, null, false);
while (objekre.hasNextElement())
{
int b = objekre.nextRecordId();
temp = objekrs.getRecord(b);
ByteArrayInputStream baisO = new ByteArrayInputStream(temp);
DataInputStream disO = new DataInputStream(baisO);
String noO = disO.readUTF();//membaca string noO
String nmO = disO.readUTF();//membaca string nmO
String xO = disO.readUTF(); // membaca string xO
String yO = disO.readUTF(); // membaca string yO
int xxo = Integer.parseInt(xO); //konversi string menjadi integer
int yyo = Integer.parseInt(yO);
System.out.println("ini koordinatnya : "+xxo+ " , " +yyo);
try
{
ByteArrayOutputStream baosj = new ByteArrayOutputStream();
DataOutputStream dosj = new DataOutputStream(baosj);
dosj.writeInt(k);//menulis data k
dosj.writeUTF(posx);
dosj.writeUTF(posy);
dosj.writeUTF(radius);
temp = baosj.toByteArray();
//konversi integer menjadi double
double x1 = Double.parseDouble(posx);
double y1 = Double.parseDouble(posy);
double x2 = Double.parseDouble(xO);
double y2 = Double.parseDouble(yO);
double r = Double.parseDouble(radius);
String q=String.valueOf(Math.sqrt(((x1-x2)*(x1-
x2))+((y1-y2)*(y1-y2))));//rumus menghitung jarak
double p = Double.parseDouble(q);
if(p<r)
{
System.out.println(q);
listViewHasil.append(nmO, null);
}
}catch(IOException ioe)
{
ioe.printStackTrace();
}
}
}
catch (RecordStoreNotOpenException ex) {
ex.printStackTrace();
} catch (InvalidRecordIDException ex) {
ex.printStackTrace();
} catch (RecordStoreException ex) {
ex.printStackTrace();
} catch (IOException ioe)
{
ioe.printStackTrace();
}
}
4.2.16 Form Informasi
Form ini digunakan oleh user untuk memperoleh informasi tentang objek wisata
yang ada. User dapat memilih kategori informasi yang diinginkan. Informasi ini
berupa nama taksi yang ada serta nama tempat dan letak titik sesuai gambar peta.
(a) (b)
Gambar 4.19 (a) Form Informasi dan (b) listViewInfo
4.3 Evaluasi Program
4.3.1 Uji Coba
Aplikasi pemandu wisata telah diuji pada beberapa merk ponsel dengan
hasil sebagai berikut:
Merk Tipe Memori
internal Layar
Java
MIDP Hasil
Nokia 5130
Xpress
Music
30 MB TFT 262.144
warna,
240x320
piksel, 2 inci
2.0 Bisa dijalankan
Nokia 2700
Classic
64 MB TFT 262.144
warna,
240x320
piksel, 2 inci
2.0 Bisa dijalankan
Sony
Erricson
K750-i 64 MB TFT 262.144
warna,
176x220
piksel
2.0 Bisa dijalankan
Tabel 4.1 Hasil Uji Coba
Uji coba algoritma jarak, dilakukan pada kategori objek wisata. Screen
untuk uji coba algoritma yang dilakukan dengan emulator adalah sebagai berikut:
(b)
(a) (c)
(d)
Gambar 4.18 (a) Input data pada formAlgo, (b) Proses, (c) Data objek wisata
pada DBObjek dan (d) Output hasil perhitungan
4.3.2 Hasil Kuesioner
Berdasarkan hasil rekapittulasi kuesioner pada bab terdahulu maka
diperoleh hasil untuk masing-masing pernyataan.
hitungJarakO
Berdasarkan 2 jenis responden, tampilan aplikasi dinyatakan sangat baik
sebanyak 20% yaitu 2 wisatawan dan 4 masyarakat umum. Untuk kesesuaian
desain warna responden menyatakan baik sebanyak 50% responden wisatawan
dan 40 % masyarakat umum.
Informasi yang ada pada aplikasi dinyatakan baik oleh 6 wisatawan,
artinya 60 % menyatakan baik sedangkan responden dari masyarakat umum ada 9
orang atau 45%. Hal ini didukung dengan kelengkapan menu yang dinyatakan
baik sebanyak 40% dari masing-masing responden. Adapun kemudahan dalam
pemakaian aplikasi 6 wisatawan menyatakan baik dan 10 masyarakat umum
menyatakan cukup. Penggunaan bahasa dalam kalimat dinyatakan baik, yaitu
50% wisatawan dan 70% masyarakat umum.
Untuk penghitungan jarak terdapat 7 responden wisatawan dan 14 orang
dari masyarakat umum menyatakan baik. Begitu pula fungsi untuk masing-masing
menu dinyatakan baik oleh 7 wisatawan. Kesesuaian fungsi tombol dinyatakan
cukup oleh 40% dari masing-masing responden. Namun sebanyak 60% dari dua
responden menyatakan aplikasi ini bermanfaat dengan baik dan layak.
Kesimpulan dari hasil kuesioner secara menyeluruh menunjukan bahwa,
aplikasi cukup bermanfaat dalam memberikan informasi wisata di wilayah
Malang. Informasi yang tersedia cukup membantu wisatawan dalam melakukan
perjalanan wisata, juga didukung oleh kelengkapan menu yang cukup pula.
Aplikasi ini mempunyai desain tampilan dan warna yang menarik, sehingga
membantu pengguna dalam mendapatkan informasi.
BAB V
PENUTUP
5.1 Kesimpulan
Setelah melakukan analisa, merancang dan mengimplementasikan
Aplikasi Bergerak (Mobile Application) Pemandu Wisata Wilayah Malang Raya
Berbasis J2ME maka diperoleh kesimpulan bahwa aplikasi ini berguna untuk
membantu wisatawan yang melakukan perjalanan wisata di Malang secara mobile.
Beberapa hal penting untuk membuat aplikasi ini antara lain: database berupa
record manajemen system yang dibuat dengan cara coding dan pemanggilan
gambar dengan cara membuat kelas Canvas.
5.2 Saran
1. Koneksi antara RMS dengan gambar di Canvas perlu dikembangkan lagi
agar lebih sempurna dalam implementasi di aplikasi.
2. Perlu pengkajian mendalam untuk kesesuaian antara ukuran file yang akan
diaplikasikan dengan memori pada handphone.
3. Kesesuaian koordinat pada peta dengan kondisi lapangan dalam aplikasi
perlu diteliti agar diperoleh suatu informasi yang lebih akurat.
DAFTAR PUSTAKA
Abdullah bin Muhammad. 2007. Tafsir Ibnu Kasir. Jakarta: Pustaka Imam Syafi‟i.
Allam, Ahmad Khalid. 2005. Al-Qur‟an dalam Keseimbangan Alam dan
Kehidupan. Jakarta: Gema Insani.
Al-Maraghi, Ahmad Musthafa.Terjemah Tafsir Al-Maraghi. Semarang: CV. Toha
Putra.
Al-Qurthubi, Syaikh Imam. 2008. Tafsir Al-Qurthubi.Jakarta: Pustaka Azzam.
Ar-Rifa‟i, Muhammad Nasib. 1999. Kemudahan dari Allah: Ringkasan tafsir Ibnu
Katsir. Jakarta: Gema Insani Press.
Basori, Ahmad Hoirul. Tutorial Rasional Rose. Paper Ilmu Komputer.com
Harahap, Hakim Muda. 2007. Rahasia Al-Qur‟an: Menguak Alam Semesta,
Manusia, Malaikat dan Keruntuhan Alam. Depok: darul Hikmah.
Irawan. 2008. Java Mobile Untuk Orang Awam. Palembang: Maxikom.
Leithold, Louis. 1992. Kalkulus dan Ilmu Ukur Analitik Edisi Kelima Jlid I.
Jakarta: Erlangga.
Muhajir. 2005. Menjadi Pemandu Wisata Pemula. Jakarta: PT. Grasindo.
Nugroho, Adi. 2005. Rational Rose untuk Pemodelan Berorientasi Objek.
Bandung: Informatika.
Purcell, Edwin J dan Dale Verberg. 1987. Kalkulus dan Geometri Analitis Jilid I.
Jakarta: Erlangga.
Raharjo, Budi dkk. 2007. Tuntunan Pemrograman Java untuk Handphone.
Bandung: Informatika.
Sedarmayanti. 2005. Membangun Kebudayaan dan Pariwisata (Bunga Rampai
Tulisan Pariwisata). Bandung: Mandarmaju.
Shalahuddin, M dan Rosa A. S. 2008. Pemrograman J2ME (Belajar Cepat
Pemrograman Perangkat Telekomunikasi Mobile). Bandung: Informatika.
Shihab, M. Quraish. 2002. Tafsir Al-Mishbah Pesan, Kesan dan Keserasian Al-
Qur‟an Volume 7 (Surah Ibrahim, Surah Al-Hijr, Surah An-Nahl, Surah Al-
Isra‟). Jakarta: Lentera Hati.
Sholiq. 2006. Pemodelan Sistem Informasi Berorientasi Obyek dengan UML.
Yogyakarta: Graha Ilmu.
Wicaksono, Adi. 2002. Pemrograman Aplikasi Wireless dengan Java. Jakarta:
PT. Elex Media Komputindo.
Yusuf, Ali Anwar. 2006. Islam dan Sains Modern Sentuhan Islam terhadap
Berbagai Disiplin Ilmu. Bandung: CV Pustaka Setia.
http://www.koderko.dk/J2METutorial/. JENI-J2ME Bab 1 Pengembangan
Aplikasi Mobile. diakses tanggal 22 Desember 2008.
http://www.java2s.com/Tutorial/Java/0430__J2ME/Canvaskeyeventandnavigateth
rougharrowkeys.htm. diakses tanggal 5 Januari 2010.
Rekapitulasi Hasil Kuesioner
Berikut ini perolehan perhitungan kuesioner dari 30 koresponden, yang
terdiri dari 10 wisatawan dan 20 masyarakat umum.
Tabel 1 Rekapitalasi Hasil Kuesionar
No. Pernyataan
Jumlah Penilaian Responden
Wisatawan Masy. Umum
SB B C K SB B C K
1 Tampilan aplikasi 2 8 - - 4 14 2 -
2 Kesesuaian desain warna 2 5 3 - 5 8 6 1
3 Informasi yang tersedia 1 6 2 1 3 9 5 3
4 Kelengkapan menu 1 4 5 - 1 8 7 4
5 Kemudahan dalam pemakaian aplikasi 2 6 1 - 4 6 10 -
6 Penggunaan bahasa dalam kalimat 5 5 - - 3 14 3 -
7 Keakuratan menghitung jarak 1 7 2 - 1 12 7 -
8 Fungsi masing-masing menu 1 7 2 - 3 7 8 2
9 Kesesuaian fungsi tombol 1 4 4 2 1 8 8 3
10 Manfaat dan kelayakan aplikasi 3 7 - - 6 12 2 -
Tabel 2 Saran-saran
No. Nama Jenis
Kelamin
Jenis
Responden Saran
1 Kartika
Sari P wisatawan
Dari pengamatan tadi hasilnya cukup
memuaskan, tapi alangkah baiknya
lagi jikakelengkapan menu dan
informasinya ditambah lagi. Supaya
para wisatawan yang ingin
mengelilingi kota Malang ini bias
enjoy…!!
2 Ratih
Pratiwi P wisatawan
Mohon ditambah (kalau boleh)
informasi bagi pejalan kaki yang
naek angkot kota. Jika dari suatu
tempat hendak ke tempat lain dalam
wilayah kota Malang Raya dengan
menggunakan angkutan kota,
angkutan apa yang harus dinaiki.
Terima kasih semoga bermanfaat
dan sukses aplikasinya. Oh iya,
tombol back dalam aplikasi kalau
bisa dipercepat. Trus, tombol
selectnya jangan ada dua, aku jadi
bingung. Diganti option Tu apa gitu.
He…he…Trus, kalau bisa petanya
selalu menghadap sesuai arahnya.
3 Masmi F. P wisatawan
Aplikasinya tolong lebih rapi lagi,
perlu ditambahi objek/ foto untuk
tempat wisatanya, tombolnya kurang
4 Ugik P wisatawan Kurang tepat sasaran
5 Zumairah P wisatawan Diperbanyak menu-menunya
6 Sapta
Dessy P wisatawan
Pemakaian aplikasi perlu diperjelas,
informasi yang disediakan perlu
ditambah sehingga para pengguna
aplikasi ini bisa puas.
7 Zainal
Arifin L
masyarakat
umum
- Kalau bisa navigasinya ditambah
- Peta dalam bentuk vektor
- Koordinat peta disesuaikan
dengan koordinat lapangan
(koordinat sesungguhnya)
- Informasi tepi petanya mohon
dimunculkan
8 M. Ali
Murtadho L
masyarakat
umum
- Koordinat bisa digunakan sesuai
dengan aslinya (ke depan)
- Ada fungsi tracking otomatis
(posisi awal)
- Perlu digunakan tombol cepat
dan perlu penggunaan algoritma
agar aplikasi bisa berjalan cepat
dan ringan.