## 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,* suwarno.liang@uib.ac.id, 2 jonsusanto42@gmail.com Email Penulis Korespondensi : suwarno.liang@uib.ac.id 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].
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 dengan menggunakan teknologi API .
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 √∑ 𝑎𝑖2.∑ 𝑏𝑖 2 𝑛 𝑖=1 𝑛 𝑖=1 (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
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.

## 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
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.
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 .

## 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.

## 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?
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.