Fakultas Ilmu Komputer
Universitas Brawijaya
7120
Optimasi Komposisi Makanan Bagi Penderita Obesitas Pada Orang
Dewasa Menggunakan Algoritme
Particle Swarm Optimization
(PSO)
Shinta Anggun Larasati1, Imam Cholissodin2, Marji3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1[email protected], 2[email protected], 3[email protected]
Abstrak
Obesitas terjadi dikarenakan adanya penumpukan lemak dalam tubuh yang sangat tinggi. Sehingga menyebabkan berat badan menjadi tidak ideal. Obesitas juga dapat menimbulkan komplikasi penyakit, beberapa diantaranya dapat membahayakan nyawa. Untuk mendapatkan berat badan ideal serta biaya yang dikeluarkan minimum, penderita perlu mengendalikan banyaknya asupan makanan yaitu dengan cara mengatur komposisi makanan yang masuk kedalam tubuh. Penelitian yang dilakukan adalah optimasi komposisi makanan bagi penderita obesitas pada orang dewasa menggunakan algoritme
Particle Swarm Optimization (PSO). Dalam penelitian ini, pembentukkan partikel awal dilakukan secara
random berdasarkan jumlah makanan yang ada sehingga tidak perlu mengkonversikan ke dalam indeks makanan. Hasil yang akan ditampilkan oleh program adalah berat badan aktual, berat badan ideal, status gizi, kebutuhan energi, kebutuhan protein, kebutuhan lemak dan kebutuhan karbohidrat. Sedangkan hasil pengujian didapatkan parameter yang optimal diantaranya adalah jumlah partikel = 80, jumlah iterasi berdasarkan uji konvergensi sebesar 703, 𝜔𝑚𝑖𝑛 = 0,4, 𝜔𝑚𝑎𝑥 = 0,7 c1i = 1,5 dan c1f= 0,3, c2i = 0,3 dan c2f = 1,5. Hasil dari program dengan parameter tersebut pasien pertama menghasilkan rata-rata selisih data aktual dengan data dari program sebesar -2,08% dan dapat mengurangi biaya pengeluaran sampai dengan 6,85%. Sedangkan pada pasien kedua menghasilkan rata-rata selisih data aktual dengan data dari program sebesar -1,06% dan dapat mengurangi biaya pengeluaran sampai dengan 5,93%.
Kata kunci: Algoritme Particle Swarm Optimization (PSO), Obesitas, Dewasa, Komposisi Makanan. Abstract
Obesity occurs due to buildup of fat in the body is very high. Thus causing weight gain be not ideal. Obesity can also cause disease complications, some of which can endanger lives. To get the ideal body weight and the minimum cost incurred, the patient needs to control the amount of food intake is by regulating the composition of food that enters the body. The research was done by optimizing food composition for obese people in adults using Particle Swarm Optimization Algorithm (PSO). In this study, the initial particle formation of the particle random based on the amount of food so there is no need to convert that into food index. The results displayed by the program is actual body weight, ideal weight, nutritional status, energy needs, the needs of protein, fat and carbohydrate needs needs. While the test results obtained the optimal parameters such as the number of particles = 80, the number of iterations based on testing convergence of 703, 𝜔𝑚𝑖𝑛 = 0,4, 𝜔𝑚𝑎𝑥 = 0,7 c1i = 1,5 and c1f= 0,3, c2i = 0,3
and c2f = 1,5. The results of the program with the first patient parameters produce an average difference
between the actual data with the data from the program registration -2,08% and it can reduce the cost of expenditure up to 6,85%. While the second patient the average of the actual data difference with data from the program amounted to -1,06% and it can reduce the cost of expenditure up to 5,93%.
Keywords: Particle Swarm Optimization Algorithm (PSO), Obesity, Adult, Food Composition.
1. PENDAHULUAN
Obesitasdmerupakan penumpukan lemak yang sangat tinggi di dalam tubuh. Hal ini mengakibatkanoberat badan berada di luar batas
ideal. Sejumlah komplikasi penyakitedapat timbul akibatdobesitas, bahkan beberapa di
antaranya dapatemembahayakan nyawa.
terjadi di negara maju dan berkembang, termasukdiantaranya adalahcIndonesia.
Menurut Riset Kesehatan Dasar pada tahun 2013, Indonesiacdengan prevalensi penduduk laki-lakicdewasa usia lebih dari 18 tahun terkena penyakit Obesitascsebanyak 19,7%. Selisih 5,8% dari tahun 2007 yang semula 13,9% dan selisih 11,9% pada tahun 2010 yang semula 7,8%. Tidak hanya penduduk laki-laki saja yang mengalami kenaikanpersentase jumlahpenyakit obesitas. Namuncpenduduk wanita juga
mengalami kenaikan presentase jumlah
penyakitcobesitas. Hal inicterbukti pada Riset Kesehatan Dasar pada tahun 2013, Indonesia dengan prevalensicpenduduk wanita dewasa usia lebih dari 18 tahun terkena obesitas sebanyak 32,9%. Selisih 19%cdari tahun 2007 yang semula 13,9% dan selisih 17,4% dari tahun 2010 yang semula 15,5%.
Keadaan obesitas terjadi ketika terlalu banyaknya asupan makanan namun aktivitas fisik yang dilakukan terlalu sedikit, ataupun
keduanya (Misnadierly, 2007). Dengan
demikian setiap orang perlu memperhatikan banyaknya asupan makanan yang disesuaikan dengan kebutuhan tenaga sehari-hari dan aktivitas fisik yang dilakukan. Keadaan obesitas ditentukan dengan mengklasifikasikan status gizi berdasarkan Indeks Massa Tubuh (IMT).
Seseorang dianggap menderita obesitas
jika indeks massa tubuh (IMT), memiliki berat lebih dari 30 kg/m2.
Dari permasalahan tersebut diperlukan diet
untuk mengendalikan banyaknya asupan
makanan yaitu dengan cara mengatur komposisi makanan sehingga penderita akan mendapatkan berat badan yang ideal. Karena kurangnya pengetahuan dan sulitnya dalam memvariasi komposisi makanan serta jumlah biaya yang
harus dikeluarkan maka alternative yang
diperlukan adalah mengembangkan perangkat lunak yang dapat merekomendasi komposisi
makanan bagi penderita obesitas
padaaorangsdewasa dengan variasi menu selama beberapa hari dengan biaya yang minimum.
Untuk permasalahan serupa sudah pernah dibahas oleh peneliti sebelumnya. Penelitian yang dilakukan oleh Diani, et. al (2017) dengan objek Bahan Makanan bagi Penderita Rawat Jalan Penyakit Jantung. Peneliti menggunakan algoritme Swarm Optimization (PSO) untuk menyelesaikan permasalahan yang diangkat.
Adapun data yang digunakan yaitu jumlah
makanan yang dikonsumsi yaitu jumlah
makanan sumber karbohidrat, sumber protein
hewani,sumberproteinnabati, jumlahsayuran, jumlah buah – buahan,minyaklemak,susudan biaya pengeluaran dalam sehari. Untuk hasil
yang didapatkan sistem mampu memberikan
komposisi bahan makanan terbaik serta harga semininalmungkin.
Kemudian penelitian yang dilakukan oleh Eliantara, et. al (2016) membahas tentang kebutuhan gizi keluarga. Penyelesaian algoritme
Swarm Optimization (PSO) tidak hanya dapat diterapkan dalam bidang kesehatan namun algoritme ini juga dapat diterapkan dalam bidang pertanian atau penjadwalan mata kuliah dalam Instansi. Seperti yang dilakukan oleh peneliti Sengupta, et. al (2017) dengan objek Penyakit pada tanaman padi dan peneliti Rachman, et. al (2012) dengan objek Penjadwalan Kuliah.
Daripermasalahandiataskmaka,kdibuatlah sistem untukoptimasiikomposisi makanan bagi penderita obesitas pada orang dewasa dengan
menggunakan algoritme Particle Swarm
Optimization (PSO). Dengan menggunakan algoritme Particle Swarm Optimization (PSO)
dapat menyelesaikan permasalahan yang
kompleks berdasarkan keberhasilan dalam penelitian yang sudah dilakukan sebelumnya.
2. DASAR TEORI 2.1 Obesitas
Obesitas merupakan kelebihan lemak
dalamtubuh yang umumnya terjadi penimbunan dalamjaringanbawahkulit,sekitar organ tubuh (Misnadierly, 2007). Seseorang dikatakan obesitas dengan melihat Indeks Massa Tubuh (IMT). Obesitas terjadi jika kelebihan berat badan 20% karena lemak pada pria dan 25% pada wanita (Ganong, 2002).
2.2 Perhitungan Asupan Gizi 2.2.1 Indeks Massa Tubuh (IMT)
Indeks Massa Tubuh (IMT) merupakan indikator sederhana yang menunjukkan status gizi.IMT akan digunakan untuk mengukur ideal atau tidaknya berat badan seseorang. Menurut WHO tahun 2000 cara perhitungan nilai IMT didapatkan dari pengukuran berat badan dalam kilogram dan tinggi dalam meter lalu dimasukkan ke dalam Persamaan 1.
IMT = 𝑩𝑩 (𝒌𝒈)
𝑻𝑩(𝒎)𝟐 (1)
Keterangan:
Kemudian penilaian berat badan berdasarkan IMT dapat menggunakan batas ambang seperti yang terlihat pada Tabel 1.
Tabel 1. Klasifikasi IMT Yang Diusulkan Untuk Penduduk Asia Dewasa
Klasifikasi IMT (kg/m2)
Berat Badan Kurang < 18,5
Berat Badan Normal 18,5 – 22,9 Berat Badan Lebih:
- Beresiko 23 – 24,9
- Obesitas I 25 – 29,9
- Obesitas II >30
2.2.2 Angka Metabolisme Basal (AMB) Setelah diketahui IMT penderita untuk mencari Angka Metabolisme Basal (AMB). BB yang digunakan dapat dibedakan menjadi:
1. Normal (IMT 18,5 – 22,9) menggunakan BB asli.
2. Gemuk (IMT > 23-24,9) menggunakan BB ideal yang ada dalam Persamaan 2.
BB Ideal = (TB – 100) – 10% (TB – 100) (2)
3. Obesitas (IMT >25) menggunakan BB
Adjusted yang ada dalam Persamaan 3.
BB Adjusted = BB Ideal + [(BB – BB Ideal) x 25%]
(3)
Selanjutnya untuk menentukan Angka Metabolisme Basal (AMB) dapat menggunakan rumus Harris Benedict (1919) dapat dilihat pada Persamaan 4 dan 5.
Laki-laki = 66,5 + (13,7 x BB) + (5 x TB) –
(6,8 x U) (4)
Perempuan = 655 + (9,6 x BB) + (1,8 x TB) – (4,7
x U) (5)
Keterangan:
BB : Berat Badan dalam kg. TB : Tinggi Badan dalam cm.
U : Umur dalam tahun.
2.2.3 Aktivitas Fisik
Setelah mendapatkan nilai AMB kemudian mencari Total Energi Expenditure (TEE). Nilai kebutuhan energi dapat dilihat pada Tabel 2.
Tabel 2. Kebutuhan Energi Menurut Aktivitas
Aktivitas Gender
Laki – laki Perempuan
Sangat ringan 1,30 1,30
Ringan 1,65 1,55
Sedang 1,76 1,70
Berat 2,10 2,00
Jumlah energi atau kalori yang dibutuhkan yang sesuai dengan aktivitas sehari-hari dapat dihitung dengan Persamaan 6.
TEE = AMB x Aktivitas Fisik (6)
Langkah selanjutnya menghitung jumlah karbohidrat, protein, dan lemak yang dibutuhkan pada Persamaan (7), (8), dan (9) sebagai berikut:
𝐾𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡 (𝑔𝑟𝑎𝑚) =60% 𝑥 𝑇𝐸𝐸4 (7)
𝑃𝑟𝑜𝑡𝑒𝑖𝑛 (𝑔𝑟𝑎𝑚) =15% 𝑥 𝑇𝐸𝐸4 (8)
𝐿𝑒𝑚𝑎𝑘 (𝑔𝑟𝑎𝑚) =25% 𝑥 𝑇𝐸𝐸9 (9)
2.2.4 Algoritme Particle Swarm
Optimization (PSO)
Algoritme Particle Swarm Optimization
(PSO) diperkenalkan oleh Kennedy dan Eberhart pada tahun 1995, proses algoritmenya yang meniru proses yang terjadi dalam kehidupan populasi burung (flock of bird) dan ikan (school of fish) dalam bertahan hidup. Untuk rumus yang digunakan pada algoritme PSO dapat dilihat pada Persamaan 10 – 15.
Rumus Pemutakhiran Kecepatan (Velocity) dapat dilihat dalam persamaan (10) dibawah ini:
𝑣𝑖,𝑗𝑡+1= 𝑤. 𝑣𝑖,𝑗𝑡 + 𝑐1𝑟𝑎𝑛𝑑1× (𝑃𝑏𝑒𝑠𝑡𝑖,𝑗𝑡 − 𝑥𝑖,𝑗𝑡 ) +
𝑐2𝑟𝑎𝑛𝑑2× (𝐺𝑏𝑒𝑠𝑡𝑔,𝑗𝑡 − 𝑥𝑖,𝑗𝑡 ) (10)
Keterangan:
𝑣𝑖,𝐽𝑡+1 : Kecepatan.
𝑤 : Bobot inersia.
c1 : Nilai koefisien akselerasi ke-1.
c2 : Nilai koefisiean akselerasi ke-2. 𝑟𝑎𝑛𝑑1 : Nilai random [0 ; 1].
𝑟𝑎𝑛𝑑2 : Nilai random [0 ; 1]. 𝑥𝑖,𝑗𝑡 : Posisi dari partikel.
𝑃𝑏𝑒𝑠𝑡𝑖,𝑗𝑡 : Posisi dengan nilai fitness terbaik.
𝐺𝑏𝑒𝑠𝑡𝑔,𝑗𝑡 :Nilai Pbest terbaik dari seluruh
populasi partikel.
i : Partikel.
j : Dimensi.
t : Iterasi.
Dalam implementasi PSO, terkadang ditemukan kecepatan partikel bergerak ke nilai yang besar dengan cepat. Oleh karena itu, diperlukan teknik pembatasan velocity clamping.
Menurut Walczak & Marini, batasan lower dan
upper kecepatan yang digunakan dalam proses ini berdasarkan nilai minimum dan maksimum pada setiap dimensi, dimana dapat dilihat pada Persamaan 11 – 12.
𝑣𝑚𝑖𝑛𝑗= − 𝑣𝑚𝑎𝑥𝑗 (11)
𝑣𝑚𝑎𝑥𝑗= 𝑘𝑥𝑚𝑎𝑥𝑗2−𝑥𝑚𝑖𝑛𝑗 𝑘 ∈ 0,1(12)
Keterangan:
vminj : Batas bawah.
𝑥𝑚𝑎𝑥𝑗 : Nilai maksimum pada setiap dimensi.
𝑥𝑚𝑖𝑛𝑗 : Nilai minimum pada setiap dimensi.
𝑘 : Konstanta.
Persamaan 13 dan Persamaan 14 berikut ini merupakan batasan kecepatan atau threshold
yang digunakan (Marini & Walczak, 2015):
Jika vi,jt+1> vmaxj maka vi,jt+1= vmaxj
(13)
Jika 𝑣𝑖,𝑗𝑡+1< − 𝑣𝑚𝑎𝑥𝑗 maka 𝑣𝑖,𝑗𝑡+1= − 𝑣𝑚𝑎𝑥𝑗
(14)
Rumus pemutakhiran Posisi dapat dilihat dalam persamaan 15.
𝑥𝑖,𝑗𝑡+1 = 𝑥𝑖,𝑗𝑡 + 𝑣𝑖,𝑗𝑡+1 (15)
Keterangan:
𝑥𝑖,𝑗𝑡+1 : Posisi partikel ke-i pada iterasi
ke-(t+1).
𝑥𝑖,𝑗𝑡 : Posisi partikel ke-i pada iterasi ke-t.
𝑣𝑖,𝑗𝑡+1 : Kecepatan partikel ke-i pada iterasi
ke-(t+1).
2.2.5 Time Variant Particle Swarm Optimization
Time variant yang digunakan adalah Time Varying Acceleration Coefficients (TVAC) dan
Time Varying Inertia Weight (TVIW). Bobot inertia 𝑤 diperbaharui untuk mendapatkan nilai
w yang adaptif untuk setiap Iterasi, sehingga nilainya bisa dinamis dan mampu meningkatkan hasil optimasi yang diharapkan, semakin besar nilai Iterasinya, maka nilai w akan semakin kecil, dan sebaliknya. Detail uraiannya seperti pada Persamaan 16 TVIW (Chen at all, 2011):
𝑤 = 𝑤𝑚𝑖𝑛+ (𝑤𝑚𝑎𝑥− 𝑤𝑚𝑖𝑛)(𝑡𝑚𝑎𝑥𝑡𝑚𝑎𝑥−𝑡) (16)
Keterangan:
𝑤𝑚𝑎𝑥 : Nilai maksimum bobot inertia w.
𝑤𝑚𝑖𝑛 : Nilai minimum bobot inertia w.
𝑡 : Iterasi awal dari algoritme. 𝑡𝑚𝑎𝑥 : Nilai maksimum Iterasi.
Menurut Chen, 𝑐1 dan 𝑐2 adalah koefisien percepatanuntukkeseimbangan yanglebihbaik antara global eksplorasixdanxlokalxeksploitasi.
Konsepinixakan diadopsi untuk solusipencarian yang lebih baik. Inti TVAC adalah 𝑐1 menurunkan dari nilai inisial 𝑐1𝑖sampai 𝑐1𝑓, saat 𝑐2 menaikan dari 𝑐2𝑖 sampai 𝑐2𝑓 berdasarkan Persamaan 17 dan persamaan 18 TVAC secara matematika (Chen at all, 2011):
𝑐1= (𝑐1𝑓− 𝑐1𝑖)𝑡𝑡
𝑚𝑎𝑥+ 𝑐1𝑖 (17)
𝑐2= (𝑐2𝑓− 𝑐2𝑖)𝑡𝑚𝑎𝑥𝑡 + 𝑐2𝑖 (18)
2.2.6 Nilai Fitness
Nilai fitness digunakan sebagai acuan untuk menentukan Gbest dan Pbest pada langkah selanjutnya. Pada penelitian yang dilakukan oleh Eliantara (2016) dengan menggunakan metode
Particle Swarm Optimization (PSO) nilai fitness
didapatkan dari Persamaan 19.
𝐹𝑖𝑡𝑛𝑒𝑠𝑠 = 𝑃𝑒𝑛𝑎𝑙𝑡𝑖𝐺𝑖𝑧𝑖1 . 𝑐𝑜𝑛𝑠𝑡1 +
1
𝑇𝑜𝑡𝑎𝑙 𝐻𝑎𝑟𝑔𝑎. 𝑐𝑜𝑛𝑠𝑡2 + 𝑣𝑎𝑟𝑖𝑎𝑠𝑖 (19)
Dimana const1 dan const2 merupakan penyeimbang nilai fitness. Ketidakseimbangan dapat diatasi dengan penggunaan konstanta const1 dan const2, dimana konstanta const1
digunakan untuk pembagian PenaltiGizi
sedangkan const2 digunakan untuk pembagian total harga dengan nilai konstanta const1 = 100000 dan konstanta const2 = 1000000.
3. PERANCANGAN
Gambar 1. Diagram Alir Proses Penyelesaian Masalah Dengan Algoritme Particle Swarm
Optimization (PSO)
Berdasarkan Gambar 1. langkah – langkah yang
dapat dilakukan untuk menyelesaikan
Mulai
Data penderita obesitas, parameter PSO
Hitung Kebutuhan Gizi
Inisialisasi Populasi Awal
For i= 1 to itermax
Pemutakhiran Kecepatan
Pemutakhiran Posisi dan Hitung fitness
Pemutakhiran Pbest
Pemutakhiran Gbest
i
Partikel Terbaik
permasalahan optimasi komposisi makanan bagi penderita obesitas menggunakan algoritme
Particle Swarm Optimization (PSO) adalah:
1. Inisialisasi parameter awal
2. Menghitung kebutuhan energi harian penderita.
3. Inisialisasi populasi awal 4. Pemutakhiran kecepatan.
Jika kecepatan partikel bergerak ke nilai yang besar dengan cepat, maka akan dilakukan velocity clampling.
5. Pemutakhiran posisi dan menghitung nilai fitness.
6. Pemutakhiran Pbest.
7. Pemutakhiran Gbest.
8. Ulangi langkah 3-7 hingga sejumlah itermax.
9. Output partikel terbaik.
3.1 Input Data
Berikut ini merupakan contoh data penderita dapat dilihat pada Tabel 3.
Tabel 3. Data Penderitta Obesitas Umur
Berikut ini merupakan contoh parameter PSO dapat dilihat pada Tabel 4.
Tabel 4. Parameter PSO
Jumlah
3.2 Menghitung Kebutuhan Gizi Penderita Langkah pertama yaitu menghitung IMT terlebih dahulu dengan Persamaan 1. Setelah mendapatkan hasil dari IMT lihat Tabel 2, penderita ini termasuk dalam kategori obesitas, maka rumus yang digunakan menggunakan Persamaan 3. Namun untuk menggunakan Persamaan tersebut, sebelumnya mencari berat badan ideal. Untuk mencari berat badan ideal dapat menggunakan Persamaan 2.
Setelah berat badan ideal diketahui maka selanjutnya adalah menghitung BB Adjusted
dengan menggunakan Persamaan 3. Perhitungan dengan menggunakan BB Adjusted hanya digunakan jika penderita mengalami obesitas. Selanjutnya menentukan Angka Metabolisme Basal (AMB). Untuk menentukan Angka Metabolisme Basal (AMB) berdasarkan jenis kelamin dapat menggunakan rumus Harris Benedict (1919). Karena contoh kasus adalah perempuan maka menggunakan Persamaan 5.
Setelah mendapatkan nilai AMB kemudian mencari Total Energi Expenditure (TEE) yang dibutuhkan. Bobot dari aktivitas fisik dapat dilihat pada Tabel 2. Kemudian untuk
menghitung TEE dapat menggunakan
Persamaan 6. Setelah menghitung Total Energi Expenditure (TEE) langkah terakhir yaitu menghitung jumlah karbohidrat, protein, dan lemak yang dibutuhkan dengan menggunakan Persamaan 7 sampai 9.
3.3 Inisialisasi Populasi Awal
3.3.1 Inisialisasi Kecepatan
Pada setiap partikel akan bernilai nol (0) nilai kecepatan awalnya (v).
3.3.2 Inisialisasi Partikel
Masing-masing jenis makanan akan diwakili satu dimensi oleh setiap partikel sehingga terdapat 126 dimensi berdasarkan dari 7 hari 3 kali makan dan 6 jenis makanan. Jenis makanan berjumlah 99 berdasarkan jenis Makanan Pokok sebanyak 15, Protein Hewani sebanyak 21, Protein Nabati sebanyak 21, Sayuran sebanyak 25, Buah-buahan sebanyak 13 dan susu sebanyak 4. Partikel dapat dilihat pada Tabel 5.
Tabel 5. Inisialisasi Partikel
3.3.3 Inisialisasi Pbest Dan Gbest
Nilai Pbest pada awal Iterasi bernilai sama dengan posisi awal partikel. Pada Tabel 6. menunjukkan nilai Pbest.
Partikel Posisi Fitness
Partikel ke-1
11 9 … 13 1 290.4745
Partikel ke-2
6 18 … 12 4 1179.474
Partikel ke-3
4 15 … 11 2 226.975
Sedangkan untuk nilai Gbest berasal dari nilai fitness Pbest dengan nilai yang tertinggi. Pada Tabel 7. menunjukkan nilai Gbest.
Tabel 7. Inisialisasi Gbest
Partikel Posisi Fitness
Partikel ke-2
6 18 … 12 4 1179.474
3.3.4 Pemutakhiran Kecepatan
Untuk menghitung pemutakhiran
kecepatan, langkah yang harus dilakukan adalah menghitung nilai 𝑤. Untuk menghitung nilai 𝑤 (TVIW) dapat menggunakan Persamaan 16.
𝑤 = 0,4 + (0,9 − 0,4)(2−1)2 = 1,4
Setelah diketahui nilai w maka langkah selanjutnya adalah mencari nilai c1 dan c2.
Untuk menghitung c1 dan c2 dapat
menggunakan Persamaan 17 dan 18.
𝑐1= (0,5 − 2,5)12+ 2,5 = 1,5
𝑐2= (2,5 − 0,5)12 + 0,5 = 1,5
Setelah mendapatkan nilai 𝑤, c1, dan c2 lalu menghitung kecepatan menggunakan Persamaan 10:
𝑣1,10+1= 1.4 ∗ 0 + 1.5 ∗ 0,295108 ∗ (11 − 11) + 1.5 ∗
0.131817 ∗ (6 − 11)
𝑣1,10+1= -0,98863
Tabel 8. Pemutakhiran Kecepatan Pada Iterasi Ke-1
Partikel Iterasai ke-1
Partikel
ke-1 -0.98 1.77 … -0.19 0.59
Partikel
ke-2 0 0 … 0 0
Partikel
ke-3 0.39 0.59 … 0.19 0.39
Dikarenakan ada beberapa kecepatan yang keluar dari batas kecepatan yang ditentukan sehingga menghasilkan posisi partikel yang jauh dari posisi tetangga dan individu terbaik maka dilakukan pembatasan kecepatan minimum dan maksimum atau threshold. Batasan kecepatan tersebut dapat dilihat pada Tabel 9.
Tabel 9. Nilai Batasan Kecepatan Atau Threshold
vminMP -1,4 vminPH -2 vminPN -2
vmaxMP 1,4 vmaxPH 2 vmaxPN 2
vminS -2,4 vminB -1,2 vminSU -0,3
vmaxS 2,4 vmaxB 1,2 vmaxSU 0,3
Berdasarkan batasan kecepatan tersebut maka kecepatan berubah sesuai dengan Persamaan 13 sampai dengan Persamaan 14. Berikut ini hasil dari velocity clamping
kecepatan pada Iterasi ke-1 akan ditunjukkan pada Tabel 10.
Tabel 10. Kecepatan Dibatasi Pada Iterasi ke-1
Partikel Kecepatan Yang Sudah Dibatasi
Partikel ke-1
-0,98 1,77 -1,4 … -0,19 0,3
Partikel
ke-2 0 0 0 0 0
Partikel
ke-3 0,39 0,59 -1,4 0,19 0,3
3.3.5 Pemutakhiran Posisi dan Hitung
Fitness
Setelah melakukan pemutakhiran kecepatan yang disertai pembatasan kecepatan minimum dan maksimum tahap selanjutnya adalah
pemutakhiran posisi. Untuk menghitung
pemutakhiran posisi menggunakan Persamaan 15. Dibawah ini contoh perhitungan manual pemutakhiran posisi:
𝑥𝑖,𝑗𝑡+1 = 𝑥𝑖,𝑗𝑡 + 𝑣𝑖,𝑗𝑡+1
𝑥1,10+1 = 11 + (−0,98)
𝑥1,10+1 = 10,01137
Tabel 11. menunjukkan contoh hasil
pemutakhiran posisi pada perhitungan manual.
Tabel 11. Contoh Hasil Pemutakhiran Posisi Iterasi Ke-1
Partikel Iterasi ke-1
Partikel
ke-1 10,01 10,77 … 12,80 1,3
Partikel
ke-2 6 18 … 12 2
Partikel
ke-3 4,39 15,59 … 11,19 2,3
Setelah melakukan tahapan Pemutakhiran Posisi langkah selanjutnya adalah menghitung nilai fitness posisi terbaru. Perhitungan fitness dapat dilakukan dengan melihat Persamaan (19).
𝐹𝑖𝑡𝑛𝑒𝑠𝑠(1) = 510.,812 1 100000 +375201 1000000 +
18 = 240,4192
𝐹𝑖𝑡𝑛𝑒𝑠𝑠 (2) = 87,4579 1 100000 +498331 1000000 +
𝐹𝑖𝑡𝑛𝑒𝑠𝑠 (3) = 183,035 1 100000 +437881 1000000 + 16 = 585,1809
Tabel 12. menunjukkan contoh hasil fitness
pada perhitungan manual.
Tabel 12. Nilai Fitness Terbaru
Partikel Iterasi ke-1 fitnes
s
3.3.6 Pemutakhiran Pbest dan Gbest
Untuk mendapatkan nilai Pbest adalah dengan cara membandingkan nilai fitness Pbest
saat ini dengan nilai fitness Pbest sebelumnya.
PemutakhiranGbest merupakan langkah untuk mengetahui nilai terbesar dari Pbest terbaru. Berdasarkan Tabel 13. merupakan hasil dari pemutakhiran nilai Pbest.
Tabel 13. Hasil Pemutakhiran Pbest Iterasi ke-1
Partikel Posisi Fitness
Partikel
ke-Berdasarkan Tabel 14. merupakan hasil dari pemutakhiran nilai Gbest.
Tabel 14. Pemutakhiran Nilai Gbest
Partikel Posisi Fitness
Partikel ke-2
6 18 … 12 4 1179.474
4. PENGUJIAN DAN ANALISIS 4.1 Pengujian Jumlah Partikel
Dilakukan percobaan selama 10 kali dengan kelipatan jumlah partikel 10 sampai 100. Kemudian nilai rata – rata hasil dari fitness akan dibandingkan. Parameter yang digunakan yaitu jumlah iterasi sebesar 100, 𝜔𝑚𝑖𝑛 = 0,4, 𝜔𝑚𝑎𝑥 = 0,7, c1 = [2,5 ; 0,5], c2 = [0,5 ; 2,5], k = 0,2. Tujuan dari pengujian ini adalah untuk mengetahui pengaruh perubahan pada jumlah partikel terhadap nilai fitness maksimum yang dihasilkan. Grafik Hasil Pengujian Jumlah Partikel ditunjukkan pada Gambar 2.
Gambar 2. Pengujian Jumlah Partikel
Berdasarkan Grafik Hasil Pengujian Jumlah Partikel, didapatkan rata-rata nilai fitness
terendah sebesar 29,03684 ketika jumlah partikel 10. Rata-rata nilai fitness tertinggi sebesar 30,40055 ketika jumlah partikel 80. Pada grafik tersebut memperlihatkan jika semakin besar jumlah partikel maka akan menghasilkan rata – rata fitness yang semakin besar. Hal tersebut dikarenakan banyaknya jumlah partikel merepresentasikan solusi optimal yang dapat dipilih lebih bervariasi (Khusna, et., 2016).
Pada grafik tersebut juga memperlihatkan terjadinya penurunan nilai rata – rata fitness. Hal tersebut kemungkinan disebabkan karena jumlah partikel yang digunakan semakin besar. Selain
itu, adanya nilai random pada rumus
pembangkitan populasi partikel. Hal ini dikarenakan, nilai random tidak bisa menjamin partikel yang dibangkitkan akan semakin bagus atau bisa jadi sebaliknya.
4.2 Pengujian Bobot Inertia
Dilakukan percobaan selama 10 kali dengan kombinasi bobot inertia maksimum dan minimum pada rentang 0,4 sampai 0,9. Parameter yang digunakan yaitu jumlah partikel = 80, jumlah iterasi = 100, 𝜔𝑚𝑖𝑛 = rentang 0,4 sampai 0,9, 𝜔𝑚𝑎𝑥 = rentang 0,4 sampai 0,9, c1 = [2,5 ; 0,5], c2 = [0,5 ; 2,5], k = 0,2. Pengujian bobot inertia dilakukan untuk mengetahui kombinasi 𝜔𝑚𝑖𝑛 dan 𝜔𝑚𝑎𝑥. Gambar 3. menunjukkan hasil pengujian bobot inertia.
Gambar 3. Pengujian Bobot Inertia
Berdasarkan Grafik Hasil Pengujian Bobot Inertia, Didapatkan Kombinasi Bobot Inertia Terbaik 𝜔𝑚𝑖𝑛 Sebesar 0,4 dan 𝜔𝑚𝑎𝑥 Sebesar 0,7 Dengan Rata-Rata Fitness Sebesar 30,32865. Bobot Inertia digunakan untuk mengatur eksplorasi dan eksploitasi partikel.
Semakin besar nilai 𝜔 maka keragaman partikel akan mengarah ke arah eksplorasi. Begitu pun sebaliknya, semakin kecil nilai 𝜔 maka keragaman partikel akan mengarah ke arah eksploitasi dan jika nilai 𝜔 terlalu kecil akan membuat eksplorasi partikel akan rentan untuk menghilang.
4.3 Pengujian Koefisien Akselerasi
Dilakukan percobaan selama 10. Parameter yang digunakan yaitu jumlah partikel = 80, jumlah iterasi sebesar 100, 𝜔𝑚𝑖𝑛 = 0.4, 𝜔𝑚𝑎𝑥 = 0,9, c1 = rentang 2,5 sampai 0,5, c2 = rentang 0,5 sampai 2,5, k = 0,2. Pengujian Koefisien
Akselerasi dilakukan untuk mengetahui
kombinasi koefisien akselerasi 1 yang terdiri dari c1i dan c1f dan koefisien akselerasi 2 yang terdiri dari c2i dan c2f untuk mengetahui solusi yang optimal. Gambar 4. menunjukkan hasil pengujian koefisien akselarasi.
Gambar 4. Hasil Pengujian Koefisien Akselarasi.
Berdasarkan Grafik Hasil Pengujian Koefisien Akselerasi, didapatkan kombinasi Koefisien Akselerasi 1 c1i sebesar 1,5 dan c1f sebesar 0,3 dan Koefisien Akselerasi 2 c2i sebesar 0,3 dan c2f sebesar 1,5. Nilai c1 dan c2 berguna untuk mengatur pergerakan partikel pada iterasi. Nilai c1 berguna untuk mengontrol jarak perpindahan yang dipengaruhi oleh posisi
personal best. Sedangkan Nilai c2 berguna untuk mengontrol jarak perpindahan yang dipengaruhi oleh global best.
Jika nilai tersebut dimasukkan kedalam Persamaan 17 dan Persamaan 18, nilai c1 yang diperoleh mengecil seiring bertambahnya iterasi. Sedangkan nilai c2 yang dihasilkan akan bertambah seiring dengan bertambahnya iterasi. Hal ini dikarenakan partikel cenderung melakukan eksplorasi pada saat awal proses optimasi lalu diakhir proses optimasi partikel cenderung melakukan eksploitasi.
4.4 Pengujian Konvergensi
Pengujian konvergensi dilakukan dengan menggunakan seluruh parameter terbaik yang telah diperoleh dari pengujian sebelumnya, kecuali jumlah Iterasi. Selain itu, pengujian dilakukan sebanyak 10 kali percobaan. Gambar 5. menunjukkan hasil pengujian konvergensi.
Gambar 5. Hasil Pengujian Konfergensi
Pada percobaan pertama nilai fitness stabil atau konvergen pada saat iterasi sebesar 620 ke atas. Namun hal ini tidak terjadi pada saat percobaan berikutnya. Pada percobaan kedua nilai fitness stabil atau konvergen pada saat iterasi sebesar 130 ke atas. Pada percobaan ketiga nilai fitness stabil atau konvergen pada saat iterasi sebesar 469 ke atas. Pada percobaan keempat nilai fitness stabil atau konvergen pada saat iterasi sebesar 235 ke atas. Pada percobaan kelima nilai fitness stabil atau konvergen pada saat iterasi sebesar 365 ke atas. Pada percobaan keenam nilai fitness stabil atau konvergen pada saat iterasi sebesar 20 ke atas. Pada percobaan ketujuh nilai fitness stabil atau konvergen pada saat iterasi sebesar 209 ke atas. Pada percobaan kedelapan nilai fitness stabil atau konvergen
pada saat iterasi sebesar 460 ke atas. Pada percobaan kesembilan nilai fitness stabil atau
konvergen pada saat iterasi sebesar 488 ke atas. Pada percobaan kesepuluh nilai fitness stabil atau konvergen pada saat iterasi sebesar 703 ke atas. Sehingga dapat disimpulkan bahwa nilai
fitness terbaik sebesar 29.71605976, telah mencapai optimum global (konvergen) pada saat iterasinya sebesar 703 pada percobaan kesepuluh.
Berdasarkan pada grafik diatas dapat diketahui bahwa adanya proses perbaikan yang jelas dan berjenjang yang dimulai ketika iterasi kecil hingga besar. Hai ini menandakan bahwa konvergensi dini tidak terjadi pada saat iterasi kecil. Sehingga pada saat iterasi sebesar 703 merupakan iterasi yang cukup ideal bagi PSO dengan menggunakan parameter terbaik.
5. ANALISIS GLOBAL HASIL
PENGUJIAN
Berdasarkan hasil pengujian yang telah dilakukan terdapat beberapa parameter yang
dianggap optimal dalam menyelesaikan
permasalahan yang ada. Parameter tersebut adalah:
Parameter diatas digunakan untuk
pengujian terhadap data aktual penderita obesitas. Tabel 14. merupakan data aktual penderita obesitas yang didapat melalui observasi di daerah Karangploso kota Malang.
Tabel 14. Data Aktual Penderita Obesitas
No Jenis
Berdasarkan data aktual penderita diatas, maka dapat dihitung masing - masing kebutuhan gizi serta kandungan gizi makanan perharinya. Dengan rata – rata total pengeluaran harian yaitu sebesar Rp50.000 yang didapat dari hasil observasi. Tabel 15. merupakan tabel kebutuhan gizi dari masing – masing penderita.
Tabel 15. Kebutuhan Gizi Dari Masing – Masing Penderita.
Berdasarkan perhitungan selisih
kebutuhan
gizi
dengan
kandungan
gizi
hasil
rekomendasi sistem penderita ke-1 memiliki
rata – rata selisih energi sebesar 5,71%, rata – rata selisih karbohidrat sebesar 3,91%, rata – rata selisih protein sebesar -21,24% dan rata – rata selisih lemak sebesar 8,93%. Sedangkan penderita ke-2 memiliki rata – rata selisih energi sebesar 3,27%, rata – rata selisih karbohidrat sebesar -0,64%, rata – rata selisih protein sebesar -11,89%, dan rata – rata selisih lemak sebesar 5,02%. Berdasarkan batas toleransi yang diberikan oleh pakar yakni sebesar ±10%. Sehingga hasil rekomendasi sistem untuk kebutuhan kalori, karbohidrat dan lemak dapat memenuhi kebutuhan gizi kedua penderita obesitas. Namun untuk kandungan protein hasil rekomendasi sistem belum memenuhi standart pakar yang sudah ditentukan.6. KESIMPULAN
Berdasarkan hasil analisis pengujian. maka dapat ditarik beberapa kesimpulan. sebagai berikut:
1. Implementasi algoritme Particle Swarm
Optimization (PSO) untuk optimasi
pada orang dewasa dapat dilakukan dengan cara pembentukkan partikel awal secara
random berdasarkan jumlah makanan yang ada sehingga tidak perlu mengkonversikan ke dalam indeks makanan. Setelah itu dapat diketahui berat kandungan gizi dan harganya. Tahap selanjutnya dengan menghitung Fitness. Nilai fitness didapatkan dari selisih kebutuhan gizi yang diperlukan dengan kandungan gizi yang direkomdesaikan dengan total harga dan variasi. Setelah mendapatkan nilai fitness
setiap partikel maka langkah selanjutnya
yaitu Pemutakhiran Kecepatan.
Pemutakhiran Posisi. Pemutakhiran Pbest dan Gbest. Berdasarkan Langkah-langkah tersebut. Maka implementasi algoritme
Particle Swarm Optimization (PSO) untuk optimasi komposisi makanan bagi penderita obesitas pada orang dewasa terbukti dengan baik untuk menyelesaikan permasalahan yang ada.
2.
Dari hasil pengujian tersebut. Didapatkan parameter PSO yang paling optimal diantaranya, jumlah partikel = 80. Kombinasi bobot inertia terbaik 𝜔𝑚𝑖𝑛 = 0,4 dan 𝜔𝑚𝑎𝑥 = 0,7 dengan rata-rata fitnesssebesar 30,32865. Pada pengujian koefisien akselerasi didapatkan kombinasi Koefisien Akselerasi 1 c1i sebesar 1,5 dan c1fsebesar 0,3 dan Koefisien Akselerasi 2 c2i sebesar 0,3 dan c2f sebesar 1,5. Pengujian
konvergensi digunakan untuk mengetahui Iterasi terbaik yang telah mencapai
konvergen (optimum global). Dimana dalam penelitian ini terjadi konvergen pada saat Iterasi mencapai 703 dengan nilai
fitness sebesar 29,71605976. Hasil dari program dengan parameter tersebut pasien pertama menghasilkan rata-rata selisih data aktual dengan data dari program sebesar -2,08% dan dapat mengurangi biaya
pengeluaran sampai dengan 6,85%.
Sedangkan pada pasien kedua
menghasilkan rata-rata selisih data aktual dengan data dari program sebesar -1,06% dan dapat mengurangi biaya pengeluaran sampai dengan 5,93%.
DAFTAR PUSTAKA
Diani. Cholissodin. & Suprapto. 2017. Optimasi
Komposisi Bahan Makanan bagi
Penderita Rawat Jalan Penyakit
Jantung dengan Menggunakan
Algoritme Particle swarm optimization (PSO). Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer. Vol. 1. No. 11. pp: 1385-1394.
Eliantara. Cholissodin. & Indriati. 2016.
Optimasi Pemenuhan Kebutuhan Gizi Keluarga Menggunakan Particle swarm
optimization. Politeknik Negeri
Banjarmasin. 9-10 Nopember 2016. Ganong. 2002. Buku Ajar Fisiologi Kedokteran.
Jakarta : EGC. pp: 255-256. 259. 261. HL Chen. at all. 2011. An Adaptive Fuzzy
K-Nearest Neighbor Method Based on Parallel Particle Swarm Optimation for Bankruptcy Prediction. Part 1 LNAI 6634 Page 249-264. Springer-Verlag Berlin Heidelberg.
Khusna R.A.. 2016. Implementasi Algoritme Particle Swarm Optimization Untuk Optimasi Pemerataan Guru Mata Pelajaran Di Kabupaten Lumajang. S1. Universitas Brawijaya. Malang.
Marini. F.. & Walczak. B.. 2015. Particle swarm optimization (PSO). A tutorial. IEEE Chemometrics and Intelligent La-boratory Systems. 13.
Misnadiarly. 2007. Obesitas sebagai Faktor Resiko beberapa Penyakit. Jakarta: Pustaka Obor Populer.
Rachman. Syarif. & Sari. 2012. Analisa dan Penerapan Metode Particle swarm
optimization Pada Optimasi
Penjadwalan Kuliah. Jurnal Teknik Informatika. Vol 1 September 2012. Program Studi Teknik Informatika Politeknik Caltex Riau. Pekanbaru. Riskesdas. 2013. Riset Kesehatan Dasar 2013.
Badan Penelitian Dan Pengembangan Kesehatan Kementerian Kesehatan RI. RS Dr.Cipto Mangunkusumo. 2004. Penuntun
Diet Edisi Baru. Jakarta: PT Gramedi Pustaka Utama.
Sengupta. & K. Das. 2017. Particle Swarm
Optimization Based Incremental
Classifier Design for Rice Disease Prediction. Computers and Electronics in Agriculture. pp: 443–451.