9
Universitas Kristen Petra
BAB 2. LANDASAN TEORI
Wisata
Wisata adalah semua pemberian pelayanan perencanaan dan pengemasan komponen perjalanan wisata yang meliputi sarana wisata, objek, daya tarik wisata, dan jasa pariwisata lainnya dalam bentuk paket wisata antara lain melakukan penyelenggaraan dan perjualan paket wisata.(Top Lintas, 2015)
Jawa Timur
Provinsi Jawa Timur secara geografis terletak di antara 11100 Bujur Timur – 11404’ Bujur Timur dan 70 12’Lintang Selatan – 8048”Lintang Selatan, dengan luas wilayah sebesar 47.963 km2 yang meliputi dua bagian utama, yaitu Jawa Timur daratan dan Kepulauan Madura. Wilayah daratan Jawa Timur sebesar 88,70 persen atau 42.541 km2, sementara luas Kepulauan Madura memiliki luas 11.30 persen atau sebesar 5.422 km2. Jumlah penduduknya pada tahun 2010 mencapai 37.476.757 jiwa .
Secara administratif Jawa Timur terbagi menjadi 29 kabupaten dan 9 kota, dengan Kota Surabaya sebagai ibukota provinsi. Ini menjadikan Jawa Timur sebagai provinsi yang memiliki jumlah kabupaten/kota terbanyak di Indonesia.
Jawa Timur terbagi dalam 4 Badan Koordinasi Wilayah (Bakorwil ), sebagai berikut Bakorwil I Madiun meliputi Kota Madiun, Kab. Madiun, Kab. Magetan, Kab. Ponorogo, Kab. Ngawi, Kab. Trenggalek, Kab. Tulungagung, Kota Blitar, Kab. Blitar, dan Kab. Nganjuk. Bakorwil II Bojonegoro meliputi Kab. Bojonegoro, Kab. Tuban, Kota Mojokerto, Kota Kediri, kab. Kediri, Kab. Jombang, dan Kab.
Lamongan. Bakorwil III Malang, meliputi Kota Malang, Kab. Malang, Kota Batu, Kota Pasuruan, Kab. Pasuruan, Kota Probolinggo, kab. Probolinggo, kab.
Lumajang, kab. Jember, Kab. Bondowoso, Kab. Situbondo dan Kab. Banyuwangi.
Bakorwil IV Pamekasan meliputi, Kota Surabaya, Kab. Sidoarajo, kab. Gresik, kab. Bangkalan, Kab. Sampang, Kab. Pamekasan, dan kab Sumenep.
10
Universitas Kristen Petra
Jawa Timur memiliki kesenian dan kebudayaan yang khas, Reog dan Ludruk merupakan salah satu kesenian Jawa Timur yang sangat terkenal. Selain keseniannya yang begitu mendunia, kebesaran Jawa Timur juga tercermin dari aneka ragam budayanya. Antara lain karapan sapi, pacuan sapi yang hanya ada di Madura, yang diilhami dari petani membajak sawah dengan sapi yang merupakan kebiasaan masyarakat Madura.
Pariwisata Jawa Timur
Jawa Timur merupakan salah satu provinsi di Indonesia yang terletak di bagian timur pulau Jawa. Luas wilayah Jawa Timur adalah yang paling luas dibandingkan wilayah Jawa Barat dan Jawa Tengah. Tempat wisata di Jawa Timur tentunya sangat beraneka ragam dari wisata budaya, wisata alam dan wisata hiburan menarik lainnya. Antara lain : Gunung Bromo, Kawah Ijen, Taman Nasional Baluran, Taman Nasional Alas, Candi Singosari, Candi Badut(Malang), Candi jajaghu (Malang), Candi Kidal (Malang), Candi Bajang Ratu, Candi Tikus, Candi Brahu, Candi Wringin Lawang, Trowulan, Taman Safari Jawa Timur, Taman Nasional Meru Betiri, Kebun Raya Purwodadi, Gunung Penanjakan, Arung Jeram Pekalen Probolinggo, Pantai Balekambang, Air terjun Makadipura, Pulau Sempu, Pantai Pulau Merah, Air terjum Sedudo, Pantai Popoh, dan masih banyak yang lain.
(Wisata Indonesia, 2014).
PHP: Hypertext Preprocessor
PHP adalah bahasa pemrograman script server-side yang didesain untuk pengembangan web. Selain itu, PHP juga bisa digunakan sebagai bahasa pemrograman umum. PHP dikembangkan pada tahun 1995 oleh Rasmus Lerdorf, dan sekarang dikelola oleh The PHP Group. Situs resmi PHP beralamat di http://www.php.net.
Pada awalnya PHP merupakan singkatan dari Personal Home Page. Sesuai dengan namanya, PHP digunakan untuk membuat website pribadi. Dalam beberapa tahun perkembangannya, PHP menjelma menjadi bahasa pemrograman web yang powerful dan tidak hanya digunakan untuk membuat halaman web sederhana, tetapi juga website populer yang digunakan oleh jutaan orang seperti wikipedia, wordpress, joomla, dan lain lain.
11
Universitas Kristen Petra
Saat ini PHP adalah singkatan dari PHP: Hypertext Preprocessor, sebuah kepanjangan rekursif, yakni permainan kata dimana kepanjangannya terdiri dari singkatan itu sendiri: PHP: Hypertext Preprocessor. (Pratama, 2014)
Untuk membuat halaman web, sebenarnya PHP bukanlah bahasa pemrograman yang wajib digunakan. Kita bisa saja membuat website hanya menggunakan HTML saja. Web yang dihasilkan dengan HTML (dan CSS) ini dikenal dengan website statis, dimana konten dan halaman web bersifat tetap.
Untuk pembuatan web, kode PHP biasanya disisipkan ke dalam dokumen HTML. Karena fitur inilah PHP disebut juga sebagai Scripting Language atau bahasa pemrograman script.
Sebagai contoh penggunaan PHP, misalkan kita ingin membuat list dari nomor 1 sampai nomor 10. Dengan menggunakan HTML murni, bisa membuatnya secara manual seperti kode berikut ini: (Pratama, 2014)
<!DOCTYPE html>
<html>
<head>
<title>Contoh list dengan HTML</title>
</head>
<body>
<h2>Daftar Absensi Mahasiswa</h2>
<ol>
<li>Nama Mahasiswa ke-1</li>
<li>Nama Mahasiswa ke-2</li>
<li>Nama Mahasiswa ke-3</li>
<li>Nama Mahasiswa ke-4</li>
<li>Nama Mahasiswa ke-5</li>
<li>Nama Mahasiswa ke-6</li>
<li>Nama Mahasiswa ke-7</li>
<li>Nama Mahasiswa ke-8</li>
<li>Nama Mahasiswa ke-9</li>
<li>Nama Mahasiswa ke-10</li>
</ol>
</body>
</html>
Jika menggunakan PHP, tinggal membuat perulangan for sebanyak 1000 kali dengan perintah yang lebih singkat seperti berikut ini: (Pratama, 2014)
<!DOCTYPE html>
<html>
<head>
<title>Contoh list dengan PHP</title>
</head>
<body>
<h2>Daftar Absensi Mahasiswa</h2>
<ol>
12
Universitas Kristen Petra <?php
for ($i= 1; $i <= 1000; $i++) {
echo "<li>Nama Mahasiswa ke-$i</li>";
} ?>
</ol>
</body>
</html>
PhoneGap
PhoneGap merupakan teknologi yang sedang berkembang yang digunakan untuk development aplikasi cross-mobile platform. PhoneGap menggunakan HTML5, JavaScript, dan CSS3 yang menjadi teknologi standar di dunia web untuk proses development aplikasi mobile. Dengan menggunakan PhoneGap, para developer yang memiliki sedikit pengetahuan tentang bahasa pemrograman native mobile dapat membangun sebuah aplikasi untuk berbagai platform mobile (Ghatol
& Patel, 2012).
Google API
Google API bisa dikatakan bagian dari Framework Google. Google menyediakan berbagai API (Application Programming Interface) yang sangat berguna bagi pengembang web maupun aplikasi desktop untuk memanfaatkan berbagai fitur yang disediakan oleh Google seperti misalnya: AdSense, Search Engine, Translation maupun Youtube.
API secara sederhana bisa diartikan sebagai kode program yang merupakan antarmuka atau penghubung antara aplikasi atau web yang kita buat dengan fungsi- fungsi yang dikerjakan. Dalam hal ini Google API berarti kode program (yang disederhanakan) yang dapat kita tambahkan pada aplikasi atau web kita untuk mengakses/ menjalankan/memanfaatkan fungsi atau fitur yang disediakan Google.
Misalnya saja kita bisa menambahkan fitur Google Map pada website kita. Google API dapat dipelajari langsung melalui Google Code. Melalui Google Code kita dapat belajar tentang Google API dan dapat mengimplementasikan pada aplikasi web atau website yang kita kembangkan. (Catur,2010)
Banyak API yang disediakan oleh Google, beberapa diantaranya adalah:
1. Language API: untuk memanfaatkan fitur translation yang dimiliki Google.
13
Universitas Kristen Petra
2. Earth API: memanfatkan fitur yang ada pada Google Earth.
3. Javascript API
4. Maps API: memanfaatkan fitur yang ada pada Google Maps.
5. Search API: memanfaatkan fitur pencarian pada Google Search.
6. Visualization API: membuat grafik maupun chart dengan Google API.
7. YouTube API: memanfaatkan fitur yang ada pada YouTube misalnya untuk pencarian video.
Google Maps API
Google Maps adalah layanan gratis yang diberikan oleh Google dan sangat popular. Google Maps adalah suatu peta dunia yang dapat kita gunakan untuk melihat suatu daerah. Dengan kata lain, Google Maps merupakan suatu peta yang dapat dilihat dengan menggunakan suatu browser. Kita dapat menambahkan fitur Google Maps dalam web yang telah kita buat atau pada blog kita yang berbayar maupun gratis sekalipun dengan Google Maps API. Google Maps API adalah suatu library yang berbentuk JavaScript. (Yusro, 2015).
Cara membuat Google Maps untuk ditampilkan pada suatu web atau blog sangat mudah hanya dengan membutuhkan pengetahuan mengenai HTML serta JavaScript, serta koneksi Internet yang sangat stabil. Dengan menggunakan Google Maps API, kita dapat menghemat waktu dan biaya untuk membangun aplikasi peta digital yang handal, sehingga kita dapat fokus hanya pada data-data yang akan ditampilkan. Dengan kata lain, kita hanya membuat suatu data sedangkan peta yang akan ditampilkan adalah milik Google sehingga kita tidak dipusingkan dengan membuat peta suatu lokasi, bahkan dunia. (Mas Yusro, 2015).
Dalam pembuatan program Google Map API menggunakan urutan sebagai berikut:
1. Memasukkan Maps API JavaScript ke dalam HTML kita.
2. Membuat element div dengan nama map_canvas untuk menampilkan peta.
3. Membuat beberapa objek literal untuk menyimpan properti -properti pada peta.
4. Menuliskan fungsi JavaScript untuk membuat objek peta.
5. Meng-inisiasi peta dalam tag body HTML dengan event onload.
14
Universitas Kristen Petra
Pada Google Maps API terdapat 4 jenis pilihan model peta yang disediakan oleh Google, diantaranya adalah:
1. ROADMAP, ini yang saya pilih, untuk menampilkan peta biasa 2 dimensi 2. SATELLITE, untuk menampilkan foto satelit
3. TERRAIN, untuk menunjukkan relief fisik permukaan bumi dan menunjukkan seberapa tingginya suatu lokasi, contohnya akan menunjukkan gunung dan sungai
4. HYBRID, akan menunjukkan foto satelit yang diatasnya tergambar pula apa yang tampil pada ROADMAP (jalan dan nama kota)
JSON (JavaScript Object Notation)
JSON (JavaScript Object Notation) merupakan format untuk pertukaran data seperti halnya XML. JSON sangat mudah dimengerti oleh manusia, karena formatnya yang sederhana. Tidak hanya manusia, mesin pun dapat membaca JSON dengan sangat mudah. Format ini dibuat berdasarkan bagian dari bahasa pemrograman JavaScript, Standar ECMA-262 Edisi ke-3 Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemrograman apapun karena menggunakan gaya Bahasa yang umum digunakan oleh programmer golongan C termasuk C, C++, C#, Java, JavaScript, Perl, Phyton dan lain-lain (JSON).
JSON dibangun di atas dua struktur (JSON):
Kumpulan pasangan nama/nilai. Dalam beberapa Bahasa pemrograman, hal ini direalisasikan sebagai objek (object), record, struktur (struct), kamus (dictionary), hash table, daftar kunci (key list), atau associative array.
Daftar nilai yang berurutan. Dalam kebanyakan bahasa pemrograman, hal ini dinyatakan sebagai array, vektor (vector), daftar (list), atau urutan (sequence).
15
Universitas Kristen Petra
Content Based
Menurut Bogers & Bosh yang dikutip oleh Hayati (2011) content-based recommendation adalah hasil dari penelitian penyaringan informasi dalam sistem berbasis konten. Sistem rekomendasi berbasis konten dimulai dengan memahami kebutuhan user (pengguna), preferensi dan kendala jika ada. Informasi ini digabungkan dengan log dari interaksi user sebelumnya (jika ada) untuk membangun profil pengguna. Kemudian sistem rekomendasi mencocokkan profil user (pengguna) dengan informasi tentang suatu produk yang telah tersimpan dalam database.
Proses yang dilakukan dalam content-based recommendation yaitu melalui informasi retrieval dan sistem filtering informasi yang menampilkan keseluruhan perhitungan dari hubungan tunggal descriptor x object. Objek dapat berupa dokumen teks dan descriptor dapat berupa kata kunci.
Sistem rekomendasi berbasis konten memiliki kelemahan yaitu :
a. Penyaringan berbasis konten sulit untuk menghasilkan rekomendasi yang tidak teduga (serendipitous recommendation), karena semua informasi dipilih dan direkomendasikan berdasarkan konten.
b. Tidak reliable (handal) tidak adanya ide, pendapat serta masukan dari pengguna sebelummya yang sulit dianalis oleh komputer sehingga sulit untuk user (pengguna) pemula memakai sistem ini secara efektif.
Collaborative Based
Adomavicius & Tuzilin yang dikutip oleh Hayati (2011) menyatakan sistem collaborative-based recommendation adalah metode yang digunakan untuk memprediksi kegunaan item berdasarkan penilaian pengguna sebelumnya. Metode ini merekomendasikan item-item yang dipilih oleh pengguna lain dengan kemiripan model item dari pengguna saat ini. Sistem rekomendasi berbasis kolaboratif (collaborative-based) dibuat untuk mengatasi kelemahan dari sistem rekomendasi berbasis konten (content-based) yaitu:
a. Pendekatan collaborative dapat bekerja dalam domain dimana terdapat sedikit content yang berasosiasi dengan item atau di tempat di mana content sulit
16
Universitas Kristen Petra
dianalisis menggunakan komputer seperti ide, masukan atau opini sehingga menjadi reliable.
b. Pendekatan collaborative mempunyai kemampuan untuk menyediakan rekomendasi yang tidak terduga atau tidak disengaja, misalnya dapat merekomendasikan item yang relevan kepada pengguna sekaligus tidak mengandung content dari profil pengguna tersebut.
Rekomendasi Sistem Tourism menggunakan metode Hybrid Nearest Neighbor
Di dalam buku yang ditulis oleh Hayati, 2015 menjelaskan mengenai rekomendasi sistem menggunakan metode Hybrid. Metode hybrid (content dan collaborative based) nearest neighbor dibuat untuk mengatasi kekurangan yang terdapat pada metode content dan collaborative. Algoritma nearest neighbor digunakan untuk menganalisis data dengan mencari kesamaan dan kedekatan kasus baru dengan kasus lama berdasarkan bobot preferensi yang dipilih oleh pengguna.
Hasil dari penelitian ini menghasilkan sebuah sistem rekomendasi wisata berbasis web menggunakan bahasa pemrograman PHP dan database MySQL dan juga menunjukkan bahwa keunggulan pendekatan metode hybrid nearest neighbor tidak memerlukan data input-an dan rating awal sebagai dasar untuk mendapatkan rekomendasi.
Hybrid-based recommendation
Hybrid recommender system digunakan untuk menggambarkan setiap sistem rekomendasi yang menggabungkan beberapa teknik rekomendasi untuk menghasilkan sebuah output (Burke, 2007).
Adomavicius & Tuzilin (2005) menyatakan beberapa sistem rekomendasi menggunakan metode hybrid untuk menggabungkan metode content-based dan collaborative untuk membantu keterbatasan yang terdapat pada kedua metode tersebut. Menurut Li,Qing dan Kim, Byeong Man (2002) terdapat beberapa cara penggabungan yang dapat dilakukan dalam metode hybrid yaitu :
Penggabungan secara Linier (Linear Combination)
Penggabungan ini menggabungkan hasil rating dari metode content-based dan collaborative. Penggabungan ini dilakukan dengan cara pemberian ranking atau rating.
17
Universitas Kristen Petra
Penggabungan secara Sekuensial (Sequential Combination)
Penggabungan ini melakukan perhitungan pada salah satu metode (misalnya content-based) kemudian hasilnya digabungkan dengan perhitungan metode lainnya (collaborative).
Penggabungan secara Item-based Clustering Hybrid Method (ICHM) Penggabungan ini mengintegrasikan informasi item dan rating pengguna untuk menghitung kemiripan item-item.
Algoritma Nearest Neighbor
Algoritma nearest neighbor adalah sebuah metode untuk melakukan klasifikasi terhadap objek berdasarkan data pembelajaran yang jaraknya paling dekat dengan objek tersebut menurut Widiarsana, Putra, Budiyasa, Bismantara, dan Mahajaya yang dikutip oleh Wahyo, B.T. dan Anggriawan, A.W. Algoritma nearest neighbor juga disebut dengan lazy learner yang mudah menyimpan data di dalam memori dan dapat mengklasifikasikan item baru dengan membandingkan item tersebut dengan item yang telah tersimpan dengan menggunakan fungsi kesamaan (similarity function).
Menurut Kusrini dan Lutfhfi (2009) algoritma nearest neighbor adalah pendekatan untuk mencari kasus dengan menghitung kedekatan antara kasus baru dengan kasus lama dengan berdasarkan pada pencocokan bobot dari sejumlah fitur yang ada yang memiliki kesamaan (similarity). Tujuan dari algoritma ini untuk mengklasifikasikan objek baru berdasarkan atribut dan training sample. Classifier tidak menggunakan model apapun untuk dicocokkan dan hanya berdasarkan pada memori. Adapun rumus untuk menghitung algoritma ini yaitu :
Dimana : T : kasus baru
S : kasus yang ada dalam memori (penyimpanan) n : jumlah atribut dalam setiap kasus
i : atribut individu antara 1 s/d n
f : fungsi similiarity atribut i antara kasus T dan kasus S w : bobot yang diberikan pada atribut ke-i