## APLIKASI SMARTDIET MENGGUNAKAN LOGIKA FUZZY BERBASIS ANDROID
Nurul Nabila Maharani 1) , Feri Candra 2)
1 Teknik Informatika, Universitas Riau email: nurulnabilam27@gmail.com
2 Teknik Informatika, Universitas Riau email: feri@eng.unri.ac.id

## Abstract
Health is an essential thing in our lives. One of the characteristics of a healthy body is having an ideal body. To get an ideal body, we should regulate our diet or eating pattern to our daily activity. We can find out that our body is ideal or not by using BMI formula. Moreover, we can total our daily  calories  need  by  using  BMR  formula.  Both  of  the  formulas  actually  can  be  calculated manually,  but  the  methods  are  not  efficient.  Also,  in  those  formulas,  the  calculations  are  still standard and inflexible. Therefore, this study uses fuzzy logic with Mamdani methods to calculate the body mass index and calorie requirement figures. Using the fuzzy logic can give tolerances to the  result  so  that  there  are  no  significant  results.  This  application  uses  Java  language  based  on Android  so  that  it  can  be  used  practically  on  smartphones.  The  result  shows  that  BMI  and  BMR obtained by this application are the accuracy of 89.62% and the error value of 10.38% .
Keywords: Android, BMI, BMR, Fuzzy Logic, Mamdani

## Abstrak
Kesehatan  merupakan  hal  yang  paling  penting  dalam  kehidupan  kita.  Salah  satu  ciri-ciri  tubuh yang  sehat  adalah  berat  badan  yang  ideal.  Untuk  mencapai  berat  badan  yang  ideal,  kita  harus mengatur  pola  makan  sesuai  dengan  proposional  tubuh  dan  juga  sesuai  dengan  kegiatan  sehari- hari. Untuk mengetahui apakah berat badan sudah ideal atau belum dapat dihitung dengan rumus BMI.  Dan  untuk  mengetahui  jumlah  kalori  yang  dibutuhkan  untuk  mencapai  berat  badan  ideal dapat  dihitung  dengan  rumus  BMR.  Kedua  rumus  tersebut  sebenarnya  dapat  dihitung  dengan manual,  akan  tetapi  cara  tersebut  kurang  efisien.  Dan  juga  dalam  perumusan  tersebut perhitungannya  masih  kaku  dan  tidak  fleksibel.  Maka  dari  itu,  pada  penelitian  ini  akan menggunakan perhitungan keidealan berat badan dan angka kebutuhan kalori dengan logika fuzzy metode  Mamdani.  Menggunakan  perhitungan  dengan  logika  fuzzy  dapat  memberikan  toleransi terhadap nilai tersebut sehingga tidak terjadi adanya perubahan nilai yang signifikan. Aplikasi ini akan  dirancang  dengan  bahasa  Java  dalam  bentuk  aplikasi  Android  sehingga  dapat  digunakan secara praktis di smartphone. Dari hasil penelitian yang diperoleh perhitungan nilai BMI dan BMR dengan nilai akurasi 89.62% dan nilai error yang dihasilkan 10.38%
Keywords: Android, BMI, BMR, Logika Fuzzy, Mamdani

## PENDAHULUAN
Kesehatan adalah hal yang penting dalam kehidupan  kita.  Salah  satu  ciri-ciri  badan yang  sehat  adalah  berat  badan  yang  ideal. Berat  badan  yang  ideal  merupakan  berat badan  yang  dimana  tinggi  badan  seseorang seimbang  dengan  berat  badannya.  Tetapi, tidak  banyak  yang  mengetahui  apakah  berat badan  mereka  sudah  ideal  apa  belum.  Maka, cara  untuk  mengetahui  keseimbangan  berat badan  dan  tinggi  badan  kita  adalah  dengan
menghitung  rumus Body  Mass  Index atau BMI.
Body  Mass  Index atau  dalam  Bahasa Indonesia Indeks Massa Tubuh adalah rumus perbandingan  antara  berat  badan  dan  tinggi badan  orang  dewasa  yang  digunakan  untuk mengetahui  ke-ideal-an  tubuh  seseorang. Penggolongsn  BMI  terdiri  dari  Underweight, Normal,  Overweight  dan  Obesitas.  Untuk menghitung  BMI  dapat  dilakukan  dengan membagi  berat  badan  dalam  kilogram  dan tinggi badan dikuadratkan dalam meter [1].
Salah satu cara untuk mendapatkan tubuh yang ideal adalah dengan makan yang teratur sesuai  dengan  kebutuhan  kalori.  Maka  dari itu,  kita  harus  mengatur  semua  kalori  yang kita  makan  agar  mendapatkan  berat  badan yang  ideal.  Perhitungan  kalori  yang dibutuhkan  dapat  dihitung  dengan  rumus Basal  Metabolic  Rate  (BMR)  atau  dalam Bahasa Indonesia disebut Angka Metabolisme Basal (ABM).
Basal Metabolic Rate (BMR) atau dalam Bahasa Indonesia disebut Angka Metabolisme Basal  (ABM)  adalah  jumlah  energi  minimal yang dibutuhkan oleh tubuh untuk menjalankan  proses  pada  bagian  vital  oleh tubuh  seperti  pernafasan,  peredaran  darah, dan  alat  vital  lainnya  [2].  Beberapa  faktor yang  membedakan  nilai  BMR  pada  setiap orang,  diantaranya  adalah  ukuran  tubuh, komposisi  tubuh,  jenis  kelamin,  umur  dan aktivitas fisik [3].
Pada perhitungan manual BMI dan BMR masih sulit diimplementasikan dan juga tidak fleksibel.  Seiring  dengan  berkembangnya teknologi  terutama  dalam  bidang  kecerdasan buatan,  salah  satunya  adalah  logika  fuzzy. Penggunaan  logika  fuzzy  dapat  memberikan toleransi  sehingga  tidak  terjadi  adanya perubahan  nilai  yang  signifikan  [4].  Aplikasi ini  akan  dirancang  dengan  basis  Android sehingga  memudahkan  pengguna  karena  bisa dapat  diakses  langsung  dengan  smartphone yang mempunyai sistem operasi Android.

