http://ejurnal.stmik-budidarma.ac.id/index.php/jurikom
Rancang Bangun Aplikasi Rekomendasi Restoran Menggunakan Metode K-Nearest Neighbors dan Content-Based Filtering
Suwarno*, Jon Susanto
Fakultas Ilmu Komputer, Sistem Informasi, Universitas Internasional Batam, Batam Sei Ladi, Jl. Gajah Mada, Baloi Permai, Kec. Sekupang, Batam, Indonesia
Email: 1,*[email protected], 2[email protected] Email Penulis Korespondensi : [email protected] Submitted 14-02-2022; Accepted 17-02-2022; Published 25-02-2022
Abstrak
Bisnis kuliner merupakan bisnis yang menjanjikan saat ini karena makanan dan minuman merupakan kebutuhan pokok. Hal tersebut dapat terlihat dari banyaknya cafe, restoran atau rumah makan di Kota Batam. Seiring pertumbuhan bisnis kuliner yang pesat, variasi makanan pun menjadi semakin beragam, sehingga membuat konsumen menjadi semakin sulit dalam memilih dan menentukan makanan yang, baik berdasarkan cita rasa maupun kemudahan akses. Maka, diperlukan diperlukan sistem yang dapat memberikan rekomendasi makanan atau restoran yang cocok dan terbaik kepada pengguna. Penelitian ini merancang dan membangun sistem rekomendasi menggunakan K-Nearest Neighbors yang berfungsi merekomendasi restoran dengan jarak yang terdekat, sementara Content-Based Filtering berfungsi untuk merekomendasi makanan yang sesuai dengan preferensi pengguna. Sistem dibangun dalam bentuk aplikasi berbasis mobile sehingga user dapat mengakses dan mendapatkan rekomendası yang lebih relevan. Hasil dari implementasi sistem yang dibangun mendapatkan respon yang cukup baik dari pengguna, yang dimana pengguna memberi tingkat kepuasan sebesar 79.2% pada rekomendasi restoran dan juga 71.2% pada rekomendasi makanan.
Kata Kunci: Sistem Rekomendasi; K-Nearest Neighbors; Content-Based Filtering Abstract
The culinary business is a promising business today because food and beverages are basic needs. This can be seen from the number of cafes, restaurants or restaurants in Batam City. Along with the rapid growth of the culinary business, the variety of food is becoming increasingly diverse, thus making it increasingly difficult for consumers to choose and determine the right food, both based on taste and ease of access. Therefore, it is necessary to need a system that can provide the user with the best and most suitable food or restaurant recommendations. This study designs and builds a recommendation system using K-Nearest Neighbors which functions to recommend restaurants with the closest distance, while Content-Based Filtering functions to recommend foods according to user preferences. The system is built in the form of a mobile-based application so that users can access and get more relevant recommendations.
Keywords: Recommendation System; K-Nearest Neighbors; Content-Based Filtering
1. PENDAHULUAN
Pada masa revolusi digital saat ini, manusia semakin dipermudah dengan munculnya teknologi yang mempermudah aktivitas sehari-hari. Masyarakat dapat mengakses informasi yang mereka butuhkan melalui mesin pencari berbasis internet, contohnya informasi kuliner. Bisnis kuliner merupakan bisnis yang akan selalu ada karena makanan merupakan kebutuhan primer manusia. Oleh karena itu, banyak orang yang menjalankan usaha kuliner dan melakukan promosi melalui digital marketing. Digital marketing merupakan salah satu strategi yang dapat meningkatkan jumlah konsumen bidang usaha kuliner [1]. Banyak cara untuk mempromosikan produk kepada konsumen secara digital, seperti membuat video review produk, memberikan info atau saran melalui smartphone ataupun website.
Smartphone sudah dapat dikategorikan menjadi salah satu kebutuhan pokok masyarakat saat ini. Dengan adanya smartphone, kita dapat mempersingkat waktu yang diperlukan untuk mengakses informasi yang berada pada mesin pencari berbasis internet. Indonesia memiliki jumlah penduduk sebesar 272,1 juta orang. Pada tahun 2020, jumlah masyarakat yang menggunakan internet berjumlah sekitar 175,4 juta orang. Hal yang menarik adalah, terdapat 338.2 juta unit smartphone yang terhubung dengan internet. Dapat disimpulkan rata-rata penduduk indonesia, memiliki smartphone lebih dari satu.
Selama 1 tahun mulai dari Januari 2019 jumlah perangkat yang terhubung dengan internet meningkat sebanyak 17%. Pada sisi yang lain, sosial media merupakan salah satu saran yang paling banyak digunakan oleh masyarakat, pengguna sosial media dapat mencapai 160 juta orang. Jika dibandingkan dari Januari 2019 pengguna sosial media meningkat sebesar 8.1%
atau sebesar 12 juta jiwa [2].
Batam bukan hanya sebagai kota industry, tetapi juga disebut sebagai kota pariwisata karena makanannya yang beraneka ragam. Kita dapat mencari informasi kuliner yang ada di Batam melalui sosial media ataupun search engine. Salah satu contoh search engine berbasis geografis, yang mana secara global yang paling populer adalah Google Maps, yang memungkinkan pengguna mengetahui lokasi suatu tempat. Namun itu tidak menjamin bahwa informasi kuliner yang diinginkan dapat ditemukan. Hal itu dikarenakan tidak semua rumah makan terdaftar ataupun dapat dicari menggunakan Google Map. Kemudian karena banyaknya informasi yang bisa didapatkan, masyarakat ataupun wisatawan kesulitan atau membutuhkan waktu yang lama untuk menentukan restoran atau tempat makan yang mana harus mereka kunjungi. Karena itu, para pengguna memerlukan sebuah teknologi yang dapat merekomendasi suatu barang dari sumber yang sangat luas dan sesuai dengan preferensi mereka [3]. Sistem rekomendasi merupakan salah satu teknik yang populer dan banyak digunakan karena dapat berjalan secara otomatis untuk menganalisis data dan menghasilkan sebuah prediksi rekomendasi kepada pengguna [4].
http://ejurnal.stmik-budidarma.ac.id/index.php/jurikom Dalam pembuatan sistem rekomendasi terdapat terdapat beberapa macam metode yang dapat digunakan seperti Collaborative Filtering, merupakan suatu metode yang memberi rekomendasi dari kesamaan pengguna. Metode ini mengevaluasi rating yang diberikan dengan seluruh rating yang ada. Semakin banyak data rating yang disimpan, maka performanya semakin baik [5]. Kemudian terdapat Content-Based Filtering, merupakan suatu metode yang memprediksi keterkaitan suatu barang dengan barang lain berdasarkan konten yang ada [6]. Terakhir Hybrid Filtering, merupakan metode yang menggabungkan lebih dari satu pendekatan sistem rekomendasi, seperti penggabungan antara collaborative filtering dengan content-based filtering [7].
Berdasarkan permasalahan yang ada, diperlukan sebuah sistem yang dapat memberikan rekomendasi makanan dan restoran kepada pengguna menggunakan metode K-Nearest Neighbors dan Content-Based Filtering.
Terdapat beberapa penelitian yang mengembangkan sistem rekomendasi seperti penelitian yang dilakukan oleh Rahardja dan teman-teman di tahun 2019, membahas tentang pembangunan sistem rekomendasi laptop pada aplikasi website [8]. Penelitian tersebut menggunakan K-Nearest Neighbors sebagai metode rekomendasinya. Pada tahap pengembangan menggunakan euclidean untuk melakukan perhitungan perbedaan jarak antara data baru dengan data training. Hasil akhir dari penelitian tersebut mengharuskan pengguna untuk memasukkan beberapa pertanyaan yang diberikan sistem sebagai perbandingan atau acuan untuk merekomendasi laptop beserta details, dan link website dari merek laptop tersebut.
Pada penelitian yang dilakukan oleh Rosyidi dan teman-teman di tahun 2017 mengembangkan sebuah aplikasi yang mempermudah penggunanya untuk mengetahui informasi cuaca yang akan terjadi [9]. Sistem tersebut dibangun dengan menggunakan Laravel Framework dan metode K-Nearest Neighbors untuk menentukan cuaca yang akan dilalui oleh pengguna. Penelitian ini mencakup beberapa tahap pengembangan aplikasi seperti penentuan nilai k, persiapan data training dan perhitungan untuk mendapatkan rekomendasi. Pengujian dilakukan dengan cara melakukan ekstraksi data dari BMKG, dengan tujuan untuk mengetahui keberhasilan sistem dalam memprediksi cuaca saat itu. Tingkat keakuratan yang telah dibangun adalah sebesar 73% dari 60 data lokasi pos hujan yang dipilih untuk diuji coba dengan menggunakan klasifikasi tetangga terdekat 3 (k=3) dalam K-Nearest Neighbors.
Penelitian yang dilakukan oleh Reddy dan teman-teman di tahun 2019 bertujuan untuk membangun sistem rekomendasi film kepada user dengan menggunakan metode Content-Based Filtering [10]. Dalam sistem rekomendasinya dan menggunakan konten genre pada film sebagai penentu dalam menentukan korelasi atau keterkaitan antara suatu film dengan film lainnya dengan menggunakan dataset Movie Lens dan analysis tool R.
Dalam penelitian Alkaff dan teman-teman di tahun 2019 mengembangkan sistem yang dapat merekomendasikan buku dengan menggunakan Content-Based Filtering [11]. Dalam penelitian tersebut juga menjelaskan bagaimana pemrosesan data seperti case folding, filtering dan seterusnya. Kemudian, dilanjutkan perhitungan untuk mendapatkan rekomendasi dengan menggunakan bahasa pemrograman PHP dan sistem yang berbasis website.
2. METODOLOGI PENELITIAN
2.1 Alur Perancangan
Berikut merupakan gambar dari alur perancangan sistem dengan tahapan sebagai berikut:
Gambar 1. Alur Perancangan a. Studi Pustaka
Perancangan aplikasi dimulai dengan penulisan latar belakang dari permasalahan yang sedang dihadapi, dan melakukan studi literatur dari beberapa sumber seperti artikel ilmiah, internet, ataupun buku yang berhubungan tentang penelitian ini.
b. Perancangan Sistem
Tahap ini dilakukan untuk menentukan fitur-fitur apa saja yang diimplementasikan pada aplikasi ini, guna mempermudah tahap implementasi. Rancang struktur yang dibangun adalah database, Use Case Diagram, alur kerja sistem dan User Interface untuk mempermudah user dalam penggunaan aplikasinya.
c. Implementasi
Tahap implementasi bertujuan untuk membuat aplikasi sesuai dengan rancangan pada tahap sebelumnya. Setelah memastikan bahwa aplikasi dapat berjalan dengan baik, maka selanjutnya membuat aplikasi yang dapat terintegrasi
http://ejurnal.stmik-budidarma.ac.id/index.php/jurikom d. Pengujian Projek
Setelah melewati tahap implementasi, dilaksanakan pengujian untuk memastikan metode rekomendasi dan fitur-fitur sistem dapat berjalan dengan baik.
2.2 Metode Pengembangan
Pada pengembangan penelitian ini menggunakan model ADDIE (Analysis, Design, Development, Implementation, and Evaluation), model ini menjelaskan metode pengembangan aplikasi dalam lima tahap [12].
Gambar 2. Model ADDIE
Dapat dilihat pada gambar 2, model ADDIE yang didalamnya terdapat tahapan sebagai berikut:
a. Analysis
K-Nearest Neighbors adalah salah metode yang dapat mengklasifikasikan suatu obyek berdasarkan jarak paling dekat dalam data pembelajaran terhadap suatu obyek yang baru. Data tersebut yang kemudian digolongkan dengan jumlah K yang terdekat dari data pembelajaran. Berikut alur proses metode K-Nearest Neighbors:
1. Inisialisasi jumlah titik K dari pusat.
2. Persiapan data yang digunakan untuk training.
3. Menghitung jarak data obyek dengan data training menggunakan perhitungan Euclidean Distance. Berikut adalah rumus perhitungannya:
𝑑𝑖𝑠 = √(𝑥1− 𝑥2)2+ (𝑦1− 𝑦2)2 (1)
Pada Euclidean Distance terdapat 2 titik jarak yang akan dihitung, yaitu (𝑥1, 𝑦1) dan (𝑥2, 𝑦2). Nilai 𝑥1 menandakan latitude pada obyek yang yang baru, sedangkan 𝑥2 menandakan latitude pada obyek pembelajaran. 𝑦1 merupakan longitude pada obyek yang yang baru, sedangkan 𝑦2 menandakan longitude pada obyek pembelajaran. Hasil dari perhitungan tersebut menunjukan berapa perbedaan jarak dari suatu titik ke titik lainnya sehingga semakin kecil hasilnya maka semakin dekat pula kedua obyek tersebut. Content-Based Filtering merupakan salah satu metode yang banyak digunakan dalam pembuatan sistem rekomendasi. Content-Based Filtering memberikan rekomendasi berdasarkan kemiripan suatu barang dengan barang sebelumnya. Kemiripan didapatkan dari data yang dikandung dalam item sebelumnya, seperti deskripsi, genre, kategori, dan masih banyak lagi. Berikut adalah alur proses dari metode Content- Based Filtering:
1. Data Processing.
2. Perhitungan Weighted Tree Similarity.
3. Mengambil 5 data yang tertinggi pada hasil perhitungan.
4. Menampilkan rekomendasi.
Data tersebut dihitung menggunakan Cosine Similarity yang memiliki rumus sebagai berikut:
𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 = ∑𝑛𝑖=1𝑎𝑖𝑏𝑖
√∑𝑛𝑖=1𝑎𝑖2.∑𝑛𝑖=1𝑏𝑖2
(2)
a: besaran bobot dari item sebelumnya.
b: besaran bobot dari item yang dihitung kemiripannya.
Setelah melakukan perhitungan, semakin besar hasilnya maka kedua item tersebut semakin mirip. Penggunaan Content- Based Filtering tidak membutuhkan preferensi atau data user sehingga dapat mengatasi masalah cold-start [6].
b. Design
Pada tahap design, merancang struktur database, yang terdiri dari tabel dan relasinya. Terakhir merancang user interface pada aplikasi.
c. Development
http://ejurnal.stmik-budidarma.ac.id/index.php/jurikom Setelah selesai pada tahap design, melakukan pengembangan aplikasi berdasarkan perancangan sebelumnya menggunakan bahasa pemrograman Dart. Pada pengembangan aplikasi ini juga menggunakan Google Maps API untuk menampilkan lokasi geografis. Sementara, koneksi database terhadap aplikasi mobile disalurkan melalui API.
d. Implementation
Pada implementasi, memasukkan data set dan melakukan pengujian pada aplikasi.
e. Evaluation
Setelah tahap implementasi, dilakukan evaluasi untuk menilai hasil dari perancangan dan implementasi dari penelitian menggunakan pengujian black box.
3. HASIL DAN PEMBAHASAN
3.1 Alur Kerja Sistem
Berikut merupakan alur kerja sistem yang dibangun:
Gambar 3. Alur Kerja Sistem
Dimulai setelah user melakukan login. Sistem akan meminta izin untuk mengakses lokasi dari user. Melalui lokasi yang didapatkan, sistem akan menjalankan metode K-Nearest Neighbors untuk mendapatkan rekomendasi restoran yang paling dekat dan menampilkannya. User dapat memilih salah satu restoran dan melihat details dari restoran tersebut beserta dengan daftar makanannya. Jika user memilih salah satu makanan pada restoran, sistem akan menjalankan metode Content- Based Filtering untuk mendapatkan rekomendasi makanan yang serupa.
3.2 Use Case Diagram
Berikut merupakan Use Case Diagram dari sistem yang dibangun.
http://ejurnal.stmik-budidarma.ac.id/index.php/jurikom
Gambar 4. Use Case Diagram
Use Case Diagram berfungsi untuk mendeskripsikan interaksi antara user dengan sistem yang telah dibuat. Pengguna dapat menggunakan fitur seperti main menu yang memungkinkan user untuk mendapatkan rekomendasi dan details dari restoran dan makanan, add untuk menambahkan data restoran dan makan, like untuk melihat list makanan yang pernah di like sebelumnya, dan profile untuk memperbarui data diri dan password.
3.3 Entity Relationship Diagram
Entity Relationship Diagram merupakan rancangan database dan relasi antar entitas. Entity Relationship Diagram dari sistem yang dibangun didalamnya terdapat tabel login sebagai master tabel. Kemudian terdapat tabel restoran sebagai penyimpanan data restoran, food untuk menyimpan data makanan, like_food untuk menyimpan data makanan yang disukai, temp_recom_knn sebagai penampung data sementara dari perhitungan jarak menggunakan metode K-Nearest Neighbors, serta temp_recom_consine sebagai penampung data sementara dari cosine similarity pada metode Content-Based Filtering berikut merupakan gambar Entity Relationship Diagram sistem.
Gambar 5. Entity Relationship Diagram 3.4 K-Nearest Neighbors
Data yang dibutuhkan sebelum menjalankan rekomendasi adalah lokasi user saat itu berupa latitude dan longitude yang memiliki type data double, dan user_id dengan type data int. Kemudian, menentukan nilai K yang berfungsi untuk
http://ejurnal.stmik-budidarma.ac.id/index.php/jurikom menentukan berapa subjek terdekat pada obyek baru. Setelah itu, sistem mengambil semua data restoran dan dihitung dengan euclidean distance. Berikut adalah contoh perhitungan dari K-Nearest Neighbors, misalnya saat ini berlokasi pada Alun- Alun Batam Center dengan koordinat latitude 1.1287445257804856 dan longitude 104.05459371710603. Berarti nilai 𝑥1
1.1287445257804856, 𝑦1 104.05459371710603 dan 𝑥2 𝑦2 didapatkan. Dari restoran yang dihitung jaraknya sebagai contoh Ayam Geprek Mahkota, Greenland dengan latitude 1.1265576053446344 dan longitude 104.0465275859436, jika dihitung perbandingan jaraknya maka didapatkan hasil 0.0083573376694788, berikut merupakan nilai yang dimasukan dalam perhitungan euclidean distance.
𝑑𝑖𝑠 = √(1.1287445257804856 − 1.1265576053446344)2+ (104.05459371710603 − 104.04652758594364)2 𝑑𝑖𝑠 = √(0.0021869204358511)2+ (0.0080661311623942)2
𝑑𝑖𝑠 = √0.000004782620992743166 + 0.0000650624719289468 𝑑𝑖𝑠 = √0.00006984509292168997
𝑑𝑖𝑠 = 0.0083573376694788
Kemudian terdapat contoh beberapa data yang telah dihitung jaraknya.
Tabel 1. Contoh Data Menggunakan Perhitungan Euclidean Distance
Nama Restoran Latitude Longitude Distance
Ayam Geprek Mahkota, Greenland 1.1265576053446344 104.04652758594364 0.0083573376694788 Ikan Bakar Cianjur, Engku Putri 1.127901004108922 104.0511160460076 0.0035785087786962 Rumah Makan Sunda Ibu Joko, Batam Center 1.1312054221264614 104.046941211641 0.0080384607181959 Batam Seblak, Jodoh 1.157976139026896 104.005070955169 0.057506444533279 Kedai Ayam Menantang, Tiban Centre 1.1136474285978986 103.9818891771906 0.074255454127257
Setelah dihitung, data disimpan ke dalam temp_recom_knn. Kemudian, data diurut berdasarkan jarak terkecil, dan jumlah total data yang akan direkomendasi adalah sebanyak nilai K. Kemudian, semua data yang telah disimpan dalam temp_recom_knn akan ditampilkan kepada pengguna dan akan dihapus dari database, berikut merupakan rekomendasi yang didapatkan dari rekomendasi K-Nearest Neighbors.
Gambar 6. Rekomendasi restoran yang terdekat
Penentuan rekomendasi berdasarkan jarak terdekat adalah menggunakan metode dan cara perhitungan yang sama seperti pada penelitian sebelumnya, seperti yang dilakukan oleh [9] dalam menentukan lokasi pos hujan terdekat. Beberapa hal yang membedakan dari penelitian sebelumnya adalah penentuan klasifikasi nilai k. Pada penelitian sebelumnya, k bernilai sebesar 3, sedangkan k pada penelitian ini adalah sebesar 5. Kemudian pada penelitian sebelumnya untuk mengklasifikasikan suatu obyek untuk memperkirakan tempat tersebut hujan atau tidak, sedangkan pada penelitian ini mengklasifikasikan suatu obyek untuk menentukan jaraknya, jika jaraknya dekat akan dijadikan sebagai rekomendasi.
3.5 Content-Based Filtering
Data yang dibutuhkan untuk menjalankan metode ini adalah user_id yang aktif dan food_id atau makanan yang sedang dibuka. Kemudian akan diambil data makanan yang dibuka dan semua makanan dari dalam database. Data tersebut akan masuk ke dalam proses Data Processing. Pertama-tama tahap Case Folding, ini merupakan proses penghapusan atribut yang tidak diperlukan dalam data. Penggunaan tag dalam framework flutter tag akan disimpan dalam bentuk array, berikut merupakan contoh Case Folding dalam bentuk table.
http://ejurnal.stmik-budidarma.ac.id/index.php/jurikom Tabel 2. Contoh Hasil Case Folding
Sebelum Case Folding Case Folding
[#burger, #burgerramly, #ayam, #telor, #keju] #burger, #burgerramly, #ayam, #ayam, #telor, #keju [#ikan, #gurame, #guramegoreng] #ikan, #gurame, #guramegoreng
[#nasi, #ayamgoreng, #sambalbali] #nasi, #ayamgoreng, #sambalbali [#nasi, #ayamgoreng, #sambalbali] #nasi, #ayamgoreng, #sambalbali [#ayam, #ayampenyet, #nasi] #ayam, #ayampenyet, #nasi
Setelah melewati Case Folding, data tersebut akan diteruskan ke tahap filtering dengan tujuan untuk menghapus tag yang berulang. Setelah itu, sistem memasuki tahap perhitungan cosine similarity. Sebagai contoh, saat ini penulis sedang membuka makanan paket ayam geprek dengan tag [#ayamgeprek, #ayam, #tehobeng, #nasi], dan data makanan yang dicek kesamaan datanya adalah burger ramly dengan tag [#burger, #burgerramly, #ayam, #telor, #keju]. Dari data yang ada dapat dilihat jumlah tag makanan yang sedang dibuka yaitu ayam geprek terdapat 4, jumlah tag makan yang dihitung yaitu burger ramly terdapat 5, dapat terlihat bahwa tag yang sama dari kedua makanan ini yaitu #ayam. Jika dihitung menggunakan cosine similarity, didapatkan hasil kemiripan sebesar 0.22360679774998 , berikut merupakan nilai yang dimasukan dalam perhitungan cosine similarity.
𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 = 1
√4 𝑥 √5 𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 = 1
4.4721359549996 𝑆𝑖𝑚𝑖𝑙𝑎𝑟𝑖𝑡𝑦 = 0.22360679774998
Kemudian terdapat contoh data yang dihitung untuk mencari similarity makanan.
Tabel 3. Contoh Data Menggunakan Perhitungan Cosine Similarity
Nama makanan Tag Similarity
Burger Ramly Ayam + Telor + Keju [#burger, #burgerramly, #ayam, #telor, #keju] 0.22360679774998
Gurame Goreng [#ikan, #gurame, #guramegoreng] 0
Nasi Hainan Ayam Goreng Sambal Bali [#nasi, #ayamgoreng, #sambalbali] 0.28867513459481
Ayam Penyet + Nasi [#ayam, #ayampenyet, #nasi] 0.57735026918963
Setelah didapatkan hasil similarity, data tersebut diurutkan dari yang terbesar ke yang terkecil berdasarkan hasil similarity, dengan maksud semakin besar nilainya maka data tersebut semakin mirip dengan obyek. Kemudian, 5 data dengan kemiripan tertinggi disimpan ke dalam tabel dan dapat ditampilkan ke dalam sistem, berikut adalah contoh dari rekomendasi Content-Based Filtering.
Gambar 7. Rekomendasi Makanan
Penentuan rekomendasi makanan yang serupa pada penelitian ini menggunakan metode dan cara perhitungan yang sama seperti yang dilakukan [11] untuk merekomendasikan buku. Hal-hal yang membedakan penelitian ini dengan yang sebelumnya terdapat pada cara pengambilan atau penentuan variabel untuk dihitung kesamaannya, dimana variabel tersebut didapatkan dari judul buku, sinopsis dan nama pengarang, sedangkan pada penelitian ini menggunakan tag yang diberikan pada makanan tersebut. Karena penggunaan variabel yang berbeda, maka tahap processing data juga berbeda dimana pada penelitian sebelumnya terdapat Case Folding, Tokenizing, Filtering, Stemming, namun penelitian ini hanya melewati tahap Case Folding dan Filtering.
http://ejurnal.stmik-budidarma.ac.id/index.php/jurikom
3.6 Pengujian
Setelah proses pengembangan selesai dilakukan, selanjutnya dilakukan pengujian dengan pendekatan black box. Pengujian dilakukan pada skenario yang telah ditentukan. Berikut adalah skenario melakukan pengujian dan hasil pengujian.
Tabel 4. Pengujian black box
Skenario Hasil yang diharapkan Hasil
Akun login
Memasukan Username dan password
Dapat melakukan Create, Read, Update Menampilkan halaman utama
Berhasil Berhasil Menyetujui pemberian lokasi saat ini Mendapatkan rekomendasi restoran Berhasil Membuka menu makanan
Menu restoran Menu food Menu like
Mendapatkan rekomendasi makanan berikutnya Dapat melakukan CRUD data restoran
Dapat melakukan CRUD data makanan Dapat melakukan like dan unlike makanan
Berhasil Berhasil Berhasil Berhasil
3.7 User Interface
Berikut adalah gambaran sistem dan fitur yang telah dibangun.
Gambar 8. Main Menu
Gambar 8 merupakan main menu pada sistem yang telah dibangun. Pada main menu kita dapat melihat rekomendasi restoran terdekat yang merupakan hasil dari rekomendasi metode K-Nearest Neighbors. Terdapat juga daftar makanan yang diambil secara acak dari database jika pengguna membuka data makanan tersebut sistem melakukan rekomendasi metode Content-Based Filtering.
http://ejurnal.stmik-budidarma.ac.id/index.php/jurikom Gambar 9. Menu Add
Gambar 9 merupakan menu add yang dimana pengguna dapat mendaftarkan restoran dengan memasukkan data seperti nama dari tempat makan tersebut, jam buka dan tutup, deskripsi dan lokasi. Kemudian jika data restoran telah terbuat pengguna dapat melanjutkan mengisi daftar makanan.
Gambar 10. Menu Like
Menu Like pada gambar 10 akan menampilkan semua makanan yang pernah ditandai oleh pengguna sebagai makanan yang disukai. Dengan adanya menu ini pengguna dapat mencari dan membuka pilihan makanan dengan mudah.
Gambar 11. Menu Profile
Gambar 11 merupakan menu profile, pada menu ini pengguna dapat menambahkan atau memperbarui deskripsi dari biodata, dan mengganti password.
3.8 Analisis Respon Pengguna
Analisis respon pengguna bertujan untuk mengetahui nilai kerberhasilan dari penerapan aplikasi rekomendasi yang dibangun. Metode yang digunakan dalam menganalisis respon pengguna yaitu dengan analisis deskriptif hasil dari wawancara. Terdapat 5 pertanyaan yang akan diberikan kepada responden, mereka dapat memberi penilaian penggunakan skala likert yang terdapat 5 skor, semakin kecil skor yang diberikan maka mereka tidak setuju sebaliknya semakin besar skor yang diberikan mereka sangat setuju. Berikut merupakan pertanyaan yang diajukan kepada responden:
a. Penerapan aplikasi rekomendasi restoran ini bermanfaat saat bagi kita saat ingin mencari tempat makan?
b. Apakah penerapan rekomendasi restoran terdekat membantu anda dalam mentukan tempat makan yang ingin dikunjungi?
c. Apakah rekomendasi restoran yang diberikan berada disekitar anda?
d. Menurut anda apakah rekomendasi makanan yang diberikan sesuai dengan apa yang anda makanan yang anda ingin kan?
e. Menurut anda apakah tampilan user interface pada aplikasi mobile ini mudah digunakan?
http://ejurnal.stmik-budidarma.ac.id/index.php/jurikom Tabel berikut menjelaskan analisis deskriptif dari penilaian pengguna terhadap aplikasi. Melalui table tersebut, penulis menyimpulkan bahwa tanggapan terhadap kegunaan sistem sebagian besar positif. Berdasarkan dari pertanyaan no 3 dan 4 mempertanyakan tingakat kepuasan pengguan terhadap rekomendasi yang diberikan. Pertanyaan no 3 berkaitan dengan rekomendasi restoran mendapatkan nilai sebesar 79.2%, sedangkan pertanyaan no 4 berkaitan dengan rekomendasi makana mendapatkan nilai kepuasan dari pengguna sebesar 71.2%.
Tabel 5. Table Analisis Deskripstif Pengguna
Pertanyaan Mean Median Modus
Pertanyaan 1 Pertanyaan 2
3.68 3.48
4 4
3 4 Pertanyaan 3
Pertanyaan 4 Pertanyaan 5
3.96 3.56 3.8
4 4 4
4 4 4
4. KESIMPULAN
Dari hasil penelitian ini, dapat disimpulkan bahwa aplikasi rekomendasi yang dibangun dapat memberikan rekomendasi kepada pengguna baik berupa rekomendasi restoran maupun makanan. Hal tersebut dapat dilihat dari hasil analisis responden yang didapatkan, dimana rekomendasi restoran mendapat 79.2% dan juga rekomendasi makanan mendapatkan 71.2%. Pada penerapan metode K-Nearest Neighbors untuk memberi rekomendasi restoran, jumlah data restoran yang dimiliki pada suatu daerah sangat mempengaruhi hasil rekomendasi restoran yang diberikan. Kemudian, pada penerapan metode Content-Based Filtering penggunaan tag dan juga jumlah tag yang dimasukan dalam deskripsi makanan mempengaruhi hasil dari rekomendasi makanan berikutnya.
REFERENCES
[1] A. M. Afrilia, “Digital Marketing Sebagai Strategi Komunikasi Pemasaran ‘Waroenk Ora Umum’ Dalam Meningkatkan Jumlah Konsumen,” J. Ris.
Komun., vol. 1, no. 1, pp. 147–157, 2018, doi: 10.24329/jurkom.v1i1.21.
[2] Y. A. Suud, “NEWS : Digital 2020: Pengguna Internet Indonesia dalam Angka,” 2020. .
[3] L. Jiang, Y. Cheng, L. Yang, J. Li, H. Yan, and X. Wang, “A Trust-Based Collaborative Filtering Algorithm For E-Commerce Recommendation System,” J. Ambient Intell. Humaniz. Comput., pp. 3023–3034, 2018.
[4] X. Cai, Z. Hu, and J. Chen, “A Many-Objective Optimization Recommendation Algorithm Based On Knowledge Mining,” Inf. Sci. (Ny)., vol. 537, pp. 148–161, 2020.
[5] M. Srifi, A. Oussous, A. A. Lahcen, and S. Mouline, “Recommender systems based on collaborative filtering using review texts-A survey,” Inf., vol.
11, no. 6, pp. 1–21, 2020.
[6] C. Wibisono, L. S. Haryadi, J. E. Widyaya, and S. L. Liliawati, “Sistem Rekomendasi Suku Cadang Berdasarkan Item Based Filtering,” J. Tek.
Inform. dan Sist. Inf., vol. 7, no. April, pp. 10–19, 2021.
[7] K. H. Muliadi and C. C. Lestari, “Rancang Bangun Sistem Rekomendasi Tempat Makan Menggunakan Algoritma Typicality Based Collaborative Filtering,” Techno.Com, vol. 18, no. 4, pp. 275–287, 2019.
[8] C. A. Rahardja, T. Juardi, and H. Agung, “Implementasi Algoritma K-Nearest Neighbor Pada Website Rekomendasi Laptop,” J. Buana Inform., vol.
10, no. 1, p. 75, 2019.
[9] A. Rosyidi, R. V. H. Ginardi, and A. Munif, “Implementasi Metode K-Nearest Neighbor Untuk Penentuan Lokasi Pos Hujan Terdekat Dengan Titik Rute Perjalanan Pada Aplikasi Clearroute,” J. Tek. ITS, vol. 6, no. 2, pp. 1–4, 2017.
[10] S. Reddy, S. Nalluri, S. Kunisetti, S. Ashok, and B. Venkatesh, Content-Based Movie Recommendation System Using Genre Correlation, vol. 105, no. November 2018. Springer Singapore, 2019.
[11] M. Alkaff, H. Khatimi, and A. Eriadi, “Sistem Rekomendasi Buku Menggunakan Weighted Tree Similarity dan Content Based Filtering,” MATRIK J. Manajemen, Tek. Inform. dan Rekayasa Komput., vol. 20, no. 1, pp. 193–202, 2020.
[12] A. Iskandar, Y. Rosmansyah, and Albarda, “A Persuasive Mobile Learning System for Informal Learning of Vegetable Farmers,” Int. Conf. Sci.
Technol., pp. 4–9, 2018.