Jurnal Teknik Informatika dan Sistem Informasi ISSN 2407-4322 Vol. 11, No. 2, Juni 2024, Hal. 365-375 E- ISSN 2503-2933 365

## Penerapan Algoritma Greedy Dalam Penentuan Menu Diet Berdasarkan Kandungan Kalori Dan Protein
Fathimah Azzahra* 1
1 Universitas Multi Data Palembang; Jl. Rajawali No. 14, (0711) 376400
1 Program Studi Informatikas, FIKR MDP, Palembang e-mail: * 1 fathimahazzahra@mhs.mdp.ac.id

## Abstrak
Berat  badan  merupakan  masalah  sensitif  bagi  sebagian  orang  terutama  di  kalangan remaja, kelebihan berat badan seringkali menjadi alasan orang merasa tidak percaya diri dan membenci  dirinya  sendiri.  Untuk  mencapai  tubuh  yang  ideal  banyak  remaja  akan  melakukan diet,  tetapi  tidak  semuanya  berjalan  konsisten.  Banyak  tantangan  dan  hambatan  yang menyebabkan  diet  tidak  konsisten  salah  satunya  adalah  sulitnya  menghitung  kalori.  Untuk menyelesaikan  permasalahan  ini  diterapkan  algoritma  greedy  dalam  menentukan  menu makanan  diet  berdasarkan  kalori  dan  protein  menggunakan  metode  diet  defisit  kalori. Perhitungan  batas  kalori  dilakukan  dengan  menggunakan  Basal  Metabolic  Rate  (BMR)  dan tingkat  aktivitas.  Dalam  permasalahan  ini  algoritma  greedy  akan  meminimalkan  kalori, memaksimalkan  protein,  dan  memaksimalkan  density.  Hasil  dari  penerapan  algortima  greedy dalam  menentukan  menu  diet  terdapat  kondisi  yang  menghasilkan  solusi  tidak  optimal,  tetapi perbedaan  solusi  yang  dihasilkan  tidak  terlalu  signifikan  sehingga  algoritma  ini  masih memungkinkan  untuk  menyelesaikan  permasalahan  kendala  menghitung  kalori  dan  mengatur menu diet.
Kata kunci — Algoritma Greedy, Defisit Kalori, Diet

## Abstract
Weight  is  a  sensitive  issue  for  some  people,  especially  among  teenagers, beingoverweight is often the reason people feel insecure and hate themselves. Many teenagers will  go  on  a  diet  to  achieve  the  ideal  body,  but  not  all  of  them  will  be  consistent.  Many challenges  and  obstacles  cause  an  inconsistent  diet,  one  of  which  is  the  difficulty  of  counting calories.  To  solve  this  problem,  a  greedy  algorithm  is  applied  to  determine  a  diet  food  menu based  on  calories and  protein  using  the  calorie  deficit  diet  method.  Calorie  limit  calculations are performed using Basal Metabolic Rate (BMR) and activity level. In this problem, the greedy algorithm  will  minimize  calories,  maximize  protein,  and  maximize  density.  The  result  of applying  the  greedy  algorithm  in  determining  the  diet  menu  is  that  there  are  conditions  that produce  solutions  that  are  not  optimal,  but  the  difference  in  the  resulting  solutions  is  not  too significant  so  this  algorithm  is  still  possible  to  solve  the  problem  of  constraints  on  counting calories and managing diet menus.
Keywords — Greedy Algorithm, Calorie Deficit, Diet
366 Jatisi ISSN 2407-4322 Vol. 11, No. 2, Juni 2024, Hal. 365-375 E-ISSN 2503-2933

