Mei 2024

## Penerapan Algoritma K-Nearest Neighbors dalam Sistem Rekomendasi Makanan Berdasarkan Kebutuhan Nutrisi dengan Content-Based Filtering
Luqyana Zakiya Almas 1 , Yuliana Susanti 2 , Sri Sulistijowati Handjayani 3 1, 2, 3) Program Studi Statistika Fakultas MIPA Universitas Sebelas Maret, Indonesia e-mail: luqyanaalmas@student.uns.ac.id

## ABSTRAK
Pemenuhan  nutrisi  merupakan  sebuah  keharusan  untuk  menjaga  kesehatan  tubuh.  Memahami manfaat nutrisi dan cairan dalam tubuh dapat mendukung pertumbuhan dan perkembangan serta mencegah berbagai penyakit yang disebabkan oleh kekurangan nutrisi atau bisa disebut malnutrisi. Malnutrisi merujuk pada kelebihan atau kurangnya nutrisi, tidak seimbangnya nutrisi, atau masalah pemanfaatan nutrisi. Seiring berjalannya waktu, hal ini dapat meningkatkan risiko terjadinya beberapa penyakit dan gangguan kesehatan lainnya, seperti kelebihan berat badan atau obesitas, diabetes, atau beberapa penyakit tidak menular. Tujuan dari penelitian ini untuk membuat rekomendasi makanan berdasarkan  kebutuhan  nutrisi  menggunakan  algoritma  K-Nearest  Neighbor  dengan  content-based filtering.  Pada  penelitian  ini  K-Nearest  Neighbor  digunakan  untuk  menghasilkan  rekomendasi makanan terdekat sesuai dengan keinginan dan kebutuhan pengguna dengan menghitung Euclidean distance.  Dengan  memanfaatkan  algoritma  K-Nearest  Neighbor  dalam  content-based  filtering, penelitian  ini  berhasil  menciptakan  suatu  sistem  rekomendasi  makanan  yang  dapat  disesuaikan dengan  kebutuhan  nutrisi  individu,  termasuk  pengguna  yang  sehat,  memiliki  alergi,  dan  riwayat diabetes.  Hasil  evaluasi  model  menunjukkan  bahwa  metode  ini  mampu  memberikan  rekomendasi makanan dengan tingkat kesalahan yang rendah, dengan melihat nilai Root Mean Square Error 18.75. Dengan demikian, penelitian ini memberikan kontribusi dalam mendukung pemenuhan nutrisi yang tepat, serta memberikan arahan praktis bagi individu untuk menjaga kesehatan tubuh melalui pola makan yang sesuai dengan kebutuhan pengguna.
Kata Kunci: Rekomendasi Makanan, K-Nearest Neighbor , Content-Based Filtering .

## ABSTRACT
Fulfilling nutrition is a must to maintain a healthy body. Understanding the benefits of nutrition and fluids in  the body can support growth  and development  and prevent various diseases caused by nutritional deficiencies or what can be called malnutrition. Malnutrition refers to excess or lack of nutrition, imbalance in nutrition, or problems with nutrient utilization. Over time, this can increase the risk of several diseases and  other  health  problems,  such  as  being  overweight  or  obese,  diabetes,  or  several  non-infectious diseases.  This  research  aims  to  make  food  recommendations  based  on  nutritional  needs  using  the  K Nearest Neighbor algorithm with content-based filtering. In this research, K-Nearest Neighbor produces recommendations for the closest food according to the user's desires and needs by calculating Euclidean distance. By utilizing the deep K-Nearest Neighbor algorithm and content-based filtering, this research succeeded  in  creating  a  food  recommendation  system  that  can  be  customed  by  individual  nutritional needs,  including  users  who  are  healthy,  have  allergies,  and  have  a  history  of  diabetes.  The  model evaluation  results  show  that  this  method  can  provide  food  recommendations  with  a  low  error  rate  by looking at the values Root Mean Square Error of 18.75. Thus, this research contributes to supporting the fulfillment  of  proper  nutrition  and  providing  practical  direction  for  individuals  to  maintain  body  health through a diet that suits the user's needs.
Keywords: Food Recommendation, K-Nearest Neighbor, Content-Based Filtering.
Luqyana Zakiya Almas, et al. https://doi.org/10.29313/statistika.v24i1.3558
116

