Judul Nama : Rancang Bangun Sistem Rekomendasi Warung Makanan Khas Bali Menggunakan Metode Collaborative Filtering Berbasis Mobile NIM : 1208605066 Pembimbing I Pembimbing II : I Wayan Gede Purwa Darmaja : I Gusti Agung Gede Arya Kadyanan, S.Kom., M.Kom : I Komang Ari Mogi, S.Kom, M.Kom ABSTRAK Bali adalah salah satu tujuan wisata yang paling popular di dunia karena keunikan yang dimiliki oleh masyarakatnya terkait seni budaya, pariwisata, dan wisata kuliner. Namun, dengan adanya pengaruh globalisasi minat masyarakat terhadap kuliner khas Bali berkurang, karena bergesernya kuliner khas Bali atas kebudayaan asing yang masuk ke Bali. Perkembangan Ilmu Pengetahuan dan Teknologi perlu dimanfaatkan secara optimal untuk melestarikan kuliner Bali. Sistem rekomendasi dapat membantu dalam mengenalkan masakan khas Bali dengan membangun aplikasi warung bali berbasis android. Sistem rekomendasi adalah sistem yang memberikan rekomendasi untuk pengguna (user) dalam mencari atau menemukan sebuah produk atau informasi yang diperlukan untuk memilih produk tersebut. Keberhasilan mengembangkan aplikasi warung bali menggunakan metode collaborative filtering dengan algoritma slope one memberikan rekomendasi kepada user dengan rekomendasi yang diberikan terdiri atas 2 macam, yaitu rekomendasi umum, dimana rekomendasi yang diberikan sama dengan user lainnya dan rekomendasi berdasarkan perhitungan slope one, dimana user sudah memberikan rating pada warung sehingga rekomendasi yang diberikan berbeda dengan user lainnya. Pengujian dengan menggunakan MAE (Mean Average Error) pada sistem warung bali mendapatkan nilai kurang dari 1,000. Semakin rendah MAE maka keakuratan dari nilai prediksi memberikan rekomendasi yang baik bagi user. Kata Kunci: Aplikasi Warung Bali, Collaborative Filtering, Slope One, Android iv
Title Name Registration : 1208605066 : Design of Recommended Balinese Food Stalls by Using Mobile- Based Collaborative Filtering Methods : I Wayan Gede Purwa Darmaja First Supervisor : I Gusti Agung Gede Arya Kadyanan, S.Kom., M.Kom Second Supervisor: I Komang Ari Mogi, S.Kom, M.Kom ABSTRACT Bali is one of the most popular tourist destinations in the world because of the uniqueness of its people related to arts and culture, tourism and culinary tourism. However, with the influence of globalization, the public interest in the Balinese culinary is declining, because of the shifting from typical cuisine of Bali to the entry of foreign cultures to Bali. The development of science and technology should be utilized optimally to preserve the culinary of Bali. System of recommendation can help in promoting the Balinese cuisine by building an application of Android-based recommended Balinese food stalls. Recommendation system is a system that provides recommendation for the users in the search for a product or information necessary in order to choose the product. The success of developing the recommended Balinese food stall applications by using collaborative filtering method with algorithms of slope one offers two kinds of recommendations to the users, i.e. a general recommendation, which is given together with other users and recommendation that based on the calculation of slope one, where the user has given a rating on the stalls so that the recommendations given is different from those of other users. The tests using MAE (Mean Average Error) on the system of the Balinese stalls obtained a value of less than 1.000. The lower the MAE, the accuracy of the predicted value will give good recommendations for the users. Keywords: Application of Balinese Food Stalls, Collaborative Filtering, Slope One, Android v
KATA PENGANTAR Puji syukur peneliti panjatkan kehadapan Tuhan Yang Maha Esa, karena berkat rahmat dan karunia-nya, Laporan Tugas Akhir dengan judul rancang bangun sistem rekomendasi warung makanan khas Bali menggunakan metode collaborative filtering berbasis mobile. Proposal ini diharapkan dapat menjadi pedoman dan arahan dalam melaksanakan penelitian. Sehubungan dengan telah terselesaikannya laporan tugas akhir, maka peneliti mengucapkan terima kasih dan penghargaan kepada berbagai pihak yang telah membantu proposal ini, antara lain: 1. Bapak I Gusti Agung Gede Arya Kadyanan, S.Kom., M.Kom sebagai pembimbing 1 yang telah mengkritisi, memeriksa, membimbing, dan menyempurnakan Laporan Tugas Akhir ini. 2. Bapak I Komang Ari Mogi, S.Kom, M.Kom sebagai pembimbing 2 yang telah mengkritisi, memeriksa, membimbing, dan menyempurnakan Laporan Tugas Akhir ini. 3. Bapak Agus Muliantara, S.Kom., M.Kom. selaku Ketua Jurusan Ilmu Komputer Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Udayana yang telah banyak memberikan masukan dan motivasi sehingga memperlancar dalam proses pelaksanaan penelitian ini. 4. Bapak/Ibu dosen di Jurusan Ilmu Komputer, yang telah meluangkan waktu turut memberikan saran dan masukan dalam penyempurnaan Laporan Tugas Akhir. 5. Semua pihak yang telah memberi dukungan sehingga proposal ini dapat diselesaikan sesuai dengan waktu yang ditentukan. Disadari pula bahwa sudah tentu laporan ini masih mengandung kelemahan dan kekurangan. Memperhatikan hal ini, maka masukan dan saran saran penyempurnaan sangat diharapkan. Bukit Jimbaran, Agustus 2016 Penyusun I Wayan Gede Purwa Darmaja vi
DAFTAR ISI HALAMAN JUDUL.....i LEMBAR PENGESAHAN TUGAS AKHIR... iii ABSTRAK... iv ABSTRACT... v KATA PENGANTAR... vi DAFTAR ISI... vii DAFTAR TABEL... x DAFTAR GAMBAR... xi DAFTAR LAMPIRAN... xvi BAB I PENDAHULUAN... 1 1.1. Latar Belakang... 1 1.2. Rumusan Masalah... 2 1.3. Batasan Masalah... 3 1.4. Tujuan... 3 1.5. Manfaat... 4 1.6. Metodelogi Penelitian... 4 1.6.1. Pengumpulan Data... 4 1.6.2. Metode Pengembangan... 5 BAB II TINJAUAN PUSTAKA... 7 2.1. Rancang Bangun... 7 2.2. Konsep Sistem... 7 2.2.1. Karakteristik Sistem... 7 2.2.2. Klasifikasi Sistem... 9 2.3. Sistem Rekomendasi... 10 2.4. Collaborative Filtering... 11 vii
2.4.1. Slope One... 12 2.5. Pemrograman Berbasis Mobile... 14 2.5.1. Android... 14 2.5.2. Java... 14 2.5.3. SDK (Software Development Kit)... 15 2.5.4. JDK (Java Development Kit)... 15 2.6. PHP (Hypertext Preprocessor)... 15 2.7. Database... 16 2.8. Flowchart... 17 2.9. UML (Unified Modeling Language)... 18 2.10. Pengembangan Sistem dengan Metode Throwaway Prototype... 21 2.10.1. Tahapan Tahapan Throwaway Prototype... 22 BAB III LISIS DAN PERANCANGAN... 24 3.1. Analisis Kebutuhan... 25 3.1.1. Kebutuhan Fungsional... 25 3.1.2. Kebutuhan Non Fungsional... 26 3.2. Analisis Algoritma Slope One... 27 3.3. Gambaran Umum Sistem... 30 3.4. Model Analisis... 31 3.4.1. Flowchart... 31 3.4.2. ERD (Entity Relationship Diagram)... 33 3.4.3. CDM (Conceptual Data Model)... 34 3.4.4. UML (Unified Modeling Language)... 35 3.5. Desain Data... 78 3.5.1. PDM (Physical Data Model)... 78 3.5.2. Struktur Data... 78 viii
3.6. Desain Antarmuka... 82 3.6.1. Desain Antarmuka Mobile... 82 3.6.2. Desain Antarmuka Website... 88 3.7. Skenario Pengujian Sistem... 94 3.7.1. White Box Testing... 94 3.7.2. Black Box Testing... 95 3.7.3. Stress Testing... 96 3.7.4. Accuracy Testing... 97 BAB IV HASIL DAN PEMBAHASAN... 98 4.1. Pengumpulan Data... 98 4.2. Lingkunan Implementasi... 98 4.3. Implementasi Sistem... 99 4.3.1. Implementasi Database... 99 4.3.2. Implementasi Slope One... 103 4.3.3. Implementasi Desain Antarmuka... 107 4.4. Pengujian Sistem... 121 4.4.1. White Box Testing... 121 4.4.2. Black Box Testing... 128 4.4.3. Stress Testing... 130 4.4.4. Accuracy Testing... 132 BAB V KESIMPULAN DAN SARAN... 136 5.1. Kesimpulan... 136 5.2. Saran... 137 DAFTAR PUSTAKA... 138 ix
DAFTAR TABEL Tabel Halaman Tabel 2. 1 Komponen Flowchart... 17 Tabel 3. 1 Tabel Kebutuhan Fungsional... 25 Tabel 3. 2 Contoh Dataset Rating Untuk Proses Rekomendasi... 27 Tabel 3. 3 Nilai Rata Rata Selisih Rating... 28 Tabel 3. 4 Nilai card(sj, iχ)... 28 Tabel 3. 5 Nilai Prediksi untuk User Warung yang Tidak di-ranting... 29 Tabel 3. 6 Deskripsi Aktor Use Case... 36 Tabel 3. 7 Deskripsi Use Case... 36 Tabel 3. 8 Hubungan Class dengan Use Case.... 75 Tabel 3. 9 Tabel Admin... 79 Tabel 3. 10 Tabel User... 79 Tabel 3. 11 Tabel Warung... 79 Tabel 3. 12 Tabel Menu... 80 Tabel 3. 13 Tabel Warungrating... 80 Tabel 3. 14 Tabel Menurating... 80 Tabel 3. 15 Tabel Linkratingdifference... 81 Tabel 3. 16 Tabel Linksslope... 81 Tabel 3. 17 Tabel Linksprediksi... 81 Tabel 3. 18 Rancangan Black Box Testing... 95 Tabel 3. 19 Tabel Ambang Batas Kinerja untuk Website (Paessler)... 96 Tabel 4. 1 Daftar Spesifikasi Perangkat keras... 98 Tabel 4. 2 Daftar Perangkat Lunak... 99 Tabel 4. 3 Graf Matrik Selisih Rating... 122 Tabel 4. 4 Graf Matrik Rata Rata Selisih Rating... 125 Tabel 4. 5 Graf Matrik Prediksi... 128 Tabel 4. 6 Black Box Testing... 128 Tabel 4. 7 Halaman untuk Pengujian Stress... 130 Tabel 4. 8 Istilah pada Stress Testing... 132 Tabel 4. 9 Accuracy Testing... 134 x
DAFTAR GAMBAR Gambar Halaman Gambar 2. 1 Taksonomi Recommender System (Masruri dan Mahmudy, 2007)... 10 Gambar 2. 2 Item-based Collaborative Filtering (Daniar, 2011)... 11 Gambar 2. 3 Basis Slope One Schemes (Daniel dan Anna, 2005)... 13 Gambar 2. 4 Skema PHP... 16 Gambar 2. 5. Use Case Diagram... 19 Gambar 2. 6. Sequence Diagram... 19 Gambar 2. 7. Activity Diagram... 20 Gambar 2. 8. Class Diagram... 21 Gambar 2. 9. Model Throwaway Prototype (Wiley, 2005)... 21 Gambar 3. 1 Gambaran Umum Sistem Rekomendasi Warung Khas Bali... 30 Gambar 3. 2 Flowchart Rata Rata Selisih Rating Slope One... 32 Gambar 3. 3 Flowchart Prediksi Slope One... 33 Gambar 3. 4 Entity Relationship Diagram Sistem Rekomendasi... 34 Gambar 3. 5 Conceptual Data Model Sistem Rekomendasi... 35 Gambar 3. 6 Use Case Diagram Sistem... 38 Gambar 3. 7 Activity Diagram Login untuk Admin... 39 Gambar 3. 8 Activity Diagram Login untuk User... 40 Gambar 3. 9 Activity Diagram Registrasi untuk User... 41 Gambar 3. 10 Activity Diagram Insert Warung... 42 Gambar 3. 11 Activity Diagram Update Warung... 43 Gambar 3. 12 Activity Diagram Delete Warung... 44 Gambar 3. 13 Activity Diagram Insert Menu... 45 Gambar 3. 14 Activity Diagram Update Menu... 46 Gambar 3. 15 Activity Diagram Delete Menu... 47 Gambar 3. 16 Activity Diagram Manage Slope One... 48 Gambar 3. 17 Activity Diagram Manage View pada Sistem... 49 xi
Gambar 3. 18 Activity Diagram Proses Pemberian Rekomendasi untuk User... 50 Gambar 3. 19 Activity Diagram Manage Page Warung dan Add Rating... 51 Gambar 3. 20 Activity Diagram Manage Page Warung dan Update Rating... 52 Gambar 3. 21 Activity Diagram Manage Page Warung dan Delete Rating... 52 Gambar 3. 22 Activity Diagram Edit Profil... 53 Gambar 3. 23 Sequence Diagram Login Admin... 54 Gambar 3. 24 Sequence Diagram Login User... 55 Gambar 3. 25 Sequence Diagram Register... 56 Gambar 3. 26 Sequence Diagram Insert Warung... 57 Gambar 3. 27 Sequence Diagram Update Warung... 58 Gambar 3. 28 Sequence Diagram Delete Warung... 59 Gambar 3. 29 Sequence Diagram Insert Menu... 60 Gambar 3. 30 Sequence Diagram Update Menu... 61 Gambar 3. 31 Sequence Diagram Delete Menu... 62 Gambar 3. 32 Sequence Diagram Manage Slope One... 63 Gambar 3. 33 Sequence Diagram Manage View... 65 Gambar 3. 34 Sequence Diagram Proses Pemberian Rekomendasi... 66 Gambar 3. 35 Sequence Diagram Manage Page Warung dan Add Rating... 68 Gambar 3. 36 Sequence Diagram Edit Rating... 69 Gambar 3. 37 Sequence Diagram Delete Rating... 70 Gambar 3. 38 Sequence Diagram Edit Profil... 71 Gambar 3. 39 Class Diagram pada Sistem Web... 72 Gambar 3. 40 Class Diagram pada Sistem Mobile... 73 Gambar 3. 41 Class Diagram pada Sistem Mobile Lanjutan... 74 Gambar 3. 42 Physical Data Model Sistem... 78 Gambar 3. 43 Rancangan Antarmuka Login... 82 Gambar 3. 44 Rancangan Antarmuka Registrasi... 83 xii
Gambar 3. 45 Rancangan Antarmuka Halaman Awal... 83 Gambar 3. 46 Rancangan Antarmuka Page Warung... 84 Gambar 3. 47 Rancangan Antarmuka Dialog Rating Warung... 84 Gambar 3. 48 Rancangan Antarmuka Page Warung Teranting... 84 Gambar 3. 49 Rancangan Antarmuka Page Menu... 85 Gambar 3. 50 Rancangan Anatrmuka Dialog Rating Menu... 85 Gambar 3. 51 Rancangan Antarmuka Page Menu Teranting... 86 Gambar 3. 52 Rancangan Antarmuka List Komentar atau Review... 86 Gambar 3. 53 Rancangan Antarmuka Account... 87 Gambar 3. 54 Rancangan Antarmuka Setting Account Edit Data Profil 87 Gambar 3. 55 Rancangan Antarmuka Setting Account Username dan Password... 87 Gambar 3. 56 Rancangan Antarmuka Geografis... 88 Gambar 3. 57 Rancangan Antarmuka Login... 89 Gambar 3. 58 Rancangan Antarmuka Manage Warung... 89 Gambar 3. 59 Rancangan Antarmuka Add Warung... 90 Gambar 3. 60 Rancangan Antarmuka Edit Warung... 90 Gambar 3. 61 Rancangan Antarmuka Delete Warung... 91 Gambar 3. 62 Rancangan Antarmuka Manage User... 91 Gambar 3. 63 Rancangan Antarmuka Manage Menu... 92 Gambar 3. 64 Rancangan Antarmuka Add Menu... 92 Gambar 3. 65 Rancangan Antarmuka Edit Menu... 93 Gambar 3. 66 Rancangan Antarmuka Delete Menu... 93 Gambar 3. 67 Rancangan Antarmuka Manage Slope One... 94 Gambar 4. 1 Database Diagram... 100 Gambar 4. 2 Antarmuka Login... 107 Gambar 4. 3 Antarmuka Registrasi... 108 Gambar 4. 4 Antarmuka Halaman Awal... 108 Gambar 4. 5 Antarmuka Page Warung... 109 Gambar 4. 6 Antarmuka Dialog Rating Warung... 109 Gambar 4. 7 Antarmuka Page Warung Teranting... 110 xiii
Gambar 4. 8 Antarmuka Dialog Setting Rating... 110 Gambar 4. 9 Antarmuka Page Menu... 110 Gambar 4. 10 Antarmuka Dialog Rating untuk Menu... 110 Gambar 4. 11 Antarmuka Page Menu Teranting... 111 Gambar 4. 12 Antarmuka Dialog Setting Rating Menu... 111 Gambar 4. 13 Antarmuka List Review... 111 Gambar 4. 14 Antarmuka Account... 112 Gambar 4. 15 Antarmuka Account Toolbar... 112 Gambar 4. 16 Antarmuka Setting Account User... 113 Gambar 4. 17 Antarmuka Setting Password Account... 113 Gambar 4. 18 Antarmuka Setting Username... 113 Gambar 4. 19 Antarmuka Geografis... 113 Gambar 4. 20 Antarmuka Login... 114 Gambar 4. 21 Antarmuka Manage Warung... 115 Gambar 4. 22 Antarmuka Add Warung... 115 Gambar 4. 23 Antarmuka Edit Warung... 116 Gambar 4. 24 Antarmuka Delete Warung... 116 Gambar 4. 25 Antarmuka Manage Menu... 117 Gambar 4. 26 Antarmuka Add Menu... 117 Gambar 4. 27 Antarmuka Edit Menu... 118 Gambar 4. 28 Antarmuka Delete Menu... 118 Gambar 4. 29 Antarmuka Manage User... 119 Gambar 4. 30 Antarmuka Manage Admin... 119 Gambar 4. 31 Antarmuka Manage Slope One... 120 Gambar 4. 32 Antarmuka Manage Slope One Data Rating... 120 Gambar 4. 33 Diagram Alir Pseudocode Fungsi Selisih Rating... 122 xiv
Gambar 4. 34 Diagram Alir Pseudocode Fungsi Rata Rata Selisih Rating... 124 Gambar 4. 35 Diagram Alir Pseudocode Fungsi Prediksi... 127 Gambar 4. 36 Stress Testing 100 2000 User... 131 xv
DAFTAR LAMPIRAN Lampiran 1. BlackBox Testing 2. Stress Testing xvi