Optimasi Komposisi Makanan Bagi Penderita Hipertensi Menggunakan Metode Particle Swarm Optimization

  

Vol. 1, No. 10, Oktober 2017, hlm. 1158-1166 http://j-ptiik.ub.ac.id

Optimasi Komposisi Makanan Bagi Penderita Hipertensi Menggunakan

Metode Particle Swarm Optimization

1 2 3 1, 2

Ayulianita A Boestari , Dian Eka Ratnawati , Titis Sari Kusuma

  Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 3 1 Program Studi Ilmu Gizi, Fakultas Kedokteran, Universitas Brawijaya 2 3 Email: 135150207114006@mail.ub.ac.id, dian_ilkom@ub.ac.id, titis_fahreza.fk@ub.ac.id

  

Abstrak

  Indonesia menempati urutan ke-2 terbesar di kawasan Asia Tenggara dalam angka kematian yang diakibatkan oleh Hipertensi. Salah satu cara dalam pengobatan penyakit Hipertensi adalah dengan melakukan pengendalian berat badan dan pengurangan kadar garam yang dikonsumsi. Untuk memecahkan masalah tersebut digunakan metode Particle Swarm Optimization (PSO). Tahapan dalam algoritme PSO adalah membangun populasi awal, inisialisasi kecepatan awal, perhitungan fitness, penetuan pbest dan gbest, perubahanan kecepatan dan perubahan posisi. Representasi partikel yang digunakan berupa indeks makanan, dimana setiap partikelnya memiliki jumlah dimensi sebesar 14 yang menunjukkan jumlah fitur yang terdiri dari makan pagi, makanan pelengkap1, makan siang, makanan pelengkap2 dan makan malam. Masing-masing fitur tersebut terdiri makanan pokok, sumber protein nabati, sumber protein hewani dan sayuran serta pelengkap. Parameter PSO yang digunakan dalam pegujian tersebut yaitu: jumlah iterasi sebesar 130, jumlah partikel sebesar 100 dan nilai w min dan w max yang digunakan adalah 0,4 dan 0,5. Berdasarkan uji coba dari 4 kasus pasien, dapat dinyatakan bahwa sistem dapat menghasilkan rekomendasi makanan yang dapat memenuhi kecukupan gizi sebesar ±10% dalam batas toleransi yang ditentukan.

  Kata Kunci: komposisi makanan, hipertensi, Algoritme Particle Swarm Optimization.

  

Abstract

Indonesia ranks 2nd largest in Southeast Asia in the number of deaths caused by Hypertension. One

way to treatment Hypertension disease is to control weight and reduce the amount of salt consumed. To

solve the problem used Particle Swarm Optimization (PSO) method. Stages in the PSO algorithm are

building the initial population, building initial velocity, fitness calculations, pbest and gbest

determinations, velocity and position update. The representation of the particles used is the food index.

The number of dimensions used is 14. The number of dimensions indicates the number of features

consisting of breakfast, complementary food, lunch, complementary meals and dinner. Each features

consisting of staple foods, sources of plant protein, sources of animal protein , vegetable and

appendages. PSO parameters used in the test are: the number of iterations used is 130, the number of

particles used is 100 and the value of w min and w max used are 0,4 and 0,5. Based on trials of 4 cases of

patients, it can be stated that the system can produce food recommendations That can fulfill the

nutritional adequacy of ± 10% within the specified tolerance limits.

  Keywords: food composition, hypertension, Particle Swarm Optimization Algorithm.

  makronutrisi, yaitu: karbohidrat, lemak, protein.

1. PENDAHULUAN Berdasarkan survei yang telah dilakukan oleh

  Food Consumtion Survey (FCS) (2014),

  Pengaturan pola makan dan jenis makanan masyarakat Indonesia mengkonsumsi lebih yang akan dikonsumsi merupakan faktor yang banyak karbohidrat dalam makanannya penting dalam menjaga kesehatan (McCarrison,

  (Anonim, 2014). Salah satu penyakit yang 2015). Makanan yang menyediakan nutrisi yang timbul karenanya adalah Hipertensi. tepat, sangat dibutuhkan oleh tubuh. Makanan

  Hipertensi atau yang sering dikenal dengan yang sehat harus berisi setidaknya komponen tekanan darah tinggi adalah kondisi dimana

  Fakultas Ilmu Komputer Universitas Brawijaya