## 1.  PENDAHULUAN
Memahami  manfaat  nutrisi  dan  cairan  dalam  tubuh  dapat  mendukung  pertumbuhan  dan perkembangan  serta  mencegah  berbagai  penyakit  yang  disebabkan  oleh  kekurangan  nutrisi. Tubuh membutuhkan asupan makanan untuk menjaga fungsi tubuhnya. Kebutuhan nutrisi ini berlaku sepanjang hidup manusia, tetapi jumlah nutrisi yang dibutuhkan tiap individu berbeda bergantung pada beberapa faktor seperti usia, jenis kelamin, aktivitas, dan lain-lain (Nopitasari & Heri, 2021).
Menurut World Health Organization (WHO) malnutrisi merujuk terhadap lebih atau kurangnya asupan nutrisi, tidak seimbangnya asupan nutrisi penting tubuh, atau ganguan tubuh dalam pemanfaatan nutrisi. Malnutrisi adalah suatu kondisi di mana kekurangan satu atau banyak nutrisi  memiliki  efek  buruk  pada  sel,  jaringan,  organ,  dan  tubuh  yang  dipahami  secara keseluruhan, yang dimanifestasikan dalam kemunduran fungsinya dan perubahan negatif pada gambaran  klinis  secara  keseluruhan (Kobylińska,  dkk.,  2021) .  Beban  ganda  dari  malnutrisi mencakup baik masalah kurang gizi maupun kelebihan berat badan atau obesitas, dan penyakit tidak  menular  yang  terkait  dengan  pola  makan.  Dampak  jangka  pendek,  malnutrisi  dapat menyebabkan  stres,  kelelahan,  dan  kemampuan  kerja  menurun.  Seiring  berjalannya  waktu, kelebihan  atau  kekurangan  asupan  nutrisi  bagi  tubuh  dapat  meningkatkan  risiko  terjadinya beberapa penyakit dan masalah kesehatan lainnya, seperti kelebihan berat badan atau obesitas, diabetes, atau beberapa penyakit tidak menular (PTM) (Kiani, dkk., 2022).
Upaya untuk mengedukasi orang tentang pola makan yang sehat dan membantu menemukan makanan  yang  sesuai  untuk  memenuhi  kebutuhan  gizi  sangat  penting.  Pola  makan  yang seimbang  dan  penuh  kesadaran  yang  kaya  akan  buah-buahan,  sayuran,  biji-bijian,  protein tanpa lemak, dan lemak sehat dapat meningkatkan kesehatan fisik, mengurangi risiko penyakit kronis,  dan  meningkatkan  kesehatan  mental  (Khan,  2023).  Memilih  makanan  dengan keseimbangan yang tepat dapat memberikan tubuh nutrisi yang penting untuk berfungsi dengan baik. Salah satu inovasi yang menarik adalah penggunaan sistem rekomendasi makanan dengan menerapkan  algoritma  KNN.  Penerapan  algoritma  KNN  dalam  sistem  rekomendasi  bertujuan untuk membuat rekomendasi makanan kepada pengguna berdasarkan kesamaan antara item atau  data  dalam  dataset.  KNN  digunakan  untuk  menemukan  item  yang  memiliki  kemiripan paling dekat dengan item yang sudah disukai atau dinilai oleh pengguna (Yadav, et al . 2023).
Penerapan algoritma KNN dalam sistem rekomendasi makanan berdasarkan kebutuhan nutrisi dengan  metode content-based  filtering adalah  pendekatan  yang  memanfaatkan  KNN  dalam memberikan  rekomendasi  makanan  yang  sesuai  dengan  kebutuhan  nutrisi  individu.  Dalam sistem ini, data makanan direpresentasikan sebagai vektor fitur yang mencakup atribut nutrisi seperti kalori, protein, lemak, karbohidrat, dan serat. Algoritma KNN digunakan untuk mengukur kesamaan antara makanan berdasarkan atribut nutrisi ini. Euclidean distance dapat digunakan untuk mengukur seberapa mirip makanan satu dengan lainnya (Argina, A. M. 2020). Dengan mempertimbangkan kesamaan nutrisi, sistem rekomendasi dapat menawarkan makanan yang paling mirip dengan preferensi gizi pengguna.
Penelitian mengenai rekomendasi makanan berdasarkan gizi pernah dilakukan sebelumnya oleh Mawartika  &  Guntur  (Mawartika  &  Guntur,  2021),  menjelaskan  tentang  aplikasi  sistem rekomendasi  untuk  memilih  makanan  berdasarkan  nutrisi  dengan  metode forward  chaining . Penelitian  lainnya  tentang  klasifikasi  asupan  kalori  menggunakan  KNN  pernah  dilakukan sebelumnya oleh Azhar & Rosmala (Azhar & Rosmala, 2022), menjelaskan mengenai klasifikasi asupan kalori untuk diet dengan metode KNN. Pengaturan asupan kalori adalah faktor penting penyebab  obesitas.  Berdasarkan  penelitian  sebelumnya,  penelitian  selanjutnya  dapat menggabungkan  pendekatan  KNN  dengan content-based  filtering untuk  menghasilkan rekomendasi makanan yang lebih baik. Evaluasi dari model KNN dapat diuji dengan melihat nilai RMSE  untuk memastikan keberhasilan  sistem  rekomendasi. Penelitian ini  dapat  memberikan kontribusi dalam membantu individu membuat  pilihan makanan yang lebih sehat dan sesuai dengan kebutuhan nutrisi.