## 1. PENDAHULUAN
asa remaja adalah masa transisi yang ditandai oleh perubahan emosional, mental, dan fisik.  Sehingga  masa  remaja  membutuhkan  kebutuhan  nutrisi  yang  banyak  dan kompleks.  Banyak  masalah  kesehatan  pada  masa  remaja  salah  satunya  masalah  gizi seperti obesitas, berdasarkan data Riskesdas 2018 banyaknya masalah obesitas pada remaja usia 13-15 tahun sebanyak 16% dan pada remaja usia 16-18 tahun sebanyak 13,5%. Di Provinsi Bali, prevalensi obesitas pada usia diatas 15 tahun mencapai 35% [1].
Berat  badan  merupakan  masalah  sensitif  bagi  sebagian  orang  terutama  di  kalangan remaja,  kelebihan  berat  badan  seringkali  menjadi  alasan  orang  merasa  tidak  percaya  diri  dan membenci  dirinya  sendiri.  Untuk  mencapai  tubuh  yang  ideal  banyak  remaja  akan  melakukan diet,  tetapi  tidak  semuanya  berjalan  konsisten.  Banyak  tantangan  dan  hambatan  yang menyebabkan diet tidak konsisten salah satunya adalah sulitnya menghitung kalori. Berdasarkan survei  populix  mengenai  tantangan  dalam  menjaga  pola  makan  sehat  yang  bisa  dilihat  pada Gambar 1 ada sebanyak 39% orang responden mengalami hambatan dalam perhitungan kalori yang terbilang sangat kompleks [2].

## Sumber: Populix

## Gambar 1. Hasil Survei Tantangan Dalam Menjaga Pola Makan Sehat
Untuk  menyelesaikan  permasalahan  ini  penulis  menerapkan  algoritma  greedy  dalam menentukan  menu  makanan  diet  berdasarkan  kalori  dan  protein  menggunakan  metode  diet defisit  kalori.  Perhitungan  batas  kalori  dilakukan  dengan  menggunakan  Basal  Metabolic  Rate (BMR) dan tingkat aktivitas.
Algoritma  greedy  merupakan  bagian  dari  ilmu  komputer  yang  digunakan  untuk memecahkan  masalah  yang  membutuhkan  optimasi  solusi  yakni  memaksimalkan  atau meminimalkan  sesuatu  [3].  Dalam  permasalahan  ini  algoritma  greedy  akan  meminimalkan kalori,  memaksimalkan  protein,  dan  memaksimalkan  density.  Prinsip  yang  digunakan  pada algoritma greedy adalah “ take what you can get now !”.
Algoritma  Greedy  sudah  banyak  digunakan  di  beberapa  penelitian.  Seperti  penelitian yang dilakukan [4] yaitu optimasi minimum pola baju menggunakan algoritma greedy, hasilnya terjadi  penghematan  pada  kain  dalam  membentuk  ukuran  medium.  Penelitian  [5]  menerapkan algoritma greedy pada permasalahan pengangkutan barang di toko surya muda, hasilnya dengan

## M
Jurnal Teknik Informatika dan Sistem Informasi ISSN 2407-4322 Vol. 11, No. 2, Juni 2024, Hal. 365-375 E- ISSN 2503-2933 367
menggunakan  algoritma  greedy  pengangkutan  barang  pada  Toko  Surya  Muda  Pekanbaru mendapatkan keuntungan maksimum.
Banyak faktor yang mempengaruhi hasil penelitian diantaranya data maupun algoritma. Penelitian  ini  berfokus  pada  algoritma  yang  digunakan  yaitu  algoritma  greedy,  untuk mengetahui apakah algoritma greedy dapat digunakan untuk menentukan menu diet berdasarkan kandungan kalori dan protein maka penelitian ini penting untuk dilakukan.

## 2. METODE PENELITIAN

## 2.1   Algoritma Greedy
Kata  Greedy  berasal  dari  bahasa  Inggris  yang  artinya  rakus  atau  tamak.  Algoritma greedy membentuk solusi dengan langkah per langkah yang pada setiap langkah tersebut akan dipilih solusi yang paling optimal. Solusi tersebut tidak mempertimbangkan konsekuensi untuk solusi yang akan diambil pada langkah selanjutnya, solusi tersebut juga tidak dapat diubah lagi pada langkah  selanjutnya.  Prinsip algoritma  greedy  adalah  “take  what  you  can get  now”  yang berarti pada setiap langkah ambil solusi yang optimum pada langkah tersebut atau yang disebut dengan  optimum  lokal  tanpa  memperhatikan  konsekuensi  pada  langkah  selanjutnya  dengan harapan jika memilih optimum lokal pada setiap langkah akan berakhir dengan optimum global [6].

