• Tidak ada hasil yang ditemukan

Optimasi Komposisi Makanan Bagi Penderita Hipertensi Menggunakan Metode Particle Swarm Optimization

N/A
N/A
Protected

Academic year: 2018

Membagikan "Optimasi Komposisi Makanan Bagi Penderita Hipertensi Menggunakan Metode Particle Swarm Optimization"

Copied!
10
0
0

Teks penuh

(1)

Fakultas Ilmu Komputer

Universitas Brawijaya

1158

Optimasi Komposisi Makanan Bagi Penderita Hipertensi Menggunakan

Metode Particle Swarm Optimization

Ayulianita A Boestari1, Dian Eka Ratnawati2, Titis Sari Kusuma3

1, 2Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 3Program Studi Ilmu Gizi, Fakultas Kedokteran, Universitas Brawijaya

Email: 1135150207114006@mail.ub.ac.id, 2dian_ilkom@ub.ac.id, 3titis_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 wmin dan wmax 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 wmin and wmax 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.

1. PENDAHULUAN

Pengaturan pola makan dan jenis makanan yang akan dikonsumsi merupakan faktor yang penting dalam menjaga kesehatan (McCarrison, 2015). Makanan yang menyediakan nutrisi yang tepat, sangat dibutuhkan oleh tubuh. Makanan yang sehat harus berisi setidaknya komponen

makronutrisi, yaitu: karbohidrat, lemak, protein. Berdasarkan survei yang telah dilakukan oleh

Food Consumtion Survey (FCS) (2014),

masyarakat Indonesia mengkonsumsi lebih

banyak karbohidrat dalam makanannya

(Anonim, 2014). Salah satu penyakit yang timbul karenanya adalah Hipertensi.

(2)

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

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

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 95% pada permasalahan image classification (G. Omran et. al, 2004), 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 10% dan menghemat biaya konsumsi sebesar 39.31% (Eliantara et. al, 2016), serta dapat memenuhi gizi atlet sebesar 10% dari 4 kasus yg diujikan (Zilfikri Yulfiandi R. et. al, 2016).

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.

2. DASAR TEORI

2.1.Hipertensi

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

Tekanan darah orang dewasa normal didefinisikan berkisar antara 120 𝑚𝑚 𝐻𝑔 ketika jantung berdetak (sistolik) dan 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.

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 Prehypertension. Untuk Hypertension Stage 1, jumlah konsumsi garam yang dianjurkan adalah 600 − 800 𝑚𝑔𝑁𝑎. Sedangkan untuk Hypertension Stage 2, jumlah konsumsi garam

yang dianjurkan adalah 200 − 400 𝑚𝑔𝑁𝑎.

Sedangkan Kebutuhan kalium diperkirakan sebanyak 2000 mg per-harinya (Almatsier, 2004)

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.

(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 × 𝑇𝐵) − 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).

Langkah awal dalam algoritme PSO adalah inisialisasi posisi 𝑥 dan juga kecepatan awal 𝑣. 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).

𝑥 = 𝑥𝑚𝑖𝑛+ 𝑟𝑎𝑛𝑑[0,1] × (𝑥𝑚𝑎𝑥− 𝑥𝑚𝑖𝑛) (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).

𝑣𝑖,𝑗𝑡+1= 𝑤. 𝑣𝑖,𝑗𝑡 + 𝑐1. 𝑟1(𝑃𝑏𝑒𝑠𝑡𝑖,𝑗𝑡 − 𝑥𝑖,𝑗𝑡 ) +

𝑐2. 𝑟2(𝐺𝑏𝑒𝑠𝑡𝑔,𝑗𝑡 − 𝑥𝑖,𝑗𝑡 ) (10)

Pada Persamaan (12), 𝑣𝑖,𝑗𝑡 merupakan kecepatan partikel ke-𝑖 pada dimensi ke-𝑗 pada iterasi ke-𝑡. 𝑤 merupakan bobot inertia, 𝑐1, 𝑐2 merupakan koefisien akselerasi yang memenuhi kondisi c1 + c2 ≤ 4, 𝑟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

(4)

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