## 2.  METODE PENELITIAN
Bagian ini memaparkan langkah-langkah dalam metodologi penelitian, yakni proses pengolahan data dan pembuatan rancangan algoritma KNN.

## 2.1 Deskripsi Data
Data dalam penelitian ini bersumber dari www.dapurumami.com yang menyediakan 987 resep makanan yang diambil pada bulan Juni 2023. Situs ini menyediakan informasi tentang berbagai jenis  resep  makanan  serta  nilai  gizinya.  Tabel  1.  merupakan  variabel  atribut  makanan  yang digunakan. Pengumpulan data dilakukan melalui proses web scraping menggunakan ekstensi Google Chrome bernama Web Scraper. Data yang diperoleh disimpan dalam format csv.
Tabel 1. Variabel Penelitian No Variabel Keterangan Jenis Data 1 Makanan Nama Makanan String 2 Kalori Jumlah Kalori dalam Makanan Numeric 3 Protein Kandungan Protein Numeric 4 Lemak Kandungan Lemak Numeric 5 Serat Kandungan Serat Numeric 6 Bahan Resep dan Bahan Makanan String

## 2.2 Preprocessing
Proses  ini  merupakan  tahap  awal  membersihkan  dan  merapikan  data  sebelum  diolah  lebih lanjut. Penelitian ini melalukan 2 tahap dalam preprocessing yaitu case folding dan pemetaan data. Case folding digunakan untuk mengubah teks menjadi lowercase agar format penulisan seragam. Pemetaan data dilakukan untuk menghubungkan nama makanan dengan informasi nutrisinya  dalam  bentuk  kamus  ( dictionary ),  memudahkan  pencarian  informasi  nutrisi berdasarkan nama makanan.