## 2.2 Defisit Kalori
Defisit  kalori  merupakan  cara  menurunkan  berat  badan  dengan  menjaga  asupan kalori yang masuk ke dalam tubuh. Dalam program diet ini dianjurkan memilih menu makanan yang tinggi protein dan rendah kalori. Makanan yang tinggi protein dapat mengurangi hormon ghreli dalam tubuh, hormon tersebut merupakan hormon yang memberi sinyal rasa lapar di tubuh [7]. Oleh  karena  itu  makanan  dengan  protein  yang  tinggi  dapat  memberikan  efek  kenyang  yang lebih lama.
Rumus yang digunakan dalam menghitung kalori per hari adalah rumus dari Mifflin-St. Jeor  yang  merupakan  salah  satu  yang  rumus  yang  paling  banyak  digunakan  bahkan  disebut rumus  paling  akurat  [8].  Rumus  tersebut  menghitung  nilai  Basal  Metabolic  Rate  (BMR)  yang terdapat pada persamaan (1) dan (2).
BMR =  10 × berat badan + 6.25 × tinggi badan ! " − 5 × usia &'() " + 5 (1) BMR *)& =  10 × berat badan + 6.25 × tinggi badan ! " − 5 × usia &'() " − 161 (2) Setelah  mengetahui  BMR,  operasikan  dengan  tingkat  aktivitas  yang  dilakukan menggunakan persamaan 3, 4, 5, 6, dan 7 [9].
Sedikit atau tidak ada olahraga = BMR  × 1.2 (3) 1 sampai 3 hari perminggu olahraga = BMR × 1.375 (4) 3 sampai 5 hari perminggu olahraga sedang = BMR × 1.55 (5) 6 sampai 7 hari perminggu olahraga berat = BMR × 1.725 (6) 2 kali sehari olahraga berat = BMR × 1.9 (7)

## 2.3   Dataset
Data yang digunakan dalam penelitian ini adalah daging ikan, karena berdasarkan [10] daging ikan salah satu makanan yang tinggi protein.
368 Jatisi ISSN 2407-4322 Vol. 11, No. 2, Juni 2024, Hal. 365-375 E-ISSN 2503-2933
Tabel 1. Data Kandungan Ikan per 100 gram Jenis Ikan Kalori Protein Ikan Salmon 116 19.9 Ikan Tenggiri 112 21.4 Ikan Tongkol 111 24 Ikan Kakap 111 24 Ikan Kembung 112 21.4 Ikan Bawal 84 18.2 Ikan Bandeng 84 14.8 Ikan Cuew 74 13 Belut 112 21.4 Ikan Mas 130 18.3 Ikan Lele 84 14.8 Ikan Wader 84 14.8 Ikan Mujair 84 18.2

## 3. HASIL DAN PEMBAHASAN

## 3.1   Perhitungan Manual
Penelitian ini menggunakan 3 strategi greedy yaitu greedy by kalori, greedy by protein, dan  greedy  by  density.  Kalori  merupakan  weight  sedangkan  protein  adalah  profitnya. Elemenelemen dari Algoritma Greedy adalah:
1. Himpunan kandidat = Himpunan makanan
2. Himpunan solusi = Total kalori dari makanan yang dipilih lebih kecil atau sama dengan hasil perhitungan BMR.
3. Fungsi  seleksi  =  Pilih  makanan  yang  memiliki  kalori  terendah/protein  tertinggi/densit tertinggi dari himpunan kandidat yang tersisa
4. Fungsi kelayakan = Memeriksa apakah nilai total kalori dari himpunan makanan yang dipilih tidak melebihi nilai BMR
5. Fungsi  objektif  =  Jumlah  kalori  minimum/  jumlah  protein  maksimum/  jumlah  density maksimum
Tabel 2. Nilai Kalori, Protein, dan Density Jenis Ikan Kalori Protein Density Ikan Salmon 116 19,9 0,17 Ikan Tenggiri 112 21,4 0,19 Ikan Tongkol 111 24 0,22 Ikan Kakap 111 24 0,22 Ikan Kembung 112 21,4 0,19 Ikan Bawal 84 18,2 0,22 Ikan Bandeng 84 14,8 0,18 Ikan Cuew 74 13 0,18 Belut 112 21,4 0,19 Ikan Mas 130 18,3 0,14 Ikan Lele 84 14,8 0,18 Ikan Wader 84 14,8 0,18
Jurnal Teknik Informatika dan Sistem Informasi ISSN 2407-4322 Vol. 11, No. 2, Juni 2024, Hal. 365-375 E- ISSN 2503-2933 369
Protein]
Ikan Mujair 84 18,2 0,22
Misalnya  ada  seorang  wanita  25  tahun  dengan  berat  badan  70kg,  tinggi  150cm  dan jarang berolahraga.
BMR = 10 × 70" + 6.25 × 150" − 5 × 25" − 161 = 1351.5 kalori/hari Kalori yang dibutuhkan = 1352.5 × 1.2 = 1622 kalori/hari
Di  indonesia  frekuensi  makan  dalam  sehari  adalah  3 kali  yaitu  pagi,  siang  dan malam [11]. Maka untuk kalori yang dibutuhkan dalam sekali makan adalah:

