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
Dosen Pembimbing I,
Dosen Pembimbing II,
Fatchurrochman, M. Kom NIP. 197007312005011002
Ach. Nasichuddin, M. A NIP. 197307052000031002
Mengetahui, Ketua Jurusan Teknik Informatika
Ririen Kusumawati, M. Kom NIP. 197203092005012002
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 albab). 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 jalanjalan 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 perkembangannya 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 AlMaraghi 14, menjelaskan arti kata dalam surat An-Nahl ayat 15: Sungai
merupakan tempat dimana air mengalir dari tempat satu ke tempat lain. Sungaisungai 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 lembahlembah 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 bintangbintang 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 ArRifa‟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 orangorang 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 Kumpulan Configuration
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 benarbenar 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.
MIDlet Record store RMS API 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 kumpulankumpulan 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
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.
DataOutputStream
Ketiga,
untuk
Kelas
mengaitkan
DataInputStream
dan
InputStream
dan
objek
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 tetesantetesan 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 kelaskelas 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 sikusiku dan c merupakan sisi miringnya maka: a2 + b2 = c2 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) =
( x 2 - x1 ) 2 (y2 - y1 ) 2 . (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 | =
( x 2 - x1 ) 2 (y2 - y1 ) 2 .
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 =
( x 2 - x1 ) 2 (y2 - y1 ) 2
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 = =
(3 (1))2 (5 2 ) 2 4 2 32
= 16 9 =
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 pembuatan 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)
Menghitung jarak
Mencari posisi
Login
Melihat Peta
user Entri Data Jalan
admin
Entri Data Pusat Belanja
Entri Data Objek
Entri Data Hotel Entri Data RS Entri Data Restoran
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 admin
Input password
Nama Use Case Login
admin
password
Entri Data Jalan
Deskripsi Use Case Use case ini berfungsi untuk konfirmasi login bagi admin Use case ini berfungsi untuk mencatat dan menyimpan
admin
password
Entri Data Objek
admin
password
Entri Data Hotel
admin
password
Entri Restoran
admin
password
Entri Data Rumah Sakit
admin
password
Entri Data Pusat Belanja
user
asal, tujuan
Melihat Peta
User
kategori
Mencari Posisi
User
kategori, x, Menghitung y dan radius Jarak
Data
data ke dalam database DBJalan Use case ini berfungsi untuk mencatat dan menyimpan data ke dalam database DBObjek Use case ini berfungsi untuk mencatat dan menyimpan data ke dalam database DBHotel Use case ini berfungsi untuk mencatat dan menyimpan data ke dalam database DBResto Use case ini berfungsi untuk mencatat dan menyimpan data ke dalam database DBJRS Use case ini berfungsi untuk mencatat dan menyimpan data ke dalam database DBBelanja Use case ini digunakan untuk menampilkan peta sesuai pilihan ketegori Use case ini digunakan untuk menampilkan posisi user di peta Use case ini digunakan untuk menghitung jarak antar objek dengan mempertimbangkan radius.
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.
admin : admin
pemanduW : PemanduWisata
Input password
verifikasi password
benar
N
Pesan kesalahan password salah
Y
Tampilan form Pengaturran database
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 admin : admin
form : PemanduWisata
tabel : DBHotel
pilih kategori
input no hotel, nama, x dan y
simpan
Gambar 3.3 Activity Diagram dari Use Case Entry Data Hotel
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. user : user
pemanduW : PemanduWisata
Pilih Kategori
No
pilih aplikasi
Yes Tampil Pilihan Kategori Objek untuk Berwisata
pilih jalan
Yes
Tampil peta jalan
No pilih objek wisata
Yes
pilih hotel
Yes
tampil peta objek wisata
No tampil peta hotel
No pilih restoran
Yes
tampil peta restoran
No pilih rumah sakit
Yes
tampil peta rumah sakit
No tampil peta pusat perbelanjaan
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).
ser : user
pemanduW : PemanduWisata
pilih kategori
tekan tombol navigasi kiri, kanan, atas dan bawah
Lihat nilai koordinat yang ada
Gambar 3.5 Activity Diagram dari Use Case Mencari Posisi
3.2.2.5 Activity Diagram dari Use Case Menghitung Jarak user : user
pemanduW : PemanduWisata
input kategori, koordinat x, y dan radius
proses hitung
No
hasil < radius Yes
cetak nama objek tidak tampil
Gambar 3.6 Activity Diagram dari Use Case Menghitung Jarak
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
: admin
: PemanduWisata
getpassword( )
verifikasi( )
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
: DBObjek
getnoO( )
getnmO( )
getxO( )
getyO( )
tambahObjek( )
Gambar 3.8 Sequence Diagram dari Use Case Entri Data Objek
3.2.3.3 Sequence Diagram dari Use case Melihat Peta
: user
: PemanduWisata : DBJalan
: DBObjek
: 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( )
Gambar 3.9 Sequence Diagram dari Use Case Melihat Peta
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.
: user
: PemanduWisata getkategori( )
getuserposx( )
getuserposy( )
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
: DBObjek
: DBJalan
: DBHotel
: DBResto
: DBRS
: DBBelanja
getkategori( )
getposx( )
getposy( )
get xj( )
get yj( )
get xO( )
get yO( )
get xH( )
get yH( )
get xRm( )
get yRm( )
get xRs( )
get yRs( )
get xB( )
get yB( )
getradius( )
result( )
Gambar 3.11 Sequence Diagram dari Use Case Menghitung Jarak
Proses untuk gambar di atas adalah: 1.
User memilih kategori RMS
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
Pemandu Wisata
Membantu wisatawan……
Gambar 3.15 Desain formWelcome
Form ini dirancang untuk menampilkan ucapan selamat datang kepada user yang akan menggunakan aplikasi.
3.2.6.3 List Menu -
Menu: Peta Profil Admin Bantuan Menghitung Jarak Informasi
Gambar 3.16 Desain listMenu
Form ini dirancang untuk menampilkan pilihan-pilihan yang dapat diakses dalam menggunakan aplikasi.
3.2.6.4 Form Peta
Peta Layer: -
Jalan Objek Wisata Hotel Restoran Rumah Sakit Pusat Belanja
Gambar 3.17 Desain formPeta
Form ini dirancang untuk menampilkan pilihan kategori pada menu peta yang dapat diakses sesuai keinginan.
3.2.6.5 Form Pofil Profil
Gambar 3.18 Desain Form Profil
Form ini dirancang untuk memuat tentang teknologi yang digunakan.
3.2.6.6 Form Admin Admin Admin :..... Password:…..
Gambar 3.19 Desain Form Admin
Form ini dirancang untuk admin yang akan melakukan perubahan atau penambahan data pada database.
3.2.6.7 Form Bantuan
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
Menghitung Jarak - Pilih Kategori - Posisi: X =… Y =… - Radius :…
Hasil Perhitungan ….. ….. …..
(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.
3.2.6.9 Pesan
Login Gagal…. Silahkan hub: in.nfarida@ gmail.com
Gambar 3.22 Desain Pesan
Form ini dirancang untuk menampilkan pesan kesalahan jika password yang dimasukkan salah.
3.2.6.10 List Database Database - Data Jalan - Data Objek Wisata - Data Hotel - Data Restoran - Data Rumah Sakit - Data Pusat Belanja
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.
3.2.6.11 Form JalanDB dan List ViewJalan Jalan
Data Jalan
No ID :…… Nama :…… Koord x:…… Koord y:……
(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 Objek Wisata
Data Objek Wisata
No ID :…… Nama :…… Koord x:…… Koord y:……
(a) (b) Gambar 3.25 (a) Desain formObwisDB dan (b) listViewObjek
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 Hotel
Data Hotel
No ID :…… Nama :…… Koord x:…… Koord y:……
(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.
3.2.6.14 Form RestoDB dan List ViewResto
Restoran
Data Restoran
No ID :…… Nama :…… Koord x:…… Koord y:……
(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
Rumah Sakit No ID :…… Nama :…… Koord x:…… Koord y:……
Data Rumah Sakit
(a) (b) Gambar 3.28 (a) Desain formRSDB dan (b) listViewRS
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 Pusat Belanja No ID :…… Nama :…… Koord x:…… Koord y:……
Data Pusat Belanja
(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.
Informasi Taksi:………… - Jalan - Objek Wisata - Hotel - Restoran - Rumah Sakit - Pusat Belanja
Informasi
(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 noj nmj xj yj
Data type Integer(5) character varying(32) Integer(5) Integer(5)
2.
Tabel Objek Wisata Nama RMS: DBObjek Tabel 3.3 Tabel Objek Wisata Name noO nmO xO yO
3.
Data type Integer(5) character varying(32) Integer(5) Integer(5)
Tabel Hotel Nama RMS: DBHotel Tabel 3.4 Tabel Hotel Name noO nmO xO yO
4.
Data type Integer(5) character varying(32) Integer(5) Integer(5)
Tabel Restoran Nama RMS: DBResto Tabel 3.5 Tabel Restoran Name noRm nmRm xRm yRm
Data type Integer(5) character varying(32) Integer(5) Integer(5)
5.
Tabel Rumah Sakit Nama RMS: DBRS Tabel 3.6 Tabel Rumah Sakit Name noRs nmRs xRs yRs
6.
Data type Integer(5) character varying(32) Integer(5) Integer(5)
Tabel Pusat Belanja Nama RMS: DBRS Tabel 3.7 Tabel Pusat Belanja Name noB nmB xB yB
Data type Integer(5) character varying(32) Integer(5) 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. Nilainilai 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
1 2 3 4 5 6 7 8 9 10
Tampilan aplikasi Kesesuaian desain warna Informasi yang tersedia Kelengkapan menu Kemudahan dalam pemakaian aplikasi Penggunaan bahasa dalam kalimat Keakuratan menghitung jarak Fungsi masing-masing menu Kesesuaian fungsi tombol Manfaat dan kelayakan aplikasi
Jumlah Penilaian Responden Masyarakat Wisatawan Umum SB B C K SB B C K 2 8 - - 4 14 2 2 5 3 - 5 8 6 1 1 6 2 1 3 9 5 3 1 4 5 - 1 8 7 4 2 6 1 - 4 6 10 5 5 - - 3 14 3 1 7 2 - 1 12 7 1 7 2 - 3 7 8 2 1 4 4 2 1 8 8 3 3 7 - - 6 12 2 -
Prosentase diperoleh dengan perhitungan: Prosentase =
Jumlah Penilaian Responden x 100 % jumlah kuesioner
Tampilan aplikasi : Wisatawan: SB
=
2 x 100 % = 20 % 10
Masyarakat Umum: SB
=
4 x 100 % = 20 % 20
B
8 = 10 x 100 % = 80 %
C
= 0%
K
=0%
C
14 = 20 x 100 % = 70 % 2 = 20 x 100 % = 10 %
K
= 0%
B
Kesesuaian desain warna : Wisatawan: 2 SB = x 100 % = 20 % 10 5 B = x 100 % = 50 % 10 3 C = x 100 % = 30 % 10 K
= 0%
Masyarakat Umum: 5 SB = x 100 % = 25 % 20 8 B = x 100 % = 40 % 20 6 C = x 100 % = 30 % 20 1 K = x 100 % = 5 % 20
Informasi yang tersedia : Wisatawan: 1 SB = x 100 % = 10 % 10 6 B = x 100 % = 60 % 10 2 C = x 100 % = 20 % 10 1 K = x 100 % = 10 % 10
Masyarakat Umum: 3 SB = x 100 % = 15 % 20 9 B = x 100 % = 45 % 20 5 C = x 100 % = 25 % 20 3 K = x 100 % = 15 % 20
Kelengkapan menu : Wisatawan: SB B
1 x 100 % = 10 % 10 4 = x 100 % = 40 % 10 =
Masyarakat Umum: SB B
1 x 100 % = 5 % 20 8 = x 100 % = 40 % 20 =
5 x 100 % = 50 % 10
C
=
K
= 0%
C K
7 x 100 % = 35 % 20 4 = x 100 % = 20 % 20 =
Kemudahan dalam pemakaian aplikasi : Wisatawan: 2 SB = x 100 % = 20 % 10 6 B = x 100 % = 60 % 10 1 C = x 100 % = 10 % 10 K = 0%
Masyarakat Umum: 4 SB = x 100 % = 20 % 20 6 B = x 100 % = 30 % 20 10 C = x 100 % = 50 % 20 K = 0%
Penggunaan bahasa dalam kalimat : Wisatawan: 5 SB = x 100 % = 50 % 10 5 B = x 100 % = 50 % 10 C
= 0%
K
= 0%
Masyarakat Umum: 3 SB = x 100 % = 15 % 20 14 B = x 100 % = 70 % 20 3 C = x 100 % = 15 % 20 K
= 0%
Keakuratan menghitung jarak : Wisatawan: 1 SB = x 100 % = 10 % 10 7 B = x 100 % = 70 % 10 2 C = x 100 % = 20 % 10
Masyarakat Umum: 1 SB = x 100 % = 5 % 20 12 B = x 100 % = 60 % 20 7 C = x 100 % = 35 % 20
K
K
= 0%
= 0%
Fungsi masing-masing menu : Wisatawan: 1 SB = x 100 % = 10 % 10 7 B = x 100 % = 70 % 10 2 C = x 100 % = 20 % 10 K
= 0%
Masyarakat Umum: 3 BS = x 100 % = 15 % 20 7 B = x 100 % = 35 % 20 8 C = x 100 % = 40 % 20 2 K = x 100 % = 10 % 20
Kesesuaian fungsi tombol : Wisatawan: 1 SB = x 100 % = 10 % 10 3 B = x 100 % = 30 % 10 4 C = x 100 % = 40 % 10 2 K = x 100 % = 20 % 20
Masyarakat Umum: 1 SB = x 100 % = 5 % 20 8 B = x 100 % = 40 % 20 8 C = x 100 % = 40 % 20 3 K = x 100 % = 15 % 20
Manfaat dan kelayakan aplikasi : Wisatawan: 3 SB = x 100 % = 30 % 10
7 x 100 % = 60 % 10
Masyarakat Umum: 6 SB = x 100 % = 30 % 20
B
=
B
C
=0%
C
K
= 0%
K
12 x 100 % = 60 % 20 2 = x 100 % = 10 % 20 =
= 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 Tabel 3.9 Tabel Perhitungan Objek Wisata Nama Objek Wisata Taman Rekreasi Senaputera Tareko Lembah Dieng Museum Brawijaya Taman Rekreasi Tlogomas
: 100
( x 2 - x1 ) 2 (y2 - y1 ) 2
(x2 – x1)2
(y2 – y1)2
(119,137
4761
5921
103,3538
> radius
120,144 71,137 93,130
4900 441 1849
7056 5929 4900
109,3435 79,81228 82,1853
> radius < radius < radius
64
729
28,16028
< radius
(x2, y2)
58,33
Ket.
Hotel: Misalkan, posisi z (x1, y1)
: (80, 80)
radius Tabel 3.10 Tabel Perhitungan Hotel Nama Hotel Arjosari Mutiara Malang Regent‟s Park Kartika Kusuma The Graha Cakra
(x2, y2) (178,38) (128,119) (123,127) (122,139) (105,125)
(x2 – x1)2 19600 2304 1849 1746 625
(y2 – y1)2 1764 1521 2209 3841 2025
( x 2 - x1 ) 2 (y2 - y1 ) 2 146,1463 61,84658 63,70243 72,42237 51,47815
: 100 Ket. > radius < radius < radius < radius < radius
Pusat Perbelanjaan: Misalkan, posisi z (x1, y1)
: (70, 80)
radius Tabel 3.11 Tabel Perhitungan Pusat Perbelanjaan Nama Pusat Perbelanjaan Ramayana Dept Store Matahari Dept Store Plasa Dieng Plasa Araya MATOS
(x2, y2) (124, 155) (120, 168) (70, 135) (187, 50) (87,91)
(x2 – x1)2
(y2 – y1)2
2916 2500 0 13689 289
5625 7744 3025 900 121
( x 2 - x1 ) 2 (y2 - y1 ) 2
92,41753 101,2126 55 120,7849 20,24846
: 50 Ket. > radius > radius > radius > radius < 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 AlQur‟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 }); 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
false,
} 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 String String String
noO = disO.readUTF();//membaca string noO nmO = disO.readUTF();//membaca string nmO xO = disO.readUTF(); // membaca string xO 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 double double double
x1 y1 x2 y2
= = = =
Double.parseDouble(posx); Double.parseDouble(posy); Double.parseDouble(xO); Double.parseDouble(yO);
double r = Double.parseDouble(radius); String q=String.valueOf(Math.sqrt(((x1-x2)*(x1x2))+((y1-y2)*(y1-y2))));//rumus menghitung jarak double p = Double.parseDouble(q); if(p
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 Nokia
Tipe 5130
Memori internal 30 MB
Layar TFT 262.144
Xpress
warna,
Music
240x320
Java MIDP
Hasil
2.0
Bisa dijalankan
2.0
Bisa dijalankan
piksel, 2 inci Nokia
2700 Classic
64 MB
TFT 262.144 warna, 240x320 piksel, 2 inci
Sony
K750-i
Erricson
64 MB
TFT 262.144
2.0
Bisa dijalankan
warna, 176x220 piksel
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:
hitungJarakO
(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.
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 AlQur‟an Volume 7 (Surah Ibrahim, Surah Al-Hijr, Surah An-Nahl, Surah AlIsra‟). 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 Aplikasi Mobile. diakses tanggal 22 Desember 2008.
1
Pengembangan
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
1 2 3 4 5 6 7 8 9 10
Tampilan aplikasi Kesesuaian desain warna Informasi yang tersedia Kelengkapan menu Kemudahan dalam pemakaian aplikasi Penggunaan bahasa dalam kalimat Keakuratan menghitung jarak Fungsi masing-masing menu Kesesuaian fungsi tombol Manfaat dan kelayakan aplikasi
Jumlah Penilaian Responden Masy. Umum Wisatawan SB B C K SB B C K 2 8 - - 4 14 2 2 5 3 - 5 8 6 1 1 6 2 1 3 9 5 3 1 4 5 - 1 8 7 4 2 6 1 - 4 6 10 5 5 - - 3 14 3 1 7 2 - 1 12 7 1 7 2 - 3 7 8 2 1 4 4 2 1 8 8 3 3 7 - - 6 12 2 -
Tabel 2 Saran-saran No.
Nama
Jenis Kelamin
Jenis Responden
1
Kartika Sari
P
wisatawan
2
Ratih Pratiwi
P
wisatawan
Saran 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…!! 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
3
Masmi F.
P
4 5
Ugik Zumairah
P P
6
Sapta Dessy
P
7
Zainal Arifin
L
8
M. Ali Murtadho
L
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. Aplikasinya tolong lebih rapi lagi, wisatawan perlu ditambahi objek/ foto untuk tempat wisatanya, tombolnya kurang wisatawan Kurang tepat sasaran wisatawan Diperbanyak menu-menunya Pemakaian aplikasi perlu diperjelas, informasi yang disediakan perlu wisatawan ditambah sehingga para pengguna aplikasi ini bisa puas. - Kalau bisa navigasinya ditambah - Peta dalam bentuk vektor - Koordinat peta disesuaikan masyarakat dengan koordinat lapangan umum (koordinat sesungguhnya) - Informasi tepi petanya mohon dimunculkan - Koordinat bisa digunakan sesuai dengan aslinya (ke depan) - Ada fungsi tracking otomatis masyarakat (posisi awal) umum - Perlu digunakan tombol cepat dan perlu penggunaan algoritma agar aplikasi bisa berjalan cepat dan ringan.