## 2.3 Algoritma K-Nearest Neighbor (KNN)
Tujuan utama dari algoritma KNN yaitu mendapatkan objek baru berdasarkan jaraknya dengan beberapa  tetangga  terdekat.  K-Nearest  Neighbor  (KNN)  merupakan  metode  yang  diterapkan dalam mengklasifikasikan objek berdasarkan data pembelajaran yang paling dekat dengan objek tersebut  berdasarkan  perbandingan  antara  data  sebelumnya  dan  data  saat  ini  (Ridho,  dkk., 2020). Dalam penelitian ini objek merupakan nutrisi makanan yang merupakan kalori, protein, lemak, dam serat. Untuk mengukur jarak kedekatan diukur dengan beberapa cara salah satunya yaitu Euclidean distance. Berikut merupakan rumus yang dapat digunakan sebagaimana yang terlihat dalam persamaan (1).
𝑑(𝑥, 𝑦) = √∑ (𝑥 𝑘 − 𝑦 𝑘 ) 2 𝑛 𝑘=1 (1)
Euclidean distance digunakan untuk menghitung jarak kemiripan antara data (Nishom, 2019). Rumus Euclidean  distance dapat  dilihat  pada  persamaan  (1),  D  merupakan  jarak Euclidean distance antar titik pada data latih 𝑥 dan titik pada data uji 𝑦 yang akan diklasifikasikan. Dalam rumus ini, 𝑥 dan 𝑦 masing-masing adalah vektor atribut dengan elemen-elemen 𝑥 1 , 𝑥 2 … , 𝑥 𝑖 dan 𝑦 1 , 𝑦 2 , … , 𝑦 𝑖 , di mana 𝑘 merepresentasikan jumlah atribut atau dimensi. Untuk  menghitung  jarak Euclidean antara  dua  item  yaitu  sate  ayam  dan  tom  yum  gong. Berdasarkan atribut-atribut yang diberikan, misalkan kalori, protein, karbohidrat, lemak, dan serat.  Di  sini, 𝑥 1 , 𝑥 2 , 𝑥 3 , 𝑥 4 , 𝑥 5 adalah  atribut  dari  item  pertama  (sate  ayam),  sedangkan 𝑦 1 , 𝑦 2 , 𝑦 3 , 𝑦 4 , 𝑦 5 adalah  atribut  dari  item  kedua  (tom  yum  gong).  Untuk Euclidean  distance , menghitung jarak antara dua titik menggunakan rumus berikut:
𝑑(𝑥, 𝑦) = √(𝑥 1 − 𝑦 1 ) 2 +(𝑥 2 − 𝑦 2 ) 2 + (𝑥 3 − 𝑦 3 ) 2 +(𝑥 4 − 𝑦 4 ) 2 +(𝑥 5 − 𝑦 5 ) 2 .
Dalam penelitian ini seluruh data nutrisi makanan akan dilatih kedalam jarak euclidean dimana akan mendapatkan jarak satu sama lain. Selanjutnya data preferensi pengguna masuk dan akan
Luqyana Zakiya Almas, et al. https://doi.org/10.29313/statistika.v24i1.3558
118
mendapatkan jarak terdekat terhadap seluruh data latih. Hasil rekomendasi akan sebanyak K yaitu 50. Pemilihan K tersebut dikarenakan semakin banyak rekomendasi akan semakin jauh jarak data tersebut terhadap data uji sehingga menjadi rekomendasi yang tidak relevan. Berikut adalah langkah dalam menghitung KNN:
a. Menghitung jarak Euclidean antara setiap data.
b. Menentukan parameter K, yaitu 50 titik terdekat yang akan digunakan.
c. Menghitung jarak Euclidean antara data preferensi dan data latih.
d. Mengurutkan  objek-objek  berdasarkan  jarak Euclidean dari  yang  terkecil  hingga  yang terbesar.
e. Mengumpulkan kategori dari tetangga terdekat (disebut KNN).
f. Dengan menggunakan kategori mayoritas  dari  tetangga terdekat, didapatkan  prediksi nilai data uji yang telah dihitung.

## 2.4 Perhitungan Basal Metabolic Rate Pengguna
Kalori tubuh yang dibutuhkan manusia untuk melakukan aktifvitas merupakan pengertian dari BMR.  Kebutuhan  BMR  berbeda-beda  pada  setiap  orang.  Kalori  ini  berpengaruh  pada  asupan makanan. Penghitungan BMR dilakukan sebagai estimasi jumlah kalori yang dibutuhkan oleh pengguna untuk menjaga fungsi tubuh dasar. Terdapat batas maksimal dan minimal kalori yang harus  dipenuhi.  Faktor-faktor  yang  digunakan  dalam  perhitungan  BMR  seperti  berat  badan, tinggi, usia dan jenis kelamin. Maka dari itu BMR setiap individu akan berbeda (Utama, dkk., 2019). Persamaan untuk memperkirakan nilai BMR dapat ditemukan dalam Tabel 2.
Tabel 2. Nilai BMR Kelompok Umur (tahun) BMR (kkal/hari) Laki-laki Perempuan 3-9 22.7B+ 495 22.5B + 499 10-17 17.5B + 651 12.2B + 746 18-29 15.3B + 679 14.7B + 496 30-60 11.6B + 879 8.7B + 829 >60 13.5B + 487 10.5B + 596
Keterangan : B = Berat badan dalam kg Selain  itu,  rumus  yang  dikembangkan  oleh  Harris-Benedict  (Harris  &  Benedict,  1918),  dapat digunakan  untuk  menghitung  nilai  BMR.  Rumus  ini  memperhitungkan  berat  badan,  tinggi badan, umur, dan perbedaan berdasarkan jenis kelamin.
Rumus BMR:
W = 66.473 + 13.752B + 5.003T − 6.755U (laki − laki) (2) W = 655.096 + 9.563B + 1.850T − 4.676U (wanita) (3) dengan W : jumlah energi 24 jam (kalori) B : berat badan (kg)
T : tinggi badan (cm)
U : umur (tahun)