## Kalori yang dibutuhkan dalam sekali makan = 1622  ÷ 3 = 541 kalori
Maka  dalam  perhitungan  di  algoritma  greedy  maksimal  kalori  adalah  541.  Maksimal kalori tersebut menjadi batas bobot.
Berdasarkan  Tabel  3  solusi  menu  yang  dihasilkan  Algoritma Greedy  by  kalori adalah Ikan  Cuew,  Ikan  Bawal,  Ikan  Bandeng,  Ikan  Lele,  Ikan  Wader,  dan  Ikan  Mujair  dengan  total kalori 494 dan total protein 93,8.
Tabel 3. Greedy By Kalori Jenis Ikan Kalori Protein W Ikan Cuew 74 13 541 − 74 = 467 Ikan Bawal 84 18,2 467 − 84 = 383 Ikan Bandeng 84 14,8 383 − 84 = 299 Ikan Lele 84 14,8 299 − 84 = 215 Ikan Wader 84 14,8 215 − 84 = 131 Ikan Mujaer 84 18,2 131 − 84 = 47 Total 494 93,8
Berdasarkan Tabel 4 solusi menu yang dihasilkan Algoritma Greedy by protein adalah Ikan Tongkol,  Ikan Kakap,  Ikan Tenggiri, Ikan Kembung, dan Ikan Bawal dengan total kalori 530 dan total protein 109.
Tabel 4. Greedy By Protein Jenis Ikan Kalori Protein W Ikan Tongkol 111 24 541 − 111 = 430 Ikan Kakap 111 24 430 − 111 = 319 Ikan Tenggiri 112 21,4 319 − 112 = 207 Ikan Kembung 112 21,4 207 − 112 = 95 Ikan Bawal 84 18,2 95 − 84 = 11 Total 530 109
Berdasarkan Tabel 5 solusi menu yang dihasilkan Algoritma Greedy by density adalah Ikan Tongkol, Ikan Kakap, Ikan Bawal, Ikan Mujair, dan Ikan Tenggiri dengan total kalori 502 dan total protein 105,8.
Tabel 5. Greedy By Density Jenis Ikan Kalori Protein Density W Ikan Tongkol 111 24 0,22 541 − 111 = 430 Ikan Kakap 111 24 0,22 430 − 111 = 319 Ikan Bawal 84 18,2 0,22 319 − 84 = 235 Ikan Mujair 84 18,2 0,22 235 − 84 = 151
370 Jatisi ISSN 2407-4322 Vol. 11, No. 2, Juni 2024, Hal. 365-375 E-ISSN 2503-2933
Ikan Tenggiri 112 21,4 0,19 151 − 112 = 39 Total 502 105,8
Solusi menu yang optimal dapat diperiksa dengan menggunakan Algoritma BruteForce. Solusi  optimal  menu  yang  didapat  adalah  Ikan  Tenggiri,  Ikan  Tongkol,  Ikan  Kakap,  Ikan Kembung, dan Ikan Bawal dengan total kalori 530 dan total protein 109.
Pada contoh kasus wanita 25 tahun dengan berat badan 70kg, tinggi 150cm dan jarang berolahraga  hasil  optimal  dengan  Algoritma  Greedy  didapat  menggunakan  strategi Greedy  by protein.