## METODE PENELITIAN
Tahapan-tahapan  yang  dilaksanakan dalam penelitian ini adalah sebagai berikut:
a. Studi  Literatur,  dilakukan  dengan  cara mempelajari  teori-teori  yang  berkaitan dengan penelitian baik itu metode, objek penelitian,  dan  hal-hal  lainnya  melalui buku,  jurnal,  dan  halaman web yang dapat dipercaya.
b. Pengumpulan Data, dengan cara mengumpulkan  informasi  tentang  data- data  yang  dibutuhkan  dalam  penelitian yaitu  berat  badan,  tinggi  badan,  umur, jenis kelamin dan tingkat aktivitas.
c. Implementasi,  dengan  cara  membangun program  dan  membuat  proses  kontrol logika  fuzzy.  Kemudian  melakukan pengujian dengan menggunakan data uji.
d. Representasi Hasil, dengan cara menjabarkan  hasil  IMT  dan  kebutuhan kalori  atau  BMI  dari  hasil  perhitungan logika fuzzy Mamdani e. Kesimpulan,
yaitu dengan
menyimpulkan  hasil  dari  keseluruhan tahap penelitian yang telah dilaksanakan. Logika fuzzy adalah cabang dari sistem kecerdasan buatan ( Artificial Inteligent ) yang mengemulasi  kemampuan  manusia  dalam berfikir  ke  dalam  bentuk  algoritma  yang kemudian  dijalankan  oleh  mesin.  Algoritma ini  digunakan  dalam  berbagai  aplikasi pemrosesan data yang tidak dapat direpresentasikan dalam bentuk biner. Logika fuzzy  menginterpretasikan  statemen  yang samar  menjadi  sebuah  pengertian  yang  logis [5].
Dalam penelitian ini digunakan metode Logika  Fuzzy Mamdani atau  yang  biasa disebut  metode  MIN-MAX  yaitu  metode logika  fuzzy adalah  salah  satu  bentuk  dari fuzzy  inference  sistem yang  berfungsi  untuk mengambil keputusan dan menarik kesimpulan  dalam  suatu  permasalahan  yang tidak pasti [6].
Tahapan  dalam  logika  fuzzy Mamdani terdapat  empat  tahap  yaitu  adalah  sebagai berikut:
a. Pembentukan Himpunan Fuzzy.
Pada  tahapan  pertama  prosedur  logika fuzzy  Mamdani  ini,  hal  yang  pertama dilakukan adalah pembentukan himpunan  fuzzy. himpunan  fuzzy  atau fuzzy  sets merupakan  pengelompokkan sesuatu berdasarkan ekspresi bahasa atau linguistik  yang  dinyatakan  dalam  fungsi keanggotaan [7].
b. Aplikasi Fungsi Implikasi
Tahapan selanjutnya adalah pengaplikasian  fungsi  implikasi.  Pada metode Mamdani, fungsi implikasi yang digunakan  adalah  MIN.  Secara  umum persamaan  fungsi  implikasi  dapat dituliskan dalam bentuk if-then rule yang diberikan [8].
1
c. Komposisi Aturan
Tahap  ketiga  dari  proses  logika  fuzzy metode  Mamdani  adalah  komposisi aturan  atau  biasa  disebut  dengan  fungsi MAX. Pada tahapan ini solusi himpunan fuzzy  diperoleh  dengan  cara  mengambil nilai  maksimum  dari  output  yang dihasilkan  [9].  Fungsi  MAX  sendiri
secara  umum  dapat  dituliskan  pada persamaan (1) berikut:
𝜇𝑠𝑓[𝑋𝑖] = max(𝜇𝑠𝑓[𝑋𝑖], 𝜇𝑘𝑓[𝑋𝑖]) (1)
Keterangan: 𝜇𝑠𝑓[𝑋𝑖] = nilai keanggotaan solusi fuzzy sampai aturan ke-i
𝜇𝑘𝑓[𝑋𝑖] = nilai keanggotaan konsekuen fuzzy setiap aturan ke-i
d. Defuzzifikasi Langkah  terakhir  adalah  defuzzifikasi. Defuzzifikasi merupakan sebuah
bilangan  tunggal,  yaitu  harga  variable masukan  dan  keluarnya  adalah  derajat keanggotan dalam suatu fuzzy set dalam antecedent,  maka  masukan  dan  keluaran defuzzifikasi  adalah  sebuah  set  (dalam hal  ini  fuzzy  set  hasil  agregasi)  dan keluarannya adalah sebuah tunggal untuk diisikan ke sebuah variable keluaran FIS [10].
Defuzzifikasi  yang  digunakan  dalam metode  Mamdani  ini  adalah  dengan menggunakan metode Centroid
(Composite  Moment).  Pada  metode Centroid ini  diperoleh  dengan  cara mengambil  titik  pusat  dari  hasil  daerah fuzzy  yang  didapatkan  [5].  Secara umum, metode Centroid dapat dituliskan pada Persamaan (2)
Z 2 = ∫ 4.6 (7) 89 : ; 6 (7) 89 (2)
Keterangan :
𝑍 2 = Hasil Defuzzifikasi 𝜇 (=) = Derajat Keanggotaan Titik 𝑍 = Nilai domain ke-i