## 2.5 Sistem Rekomendasi dengan Content-Based Filtering
Sistem  rekomendasi  telah  berkembang  menjadi  alat  yang  efektif  untuk  menyaring  informasi, yaitu  memilih  produk  yang  mungkin  menarik  bagi  pengguna.  Beberapa  faktor  yang  dapat memengaruhi  keputusan  sistem  dalam  memberi  rekomendasi  kepada  pengguna  termasuk perilaku pengguna, deskripsi item, dan preferensi dan kebiasaan dari sekelompok pengguna yang memiliki kemiripan dalam menilai suatu item (Shao, dkk., 2021). Salah satu jenis rekomendasi yaitu content-based  filtering . Content-based  filtering memberikan  rekomendasi  yang dipersonalisasi kepada pengguna berdasarkan interaksi mereka sebelumnya dengan konten di
platform.  Hal  ini  dapat  meningkatkan  keterlibatan  dan  kepuasan  dengan  memastikan  bahwa pengguna melihat konten yang relevan dengan minat mereka (Hashim & Waden, 2023).
Content-based filtering adalah pendekatan dalam sistem rekomendasi yang relevan ketika ingin merekomendasikan  makanan  berdasarkan  kebutuhan  nutrisi  individu. Content-based  filtering menggunakan  informasi  mengenai  atribut  nutrisi  dari  makanan,  seperti  karbohidrat,  protein, lemak,  dan  serat,  sebagai  fitur  penting.  Sistem  ini  memahami  preferensi  nutrisi  pengguna, seperti kebutuhan kalori harian atau preferensi tertentu, ketika pengguna memiliki alergi atau mempunyai riwayat penyakit diabetes.

## 2.6 Root Mean Square Error (RMSE)
Root Mean Square Error (RMSE) adalah metrik yang digunakan untuk mengukur sejauh mana tingkat  kesalahan  dalam  hasil  prediksi  suatu  model.  RMSE  memberikan  gambaran  tentang seberapa  baik  model  dapat  memprediksi  nilai  aktual  dengan  memperhitungkan  perbedaan antara nilai prediksi dan nilai sebenarnya. Semakin kecil nilai RMSE, semakin akurat prediksi model tersebut (Hodson, 2022).
𝑅𝑀𝑆𝐸 = √ ∑ (𝑋−𝑌)2 𝑛 𝑖=1 𝑛
(4)
Persamaan  (4), 𝑥 mewakili  nilai-nilai  hasil  prediksi, 𝑦 mewakili  nilai-nilai  sebenarnya,  dan  n adalah jumlah observasi atau data. RMSE dihitung dengan mengambil akar kuadrat dari kuadrat selisih antara nilai sebenarnya dan prediksi.

## 2.7 Rekomendasi Makanan untuk Pengguna
Penelitian ini terdapat tiga kategori kondisi pengguna yang dapat direkomendasikan makanan. Pertama  merupakan  kondisi  pengguna  sehat  dimana  sistem  menyaring  makanan  yang  aman untuk dikonsumsi oleh pengguna yang tidak memiliki riwayat alergi maupun penyakit tertentu. Daftar rekomendasi disesuaikan dengan informasi BMR yang dimasukkan oleh pengguna. Kedua merupakan pengguna yang memiliki alergi dimana daftar rekomendasi akan disesuaikan dengan informasi  alergi dari  pengguna.  Ketiga  yaitu  pengguna  yang memiliki  riwayat diabetes,  sistem akan memberikan batasan kalori pada makanan yang akan direkomendasikan dimana makanan dengan kalori lebih dari 1500 kkal dihapus dari daftar rekomendasi.

