SISTEM PEREKOMENDASI WISATA ALAM DI KABUPATEN
BOGOR BERBASIS MOBILE MENGGUNAKAN METODE
ITEM-BASED COLLABORATIVE FILTERING
HARI PRASETYO
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR
PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Dengan ini saya menyatakan bahwa skripsi berjudul Sistem Perekomendasi Wisata Alam di Kabupaten Bogor Berbasis Mobile Menggunakan Metode Item-Based Collaborative Filtering adalah benar karya saya dengan arahan dari komisi
pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.
Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.
Bogor, Januari 2015
Hari Prasetyo
ABSTRAK
HARI PRASETYO. Sistem Perekomendasi Wisata Alam di Kabupaten Bogor berbasis mobile menggunakan metode item-based collaborative filtering.
Dibimbing oleh RINA TRISMININGSIH.
Kabupaten Bogor merupakan salah satu daerah yang memiliki peluang dan daya tarik wisata yang tinggi. Selain memiliki lokasi yang strategis, Kabupaten Bogor juga memiliki banyak objek wisata alam yang indah. Kurangnya informasi membuat wisatawan tidak mengetahui dan mengunjungi objek wisata alam di Kabupaten Bogor. Oleh karena itu diperlukan sistem perekomendasi. Penelitian ini dilakukan untuk membangun sistem perekomendasi wisata alam Kabupaten Bogor yang diharapkan dapat memberikan acuan kepada wisatawan yang ingin/akan berkunjung ke Kabupaten Bogor. Sistem perekomendasi ini dibangun dengan menggunakan metode item-based collaborative filtering dan menggunakan platform Android. Sistem perekomendasi ini mampu menampilkan daftar wisata
alam dengan deskripsinya berdasarkan rekomendasi dari pengguna. Kata kunci: collaborative filtering, sistem perekomendasi, wisata alam.
ABSTRACT
HARI PRASETYO. Recommender System with Item-Based Collaborative Filtering Method on Mobile Application for Natural Tourism at Bogor Regency. Supervised by RINA TRISMININGSIH.
Bogor Regency is one of regions that has a high chance and tourist attraction. Beside a strategic location, Bogor Regency also has many beautiful natural tourism. The lack of information makes the tourists don’t know and visited natural tourism in Bogor Regency. Therefore we need a system of the recommenders. This study was conducted to establish the recommender systems Bogor Regency natural tourism which is expected to provide reference to travelers who want to / will visit Bogor Regency. The system is built with the recommenders using item-based collaborative filtering and the Android platform. The recommenders system is able to display a list of nature tourism with the description based on recommendations from the user.
Skripsi
sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer
pada
Departemen Ilmu Komputer
SISTEM PEREKOMENDASI WISATA ALAM DI KABUPATEN
BOGOR BERBASIS MOBILE MENGGUNAKAN METODE
ITEM-BASED COLLABORATIVE FILTERING
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR
BOGOR 2015
Judul Skripsi : Sistem Perekomendasi Wisata Alam di Kabupaten Bogor Berbasis
Mobile Menggunakan Metode Item-Based Collaborative Filtering
Nama : Hari Prasetyo NIM : G64124022
Disetujui oleh
Rina Trisminingsih, SKom MT Pembimbing
Diketahui oleh
Dr Ir Agus Buono, MSi MKom Ketua Departemen
PRAKATA
Puji dan syukur penulis panjatkan kepada Allah subhanahu wa ta’ala atas segala karunia-Nya sehingga karya ilmiah ini berhasil diselesaikan. Selawat dan salam penulis sampaikan kepada Nabi Muhammad shallallahu ‘alaihi wasallam serta kepada keluarganya, sahabatnya, serta para pengikutnya.
Terima kasih penulis ucapkan kepada Rina Trisminingsih, SKom MT selaku pembimbing, yang telah banyak memberi saran, bantuan dan dukungan. Ungkapan terima kasih juga disampaikan kepada seluruh keluarga terutama ayahanda Suyadi dan ibunda Ratmi atas segala doa dan kasih sayangnya. Penulis juga berterima kasih atas dukungan seluruh teman Ilmu Komputer Ahli Jenis Institut Pertanian Bogor angkatan 7.
Penulis berharap penelitian ini dapat memberikan manfaat, khususnya bagi para pengembang Android di Indonesia.
Bogor, Januari 2015
DAFTAR ISI
DAFTAR TABEL vi
DAFTAR GAMBAR vi
DAFTAR LAMPIRAN vi
PENDAHULUAN 1
Latar Belakang 1
Perumusan Masalah 2
Tujuan Penelitian 2
Manfaat Penelitian 2
Ruang Lingkup Penelitian 2
METODE 2
Collaborative Filtering 2
Item-Based Collaborative Filtering 3
Adjusted Cosine Similarity 4
Weighted Sum 5
Mean Absolute Error (MAE) 5
Fase Permulaan (Inception) 6
Fase Perluasan (Elaboration) 6
Fase Pembangunan (Construction) 6
Fase Peralihan (Transition) 7
HASIL DAN PEMBAHASAN 7
Fase Permulaan (Inception) 7
Fase Perluasan (Elaboration) 9
Fase Pembangunan (Construction) 15
Fase Peralihan (Transition) 18
SIMPULAN DAN SARAN 19
Simpulan 19
Saran 19
DAFTAR PUSTAKA 20
LAMPIRAN 23
DAFTAR TABEL
1 Tabel kebutuhan fungsionalitas SPWAKB 8
2 Tabel kebutuhan non fungsional SPWAKB 8
3 Tabel otoritas pengguna 8
4 Use case description mendapatkan rekomendasi 10
5 Rancangan tabel review 14
6 Tabel rate wisata alam oleh pengguna 16
7 Tabel similarity 17
8 Tabel prediksi rate obyek wisata alam 17
DAFTAR GAMBAR
1 Metode collaborative filtering 3
2 Metode item-based collaborative filtering 4
3 Proses RUP (Jacobson 2011) 6
4 Use Case Diagram SPWAKB 9
5 Activity Diagram mendapatkan rekomendasi 11
6 Sequence Diagram mendapatkan rekomendasi 12
7 Analisis class diagram SPWAKB 12
8 Class diagram SPWAKB 13
9 Rancangan antar muka menampilkan daftar wisata alam 14
10 Implementasi tabel review 15
11 Implementasi antar muka menampilkan daftar wisata alam 16
DAFTAR LAMPIRAN
1 Tabel daftar wisata alam 23
2 Use case description dari seluruh use case 25
3 Activity diagram dari seluruh use case 29
4 Sequence Diagram dari seluruh use case 32
5 Rancangan Tabel 35
6 Rancangan Tampilan Antar Muka 36
7 Implementasi Tabel 38
8 Implementasi Tampilan Antar Muka 39
1
PENDAHULUAN
Latar Belakang
Sebagai destinasi pariwisata, Kabupaten Bogor memiliki peluang dan daya tarik yang tinggi, karena selain memiliki lokasi yang strategis, Kabupaten Bogor juga memiliki obyek wisata yang menarik (DKPKB 2014). Namun informasi tentang referensi wisata alam yang dimiliki Kabupaten Bogor membuat banyak wisatawan yang tidak mengetahui seluruh wisata alam yang dimiliki oleh Kabupaten Bogor. Untuk itu diperlukan suatu aplikasi yang memberikan referensi untuk mendapatkan informasi tentang wisata alam Kabupaten Bogor.
Sistem perekomendasi adalah tipe spesifik dari teknik penyaringan informasi yang diupayakan untuk menyajikan data (seperti film, musik, halaman web, berita) yang kemungkinan menarik bagi pengguna. Secara intuitif, sistem perekomendasi membangun sebuah profil pengguna berdasarkan catatan sebelumnya, dibandingkan dengan beberapa karakteristik referensi, dan berupaya untuk memprediksi rating yang akan diberikan oleh pengguna ke item yang belum
dievaluasi oleh sistem (Wen 2008). Metode yang digunakan dalam pembangunan sistem perekomendasi dibagi menjadi 2 macam, yakni Content-Based Filtering dan Collaborative Filtering.
Collaborative Filtering (CF) adalah suatu metode dalam membuat
prediksi otomatis untuk memperkirakan ketertarikan atau selera seorang pengguna terhadap suatu item dengan cara mengumpulkan informasi dari
pengguna-pengguna yang lain yang direpresentasikan dalam bentuk nilai rating
(Sarwar et al. 2001). CF akan melakukan 2 proses, yaitu mencari pengguna lain
yang memiliki kemiripan pola rating dengan pengguna yang dijadikan target dan
menggunakan nilai rating dari pengguna lain untuk menghitung prediksi bagi
pengguna aktif.
Pada penelitian sebelumnya, Nuryunita dan Nurhadriyani (2013) telah membangun sistem perekomendasi menggunakan metode item-based collaborative filtering. Sistem ini memberikan rekomendasi buku menggunakan OpenCart
berbabis web. Sistem perekomendasi pada penelitian ini dibangun menggunakan
platform Android. Android masih menguasai marketshare penyebaran OS dengan
persentase sebesar 78.1% pada quarter ke empat di tahun 2013. Persentase ini
meningkat dari quarter ke empat di tahun sebelumnya yang sebesar 70.3% (IDC
2014). Selain itu, menurut data SCGS (2014), pengguna mobile yang menggunakan platform Android khususnya di Indonesia, terus meningkat tiap bulannya dan
mencapai 60% pada bulan Oktober 2014.
Penelitian ini membangun sistem perekomendasi menggunakan metode Item-based Collaborative Filtering pada platform Android yang dapat menampilkan
2
Perumusan Masalah
Perumusan masalah pada penelitian ini adalah bagaimana pengguna mendapatkan rekomendasi wisata alam Kabupaten Bogor?
Tujuan Penelitian
Tujuan dari penelitian ini adalah membangun Sistem Perekomendasi Wisata Alam berbasis mobile dengan menggunakan platform Android.
Manfaat Penelitian
Penelitian ini diharapkan menghasilkan sistem perekomendasi yang dapat memberikan referensi wisata alam sebagai acuan kepada wisatawan yang ingin berkunjung ke Kabupaten Bogor.
Ruang Lingkup Penelitian
Ruang lingkup dari penelitian ini yaitu data obyek wisata alam yang digunakan diperoleh dari Dinas Kebudayaan dan Pariwisata Kabupaten Bogor pada tahun 2014.
METODE
Collaborative Filtering
CF adalah suatu metode yang membuat prediksi otomatis untuk memperkirakan ketertarikan atau selera pengguna terhadap suatu item dengan cara
mengumpulkan informasi dari user-user lain yang direpresentasikan dalam bentuk
nilai rating (Sarwar et al. 2001). Tujuan dari algoritme collaborative filtering
3
Gambar 1 Metode collaborative filtering
Pada Gambar 1 dapat dilihat bahwa terdapat dua hal yang dilakukan sistem perekomendasi dengan metode CF, yaitu prediksi dan rekomendasi. Prediksi adalah melakukan prediksi berdasarkan opini yang telah diberikan oleh pengguna, sedangkan rekomendasi adalah memberikan rekomendasi kepada pengguna berupa daftar item. Item yang direkomendasikan adalah produk/item yang belum pernah
dibeli, dilihat, atau diberi rate oleh pengguna tersebut. Teknik collaborative filtering terbagi menjadi dua yaitu user-based collaborative filtering dan item-based collaborative filtering (Sarwar et al. 2001).
Item-Based Collaborative Filtering
Metode item-based collaborative filtering yang ditunjukan pada Gambar 2,
merupakan metode yang menggunakan rating dalam membuat sebuah rekomendasi.
Pada metode ini akan dicari item yang belum pernah diberi rate oleh pengguna dan item tersebut memiliki nilai keterkaitan yang tinggi. Item yang memiliki nilai
keterkaitan yang tertinggi akan dijadikan top-N rekomendasi.
INPUT (table rate)
Prediksi Prediksi pada wisata ke-j untuk anggota ke-a Rekomendasi Top-N Rekomendasi
Algoritma CF Interface Output
4
Gambar 2 Metode item-based collaborative filtering
Adjusted Cosine Similarity
Sarwar et al. (2001), menyebutkan bahwa salah satu langkah penting dalam
metode collaborative filtering adalah menghitung kesamaan antar item dan
kemudian memilih item yang memiliki nilai kemiripan yang tinggi. Ada 3 cara untuk menghitung kesamaan antar item, yaitu cosine-based similarity, correlation-based similarity and adjusted-cosine similarity. Adjusted cosine similarity memiliki
tingkat kesalahan lebih kecil bila dibandingkan dengan persamaan cosine lainnya.
Persamaan adjusted cosine similarity merupakan pengembangan dari persamaan cosine. Berikut adalah persamaan adjusted cosine similarity:
�� , = ∑�∈� �, − ̅� �, − ̅� √∑�∈� �, − ̅� √∑�∈� �, − ̅�
dengan :
�� , adalah nilai kemiripan antara itemi dan itemj.
� ∈ � adalah himpunan pengguna u yang memberikan rate pada item i maupun itemj.
�, adalah rating yang diberikan pengguna u pada item i. �, adalah rating yang diberikan pengguna u pada item j.
̅
� adalah rata-rata rating pengguna u.
5 Weighted Sum
Setelah mendapatkan sekumpulan wisata alam yang memiliki kemiripan yang tinggi, dilakukan proses prediksi yang memperkirakan nilai rate yang akan
diberikan oleh pengguna. Prediksi yang diperkirakan akan diberikan kepada wisata alam yang belum pernah diberi rate oleh pengguna tersebut. Teknik yang
digunakan untuk mendapatkan nilai prediksi adalah dengan persamaan weighted sum (Karypis 2001). Berikut adalah persamaan weighted sum:
��, =∑∈�∑ |�, ∗ ,
Mean Absolute Error (MAE)
MAE merupakan persamaan yang digunakan untuk mengukur akurasi sistem dengan membandingkan nilai yang diprediksi dengan nilai yang sebenarnya (Karypis, 2001). Berikut persamaan MAE :
�� = ∑ | − |�=
dengan :
�� adalah nilai rata-rata kesalahan penghitungan. adalah jumlah item yang dihitung.
adalah nilai prediksi item ke-i.
adalah nilai rate sebenarnya yang diberikan oleh pengguna pada item ke-i.
Metode pengembangan sistem yang digunakan dalam pembuatan sistem perekomendasi wisata alam di Kabupaten Bogor adalah Rational Unified Process
6
Gambar 3 Proses RUP (Jacobson 2011)
Fase Permulaan (Inception)
Fase ini mendefinisikan cakupan sistem dan membangun kasus bisnis untuk sistem. Identifikasi entitas eksternal yang akan berinteraksi dengan sistem dan mendefinisikan sifat interaksinya dilakukan untuk dapat memenuhi fase ini. Kasus bisnis meliputi kriteria sukses, kendala, estimasi sumber daya yang dibutuhkan dan rencana agenda. Pada fase inception, ditentukan sistem ini menggunakan metode item-based collaborative filtering untuk metode perekomedasinya. Pada fase ini
juga ditentukan metode untuk menghitung kesamaan antar item menggunakan
adjusted-cosine similarity dan untuk memprediksi nilai rate menggunakan weighted sum.
Fase Perluasan (Elaboration)
Tujuan dari fase perluasan adalah untuk menganalisis permasalahan utama, membuat arsitektur pondasi, membuat perencanaan pembangunan sistem, dan mengeliminasi elemen yang beresiko tinggi pada pembangunan sistem. Untuk memenuhi hal ini harus diketahui luas dari sistem yang dibuat, harus mengerti keseluruhan isi pembangunan sistem seperti cakupan sistem, fungsionalitas dari sistem dan kebutuhan nonfungsional dari sistem.
Fase Pembangunan (Construction)
Selama fase konstruksi semua komponen dan fitur dari perangkat lunak dibangun, diintegrasikan menjadi sebuah produk, dan diuji untuk semua fitur yang telah dibangun. Pada fase ini, ditentukan untuk pengujian rate yang diprediksi
7
Fase Peralihan (Transition)
Tujuan dari fase peralihan ini adalah untuk menyampaikan perangkat lunak kepada pengguna akhir. Pada saat perangkat lunak disampaikan kepada pengguna, biasanya terdapat keluhan dari pengguna akan kebutuhan yang belum terpenuhi. Hal ini membutuhkan pembuatan rilis terbaru, memperbaiki beberapa masalah, atau menyelesaikan fitur yang tertunda.
HASIL DAN PEMBAHASAN
Fase Permulaan (Inception)
Pada tahap ini dideskripsikan tentang model bisnis dan kebutuhan-kebutuhan yang dibagi menjadi 4, yaitu kebutuhan implementasi, kebutuhan data dan informasi, kebutuhan fungsionalitas, dan kebutuhan otoritas pengguna.
Model Bisnis
Alur kerja dari sistem perekomendasian ini adalah sistem akan menampilkan data wisata alam Kabupaten Bogor berdasarkan prediksi otomatis. Prediksi otomatis yang dibuat oleh sistem menggunakan metode CF.
Kebutuhan
1. Kebutuhan Implementasi
Untuk mengimplementasikan rancangan-rancangan dibutuhkan perangkat keras dan perangkat lunak dengan spesikasi minimum sebagai berikut.
1.1 Kebutuhan Perangkat Keras
Processor Intel(R) Dual Core @1.50 Ghz
Harddisk 250 GB
Kapasitas RAM 2 GB Keyboard dan tetikus.
Monitor optimal pada resolusi 1024 x 768 pixel
Smartphone Android versi 2.3
1.2 Kebutuhan Perangkat Lunak
Perangkat lunak yang dibutuhkan dalam pembuatan sistem perekomendasi ini adalah :
Sistem Operasi : Windows 7
Sistem Manajemen Basis Data : MySQL Bahasa pemograman : Java
Editor : Eclipse
Desain perancangan : Rational Rose
2. Kebutuhan Data dan Informasi
8
oleh sistem. Daftar wisata alam yang digunakan dalam sistem dapat dilihat pada Lampiran 1.
3. Kebutuhan Fungsional
Kebutuhan fungsional menunjukan apa saja yang dapat dilakukan oleh Sistem Perekomendasi Wisata Alam Kabupaten Bogor (SPWAKB). Penamaan kebutuhan fungsional pada sistem perekomendasi dengan menggunakan kode SPWAKB-XX. Deskripsi mengenai kebutuhan fungsional ditunjukan Tabel 1.
Tabel 1 Tabel kebutuhan fungsionalitas SPWAKB
Kode Fungsional Nama Fungsi Deskripsi
SPWAKB-01 Melihat daftar
wisata alam Menampilkan beberapa wisata alam SPWAKB-02 Melihat deskripsi Menampilkan deskripsi dan foto dari
wisata alam yang telah dipilih
SPWAKB-03 Registrasi anggota Melakukan pendaftaran untuk menjadi seorang anggota sistem ini
SPWAKB-04 Login Melakukan pengecekan akun anggota
SPWAKB-05 Mendapat
Rekomendasi Menampilkan hasil prediksi yang akan dijadikan rekomendasi kepada anggota SPWAKB-06 Memberikan
Penilaian Memberikan penilaian atau alam rate wisata
4. Kebutuhan Non Fungsional
Kebutuhan non fungsional menunjukan batasan pada kebutuhan fungsional. Kebutuhan non fungsional terbagi menjadi beberapa bagian, yaitu : usability, reliability, safety requirement, dan data integrity. Deskripsi mengenai kebutuhan
non fungsional secara lengkap ditunjukan pada Tabel 2.
Tabel 2 Tabel kebutuhan non fungsional SPWAKB
Non Fungsional Deskripsi
Usability SPWAKB memiliki rancangan antar muka yang user friendly
Reliability Aplikasi tidak boleh kehilangan data Safety
Requirement
Hanya administrator yang dapat menambah, mengubah, atau pun menghapus data wisata alam yang terdapat pada sistem
Data Integrity Data yang ditampilkan SPWAKB haruslah benar adanya
5. Kebutuhan Otoritas Pengguna
Proses identifikasi sistem perekomendasi wisata alam Kabupaten Bogor ini dilakukan dengan membagi karakteristik pengguna berdasarkan hak aksesnya. Hak akses pada sistem perekomendasi ini terbagi menjadi dua, yaitu: pengguna dan anggota. Deskripsi hak akses secara lengkap ditunjukan pada Tabel 3.
Tabel 3 Tabel otoritas pengguna
Kategori Pengguna Hak Akses Kebutuhan Pengguna
9
Kategori Pengguna Hak Akses Kebutuhan Pengguna
SPWAKB-02 Melihat deskripsi SPWAKB-03 Registrasi anggota
Anggota SPWAKB-01 Melihat daftar wisata alam SPWAKB-02 Melihat deskripsi
SPWAKB-04 Login
SPWAKB-05 Merekomendasikan wisata alam SPWAKB-06 Memberikan penilaian
Fase Perluasan (Elaboration)
Use case adalah semua cara dari penggunaan sistem dalam mencapai tujuan
tertentu untuk pengguna tertentu (Jacobson 2011). Use case berisi apa yang
dilakukan oleh sistem atau apa yang terjadi pada sistem, bukan bagaimana sistem melakukan. Jadi use case disini menjelaskan fungsi-funsi apa saja yang terdapat di
dalam aplikasi dan siapa saja yang berhak mengaksesnya. Untuk melihat use case diagram pada SPWAKB ditunjukan pada Gambar 4.
Gambar 4 Use Case Diagram SPWAKB
Setiap use case dideskripsikan lebih jelas pada use case description.Menurut
Satzinger et al. (2010), use case description adalah deskripsi yang berisi daftar
rincian proses untuk setiap use case. Use case description dari mendapatkan
10
Tabel 4 Use case description mendapatkan rekomendasi
Use Case Name Mendapatkan rekomendasi
Scenario Anggota akan mendapatkan rekomendasi wisata alam
Triggering Event -
Brief Description Sistem perekomendasi akan menghitung keterkaitan
antar wisata alam. Lalu sistem akan menentukan beberapa pasang wisata alam yang memiliki nilai kemiripan yang tinggi. Sistem akan memberikan prediksi kepada anggota sesuai dengan nilai prediksi.
Actors Anggota
Related Use Case Include : Login
Stakeholders -
Preconditions -Anggota telah memberikan rate terhadap beberapa
wisata alam.
-Memperbarui nilai rata-rata rate setiap wisata alam
-Memperbarui nilai rata-rata rate setiap anggota
-Memperbarui nilai kemiripan antar item wisata
alam
-Memperbarui nilai prediksi wisata alam
Postconditions -Dapat melihat deskripsi wisata alam
-Dapat melakukan rating terhadap wisata alam
Flow of Activities Actor System
1.Anggota melakukan proses login.
2.Jika pengguna belum terdaftar, pengguna diarahkan pada halaman sign up.
2a. Jika pengguna sudah terdaftar, pengguna
rating terhadap wisata
alam
1.1Mendaftarkan
pegguna baru tersebut
2a.1 Validasi pengguna 1.2 Memperbarui nilai rata-rata rate setiap
wisata alam, rata-rata rate anggota,
kemiripan antar item
wisata alam, dan prediksi wisata alam 1.3 Menampilkan hasil
11
Exception Conditions 2.3 Jika pengguna belum melakukan rate terhadap
wisata alam atau wisata alam yang diberi rate
tidak memiliki nilai kemiripan yang lebih besar dari 0,5 dengan wisata alam lainnya, sistem akan menampilkan hasil rekomendasi bedasarkan rate
tertinggi yang telah diberikan anggota lain.
Setiap use case juga digambarkan lebih rinci pada activity diagram. Activity diagram menunjukkan aliran dari satu aktivitas ke aktivitas lain dalam suatu sistem.
Suatu activity diagram menunjukkan satu himpunan aktivitas, apakah aliran dari
satu aktivitas ke aktivitas lain secara berurutan atau bercabang, dan objek yang bertindak dan berhenti (Booch et al. 1998). Activity Diagram dari mendapatkan
rekomendasi ditunjukan pada Gambar 5. Activity Diagram dari setiap use case pada
SPWAKB dapat dilihat pada Lampiran 3.
Gambar 5 Activity Diagram mendapatkan rekomendasi
Sequence diagram adalah diagram interaksi yang menekankan waktu urutan
pesan. Sequence diagram menunjukkan sekumpulan objek dan pesan yang dikirim
dan diterima oleh objek tersebut (Booch et al. 1998). Sequence diagram fungsi
mendapatkan rekomendasi ditunjukan pada Gambar 6. Sequence diagram
fungsi-fungsi lainnya dapat dilihat pada Lampiran 4.
Fungsi-fungsi dari sistem yang telah didefinisikan pada use case diagram
selanjutnya akan digunakan untuk membuat perancangan dari kelas-kelas yang terdapat di dalam sistem. Kelas-kelas ini terdiri dari atribut dan fungsi yang sesuai dengan use case, rancangan ini disebut class diagram. Analisis class diagram dari
12
Gambar 6 Sequence Diagram mendapatkan rekomendasi
Gambar 7 Analisis class diagram SPWAKB
Perancangan
1. Perancangan Desain Kelas
Berdasarkan class diagram pada tahap analisis, dibuat class diagram yang
13
14
2. Perancangan Basis Data
Basis data digunakan sebagai media penyimpanan sistem. Pada class diagram
terdapat atribut-atribut pada setiap kelas. Atribut-atribut ini yang menjadi acuan dalam pembuatan rancangan basis data. Basis data berbentuk tabel-tabel yang saling berhubungan satu dengan yang lain. Berikut adalah deskripsi dari tabel
review yang ditunjukkan oleh Tabel 5. Rancangan tabel lainnya dapat dilihat pada
Lampiran 5.
Tabel 5 Rancangan tabel review
Nama Field Tipe (length) Keterangan
review_id int(11) Primary key
id int(11)
pengguna_id int(11)
rate int(11)
3. Perancangan Tampilan Antar Muka
Perancangan tampilan antar muka digunakan untuk menjadi panduan dalam pembuatan implementasi tampilan antar muka. Perancangan antar muka penting untuk dibuat agar kita menghasilkan tampilan antar muka yang mudah dimengerti, mudah digunakan, nyaman untuk dilihat, dan konsisten. Sistem dengan tampilan antar muka yang baik akan memberikan dorongan pengguna untuk menggunakan sistem sesuai dengan fungsinya. Pada tahap perancangan tampilan antar muka SPWAKB dihasilkan rancangan antar muka untuk fungsi-fungsi yang didefinisikan pada use case diagram. Pada tiap fungsi-fungsi SPWAKB tersebut terdapat
rancangan masukan dan rancangan keluaran. Berikut gambaran rancangan desain fungsi daftar wisata yang dapat dilihat oleh anggota maupun pengguna. Rancangan tampilan antar muka daftar wisata ditunjukan pada Gambar 9. Rancangan tampilan antar muka lainnya dapat dilihat pada Lampiran 6. Rancangan tampilan antar muka ini dibuat dengan berdasarkan resolusi 480x800 pixel.
Gambar 9 Rancangan antar muka menampilkan daftar wisata alam HEADER
Wisata Nama WisataDeskripsi Singkat
Foto
Wisata Nama WisataDeskripsi Singkat
Foto
15
Fase Pembangunan (Construction)
Fase pembangunan dilakukan ketika fase permulaan dan perluasan selesai dilaksanakan. Dari fase permulaan dan perluasan dihasilkan use case diagram dan activity diagram yang digunakan untuk acuan dalam pembuatan desain dan
implementasi sistem.
Implementasi
Tahap impementasi adalah tahap yang paling penting di dalam pengembangan sistem, karena pada tahap ini rancangan-rancangan yang telah dibuat sebelumnya akan diterapkan hingga menjadi sebuah produk sistem.
1. Implementasi Basis Data
Sebelumnya telah dibuat rancangan basis data yang kemudian diterapkan ke dalam sistem manajemen basis data. SPWAKB menggunakan MySql dalam pengelolaan basis datanya yang kemudian diberi nama “spwakb.sql”. Implementasi basis data dilakukan dengan membuat tabel-tabel, field-field dan
hubungan tabel-tabel berdasarkan rancangan basis data. Berikut ini adalah contoh hasil implementasi tabel review yang ditunjukan pada Gambar 10. Implementasi
tabel lainnya dapat dilihat pada Lampiran 7.
# Name Type Collation Attributes Null Default Extra
1 review_id int(11) No None AUTO_INCREMENT
2 id int(11) No None
3 pengguna_id int(11) No None
4 rate int(11) No None
Gambar 10 Implementasi tabel review
2. Implementasi Tampilan Antar Muka
16
Gambar 11 Implementasi antar muka menampilkan daftar wisata alam 3. Implementasi Proses
Tahap implementasi proses adalah tahapan-tahapan yang dikerjakan langsung oleh sistem. Bahasa pemrograman Java dan PHP digunakan untuk mengolah masukan hingga menjadi keluaran dalam bentuk XML yang diharapkan.
Rekomendasi yang dihasilkan oleh SPWAKB didapat dengan melalui beberapa proses, yaitu :
i. Pengguna memberikan rate terhadap wisata alam.
ii. Menghitung rata-rata rate pengguna.
iii. Mengitung kemiripan antar obyek wisata alam. iv. Menghitung prediksi rate wisata alam.
Berdasarkan proses-proses yang telah diuraikan sebelumnya, maka akan dibuat simulasi dari proses mendapatkan rekomendasi. Proses pertama adalah mengumpulkan data pengguna yang telah memberikan rate pada wisata alam.
Pemberian rate hanya dapat dilakukan oleh anggota. Proses kedua adalah
menghitung nilai rata-rata rate yang telah dilakukan oleh anggota. Berikut adalah
simulasi data anggota yang telah memberikan rate yang ditunjukan oleh Tabel 6,
dimana A melambangkan anggota, W melambangkan obyek wisata alam,
sedangkan �̅ melambangkan nilai rata-rata rate dari masing-masing anggota.
Tabel 6 Tabel rate wisata alam oleh pengguna
Anggota W1 W2 W3 W4 W5 W6 W7 �̅
A1 - 2 - 5 - 5 5 4.25
17
Proses berikutnya adalah menghitung nilai kemiripan antar obyek wisata alam menggunakan adjusted cosine similarity. Simulasi nilai kemiripan antar obyek
wisata alam ditunjukan oleh Tabel 7 yang diurutkan berdasarkan nilai kemiripan yang tertinggi. Berdasarkan Tabel 7, terdapat empat pasang obyek wisata yang memiliki nilai kemiripan yang lebih besar dari 0.5 yaitu
Tabel 7 Tabel similarity
Wisata Alam 1 Wisata Alam 2 Similarity
W5 W7 1.00
Proses selanjutnya adalah mengitung nilai prediksi rate obyek wisata alam
menggunakan weighted sum. Pasangan obyek wisata alam yang memiliki nilai similarity di atas 0.5 akan dijadikan rekomendasi. Anggota yang mendapatkan
rekomendasi adalah anggota yang telah memberikan rate di salah satu obyek wisata.
Simulasi dari hasil prediksi dan objek wisata yang akan direkomendasikan ditunjukan pada Tabel 8.
Tabel 8 Tabel prediksi rate obyek wisata alam
18
Tahap pengujian adalah tahap lanjutan setelah pengembangan sistem, karena pada tahap ini rancangan-rancangan yang telah dibuat sebelumnya akan diterapkan hingga menjadi sebuah produk sistem. Pengujian yang dilakukan menggunakan dua metode pengujian, yaitu Mean Absolute Error (MAE) dan Black Box.
1. Mean Absolute Error (MAE)
Berdasarkan penghitungan dengan menggunakan MAE, tingkat kesalahan relatif kecil yaitu 0.33. Pada penelitian sebelumnya, Nuryunita dan Nurhadriyani (2013) yang juga membangun sistem perekomendasi dengan metode yang sama memiliki tingkat kesalahan yang lebih kecil yaitu 0,15. Hasil MAE pada penelitian sebelumnya lebih kecil dikarenakan sebelum merekomendasikan suatu item
dilakukan terlebih dahulu pengecekan kategori item yang akan direkomendasikan
dengan kategori yang disukai pengguna. Sedangkan pada penelitian kali ini, kurangnya data wisata alam yang diperoleh sehingga data wisata alam tidak dikategorikan.
2. Black Box
Black box testing merupakan metode pengujian sistem dengan menganggap
sebuah sistem seperti “black box” tanpa adanya pengetahuan mengenai
pemrograman dan metode ini hanya menguji sistem hanya dari aspek fundamental. Dalam melakukan pengujian black box penguji harus mengetahui arsitektur sistem.
Penguji tidak memerlukan akses untuk melihat kode program (Khan dan Khan 2012).
Pengujian dilakukan sesuai dengan kebutuhan fungsional yang terdapat pada
use case diagram. Pengujian dilakukan dengan metode black box, yaitu menguji
apakah fungsi pada aplikasi menghasilkan keluaran yang benar ketika diberi inputan yang didefinisikan. Berdasarkan hasil pengujian black box dengan beberapa
skenario yang diberikan menunjukkan bahwa seluruh fungsi yang ada pada aplikasi ini telah berjalan dengan menunjukkan hasil pengujian terhadap fungsi yang terdapat pada sistem ini. Hasil pengujian dapat dilihat pada Lampiran 9. Dari hasil pengujian dapat disimpulkan bahwa semua fungsi pada sistem telah berjalan dengan baik.
Fase Peralihan (Transition)
19 sistem tersebut telah siap untuk disampaikan kepada pengguna akhir. Penyampaian SPWAKB kepada pengguna akhir dilakukan dengan cara mengunggah sistem ke
playstore.
SIMPULAN DAN SARAN
Simpulan
Metode item-based collaborative filtering telah berhasil diimplementasikan
menggunakan bahasa pemograman Java dengan platform Android. Pengguna yang belum mendaftar sebagai anggota tidak mendapatkan rekomendasi. Rekomendasi yang ditampilkan hanya berdasarkan rating tertinggi. Pengguna yang telah
mendaftar sebagai anggota dan telah melakukan login akan mendapatkan
rekomendasi sesuai dengan rate yang telah dilakukan sebelumnya.
Keakuratan metode item-based collaborative filtering dihitung dengan
menggunakan persamaan Mean Absolute Error (MAE). Berdasarkan penghitungan
MAE, tingkat kesalahan hitung relatif kecil yaitu 0.33. Semakin kecil nilai MAE, semakin akurat rekomendasi yang dihasilkan.
Saran
Saran untuk penelitian berikutnya adalah menggunakan metode perekomendasi lainnya yang bukan hanya item-based namun juga user-based yang
20
DAFTAR PUSTAKA
Booch G, Rumbaugh J, Jacobson I. 1998. The Unified Modeling Language User Guide [Internet]. [diunduh 2014 Des 1]. 1(1): 87-90. Tersedi pada : http://meusite.mackenzie.com.br/rogerio/the-unified-modeling-language-user-guide.9780201571684.997.pdf
[DKPKB] Dinas Kebudayaan dan Pariwisata Kabupaten Bogor. 2014. Guide to Bogor. Dinas Kebudayaan dan Pariwisata Kabupaten Bogor. 1(1): 1-2.
[IDC] International Data Corporation. 2014. Android and iOS Continue to Dominate the Worldwide Smartphone Market with Android Shipments Just Shy of 800 Million in 2013, According to IDC [Internet]. [diunduh 2014 Nov 21].
Tersedia pada : http://www.idc.com/getdoc.jsp?containerId=prUS24676414. Jacobson, Ivar. 2011. Rational Unified Process Best Practices for Software
Development Teams. Rational Software White Paper.
Jacobson, Ivar. 2011. Use-Case 2.0 The Guide to Succeeding with Use Case. Ivar Jacobson International.
Karypis G. 2001. Evaluation of Item-Based Top-N Recommendation. 10th Conference of Information and Knowledge Management (CIKM) : BuckHead
5-10 November. 247-254.
Khan M, Khan F. 2012. A comparative study of white box, black box and greybox testing techniques. International Journal of Computer Science and Applications.
3: 12-15.
Nuryunita K, Nurhadrayani Y. 2013. Pembuatan Modul Rekomendasi pada Opencart Menggunakan Metode Item-Based Collaborative Filtering. Jurnal
Ilmu Komputer Agri-Informatika, IPB [Internet]. [diunduh 2015 3 Maret];
2(1):9-19. Tersedia pada:
http://journal.ipb.ac.id/index.php/jika/article/download/7965/6242
Sarwar B, Karypis G, Konstan J, Riedl j. 2001. Item-Based Collaborative Filtering Recommendation Algorithms. Proceedings of the 10th International World Wide Web Conference, 285-295.
Satzinger J, Jackson R, Burd S. 2010. 5th Edition Systems Analysis and Design in a Changing World [Internet]. [diunduh 2015 Jan 6]. 5(1) : 171.
[SCGS] StatCounter Global Stats. 2014. Top 8 Mobile Operating System in Indonesia from Oct 2013 to Oct 2014 [Internet]. [diunduh 2014 Nov 11]. Tersedia pada : http://gs.statcounter.com/#mobile_os-ID-monthly-201310-201410
21
23 Lampiran 1 Tabel daftar wisata alam
No Wisata Alam Lokasi Website
Indonesia Jalan Raya Taman Safari, Cisarua Puncak, Bogor.
bogor.tamansafari.com
3 Paradise Park Jalan Bojong Koneng, Gunung Geulis, Sentul City, Bogor
sentulparadise.com
4 Wisata Agro
Gunung Mas Jalan Raya Puncak Kotak Pos 6, Cisarua, Bogor
Matahari Jalan Raya Puncak KM 77, Cisarua,
Kabupaten Bogor.
tamanwisatamatahari.co.id
7 Gunung Salak
Halimun Kampung Citalahab Desa Malasari
Bodogol Jalan Raya Bogor Lido, Resort PPKAB Taman Nasional Gunung Gede Pangrango
-
10 Penangkaran
24
Mekarsari Jalan Cileungsi Jonggol KM. 3, Cileungsi Bogor
www.mekarsari.com
14 Kebun Wisata
Pasirmukti Jalan raya tajur pasirmukti KM 4 Citeureup Bogor.
www.pasirmukti.co.id
15 Telaga
Malimping Kampung Malimping Cigombong
Panas Ciseeng Taman Wisata Tirta Sanita, Jalan Raya Gunung Kapur Ciseeng, Parung
-
18 Cibalung Happy
Land Jalan Cihideung Kampung Cibalung Desa Cibalung
Kabupaten Bogor
www.cibalunghappyland.co.id
19 Taman Rekreasi
Lido Jalan Raya Sukabumi, Desa Wates Jaya, Kecamatan Cijeruk
25 Lampiran 2 Use case description dari seluruh use case
Use Case Name Registrasi Anggota
Scenario Pengguna melakukan registrasi untuk menjadi
anggota
Triggering Event -
Brief Description Sistem menyediakan form registrasi bagi pengguna
yang tertarik untuk menjadi anggota. Pengguna diminta untuk membuat username dan password yang nantinya akan digunakan untuk dapat login sebagai anggota.
Actors Pengguna
Related Use Case -
Stakeholders -
Preconditions -Pengguna belum memiliki akun atau belum
terdaftar
Postconditions -Dapat melakukan login
Flow of Activities Actor System
1.Pengguna mengisikan
26
Lampiran 2 lanjutan
Use Case Name Login
Scenario Anggota memasukkan username dan password, lalu
anggota mendapatkan rekomendasi wisata alam
Triggering Event -
Brief Description Sistem menyediakan form login bagi pengguna yang
telah terdaftar sebagai anggota. Untuk login, pengguna harus memasukkan username dan password yang telah diregistrasikan sebelumnya.
Actors Anggota
Related Use Case -
Stakeholders -
Preconditions -Pengguna telah memiliki akun atau sudah berhasil
medaftar
Postconditions -Mendapatkan rekomendasi
-Dapat melihat informasi wisata alam -Dapat melakukan rate
Flow of Activities Actor System
1.Pengguna mengisikan
27 Lampiran 2 lanjutan
Use Case Name Melihat daftar wisata alam
Scenario Pengguna atau anggota dapat melihat daftar wisata
alam Kabupaten Bogor sesuai dengan urutan yang diinginkan
Triggering Event -
Brief Description Sistem akan menampilkan daftar wisata alam yang
terdapat pada Kabupaten Bogor. Wisata alam yang akan ditampilkan dapat ditentukan berdasarkan beberapa hal, berdasarkan pilihan dari pengguna.
Actors Pengguna dan anggota
Related Use Case -
Stakeholders -
Preconditions -
Postconditions Dapat melihat deskripsi wisata alam
Flow of Activities Actor System
1.Pengguna atau anggota dapat menentukan
Exception Conditions -
Use Case Name Melihat deskripsi
Scenario Pengguna atau anggota memilih salah satu wisata
alam, lalu sistem akan menampilkan nama, alamat, deskripsi, dan foto dari wisata alam tersebut
Triggering Event -
Brief Description Deskripsi wisata alam disini akan menjelaskan
tentang apa saja yang berkaitan dengan wisata alam tersebut, seperti kapan diresmikannya, apa saja fasilitas yang terdapat disana, dan
menggambarkan situasi dan kondisi wisata alam tersebut serta foto-foto wisata alam tersebut.
Actors Pengguna dan anggota
Related Use Case -
Stakeholders -
Preconditions -
Postconditions Untuk anggota, dapat melakukan rate terhadap
wisata alam tersebut.
Flow of Activities Actor System
1.Pengguna atau anggota memilih salah satu
28
Lampiran 2 lanjutan
Use Case Name Memberikan penilaian
Scenario Anggota memilih salah satu wisata alam lalu
memberikan rate terhadap wisata alam tersebut
Triggering Event -
Brief Description Pengguna yang telah mendaftar sebagai anggota
sistem perekomendasi ini dapat memberikan penilaian terhadap wisata alam. Penilaian tersebut yang akan mempengaruhi rekomendasi yang didapatkan anggota tersebut.
Actors Anggota
Related Use Case Include : Login
Stakeholders -
Preconditions Memilih salah satu wisata alam yang belum pernah
diberi rate.
Postconditions -Memberikan tanda bahwa wisata alam tersebut
telah diberi rate.
-Memperbarui nilai rata-rata rate setiap wisata alam
-Memperbarui nilai rata-rata rate setiap anggota
-Memperbarui nilai kemiripan antar item wisata
alam
-Memperbarui nilai prediksi wisata alam
Flow of Activities Actor System
1.Anggota memilih salah satu wisata alam.
2.Anggota memberikan
rate terhadap wisata
alam tersebut
29 Lampiran 3 Activity diagram dari seluruh use case
1 Use case registrasi anggota
30
Lampiran 3 lanjutan
3 Use case melihat daftar wisata alam
31 Lampiran 3 lanjutan
32
Lampiran 4 Sequence Diagram dari seluruh use case
1 Use case registrasi anggota
33 Lampiran 4 lanjutan
3 Use case melihat daftar wisata
34
Lampiran 4 lanjutan
35 Lampiran 5 Rancangan Tabel
1 Rancangan Tabel hasilrate
Nama Field Tipe (length) Keterangan
hasilrate_id int (11) Primary key
pengguna_id int (11)
id int (11)
Hasilrate int (11)
2 Rancangan Tabel prediction
Nama Field Tipe (length) Keterangan
prediction_id int (11) Primary key
pengguna_id int (11)
id int (11)
predrate double
3 Rancangan Tabel pengguna
Nama Field Tipe (length) Keterangan
pengguna_id int (11) Primary key
nama varchar (100)
katakunci varchar (100)
rata_rate double
4 Rancangan Tabel similarity
Nama Field Tipe (length) Keterangan
sim_id int (11) Primary key
wisata_id1 int (11)
wisata_id2 int (11)
sim double
5 Rancangan Tabel wisata
Nama Field Tipe (length) Keterangan
id int (11) Primary key
title title (100)
description text
alamat varchar (200)
link varchar (200)
36
Lampiran 6 Rancangan Tampilan Antar Muka 1 Rancangan Tampilan Antar Muka Menu
2 Rancangan Tampilan Antar Muka Login
Me nu
Judul Sistem
Login HEADER
HEADER
Kabupaten Bogor
username
password
Login
37 Lampiran 6 lanjutan
3 Rancangan Tampilan Antar Muka Sign Up
4 Rancangan Tampilan Antar Muka Melihat Deskripsi
Kabupaten Bogor HEADER
new username
new password
retype password
Sign Up
HEADER
Gambar
Nama wisata alam Alamat wisata alam
38
Lampiran 7 Implementasi Tabel 1 Implementasi Tabel hasilrate
# Name Type Collation Attributes Null Default Extra
1 hasilrate_id int(11) No None AUTO_INCREMENT
2 pengguna_id int(11) No None
3 id int(11) No None
4 hasilrate int(11) No None
2 Implementasi Tabel prediction
# Name Type Collation Attributes Null Default Extra
1 prediction_id int(11) No None AUTO_INCREMENT
2 pengguna_id int(11) No None
3 id int(11) No None
4 pred_rate double No None
3 Implementasi Tabel pengguna
# Name Type Collation Attributes Null Default Extra
1 pengguna_id int(11) No None AUTO_INCREMENT
2 nama varchar(100) latin1_swedish_ci No None
3 katakunci varchar(200) latin1_swedish_ci No None
4 rata_rate double No None
4 Implementasi Tabel similarity
# Name Type Collation Attributes Null Default Extra
1 sim_id int(11) No None AUTO_INCREMENT
2 wisata_id1 int(11) No None
3 wisata_id2 int(11) No None
4 sim double No None
5 Implementasi Tabel wisata
39 Lampiran 8 Implementasi Tampilan Antar Muka
1 Implementasi Tampilan Antar Muka Menu
40
Lampiran 8 lanjutan
3 Implementasi Antar Muka Sign Up
42
Lampiran 9 Hasil pengujian Black Box
No Kode Fungsi Nama
Proses Masukkan Keluaran Keterangan
1
SPWAKB-03 Registrasi anggota Username, password,
dan retype
04 Login Usernamedan
password
05 Mendapat Rekomendasi Melakukan Login
Tampil Rekomendasi wisata alam
Sukses
6
43
RIWAYAT HIDUP
Penulis dilahirkan pada tanggal 6 November 1991 di kota Wonogiri, Jawa Tengah. Penulis merupakan anak pertama dari dua bersaudara dengan Ayah Suyadi dan Ibu Ratmi. Pada tahun 2009 penulis lulus dari SMA Negeri 103 Jakarta dan pada tahun yang sama penulis diterima di Jurusan Manajemen Informatika Program Diploma Institut Pertanian Bogor (IPB) melalui jalur Undangan Seleksi Masuk IPB. Tahun 2012 penulis lulus dari Diploma IPB dan pada tahun yang sama penulis diterima di Program Alih Jenis S1 Ilmu Komputer IPB melalui tes seleksi masuk.