Upload
trinhtuyen
View
219
Download
0
Embed Size (px)
Citation preview
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
SISTEM PEREKOMENDASI DENGAN METODE ITEM-BASED
COLLABORATIVE FILTERING PADA APLIKASI MOBILE
BERBASIS ANDROID UNTUK WISATA KULINER KOTA SURAKARTA
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Mencapai Gelar Strata Satu
Jurusan Informatika
Disusun Oleh :
VINA ZAHROTUN KAMILA
M0507049
JURUSAN INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET
SURAKARTA
2012
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
i
SISTEM PEREKOMENDASI DENGAN METODE ITEM-BASED
COLLABORATIVE FILTERING PADA APLIKASI MOBILE
BERBASIS ANDROID UNTUK WISATA KULINER KOTA SURAKARTA
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat Mencapai Gelar Strata Satu
Jurusan Informatika
Disusun Oleh :
VINA ZAHROTUN KAMILA
M0507049
JURUSAN INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SEBELAS MARET
SURAKARTA
2012
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
ii
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
iii
MOTTO
Serendipity could be planned.
(Vina Zahrotun Kamila)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
iv
PERSEMBAHAN
Bapak Ibuku
Guru-guruku
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
v
KATA PENGANTAR
Puji syukur kepada Allah SWT atas segala limpahan rahmat dan karunia-Nya,
sehingga penulis dapat menyelesaikan penulisan skripsi. Sholawat dan salam
senantiasa penulis haturkan kepada Rosululloh SAW sebagai pembimbing seluruh
umat manusia.
Skripsi ini tidak akan selesai tanpa adanya bantuan dari banyak pihak, karena
itu penulis menyampaikan terima kasih kepada :
1. Bapak Ir. Ari Handono Ramelan, M.Sc., Ph.D. selaku Dekan FMIPA UNS.
2. Ibu Umi Salamah, M.Kom. selaku Ketua Jurusan Informatika FMIPA UNS.
3. Ibu Dewi Wisnu Wardhani, M.S. selaku Sekretaris Jurusan Informatika FMIPA
UNS.
4. Bapak Ristu Saptono, M.T. selaku pembimbing I.
5. Ibu Rini Anggrainingsih, M.T. selaku pembimbing II.
6. Bapak Y.S. Palgunadi, M.Cs. selaku Pembimbing Akademik.
7. Bapak Meiyanto Eko Sulistyo, M.Eng. dan Abdul Aziz, M.Cs. selaku penguji.
8. Bapak Ibu Dosen Jurusan Informatika FMIPA UNS.
9. Seluruh keluargaku di rumah dan teman-teman seperjuangan di kampus,
khususnya Sayekti Hadi Ati yang berkenan berbagi data wisata kuliner Kota
Surakarta yang telah susah payah dikumpulkannya.
10. Semua pihak yang tidak dapat penulis sebutkan satu persatu.
Semoga Allah SWT membalas jerih payah dan pengorbanan yang telah
diberikan dengan balasan yang lebih baik
Semoga skripsi ini dapat memberikan manfaat bagi pembaca umumnya dan
mahasiswa Informatika pada khususnya.
Surakarta , Juli 2012
Vina Zahrotun Kamila
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
vi
ABSTRACT
Culinary tourism in Surakarta is well known for its uniqueness and various.
There are many places with various foods, so it is important to look for a
recommender tool that ease people to find good culinary places which they may like.
One of most popular method that used on recommender system is
collaborative filtering. Collaborative filtering is method that using known
preferences of a group of users to predict the unknown preference of a new user.
There are 2 basic method in collaborative filtering: user-based and item-based.
Item-based methods provide recommendations by specifying the items that are
similar to other items that are loved by someone. In this method, the relationship
between the items tend to be static, so it requires fewer calculations. Moreover,
item-based calculations performed offline, so users are not bothered by the system
than the system displays the result of the recommendation.
This research aims to establish a recommender system with item-based
collaborative filtering is applied in mobile technology. The main process
(recommendation) in this recommender system for culinary places in Surakarta built
using the item-based CF with 5 items nearest neighbors (neighborhood items),
because from the analysis of random testing of MAE with the discharge rate of 5%,
15%, 10% and 20% with a variation the neighborhood (1, 2, 3, 4, 5 largest
neighborhood items and all of neigborhood items), indicating that the method of
item-based collaborative filtering with 5 neighborhood can produce quality
predictions with good accuracy.
Keywords: Android, collaborative filtering, item-based, recommender system
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
vii
ABSTRAK
Wisata kuliner di Kota Surakarta dikenal khas dan beragam. Karena
banyaknya tempat dengan beragam masakan, maka dibutuhkan suatu perangkat
perekomendasi untuk memudahkan calon pengunjung untuk menemukan tempat
kuliner yang tepat dan mungkin disukai.
Collaborative filtering (CF) merupakan teknik dalam sistem perekomendasi
yang menggunakan preferensi diketahui dari sekelompok user untuk memprediksi
preferensi yang tidak diketahui dari user baru. Salah satu metode dalam CF adalah
item-based. Metode item-based memberikan rekomendasi dengan menentukan
item yang mirip dengan item lain yang disukai oleh seseorang. Pada metode ini,
hubungan antara item-item cenderung statis, sehingga membutuhkan perhitungan
yang lebih sedikit. Selain itu perhitungan item-based dilakukan offline, sehingga
pengguna sistem tidak merasa terganggu dengan lambatnya sistem dalam
menampilkan hasil rekomendasi.
Penelitian ini bertujuan untuk membangun sebuah sistem perekomendasi
dengan item-based collaborative filtering yang diterapkan dalam teknologi mobile.
Proses utama (rekomendasi) dalam sistem perekomendasi wisata kuliner Kota
Surakarta yang dibangun menggunakan metode item-based CF dengan 5 item
tetangga terdekat (neighborhood) karena hasil analisis pengujian MAE dengan
pengosongan acak sebesar 5%, 15%, 10% dan 20% dengan variasi jumlah
neighborhood (1, 2, 3, 4, 5 neighborhood terbesar dan semua neigborhood),
menunjukkan bahwa metode item-based collaborative filtering dengan 5
neighborhood dapat menghasilkan prediksi dengan kualitas akurasi yang baik.
Kata Kunci: Android, collaborative filtering, item-based, sistem perekomendasi
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
viii
DAFTAR ISI
HALAMAN JUDUL ............................................................................................................. i
HALAMAN PENGESAHAN ............................................................................................... ii
MOTTO ............................................................................................................................... ii
PERSEMBAHAN ................................................................................................................ iv
KATA PENGANTAR .......................................................................................................... v
ABSTRACT ........................................................................................................................ vi
ABSTRAK ......................................................................................................................... vii
DAFTAR ISI ..................................................................................................................... viii
DAFTAR TABEL................................................................................................................. x
DAFTAR GAMBAR ........................................................................................................... xi
DAFTAR LAMPIRAN ....................................................................................................... xii
BAB I PENDAHULUAN ..................................................................................................... 1
1.1 Latar Belakang ......................................................................................................1
1.2 Perumusan Masalah ...............................................................................................3
1.3 Pembatasan Masalah ..............................................................................................3
1.4 Tujuan ...................................................................................................................3
1.5 Manfaat Tugas Akhir .............................................................................................3
1.6 Tinjauan Pustaka ...................................................................................................4
1.7 Sistematika Penulisan ............................................................................................7
BAB II LANDASAN TEORI................................................................................................ 9
2.1 Sistem Perekomendasi ...........................................................................................9
2.2 Android ............................................................................................................... 14
2.3 Web service ......................................................................................................... 15
2.4 Unified Model Language (UML) ......................................................................... 16
BAB III METODOLOGI PENELITIAN ............................................................................. 22
3.1 Tahap Pengumpulan Data .................................................................................... 23
3.2 Rational Unified Proses (RUP) ............................................................................ 23
3.3 Sistem Perekomendasi dengan Metode Item-based Collaborative Filtering .......... 26
BAB IV PEMBAHASAN ................................................................................................... 32
4.1 Pengujian Metode ................................................................................................ 32
4.2 Analisis dan Perancangan .................................................................................... 34
4.2.1 Kebutuhan Sistem ........................................................................................ 34
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
ix
4.2.2 Use Case ...................................................................................................... 38
4.2.3 Class Diagram dan Sequence Diagram ........................................................ 54
4.2.4 Perancangan Basis Data ............................................................................... 59
4.3 Konstruksi ........................................................................................................... 61
4.3.1 Implementasi ............................................................................................... 61
4.3.2 Pengujian ..................................................................................................... 67
BAB V PENUTUP ............................................................................................................. 75
5.1 Kesimpulan ......................................................................................................... 75
5.2 Saran ................................................................................................................... 75
DAFTAR PUSTAKA ......................................................................................................... 76
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
x
DAFTAR TABEL
Tabel 2. 1 Perbandingan Android, Symbian dan Windows Mobile ...................................... 15
Tabel 2.2 Notasi/Simbol dalam Class Diagram .................................................................... 17
Tabel 2. 3 Notasi/Simbol Use Case Diagram ...................................................................... 18
Tabel 2. 4 Notasi/Simbol Sequence Diagram....................................................................... 19
Tabel 2. 5 Notasi/Simbol Activity Diagram ......................................................................... 20
Tabel 4.1 Hasil Nilai MAE dari Pengujian Variasi Jumlah Neighborhood............................ 32
Tabel 4.2 Daftar Kebutuhan Fungsional .............................................................................. 36
Tabel 4.3 Daftar Kebutuhan Non Fungsional ....................................................................... 36
Tabel 4.4 Daftar Actor dalam Sistem pada Use Case Diagram ............................................ 39
Tabel 4.5 Daftar Use Case pada Use Case Diagram ............................................................ 39
Tabel 4.6 Skenario Use Case ‘Melakukan Pencarian’ .......................................................... 40
Tabel 4.7 Skenario Use Case ‘Meminta Rekomendasi’........................................................ 42
Tabel 4.8 Skenario Use Case ‘Melihat Informasi Kuliner’ ................................................... 45
Tabel 4.10 Skenario Use Case ‘Me-rating Kuliner’ ............................................................. 46
Tabel 4.11 Skenario Use Case ‘Melihat Map’ ..................................................................... 48
Tabel 4.12 Skenario Use Case ‘Mengubah Informasi Kuliner’ ............................................ 50
Tabel 4.13 Skenario Use Case ‘Menambah Kuliner Baru’ ................................................... 52
Tabel 4.14 Struktur ‘tb_admin’ pada Basis Data .................................................................. 59
Tabel 4.15 Struktur ‘tb_item’ pada Basis Data ..................................................................... 60
Tabel 4.16 Struktur ‘tb_user’ pada Basis Data ..................................................................... 60
Tabel 4.17 Struktur ‘tb_userprofile’ pada Basis Data........................................................... 60
Tabel 4.18 Struktur ‘tb_similarity’ pada Basis Data ............................................................. 61
Tabel 4.19 Tabel Implementasi Komponen Perangkat Lunak .............................................. 61
Tabel 4.20 Tabel Antarmuka Perangkat Lunak .................................................................... 62
Tabel 4.24 Tabel Daftar Rencana Pengujian ........................................................................ 67
Tabel 4.25 Tabel Hasil Pengujian ‘Melakukan Pencarian’ ................................................... 69
Tabel 4.26 Tabel Hasil Pengujian ‘Meminta Rekomendasi’ ................................................. 70
Tabel 4.27 Tabel Hasil Pengujian ‘Melihat Informasi Kuliner’ ............................................ 71
Tabel 4.28 Tabel Hasil Pengujian ‘Me-rating Kuliner’ ........................................................ 72
Tabel 4.30 Tabel Hasil Pengujian ‘Melihat Map’ ................................................................ 73
Tabel 4.30 Tabel Hasil Pengujian ‘Mengubah Informasi Kuliner’ ........................................ 73
Tabel 4.31 Tabel Hasil Pengujian ‘Menambah Kuliner Baru’ .............................................. 74
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
xi
DAFTAR GAMBAR
Gambar 2.1 Proses item-based collaborative filtering (Gultom, 2010) ................................. 10
Gambar 3.1 Visualisasi metodologi penelitian ..................................................................... 22
Gambar 3.2 Fase dan workflow pada RUP ........................................................................... 24
Gambar 3.3 Alur proses rekomendasi .................................................................................. 26
Gambar 3.4 Alur tahap similarity ........................................................................................ 28
Gambar 3.5 Alur tahap pembangkitan prediksi .................................................................... 30
Gambar 4.1 Grafik nilai MAE dengan variasi jumlah neighborhood dari 20 kali percobaan
pengosongan rating ............................................................................................................. 33
Gambar 4.2 Use case diagram sistem perekomendasi wisata kuliner Kota Surakarta ............ 38
Gambar 4.3 Aktivitas ‘melakukan pencarian’ ...................................................................... 41
Gambar 4.4 Aktivitas ‘meminta rekomendasi’ ..................................................................... 44
Gambar 4.5 Aktivitas ‘melihat informasi kuliner’ ................................................................ 45
Gambar 4.6 Aktivitas ‘me-rating kuliner’............................................................................ 47
Gambar 4.7 Aktivitas ‘melihat map’.................................................................................... 49
Gambar 4.8 Aktivitas ‘mengubah informasi kuliner’ ........................................................... 51
Gambar 4.9 Aktivitas ‘menambah kuliner baru’ .................................................................. 53
Gambar 4.10 Class diagram ................................................................................................ 54
Gambar 4.11 Sequence diagram ‘melihat rekomendasi’ ...................................................... 55
Gambar 4.12 Sequence diagram ‘melakukan pencarian’ ...................................................... 56
Gambar 4.13 Sequence diagram ‘me-rating’ ....................................................................... 57
Gambar 4.14 Sequence diagram ‘melihat map’ ................................................................... 58
Gambar 4.15 Entitiy relational diagram .............................................................................. 59
Gambar 4.16 Deployment diagram ...................................................................................... 61
Gambar 4.17 Tampilan halaman utama user (Aplikasi Client) ............................................. 63
Gambar 4.18 Tampilan user meminta rekomendasi ............................................................. 63
Gambar 4.19 Tampilan user melihat informasi kuliner ........................................................ 64
Gambar 4.20 Tampilan me-rating ....................................................................................... 64
Gambar 4.21 Tampilan peta / map ....................................................................................... 65
Gambar 4.22 Tampilan halaman utama admin ..................................................................... 65
Gambar 4.23 Tampilan admin mengubah kuliner ................................................................ 66
Gambar 4.24 Tampilan admin menambah kuliner baru ........................................................ 66
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
xii
DAFTAR LAMPIRAN
Lampiran 1. Hasil Nilai MAE dari Pengujian Variasi Jumlah Neighborhood ....................... 78
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Kemajuan teknologi semakin membuat manusia selalu menginginkan
kepraktisan dalam hal apapun, termasuk saat ingin membeli sesuatu, dan salah
satunya dalam membeli makanan. Saat ini membeli makanan bukan hanya
sekedar untuk mengisi perut yang lapar saja, tetapi juga menjadi salah satu
alternatif mencari hiburan, atau dikenal sebagai wisata kuliner. Kota Surakarta
merupakan salah satu kota tujuan wisata budaya dan kuliner yang ramai
dikunjungi wisatawan, baik wisatawan lokal, luar daerah maupun luar negeri.
Pemilihan jenis makanan yang akan dinikmati terkadang menjadi kendala
karena begitu banyak pilihan yang tersedia. Langkah pertama dalam mencari
pilihan kuliner yang tepat adalah dengan mencari informasi terlebih dulu.
Pencarian informasi ini dapat melalui teman, orang yang telah berpengalaman
mencicipi, dari media panduan kuliner, atau lebih efisien dan efektif lagi dengan
mengakses internet. Namun, rekomendasi tersebut belum tentu sesuai selera
masing-masing individu, karena selera setiap orang berbeda-beda. Oleh karena itu
sangat penting dikembangkan suatu sistem yang dapat memudahkan penyampaian
informasi kuliner untuk wisatawan, sehingga sistem tersebut tidak hanya dapat
membantu wisatawan mencari tempat yang cocok untuk berburu kuliner
melainkan juga dapat mempromosikan berbagai kuliner di Surakarta. Untuk
membangun sistem ini, diperlukan implementasi dari teknologi yang telah ada.
Perkembangan teknologi mobile saat ini semakin mempermudah
penyampaian berbagai informasi. Selain itu, teknologi mobile telah mengarah ke
multi-purpose device, dan menjadikan perangkat mobile (mobile device) kian hari
semakin canggih. Semakin terjangkaunya perangkat mobile seperti smartphone
dan komputer tablet, menjadikan perangkat ini semakin diminati masyarakat.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
2
Teknologi lain yang mempermudah akses informasi adalah dengan sistem
perekomendasi. Sistem perekomendasi merupakan model aplikasi dari hasil
observasi terhadap keadaan dan keinginan user. Sistem perekomendasi
memerlukan model rekomendasi yang tepat agar apa yang direkomendasikan
sesuai dengan keinginan user, serta mempermudah user mengambil keputusan
yang tepat dalam menentukan item yang akan dipilih.
Salah satu teknik rekomendasi yang populer digunakan dalam sistem
perekomendasi adalah collaborative filtering. Collaborative filtering merupakan
teknik yang menggunakan preferensi diketahui dari sekelompok user untuk
memprediksi preferensi yang tidak diketahui dari user baru. Collaborative
Filtering ini sendiri terbagi menjadi beberapa metode dasar, dua diantaranya
adalah user-based dan item-based. User-based memanfaatkan histori pilihan
user. Metode user-based mempunyai kelemahan yaitu seiring dengan
bertambahnya user dan item maka bertambah pula kompleksitas
perhitungannya. Selain itu, perhitungan dilakukan online, sehingga dibutuhkan
lebih banyak komunikasi data daripada perhitungan pada metode item-based.
Berbeda dengan metode user-based, metode item-based tidak menggunakan
profil user, tetapi rekomendasi kepada user dihitung dengan menentukan item
yang mirip dengan item lain yang disukai oleh user tersebut. Pada metode ini,
hubungan antara item-item cenderung statis, sehingga membutuhkan perhitungan
yang lebih sedikit tetapi mempunyai kualitas yang sama dibandingkan dengan
metode user-based. Keuntungan lainnya, perhitungan item-based dapat dilakukan
offline, sehingga pengguna sistem tidak merasa terganggu dengan lambatnya
sistem dalam menampilkan hasil rekomendasi.
Beberapa keuntungan dari metode yang telah dipaparkan di atas sangat
cocok diaplikasikan dalam sistem perekomendasi kuliner pada teknologi mobile.
Oleh karena itu perlu dilakukan penelitian bagaimana seberapa efektif penerapan
metode ini pada perangkat mobile terutama smartphone dan komputer tablet
berbasis Android.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
3
1.2 Perumusan Masalah
Rumusan masalah berdasarkan latar belakang masalah di atas adalah
bagaimana membangun sistem perekomendasi wisata kuliner Kota Surakarta pada
perangkat mobile / perangkat bergerak (mobile device) berbasis Android yang
menghasilkan rekomendasi dengan kualitas akurasi yang baik.
1.3 Pembatasan Masalah
Batasan masalah dalam penelitian tugas akhir ini adalah:
a. Sistem perekomendasi yang dibangun menggunakan metode item-based
collaborative filtering dengan perhitungan cosine similarity,
b. Data kandidat obyek wisata kuliner yang direkomendasikan adalah data obyek
wisata kuliner di lingkup Kota Surakarta,
c. Sistem dibangun pada lingkungan pengembangan perangkat lunak Android
Java, dan aplikasi client dapat dijalankan pada piranti bergerak (mobile device)
yang menggunakan sistem operasi Android versi 2.1 ke atas,
d. Fitur Maps diambil dari GoogleMaps, library eksternal dari Google.
1.4 Tujuan
Tujuan penelitian tugas akhir ini adalah membangun sebuah aplikasi sistem
perekomendasi wisata kuliner berbasis mobile dan mengetahui kualitas akurasi
rekomendasi yang dihasilkan oleh metode item-based collaborative filtering pada
sistem perekomendasi wisata kuliner Kota Surakarta yang berbasis Android
tersebut.
1.5 Manfaat Tugas Akhir
Manfaat dari penelitian ini antara lain sebagai berikut :
a. Memudahkan user (pengguna) dalam mencari informasi kuliner yang tepat.
b. Sistem perekomendasi yang akan dibangun diharapkan memberikan alternatif
bagi user dalam pencarian kuliner, karena secara mendasar sistem
perekomendasi membantu user dalam menemukan sesuatu yang user
perlukan.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
4
1.6 Tinjauan Pustaka
Penelitian sebelumnya yang pernah dilakukan yang berkaitan dengan
penelitian tugas akhir ini antara lain:
a. Sistem Rekomendasi Peminjaman VCD dengan Metode Item-based
Collaborative Filtering, 2010 (Robinson Gultom, Universitas Sebelas Maret
Surakarta.
Penelitian ini menggunakan metode item-based collaborative filtering
untuk membangun sistem rekomendasi peminjaman VCD di sebuah rental. Dua
algoritma perhitungan similarity, cosine similarity dan correlation similarity
dibandingkan untuk mengetahui kelebihan dari masing-masing algoritma tersebut.
Menurut hasil pengujian yang telah dilakukan dapat disimpulkan bahwa
berdasarkan rata-rata MAE, tidak ada perbedaan kualitas rekomendasi dari
masing-masing algoritma perhitungan similarity.
b. Collaborative Filtering Recommender System, 2007 (J. Ben Schafer –
University of Northern Iowa, Jon Herlocker – Oregon State University, Dan
Frankowski, Shilad Sen - University of Minnesota United States)
Penelitian ini memuat analisis berbagai metode penelitian pada sistem
perekomendasi dengan collaborative filtering. Dalam paper ini dijelaskan
mengenai keuntungan penggunaan collaborative filtering dibandingkan dengan
content-based pada sistem perekomendasi. Penggunaan collaborative filtering,
lebih efisien dan lebih sederhana dibandingkan content-based yang kompleks
karena harus menganalisis konten. Keuntungan lain, collaborative filtering dapat
memunculkan rekomendasi tak terduga (novelty dan serendipity) yang tidak dapat
dilakukan pada metode content-based. Collaborative filtering terbagi menjadi
beberapa metode dasar, dua diantaranya adalah user-based dan item-based. User-
based memanfaatkan histori pilihan user, sedangkan item-based tidak
menggunakan profil user tetapi rekomendasi kepada user dihitung dengan
menentukan item yang mirip dengan item lain yang disukai oleh user tersebut.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
5
c. Item-Based Collaborative Filtering Recommendation Algorithms, 2001 (Badrul
Sarwar, George Karpys, Joseph Konstan, John Riedl - University of Minnesota
United States)
Penelitian ini memuat analisis berbagai penelitian mengenai sistem
perekomendasi dengan collaborative filtering berbasis memory based dengan
algoritma berbasis item-based. Menurut paper ini sistem perekomendasi produk
disarankan menggunakan item-based atau berdasar kesamaan item, karena relasi
antar item cenderung statis. Selain itu, Karena relasi atau hubungan yang statis ini,
algoritma item-based dapat memberikan kualitas rekomendasi yang sama baiknya
dengan user-based dengan perhitungan online yang lebih sedikit. Perhitungan
offline / offline computation (perhitungan dilakukan saat user offline) dalam item-
based membuat display rekomendasi ke user lebih cepat dan penerapan ini saat
cocok untuk diaplikasikan pada mobile device.
Proses rekomendasi dengan metode item-based collaborative filtering dapat
dilihat pada Gambar 1.1, Gambar 1.2, dan Gambar 1.3.
Gambar 1.1 Proses collaborative filtering (Sarwar et al, 2001)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
6
Gambar 1.2 Item-item co-rated dan perhitungan similarity
(Sarwar et al, 2001)
Gambar 1.3 Algoritma Item-based Collaborative Filtering.
Ilustrasi proses pembangkitan prediksi untuk 5 neighborhood.
(Sarwar et al, 2001)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
7
d. Mobile Recommender System, 2011 (Francesco Ricci – Free University of
Bolzani Italy)
Penelitian ini memaparkan beberapa issue mengenai penerapan sistem
perekomendasi pada mobile phone. Sistem dalam piranti bergerak dapat dicirikan
dari 3 dimensi fundamental, yaitu user mobility (user dapat mengakses sistem
dimanapun user berada), device portability (piranti/device selalu bergerak/mobile
keberadaannya dinamis, dan mudah dibawa oleh user) dan wireless connectivity
(selalu terhubung ke jaringan melalui berbagai teknologi wireless, seperti Wifi,
Bluetooth ataupun UMTS). Dari ketiga dimensi tersebut mempengaruhi
perancangan fungsional dan penggunaan sistem. Dalam paper ini dijelaskan pula
mengenai fungsi dan tugas rekomendasi pada skenario pengembangan sistem
berbasis mobile (mobile scenario) sehingga sistem perekomendasi pada piranti
mobile secara umum dapat dibagi menjadi beberapa jenis (menurut tugas dan
fungsi), yaitu sebagai panduan wisata (tourist guides), rekomendasi rute (route
recommendation), dan rekomendasi informasi untuk user (information
recommendation for mobile users).
1.7 Sistematika Penulisan
Sistematika penulisan laporan memuat tentang metode penulisan yang
digunakan dalam pembuatan laporan tugas akhir. Sistematika tersebut dijelaskan
dengan uraian sebagai berikut:
BAB I PENDAHULUAN
Pada bab ini diuraikan secara umum mengenai latar belakang, perumusan
masalah, pembatasan masalah, tujuan, manfaat tugas akhir, tinjauan pustaka, dan
sistematika penulisan.
BAB II LANDASAN TEORI
Pada bab ini dijelaskan secara umum tentang teori-teori Sistem Perekomendasi,
Android, Web Service, dan Unified Model Language (UML).
BAB III METODOLOGI PENELITIAN
Pada bab ini dipaparkan tentang segala yang berhubungan dengan metode
penelitian yang digunakan, dan tahapan-tahapan di dalamnya.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
8
BAB IV PEMBAHASAN
Pada bab ini dipaparkan tentang analisis kebutuhan, perancangan sistem,
implementasi sistem, pengujian sistem dan hasil penelitian.
BAB IV PENUTUP
Bab ini merupakan kesimpulan dan saran penulis dari BAB I sampai dengan BAB
IV.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
9
BAB II
LANDASAN TEORI
2.1 Sistem Perekomendasi
Sistem perekomendasi (recommender systems) adalah software tools dan
teknik memberikan saran untuk barang yang akan berguna bagi user. Saran yang
diberikan ditujukan untuk mendukung user dalam berbagai proses pengambilan
keputusan, seperti item apa yang akan dibeli, musik apa yang akan didengarkan,
atau berita apa yang akan dibaca (Ricci, 2010). Secara umum sistem
perekomendasi dibagi 2 jenis, berbasis konten (content based) dan collaborative
filtering. Content-based (CB) merekomendasikan item dengan kemiripan konten
yang ada pada item. CB menggunakan asumsi bahwa item dengan fitur objektif
yang mirip mungkin akan di-rating sama. Metode CB sangat bergantung pada
konten pada item (Schafer et al,. 2007). Collaborative filtering (CF) sebaliknya,
tidak perlu menganalisis konten, CF membangkitkan prediksi otomatis atau
rekomendasi tentang minat seorang user dengan pengumpulan informasi cita rasa
dari banyak user. Prinsip kerja dari CF adalah memberikan prediksi atau
rekomendasi item berdasarkan pada opini beberapa user yang memiliki kemiripan
(Sarwar et al,. 2001). CF bekerja dengan cara menghimpun feedback dari user
untuk suatu item dalam bentuk rating dalam suatu domain yang diberikan dan
memanfaatkan kemiripan dan perbedaan antar profil dari beberapa pengguna
dalam menentukan bagaimana merekomendasi suatu item. Algoritma CF berdasar
dari perhitungan jarak antara pembeli/peminat mengambil pertimbangan history
dari pilihan mereka. Perkiraan adalah tentang berapa banyak pelanggan menyukai
produk dihitung dengan menggunakan bobot rata-rata pendapat sekelompok
tetangga dekat (a group of near neighbors) untuk produk tersebut (Herlocker et
al., 2004).
CF dibagi menjadi dua bagian yaitu model-based dan memory-based (atau
sering disebut dengan neighborhood-based) (Melvile et al., 2010). Pada model-
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
10
based diperlukan contoh pelatihan (training) untuk mengeksekusi sebuah model
yang mampu memprediksi nilai rating untuk item yang tidak pernah di-rating
oleh user lain. Berbeda dengan model-based, memory-based dapat memprediksi
dengan mengukur kesamaan antara user yang diuji dengan user lain (user-based)
atau item yang diuji dengan item lainnya (item-based).
CF dengan metode memory-based terbagi menjadi dua metode dasar, yaitu
user-based dan item-based. User-based memanfaatkan histori pilihan user. Misal
jika ada user A menyukai item X, sedangkan profil pilihan A mirip dengan
user B, dan B belum pernah memberikan penilaian terhadap item X, maka item
X akan direkomendasikan kepada B. Metode user-based mempunyai kelemahan
yaitu seiring dengan bertambahnya user dan item maka bertambah pula
kompleksitas perhitungannya. Selain itu, perhitungan dilakukan online, sehingga
dibutuhkan lebih banyak komunikasi data daripada perhitungan pada metode
item-based. Berbeda dengan metode user-based, metode item-based tidak
menggunakan profil user, tetapi rekomendasi kepada user dihitung dengan
menentukan item yang mirip dengan item lain yang disukai oleh user tersebut.
Pada metode ini, hubungan antar item cenderung statis, sehingga membutuhkan
perhitungan yang lebih sedikit tetapi mempunyai kualitas yang sama
dibandingkan dengan metode user-based (Sarwar et al., 2001).
Proses pada item-based collaborative filtering terdiri dari empat langkah,
seperti terlihat pada Gambar 2.1 (menurut Montaner yang digambarkan dalam
Gultom, 2010)
Gambar 2.1 Proses item-based collaborative filtering (Gultom, 2010)
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
11
Proses-proses dalam item-based collaborative filtering antara lain sebagai
berikut:
1. Profile Representation
Profile representation pada metode item-based collaborative filtering
menggunakan user-item matrix berukuran m x n dengan m user dan n item.
Dalam sistem perekomendasi sistem berbasis collaborative filtering, data
masukan adalah kumpulan data dari m user dan n item. Hal ini dapat diwakili
dengan matriks m x n. Matriks m x n ini merepresentasikan data masukan
yang asli yang selanjutnya akan digunakan untuk membangun profil. Membangun
profil adalah suatu tugas pokok yang sangat penting karena kesuksesan akan
tergantung kepada sistem secara luas (Montaner et al., 2003].
2. Neighborhood Formation
Salah satu langkah terpenting dalam sistem perekomendasi berbasis
collaborative filtering adalah menghitung similarity antar item dalam user profile
dan memilih yang paling mirip untuk membentuk item-neighborhood. Ide dasar
dari perhitungan similarity antara dua item i dan j adalah terlebih dahulu
mengisolasi user yang telah me-rating kedua item tersebut, kemudian teknik
similarity diterapkan untuk menghitung kemiripan kedua item tersebut.
Perhitungan kemiripan antar item di antaranya menggunakan algoritma cosine
similarity dan pearson correlation (Sarwar et al., 2001). Berikut ini penjelasan
dari algoritma cosine similarity dan pearson correlation
a. Cosine Similarity
Perhitungan cosine similarity, menggambarkan dua item sebagai
dua vektor di dalam user-space dimensi m. Similarity diantara item-
item dihitung dengan perhitungan kosinus sudut antara dua vektor.
Prinsip perhitungaannya, dua vektor dikatakan sama jika membentuk
sudut 0°(nol derajat), atau nilai kosinusnya sama dengan 1 (satu).
Secara formal, di dalam matriks m x n, similarity antara item j dan k,
dinotasikan dengan sim(j,k) diberikan oleh persamaan berikut
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
12
n
k
km
n
n
j
j
jkjk
n
n
n
n
r
r
r
rsim
21
2cos
222222......
)(...)()(cos
2121
2211
mm
nn
kkkjjj
kjkjkj
jkjk
rrrrrr
rrrrrrsim
Keterangan :
jksim = similarity item j dan item k
njr = rating untuk item j oleh user ke-n (
1jr = rating untuk item j user ke-1 dst)
nkr = rating untuk item k oleh user ke-n (1k
r = rating untuk item k user ke-1 dst)
b. Correlation Similarity
Pada algoritma ini, kemiripan antara dua item dihitung
menggunakan teknik statistika yaitu Pearson Correlation. Untuk
menghitung nilai correlation antara dua item, maka nilai rating
yang tidak mempunyai pasangan pada user yang sama dikeluarkan dari
perhitungan. Perhitungan similarity item j dan k dengan Pearson
Correlation adalah sebagai berikut
m
nkk
m
njj
m
nkkjj
jkjk
rrrr
rrrr
corrsim
nn
nn
1
2
1
2
1
)()(
))((
2222 )(...)()(...)(
))((...))((
11
11
kkkkjjjj
kkjjkkjj
jkjk
rrrrrrrr
rrrrrrrrcorrsim
nn
nn
Keterangan :
jksim = similarity item j dan item k
njr = rating untuk item j oleh user ke-n (
1jr = rating untuk item j user ke-1 dst)
nkr = rating untuk item k oleh user ke-n (1k
r = rating untuk item k user ke-1 dst)
jr = rata-rata nilai rating item j
kr = rata-rata nilai rating item k
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
13
Penelitian ini menggunakan perhitungan cosine similarity, karena
perhitungan cosine similarity lebih sederhana dan baris pada program lebih
sedikit, sehingga pada kondisi (kecepatan bandwidth) yang sama, waktu
eksekusi perhitungan cosine similarity lebih cepat dari pearson correlation.
Padahal perbandingan kualitas prediksi antara kedua perhitungan tidak jauh
berbeda (Gultom, 2010), sehingga sistem perekomendasi ini menggunakan
perhitungan cosine similarity.
3. Prediction Generate
Algoritma yang digunakan untuk membangkitkan prediksi berdasarkan
item-neighborhood yang telah dibentuk adalah penjumlahan terbobot
(weighted sum). Perhitungan prediksi untuk rating pada item i oleh user u, uiP
adalah dengan menjumlahkan semua nilai rating yang menjadi anggota
item-neighborhood. Setiap rating yang dijumlahkan diberi nilai bobot ijsim ,
yang merupakan nilai similarity item i dengan item j. Misalkan N adalah
himpunan item-neighborhood dari item i, maka nilai prediksi uiP adalah
N
nij
N
nuiij
ui
sim
Rsim
P
1
1
*
4. Pengujian dengan Mean Absolute Error (MAE)
Evaluasi sistem dilakukan untuk mengukur kualitas dari sistem
perekomendasi dengan menggunakan error metrics. Pengukuran error
menggunakan mean absolute error (MAE). MAE adalah suatu ukuran
penyimpangan rekomendasi dari nilai benar user-specified. Jika ��,i adalah
prediksi rating yang diberikan user u pada item i, dan ��,i adalah nilai rating
yang sebenarnya, maka MAE didefinisikan sebagai berikut :
Keterangan :
ijsim = similarity item i dan item j
uiR = nilai rating user u pada item i.
uiP = nilai prediksi rating user u pada item i.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
14
Di mana n adalah jumlah item yang direkomendasikan dan telah di-rating oleh
user.
Dalam metode item-based collaborative filtering, terdapat 2 permasalahan
utama, yaitu cold start problem dan data sparsity (Gultom, 2010). Cold start
problem adalah keadaan di mana item atau user baru saja dimasukkan ke dalam
sistem, sehingga mesin sistem perekomendasi tidak memiliki pengetahuan yang
banyak untuk menghasilkan rekomendasi yang akurat. Dalam sistem ini, cold
start problem diatasi dengan penambahan fitur lain agar user baru tetap dapat
me-rating atau item baru tetap dapat di-rating meskipun mesin belum dapat
merekomendasikannya ke user, salah satunya dengan fitur pencarian. Sedangkan
data sparsity adalah keadaan di mana banyak data yang kosong untuk setiap sel
dalam table matriks rating user-item. Untuk teknik item-based, hanya sel yang
terisi yang akan diproses dalam mengkalkuklasi prediksi.
2.2 Android
Android adalah sebuah platform untuk piranti mobile yang berbasis kernel
Linux versi 2.6 yang digunakan untuk layanan sistem inti seperti keamanan,
manajemen memori, manajemen proses, networkstack, dan model driver. Kernel
juga bertindak sebagai lapisan abstraksi antara hardware dan seluruh
softwarestack. Pengembangan aplikasi pada platform Android menggunakan
bahasa pemrograman Java. Beberapa aplikasi inti Android antara lain e-mail
client, SMS, kalender, peta, browser, kontak, dan lain-lain (Android Developers,
2011).
Gandhewar dan Sheikh (2010) melakukan perbandingan antara Android
dengan Symbian dan Windows Mobile dengan beberapa kriteria yaitu Portability,
Reliability, Connectivity, Open Platform, Kernel Size, Standard, dan Special
Feature, kemudian membuat skor untuk ketiga platform berdasarkan ketujuh
kriteria tersebut. Berikut ini hasil dari perbandingan yang dilakukan.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
15
Tabel 2. 1 Perbandingan Android, Symbian dan Windows Mobile
(Gandhewar et al, 2010)
Dari tabel 2.1 , dapat dilihat bahwa Android secara umum mempunyai skor
yang lebih tinggi dari pada Symbian dan Windows Mobile. Hal ini menunjukkan
bahwa Android merupakan platform yang cukup handal dan dapat mengimbangi
platform lainnya. Android diramalkan akan menjadi pemimpin baru dalam
platform mobile (Gandhewar et al, 2010).
2.3 Web service
Web service adalah implementasi menjanjikan dari arsitektur berorientasi
layanan, dimaksudkan untuk menyediakan sarana standar interoperating antara
aplikasi perangkat lunak yang berbeda, berjalan pada berbagai platform dan/atau
kerangka kerja. Sistem lain berinteraksi dengan web service dalam cara yang
ditentukan oleh deskripsi dengan menggunakan pesan SOAP, biasanya
disampaikan menggunakan HTTP dengan serialisasi XML (Protogeros, 2007).
W3C mendefinisikan web service sebagai sebuah software aplikasi yang dapat
teridentifikasi oleh URI (Uniform Resource Identifier) dan memiliki interface
yang didefiniskan, dideskripsikan, dan dimengerti oleh XML dan juga
mendukung interaksi langsung dengan software aplikasi yang lain dengan
menggunakan message berbasis XML melalui protokol internet.
Web service yang merupakan bagian dari arsitektur berbasis layanan
mempunyai kelebihan untuk diterapkan dalam kasus ini. Menurut Shetty dan
Vadivel (2009), web service dikatakan interoperable karena web service
merupakan salah satu yang dapat bekerja di seluruh platform (multiplatform),
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
16
bahasa, aplikasi dan dapat bekerja dengan web service dari vendor yang berbeda
(Shetty et al, 2009).
Teknologi web service semakin dikerahkan di organisasi bisnis untuk
mencapai kolaborasi antar sistem. Web service menjanjikan keuntungan besar
seperti produktivitas, efisiensi, dan akurasi. Membantu aplikasi untuk
berkomunikasi dengan satu sama lain merupakan fokus dari web service
(Moradian et al, 2006).
Model web service memiliki 2 (dua) arsitektur yang berorientasi pada
layanan (service) dan sumberdaya (resource), yaitu SOAP dan REST. Pada
penelitian ini digunakan SOAP (Simple Object Access Protocol). SOAP
merupakan protokol untuk pertukaran informasi dengan desentralisasi dan
terdistribusi. SOAP dibangun dengan menggunakan protokol komunikasi HTTP.
Protokol HTTP ini didukung oleh semua browser dan server, sehingga SOAP
dapat berkomunikasi dengan berbagai aplikasi meskipun terdapat perbedaan
sistem operasi, teknologi, dan bahasa pemrograman. Sejak 24 Juni 2003, SOAP
menjadi standar protokol yang direkomendasikan konsorsium web world web
(W3C).
2.4 Unified Model Language (UML)
UML adalah bahasa grafis untuk mendokumentasi, menspesifikasikan, dan
membangun sistem perangkat lunak. UML berorientasi objek menerapkan banyak
level abstraksi, tidak bergantung proses pengembangan, tidak tergantung bahasa
dan teknologi, pemaduan beberapa notasi di beragam metodologi, usaha bersama
dari semua pihak, didukung oleh perangkat-perangkat yang diintegrasikan lewat
XML. UML sebagai bahasa pemrograman memiliki fokus pada pemahaman
subyek melalui formulasi model dari subyek (dua konteks yang terhubung).
Model memuat pengetahuan pada subyek, dan aplikasi dari pengetahuan ini
bekaitan dengan intelejensia. Kegunaan diagram pada pemodelan adalah untuk
formalisasi ekspresi model objek secara koheren, presisi dan mudah dirumuskan.
Pemodelan berorientasi objek memerlukan perangkat untuk mengekspresikan
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
17
model. UML menyediakan sejumlah diagram untuk mengekspresikan pemodelan
berorientasi objek yang dilakukan (Hariyanto, 2004).
Berikut ini jenis diagram dalam Hariyanto (2004) yaitu:
1. Diagram struktur
a. Diagram Kelas (Class Diagram)
Diagram ini meunjukkan sekumpulan kelas, interface dan kolaborasi
dan keterhubungannya. Diagram kelas ditujukan untuk pandangan statik
terhadap sistem. Class diagram mendeskripsikan struktur statis dari kelas di
dalam sistem dan mengilustrasikan atribut, operasi, serta relasi diantara
kelas (Sugrue, 2010). Berikut ini notasi/simbol dalam class diagram:
Tabel 2.2 Notasi/Simbol dalam Class Diagram
Nama Notasi/symbol
Class
Dependency
Association
Aggregation
Composition
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
18
Lanjutan dari Tabel 2.3 Notasi/Simbol dalam Class Diagram
Nama Notasi/symbol
Generalitazion
Boundary Class
Controll Class
Entity Class
2. Diagram Perilaku
Berikut ini penjelasan dari masing-masing diagram :
a. Use-Case Diagram
Diagram ini menunjukkan kasus fungsional dan aktor (jenis kelas khusus)
dan keterhubungannya. Use case diagram sangat berguna untuk
merepresentasikan kebutuhan dari sistem. Diagram menggambarkan
interaksi antara user dan entitas eksternal lainnya dengan sistem yang
sedang dikembangkan (Sugrue, 2010). Berikut ini tabel yang menunjukkan
notasi/simbol dari use case diagram:
Tabel 2. 4 Notasi/Simbol Use Case Diagram
Nama Simbol/Notasi
Aktor
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
19
Lanjutan dari Tabel 2. 5 Notasi/Simbol Use Case Diagram
Nama Simbol/Notasi
Use case
Subject Boundary
Association
Include
Extend
Generalization
b. Sequence Diagram
Diagram ini yang menunjukkan interaksi antar objek, diagram ini
merupakan pandangan dinamis terhadap sistem. Diagram ini menekankan
pada basis keberurutan waktu dari pesan-pesan yang terjadi. Sequence
diagram mendeskripsikan bagaimana entitas berinteraksi, termasuk message
yang digunakan ketika berinteraksi (Sugrue, 2010). Semua message
digambarkan dalam urutan eksekusi.
Tabel 2. 6 Notasi/Simbol Sequence Diagram
Nama Notasi/Simbol
Aktor
Objek
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
20
Lanjutan dari Tabel 2. 7 Notasi/Simbol Sequence Diagram
Nama Notasi/Simbol
Lifeline
Message
Object Destruction
Frame
c. Activity Diagram
Activity Diagram menunjukkan aliran aktivitas di sistem. Diagram ini
adalah pandangan dinamis terhadap sistem. Diagram ini penting untuk
memodelkan fungsi sistem dan menekankan pada aliran kendali di anatara
objek-objek.
Tabel 2. 8 Notasi/Simbol Activity Diagram
Nama Notasi/Simbol
Action
Activity
Object Node
Control Flow
Object Flow
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
21
Lanjutan dari Tabel 2. 9 Notasi/Simbol Activity Diagram
Nama Notasi/Simbol
Decision Node
Merge Node
Fork Node
Join Node
Initian Node
Final Node
Swimline
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
22
BAB III
METODOLOGI PENELITIAN
Metodologi penelitian ini secara umum terdiri dari tahap persiapan, tahap
pembangunan sistem, serta tahap pengujian, dan tahap penulisan laporan.
Pemodelan yang dipakai untuk merancang aplikasi sistem perekomendasi ini
adalah UML (Unified Model Language). Dalam tahap pembangunan sistem
digunakan tahap-tahap dari RUP (Rational Unified Process). Untuk lebih detail
mengenai metode penelitian, perhatikan gambar berikut ini:
Gambar 3.1 Visualisasi metodologi penelitian
Persiapan
Business Modelling
Requirement
Analysis & Design
Implementation
Test
Deployment
Environment
Penulisan Laporan
RUP workflow
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
23
Tahap-tahap dalam metodologi penelitian antara lain sebagai berikut:
3.1 Tahap Pengumpulan Data
Tahap pertama dalam proses penyusunan tugas akhir ini adalah tahap
persiapan. Kegiatan yang dilakukan pada tahap ini adalah studi pustaka dilakukan
dengan membaca buku-buku dan literatur untuk memahami teori-teori yang
terkait dengan topik tugas akhir ini, diantaranya mengenai sistem perekomendasi
dan pembangunan aplikasi mobile. Kemudian dilakukan pula pencarian literatur
penelitian dengan topik masalah yang berhubungan dengan tugas akhir ini yang
telah dilakukan sebelumnya oleh peneliti lain. Hasil dari tahap ini adalah
rangkuman dasar teori serta hasil penelitian sebelumnya. Dalam penelitian ini
digunakan data sekunder untuk menguji metode. Data sekunder dapat dari peneliti
lain yang melakukan penelitian dalam studi kasus yang sama yakni sistem
perekomendasi untuk wisata kuliner Kota Surakarta.
3.2 Rational Unified Proses (RUP)
Standar UML adalah notasi umum yang mungkin diaplikasikan ke
beberapa jenis proyek software berbeda yang juga menggunakan metodologi yang
sangat berbeda pula. Metodologi ini terdiri dari proses, rangkaian aturan dan
guideline dalam proyek pembangunan software. RUP merupakan salah satu
metode dalam pembangunan object-oriented software yang berfokus pada
pencegahan masalah sebelum suatu tahap dilakukan, agar software dapat di-
delivery dengan jangka waktu pendek dan frequently. Karakter utama dalam
metode ini adalah incremental dan iterative. Tujuan dari metode ini adalah untuk
men-deliver produk executable yang telah rilis, increment produk dari setiap pass,
atau iterasi, melalui sebuah proses.
Proses dibangun dari konsep project lifecycle phases dan process workflow.
Setiap fase memiliki satu rangkaian workflow. Dan setiap workflow terdiri dari
serangkaian aktivitas, business modeling melalui pendefinisian environment.
Setiap aktivitas terasosiasi dengan serangkaian artifak atau hasil kerja. Dalam
sebagian besar kasus, yang dimaksud dengan artifak adalah diagram-diagram
UML, tapi artifak sendiri dapat berarti requirements documents, tests plans, risk
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
24
assessment, deployment plans ataupun hasil kerja lain (output dari workflow).
(Pender, 2002)
Gambar 3.2 Fase dan workflow pada RUP
Rangkaian workflow pada metode ini terdiri dari:
a. Business Modelling (Pemodelan Bisnis)
Aktivitas dalam pemodelan bisnis berupa pembuatan business use cases
untuk kemudian dianalisis agar mengerti bagaimana seharusnya bisnis
mendukung proses bisnis.
b. Requirement (Analisis Kebutuhan)
Aktivitas dalam analisis kebutuhan antara lain mencari,
mengorganisasikan dan mendokumentasikan fungsional dan batasan-batasan
yang dibutuhkan. Analisis kebutuhan bertujuan untuk menyatukan dan
menyamakan persepsi developer dengan customer mengenai deskripsi
sistem atau dalam penelitian ini kebutuhan yang dianalisis berdasarkan
tujuan utama dari penelitian.
c. Analysis (Analisis) dan Design (Perancangan)
Analisis dan perancangan menunjukkan bagaimana sistem akan
direalisasikan pada tahap implementasi. Hasil dari tahap analisis dan
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
25
perancangan adalah design model dan opsional untuk analysis model.
Design model berisi abstraksi dari source code dan meupakan “blueprint”
dari bagaimana source code disusun dan ditulis.
d. Implementation (Implementasi)
Tujuan dari implementasi adalah
Mendefinisikan organisasi code, dalam terms implementasi
subsistem-subsistem, diorganisasikan pada layers
Implemetasi classes dan objects dalam terms komponen (source
files, binaries, executables, dan lain-lain)
Sistem dibangun menggunakan bahasa pemrograman PHP (server)
library nuSOAP untuk pembangunan service, basis data MySQL versi 5 dan
Java (client).
e. Testing (Pengujian)
Tujuan dari pengujian adalah
Verifikasi interaksi antar object,
Verifikasi integrasi dari semua komponen dari software,
Identifikasi dan memastikan defects telah dialokasikan.
Pengujian dilakukan pada 2 jenis device yaitu dengan komputer
notebook (dengan emulator Android versi 2.1, 2.2, 2.3 dan 4), smartphone
dengan sistem operasi Android versi 2.2 dan 2.3. Komputer notebook yang
digunakan untuk mengimplementasikan sistem mempunyai spesifikasi
sebagai berikut: Processor Intel Pentium Core 2 Duo 2.00 GHz, Ram 1 GB
DDR2.
Pengujian dilakukan dengan cara memberikan input ke program dan
dianalisis outputnya (black box). Masukan dicoba dengan input yang benar
dan/atau yang salah, kemudian dilakukan perbaikan apabila sistem tidak
sesuai dengan perancangan.
f. Deployment
Deployment memastikan produk rilis dan ter-deliver dengan sukses.
Aktivitas dalam deployment antara lain:
Menghasilkan rilis eksternal dari software,
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
26
Packaging, distribusi,dan instalasi software,
Menyediakan bantuan dan assistance untuk user.
g. Environment
Environment merupakan penentuan penyediaan lingkungan
implementasi yang dibutuhkan, termasuk perangkat (tools) dan proses-
proses dalam pembangunan sistem.
Perangkat dalam implementasi meliputi development tool kit berbasis
Android dengan bahasa pemrograman Java. Sedangkan proses-proses dalam
sistem perekomendasi yang dibangun ini meliputi metode perhitungan dan
algoritma untuk menghasilkan rekomendasi. Proses utama dalam sistem
perekomendasi yang dibangun menggunakan metode item-based
collaborative filtering.
3.3 Sistem Perekomendasi dengan Metode Item-based Collaborative Filtering
Tahap environment atau lingkungan implementasi telah menjelaskan
dengan singkat bahwa proses utama dalam sistem perekomendasi menggunakan
metode item-based collaborative filtering. Alur yang menggambarkan proses dari
sistem perekomendasi dengan metode tersebut dapat ditunjukkan pada Gambar
3.3.
Gambar 3.3 Alur proses rekomendasi
Tahap pertama dalam proses utama (menghasilkan rekomendasi) adalah
sistem menampilkan item yang akan dilihat user dan diberi rating oleh user.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
27
Sistem akan menangkap masukan rating oleh user u untuk item i yang kemudian
akan dilakukan perhitungan saat user menutup aplikasi (offline). Karena proses
perhitungan offline, user yang baru pertama kali meminta rekomendasi akan
diberikan semua item yang terdekat dengan posisi user saat itu.
Nilai hasil rating yang diberikan oleh user untuk item pada profile
representation berupa bilangan bulat antara 1 – 5. Sedangkan nilai untuk item-
item dimana user belum pernah memberi rating diberi nilai 0.
Langkah-langkah dan urutan-urutan prosedur dari algoritma perhitungan
similarity disajikan pada Gambar 3.4.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
28
tidak
ya
ya
tidak
Gambar 3.4 Alur tahap similarity
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
29
Tahap selanjutnya adalah perhitungan similarity, pada tahap ini
dilakukan penghitungan similarity dari item i dengan item j dimana item j
merupakan item lain yang juga pernah di-rating user u. Neighborhood dari item i
adalah item j dimana nilai similarity yang diambil sim(i,j) > 0, dari nilai
similarity tersebut juga dapat diambil rating user u untuk item j, R(u,j). Nilai
similarity dan rating digunakan untuk membangkitkan nilai prediksi.
Nilai prediksi yang akan dibangkitkan dalam proses pembangkitan
prediksi (prediction generation) adalah nilai user u terhadap ítem i, dimana
ítem i belum pernah diberi rating oleh user u. Nilai prediksi yang dihasilkan
dari penghitungan dengan menggunakan penjumlahan terbobot adalah
bilangan riil. Flowchart untuk menggambarkan algoritma perhitungan nilai
prediksi seperti pada Gambar 3.5.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
30
tidak
tidak
ya
ya
tidak
ya
Gambar 3.5 Alur tahap pembangkitan prediksi
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
31
Perhitungan pada proses pembangkitan meliputi perhitungan kemiripan
neighbourhood item atau semua item yang memiliki similarity dengan item yang
akan diprediksi. Semakin tinggi nilai similarity dengan item yang akan diprediksi
tersebut semakin dekat hubungan neighbourhood (tetanggaan). Penentuan jumlah
neighborhood yang akan diimplementasikan dalam sistem dilakukan dengan
pengujian terlebih dahulu. Pengujian metode dilakukan dengan analisis akurasi
prediksi. Akurasi atau ketepatan nilai prediksi dengan nilai sebenarnya dapat
dihitung dengan Mean Absolute Error (MAE). Analisis dilakukan dengan menguji
MAE dengan pengosongan acak sebesar 5%, 15%, 10% dan 20% dengan variasi
jumlah neighborhood (jumlah item dengan nilai similarity terbesar).
Hasil dari pengujian metode menunjukkan bahwa nilai MAE cenderung
membaik dan stabil di perhitungan dengan 5 neighbourhood terdekat (5 item
dengan nilai similarity terbesar). Karena itu dalam sistem digunakan perhitungan
5 neighbourhood terdekat dalam algoritma pembangkit prediksi ini.
Tahap terakhir setelah nilai prediksi dihasilkan adalah tahap pengambilan
Top-N recommendation, yaitu pengambilan N-item dengan nilai prediksi tertinggi.
Pada kasus ini rekomendasi yang diberikan sebanyak 3 item dari nilai prediksi
tertinggi. Hasil dari 3 item dengan nilai prediksi tertinggi inilah yang akan
ditampilkan oleh sistem.
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
32
BAB IV
PEMBAHASAN
4.1 Pengujian Metode
Pengujian metode dilakukan dengan analisis akurasi prediksi. Akurasi atau
ketepatan nilai prediksi dengan nilai sebenarnya dapat dihitung dengan Mean
Absolute Error (MAE). Analisis dilakukan dengan menguji MAE dengan
pengosongan acak sebesar 5%, 15%, 10% dan 20% dengan variasi jumlah
neighborhood (jumlah item dengan nilai similarity terbesar). Tabel di bawah
berikut merupakan hasil pengujian pada dataset dengan pengosongan random
sebanyak 20 kali iterasi. Hasil dari pengujian menunjukkan bahwa dilihat dari
nilai MAE rata-rata, prediksi cenderung akurat (paling mendekati nilai
sebenarnya) dan stabil di perhitungan dengan 5 neighbourhood terdekat (5 item
dengan similarity terbesar).
Data hasil perhitungan MAE dari data 12 item, 23 user dan 63 rating dapat
dilihat pada tabel 4.1. dan Gambar 4.1.
Tabel 4.1 Hasil nilai MAE dari pengujian variasi jumlah neighborhood
pengosongan jumlah
neighborhood (k)
MAE
pengosongan jumlah
neighborhood (k)
MAE
5% 1 0.697622 15% 1 0.96305
5% 2 0.520786 15% 2 0.81312
5% 3 0.543216 15% 3 0.810035
5% 4 0.53159 15% 4 0.790164
5% 5 0.518227 15% 5 0.77764
5% maksimal 0.570874 15% maksimal 0.96305
10% 1 0.915857 20% 1 0.773154
10% 2 0.846523 20% 2 0.768972
10% 3 0.769678 20% 3 0.732974
10% 4 0.753817 20% 4 0.723098
10% 5 0.724688 20% 5 0.723863
10% maksimal 0.73262 20% maksimal 0.725933
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
33
Gambar 4.1 Grafik nilai MAE dengan variasi jumlah neighborhood dari 20 kali
percobaan pengosongan rating
Grafik pada gambar 4.1 menunjukkan bahwa pada pengosongan 5%, 10%,
15%, nilai MAE terkecil didapat dari perhitungan dengan 5 neighbourhood
terdekat. Meskipun untuk pengosongan 20% nilai MAE dari perhitungan dengan
5 neighbourhood bukan yang terkecil, namun memiliki selisih 0.00076546 dari
nilai MAE terkecil.
Pengujian metode yang telah dilakukan menghasilkan kesimpulan bahwa
metode yang dilakukan memiliki kualitas akurasi yang baik pada jumlah
neighborhood 5. Metode ini yang diimplementasikan ke dalam sistem
perekomendasi yang dibangun.
0.697622451
0.520785652
0.5432159790.531590212
0.518227435
0.570874026
0.915857143
0.84652317
0.7696776390.753816834
0.724687579
0.732620281
0.96305
0.813119867 0.8100349140.790164188 0.777639589 0.781909456
0.7731538460.768972375
0.732974224
0.723097908 0.723863368
0.725932948
0.45
0.5
0.55
0.6
0.65
0.7
0.75
0.8
0.85
0.9
0.95
1
1 2 3 4 5 max
n
i
l
a
i
M
A
E
jumlah neighborhood
Nilai MAE Hasil Percobaan Variasi Jumlah Neighborhood
5% 10% 15% 20%
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
34
4.2 Analisis dan Perancangan
4.2.1 Kebutuhan Sistem
4.2.1.1 Deskripsi Umum Sistem
Sistem perekomendasi wisata kuliner Kota Surakarta dalam penelitian ini
bertujuan memberikan rekomendasi untuk user yang ingin mencari tempat kuliner
di Kota Surakarta. Sistem yang akan dibangun merupakan sistem perekomendasi
yang proses utama dan basis data disimpan di server dan dapat diakses oleh
aplikasi client. Data-data kuliner pada basis data dapat diakses dan di-update oleh
pengelola (admin) melalui halaman administrator (back-end login).
Aplikasi client diinisiasi dengan tampilan pencarian, dengan asumsi bahwa
setiap orang yang menginginkan rekomendasi, pasti ingin melakukan pencarian
terlebih dahulu. Fitur utama aplikasi ini adalah ‘Rekomendasi Kami’ yang dapat
dipilih dari salah satu menu dalam aplikasi. Fitur ini mengakses mesin
rekomendasi dengan metode item-based collaborative filtering yang berada di
server. User yang baru pertama kali menggunakan fitur utama rekomendasi ini
harus menyetujui penyimpanan nomor IMEI (International Mobile Equipment
Identity) pada sistem, untuk medapatkan rekomendasi utama dari sistem
perekomendasi ini. Nomor IMEI terdapat di setiap perangkat mobile yang legal,
jika nomor IMEI tidak dapat teridentifikasi, user tidak dapat mengakses sistem
ini. Penyimpanan nomor IMEI ini merupakan penyimpanan identitas untuk
pembuatan profil user yang dibutuhkan dalam proses rekomendasi dengan metode
item-based collaborative filtering, atau dapat disebutkan bahwa user terdaftar
secara implisit setelah nomor IMEI user disimpan pada sistem. User yang baru
saja ‘terdaftar’ dalam sistem dan user yang telah lebih dari sekali menggunakan
fitur utama tapi belum me-rating kuliner sama sekali, tidak dapat melihat
rekomendasi utama yang dihasilkan dari mesin rekomendasi dengan metode item-
based collaborative filtering. User tersebut akan direkomendasikan kuliner-
kuliner yang terdekat dengan posisinya berada.
Fitur lainnya adalah pencarian dan most popular kuliner. Kedua fitur ini
merupakan 2 fitur tambahan untuk mengatasi permasalahan cold start problem
yang telah dijelaskan pada bab sebelumnya. Dengan adanya 2 fitur ini, user baru
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
35
atapun user yang belum pernah merating dan tidak dapat melihat item yang tidak
dapat dilihat melalui rekomendasi utama (karena user belum terdaftar atau karena
mesin rekomendasi belum melakukan kalkulasi similarity dan prediksi), tetap
dapat melihat item-item tersebut. Hasil dari pencarian merupakan rekomendasi
berdasar kata kunci pencarian yang telah dimasukkan user. Sedangkan most
popular adalah rekomendasi kuliner dari kuliner-kuliner dengan rata-rata nilai
rating terbesar. Aplikasi ini dilengkapi pula dengan fasilitas map untuk melihat
seberapa jauh tempat-tempat kuliner hasil rekomendasi dari posisi user berada.
4.2.1.2 Batasan Sistem
Berikut ini batasan-batasan dari sistem yang dibangun:
a. Identitas user direpresentasikan dengan nomor IMEI dengan asumsi
setiap user menggunakan 1 perangkat mobile untuk mengakses aplikasi.
Nomor IMEI selalu ada di setiap perangkat mobile pintar legal, dan
diasumsikan tidak diganti atau direkayasa.
b. Sistem akan memberikan rekomendasi pada user terdaftar yang telah
me-rating minimal 1 kuliner, jika user belum terdaftar atau belum me-
rating, user akan diberikan rekomendasi kuliner terdekat.
c. Fasilitas pencarian dalam sistem ini bukan merupakan operasi utama,
sehingga pencarian yang dilakukan hanya sekedar mencocokkan kata
kunci yang dimasukkan user dengan nama kuliner, deskripsi dan alamat
pada database.
d. Sistem ini di-hosting pada jaringan internet, sehingga pengguna harus
memiliki akses internet untuk menggunakan sistem ini
e. Nilai rating yang dapat diinputkan user disajikan dalam tampilan rating
bar dengan range 1-5, dengan interval 1. Nilai kosong karena user belum
mengisi rating diinisiasikan dengan angka 0.
4.2.1.3 Analisis Kebutuhan Sistem
Kebutuhan sistem (requirement) dibagi menjadi dua bagian, yaitu kebutuhan
fungsional dan kebutuhan non fungsional.
a. Kebutuhan Fungsional
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
36
Berikut ini adalah tabel daftar kebutuhan fungsional:
Tabel 4.2 Daftar Kebutuhan Fungsional
Kode Deskripsi Kebutuhan Fungsional
SR_F-001 User dapat melakukan pencarian kuliner
SR_F-002 User dapat melihat hasil rekomendasi kuliner
SR_F-003
User dapat meminta rekomendasi utama yang dihasilkan dari
mesin rekomendasi yang menggunakan metode item-based
collaborative filtering dengan menyetujui penyimpanan profil
yang dikenali dengan nomor IMEI yang dimiliki perangkat
mobile sebagai identitas user
SR_F-004 User dapat melihat detail informasi kuliner yang
direkomendasikan sistem
SR_F-005 User dapat memberikan rating pada kuliner yang belum pernah
di-rating user tersebut sebelumnya
SR_F-006 Admin dapat menambah kuliner baru
SR_F-007 Admin dapat mengubah (update) informasi kuliner yang ada pada
sistem
b. Kebutuhan Non Fungsional
Berikut ini adalah tabel daftar kebutuhan non fungsional:
Tabel 4.3 Daftar Kebutuhan Non Fungsional
Kode Deskripsi Kebutuhan Non Fungsional
SR_NF-001 Memiliki antarmuka user friendly
Operational Requirement
SR_NF-002 Aplikasi client dapat terhubung ke server dan mengakses web
service melalui protokol HTTP
Performance Requirement
SR_NF-003 Sistem dapat terus berjalan selama tidak terjadi kerusakan pada
hardware dan selama server aplikasi terkonfigurasi dengan benar
Security Requirement
SR_NF-004 Hanya admin yang telah terdaftar yang dapat login ke sistem dan
menambah atau mengubah informasi kuliner
SR_NF-005 Admin tidak dapat menghapus kuliner dan mengubah informasi
user ataupun nilai rating pada basis data
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
37
Lanjutan dari Tabel 4.3 Daftar kebutuhan non fungsional
Kode Deskripsi Kebutuhan Non Fungsional
Cultural and Political Requirement
SR_NF-006 Memiliki antarmuka berbahasa Indonesia
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
38
4.2.2 Use Case
4.2.2.1 Use Case Diagram
Berikut ini use case diagram sistem perekomendasi wisata kuliner Kota
Surakarta:
Gambar 4.2 Use case diagram sistem perekomendasi wisata kuliner Kota
Surakarta
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
39
4.2.2.2 Definisi Actor
Berikut ini definisi masing-masing actor (aktor) dalam sistem:
Tabel 4.4 Daftar Actor dalam Sistem pada Use Case Diagram
Kode Actor Deskripsi
AC-001 user
pengguna perangkat mobile yang meng-install dan mengakses aplikasi sistem perekomendasi kuliner solo, identitasnya dikenali melalui nomor IMEI
AC-002 admin
pengelola sistem yang memiliki akses untuk menambah item baru dan update informasi item, namun tidak dapat meng-update rating user dan tidak dapat pula meng-hapus item
4.2.2.3 Definisi Use Case
Berikut ini definisi masing-masing use case dalam sistem:
Tabel 4.5 Daftar Use Case pada Use Case Diagram
Kode Use Case Deskripsi
UC-001 melakukan pencarian
user melakukan pencarian dengan memasukkan kata kunci dan sistem akan memberikan rekomendasi berdasar kata kunci
UC-002 meminta rekomendasi
user melihat item hasil rekomendasi yang telah dihasilkan oleh sistem perekomendasi di server
UC-003 melihat informasi kuliner
user melihat informasi item yang telah dipilih dari daftar item
UC-004 me-rating kuliner
user me-rating kuliner yang dipilih dan belum pernah di-rating user tersebut sebelumnya
UC-005 melihat map user dapat melihat peta dan lokasi di mana item-item berada
UC-006 mengubah informasi kuliner
admin dapat mengubah informasi kuliner (seperti alamat, menu, deskripsi atau gambar) tapi tidak dapat mengubah rating ataupun menghapus item yang telah di-isi rating-nya oleh user
UC-007 menambah kuliner baru
admin dapat menambah kuliner baru dan informasi mengenai item tersebut
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
40
4.2.2.4 Use Case Scenario dan Activity Diagram
Berikut ini skenario dan activity diagram dari masing-masing use case:
Tabel 4.6 Skenario Use Case ‘Melakukan Pencarian’
Nama use case : melakukan pencarian
Actor : user
Initiation : aplikasi telah ter-install pada perangkat mobile, user telah membuka aplikasi
Pre-condition : user telah membuka aplikasi, internet data enabled, koneksi internet tanpa hambatan
Post-condition : user dapat meminta rekomendasi bedasar kata kunci
Skenario :
Aksi Actor Reaksi Sistem
Skenario Normal
1 memasukkan kata kunci
2 kata kunci ditemukan
3 menampilkan kuliner hasil rekomendasi kata kunci dari server
4 melihat seluruh seluruh rekomendasi hasil pencarian
Skenario Alternatif 1
1 kata kunci tidak ditemukan
2 sistem menampilkan pesan ‘kata kunci tidak ditemukan’
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
41
Gambar 4.3 Aktivitas ‘melakukan pencarian’
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
42
Tabel 4.7 Skenario Use Case ‘Meminta Rekomendasi’
Nama use case : meminta rekomendasi
Actor : user
Initiation : aplikasi telah ter-install pada perangkat mobile, user telah membuka aplikasi
Pre-condition : user telah membuka aplikasi internet data enabled, koneksi internet tanpa hambatan
Post-condition : user dapat memilih salah satu item
Skenario :
Aksi Actor Reaksi Sistem
Skenario Normal
1 memilih menu rekomendasi utama dari sistem
2 mendapatkan nomor IMEI user (get IMEI)
3 menemukan nomor IMEI pada basis data, sistem mengenali sebagai user lama
5 menampilkan item-item hasil rekomendasi untu user yang baru terdaftar
6 melihat item seluruh item rekomendasi
Skenario Alternatif 1
3 tidak dapat menemukan nomor IMEI pada basis data, sistem mengenali sebagai user baru
4 meminta persetujuan user untuk menyimpan nomor IMEI
5 menyetujui penyimpanan nomor IMEI di sistem
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
43
Lanjutan dari Tabel 4.7 Skenario Use Case ‘Meminta Rekomendasi’
Aksi Actor Reaksi Sistem
6 nomor IMEI dan id user baru disimpan ke database (terdaftar)
7 menampilkan item-item hasil rekomendasi untu user yang baru terdaftar
8 melihat item seluruh item rekomendasi
Skenario Alternatif 2
4 meminta persetujuan user untuk menyimpan nomor IMEI
5 tidak menyetujui penyimpanan imei di sistem
6 tidak terdaftar dan tetap dikenali sebagai user baru
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
44
Gambar 4.4 Aktivitas ‘meminta rekomendasi’
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
45
Tabel 4.8 Skenario Use Case ‘Melihat Informasi Kuliner’
Nama use case : melihat informasi kuliner
Actor : user
Initiation : aplikasi telah ter-install pada perangkat mobile, user telah membuka aplikasi
Pre-condition : user telah membuka aplikasi internet data enabled, koneksi internet tanpa hambatan, user telah melihat hasil rekomendasi
Post-condition : user dapat melihat informasi dari salah satu item telah dipilih
Skenario :
Aksi Actor Reaksi Sistem
Skenario Normal
1 memilih salah satu kuliner hasil rekomendasi
2 id item yang dipilih user dikenali, sistem menampilkan informasi item yang telah dipilih
Gambar 4.5 Aktivitas ‘melihat informasi kuliner’
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
46
Tabel 4.10 Skenario Use Case ‘Me-rating Kuliner’
Nama use case : me-rating kuliner
Actor : user
Initiation : aplikasi telah ter-install pada perangkat mobile, user telah membuka aplikasi
Asumption : user telah mengunjungi kuliner dan memberikan rating sesuai dengan selera user
Pre-condition : aplikasi pada user terkoneksi dengan internet, user telah terdaftar (nomor IMEI telah tersimpan pada basis data), user telah mendapat hasil rekomendasi, user telah melihat informasi kuliner
Post-condition : sistem menyimpan nilai rating user pada database server dan mnampilkan status penyimpanan pada user
Skenario :
Aksi Actor Reaksi Sistem
Skenario Normal
1 melihat informasi kuliner
2 memberikan rating
3 sistem berhasil menyimpan nilai rating user pada basis data
4 mengirimkan status rating berhasil disimpan
Skenario Alternatif
1 melihat informasi kuliner
2 memberikan rating
3 sistem berhasil menyimpan nilai rating user pada basis data
4 mengirimkan status rating tidak berhasil disimpan
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
47
Gambar 4.6 Aktivitas ‘me-rating kuliner’
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
48
Tabel 4.11 Skenario Use Case ‘Melihat Map’
Nama use case : melihat map
Actor : user
Initiation : aplikasi telah ter-install pada perangkat mobile, gps atau wireless enabled, jika keduanya dalam keadaan disabled atau sinyal terhambat, user diasumsikan berada pada lokasi tertentu (misal: pusat Kota Surakarta)
Pre-condition : user telah membuka aplikasi, device terkoneksi dengan internet , sistem telah mendapatkan lokasi user, user telah meminta rekomendasi kuliner-kuliner dari sistem
Post-condition : user dapat melihat map pada aplikasi
Skenario :
Aksi Actor Reaksi Sistem
Skenario Normal
1 melihat kuliner-kuliner hasil rekomendasi / pencarian
2 memilih menu map
3 mencari posisi bujur dan lintang lokasi user (get position)
5 mendapatkan lokasi user
6 mendapatkan lokasi kuliner-kuliner hasil rekomendasi
7 sistem menampilkan lokasi user dan kuliner-kuliner hasil pencarian atau rekomendasi dalam map
Skenario Alternatif 1
5 tidak mendapatkan lokasi user, lokasi user ditentukan oleh sistem
6 mendapatkan lokasi kuliner-kuliner hasil rekomendasi
7 sistem menampilkan lokasi user dan kuliner-kuliner hasil pencarian atau rekomendasi dalam map
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
49
Lanjutan dari Tabel 4.11 Skenario Use Case ‘Melihat Map’
Aksi Actor Reaksi Sistem
Skenario Alternatif 2
4 tidak mendapatkan lokasi kuliner-kuliner hasil rekomendasi, kuliner yang direkomendasikan telah habis atau hasil pencarian tidak ditemukan
5 konfirmasi tidak dapat menampilkan map, kembali ke halaman sebelumnya (hasil pencarian/ rekomendasi)
Gambar 4.7 Aktivitas ‘melihat map’
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
50
Tabel 4.12 Skenario Use Case ‘Mengubah Informasi Kuliner’
Nama use case : mengubah informasi kuliner
Actor : admin
Initiation : data admin telah ada di database server
Asumption : admin mengetahui bagaimana akses halaman login, koneksi internet tanpa hambatan
Pre-condition : admin telah membuka halaman login untuk admin
Post-condition : kuliner baru tersimpan pada basis data
Skenario :
Aksi Actor Reaksi Sistem
Skenario Normal
1 login
2 login berhasil
3 memilih menu edit kuliner
4 menampilkan daftar kuliner dari basis data
5 memilih salah satu kuliner
6 mengubah informasi salah satu kuliner yang dipilih
7 menyimpan perubahan informasi kuliner
Skenario Alternatif
2 login gagal
3 mengirim pesan gagal ke admin
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
51
Gambar 4.8 Aktivitas ‘mengubah informasi kuliner’
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
52
Tabel 4.13 Skenario Use Case ‘Menambah Kuliner Baru’
Nama use case : menambah kuliner baru
Actor : admin
Initiation : data admin telah ada di database server
Asumption : admin mengetahui bagaimana akses halaman login, koneksi internet tanpa hambatan
Pre-condition : admin telah membuka halaman login untuk admin
Post-condition : kuliner baru tersimpan ke basis data
Skenario :
Aksi Actor Reaksi Sistem
Skenario Normal
1 login
2 login berhasil
3 menambah item baru
4 menambah informasi kuliner
4 sistem mengecek adakah nama kuliner sama
5 tidak ada kuliner sama
6 memasukkan id kuliner dan informasi kuliner baru ke basis data
Skenario Alternatif 1
2 login gagal
3 mengirim pesan gagal ke admin
Skenario Alternatif 2
5 terdapat item yang sama
6 mengirim pesan bahwa ‘tidak boleh menambahkan item yang telah ada’ ke admin
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
53
Gambar 4.9 Aktivitas ‘menambah kuliner baru’
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
54
4.2.3 Class Diagram dan Sequence Diagram
4.2.3.1 Class Diagram
Berikut class diagram dalam perancangan sistem:
Gambar 4.10 Class diagram
RekomendasiAct<<boundary>>
+id_item+nama_item+alamat+deskripsi+gambar+jam_buka+latitude+longitude+NAME_SPACE+NAME_SPACE1+NAME_SPACE2+METHOD+METHOD1+METHOD2+SOAP_ACTION+SOAP_ACTION1+SOAP_ACTION2+URL+URL1+URL2
+onCreate()-getDigitImei()+getPosition()+cekStatus()-getRekomen()-simpanUserBaru()
RatingAct<<boundary>>
+no_imei+nilai_rating+NAME_SPACE+METHOD+SOAP_ACTION+URL
+onCreate()-getDigitImei()-setRate()
SearchKulinerAct<<boundary>>
+keyword+nama_item+id_item+deskripsi+alamat+jam_buka+gambar+latitude+prediksi+nilai_rating+NAME_SPACE+METHOD+SOAP_ACTION+URL
+onCreate()-getDigitImei()-cekStatus()-getSearch()
SoapObject<<control>>
+addProperty()
MapAct<<boundary>>
+latitude+longitude+id_item
+onCreate()+onLocationChanged()+onProviderEnabled()+onProviderDisabled()+onStatusChanged()#isRouteDisplayed()#isLocationDisplayed()
SimpleOverlay<<control>>
+addOverLay()#onTap()
HttpTransportSE<<control>>
+call()
SoapSerializationEnvelope<<control>>
+setOutputSoap()
soapserver<<entity>>
+status+kuliner
+configureWSDL()+register()
OverlayItem<<control>>
+add()+createItem()
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
55
4.2.3.2 Sequence Diagram
Berikut sequence diagram dalam tahap perancangan:
Gambar 4.11 Sequence diagram ‘melihat rekomendasi’
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
56
Gambar 4.12 Sequence diagram ‘melakukan pencarian’
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
57
Gambar 4.13 Sequence diagram ‘me-rating’
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
58
Gambar 4.14 Sequence diagram ‘melihat map’
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
59
4.2.4 Perancangan Basis Data
4.2.6.1 ERD (Entitiy Relational Diagram)
Berikut entitiy relational diagram pada tahap perancangan basis data:
Gambar 4.15 Entitiy relational diagram
4.2.6.2 Struktur Basis Data
Berikut ini struktur masing-masing tabel pada basis data:
Tabel 4.14 Struktur ‘tb_admin’ pada Basis Data
Field Type Null Atribut Keterangan
username varchar(15) No PK Username Admin
password varchar(15) No Password Admin
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
60
Tabel 4.15 Struktur ‘tb_item’ pada Basis Data
Field Type Null Atribut Keterangan
id_item varchar(8) No PK Kode item
nama_item varchar(100) No Nama item
deskripsi text No Deskripsi item
alamat varchar(100) No Alamat item
jam_buka varchar(50) No Jam buka item
latitude float No Lokasi latitude item
longitude float No Lokasi longitude item
gambar text No Nama file gambar item
Tabel 4.16 Struktur ‘tb_user’ pada Basis Data
Field Type Null Atribut Keterangan
no_imei bigint(15) No PK Nomor IMEI user,
Kode user
access_count int (11) No Jumlah akses user ke sistem
Tabel 4.17 Struktur ‘tb_userprofile’ pada Basis Data
Field Type Null Atribut Keterangan
no_imei int(15) No FK, PK Kode user
id_item varchar(8) No FK, PK Kode item
nilai_rating float No Nilai rating
tanggal_rating datetime No Tanggal rating
dimasukkan
prediksi float No Prediksi nilai rating
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
61
Tabel 4.18 Struktur ‘tb_similarity’ pada Basis Data
Field Type Null Atribut Keterangan
itemx varchar(8) No PK Kode item
itemy varchar(8) No PK Kode item
similarity float No Similarity dari itemx dan itemy
4.3 Konstruksi
Tahap konstruksi terbagi dua, yaitu tahap implementasi dan pengujian.
4.3.1 Implementasi
Implementasi dibagi menjadi dua, yaitu implementasi komponen perangkat
lunak dan implementasi antarmuka perangkat lunak.
Berikut ini rancangan deployment untuk tahap implementasi :
Gambar 4.16 Deployment diagram
Implementasi komponen dapat dilihat dari implementasi kelas-kelas berikut:
Tabel 4.19 Tabel Implementasi Komponen Perangkat Lunak
No Nama Kelas Nama File Fisik
1. Pencarian SearchKulinerAct.java
2. Rekomendasi RekomendasiAct.java
3. Map MapAct.java
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
62
Lanjutan dari Tabel 4.19 Tabel Implementasi Komponen Perangkat Lunak
No Nama Kelas Nama File Fisik
4. Rating RatingAct.java
5. Pendaftaran RekomendasiAct.java
6. Ubah Kuliner tedit.php
7. Tambah Kuliner ttambah.php
Implementasi antarmuka dapat dilihat dari daftar berikut:
Tabel 4.20 Tabel Antarmuka Perangkat Lunak
No Antarmuka Nama File Fisik
1. halaman utama user main.xml
2. meminta rekomendasi kuliner_list.xml
3. melihat informasi kuliner
kuliner_detail.xml
4. me-rating kuliner_detail.xml
5. map map.xml
6. halaman utama admin indexAdmin.php
7. ubah kuliner edit.php
8. tambah kuliner tambah.php
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
63
Berikut ini screenshoot implementasi antarmuka :
Gambar 4.17 Tampilan halaman utama user (Aplikasi Client)
Gambar 4.18 Tampilan user meminta rekomendasi
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
64
Gambar 4.19 Tampilan user melihat informasi kuliner
Gambar 4.20 Tampilan me-rating
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
65
Gambar 4.21 Tampilan peta / map
Gambar 4.22 Tampilan halaman utama admin
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
66
Gambar 4.23 Tampilan admin mengubah kuliner
Gambar 4.24 Tampilan admin menambah kuliner baru
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
67
4.3.2 Pengujian
Tahap pengujian bertujuan menguji sistem dan menemukan kesalahan untuk
diperbaiki. Berikut daftar pengujian yang telah dilakukan:
Tabel 4.24 Tabel Daftar Rencana Pengujian
No Use Case Jenis Pengujian
Skenario Pengujian
Data Uji yang digunakan
Kode Uji
1. melakukan pencarian
black box memasukkan kata kunci dan menekan tombol ‘cari’
kata kunci
UC-A01
2. meminta rekomendasi
black box melihat daftar kuliner-kuliner rekomendasi
no IMEI perangkat mobile atau emulator
UC-A02
3. melihat informasi kuliner
black box memilih salah satu kuliner dari daftar rekomendasi dan melihat daftar detail kuliner tersebut
no IMEI perangkat mobile atau emulator UC-A03
4. me-rating kuliner
black box memasukkan nilai rating dan menekan tombol ‘rate’
nilai rating
UC-A04
5. melihat map black box melihat map dan melihat icon-icon kuliner-kuliner hasil rekomendasi
longitude, latitude posisi perangkat mobile dan posisi kuliner
UC-A05
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
68
Lanjutan dari Tabel 4.24 Tabel Daftar Rencana Pengujian
No Use Case Jenis Pengujian
Skenario Pengujian
Data Uji yang digunakan
Kode Uji
6. mengubah informasi kuliner
black box masuk ke halaman admin, memilih menu ubah kuliner, mengubah detail kuliner dan menyimpan hasil perubahan
alamat, deskripsi, jam buka, latitude, longitude, gambar
UC-A06
7. menambah kuliner baru
black box masuk ke halaman admin, memilih menu tambah kuliner, memasukkan informasi kuliner baru dan menyimpan kuliner baru
id kuliner, nama kuliner, alamat, deskripsi, jam buka, latitude, longitude, gambar
UC-A07
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
69
Berikut daftar hasil pengujian yang telah dilakukan :
Tabel 4.25 Tabel Hasil Pengujian ‘Melakukan Pencarian’
Kode Uji UC-A01
Deskripsi Pengujian Menguji apakah sistem dapat melakukan pencarian dengan kata kunci yang dimasukkan dan tidak melakukan pencarian dengan jumlah karakter pada kunci kurang dari 3 karakter.
Tahapan Pengujian - Memasukkan kata kunci - Menekan tombol ‘cari’ - Melihat tampilan hasi rekomendasi berdasar kata
kunci
Input Data a. kata kunci I : soto b. kata kunci II : slamet riyadi c. kata kunci III : <space> d. kata kunci IV : s e. kata kunci V : soto semarang
Hasil yang Diharapkan
a. Hasil dari masukan kata kunci I memunculkan hasil rekomendasi yang mengandung kata ‘soto’ pada field deskripsi dalam basis data b. Hasil dari masukan kata kunci II memunculkan hasil rekomendasi yang mengandung kata ‘slamet riyadi’ pada field alamat dalam basis data c. Hasil dari masukan kata kunci III memunculkan pesan kesalahan, tidak dapat melakukan pencarian d. Hasil dari masukan kata kunci IV memunculkan pesan kesalahan, tidak dapat melakukan pencarian e. Hasil dari masukan kata kunci V memunculkan tampilan hasil rekomendasi dengan hasil ‘tidak ditemukan’ karena tidak ada kata ‘soto semarang’ pada field nama, deskripsi dan alamat dalam basis data
Hasil Nyata Hasil pencarian sesuai dengan yang diharapkan
Kesimpulan Terimplementasi dengan baik
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
70
Tabel 4.26 Tabel Hasil Pengujian ‘Meminta Rekomendasi’
Kode Uji UC-A02
Deskripsi Pengujian Menguji apakah sistem dapat menampilkan hasil rekomendasi sesuai dengan status user dan pilihan rekomendasi yang diminta user
Tahapan Pengujian - Sebagai user baru memilih pencarian - Sebagai user baru memilih menu rekomendasi
utama (menu Rekomendasi ‘kami’)
Sebagai user baru memilih menu rekomendasi 10 kuliner terpopuler (menu Top Ten Most Popular)
Sebagai user lama memilih pencarian dan melihat detail hasil rekomendasi berdasar kata kunci (hasil pencarian)
o Sebagai user lama memilih menu rekomendasi utama (menu Rekomendasi ‘kami’)
o Sebagai user lama memilih menu rekomendasi 10 kuliner terpopuler (menu Most Popular)
Input Data No IMEI perangkat mobile
Hasil yang Diharapkan
- User baru mendapatkan daftar hasil rekomendasi sesuai menu yang dipilih dan untuk menu rekomendasi utama, diwajibkan mendaftar, jika tidak menyetujui pendaftaran, user masih mendapatkan status ‘User Baru’ dan hanya dapat memilih menu lain
User baru yang baru saja mendaftar dan belum
me-rating atau sudah me-rating tapi belum keluar dari aplikasi akan diberikan rekomendasi sesuai kuliner-kuliner yang terdekat dengan lokasi saat ini, dapat dicek di menu map
o User lama mendapatkan daftar hasil rekomendasi sesuai menu yang dipilih
Hasil Nyata Hasil rekomendasi baik untuk user lama maupun user baru sesuai dengan yang diharapkan
Kesimpulan Terimplementasi dengan baik
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
71
Tabel 4.27 Tabel Hasil Pengujian ‘Melihat Informasi Kuliner’
Kode Uji UC-A03
Deskripsi Pengujian Menguji apakah sistem dapat menampilkan informasi kuliner hasil rekomendasi sesuai dengan status user dan pilihan rekomendasi yang diminta user
Tahapan Pengujian - Sebagai user baru memilih pencarian dan melihat detail hasil rekomendasi berdasar kata kunci (hasil pencarian)
- Sebagai user baru memilih menu rekomendasi utama (menu Rekomendasi ‘kami’) dan melihat detail hasil rekomendasi
- Sebagai user baru memilih menu rekomendasi 10 kuliner terpopuler (menu Top Ten Most Popular) dan melihat detail hasil rekomendasi
Sebagai user lama memilih pencarian dan
melihat detail hasil rekomendasi berdasar kata kunci (hasil pencarian)
Sebagai user lama memilih menu rekomendasi utama (menu Rekomendasi ‘kami’) dan melihat detail hasil rekomendasi
Sebagai user lama memilih menu rekomendasi 10 kuliner terpopuler (menu Most Popular) dan melihat detail hasil rekomendasi
Input Data No IMEI perangkat mobile
Hasil yang Diharapkan
- User baru mendapatkan daftar hasil rekomendasi sesuai menu yang dipilih dan detail rekomendasi tanpa ada tampilan rating bar, sehingga tidak dapat memasukkan nilai rating
User lama mendapatkan daftar hasil rekomendasi sesuai menu yang dipilih dan detail rekomendasi dengan tampilan rating bar, untuk kuliner yang belum pernah di-rating, tampilan rating bar yang touchable lengkap dengan tombol ‘rate’. Jika kuliner pernah di-rating, rating bar menjadi beku dan untouchable dan tombol untuk me-rating hilang
Hasil Nyata Hasil rekomendasi dan detail informasi baik untuk user lama maupun user baru sesuai dengan yang diharapkan
Kesimpulan Terimplementasi dengan baik
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
72
Tabel 4.28 Tabel Hasil Pengujian ‘Me-rating Kuliner’
Kode Uji UC-A04
Deskripsi Pengujian Menguji user berhasil memasukkan nilai rating untuk kuliner tertentu yang pernah dikunjungi
Tahapan Pengujian - Sebagai user lama, memilih salah satu kuliner hasil rekomendasi untuk diberikan nilai rating
- Memilih nilai yang sesuai dengan selera pada rating bar
- Menekan tombol ‘rate’ - Kembali ke halaman utama, mencari kuliner yang
telah di rating dan cek apakah rating bar menjadi beku menunjukkan nilai yang telah dimasukkan sebelumnya
Input Data nilai rating : 1, 2, 3, 4, 5
Hasil yang Diharapkan
- Setelah memasukkan nilai rating, akan ditampilkan tampilan pesan nilai rating berhasil tersimpan atau tidak (jika koneksi terganggu, aplikasi akan megembalikan ke nilai ‘0’), jika user langsung menekan tombol ‘rate’ tanpa menggeser rating bar, dianggap user belum memberikan nilai rating, karena sesuai dengan asumsi dan batasan yang telah di-inisiasi sebelumnya, nilai ‘0’ berarti user belum me-rating.
- Kemudian kembali ke halaman utama, mencari kuliner yang telah di rating, hasilnya rating bar menjadi beku menunjukkan nilai yang telah dimasukkan sebelumnya
Hasil Nyata Informasi detail kuliner yang telah di-rating menunjukkan rating bar menjadi beku menunjukkan
nilai yang telah dimasukkan sebelumnya. Nilai rating telah tersimpan di basis data beserta tanggal memasukkan nilai rating.
Kesimpulan Terimplementasi dengan baik
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
73
Tabel 4.30 Tabel Hasil Pengujian ‘Melihat Map’
Kode Uji UC-A05
Deskripsi Pengujian Menguji user berhasil memasukkan nilai rating untuk kuliner tertentu yang pernah dikunjungi
Tahapan Pengujian - Melihat map - Melihat icon-icon berlabel hasil rekomendasi
Input Data Longitude, latitude posisi perangkat mobile dan tempat-tempat kuliner
Hasil yang Diharapkan
- Memilih menu Map - Tampilan map menunjukkan icon posisi user dan
posisi kuliner-kuliner hasil rekomendasi
Hasil Nyata Tampilan map dapat dilihat, dan map dapat menunjukkan icon posisi user dan posisi kuliner-kuliner hasil rekomendasi, membuktikan bahwa map dapat diakses
Kesimpulan Terimplementasi dengan baik
Tabel 4.30 Tabel Hasil Pengujian ‘Mengubah Informasi Kuliner’
Kode Uji UC-A06
Deskripsi Pengujian Menguji user berhasil memasukkan nilai rating untuk kuliner tertentu yang pernah dikunjungi
Tahapan Pengujian - Masuk ke halaman admin - Memilih menu ubah kuliner - Mengubah detail kuliner dan menyimpan hasil
perubahan
Input Data - Alamat - Deskripsi - Jam Buka - Latitude - Longitude - Gambar
Hasil yang Diharapkan
Hasil perubahan tersimpan pada basis data
Hasil Nyata Hasil perubahan tersimpan pada basis data
Kesimpulan Terimplementasi dengan baik
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
74
Tabel 4.31 Tabel Hasil Pengujian ‘Menambah Kuliner Baru’
Kode Uji UC-A07
Deskripsi Pengujian Menguji user berhasil memasukkan nilai rating untuk kuliner tertentu yang pernah dikunjungi
Tahapan Pengujian Membuka halaman admin, memilih menu tambah kuliner, memasukkan informasi kuliner baru dan menyimpan kuliner baru
Input Data - Id kuliner - Nama Kuliner - Alamat - Deskripsi - Jam Buka - Latitude - Longitude
- Gambar
Hasil yang Diharapkan
Hasil penambahan kuliner tersimpan pada basis data
Hasil Nyata Hasil penambahan kuliner tersimpan pada basis data
Kesimpulan Terimplementasi dengan baik
perpustakaan.uns.ac.id digilib.uns.ac.id
commit to user
75
BAB V
PENUTUP
5.1 Kesimpulan
Kesimpulan akhir berdasarkan penelitian yang telah dilakukan adalah bahwa
sistem perekomendasi wisata kuliner Kota Surakarta dengan metode item-based
collaborative filtering pada perangkat mobile Android dapat dibangun.
Pengujian metode yang telah dilakukan menunjukkan bahwa metode item-
based collaborative filtering dengan 5 item tetangga terdekat (neighborhood)
dapat menghasilkan prediksi dengan kualitas akurasi yang baik sehingga proses
utama (rekomendasi) dalam sistem perekomendasi wisata kuliner Kota Surakarta
yang dibangun mengimplementasikan metode item-based collaborative filtering
dengan 5 neighborhood.
5.2 Saran
Saran untuk pengembangan sistem serupa dimasa mendatang:
1. Sebaiknya data yang digunakan lebih lengkap dan observasi yang lebih
cermat untuk menghasilkan hasil pengujian yang lebih jelas dan akurat.
2. Penambahan jarak dan rute menuju tempat tujuan kuliner yang
direkomendasikan untuk memperkaya fitur aplikasi mobile.
3. Fitur pencarian dalam sistem ini masih umum (hanya mencocokkan kata
kunci dengan kata pada field nama, deskripsi dan alamat kuliner dalam
basis data), akan lebih baik jika dikembangkan dengan suatu metode
pencarian untuk memperoleh hasil pencarian yang lebih akurat,
4. Subsistem pada server untuk administrator pada aspek tampilan dan
privilage/security perlu dikembangkan agar lebih tampilan lebih menarik
dan data di server lebih aman.