## 3.1   Perhitungan Program
Bahasa pemrograman yang digunakan adalah Java dengan menggunakan IDE Netbeans. Langkah awal yang diajalankan program setelah mendapatkan data inputan adalah menghitung kalori yang dibutuhkan user. Kode program perhitungan kalori terdapat pada Gambar 2.
Gambar 2. Kode Program Hitung Kalori
Kemudian program menghitung nilai density dengan rumus protein dibagi kalori. Kode program menghitung density terdapat pada Gambar 3.
Gambar 3. Kode Program Hitung Density
Seteleh  menghitung  nilai  density  program  mulai  melakukan  pencarian  menu  diet menggunakan 3 strategi yaitu Greedy by kalori, Greedy by protein, dan Greedy by density.
Jurnal Teknik Informatika dan Sistem Informasi ISSN 2407-4322 Vol. 11, No. 2, Juni 2024, Hal. 365-375 E- ISSN 2503-2933 371
Fathimah Azzahra [ Penerapan Algoritma Greedy Dalam Penentuan Menu Diet Berdasarkan Kandungan Kalori dan Protein]

## Gambar 4. Kode Program Greedy By Kalori
Gambar 5. Kode Program Greedy By Protein
372 Jatisi ISSN 2407-4322 Vol. 11, No. 2, Juni 2024, Hal. 365-375 E-ISSN 2503-2933
Gambar 6. Kode Program Greedy By Density
Untuk  mengetahui  solusi  optimal  sebenarnya  secara  global  digunakan  algoritma BruteForce sebagai pembanding. Kode program algoritma BruteForce terdapat pada Gambar 7.
Jurnal Teknik Informatika dan Sistem Informasi ISSN 2407-4322 Vol. 11, No. 2, Juni 2024, Hal. 365-375 E- ISSN 2503-2933 373
Fathimah Azzahra [ Penerapan Algoritma Greedy Dalam Penentuan Menu Diet Berdasarkan Kandungan Kalori dan Protein]
Gambar 7. Kode Program Brute Force
Gambar 8. Hasil Perhitungan Program
Untuk melihat solusi optimal yang sebenarnya sebagai pembanding adalah menerapkan algoritma  BruteForce.  Dari  Gambar  8  terlihat  solusi  Greedy  terkadang  menghasilkan  solusi yang optimal di kondisi tertentu.
374 Jatisi ISSN 2407-4322 Vol. 11, No. 2, Juni 2024, Hal. 365-375 E-ISSN 2503-2933

## 4. KESIMPULAN
Pada  permasalahan  optimasi  menu  diet  ini,  algoritma  greedy  diterapkan  sebagai  salah satu  cara  untuk  menyelesaikan  permasalahan.  Dari  hasil  percobaan  dan  analisis  yang  telah dilakukan,  algoritma  greedy  mampu  memberikan  solusi  optimal  di  beberapa  kondisi.  Dalam penerapan  algortima  greedy  terdapat  kondisi  yang  menghasilkan  solusi  tidak  optimal,  tetapi perbedaan  solusi  yang  dihasilkan  tidak  terlalu  signifikan  sehingga  algoritma  ini  masih memungkinkan  untuk  menyelesaikan  permasalahan  kendala  menghitung  kalori  dan  mengatur menu diet.

## 5. SARAN
Disarankan  untuk  penelitian  berikutnya  mencoba  menerapkan  algoritma  lain  selain greedy dan bruteforce untuk dapat menghasilkan solusi yang optimal di semua kondisi.