## HASIL DAN PEMBAHASAN
Dalam penelitian ini dilakukan 4 tahapan proses hitungan manual perhitungan
penentuan nilai BMI dan BMR dengan logika fuzzy metode Mamdani yang telah dijelaskan pada  sub-bab  Metodologi.  Variabel-variabel input yang akan digunakan untuk menghitung BMI  adalah  berat  badan  dan  tinggi  badan. Sedangkan  variabel-variabel  input  yang digunakan  untuk  menghitung  BMR  adalah nilai  BMI  yang  didapatkan  dari  perhitungan sebelumnya,  umur,  jenis  kelamin  dan  tingkat aktifitas.
Berikut  akan  diberikan  sebuah  contoh kasus  dengan  kriteria  variabel  sebagai berikut: Berat badan : 45 kg Tinggi badan : 153 cm Umur : 20 tahun Jenis Kelamin : Laki-laki Aktifitas : 2 kali seminggu
Pada  perhitungan  ini  akan  didahulukan perhitungan  penentuan  nilai  BMI  yang kemudian  dilanjutkan  dengan  perhitungan penentuan nilai BMR.
1. Perhitungan  fuzzy  penentuan  nilai BMI
a. Penentuan  derajat  keanggotaan  masing- masing himpunan pada variabel (Fuzzifikasi)
Masing-masing  variabel  diklasifikasikan dengan  beberapa  himpunan  dengan  nilai domain  yang  telah  ditentukan.  Nilai  domain berfungsi  untuk  menentukan  nilai  derajat keanggotaan masing-masing himpunan. Tabel himpunan  fuzzy  variabel  berat  badan  dan tinggi badan dapat dilihat pada Tabel 1.
Tabel 1. Himpunan Fuzzy Variabel Berat Badan dan Tinggi Badan
Variabel Himpunan Domain Berat badan Ringan [30, 50] Normal [45, 60] Berat [55, 80] Tinggi badan Rendah [145, 155] Normal [150, 170] Tinggi [165, 185] BMI Underweight [10, 19.9] Normal [17, 24.9] Overweight [23, 29.9] Obesitas [28, 35]
a. Variabel berat badan Untuk  nilai  variabel  berat  badan  yang diketahui adalah 45. Variabel berat badan ada 3  himpunan  yaitu  RINGAN,  SEDANG,  dan BERAT.  Masing-masing  himpunan  akan dihitung  derajat  keanggotaannya  sesuai
dengan  nilai  yang  ditentukan.  Berikut  adalah perhitungan derajat keanggotaan pada himpunan RINGAN pada persamaan 2.
𝜇𝑅𝑖𝑛𝑔𝑎𝑛 (45) = (D2EFD) (D2EG2) = D H2 = 0.25 (2)
Untuk himpunan NORMAL dan BERAT tidak  perlu  dihitung  derajat  keanggotaannya karena  nilai  variabel  yang  diketahui  tidak memotong  grafik  himpunan  tersebut  atau tidak  termasuk  pada  nilai  domainnya.  Maka nilai  derajat  keanggotaan  untuk  variabel  45 pada semua himpunan adalah sebagai berikut:
𝜇𝑅𝑖𝑛𝑔𝑎𝑛 (45) = 0.25 𝜇𝑁𝑜𝑟𝑚𝑎𝑙(45) = 0 𝜇𝐵𝑒𝑟𝑎𝑡 (45) = 0
b. Variabel tinggi badan Nilai variabel berat badan yang diketahui adalah  153.  variabel  tinggi  badan  terdapat  3 himpunan  fuzzy  yaitu  RENDAH,  NORMAL dan TINGGI. Masing-masing himpunan akan dihitung  derajat  keanggotaannya  sesuai dengan  nilai  yang  ditentukan.  Berikut  adalah perhitungan derajat keanggotaan pada himpunan RENDAH pada persamaan 3.
𝜇𝑅𝑒𝑛𝑑𝑎ℎ[153] = (WDDEWDG) (WDDEWFD) = H W2 = 0.2 (3)
Hasil dari perhitungan tersebut
menunjukan  bahwa  nilai  derajat  keanggotaan himpunan  RENDAH  pada  nilai  variabel  153 adalah  0.2  selanjutnya  adalah  himpunan NORMAL.  Berikut  adalah  perhitungan derajat keanggotaan pada himpunan
NORMAL pada persamaan 4.
𝜇𝑁𝑜𝑟𝑚𝑎𝑙(153) = (WDGEWD2) (WXGEWD2) = G WG = 0.23 (4)
Untuk  himpunan  TINGGI  tidak  perlu dihitung  derajat  keanggotaannya  karena  nilai variabel  yang  diketahui  tidak  memotong grafik himpunan tersebut atau tidak termasuk pada  nilai  domainnya.  Maka  nilai  derajat keanggotaan  pada  semua  himpunan  adalah sebagai berikut:
𝜇𝑅𝑒𝑛𝑑𝑎ℎ (153) = 0.2 𝜇𝑁𝑜𝑟𝑚𝑎𝑙(153) = 0.23 𝜇𝑇𝑖𝑛𝑔𝑔𝑖(153) = 0
b. Penentuan nilai aplikasi fungsi implikasi Setelah  semua  variabel  telah  ditentukan derajat keanggotaan pada setiap himpunannya,  maka  langkah  selanjutnya adalah  pengaplikasian  fungsi  implikasi. Fungsi  implikasi  yang  digunakan  dalam proses  ini  adalah  fungsi  MIN,  yaitu  dengan mengambil  derajat  keanggotaan  paling sedikit.  Berdasarkan  aturan-aturan  yang sesuai  dengan  fungsi  implikasi  yaitu  ada  9 aturan tetapi yang digunakan yaitu dua aturan yaitu:
[R1]  IF  berat  badan  =  RINGAN  AND tinggi  badan  =  RENDAH  THEN  bmi  = NORMAL .
α-predikat1=μBBRingan∩TBRendah =min(μBBRingan(45),TBRendah(153)) =min⁡(0.25;0.2)
=0.2
[R2]  IF  berat  badan  =  RINGAN  AND tinggi  badan  =  NORMAL  THEN  bmi  = NORMAL.
α-predikat2=μBBRingan∩TBNormal =min(μBBRingan(45),TBRendah(153))
=min⁡(0.25;0.23)
=0.23
c. Komposisi aturan Komposisi  aturan  menggunakan  fungsi MAX,  sehingga  pada  metode  ini  solusi himpunan  fuzzy  diperoleh  dengan  cara mengambil nilai maksimum aturan, kemudian menggunakannya untuk memodifikasi daerah fuzzy. Berikut adalah perhitungan dari fungsi MAX pada persamaan 5.
𝜇𝑠𝑓(𝑥) = 𝑚𝑎𝑘𝑠{(𝜇𝑏𝑚𝑖𝑁𝑜𝑟𝑚𝑎𝑙(0.23), 𝜇𝑏𝑚𝑖𝑁𝑜𝑟𝑚𝑎𝑙(0.25)}
= maks(0.23; 0.2) = 0.23 (5)
Karena  kedua  nilai  maksimum  berada pada  himpunan  fuzzy  yang  sama  yaitu himpunan  fuzzy  bmi  NORMAL,  maka himpunan  yang  akan  dihitung  adalah himpunan  NORMAL.  Berikut  adalah  grafik
himpunan  NORMAL  untuk  menghitung komposisi aturan pada Gambar 1.
Gambar 1. Grafik Variabel BMI Himpunan Normal pada Komposisi Aturan
Berdasarkan  gambar  diatas,  nilai  z  dapat ditentukan sebagai berikut:
0.23 = 𝑧 − 17 4 0.92 = 𝑧 − 17 𝑧 = 17.92 𝑎𝑡𝑎𝑢 0.23 = 24.9 − 𝑧
3.9 0.897 = 24.9 − 𝑧 𝑧 = 24.003
Maka,  fungsi  keanggotaan  untuk  hasil komposisi ini adalah:
𝜇(𝑧) = ⎩ ⎪ ⎪ ⎨ ⎪ ⎪ ⎧ 0, 𝑧 < 17 𝑧 − 17
4 ;  17 ≤ 𝑧 ≤ 17.92 0.25;  17.92  ≤ 𝑧 ≤ 24.003 24.9 − 𝑧 3.9 ; 24.003 ≤ 𝑧 ≤ 24.9
0;  𝑧 > 24.9
d. Defuzzifikasi Tahap terakhir dari perhitungan fuzzy ini adalah  defuzzifikasi.  Pada  tahap  ini  grafik daerah  defuzzifikasi  akan  dibagi  sesuai dengan persamaan hasil komposisi aturan dan kemudian  akan  dihitung  setiap  momen  dan luas daerahnya. Berikut adalah gambar grafik daerah defuzzifikasi pada Gambar 2.
Gambar 2. Grafik Pembagian Daerah
Defuzzifikasi Variabel BMI
i. Penentuan Momen Untuk Setiap Daerah
- Momen-1
𝑀1 =   o p 𝑧 − 17 4 q 𝑧 𝑑𝑧 Wr Ws =   o 2𝑧 G − 51𝑧 H
24 Wr Ws + C = 2,083 - Momen-2
𝑀2 =   o
0.25 𝑧 𝑑𝑧 = 31
HG.vHD
Wr - Momen-3 𝑀3 =   o p 24.9 − 𝑧 3.9 q 𝑧 𝑑𝑧 = 2.95
HF.v HG.vHD
ii. Penentuan Luas Untuk Setiap Daerah
- Luas D1 𝐷1 = (18 − 17) ∗ 0.25 2 = 0.125 - Luas D2 𝐷2 = (23.925 − 18) ∗ 0.25 = 1.48 - Luas D3 𝐷3 = (24.9 − 23.925) ∗ 0.25 2 = 0.122 Maka,  untuk  hasil  titik  pusat  atau defuzzifikasi adalah:
𝑧 = (𝑀1 + 𝑀2 + 𝑀3)
(𝐷1 + 𝐷2 + 𝐷3) 𝑧 = (2,083 + 31 + 2,95) (0.125 + 1.48 + 0.122) 𝑧 = 36.033 1.73 = 20,828  ≈ 20.8
Jadi, nilai BMI yang diperoleh adalah 20,8.  Nilai  BMI  ini  akan  digunakan  untuk perhitungan  selanjutnya  pada  perhitungan kalori
2. Perhitungan  fuzzy  penentuan  nilai
BMR
I. Penentuan  derajat  keanggotaan  masing- masing himpunan pada variabel (Fuzzifikasi)
Tabel  himpunan  fuzzy  variabel  BMI, umur, aktifitas dan kalori badan dapat dilihat pada Tabel 2.
Tabel 2. Himpunan Fuzzy Variabel BMI, Umur, Aktifitas dan Kalori
Variabel   Himpunan Domain BMI Underweight [10, 19.9] Normal [17, 24.9] Overweight [23, 29.9] Obesitas [28, 35] Umur Muda [18, 25] Dewasa Awal [23, 35] Dewasa Akhir [30, 65] Lansia [60, 80] Sangat Ringan [0, 2] Ringan [1, 3] Aktifitas Sedang [2, 6] Berat [5, 7] Sangat Berat [6, 8] Sedikit [800, 1400] Kalori Sedang [1200, 2000] Banyak [1900, 2300] Sangat Banyak [2200, 2400]
f. Variabel BMI
Nilai  variabel  yang  diketahui  adalah 20,8.  Maka  derajat  keanggotaan  yang dihitung  hanya  pada  himpunan  NORMAL.
Berikut adalah
perhitungan derajat
keanggotaan pada himpunan NORMAL pada persamaan 7.
𝜇𝑁𝑜𝑟𝑚𝑎𝑙(20,8) = (H2,rEWs) (HWEWs) = G,r F = 0.95 (7)
Maka  nilai  derajat  keanggotaan  pada semua himpunan adalah sebagai berikut:
𝜇𝑈𝑛𝑑𝑒𝑟𝑤𝑒𝑖𝑔ℎ𝑡(20.8) = 0 𝜇𝑁𝑜𝑟𝑚𝑎𝑙(20.8) = 0.95 𝜇𝑂𝑣𝑒𝑟𝑤𝑒𝑖𝑔ℎ𝑡(20) = 0 𝜇𝑂𝑏𝑒𝑠𝑖𝑡𝑎𝑠(20) = 0
g. Variabel umur Nilai  variabel  yang  diketahui  adalah  20.
Maka  derajat  keanggotaan  yang  dihitung hanya  pada  himpunan  REMAJA.  Berikut adalah  perhitungan  derajat  keanggotaan  pada himpunan REMAJA pada persamaan (8).
𝜇𝑅𝑒𝑚𝑎𝑗𝑎(20) = (HDEH2) (HDEWr) = D s = 0.7 (8)
Maka  nilai  derajat  keanggotaan  pada semua himpunan adalah sebagai berikut:
𝜇𝑅𝑒𝑚𝑎𝑗𝑎 (20) = 0.7 𝜇𝐷𝑒𝑤𝑎𝑠𝑎𝐴𝑤𝑎𝑙(20) = 0 𝜇𝐷𝑒𝑤𝑎𝑠𝑎𝐴𝑘ℎ𝑖𝑟(20) = 0 𝜇𝐿𝑎𝑛𝑠𝑖𝑎(20) = 0
h. Variabel aktifitas Pada    nilai  variabel  himpunan  fuzzy aktivitas, jika tingkat aktivitas yang diketahui adalah olahraga 2 kali seminggu, berdasarkan pada Tabel 3.3, maka nilai variabel Aktivitas =  2.  Himpunan  fuzzy  yang  mencakupi  untuk nilai variabel = 2 adalah SANGAT RINGAN, RINGAN, dan NORMAL.
- Himpunan Sangat Ringan
𝜇𝑆𝑎𝑛𝑔𝑎𝑡𝑅𝑖𝑛𝑔𝑎𝑛(2) = (2 − 2) (2 − 0) = 0 0 = 0 - Himpunan Ringan 𝜇𝑅𝑖𝑛𝑔𝑎𝑛(2) = (2 − 1) (2 − 1) = 1 1 = 1 - Himpunan Sedang 𝜇𝑆𝑒𝑑𝑎𝑛𝑔(2) = (4 − 2) (4 − 2) = 0 0 = 0
Dengan demikian nilai derajat keanggotaan  dari  masing-masing  himpunan yang didapatkan adalah sebagai berikut:
𝜇𝑆𝑎𝑛𝑔𝑎𝑡𝑅𝑖𝑛𝑔𝑎𝑛 (2) = 0 𝜇𝑅𝑖𝑛𝑔𝑎𝑛 (2) = 1 𝜇𝑆𝑒𝑑𝑎𝑛𝑔(2) = 0
𝜇𝐵𝑒𝑟𝑎𝑡 (2) = 0 𝜇𝑆𝑎𝑛𝑔𝑎𝑡𝐵𝑒𝑟𝑎𝑡 (2) = 0
i. Variabel jenis kelamin
Untuk  himpunan  fuzzy  jenis  kelamin, variabel  jenis  kelamin  yang  diketahui  adalah LAKI-LAKI.  jika  jenis  kelamin  yang diketahui  adalah  LAKI-LAKI,  maka  nilai variabelnya  adalah  1.  maka  nilai  derajat keanggotaan  untuk  variabel  Jenis  Kelamin adalah:
𝜇𝐿𝑎𝑘𝑖𝐿𝑎𝑘𝑖(1) = 1 𝜇𝑃𝑒𝑟𝑒𝑚𝑝𝑢𝑎𝑛(1) = 0
II. Penentuan nilai aplikasi fungsi implikasi Aturan  fungsi  implikasi  yang  digunakan adalah  aturan  untuk  jenis  kelamin  Laki-Laki. Berdasarkan  derajat  keanggotaan  yang  telah dihitung,  maka  aturan  fungsi  yang  diambil adalah sebagai berikut:
[R22]  IF  jk  =  LAKI-LAKI  &  bmi  = NORMAL  &  umur  =  REMAJA  & aktivitas  =  RINGAN  THEN  kalori  = SEDANG.
𝛼 − 𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡1 = 𝜇𝑗𝑘𝐿𝑎𝑘𝑖𝐿𝑎𝑘𝑖 ∩ 𝑏𝑚𝑖𝑁𝑜𝑟𝑚𝑎𝑙  ∩ 𝑢𝑚𝑢𝑟𝑅𝑒𝑚𝑎𝑗𝑎 ∩ 𝑎𝑘𝑡𝑖𝑣𝑖𝑡𝑎𝑠𝑅𝑖𝑛𝑔𝑎𝑛
= 𝑚𝑖𝑛 ‡ 𝜇𝑗𝑘𝐿𝑎𝑘𝑖𝐿𝑎𝑘𝑖(1), 𝑏𝑚𝑖𝑁𝑜𝑟𝑚𝑎𝑙(20,8), 𝑢𝑚𝑢𝑟𝑅𝑒𝑚𝑎𝑗𝑎(20), 𝑎𝑘𝑡𝑖𝑣𝑖𝑡𝑎𝑠𝑅𝑖𝑛𝑔𝑎𝑛(2) ˆ = min(1; 0.95; 0.7; 1) = 0.7
[R23]  IF  jk  =  LAKI-LAKI  &  bmi  = NORMAL  &  umur  =  REMAJA  & aktivitas  =  SEDANG  THEN  kalori  = BANYAK.
𝛼 − 𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡2 = 𝜇𝑗𝑘𝐿𝑎𝑘𝑖𝐿𝑎𝑘𝑖 ∩ 𝑏𝑚𝑖𝑁𝑜𝑟𝑚𝑎𝑙  ∩ 𝑢𝑚𝑢𝑟𝑅𝑒𝑚𝑎𝑗𝑎 ∩ 𝑎𝑘𝑡𝑖𝑣𝑖𝑡𝑎𝑠𝑁𝑜𝑟𝑚𝑎𝑙
= 𝑚𝑖𝑛 ‡
𝜇𝑗𝑘𝐿𝑎𝑘𝑖𝐿𝑎𝑘𝑖(1), 𝑏𝑚𝑖𝑁𝑜𝑟𝑚𝑎𝑙(20,8)
, 𝑢𝑚𝑢𝑟𝑅𝑒𝑚𝑎𝑗𝑎(20),
𝑎𝑘𝑡𝑖𝑣𝑖𝑡𝑎𝑠𝑆𝑒𝑑𝑎𝑛𝑔(2) ˆ
= min(1; 0.7; 0.95; 0) = 0
[R42]  IF  jk  =  LAKI-LAKI  &  bmi  = OVERWEIGHT  &  umur  =  REMAJA  & aktivitas  =  RINGAN  THEN  kalori  = SEDANG.
𝛼 − 𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡3 = 𝜇𝑗𝑘𝐿𝑎𝑘𝑖𝐿𝑎𝑘𝑖 ∩ 𝑏𝑚𝑖𝑂𝑣𝑒𝑟𝑤𝑒𝑖𝑔ℎ𝑡  ∩ 𝑢𝑚𝑢𝑟𝑅𝑒𝑚𝑎𝑗𝑎 ∩ 𝑎𝑘𝑡𝑖𝑣𝑖𝑡𝑎𝑠𝑅𝑖𝑛𝑔𝑎𝑛
= 𝑚𝑖𝑛
⎝ ⎛ 𝜇𝑗𝑘𝐿𝑎𝑘𝑖𝐿𝑎𝑘𝑖(1), 𝑏𝑚𝑖𝑂𝑣𝑒𝑟𝑤𝑒𝑖𝑔ℎ𝑡(20,8) , 𝑢𝑚𝑢𝑟𝑅𝑒𝑚𝑎𝑗𝑎(20), 𝑎𝑘𝑡𝑖𝑣𝑖𝑡𝑎𝑠𝑅𝑖𝑛𝑔𝑎𝑛(2) ⎠ ⎞
= min(1; 0; 0.7; 1) = 0
[R43]  IF  jk  =  LAKI-LAKI  &  bmi  = OVERWEIGHT  &  umur  =  REMAJA  & aktivitas  =  SEDANG  THEN  kalori  = BANYAK.
𝛼 − 𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡4 = 𝜇𝑗𝑘𝐿𝑎𝑘𝑖𝐿𝑎𝑘𝑖 ∩ 𝑏𝑚𝑖𝑂𝑣𝑒𝑟𝑤𝑒𝑖𝑔ℎ𝑡  ∩ 𝑢𝑚𝑢𝑟𝑅𝑒𝑚𝑎𝑗𝑎 ∩ 𝑎𝑘𝑡𝑖𝑣𝑖𝑡𝑎𝑠𝑆𝑒𝑑𝑎𝑛𝑔
= 𝑚𝑖𝑛
⎝ ⎛ 𝜇𝑗𝑘𝐿𝑎𝑘𝑖𝐿𝑎𝑘𝑖(1),
𝑏𝑚𝑖𝑂𝑣𝑒𝑟𝑤𝑒𝑖𝑔ℎ𝑡(20,8) , 𝑢𝑚𝑢𝑟𝑅𝑒𝑚𝑎𝑗𝑎(20),
𝑎𝑘𝑡𝑖𝑣𝑖𝑡𝑎𝑠𝑆𝑒𝑑𝑎𝑛𝑔(2) ⎠ ⎞
= min(1; 0; 0.7; 0) = 0
III. Komposisi Aturan Berdasarkan  hasil  dari  aplikasi  fungsi implikasi (aturan) didapatkan nilai 0.7 adalah nilai  yang  tertinggi  dan  nilai  0  adalah  yang terendah. Berikut adalah persamaan
komposisi aturan pada persamaan 8
𝜇𝑠𝑓(𝑥) = 𝑚𝑎𝑘𝑠{(𝜇𝑘𝑎𝑙𝑜𝑟𝑖𝑆𝑒𝑑𝑎𝑛𝑔(0.7),
𝜇𝑘𝑎𝑙𝑜𝑟𝑖𝐵𝑎𝑛𝑦𝑎𝑘(0)} = maks(0.7; 0) = 0.7 (8)
Karena pada nilai implikasi diatas hanya variabel  kalori  SEDANG  yang  memotong garis,  maka  untuk  variabel  kalori  BANYAK tidak perlu dihitung karena nilainya 0. Berikut adalah grafik dari himpunan kalori SEDANG untuk  nilai  derajat  keanggotaan  =  0,7  pada Gambar 3.
Gambar 3. Grafik Variabel Kalori Himpunan SEDANG pada Komposisi Aturan
Berikut  adalah  nilai  x  pada  daerah implikasi variabel kalori SEDANG:
0.7 = 𝑥 − 1200
1600 − 1200
𝑥 = 1200 + 280 𝑥 = 1480
𝑎𝑡𝑎𝑢
0.7 = 2000 − 𝑥
2000 − 1600 𝑥 = 2000 − 280 = 1720
IV. Defuzzifikasi Pada  defuzzifikasi  ini  grafik  himpunan yang  digunakan  adalah  himpunan  SEDANG. Berikut  adalah  gambar  dari  grafik  untuk perhitungan  defuzzifikasi  yang  telah  dibagi berdasarkan  nilai  x  pada  komposisi  aturan pada Gambar 4.
Gambar 4. Grafik Pembagian Daerah Defuzzifikasi Variabel Kalori Himpunan Sedang
a. Penentuan Momen Untuk Setiap Daerah - Momen-1 𝑀1 =   o p 𝑥 − 1200 1600 − 1200 q 𝑥 𝑑𝑥 WFr2 WH22 =  135.893,3 - Momen-2 𝑀2 =   o
0.7 𝑥 𝑑𝑥 = 531.440
WsH2 WFr2
- Momen-3 𝑀3 =   o p 2000 − 𝑥 2000 − 1600 q 𝑥 𝑑𝑥 H222 WsH2 = 177.706,6 b. Penentuan Luas Untuk Setiap Daerah - Luas D1 𝐷1 = (1480 − 1200) ∗ 0.7 2 = 98
- Luas D2 𝐷2 = (1720 − 1480) ∗ 0.7 = 168 - Luas D3 𝐷3 = (2000 − 1720) ∗ 0.7 2 = 98
Maka,  untuk  hasil  titik  pusat  atau defuzzifikasi adalah:
𝑧 = (𝑀1 + 𝑀2 + 𝑀3)
(𝐷1 + 𝐷2 + 𝐷3)
= (135.893,3 + 531.440 + 177.706,6) (98 + 168 + 98) 𝑧 = 845039.9 256364 = 2321.538  ≈ 2321
Dengan  demikian  hasil  akhir  nilai  BMI dan  Kalori  yang  dibutuhkan  berdasarkan variabel yang diketahui adalah 20,8 dan 2321 kkal.

## IMPLEMENTASI APLIKASI
Langkah-langkah  implementasi  pada aplikasi SmartDiet menggunakan  Android adalah sebagai berikut.
a. Halaman Menu Utama
Untuk  memulai  menghitung  BMI  dan BMR,  dapat  menekan  tombol  ‘Mulai’  pada menu  utama.  Tampilan  menu  utama  dapat dilihat pada Gambar 5.
Gambar 5. Halaman Menu Utama
b. Halaman  Input  Berat  Badan,  Tinggi Badan dan Umur
Selanjutnya  akan  ditampilkan  halaman untuk  menginput  berat  badan,  tinggi  badan dan  umur.  Tampilan  halaman  tersebut  dapat dilihat pada Gambar 6.
Gambar  6. Halaman  Input  Berat  Badan,
Tinggi Badan dan Umur
c. Halaman Pilihan Tingkat Aktifitas
Selanjutnya  akan  ditampilkan  halaman untuk  menginput  tingkat  aktifitas.  Tampilan
halaman pilihan tingkat aktifitas dapat dilihat pada Gambar 7.
Gambar 7. Halaman Tingkat Aktifitas
d. Halaman Pilihan Jenis Kelamin
Selanjutnya  akan  ditampilkan  halaman untuk  memilih  jenis  kelamin.  Tampilan halaman  pilihan  jenis  kelamin  dapat  dilihat pada Gambar 8.
Gambar 8. Halaman Pilihan Jenis Kelamin
e. Hasil Akhir
Setelah  semua  data  dimasukkan,  hasil nilai  BMI  dan  BMR  dapat  ditampilkan  pada halaman selanjutnya. Tampilan halaman hasil akhir dapat dilihat pada Gambar 9.
Gambar 9. Halaman Hasil Akhir
Dari  Gambar  9  dapat  diketahui  berat badan  45  kg,  tinggi  badan  153  cm,  umur  20 tahun,  jenis  kelamin  laki-laki  dan  tingkat aktifitas  2  kali  seminggu  mempunyai  nilai BMI 21.06 dan nilai BMR sebanyak 1600.05 kalori.
Berikut adalah tabel
hasil perbandingan  output  manual  dengan  aplikasi pada Tabel 3.
Tabel  3. Perbandingan  Output  Manual dengan Aplikasi

## SIMPULAN DAN SARAN
Adapun  kesimpulan  yang  didapat  dari penelitian ini adalah sebagai berikut:
1.  Penggunaan logika fuzzy dengan metode Mamdani  pada  aplikasi  SmartDiet mampu  menentukan  nilai  BMI  dan angka kalori.
2.  Pada  perhitungan  penentuan  nilai  BMI, variabel  inputan  yang  diperlukan  adalah tinggi badan dan berat badan. Sedangkan untuk  penentuan  nilai  kalori,  variabel inputan  yang  diperlukan  adalah  nilai BMI,  umur,  jenis  kelamin  dan  tingkat aktivitas.
3.  Tahap  dari  perhitungan  penentuan  nilai BMI  dan  kalori  terdiri  dari  empat  tahap yaitu  penentuan  himpunan  fuzzy, aplikasi  fungsi  implikasi,  komposisi aturan dan defuzzifikasi.
4.  Pada  hasil  akhir  perhitungan  nilai  BMI dan  kalori  pada  aplikasi  SmartDiet  akan ditampilkan  nilai  BMI  sesuai  dengan kategorinya, angka kebutuhan kalori agar mencapai  berat  badan  ideal  serta pembagian angka jenis gizi (karbohidrat, protein dan lemak).
5.  Hasil  uji  coba  pada  penelitian  ini mendapatkan  hasil  perhitungan  dengan nilai  keakuratan  sebanyak  89.62%  dan nilai error sebanyak 10.38%.

## DAFTAR PUSTAKA
[1] Jati Kusuma, B dan T. Pinandita, Rancang Bangun Aplikasi Mobile Perhitungan Indeks Massa Tubuh dan Berat Badan Ideal (A Design of Mobile Application to Measure Body Mass Index and an Ideal Weight),
Jurnal Juita . 1(4) (2011), pp. 157–
168.
[2] Ariati, N.N., Gizi Dan Produktifitas Kerja, J. Skala Husada . 10(2) (2013), pp. 214–218.
[3] Naluri, P.N.M.S, Dengan Komposisi
Tubuh Pada Anak Obesitas, Artik. Ilm Universitas Diponegoro . (2011).
[4] N. Febriany, F. Agustina, DAN R.
Marwati, Aplikasi Metode Fuzzy Mamdani Dalam Penentuan Status
Gizi Dan Menggunakan Software Matlab, J. EurekaMatika . 5(1) (2017), pp. 84–96.
[5] R. B. Ginting, Analisis Fungsi Implikasi Max-Min dan Max-Prod
Dalam Pengambilan Keputusan, Creat. Inf. Technol. J. 1(2) (2015), p. 128.
[6] Wiguna, M.R.Y,  Hanny H., Sistem Berbasis Aturan Menggunakan Logika
Fuzzy Tsukamoto Untuk Prediksi Jumlah Produksi Roti Pada CV. Gendis Bakery, Jurnal Universitas Dian Nuswantoro , (2015).
[7] Hasanah, S.N., N.I. Widiastuti, Representasi Emosi Menggunakan
Logika Fuzzy Pada Permainan
Bonny’s Tooth Booth, Jurnal Ilmiah Komputer dan Informatika ( KOMPUTA ) . 3(2) (2014), pp. 68-72.
[8] S. Arifin, M. A. Muslim, dan S.
Sugiman, Implementasi Logika Fuzzy Mamdani untuk Mendeteksi
Kerentanan Daerah Banjir di Semarang Utara, Sci. J. Informatics . 2(2) (2016), pp. 179.
[9] A. R. Wardani, Y. N. Nasution, dan F. D. T. Amijaya, Aplikasi Logika Fuzzy Dalam Mengoptimalkan Produksi Minyak Kelapa Sawit Di PT. Waru Kaltim Plantation Menggunakan Metode Mamdani, Jurnal Informatika Mulawarman. 12(2) (2017), pp. 94.
[10]  E. S. Puspita dan L. Yulianti,
Perancangan Sistem Peramalan Cuaca Berbasis Logika Fuzzy, J. Media Infotama . 12(1) (2016), pp. 1–10.