## 3.  HASIL DAN PEMBAHASAN
Bagian ini akan mengulas hasil uji coba terhadap sistem yang telah dikembangkan serta evaluasi kinerja sistem.

## 3.1 Perancangan Model KNN
Pemodelan KNN diawali dengan input user preference seperti makanan yang diinginkan, ada atau tidaknya  alergi,  berat  badan  ,  tinggi  badan,  umur,  gender  dan  riwayat  diabetes.  Tujuannya adalah untuk mengetahui kebutuhan dari gizi seseorang yang ingin diberikan rekomendasinya. Berikut merupakan Tabel 3. kondisi pengguna yang memiliki alergi dan riwayat diabetes.
Tabel 3. Contoh Keadaan Pengguna Dengan Riwayat Diabetes Pertanyaan Jawaban Makanan yang diinginkan Sate Ayam Alergi Udang Berat badan 60 Tinggi badan 153 Umur 50 Jenis kelamin Perempuan Riwayat diabetes Ada

## 3.2 Evaluasi Model dengan RMSE
Evaluasi  model  akan  dilakukan  dengan  melihat  jarak  dari  kedekatan  makanan  yang  diukur menggukanan beberapa jarak dengan melihat RMSE. Hasil RMSE dihitung antara makanan yang diinginkan dengan satu persatu makanan yang telah direkomendasikan lainnya yaitu sebanyak
Luqyana Zakiya Almas, et al. https://doi.org/10.29313/statistika.v24i1.3558
120
49 makanan. Setelah didapatkan RMSE dari setiap makanan dihitung rata-rata dari keseluruah RMSE di setiap jarak yang pakai. Makanan yang digunakan dalam contoh ini yaitu sate ayam.
Tabel 4. RMSE dari Jarak yang Digunakan Euclidean Manhattan cosine RMSE 18.758 24.851 201.711
Rata-rata  RMSE  yang  didapat  yaitu  Euclidean  distance  dengan  18.75.  Hasil  tersebut menunjukkan  bahwa  Euclidean  distance  lebih  baik  karena  memiliki  RMSE  paling  kecil (Ćalasana, dkk, 2020), sehingga dapat digunakan untuk merekomendasikan makanan dengan gizi terdekat.

## 3.3 Menghitung BMR Pengguna
Perhitungan ini bertujuan untuk memberikan rekomendasi makanan yang tidak melebihi BMR user, sehingga sesuai dengan kebutuhan.
W = 655.096 + 9.563(60) + 1.850(153) − 4.676(50) = 1278.126 kkal Kebutuhan  BMR  pengguna  yaitu  sebesar 1278.126 𝑘𝑘𝑎𝑙 ,  artinya  pengguna  disarankan mengonsumsi makanan yang kalorinya tidak melebihi BMR atau kalori terlalu sedikit dalam satu hari, terlalu sedikit atau terlalu banyak kalori dapat menyebabkan masalah kesehatan, karena kalori  juga  penting  untuk  kelangsungan  hidup  (Gupta,  2020).  Apabila  terlalu  banyak  dapat berpotensi PTM yaitu obesitas, sedangkan apabila terlalu sedikit akan kekurangan asupan gizi bagi tubuh.