1158 banyaknya cairan darah yang harus dipompa oleh jantung, sehingga pembuluh darah secara terus menerus melakukan penekanan pada dinding arteri (pembuluh darah) (WHO, 2015). Berdasarkan survey yang dilakukan Word

  Health Organization (WHO), Indonesia

  80 pada saat jantung berelaksasi (diastolik). Ketika tekanan darah sistolik sama dengan atau di atas 140 dan atau tekanan darah diastolik sama dengan atau di atas 90 tekanan darah dianggap tinggi.

  2.2. Perhitungan Gizi Pasien

  Penderita tekanan darah tinggi, dapat juga memiliki gula darah tinggi atau yang dikenal dengan penyakit diabetes, kolesterol tinggi atau kerusakan ginjal, bahkan risiko yang lebih tinggi, seperti serangan jantung dan stroke. Oleh karena itu, sangat penting untuk melakukan pemeriksaan rutin untuk gula darah, kolesterol darah dan albumin urine secara teratur bagi penderita Hipertensi.

  yang dianjurkan adalah 200 − 400 . Sedangkan Kebutuhan kalium diperkirakan sebanyak 2000 mg per-harinya (Almatsier, 2004)

  Hypertension Stage 2, jumlah konsumsi garam

  Sedangkan untuk

  jumlah konsumsi garam yang dianjurkan adalah 600 − 800 .

  Prehypertension . Untuk Hypertension Stage 1,

  Terdapat beberapa faktor, baik lingkungan maupun faktor penyakit lain yang dapat menyebabkan ataupun memperparah Hipertensi. Faktor ini antara lain: Penggunaan tembakau, diet yang tidak sehat, penggunaan alkohol, kurangnya aktivitas fisik, paparan stres yang terus-menerus, obesitas (kelebihan berat badan), tingkat kolesterol yang tinggi dan penyakit diabetes mellitus. Perubahan gaya hidup, seperti berhenti merokok, diet sehat, berolahraga secara teratur dan menghindari penggunaan berbahaya dari alkohol, cukup untuk mengontrol tekanan darah. Selain itu, pengurangan asupan garam, memakan makanan tinggi kalium dan obat- obatan untuk mengontrol tekanan darah, juga dapat membantu mengurangi tekanan darah (JB. Suharjo et. al, 2008). Kadar garam yang dianjurkan kepada Pasien Hipertensi berdasarkan jenisnya adalah sebagai berikut. 1000 − 1200 untuk jenis Hipertensi

  Tekanan darah orang dewasa normal didefinisikan berkisar antara 120 ketika jantung berdetak (sistolik) dan

  menempati urutan ke-2 terbesar di kawasan Asia Tenggara dalam angka kematian yang diakibatkan oleh Hipertensi, hal tersebut terus mengalami peningkatan dari tahun-tahun sebelumnya (WHO, 2014). Salah satu langkah mengobati penyakit Hipertensi adalah pengendalian berat badan dan pengurangan kadar garam yang dikonsumsi, hasil penelitian yang dilakukan oleh Clinical Trial (2003), membuktikan hal tersebut dapat menurunkan tekanan darah sebesar 5 mm Hg sampai dengan 10 mm Hg (WHO, 2014).

  Hipertensi yang juga dikenal sebagai tekanan darah tinggi adalah suatu kondisi di mana pembuluh darah telah terus-menerus melakukan tekanan. Tekanan tersebut diakibatkan oleh kekuatan darah mendorong terhadap dinding pembuluh darah (arteri) seperti yang dilakukan oleh jantung. Setiap kali jantung berdetak, jantung akan memompa ke dalam pembuluh dan membawa darah ke seluruh tubuh. Semakin tinggi tekanan, semakin sulit jantung harus memompa (WHO, 2015).

  Penelitian ini diharapkan dapat membantu Pasien ataupun ahli gizi dalam merekomendasikan makanan, sehingga dapat membantu pengobatan Pasien, meminimalisasi terjadinya human error serta dapat memberikan hasil komposisi makanan dengan kadar diet yang optimal.

  10% dari 4 kasus yg diujikan (Zilfikri Yulfiandi R. et. al, 2016).

  10% dan menghemat biaya konsumsi sebesar 39.31% (Eliantara et. al, 2016), serta dapat memenuhi gizi atlet sebesar

  serta dapat mengurangi waktu produksi selama 0,000180 menit (Mohankumar et. al, 2011). Pada kasus penelitian PSO lainnya, algoritme PSO dapat memenuhi kebutuhan keluarga sebesar

  image classification (G. Omran et. al, 2004),

  95% pada permasalahan

  Untuk mengatasi permasalahan tersebut, digunakan metode Particle Swarm Optimization (PSO). PSO adalah salah satu algoritme yang terinspirasi dari tingkah laku segerombolan makhluk hidup. Algoritme PSO memiliki beberapa kelebihan dalam kemudahan implementasi, kecepatan pemilihan solusi dan dalam pengembangannya hanya partikel yang paling optimal yang dapat bertahan sebagai generasi selanjutnya (Qinghai Bai, 2010). Algortima PSO memiliki nilai akurasi yang tinggi, dengan nilai