sedangkan 𝑘 merupakan konstanta (bilangan random ∈(0,1]).

Pendekatan yang diusulkan untuk

membatasi kecepatan partikel ke-𝑖 dalam 𝑗 dimensi, berdasarkan pada Persamaan (13) dan (14) (Marini & Walczak, 2015).

jika 𝑣𝑖𝑗𝑡+1> 𝑣𝑚𝑎𝑥𝑗 maka 𝑣𝑖𝑗𝑡+1= 𝑣𝑚𝑎𝑥𝑗 (13)

jika 𝑣𝑖𝑗𝑡+1< −𝑣𝑚𝑎𝑥𝑗 maka 𝑣𝑖𝑗𝑡+1= −𝑣𝑚𝑎𝑥𝑗 (14) Pada Persamaan (13) dan (14) 𝑣𝑖𝑗𝑡+1 merupakan kecepatan partikel ke-𝑖 pada dimensi ke-𝑗 pada iterasi ke-(𝑡 + 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).

jika𝑣𝑖𝑗+ 𝑥𝑖𝑗> 𝑥𝑚𝑎𝑥𝑗atau 𝑣𝑖𝑗+ 𝑥𝑖𝑗 < 𝑥𝑚𝑎𝑥𝑗 maka 𝑣𝑖𝑗= 0, 𝑥𝑖𝑗 = 𝑀𝑎𝑡ℎ. 𝐴𝑏𝑠(𝑥𝑖𝑗) (15) Seiring dengan berubahnya kecepatan, maka terjadi perubahan posisi patikel. yang dapat di hitung dengan persamaan (16):

𝑥𝑖,𝑗𝑡+1= 𝑥𝑖,𝑗𝑡 + 𝑣𝑖,𝑗𝑡+1 (16) Berikut adalah Pseudocode algoritme PSO yang terdapat pada Gambar 1 (

Cholissodin I.,

hitung fitness tiap partikel,

𝑃𝑏𝑒𝑠𝑡𝑖,𝑗𝑡 = 𝑥𝑖,𝑗𝑡 , 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 https://www.fatsecret.co.id. 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.

4. PERANCANGAN SISTEM

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

(5)

Pengguna.

Gambar 2 Perancangan Sistem

3.1.Menghitung Kebutuhan Gizi Pasien

Data yang dibutuhkan dalam menghitung kebutuhan gizi Pasien berupa data umur, berat badan dalam ukuran 𝑘𝑔, tinggi badan dalam ukuran 𝑐𝑚, jenis kelamin, tingkat aktifitas, tingkat faktor stress, dan tingkat tekanan darah. Adapun contoh permasalahan yang akan diselesaikan secara manual adalah sebagai berikut. Terdapat Pasien dengan nama Ny. NN dengan umur 41 tahun, memiliki berat badan 44 kg, tinggi badan 153 cm, berjenis kelamin perempuan memiliki pekerjaan PNS dan tekan darah 150/100 mmHg.

Tahapan pertama yang dilakukan adalah

melakukan perhitungan IMT. dengan

menggunakan Persamaan (1), seperti berikut.

𝐼𝑀𝑇 =1,53 𝑚 × 1,53 𝑚 = 18,796244 𝑘𝑔

Berdasarkan hasil yang didapatkan menyatakan Pasien tersebut termasuk kategori berat badan normal. Tahapan selanjutnya adalah melakukan

perhitungan AMB. dengan menggunakan

Persamaan (4)

𝐴𝑀𝐵 = 655 + (9,6 × 44 𝑘𝑔) + (1,8 × 153 𝑐𝑚) − (4,7 × 41) = 1160

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

𝑇𝑜𝑡𝑎𝑙 𝐾𝑎𝑙𝑜𝑟𝑖 = 1160 × 1.55 × 1.3 = 2337,6015 𝐾𝑘𝑎𝑙

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

𝐾𝑎𝑟𝑏𝑜 = 65% × 2337.6015 = 1519,44 𝐾𝑘𝑎𝑙

𝑃𝑟𝑜𝑡𝑒𝑖𝑛 = 15% × 2337.6015 = 350,64 𝐾𝑘𝑎𝑙

𝐿𝑒𝑚𝑎𝑘 = 20% × 2337.6015 = 467,5203 𝐾𝑘𝑎𝑙

Dari perhitungan di atas maka didapatkan kadar

karbohidrat sebesar 1519,44 𝐾𝑘𝑎𝑙. Kadar

protein sebesar 350,64 𝐾𝑘𝑎𝑙. Kadar lemak sebesar 467,5203 𝐾𝑘𝑎𝑙. Hasilnya dilakukan konversi data ke dalam 𝑔. Dari hasil konversi tersebut, maka nilai kadar karbohidrat yang didapat adalah 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.

𝐾𝑎𝑙𝑜𝑟𝑖 𝑀𝑎𝑘𝑎𝑛 𝑃𝑎𝑔𝑖 = 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

Melakukan Penyimpanan basis data yang berisi gizi dari makanan ke dalam array

Data Pasien, Parameter PSO

Algoritme PSO Mulai

Hitung Kebutuhan gizi Pasien

Proses Perubahan Kode Partikel dengan Nama dan kandungan gizi makanan yang sudah tersimpan di Basis Data

Rekomendasi Komposisi Makanan

(6)

kecepatan awal, menghitung fitness dari setiap

partikel, menentukan 𝑝𝑏𝑒𝑠𝑡, menentukan

𝑔𝑏𝑒𝑠𝑡, memperbaharui kecepatan partikel dan memperbaharui posisi partikel.

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.

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) 0 3 20 13 88 5 0 1 29 56 0 6 11 3

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.