## 3.4 Rekomendasi Makanan untuk Pengguna
Hasil rekomendasi yang diperoleh dari keadaan pengguna yaitu sebanyak 50 makanan terdekat dari sate ayam. Tabel 5. merupakan 10 daftar makanan teratas yang direkomendasikan kepada pengguna dengan keadaan pengguna pada Tabel 3.
Tabel 5. Daftar Makanan Tanpa Alergi dan Diabetes No Makanan Kalori 1. Sate Ayam 316 2. Tom Yum Goong 332 3. Ayam Fillet Krispi 302 4. Teriyaki Meatball With Mashed Potato 309 5. Ikan Panggang Bumbu Ketumbar 309 6. Ayam Goreng Lengkuas 293 7. Tumis Kerang Saus Mentega 295 8. Udang Saus Mentega 343 9. Ikan Kembung Sambal Matah 288 10. Bakwan Sayur Udang Rebon 326
Berikut ini hasil penyaringan yang mencakup kriteria pengguna dengan alergi seperti yang telah disebutkan  pada  Tabel  3.  Hasil  rekomendasi  yang  diperoleh  dari  keadaan  pengguna  yaitu sebanyak  45  makanan  di  mana  telah  dihapus  5  makanan  yang  mengandung  udang  karena pengguna memiliki alergi terhadap udang. Pola makan yang sehat adalah langkah pertama untuk mengurangi  risiko  diabetes  melitus.  Hal ini  juga  melibatkan  pengendalian  pilihan  gaya  hidup yang tepat untuk mencegah atau mengelola gejala penyakit agar tidak memburuk (Nafata, dkk., 2019). Kalori dari makanan tidak lebih dari 1500 kkal yang artinya aman terhadap penderita diabetes  .Tabel  6.  merupakan  10  daftar  makanan  teratas  yang  direkomendasikan  kepada pengguna setelah dilakukan penyaringan alergi dan diabetes.
Tabel 6. Daftar Makanan dengan Alergi dan Diabetes No. Makanan Kalori 1. Sate Ayam 316 2 Ayam Fillet Krispi 302
121 No. Makanan Kalori 3 Teriyaki Meatball With Mashed Potato 309 4 Ikan Panggang Bumbu Ketumbar 309 5 Ayam Goreng Lengkuas 293 6. Tumis Kerang Saus Mentega 295 7. Daun Singkong Tabur 329 8. Lele Crispy 290 9. Brokoli Sapi Lada Hitam 342 10. Sup Krim Ikan 289
Berdasarkan Tabel 5 dan 6 dapat dilihat terdapat perbedaan pada daftar makanan. Makanan nomor 8 yaitu Udang Saus Mentega pada Tabel 5. tidak ada dalam Tabel 6. Makanan tersebut mengandung udang yang merupakan alergi dari pengguna sehingga dihapus dari daftar. Jumlah kalori aman karena tidak melebihi BMR pengguna yaitu 1278.126 kkal dan batas 1500 kkal bagi penyandang diabetes.

## 4.  SIMPULAN DAN SARAN
Sistem  rekomendasi  makanan  menggunakan  metode  KNN  dengan  content  based-filtering memungkinkan  pengguna  untuk  mendapatkan  rekomendasi  makanan  yang  sesuai  dengan preferensi  mereka  dengan  mempertimbangkan  kandungan  gizi.  Penentuan  rekomendasi dilakukan  dengan  mencari  makanan  yang  memiliki  karakteristik  gizi  yang  mirip  dengan preferensi  pengguna,  menggunakan  Euclidean  distance  sebagai  metrik  jarak.  Hasil  evaluasi menunjukkan bahwa penggunaan Euclidean distance menghasilkan akurasi paling kecil dengan RMSE sebesar 18.75, yang artinya cukup baik dalam memprediksi. Selain itu, sistem ini juga dapat mempertimbangkan kebutuhan gizi individual pengguna dan kondisi khusus seperti alergi atau riwayat diabetes. Dengan demikian, pengguna akan menerima rekomendasi makanan yang tidak hanya sesuai dengan preferensi mereka tetapi juga memperhitungkan aspek kesehatan dan kebutuhan  gizi  yang  spesifik.  Terdapat  saran  untuk  penelitian  selanjutnya  yaitu membandingkan  dengan  metode  sistem  rekomendasi  lainnya  atau  menggabungkan  beberapa metode, lalu menambah keberagaman dataset sehingga variasi makanan yang direkomendasikan lebih banyak.