## DAFTAR PUSTAKA
[1] N.  K.  Muliarsi  and  N.  K.  Sutiari, “Persepsi  Negatif  Tentang  Diet  pada  Remaja  Putri: Studi Cross-Sectional di Kabupaten Tabanan,” Gizi Indonesia , Vol. 45, No. 2, pp. 109– 118, Sep. 2022, doi: 10.36457/gizindo.v45i2.698.
[2] D. Angelia, “Mengulik Perilaku Diet Masyarakat Indonesia 2022,” GoodStats , Sep. 19, 2022. Accessed: Jun. 02, 2023. [Online]. Available: https://goodstats.id/article/mengulik- perilaku-diet-masyarakat-indonesia-2022-hEiwG
[3] S. Rianti, H. Lubis, and R. Pahlevi, “Sistem Penunjang Keputusan Optimalisasi Barang Dengan  Algoritma  Greedy  pada  PT  Sentralindo  Teguh  Gemilang,” Jurnal  Sistem Informasi Universitas Suryadarma , Vol. 7, No. 2, Jun. 2020, doi: 10.35968/jsi.v7i2.454.
[4] H.  Subakti  and  W.  Gata, “Optimasi  Minimum  Pola  Baju  Khas  Kain  Tenun  Sarung Samarinda  Menggunakan  Algoritma  Greedy,” Inspiration:  Jurnal  Teknologi  Informasi dan Komunikasi , Vol. 11, No. 1, p. 1, Jun. 2021, doi: 10.35585/inspir.v11i1.2602.
[5] S.  Basriati,  E.  Safitri,  and  M.  Ermanita, “Aplikasi  Algoritma  Greedy  Terhadap Permasalahan  Integer  Knapsack  pada  Toko  Surya  Muda  Pekanbaru,” Jurnal  Sains
Matematika dan Statistika , Vol. 6, No. 2, p. 97, Jul. 2020, doi: 10.24014/jsms.v6i2.10554.
[6] Y. D. Mahendra, N. Nuryanto, and A. Burhanuddin, “Sistem Penentuan Jarak Terdekat Dalam  Pengiriman  Darah di  PMI  Kota  Semarang  Dengan  Metode  Algoritma  Greedy,”
Jurnal Komtika , Vol. 2, No. 2, pp. 136–142, Feb. 2019, doi: 10.31603/komtika.v2i2.2601.
[7] M.  Amanda, “4  Sumber  Protein  Rendah  Kalori  yang  Bisa  Bantu  Turunkan  Berat Badan,” hellosehat ,  Dec.  19,  2020.  Accessed:  Jun.  02,  2023.  [Online].  Available: https://hellosehat.com/nutrisi/berat-badan-turun/5-makanan-protein-rendah-kalori/
Jurnal Teknik Informatika dan Sistem Informasi ISSN 2407-4322 Vol. 11, No. 2, Juni 2024, Hal. 365-375 E- ISSN 2503-2933 375
[8] A.  Z.  Yonatha ,  “Cara  Defisit  Kalori  yang  Benar  Beserta  Cara  Hitungnya,” detikbali , Jan. 03, 2023. Accessed: Jun. 02, 2023. [Online]. Available: https://www.detik.com/bali/berita/d-6496075/cara-defisit-kalori-yang-benar-beserta-cara- hitungnya
[9] “Begini Cara Menghitung Defisit Kalori, Diet Pasti Berhasil!,” halodoc , Oct. 17, 2022. Accessed:  Jun.  02,  2023.  [Online].  Available:  https://www.halodoc.com/artikel/begini- cara-menghitung-defisit-kalori-diet-pasti-berhasil
[10] “Perbandingan  Gizi  Antara  Daging  Ayam,  Kambing,  Ikan  dan  Sapi,” alodokter. Accessed: Jun. 02, 2023. [Online]. Available: https://www.alodokter.com/komunitas/topic/perbandingan-gizi-daging
[11]  Uswah, “Ahli  Gizi  UM  Surabaya :  Ini  Bahayanya  kalau  Makan  Sehari  Sekali,” UM Surabaya , Aug. 22, 2022. Accessed: Jun. 02, 2023. [Online]. Available: https://www.um- surabaya.ac.id/homepage/news_article?slug=ahli-gizi-um-surabaya-ini-bahayanya-kalau- makan-sehari-
sekali#:~:text=Frekuensi%20makan%20dalam%20sehari%20terdiri,malam%20(18.00%2 D19.00)