Sedangkan j9 dan j14 merepresentasikan indeks dari makanan pelengkap.

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 fitness-nya. Rumus pehitungan fitness dapat dilihat pada Persamaan (17).

𝑓𝑖𝑡𝑛𝑒𝑠𝑠 = (∑ 𝑝𝑖𝑛𝑎𝑙𝑡𝑖 1 × 𝐶1) + 𝑉𝑎𝑟𝑖𝑎𝑠𝑖 (17)

Pada persamaan (17), ∑ 𝑝𝑖𝑛𝑎𝑙𝑡𝑖 merupakan

total pinalti, 𝐶1 merupakan konstanta

penyeimbang pinalti porsi makan, yaitu 108, 𝑉𝑎𝑟𝑖𝑎𝑠𝑖 merupakan jumlah banyaknya kombinasi makanan yang berbeda perjenis makanannya.

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

∑ 𝑝𝑖𝑛𝑎𝑙𝑡𝑖 = 𝐾𝑎𝑙𝑜𝑟𝑖 + 𝐾𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡 + makanan hasil algoritme PSO.

Setelah itu akan dilakukan proses penentuan pbest dan gbest. Hasil pbest didapat dengan cara 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 gbest didapatkan dengan membandingkan nilai fitnesspbest antara partikel ke-i dengan seluruh partikel. Nilai fitness yang paling tinggi, maka posisi dari partikelnya akan menjadi gbest.

(7)

kecepatan akan dilakukan proses pembatasan kecepatan dan penalizing. Langkah tersebut

dapat dilakukan dengan menggunakan

Persamaan (10) sampai (15). Selanjutnya akan

dilakukan perbaharuan posisi dengan

menggunakan Persamaan (16). Langkah

selanjutnya dilanjutkan menghitung fitness, penetuan pbest dan gbest dan diulangi kembali dengan perbaharuan kecepatan dan posisi sampai dengan batas iterasi maksimum yang

ditentukan. Untuk flowchart penggunaan

algoritme PSO pada sistem dapat dilihat pada Gambar 3.

Gambar 3Flowchart Algoritme PSO

5. PENGUJIAN

5.1.Pengujian Jumlah Iterasi

Pengujian banyaknya iterasi dilakukan untuk mengetahui jumlah iterasi yang dapat menghasilkan solusi terbaik. Pengujian jumlah iterasi dilakukan 10 kali untuk masing-masing jumlah iterasi. Parameter yang digunakan dalam pengujian adalah adalah jumlah partikel sebesar 50 dengan nilai 𝑤𝑚𝑖𝑛 dan 𝑤𝑚𝑎𝑥 sebesar 0,4 dan 0,9. Untuk grafik hasil pengujian jumlah partikel yang terdapat pada Gambar 4.