## DAFTAR PUSTAKA
Azhar,  R.  M.,  &  Rosmala,  D.  (2022).  Klasifikasi  Asupan  Kalori  Untuk  Diet  Menggunakan  K- Nearest Neighbors Berbasis Android. Bandung: Itenas.
Argina,  A.  M.  (2020).  Penerapan  Metode  Klasifikasi  K-Nearest  Neigbor  pada  Dataset  Penderita Penyakit Diabetes. Indonesian Journal of Data and Science , 1 (2), 29-33.
Ćalasana,  M.,  Aleem,  S.  H.,  &  Zobaa,  A.  F.  (2020). On  the  root  mean  square  error  (RMSE) calculation  for  parameter  estimation  of  photovoltaic  models:  A  novel  exact  analytical solution based on Lambert W function. Energy Conversion and Management, 210 , 1-16. Gupta, P. K. (2020). Toxic Effects of Calories. i Problem Solving Questions in Toxicology (ss. 201- 205). Cham: Springer.
Harris,  J.  A.,  &  Benedict,  F.  G.  (1918).  A  Biometric  Study  of  Human  Basal  Metabolism. Proceedings  of  the  National  Academy  of  Sciences  of  the  United  States  of  America. Washington.
Hashim,  S.  Z.,  &  Waden,  J.  (2023).  Content-Based  Filtering  Algorithm  in  Social  Media. Wasit Journal of Computer and Mathematics Science , 14-17.
Hodson, T. O. (2022). Root-mean-square error (RMSE) or mean absolute error (MAE): when to use them or not. Geoscientific Model Development, XV (14), 5481-5487.
Luqyana Zakiya Almas, et al. https://doi.org/10.29313/statistika.v24i1.3558
122
Khan, A. A. (2023). Improving Health Through Diet. DIET FACTOR (Journal of Nutritional and Food Sciences), IV (2).
Kiani, A. K., Dhuli, K., Donato, K., Aquilanti, B., Velluti, V., Matera, G., . . . Bertelli, M. (2022).
Main nutritional deficiencies. Journal of Preventive Medicine and Hygiene, 63 (2S3), 93- 101.
Kobylińska,  M.,  Antosik,  K.,  Decyk,  A.,  &  Kurowska,  K.  (2021). Malnutrition  in  Obesity:  Is  It Possible? Obesity Facts, XV (1), 19-25.
Mawartika, Y. E., & Guntur, M. (2021). Aplikasi Sistem Pakar Pemilihan Makanan Berdasarkan Kebutuhan  Gizi  Menggunakan  Metode  Forward Chaining. Cogito  Smart  Journal,  VII (1), 96-110.
Nafata, B. B., Akhmad Yusuf, & Muliadi. (2019). Penyusunan Menu Makanan Untuk Penderita Diabetes  Mellitus  Tipe  2  Tanpa  Komplikasi  Menggunakan  Algoritma  Genetika. Jurnal Matematika Murni dan Terapan “εpsilon”, XIII (1), 24-35.
Nishom,  M.  (2019).  Perbandingan  Akurasi  Euclidean  Distance,  Minkowski  Distance,  dan Manhattan  Distance  pada  Algoritma  K-Means  Clustering  berbasis  Chi-Square. Jurnal Informatika: Jurnal Pengembangan IT, IV (1), 20-24.
Nopitasari, P. E., & Heri, M. (2021). Pemenuhan Nutrisi (The Fulfillment Of Nutrition): Literatur Review . Jurnal Online Keperawatan Indonesia, IV (1), 17-27.
Ridho,  L.  A.,  Muharman,  L.,  &  Al,  K.  (2020).  Optimization  of  distance  formula  in  K-Nearest Neighbor method. Bulletin of Electrical Engineering and Informatics (BEEI), IX (1), 326-338.
Shao,  B.,  Li,  X.,  &  Bian,  G.  (2021).  A  survey  of  research  hotspots  and  frontier  trends  of recommendation systems from the perspective of knowledge graph. Expert Systems , 1- 20.
Utama,  D.  P.,  Sudarmaningtyas2,  P.,  &  Churniawan,  A.  D.  (2019).  Rancang  Bangun  Aplikasi Penjualan  Makanan  Sehat  Bedasarkan  Perhitungan  Kalori  Menggunakan  BMR  Pada Rumah  Sakit  Islam  Jemursari. Jurnal  Sistem  Informasi  Universitas  Dinamika  (JSIKA),
IX (3), 1-9.
Yadav, K., Soni, H., & Pathik, N. (2023). Recommendation System Based on Double Ensemble Models  using  KNN-MF. International  Journal  of  Advanced  Computer  Science  and Applications . https://doi.org/10.14569/ijacsa.2023.0140566.