PENERAPAN TEKNOLOGI MASHUP PADA APLIKASI PARIWISATA BERBASIS WEB NUSANTARAVIEW: MODUL AKOMODASI Muhamad Nur Taufix, Nur Aini Rakhamawati,S.Kom,M.Sc.Eng, Radityo Prasetianto Wibowo, S.Kom Jurusan Sistem Informasi Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Kampus Keputih, Sukolilo, Surabaya 60111, Indonesia [email protected] Abstrak Kebutuhan akan informasi pariwisata khususnya informasi akomodasi dibutuhkan oleh calon wisatawan. Saat ini informasi akomodasi yang ada di internet bersifat statis serta tidak lengkapnya informasi yang ada. Sehingga dapat menyulitkan pencari informasi tersebut. Untuk mengatasi permasalahan tersebut dibuat aplikasi pariwisata berbasis web, Nusantaraview. Aplikasi ini berisikan modul-modul yang memberikan infromasi pariwisata di Indonesia termasuk informasi akomodasi yang dikembangkan sebagai komponen joomla!. Dalam tugas ini, juga dikembangkan web service dengan menggunakan teknologi REST sebagai proses penyedia dan penyimpanan data tempat penyedia makanan serta dihasilkan data rss dari web statis dengan menggunakan aplikasi Dapper. Tugas akhir ini menghasilkan komponen joomla! untuk menampilkan informasi akomodasi yang tersedia di internet serta web service untuk memudahkan pengumpulan dan penyediaan data bagi pihak yang membutuhkan. Kata Kunci: Pariwisata, Mashup, REST, Joomla!, Dapper, Web Service. 1. Pendahuluan Indonesia merupakan negara kepulauan terbesar di dunia yang memiliki banyak sekali objek wisata. Dengan banyaknya objek wisata yang ada, Indonesia mempertimbangkan sektor pariwisata agar dapat digunakan sebagai pemasukan devisa negara. Ini dapat terlihat dari promosi pariwisata yang dilakukan pemerintah. Untuk menarik wisatawan, promosi yang harus dilakukan tidak hanya mengenai apa yang ditawarkan dari suatu objek wisata melainkan harus dengan informasi pendukung lain seperti informasi akomodasi. Dengan adanya infromasi pendukukung tersebut, kemungkinan wisatawan untuk mengunjungi suatu objek wisata akan lebih besar. Saat ini, promosi informasi pendukung pariwisata di Indonesia hanya dilakukan oleh tempat yang bersangkutan. Sehingga para pencari informasi (wisatawan) diharuskan untuk menjelajah berbagai halaman web. Selain itu, data yang ditampilkan dalam halaman web tersebut banyak yang bersifat statis. Sehingga menyulitkan pencari informasi (wisatawan) untuk mencari informasi pendukung di sekitar objek wisata. Kemudahan mencari informasi merupakan salah satu faktor untuk menarik wisatawan mengunjungi objek wisata. Namun kemudahan tersebut kurang diberi perhatian oleh pemerintah. Ini terlihat dari minimnya informasi pendukung pariwisata pada web resmi promosi pariwisata Indonesia. Untuk itu dikembangkan sebuah situs yang dapat menampung dan menampilkan semua informasi pendukung yang ada di suatu kota atau di sekitar tempat wisata. 2. Tinjauan Pustaka Teori-teori yang digunakan dalam paper ini diantaranya adalah: 2.1 Mashup Salah satu teknologi yang berkembang di dunia web adalah teknologi mashup. Mashup muncul sebagai sebuah platform pengembangan aplikasi yang menggabungkan dari beberapa data langsung yang ada di internet menjadi suatu aplikasi baru yang sesuai dengan apa yang dilakukan oleh pengguna[1]. Menurut Wikipedia[2] mashup didefinisakan sebagai sebuah aplikasi web yang mengkombinasikan satu atau lebih data menjadi satu aplikasi yang terintegrasi. Data yang digunakan bukan berasal dari database suatu aplikasi web yang dikembangkan, melainkan dari sumber data yang tersedia di internet. Sehingga data aplikasi web yang dikembangkan menjadi dinamis. 2.1.1 Perkembangan Mashup Perkembangan dari aplikasi web dengan menggunakan konsep mashup semakin banyak dan mencakup berbagai bidang. Pada saat paper ini dibuat, terdapat sekitar 3792 aplikasi web yang menggunakan teknologi mashup. Dengan rata-rata pertumbuhan aplkasi mashup sebanyak 3 setiap harinya. Data tersebut diambil dari situs yang mengumpulkan alamat/url aplikasi-aplikasi web tak terkecuali aplikasi web yang menggunakan konsep mashup [3]. Salah satu aplikasi mashup yang terkenal adalah aplikasi yahoo! Glue. Youtube, berita-berita terkait yang diambil dari blog (Wordpress) serta situs berita online. Selain itu, dikarenakan ini merupakan sistem web pariwisata, tidak lupa disertakan tentang data-data akomodasi dan transportasi. 2.3 REST 2.1.2 Data Mashup Teknologi mashup merupakan penggabungan data dari berbagai sumber di internet dalam satu aplikasi. Oleh karena itu, ketersediaan sumber data sangat penting untuk mendukung teknologi mashup. Pada dasarnya, setiap situs yang terdapat di internet dapat digunakan sebagai sumber data aplikasi mashup. Namun tidak semua situs dapat digunakan secara langung sebagai sumber data. Sumber yang dapat digunakan secara langsung biasanya memiliki API (Application Programming Interface). API merupakan sebuah sebuah cara yang digunakan suatu program atau aplikasi untuk mendapatkan sebuah service dari sebuah halaman web lain. Bentuk data yang umunya digunakan dalam proses transformasi data untuk web mashup dapat berupa rss maupun xml. 2.2 Nusantaraview Nusantaraview merupakan aplikasi pariwisata berbasiskan web dan dikembangkan dengan menggunakan joomla!. Pada awalnya Nusantaraview dikembangkan oleh ibu Nur Aini Rakhmawati beserta rekan-rekan beliau dan hanya menampilkan peta yang diambil dari google maps serta lokasi suatu objek pariwisata. Pada saat ini pengembang dari Nusantaraview bertambah lima orang. Antara lain: 1. Angga Rajasa sebagai pengembang modul input data pariwisata. 2. Kiki Ahmadi sebagai pengembang modul multimedia, event dan cuaca. 3. Taurisa Wijaya sebagai pengembang moda trasnportasi. 4. M. Rohmatulloh S sebagai pengembang modul blog, berita, dan Facebook. 5. M. Nur Taufix selaku pengembang modul akomodasi. Nusantaraview bersifat dinamis karena dikembangkan dengan konsep mashup serta terintegrasi di seluruh wilayah Indonesia. Oleh karena itu data-data yang ditampilkan dalam halaman web Nusantaraview merupakan data gabungan dari data-data yang disediakan di internet. Data-data yang ada di dalam aplikasi nusantaraview ini meliputi database kepariwisataan yang tersebar di setiap daerah, sistem pemetaan atau peta yang diambil dari Google Maps, foto – foto yang tersimpan di dalam database Flickr, video yang ada di dalam database REST (REpresentational State Transfer) merupakan sebuah gaya arsitekur untuk membangun suatu web service. Isitilah REST ini sendiri dikenalkan pada tahun 2000 dalam disertasi doctor Roy Fielding. Menurut Wikipedia, web service merupakan suatu sistem / aplikasi yang didesain untuk mendukung transaksi data antar komputer maupun sistem operasi melalui jaringan internet. Konsep terpenting dari rest adalah konsep untuk mengakses suatu resources (sumber informasi) serta metode yang digunakan untuk melakukan pertukaran resources dari client ke server. Metode yang digunakan untuk melakukan pertukaran resources adalah menggunakan http request method atau umumnya dikenal dengan istilah “verbs”. Method tersebut dapat disamakan dengan isitilah CRUD (Create Retrieve Update Delete) pada konsep database. Table 1 menggambarkan kolerasi antara method dengan konsep CRUD. Tabel 1 Kolerasi Method dengan CRUD No Method CRUD Penjelasan 1 Get Retrieve Mendapatkan Resource yang diinginkan. 2 Post Create Menginputkan data/resource baru. 3 Put Update Melakukan update terhadap resource yang dipilih. 4 Delete Delete Menghapus data/resource yang dipilih. 2.4 Dapper Dapper merupakan sebuah aplikasi berbasiskan web, tidak berbayar yang dapat digunakan untuk membuat data dari web yang tidak menyediakan data sebagai input dalam aplikasi mashup (rss,xml). Pengguna yang ingin memanfaatkan aplikasi ini, dapat langsung mengakses situs dapper yaitu www.dapper.net. 2.4 Joomla! Menurut wikipedia Joomla! merupakan aplikasi open source yang digunakan untuk menampilkan content atau isi ke World Wibe Web (internet) maupun intranet. Joomla! dikembangkan dengan bahasa pemograman PHP dan menggunakan MYSQL sebagai aplikasi default database nya. Joomla! pada dasarnya memiliki 2 bagian. Yaitu bagian Front-End dan Back-End. Front-End merupakan bagian yang langsung berhubungan dengan pengguna akhir. Sedangkan Back-End merupakan halaman administrator, dimana admin dari web dapat mengatur segala sesuatu yang akan ditampilkan pada halaman Front-End. Barisan kode yang digunakan untuk menghasilkan suatu komponen baru dapat menjadi semakin kompleks. Oleh karena itu, diperlukan suatu manajemen kode agar nantinya kode dari komponen tersebut dapat diubah-ubah atau ditambah. Manajemen kode ini disebut dengan MVC (Model-View-Controller). MVC merupakan kerangka desain software yang dapat digunakan untuk mengatur barisan kode sehingga nantinya dapat memisahkan antara logika bisnis dengan pengelolaan data. 3. Analisa kebutuhan Kebutuhan dalam pengembangan Sistem ini, seperti dijelaskan pada subbab dibawah ini: 3.1 Pengguna Pengguna yang ada dibedakan menjadi lima, administrator, pengunjung, entry data, pemakai data serta web master. 3.5 Web Master Web master merupakan kategori pengguna untuk melakukan proses install dari komponen yang dikembangkan dalam tugas akhir ini. Web master bukan merupakan tim internal dari Nusantaraview. 3.2 Teknologi Beberapa teknologi yang digunakan dalam pengembangan tugas akhir ini antara lain: 3.2.1 Web Teknologi web dapat dengan mudah diaplikasikan ke dalam setiap komputer meskipun menggunakan sistem operasi yang berbeda. Selain itu dapat diakses dari manapun asalkan terhubung dengan jaringan. 3.2.2 Mashup Dengan menggunakan mashup data yang digunakan menjadi lebih dinamis. Dikarenakan data diambil dari sumber yang tersebar di internet. 3.2.3 Joomla! Kelebihan dari penggunaan Joomla! adalah dapat ditambahkan komponen tambahan dengan cara yang mudah. 3.2.4 REST Penggunaan REST memiliki kelebihan untuk yaitu menggunakan http request method sebagai pertukaran resources serta pengalamatan resources yang simpel (mudah). 3.2.5 MySQL Administrator merupakan bagian dari Nusantaraview yang memiliki hak/tingkatan tertinggi dalam sistem yang dibangun. Administrator dapat melakukan aktifitas yang tidak bisa dilakukan oleh pengguna lainnya. Sebagai media penyimpanan dapat memberikan hasil optimal dari sisi kecepatan, kemudahan serta reliabilitas manajemen data pada penggunaan jumlah data skala menengah kebawah. Selain itu MySQL dapat berjalan pada berbagai platform sistem operasi. Dan merupakan database default dari joomla!. 3.2 Pengunjung 3.2.6 CURL 3.1 Administrator Kemampuan yang dimiliki oleh pengunjung ini hanya sebatas melakukan pencarian data akomodasi. 3.3 Pemakai Data Pemakai data merupakan pengguna yang diijinkan untuk mengakses data tempat penyedia makanan melalui web service. 3.4 Entry Data Entry Data merupakan pengguna yang memiliki hak untuk manipulasi data (menambah, menghapus, dan mengubah) tempat penyedia makanan yang dimiliki oleh Nusantaraview. Penggunaan teknologi ini, dapat memudahkan developper untuk berkomunikasi dengan berbagai macam server melalui baris – baris code tertentu. 4. Pembuatan dan Uji coba Penjelasan implementasi proses dijelaskan dengan menggunakan kode sumber aplikasi, serta diagram flowchart. 4.1 Lingkungan Implementasi dan uji coba Perincian hardware maupun software yang digunakan dalam implementasi maupun uji coba adalah seperti pada tabel 2. Tabel 2 Spesifikasi hardware Perangkat Keras Notebook 4.3.1 Back-end komponen hotel Spesifikasi Intel Core Duo processor [email protected] GHz 2016 MB RAM DDR2 120 GB HDD Windows operation system Modem HSDPA USB modem model E220 Bagian back-end memiliki fungsi untuk melakukan manipulasi data kota dan url rss dari setiap hotel pada setiap daerah. Url tersebut diperoleh dari penggunaan Dapper. 4.3.2 Front-end komponen hotel Bagian front-end memiliki fungsi untuk pengunjung dalam melakukan pencarian hotel yang ada di suatu kota ataupun disekitar tempat wisata. Pada bagian ini hanya terdapat textfield dan tombol cari. Untuk melakukan pencarian, pengunjung diharuskan untuk menginputkan kata pada textfield dan menekan tombol cari. Proses awal dari penekanan tombol cari seperti pada flowchart pada gambar 3. Tabel 3 Spesifikasi software Aplikasi Web Teknologi Joomla! Web Server Bahasa Pemrograman Database Editor Browser Versi 1.5.8 Apache 2.2.8 PHP 5, Javascript, HTML. MySql versi 5.0.37 Netbeans 6.5 , Notepad++, dreamwever Mozilla Firefox versi 3.0.11 Gambar 1 Sumber data penginapan 4.2 Implementasi Dapper Pada paper ini digunakan aplikasi free of charge yaitu Dapper. Alas an penggunaan aplikasi tersebut adalah sumber data yang digunakan tidak memiliki format xml atau rss. Aplikasi dapper memiliki user interface yang memudahkan pengguna untuk menggunakan aplikasi tersebut. Penggunaan dapper ini adalah untuk mendapatkan data-data mengenai tempat penginapan (hotel) yang ada di internet. Sumber yang digunakan untuk mendapatkan data hotel adalah: http://www.indonesia-tourism.com/. Dalam situs yang digunakan sebagai sumber data hotel, data ditampilkan seperti pada gambar 1. Dengan meggunakan Dapper, data tersebut diubah menjadi format rss seperti pada gambar 2. Gambar 2 Hasil menggunakan dapper 4.3 Implementasi komponen hotel Komponen hotel dalam paper ini dikembangkan dengan menggunakan komponen joomla!. Memiliki dua bagian yaitu bagian backend dan front-end. Gambar 3 Flowchart awal Dari flowchart tersebut dihasilkan nama kota dari setiap input pengunjung. Selanjutnya nama kota tersebut diolah untuk didapatkan url rss yang telah disimpan sebelumnya. Untuk mendapatkan data rss, maka dari url yang telah didapat diolah dengan menggunakan baris kode php seperti pada gambar 4. 4.4 Implementasi komponen restoran Komponen restoran juga dikembangkan dengan menggunakan komponen joomla!. Terdapat dua bagian yaitu back-end dan front-end. telah digambarkan dalam kode yang terdapat pada gambar 4. Variable out, berisikan data-data hotel yang ada disumber data. Sehingga tinggal menampilkan variable out tersebut. 4.5.2 Implementasi mashup komp. restoran Pada komponen restoran sumber data yang digunakan bertipekan xml. Jadi untuk mengolah data tersebut berbeda dengan mengolah data dengan format rss. Untuk mengolah data xml penulis menggunakan function yang ada di internet. Seperti pada gambar 8. 4.4.1 Back-end komponen restoran Bagian back-end komponen restoran memiliki fungsi untuk memanipulasi data restoran melalui web service yang dikembangkan juga dalam paper ini. Konsep komunikasi antara backend dengan web service menggunakan CURL. Gambar 4 Kode php untuk mengolah rss 4.4.1 Front-end komponen restoran Bagian front-end memiliki fungsi yang sama untuk memudahkan pengunjung mencari tempat penyedia makanan di sekitar objek wisata ataupun di suatu kota. Tampilan dan proses awal dari front-end komponen restoran sama dengan front-end komponen hotel yang terlihat pada gambar 3. Proses selanjutnya memiliki perbedaan dari komponen hotel. Setelah mendapatkan nama kota, maka langkah selanjutnya adalah mengakses web service dengan menggunakan parameter nama kota yang didapatkan. Bentuk url yang diakses seperti pada gambar 5. Gambar 5 url akses berdasarkan nama kota Gambar 6 flowchart awal identifikasi method 4.5 Implementasi REST Pada paper ini juga dikembangkan web service untuk mengolah setiap permintaan khususnya mengenai data restoran. Ketika pengunjung mengakses web service seperti pada gambar 5, maka langkah selanjutnya adalah melakukan proses identifikasi apakah method yang digunakan adalah get atau post. Diagram flowchart nya adalah seperti pada gambar 6. Apabila method yang digunakan adalah get, maka aksi yang dilakukan adalah menampilkan data sesuai dengan parameter yang digunakan. Akan tetapi apabila method post, maka akan melaksanakan flowchart pada gambar 7. Gambar 7 flowchart method post 4.5 Implementasi mashup Pengembangan mashup pada komponen yang digunakan berbeda. Ini dikarenakan data yang diambil dari sumber data memiliki format data yang berbeda. 4.5.1 Implementasi mashup komp. hotel Format data yang ditransfer dari sumber data ke komponen hotel memiliki format rss. Untuk mengolah serta menampilkan data tersebut Gambar 8 function merubah xml ke array 4.6 Uji coba Uji coba dilaksanakan komponen yang dibuat. berdasarkan 4.6.1 Uji coba komponen hotel Skenario uji coba komponen hotel ini adalah melakukan pencarian hotel yang ada pada suatu kota tertentu. Kota yang dimasukkan pada uji coba kali ini adalah kota Medan. Langkah pertama yang dilakukan adalah mengakses halaman awal dari front-end komponen hotel dan menginputkan nama kota. Kemudian menekan tombol cari yang terdapat pada samping kanan textfield. Seperti yang terlihat pada gambar 9. Pada textfield pada gambar 9, dimasukkan kata medan. Ketika ditekan tombol cari, maka akan keluar hasil seperti pada gambar 10. 4.6.2 Uji coba komponen restoran Proses pencarian data restoran ini dilakukan pada bagian front-end komponen restoran. Skenario uji coba ini adalah mengetahui data restoran yang ada pada kota Jakarta. Agar dapat melaksanakan uji coba ini, maka dilakukan akses terhadap halaman front-end komponen restoran. Pada halaman tersebut, terdapat textfield untuk menginputkan kata. Pada skenario ini, maka dimasukkan kata jakarta dalam textfield tersebut. Seperti ditunjukkan pada gambar 11. Setelah dilakukan inputan pada textfield maka langkah selanjutnya adalah menekan tombol cari. Maka hasil restoran untuk kota Jakarta adalah seperti ditampilkan pada gambar 11. 4.6.3 Uji Coba RESTful Web Service Pada uji coba RESTful web service kali ini skenario yang dilakukan adalah mendapatkan daftar nama restoran (tempat penyedia makanan) pada suatu kota. Pada uji coba ini, nama kota diganti dengan Padang Pariaman. Implementasinya dapat dilihat pada gambar 12. Nilai child kota pada data xml pada gambar 12 menunjukkan Padang Pariaman. Ini berarti url yang diakses memberikan hasil yang sesuai. Gambar 9 front-end komponen hotel Gambar 10 Hasil pencarian data hotel (mashup) Gambar 11 Hasil pencarian data restoran (mashup) Gambar 12 data xml untuk menampilkan data restoran pada kota tertentu 5. Kesimpulan dan Saran Kesimpulan dan saran yang didapatkan setelah melakukan riset mengenai tugas akhir ini adalah seperti pada subbab di bawah ini: 5.1 Kesimpulan Berdasarkan tugas akhir yang telah dikembangkan, dapat ditarik beberapa kesimpulan. Antara lain: 1. Data-data mengenai akomodasi dalam tugas akhir ini, telah dikembangkan dengan menggunakan teknologi mashup. Data tersebut diambil secara langsung dari penyedia data dan tidak disimpan dalam database komponen. 2. Data-data mengenai akomodasi dalam tugas akhir bersifat dinamis. Ini dikarenakan data tersebut tidak diolah oleh penulis, melainkan oleh pihak penyedia data. 3. Untuk mengatasi permasalahan data dari web statis, digunakan aplikasi web Dapper. Sehingga data tersebut dapat diubah menjadi format rss. 4. Untuk mengatasi permasalah mengenai tidak adanya sumber data, maka diimplementasikan RESTful web service. 5. Pengembangan RESTful web service memudahkan untuk melakukan pengumpulan data restoran serta penyediaan data bagi pihak yang membutuhkan. 5.2 Saran Beberapa hal yang dapat dikembangkan pada masa mendatang antara lain: • Data untuk proses mashup untuk komponen hotel hanya berasal dari satu situs. Kedepannya dapat ditambahkan situs penyedia data lain. Atau mengembangkan web service untuk mengolah data hotel. • Kebutuhan akan bandwith yang cukup besar dalam setiap proses mashup. Kedepannya dapat dimanipulasi agar dapat menghemat bandwidth, sehingga dapat mempercepat proses mashup. • Format data yang dihasilkan dari Web Service hanya dalam format xml. Kedepannya dapat ditambahkan format data lain sehingga dapat lebih fleksibel. • Pada saat ini situs Nusantaraview dapat berjalan jika diakses melalui browser pada komputer atau berlayar lebar. Kedepannya dapat dikembangkan untuk dapat diakses dengan baik melalui browser peralatan mobile seperti hand phone atau telepon genggam. 5.2 Daftar pustaka 1 2 3 4 5 6 7 Kulathuramaiyer, N. 2007. Mashups: Emerging Application Development Paradigm for a Digital Journal. In: Journal of Universal Computer Science 13(4), 531—542. Wikipedia. 2008. Mashup (web application hybrid). < URL : http://en.wikipedia.org/wiki/Mashup_ (web_application_hybrid) > ProgrammableWeb. 2009. Mashup Dashboard. < URL : http://www.programmableweb.com/mash ups > Netcraft. 2009. Netcraft. < URL : http://news.netcraft.com/ diakses > Wikipedia. 2008. Joomla. < URL : http://en.wikipedia.org/ wiki/Joomla > homepageJoomla!. 2008. What is Joomla?. < URL : http://www.joomla.org/ about-joomla.html > JoomlaDocumentation. 2009. Developing a Model-View-Controller Component Part 1 < URL : http://docs.joomla.org/Developing_a_Mod el-View-Controller_Component__Part_1# > 8 9 10 11 12 13 14 15 16 Dapper. 2006. Dapper. < URL : http://www.dapper.net/ about.php Wikipedia. 2008. PHP. < URL : http://en.wikipedia.org/ wiki/Php PhpNet. 2009. PHP. < URL : http://php.net/ > RSS Advisory Board. 2009. RSS 2.0 Spesification ( version 2.0.11 ) < URL : http://www.rssboard.org/ rss-specification > Gedex.2008. Menggunakan cURL dan libcurl dengan PHP. < URL : http://gedex.web.id/archives/2008/05/09/ menggunakan-curl-dan-libcurl-denganphp/ > LeBlanc Joseph.2007. Learning Joomla! 1.5 Extension Development Creating Modules, Components, and Plug-Ins with PHP. Gedex. 2008. Apa itu Web Services? (Bagian III) < URL : http://gedex.web.id/archives/2008/04/21/a pa-itu-web-services-bagian-iii/ > Wikipedia. 2009. Representational State Transfer. < URL : http://en.wikipedia.org/wiki/Representatio nal_State_Transfer diakses tanggal 1 juni 2009 > Softpedia. 2009. PHP REST SQL : Free Download. < URL : http://webscripts.softpedia.com/scriptDow nload/PHP-REST-SQL-Download32299.html >