Gambar 4 Grafik Hasil Pengujian Iterasi

Pada Gambar 4, dapat disimpulkan bahwa semakin besar jumlah iterasi yang diujikan, maka semakin besar pula nilai rata-rata fitness yang dihasilkan. Dari Gambar 4 tersebut, juga dapat dilihat rata-rata nilai fitness mulai menunjukkan hasil yang konvergen pada iterasi ke-130, dengan nilai rata-rata fitness sebesar 477756. Hal tersebut dikarenakan hasil nilai rata-rata fitness pada iterasi selanjutnya tidak menujukkan peningkatan yang signifikan.

5.2.Pengujian Jumlah Partikel

Pengujian jumlah partikel dilakukan 10 kali untuk masing-masing jumlah partikel. Parameter yang digunakan pada pengujian ini adalah jumlah iterasi sebesar 50 dengan nilai 𝑤𝑚𝑖𝑛 dan 𝑤𝑚𝑎𝑥 sebesar 0,4 dan 0,9. Untuk grafik pengujian jumlah partikel yang terdapat pada Gambar 5.

Gambar 5 Grafik Hasil Pengujian Jumlah Partikel

Pada Gambar 5, dapat disimpulkan bahwa semakin besar jumlah partikel yang diuji, maka semakin besar pula nilai rata-rata 𝑓𝑖𝑡𝑛𝑒𝑠𝑠 yang

206899

jml_partikel, dimensi, itermax, c1, c2, wmin, wmax, gizi[], makanan_pokok[][], sumber_nabati[][],

Perbaharui Posisi Partikel

Hitung Fitness

Tentukan Gbest

iterasi++

iterasi <= itermax Ya

Posisi[][], fitness[], v[][], pbest[], fitnesspbest[] gbest[]

Tentukan Pbest

(8)

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 wmin dan wmax

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 130 dan jumlah partikel sebesar 100. Untuk grafik hasil pengujian nilai 𝑤𝑚𝑖𝑛 dan 𝑤𝑚𝑎𝑥 dapat dilihat pada Gambar 6.

Gambar 6Grafik Hasil Pengujian Nilai wmin dan

wmax

Pada Gambar 6 dapat disimpulkan bahwa rata-rata nilai fitness terbaik berada pada nilai 0,4 untuk 𝑤𝑚𝑖𝑛 dan 0,5 untuk 𝑤𝑚𝑎𝑥. Alasannya adalah nilai 𝑤𝑚𝑖𝑛 dan 𝑤𝑚𝑎𝑥 tersebut, memiliki nilai rata-rata 𝑓𝑖𝑡𝑛𝑒𝑠𝑠 yang paling tinggi, yaitu sebesar 562490,43.

5.4.Analisa Pengujian Sistem

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 130, jumlah partikel sebesar 100 dengan nilai 𝑤𝑚𝑖𝑛 dan 𝑤𝑚𝑎𝑥 sebesar 0,4 dan berjenis kelamin Pria, Memiliki tekanan darah 180/110 mm Hg. Hasil dari sistem dapat dilihat pada Gambar 8.

Gambar 7 Tampilan Sistem

Dari Gambar 8. dapat dilihat Pasien memiliki kebutuhan gizi, yaitu: kalori sebesar 2595,75 𝐾𝑘𝑎𝑙. Karbohidrat sebesar 421,81 𝑔.

Protein sebesar 97,34 𝑔. Lemak sebesar

57,68 𝑔. Natrium sebesar 200 𝑚𝑔. Kalium sebesar 2000 𝑚𝑔. Sedangkan Kebutuhan porsi

yaitu: makan pagi sebesar 519,15 𝐾𝑘𝑎𝑙.

Makanan pelengkap1 dan pelengkap2

masing-masingnya sebesar 259,575 𝐾𝑘𝑎𝑙. Makanan

siang dan malam masing-masingnya sebesar 778,725 𝐾𝑘𝑎𝑙.. Hasil persentase selisih makanan dari hasi tersebut dapat dilihat pada Tabel 2.