2. DASAR TEORI 2.1. Hipertensi

  (11) Pada Persamaan (11), dan merupakan batas minimum dan maksimum dari bobot inersia, dan merupakan jumlah iterasi maksimum dan

  merupakan koefisien akselerasi yang memenuhi kondisi c1

  ,

  ,

  1 ( , −

  , ) + 2 . 2 (

  , −

  , )

  (10) Pada Persamaan (12),

  ,

  merupakan kecepatan partikel ke- pada dimensi ke- pada iterasi ke- . merupakan bobot inertia,

  1

  ,

  2

  1

  = + [0,1] × ( − )

  ,

  2

  merupakan bilangan acak ∈

  [0,1],

  ,

  merupakan posisi partikel ke- pada dimensi ke- pada iterasi ke- ,

  ,

  merupakan posisi terbaik yang dicapai partikel, sedangkan

  ,

  merupakan posisi terbaik dari seluruh partikel. Banyak varian pengendali bobot inersia telah diperkenalkan oleh para peneliti, salah satu dengan menggunakan rumus TVIW (Time

  Variant Inertia Weight ). Perubahan nilai bobot

  inersia dilakukan dengan menggunakan rumus pada persamaan (11).

  = + ( − min ) −

  (9) Setelah itu, dilakukan inisialisasi kecepatan awal partikel dengan nilai 0. Setelah proses algoritme Particle Swarm Optimazation (PSO) memasuki iterasi ke-1, maka dilakukan perubahan kecepatan. Perubahan kecepatan dihitung menggunakan Persamaan (12).

  Untuk melakukan inisialisasi posisi awal partikel dibangkitkan secara acak dengan menggunakan yang merupakan batas minimum dari posisi dan yang merupakan batas maksimum posisi, bilangan random yang digunakan adalah antara 0 dan 1, untuk penjelasan lebih lanjut terdapat pada Persamaan (9).

  • 1 = .
  • 1 .

  (3)

  Berikut ini adalah langkah yang dilakukan untuk menghitung kalori:

  1. Perhitungan IMT (Indeks Massa Tubuh) Formula ini digunakan untuk mengukur berat badan ideal. Perhitungan IMT dapat dilakukan dengan Persamaan (1).

  = /( )

  (1) Pada Persamaan (1), merupakan berat badan (dalam ukuran

  ), merupakan tinggi badan (dalam ukuran

  ). Setelah itu, dilakukan penetapan jenis berat badan, yaitu: kurus, normal, kegemukan dan obesitas yang masing- masingnya berbeda untuk pria dan wanita.

  2. Perhitungan BBI (Berat Badan Ideal) Perhitungan BBI dilakukan sangat sederhana dengan berdasarkan tinggi badan, perhitungan ini terdapat pada Persamaan (2).

  = ( − 100) − (10% × ( − 100))

  (2) 3. Perhitungan AMB (Angka Metabolisme

  Basal) AMB adalah jumlah energi yang dikeluarkan saat sistem pencernaan tidak aktif.

  Dalam rumus perhitungan AMB untuk pria dan wanita berbeda, untuk lebih rinci rumus perhitungan AMB terdapat pada Persamaan (3) untuk pria dan (4) untuk wanita.

  = 66 + (13,7 × ) + (5 × ) − (6.8 × )

  = 655 + (9,6 × ) + (1,8 × ) − (4.7 × )

  Langkah awal dalam algoritme PSO adalah inisialisasi posisi dan juga kecepatan awal .

  (4) Pada Persamaan (3) dan (4) merupakan umur. Jika pada hasil perhitungan IMT yang terdapat pada Persamaan (3) dan (4) hasilnya tidak termasuk ke dalam kategori berat badan normal, maka nilai yang digunakan adalah hasil perhitungan BBI, jika sebaliknya, nilai yang digunakan berat badan asli dari Pasien.

  4. Menghitung Total Kalori Setelah itu, dilakukan perhitungan kalori berdasarkan AMB, tingkat aktifitas dan juga faktor stress. Perhitungan lebih detailnya terdapat pada Persamaan (5).

  = × ×

  (5) Pada Persamaan (5), merupakan angka hasil AMB, merupakan faktor aktifitas, merupakan faktor stress. Setelah itu, dilakukan perhitungan yang terdapat

  Persamaan (6), (7) dan (8).

   ( ) = 65%

  (6)

  ( ) = 15%

  (7)

  ( ) = 20%

  (8)

  2.3. Algoritme Particle Swarm Optimization (PSO) Algoritme PSO diperkenalkan oleh Dr.

  Eberhart dan Dr. Kennedy pada tahun 1995, merupakan algoritme optimasi yang meniru proses yang terjadi dalam kehidupan populasi burung dan ikan dalam bertahan hidup (Dorigo, M., 2016).

  • c2 ≤ 4,

  Seiring dengan berubahnya kecepatan, maka terjadi perubahan posisi patikel. yang dapat di hitung dengan persamaan (16):

  , do

  ,

  = ,

  (16) Berikut adalah Pseudocode algoritme PSO yang terdapat pada Gambar 1 ( Cholissodin I.,

  2016 ). mulai = 0 inisialisasi partikel(

  , ),kecepatan(

  , = 0), hitung fitness tiap partikel,

  , =

  , , dan

  = + 1 update kecepatan

  , ( ) update posisi

  , ( ) hitung fitness tiap partikel update

  , ( )dan

  , ( ) while (bukan kondisi berhenti) selesai

  Gambar 1. Pseudocode PSO 3.

   METODOLOGI

  Pada penelitian ini, dilakukan studi litetur terkait permasalahan yang diangkat, meliputi: Komposisi makanan, Hipertensi, Perhitungan Gizi dan algorima PSO. Untuk data makanan pasien bersumber dari data yang terdapat pada nurtrisurvey dan Sedangkan data Pasien yang digunakan dalam penelitian adalah data Pasien penderita Hipertensi di Klinik Aldifarma Tabiang Padang pada bulan Februari 2017. Kandungan gizi makanan yang digunakan adalah kadar kalori, karbohidrat, protein, lemak, natrium dan kalium. Dilakukan perhitungan kadar kalori porsi makan untuk makan pagi, makan siang, makan malam serta makanan pelengkap1 dan pelengkap2. Pada penelitian ini juga dilakukan evaluasi kesamaan makanan untuk makanan pagi, siang dan malam, serta tidak dilakukan evaluasi harga pada makanan. Pada peneitian ini sistem dibangun menggunakan bahasa pemograman Java.

  • 1
  • 1
  • 1
  • 1

  • 1
  • 1) Setelah dilakukan pembatasan kecepatan, maka akan dilakukan penalizing untuk mengantisipasi jika kecepatan, menghasilkan posisi partikel baru di luar batas batas ruang pencarian. Penalizing dilakukan dengan menggunakan persamaan (15).

  4. PERANCANGAN SISTEM

  jika

  = 0, = ℎ. ( ) (15)

  ∈(0,1]). Pendekatan yang diusulkan untuk membatasi kecepatan partikel ke- dalam dimensi, berdasarkan pada Persamaan (13) dan

  iterasi ke- .

  Dalam implementasi PSO, terkadang ditemukan partikel memiliki kecenderungan untuk keluar dari ruang batas pencarian. Perlu adanya pembatasan kecepatan, sehingga kecepatan tetap berada di dalam batas [ ,

  ]. Hal tersebut dilakukan dengan menggunakan Persamaan (12) (Marini & Walczak, 2015).

  = − = −

  2 , ∈ (0,1]

  (12) Pada persamaan (12), dan merupakan kecepatan minimum dan maksimum partikel pada dimensi ke -

  , sedangkan merupakan konstanta (bilangan random

  (14) (Marini & Walczak, 2015).

  merupakan kecepatan partikel ke- pada dimensi ke- pada iterasi ke-(

  jika

  > maka

  =

  (13)

  jika

  < − maka

  = −

  (14) Pada Persamaan (13) dan (14)

  Perancangan sistem secara keseluruhan dapat dilihat pada Gambar 2. Pada Gambar 2 dapat dilihat bahwa saat sistem dijalankan Pengguna akan memasukkan data berupa nama, umur, jenis kelamin, berat badan, tinggi badan, tingkat aktifitas dan faktor stress. Setelah itu, akan terdapat masukan berupa parameter PSO, yaitu jumlah iterasi, nilai dan . Setelah itu, akan dihitung kebutuhan gizi dari Pasien. Tahapan selanjutnya adalah melakukan penyimpanan dari basis data ke dalam array berupa nilai gizi dari setiap jenis makanan. Langkah selanjutnya adalah melakukan proses pencarian rekomendasi makanan dengan menggunakan metode PSO. Setelah itu, akan dilakukan perubahan dari kode partikel dengan nama dan kandungan gizi makanan yang sudah tersimpan di basis data. Proses ini dilakukan dengan cara menyamakan kode indeks yang ada pada basis data dengan kode indeks yang dihasilkan algoritme PSO. Sehingga didapatkan hasil keluaran berupa rekomendasi makanan yang dapat dibaca oleh

  • > atau + < maka
  • 1
  • ,
  • 1

  = 1160 × 1.55 × 1.3 = 2337,6015

  Pengguna.

  Gambar 2 Perancangan Sistem

  Makanan Selesai

  Mulai Hitung Kebutuhan gizi Pasien Proses Perubahan Kode Partikel dengan Nama dan kandungan gizi makanan yang sudah tersimpan di Basis Data Rekomendasi Komposisi

  Melakukan Penyimpanan basis data yang berisi gizi dari makanan ke dalam array Data Pasien, Parameter PSO Algoritme PSO

  379,86 , kadar protein adalah 87,66 dan kadar lemaknya adalah 51,9467 . Langkah selanjutnya adalah melakukan perhitungan pembagian porsi makan perharinya dari total kalori yang didapatkan. Contoh perhitungannya dapat dilakukan seperti berikut ini.

  . Dari hasil konversi tersebut, maka nilai kadar karbohidrat yang didapat adalah

  350,64 . Kadar lemak sebesar 467,5203 . Hasilnya dilakukan konversi data ke dalam

  Dari perhitungan di atas maka didapatkan kadar karbohidrat sebesar 1519,44 . Kadar protein sebesar

  = 65% × 2337.6015 = 1519,44 = 15% × 2337.6015 = 350,64 = 20% × 2337.6015 = 467,5203

  Tahapan selanjutnya adalah melakukan perhitungan karbohidrat, protein dan lemak dengan menggunakan rumus yang terdapat pada Persamaan 2.6 sampai 2.8 secara berurutan.

3.1. Menghitung Kebutuhan Gizi Pasien

  Setelah didapatkan AMB (Angka Metabolisme Basal), tingkat faktor aktifitas dan tingkat faktor stress, maka dihitung total kalori harian dari Pasien. Perhitungan total kalori harian Pasien dilakukan dengan menggunakan rumus yang terdapat pada Persamaan (2.5).

  = 655 + (9,6 × 44 )

  Berdasarkan hasil yang didapatkan menyatakan Pasien tersebut termasuk kategori berat badan normal. Tahapan selanjutnya adalah melakukan perhitungan AMB. dengan menggunakan Persamaan (4)

  44 1,53 × 1,53 = 18,7962

  =

  IMT. dengan menggunakan Persamaan (1), seperti berikut.

  Tahapan pertama yang dilakukan adalah melakukan perhitungan

  41 tahun, memiliki berat badan 44 kg, tinggi badan 153 cm, berjenis kelamin perempuan memiliki pekerjaan PNS dan tekan darah 150/100 mmHg.

  = 20% × 2337,6015 = 467,5203 = 30% × 2337,6015 = 701,2805 = 30% × 2337,6015 = 701,2805 1 = 10% × 2337,6015 = 233,7602 2 = 10% × 2337,6015 = 233,7602

  Dari perhitungan di atas maka didapatkan kalori makan pagi sebesar 467,5203 Kkal, kalori pada makanan pelengkap1 sebesar 233,7602 Kkal, kalori pada makan siang sebesar 701,2805 Kkal, kalori pada makanan pelengkap2 sebesar 233,7602 Kkal dan kalori pada makan malam sebesar 701,2805 Kkal.

  3.2. Penyelesaian Menggunakan Algoritme PSO

  Pada Sub bab ini akan dijelaskan mengenai penyelesaian masalah menggunakan algoritme PSO. Tahapan perhitungannya meliputi membangun populasi awal, inisialisasi

  Adapun contoh permasalahan yang akan diselesaikan secara manual adalah sebagai berikut. Terdapat Pasien dengan nama Ny. NN dengan umur

  , tinggi badan dalam ukuran , jenis kelamin, tingkat aktifitas, tingkat faktor stress, dan tingkat tekanan darah.

  Data yang dibutuhkan dalam menghitung kebutuhan gizi Pasien berupa data umur, berat badan dalam ukuran

  • (1,8 × 153 ) − (4,7 × 41) = 1160

  Setelah iterasi ≥1, maka akan dilakukan perbaharuan kecepatan. Setelah itu, hasil

  10

  partikel. Nilai fitness yang paling tinggi, maka posisi dari partikelnya akan menjadi gbest.

  gbest didapatkan dengan membandingkan nilai fitnesspbest antara partikel ke-i dengan seluruh

  membandingkan nilai fitness antara partikel ke-i pada iterasi sekarang dengan iterasi sebelumnya. Nilai fitness yang paling tinggi, maka posisi dari partikelnya akan menjadi pbest. Sedangkan hasil

  pbest dan gbest. Hasil pbest didapat dengan cara

  Setelah itu akan dilakukan proses penentuan

  Hasil pada Persaman (18), didapatkan dari selisih dari hasil gizi dan porsi makan pasien dengan hasil gizi dan porsi rekomendasi makanan hasil algoritme PSO.

  ∑ = + ℎ +

  Proses perhitungan penalti yang dilakukan berupa, total gizi yaitu: kalori, karbohidrat, lemak, protein, garam, kalium dan kalori dari makan pagi, makan siang, makan malam, makanan pelengkap1 dan makanan pelengkap2. Total penalti dan porsi ini, dihitung dengan menggunakan rumus pada Persamaan (18).

  , merupakan jumlah banyaknya kombinasi makanan yang berbeda perjenis makanannya.

  8

  ∑ merupakan total pinalti, 1 merupakan konstanta penyeimbang pinalti porsi makan, yaitu

  (17) Pada persamaan (17),

  1 ∑ × 1) +

  = (

  fitness -nya. Rumus pehitungan fitness dapat dilihat pada Persamaan (17).

  Setelah dilakukannya pembangunan populasi awal, langkah selanjutnya adalah menghitung dari setiap partikel. Perhitungan fitness memerlukan masukan berupa nilai posisi, jumlah partikel, jumlah dimensi, gizi Pasien serta nilai gizi dari makanan pokok, sumber protein nabati, sumber protein hewani, sayuran dan pelengkap. Setelah itu, akan dilakukan perhitungan penalti dari setiap nilai gizi dan porsi dan variasi makanan yang didapatkan. Dari hasil pinalti dan variasi yang telah didapatkan, maka dapat dihitung nilai

  Sedangkan j9 dan j14 merepresentasikan indeks dari makanan pelengkap.

  • 1 +

  Pada Tabel 1, P1 merupakan makanan pelengkap ke-1, P2 merupakan makanan pelengkap ke-2, Po merupakan makanan pokok, Na merupakan makanan sumber protein nabati, He merupakan makanan sumber protein hewani, S merupakan sayuran dan P merupakan makanan pelengkap. Representasi setiap partikel yang digunakan menunjukkan pembagian makan selama satu hari, yaitu: makan pagi, makan siang dan makan malam. j1 sampai dengan j14 merupakan dimensi dari partikel, dimensi partikel tersebut menunjukkan indeks jenis makanan. Untuk j1, j6 dan j11 merepresentasikan indeks dari makanan pokok. j2, j6 dan j11 merepresentasikan indeks dari makanan sumber protein nabati. j3, j7 dan j12 merepresentasikan indeks dari makanan sumber protein hewani. j4, j9 dan j13 merepresentasikan indeks dari sayuran.

  Tabel 1 Representasi Awal Partikel Makan Pagi P1 Makan Siang P2 Makan Malam Po Na He S P Po Na He S P Po Na He S j1 j2 j3 j4 j5 j6 j7 j8 j9 j10 j11 j12 j13 j14 xi(t) 3 20 13 88 5 1 29 56 0 6 11 3

  Pembangunan populasi awal digunakan untuk menentukan representasi awal posisi dari setiap partikel. Representasi yang digunakan adalah nilai dari indeks setiap jenis makanan yang terdapat pada basis data. Representasi dibangkitkan secara acak dengan menggunakan rumus yang terdapat pada Persamaan (9). Nilai didapatkan dari nilai indeks terbesar pada masing-masing jenis makanan. Sedangkan nilai didapatkan dari nilai terkecil index pada masing-masing jenis makanan. Dimensi partikel yang digunakan pada permasalahan ini berjumlah 14. Jumlah dimensi partikel tersebut merupakan jumlah frekuensi makan yang akan dikonsumsi perharinya. Jumlah frekuensi makan yang akan dikonsumsi perharinya sebanyak tiga porsi, yaitu: makan pagi, makan siang, makan malam. Makan pagi dan makan siang berisi masing-masingnya makanan pokok, nabati, hewani, sayuran, dan pelengkap. Sedangkan untuk makan malam hanya berisi makanan pokok, nabati, hewani, sayuran, tanpa adanya makanan pelengkap. Untuk lebih jelasnya, desain representasi partikel awal yang digunakan dapat dilihat pada Tabel 1.

  , memperbaharui kecepatan partikel dan memperbaharui posisi partikel.

  kecepatan awal, menghitung fitness dari setiap partikel, menentukan , menentukan

  • 2 + (18)
kecepatan akan dilakukan proses pembatasan Pengujian banyaknya iterasi dilakukan kecepatan dan penalizing. Langkah tersebut untuk mengetahui jumlah iterasi yang dapat dapat dilakukan dengan menggunakan menghasilkan solusi terbaik. Pengujian jumlah Persamaan (10) sampai (15). Selanjutnya akan iterasi dilakukan 10 kali untuk masing-masing dilakukan perbaharuan posisi dengan jumlah iterasi. Parameter yang digunakan dalam menggunakan Persamaan (16). Langkah pengujian adalah adalah jumlah partikel sebesar selanjutnya dilanjutkan menghitung fitness, dan sebesar 50 dengan nilai 0,4 dan penetuan pbest dan gbest dan diulangi kembali

  0,9. Untuk grafik hasil pengujian jumlah partikel dengan perbaharuan kecepatan dan posisi yang terdapat pada Gambar 4. sampai dengan batas iterasi maksimum yang e ss 600000 ditentukan. Untuk flowchart penggunaan 477756,5 Fi ta 477756,7 tn 500000 451668,8 477756,4 algoritme PSO pada sistem dapat dilihat pada 350547,9

  • -R a 400000 275233,8 423117,8 Gambar 3.
  • R a ta 300000 200000 100000 206899 275318,8 jml_partikel, dimensi, itermax, c1, c2, wmin, wmax, sumber_hewani[][], sayuran[][], pelengkap[][] gizi[], makanan_pokok[][], sumber_nabati[][], Mulai 10 30 50 Jumlah Iterasi Jumlah Iterasi 70 90 110 130 160 200

      Gambar 4 Grafik Hasil Pengujian Iterasi iterasi = 0

      Pada Gambar 4, dapat disimpulkan bahwa semakin besar jumlah iterasi yang diujikan,

      Membangun Populasi Awal

      maka semakin besar pula nilai rata-rata fitness yang dihasilkan. Dari Gambar 4 tersebut, juga

      Inisialisasi Kecepatan

      dapat dilihat rata-rata nilai fitness mulai

      Awal Tidak menunjukkan hasil yang konvergen pada iterasi iterasi >=1 ke-130, dengan nilai rata-rata fitness sebesar Ya 477756. Hal tersebut dikarenakan hasil nilai rata-rata fitness pada iterasi selanjutnya tidak

      Perbaharui Kecepatan Partikel Perbaharui Posisi Partikel menujukkan peningkatan yang signifikan.

      5.2. Pengujian Jumlah Partikel

      Pengujian jumlah partikel dilakukan 10 kali

      Hitung Fitness

      untuk masing-masing jumlah partikel. Parameter yang digunakan pada pengujian ini adalah

      Tentukan Pbest

      jumlah iterasi sebesar dan 50 dengan nilai sebesar

      0,4 dan 0,9. Untuk grafik

      Tentukan Gbest

      pengujian jumlah partikel yang terdapat pada Gambar 5.

      iterasi++ Ya e ss 500000 600000 531034,3 531034,6 iterasi <= itermax Tidak a -R ta ta tn Fi 344359,1 a 300000 400000 298892 328975,5 451852,1 340938,7 367169 391804 531034,4 Posisi[][], fitness[], v[][], R 200000 pbest[], fitnesspbest[] gbest[] 100000 30 40 50 70 Jumlah Partikel 60 80 90 100 110 120 Selesai Jumlah Partikel

      Gambar 3 Flowchart Algoritme PSO Gambar 5 Grafik Hasil Pengujian Jumlah Partikel

    5. PENGUJIAN

      Pada Gambar 5, dapat disimpulkan bahwa semakin besar jumlah partikel yang diuji, maka

    5.1. Pengujian Jumlah Iterasi

      semakin besar pula nilai rata-rata yang dihasilkan. Dari Gambar 5 tersebut, juga dapat dilihat rata-rata nilai mulai menunjukkan hasil yang konvergen pada partikel ke-100 dengan nilai rata-rata sebesar

      531034. Hal tersebut dikarenakan hasil nilai rata-rata pada partikel selanjutnya tidak menujukkan peningkatan yang signifikan.

      5.3. Pengujian Nilai w min dan w max

      Berdasarkan Tabel 2 dapat dilihat bahwa hasil persentase selisih untuk gizi makanan berupa kalori adalah 2,2%. Karbohidrat sebesar 3,82%. Protein sebesar 8,46%. Lemak sebesar 3,98%. Natrium sebesar 0,4%. Kalium sebesar 0,17%. Sedangkan untuk porsi makan, yaitu: Makan pagi sebesar 9,9%. Makanan pelengkap1 sebesar 10%. Makan siang sebesar 2,8%. Makanan pelengkap2 sebesar 3,5%. Makan malam sebesar 1,5%. Dari keseluruhan persentase selisih gizi dan porsi makan dapat ditarik kesimpulan, bahwa rata-rata selisihnya adalah 4,9%, yang mana dapat memenuhi total batas toleransi yang diberikan.

      Tabel 2 Hasil Presentase Selisih Makanan Gizi Porsi Makan Kalori (Kkal) Karbo (g) Protei n (g) L (g) Na (mg) Kalium {mg} Pagi (Kkal) P1 (Kkal) S (Kkal) P2 (Kkal) M (Kkal) Gizi Pasien 2044,9 332,3 76,7 45,4 1000 2000 409 204,5 644,2 204,5 644,2 Hasil Siste m 2090,2 345 70,2 47,3 1004 1996,7 449,6 198,8 621,85 207,5 612,4 % Selisih Gizi 2,2% 3,82% 8,46% 3,98%0,4% 0,17% 9,9% 2,8% 3,5% 1,5% 4,9%

      259,575 . Makanan siang dan malam masing-masingnya sebesar 778,725 .. Hasil persentase selisih makanan dari hasi tersebut dapat dilihat pada Tabel 2.

      2000 . Sedangkan Kebutuhan porsi yaitu: makan pagi sebesar 519,15 . Makanan pelengkap1 dan pelengkap2 masing- masingnya sebesar

      97,34 . Lemak sebesar 57,68 . Natrium sebesar 200 . Kalium sebesar

      Dari Gambar 8. dapat dilihat Pasien memiliki kebutuhan gizi, yaitu: kalori sebesar 2595,75 . Karbohidrat sebesar 421,81 . Protein sebesar

      Gambar 7 Tampilan Sistem

      0,5. Jumlah kasus uji yang akan diujikan sebanyak

      0.4;0.5 0.4;0.6 0.4;0.7 0.4;0.8 0.4;0.9 R ata -R ata Fi tn e ss Nilai wmin dan wmax

      130, jumlah partikel sebesar 100 dengan nilai dan sebesar 0,4 dan

      Pada pengujian ini dilakukan perhitungan selisih antara hasil rekomendasi makanan sistem dengan gizi yang dimiliki oleh pasien. Hal ini digunakan untuk melihat toleransi kesalahan yang dimiliki sistem. Batasan toleransi yang diperbolehkan untuk sistem yaitu sebesar ±10%. Pada pengujian ini, pameter algoritme yang digunakan berdasarkan hasil pengujian yang telah dilakukan sebelumnya, yaitu: jumlah iterasi sebesar

      5.4. Analisa Pengujian Sistem

      0,5 untuk . Alasannya adalah nilai dan tersebut, memiliki nilai rata-rata yang paling tinggi, yaitu sebesar 562490,43.

      Pada Gambar 6 dapat disimpulkan bahwa rata-rata nilai fitness terbaik berada pada nilai 0,4 untuk dan

      Gambar 6 Grafik Hasil Pengujian Nilai w min dan w max

      130 dan jumlah partikel sebesar 100. Untuk grafik hasil pengujian nilai dan dapat dilihat pada Gambar 6.

      Pada pengujian ini nilai rentang yang digunakan antara 0,4 sampai 0,9. Nilai rentang ini telah terbukti dapat menghasilkan nilai solusi yang mendekati optimum dari beberapa solusi (Shi, Y., et. al., 1999). Parameter yang digunakan adalah jumlah iterasi sebesar

      Nilai wmin dan wmax

    5 Pasien.

      Dari keseluruhan 4 kasus uji yang dilakukan, maka disimpulkan bahwa sistem ini dapat 562490,43 400227,94 508661,79 503784,92 503930,58 100000 200000 300000 400000 500000 600000

      Berikut adalah hasil sistem dari salah satu pasien dengan nama Tn. SA, umur 60 tahun, berat badan 65 kg, tinggi badan 161,9 cm, berjenis kelamin Pria, Memiliki tekanan darah 180/110 mm Hg. Hasil dari sistem dapat dilihat pada Gambar 8.

      Repository Jurnal Mahasiswa PTIIK Universitas Brawijaya

      Eliantara, F., Cholissodin, I. & Indriati. 2016.

      ±5%.

      memenuhi kebutuhan rekomendasi komposisi makanan untuk penderita Hipertensi, dengan batas selisih toleransi yang di dapat dari keseluruhan dapat mencapai

      Optimasi Pemenuhan Kebutuhan Gizi Keluarga Menggunakan Particle Swarm Optimization. DORO:

    6. KESIMPULAN

      2. Berdasarkan pengujian yang telah dilakukan terhadap beberapa parameter algoritme PSO, yaitu: jumlah iterasi, jumlah partikel, nilai dan . Didapatkan hasil parameter berupa jumlah iterasi sebesar 130, dengan hasil rata-rata didapatkan sebesar

      F. Marini, B. Walczak, 2011. Finding Relevant

      Dorigo, M., Birattari, M., Li, X., López-Ibáñez, M., Ohkura, K., Pinciroli, C., Stützle, Th. 2016. Swarm Intelligence. 10th International Conference, ANTS 2016, Brussels, Belgium.

      Shi, Y., C., Russell, E., 1999. Empirical Study of

      Particle Swarm Optimization. Journal of

      Evolutionary Computation IEEE, vol. 3, pp. 101

      PSO. Tersedia di

      [Diakses 5 April 2017] WHO, 2012. Hypertension Meaning and Cause.

      Clustering Directions in High- Dimensional Data Using Particle Swarm Optimization , J. Chemometr. 25

      Allhussein, M., Irzata, Syed H., 2015. Improved

      366 –374.

      Tersedia di <https://www.researchgate.net> [Diakses 1 Maret 2017]

      Ganesan, Mohankumar.G, Ganesan.K, Ramesh Kumar.K (2011). Optimization of

      Machining Parameters In Turning Process Using Genetic Algorithm And Particle Swarm Optimization With Experimental Verfification.

      International Journal of Engineering Science and Technology (IJEST), Vol. 3: pp.1091-1102. Anonim1. 2013. Survei Kesehatan AIA: Pola

      Hidup Masyarakat Indonesia Terburuk di Asia Pasifik.

      Particle Swarm Optimization Based on Velocity Clamping and Particle Penalization . Journal of Computer Science IEEE.

      Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK),Vol.3, No.2, pp. 103- 109.

    • –106. Cholissodin, I., 2016. Dasar-Dasar Algoritma

      Optimization Algorithm. Computer and Information Science, Vol.3, No.1.

      531034,4. Nilai sebesar 0,4 dan sebesar

      0,7, dengan hasil rata-rata didapatkan sebesar 526490,4.

      3. Hasil dari pengujian yang sudah dilakukan dilakukan, menyatakan bahwa sistem dapat memenuhi kebutuhan gizi dan porsi makan Pasien Hipertensi, berdasarkan 1 sampai 4 kasus yang diuji dengan selisih yang rata- rata secara keseluruhan mencapai

      ±5%, yang mana tidak melebihi batas toleransi yang ditetapkan yaitu ±10%.

      REFERENSI

      Bai, Q. 2010. Analysis of Particle Swarm

      477756,4. Jumlah partikel sebesar 100 partikel, dengan hasil rata-rata didapatkan sebesar

      Untuk Atlet Endurance Menggunakan Metode Particle Swarm Optimization .

      2004. Image Classification Using

      Particle Swarm Optimization . Journal of Electronic Imaging, Ch. 19.

      14. Jumlah dimensi partikel tersebut merupakan frekuensi makan yang akan dikonsumsi perharinya. Jumlah frekuensi makan yang akan dikonsumsi perharinya terdiri dari tiga porsi, yaitu: makan pagi, makan siang, makan malam, dimana makan pagi dan makan siang berisi masing- masingnya makanan pokok, nabati, hewani, sayuran, dan pelengkap. Sedangkan untuk makan malam, hanya berisi makanan pokok, nabati, hewani, sayuran, tanpa adanya makanan pelengkap.

      1. Representasi partikel dilakukan berdasarkan dari indeks dari setiap jenis makanan yang ada pada basis data. Representasi partikel tersebut memiliki jumlah dimensi sebesar

      Berdasarkan hasil pengujian maka didapatkan kesimpulan sebagai berikut:

      Yulfiandi, Zilfikri R., Eka, DIan R., Arwan, A., 2016. Optimasi Komposisi Makanan

      G. Omran, M., P. Engelbrecht, A. & Salman A.

      Almatsier, S., 2004. Penuntun Diet: Edisi Baru.

      Jakarta: PT. Ikrar Mandiriabadi