Tabel 2 Hasil Presentase Selisih Makanan

Gizi Porsi Makan 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.

Dari keseluruhan 4 kasus uji yang dilakukan, maka disimpulkan bahwa sistem ini dapat

0.4;0.5 0.4;0.6 0.4;0.7 0.4;0.8 0.4;0.9

(9)

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

6. KESIMPULAN

Berdasarkan hasil pengujian maka

didapatkan kesimpulan sebagai berikut:

1. Representasi partikel dilakukan berdasarkan dari indeks dari setiap jenis makanan yang ada pada basis data. Representasi partikel tersebut memiliki jumlah dimensi sebesar 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.

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 477756,4. Jumlah

partikel sebesar 100 partikel, dengan hasil

rata-rata 𝑓𝑖𝑡𝑛𝑒𝑠𝑠 didapatkan sebesar

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 Optimization Algorithm. Computer and Information Science, Vol.3, No.1. G. Omran, M., P. Engelbrecht, A. & Salman A.

2004. Image Classification Using

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

Eliantara, F., Cholissodin, I. & Indriati. 2016. Optimasi Pemenuhan Kebutuhan Gizi

Keluarga Menggunakan Particle

Swarm Optimization. DORO:

Repository Jurnal Mahasiswa PTIIK Universitas Brawijaya

Yulfiandi, Zilfikri R., Eka, DIan R., Arwan, A.,

2016. Optimasi Komposisi Makanan

Untuk Atlet Endurance Menggunakan Metode Particle Swarm Optimization. Jurnal Teknologi Informasi dan Ilmu Komputer (JTIIK),Vol.3, No.2, pp. 103-109.

Allhussein, M., Irzata, Syed H., 2015. Improved Particle Swarm Optimization Based on

Velocity Clamping and Particle

Penalization. Journal of Computer

Science IEEE.

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–106.

Cholissodin, I., 2016. Dasar-Dasar Algoritma

PSO. Tersedia di

<http://imamcs.lecture.ub.ac.id/> [Diakses 5 April 2017]

WHO, 2012. Hypertension Meaning and Cause.

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

Clustering Directions in

High-Dimensional Data Using Particle

Swarm Optimization, J. Chemometr. 25

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.

(10)

Gambar

Gambar 2 Perancangan Sistem
Tabel 1 Representasi Awal Partikel
Gambar 5. iterasi++
Gambar 7 Tampilan Sistem

Referensi

Dokumen terkait

It’s difficult for me to recapture how I truly felt about things then; how I went about my normal routine of working, the evening meal with my parents, going to the

Variabel independen dalam penelitian adalah CSR, kepemilikan institusional, kepemilikan manajerial dan kepemilikan asing yang akan dibuktikan pengaruhnya terhadap

Semakin tinggi tegangan elektroda ada keeenderungan laju korosi menurun eukup banyak, menjadi minimumnya sebesar 0,035 ropy, hal ini karena semakin tinggi tegangan elektroda maka

Menggambarkan hubungan antar entitas dalam rancangan sistem pada PT. Jaya Karya Steelindo. Supplier Pesan Pembelian Buat Tanda Terima Barang Untuk Retur Pembelian ada

Analisis deskriptif, data yang diolah yaitu data pretest dan posttest murid kelas V yang diterapkan dengan menggunakan media kartu hitung pada pembelajaran matematika

memiliki Competitive advantage. Sebuah lembaga pendidikan harus berusaha mencapai keunggulan memberikan layanan prima dengan superior customer service dan menghasilkan

BAB IV PENERAPAN JUSTICE COLLABORATOR DALAM TINDAK PIDANA KORUPSI MENURUT UNDANG-UNDANG NOMOR 31 TAHUN 2014 TENTANG PERLINDUNGAN SAKSI DAN KORBAN DAN PERLINDUNGAN

Untuk melihat sejauhmana program tersebut berpengaruh terhadap perilaku ibu-ibu tersebut dalam menabung, penelitian ini dilakukan untuk menjawab rumusan masalah sebagai berikut: