Page 1
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer e-ISSN: 2548-964X Vol. 1, No. 11, November 2017, hlm. 1321-1330 http://j-ptiik.ub.ac.id
Fakultas Ilmu Komputer
Universitas Brawijaya 1321
Implementasi Algoritma Particle Swarm Optimization (PSO) untuk
Optimasi Pemenuhan Kebutuhan Gizi Balita
Leni Istikomah1, Imam Cholissodin2, Marji3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya
Email: [email protected] , [email protected] , [email protected]
Abstrak
Balita adalah anak dengan rentang umur 1-5 tahun. Menurut Riskesdas, pada tahun 2007, 2010, dan
2013 presentase kasus kekurangan gizi cenderung meningkat terutama pada balita. Upaya perbaikan gizi
balita telah dilakukan pemerintah melalui Posyandu untuk memonitoring dan memberikan pelayan lebih
terhadap balita. Kebutuhan gizi orang Indonesia telah diatur dalam pedoman gizi seimbang yang
dikeluarkan oleh Kementerian Kesehatan RI, termasuk pedoman gizi untuk memenuhi kebutuhan gizi
pada balita. Namun, pada pedoman gizi tersebut hanya menyediakan nilai dari kandungan gizi setiap
bahan makanan sehingga menyulitkan petugas Posyandu untuk memberikan variasi menu agar sesuai
dengan kebutuhan gizi balita. Pada penelitian ini memberikan rekomendasi variasi bahan makanan
secara otomatis selama 7 hari 3 kali makan dengan menggunakan proses optimasi dari algoritma Particle
Swarm Optimization yang dapat memudahkan Posyandu dan orang tua balita dalam menyediakan
makanan sehari-hari sesuai kebutuhan gizi balita. Berdasarkan hasil pengujian, parameter yang paling
optimal adalah Jumlah Partikel=30, Wmin=0.4, Wmax= 0.7, C1=2, C2=1.5, Jumlah Iterasi=40 dan Batas
Atas angka permutasi sebesar 75 menghasilkan rata-rata selisih energi, protein, lemak dan karbohidrat
sebesar 16.04%, -8.08%, 2.85% dan 25.98% yang mampu menghemat pengeluaran orangtua balita
sebesar 28.56%.
Kata Kunci: Particle Swarm Optimization, optimasi, gizi, balita, bahan makanan.
Abstract
Toddlers are children with 1-5 years age range. According to Riskesdas, in the year 2007, 2010, and
2013 the percentage of cases of malnutrition tends to increase, especially in toddlers. In the fulfillment
of nutrients, one type of food alone is not enough so it requires a variety of food ingredients that contain
all the elements of nutrients. Efforts to improve child nutrition have been done by the government
through Posyandu to monitor and provide more servants to toddlers. Nutrition needs of Indonesian
people has been set in the guidelines of Pedoman Gizi Seimbang by the Ministry of Health Republic
Indonesia, including nutritional guidelines to meet the nutritional needs of infants. However, the
nutritional guidelines only provide the value of the nutrient content of each foodstuff, making it difficult
for Posyandu staff to provide menu variations to fit the needs of children according to their health
condition. In this research give recommendation of variation of foodstuff automatically by using
optimization process of Particle Swarm Optimization algorithm so that it can facilitate Posyandu and
parents of toddlers in providing daily food according to the nutritional needs of toddlers. Based on the
test results, the most optimal parameter is the number of particles = 30, Wmin = 0.4, Wmax = 0.7, C1
= 2, C2 = 1.5, Number of iterations = 40 and Upper Limit Permutation number of 75 resulting in average
energy, protein, fat and carbohydrate difference of 16.04%, -8.08%, 2.85% and 25.98% which can save
parents toddlers by 28.56%.
Keywords: Particle Swarm Optimization, optimization, nutrition, child, food.
1. PENDAHULUAN
Gizi adalah hal yang penting dan sangat
perlu diperhatikan pada setiap manusia.
Pemberian gizi yang cukup akan membantu
perkembangan dan pertumbuhan otak seorang
anak (Santoso, 2004). Seorang anak dikatakan
balita jika rentang umurnya 1-5 tahun (Mitiyani,
2010), istilah umumnya adalah anak dibawah
Page 2
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1322
Fakultas Ilmu Komputer, Universitas Brawijaya
lima tahun (Muaris, 2006).
Tingkat konsumsi yang diberikan pada
tubuh sangat mempengaruhi kesehatan gizi.
Tingkat Konsumsi pangan masyarakat Indonesia
cenderung dibawah standar (Kemenkes, 2014).
Pada tahun 2007, 2010, dan 2013 presentase
kasus kekurangan gizi cenderung meningkat.
Umumnya kelompok usia yang menderita
kurang gizi adalah balita. Kurang kalori, protein,
yodium, zat besi, vitamin, dan mineral
merupakan penyebab utama balita kurang gizi
(Santoso, 2004). Prevalensi anak balita kurang
gizi (underweight) tahun 2007 sebesar 18,4%,
tahun 2010 sebesar 17,9%, dan tahun 2013
sebesar 37,2% (Kemenkes, 2014). Sehingga
balita membutuhkan tingkat konsumsi yang
cukup agar terhindar dari kekurangan gizi.
Kekurangan gizi akan mengakibatkan
sulitnya memperbaiki kualitas bangsa (Widjaja,
2008). Upaya perbaikan gizi balita telah
dilakukan pemerintah dengan menyediakan
pelayanan kesehatan untuk monitoring
kesehatan balita yang dapat dilakukan di
posyandu. Posyandu merupakan perpaduan
antara pos keluarga berencana desa, pos
imunisasi, pos timbang, pos vaksinasi, dan pos
kesehatan desa yang dikenal dengan kegiatan
lima meja. Posyandu merupakan pos yang tepat
sebagai solusi mempertahankan kesehatan balita
(Santoso, 2004). Posyandu Gladiol 34 desa
Wringin Agung Kab. Jember memiliki program
untuk memenuhi gizi balita dalam bentuk saran
dan peringatan. Saran yang diberikan oleh
posyandu berupa bahan makanan yang dapat
dikonsumsi oleh balita tersebut agar menambah
berat badan dan meningkatkan kesehatan. Dalam
memberikan rekomendasi bahan makanan,
petugas harus mengingat dan membuka
pedoman bahan makanan yang dianjurkan oleh
DEPKES RI sehingga membutuhkan waktu
yang lama terkadang hanya diberikan menu-
menu atau bahan makanan yang dapat
dikonsumsi secara umum (tidak sesuai kondisi
balita). Adanya kendala tersebut, membuat
posyandu membutuhkan sistem cerdas yang
dapat membantu petugas dalam
merekomendasikan bahan makanan sesuai
kondisi kesehatan gizi balita.
Tubuh manusia membutuhkan zat gizi
yang diperlukan oleh tubuh untuk tumbuh dan
berkembang. Tumbuh berati bertambahnya
materi tubuh seorang anak dan berkembang
berati terjadinya kemajuan fungsi, kapasitas
fisiologis badan atau organ badan. Dalam
pemenuhan zat gizi, satu jenis makanan saja
tidak cukup sehingga memerlukan variasi bahan
makananan yang mengandung semua unsur zat
gizi (Alhamda & Sriani, 2014). Begitu pula
dengan balita yang merupakan masa emas
tumbuh dan berkembang yang memerlukan
begitu banyak zat bergizi.
Nilai kecukupan gizi yang diperlukan
oleh masyarakat Indonesia, termasuk balita
diatur dalam Tabel AKG (Angka Kecukupan
Gizi). Dalam hal ini, teknologi optimasi
pemenuhan kebutuhan gizi balita akan
membantu memberikan solusi dengan cara
menghitung kebutuhan gizi yang diperlukan oleh
setiap balita dengan acuan berat badan, tinggi
badan dan umur. Pengukuran pertumbuhan
Berat Badan(BB), Tinggi Badan(TB) dan umur
dapat membantu mengetahui status gizi balita
yang selanjutnya dapat diketahui variasi bahan
makanan dalam memenuhi kebutuhan gizi
balita(Santoso, 2004).
Berdasarkan uraian di atas, penulis
mengajukan penelitian dengan judul
“Implementasi Algoritma Particle Swarm
Optimization (PSO) Untuk Optimasi Pemenuhan
kebutuhan Gizi Balita”.
2. LANDASAN KEPUSTAKAAN
2.1 Balita
Balita merupakan kelompok anak dibawah
lima tahun yang memiliki tingkat pertumbuhan
dan perkembangan yang sangat cepat (Sutomo,
2014). Gambar 1 menunjukkan perkembangan
balita dari umur 0-5 tahun.
Gambar 1. Perkembangan Balita
Menurut RSCM dan PERSAGI (2003).
Penuntun DIIT Anak, terdapat beberapa
perhitungan dalam menentukan kebutuhan
energi dan zat gizi seorang Balita. Persamaan
untuk menghitung kebutuhan energi dan zat gizi
setiap Balita (1-5 tahun) dapat dilihat pada
Persamaan (1) untuk menghitung BBI (Berat
Badan Ideal), Persamanan (2) dan Persamaan (3)
untuk menghitung Kebutuhan Energi,
Persamaan (4) untuk menghitung Kebutuhan
Page 3
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1323
Fakultas Ilmu Komputer, Universitas Brawijaya
Protein, Persamaan (5) untuk menghitung
Kebutuhan Lemak dan Persamaan (6) untuk
menghitung Kebutuhan Karbohidrat.
𝐵𝐵𝐼 = (𝑢𝑚𝑢𝑟 ∗ 2) + 8 (1)
𝐾𝑒𝑏. 𝐸𝑛𝑒𝑟𝑔𝑖 = 100𝑘𝑎𝑙𝑜𝑟𝑖
𝑘𝑔(𝑢𝑚𝑢𝑟 1 − 3 𝑡𝑎ℎ𝑢𝑛) (2)
𝐾𝑒𝑏. 𝐸𝑛𝑒𝑟𝑔𝑖 = 90𝑘𝑎𝑙𝑜𝑟𝑖
𝑘𝑔(𝑢𝑚𝑢𝑟 4 − 5 𝑡𝑎ℎ𝑢𝑛) (3)
𝐾𝑒𝑏. 𝑃𝑟𝑜𝑡𝑒𝑖𝑛 = (10% ×𝐾𝑒𝑏. 𝐸𝑛𝑒𝑟𝑔𝑖) ÷ 4 (4)
𝐾𝑒𝑏. 𝐿𝑒𝑚𝑎𝑘 = (20%×𝑘𝑒𝑏. 𝑒𝑛𝑒𝑟𝑔𝑖) ÷ 9 (5)
𝐾𝑒𝑏. 𝐾𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡 = (70%×𝑘𝑒𝑏. 𝑒𝑛𝑒𝑟𝑔𝑖) ÷ 4 (6)
2.2 Prosedur Algoritma PSO
Ada beberapa prosedur yang harus
dilakukan untuk menerapkan Algoritma PSO
dalam menyelesaikan masalah menurut Santoso
(2011):
1. Insialisasi partikel dan membangkitkan
kecepatan secara random
Inisialisasi partikel dapat menggunakan
pengkodean yang bertujuan
menyederhanakan masalah. Dalam
pengkodean masalah, Sulistiowati (2016)
menggunakan angka permutasi dalam
merepresentasikan nilai dimensi dan
selanjutnya dimensi tersebut akan
dikonversi kedalam indeks bahan makanan.
Konversi nilai dimensi menjadi Indeks
Bahan Makanan ditunjukkan pada
Persamaan (7).
𝑖𝑛𝑑𝑒𝑘𝑠 𝑑𝑖𝑚𝑒𝑛𝑠𝑖 𝑘𝑒 − 𝑖 = ((𝑥 − 1) (𝑦−1
𝑧−1)) + 1 (7)
Keterangan:
𝑥 = jumlah anggota jenis bahan makanan
ke-i
𝑦 = nilai dimensi ke-i
𝑧 = batas atas angka permutasi
Jika diketahui jumlah anggota PH (Protein
Hewani) = 40 dan batas atas=65, maka
𝑖𝑛𝑑𝑒𝑘𝑠 𝑑𝑖𝑚𝑒𝑛𝑠𝑖 𝑘𝑒 − 1 = (40 − 1) (18 − 1
65 − 1) + 1
= 11
Bahan makanan yang direkomendasikan
pada dimensi 1 adalah bahan makanan
berjenis protein hewani dengan nomor
indeks 11.
2. Evaluasi partikel dengan cara
membandingkan nilai fitness
Nilai fitness digunakan sebagai acuan untuk
menentukan Gbest dan Pbest. Pada
penelitian yang dilakukan oleh Eliantara
(2016) nilai fitness menggunakan Persamaan
(8).
𝐹𝑖𝑡𝑛𝑒𝑠𝑠 = 1
𝑃𝑒𝑛𝑎𝑙𝑡𝑖𝐺𝑖𝑧𝑖. 𝑐𝑜𝑛𝑠𝑡1 +
1
𝑇𝑜𝑡𝑎𝑙 𝐻𝑎𝑟𝑔𝑎. 𝑐𝑜𝑛𝑠𝑡2 +
𝑣𝑎𝑟𝑖𝑎𝑠𝑖 (8)
const1 dan const2 merupakan penyeimbang
nilai fitness karena perhitungan variasi
menghasilkan angka puluhan. const1
digunakan untuk pembagian PenaltiGizi
sedangkan const2 digunakan untuk
pembagian total harga dengan nilai
konstanta const1 = 100000 dan konstanta
const2 = 1000000.
3. Mencari Pbest
Mencari Pbest dilakukan dengan cara
membandingkan nilai Pbest sebelum dan
sesudah Iterasi. Jika nilai fitness partikel
baru lebih besar dari fitness Pbest
sebelumnya maka partikel tersebut dijadikan
Pbest terbaru.
4. Mencari Gbest sebagai partikel terbaik dari
seleruh anggota swarm
Nilai Gbest didapatkan dari nilai fitness
Pbest tertinggi.
5. Memperbarui Kecepatan (Velocity) dan
posisi partikel
Nilai velocity didapatkan dari penjumlahan
momentum dan pengalaman yang diambil
dari Gbest dan Pbest. Momentum
didapatkan dengan cara mengkalikan bobot
inersia dan kecepatan sebelumnya. Untuk
menentukan nilai velocity dapat melihat
Persamaan (9).
Untuk menghitung bobot inersia dapat
dilihat pada Persamaan (10).
𝑉𝐽𝑘 = 𝑊𝑉𝐽
𝑘 + 𝐶1𝑟𝑎𝑛𝑑1× (𝑃𝑏𝑒𝑠𝑡𝑗 − 𝑋𝑗𝑘) + 𝐶2𝑟𝑎𝑛𝑑2×
(𝐺𝑏𝑒𝑠𝑡𝑗 − 𝑋𝑗𝑘) (9)
𝑊 = 𝑊𝑚𝑎𝑥 −𝑊𝑚𝑎𝑥−𝑊𝑚𝑖𝑛
𝑖𝑡𝑒𝑟 𝑚𝑎𝑥𝑥 𝑖𝑡𝑒𝑟 (10)
Keterangan:
𝑉𝐽𝑘 = velocity dimensi ke-j pada Iterasi
ke-k
𝑊= bobot inertia
C1 = nilai koefisien akselerasi ke-1
C2= nilai koefisiean Akselerasi ke-2
𝑟𝑎𝑛𝑑 = nilai random [0, 1]
Xjk= posisi dimensi ke-j pada Iterasi ke-k
Pbestj= nilai Pbest dari dimensi ke-j
Posisi terbaru dapat diperoleh dari hasil
penjumlahan Posisi sebelumnya dengan
Kecepatan baru. Menghitung posisi terbaru
menggunakan Persamaan (11) dibawah ini:
Page 4
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1324
Fakultas Ilmu Komputer, Universitas Brawijaya
𝑋𝑗𝑘+1 = 𝑋𝑗
𝑘 + 𝑉𝑗𝑘+1
(11)
6. Melanjutkan langkah ke-2 jika stopping
condition belum terpenuhi
3. METODOLOGI
Dalam melakukan penelitian ini tahap
pertama adalah melakukan studi literatur yang
berhubungan dengan objek penelitian. Tahap
selanjutnya adalah pengumpulan data, analisis
kebutuhan, perancangan sistem, implementasi,
pengujian dan analisis. Tahap terakhir adalah
penarikan kesimpulan.
Data Balita diperoleh dari Posyandu Jember
dan wawancara pakar ahli gizi balita (Ummu
Ditya Erliana, S.Gz., M.Sc.).
Data daftar harga didapatkan berdasarkan
survey dari penelitian sebelumnya oleh Felia
Eliantara tahun 2016.
Perancangan sistem secara umum
ditunjukkan pada Gambar 2 yang terdiri dari
Input, Proses dan Ouput. Proses Implementasi
Algoritma Particle Swarm Optimization (PSO)
untuk Pemeneuhan Kebutuhan Gizi Balita dapat
dilihat pada Gambar 3.
Gambar 2. Perancangan Sistem
Gambar 3. Diagram Alir Penyelesaian Optimasi
Pemenuhan Kebutuhan Gizi Balita menggunakan
algoritma PSO
3.1 Input Data
Data yang dibutuhkan dalam proses
penyelesaian Optimasi adalah menggunakan
data balita dan parameter PSO. Contoh data
balita dapat dilihat pada Tabel 1. Data Balita dan
Parameter PSO dapat dilihat pada Tabel 2.
Parameter PSO.
Tabel 1. Data Balita
Nama Umur
(tahun)
BB
(kg)
TB
(cm)
Celsi 3.6 15.5 96
Input
Nama,
umur, berat
badan,
tinggi
badan
Proses
PSO
Output
Rekomendasi
Bahan
Makanan
Hitung Kebutuhan Gizi Balita
Mulai
Data Balita, Parameter
PSO
Inisialisasi Populasi Awal
Update Kecepatan
Update Posisi
dan Hitung fitness
Selesai
Update Pbest
Update Gbest
Partikel Terbaik
i
For i= 1 to
itermax
Page 5
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1325
Fakultas Ilmu Komputer, Universitas Brawijaya
Tabel 2. Parameter PSO
Jumla
h
Partike
l
C
1 C2 rand1 rand2
Iterm
ax Wmin
Wm
ax
Bat
as
Atas
2 2 2 0.9342 0.396
3
2 0.4 0.7 65
3.2 Hitung Kebutuhan Gizi
Sebelum menghitung kebutuhan gizi, perlu
diketahui Berat Badan Ideal seorang balita.
Contoh perhitungan Berat Badan Ideal:
𝐵𝐵𝐼 = (3.6×2) + 8 = 15.2 𝑘𝑔
Setelah mendapatkan BBI, kebutuhan energi
balita dapt dihitung dengan Persamaan (2).
Berikut ini contoh perhitungan kebutuhan energi
dan kebutuhan gizi balita:
𝐾𝑒𝑏. 𝐸𝑛𝑒𝑟𝑔𝑖 = 100𝑘𝑎𝑙𝑜𝑟𝑖
𝑘𝑔 15.2 𝑘𝑔
= 1520 𝑘𝑎𝑙𝑜𝑟𝑖
𝐾𝑒𝑏. 𝑃𝑟𝑜𝑡𝑒𝑖𝑛 = (10%×1520 𝑘𝑎𝑙𝑜𝑟𝑖) ÷ 4= 38 𝑔𝑟𝑎𝑚
𝐾𝑒𝑏. 𝐿𝑒𝑚𝑎𝑘 = (20%×1520 𝑘𝑎𝑙𝑜𝑟𝑖) ÷ 9= 33.8 𝑔𝑟𝑎𝑚
𝐾𝑒𝑏. 𝐾𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡 = (70%×1520 𝑘𝑎𝑙𝑜𝑟𝑖) ÷ 4= 266 𝑔𝑟𝑎𝑚
3.3 Insialisasi Populasi Awal
3.3.1 Inisialisasi Kecepatan Awal
Setiap partikel memiliki kecepatan dan
kecepatan awal setiap partikel di set dengan nol.
3.3.2 Inisialisasi Partikel
Inisialisasi Partikel merupakan cara untuk
mendapatkan nilai dimensi dan untuk
menyederhanakan masalah. Pada penelitian ini
masalah direpresentasikan dalam bilangan
permutasi dimana setiap bahan makanan
diwakili satu dimensi oleh setiap partikel
sehingga terdapat 189 dimensi berdasarkan dari
7 hari 3 kali makan dan 9 jenis bahan makanan.
Jenis Bahan Makanan berjumlah 197 yaitu
berdasarkan jenis bahan makanan Protein
Hewani sebanyak 40, Protein Nabati sebanyak
13, Lemak sebanyak 12, Karbohidrat sebanyak
17, Sayuran jenis A sebanyak 10, Sayuran Jenis
B sebanyak 52, Gula sebanyak 6, Buah sebanyak
40 dan Susu sebanyak 7. Contoh nilai dimensi
dapat dilihat pada Tabel 3.
Tabel 3. Contoh Inisialisasi Partikel
Partikel Nilai Dimensi Fitness
X1 PH PN … SA SB 186.72
18 12
25 60
11 5
60 3
60 46
49 33
X2 46 30
59 57 190.5
12 38
11 3
43 50
5 36
3.3.3 Inisialisasi Pbest dan Gbest
Pada awal Iterasi, nilai Pbest disamakan
dengan posisi awal partikel dan nilai Gbest
didapatkan dari nilai fitness Pbest yang tertinggi.
Contoh inisilisasi Pbest dan Gbest dapat dilihat
pada Tabel 4 dan 5.
Tabel 4. Contoh Inisialisasi Pbest
Pbest Nilai Dimensi Fitness
Pbest1
18 12 … 25 60
186.72 11 5 60 3
60 46 49 33
Pbest2
46 30 59 57
190.5 12 38 11 3
43 50 5 36
Tabel 5. Contoh Inisialisasi Gbest
Gbest Nilai Dimensi Fitness
Gbest1
46 30 … 59 57
190.5 12 38 11 3
43 50 5 36
3.4 Update Kecepatan
Untuk menghitung kecepatan baru dapat
menggunakan Persamaan (9), namun sebelum
menghitung kecepatan baru perlu diketahui nilai
w yang dapat dilihat pada Persamaan (10).
Berikut ini contoh update kecepatan dan
menghitung nilai w pada iterasi=1:
𝑊 = 0.7 −0.7 − 0.4
2𝑥 1 = 0.55
𝑉11 = 𝑊𝑉1
1 + 𝐶1𝑟𝑎𝑛𝑑1× (𝑃𝑏𝑒𝑠𝑡1 − 𝑋11) +
𝐶2𝑟𝑎𝑛𝑑2× (𝐺𝑏𝑒𝑠𝑡1 − 𝑋11)
𝑉11 = 0.55 ∗ 0 + 2 ∗ 0.9342×(18 − 18) + 2
∗ 0.3963×(46 − 18) = 22.2
Tabel 6 menunjukkan hasil perhitungan
Update Kecepatan pada partikel X1 dan X2.
Tabel 6. Hasil Perhitungan Update Kecepatan
Iterasi =1
V1
22.2 14.3 … 26.9 -2.38
0.79 26.16 -39 0
-13.5 3.17 -35 2.38
Page 6
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1326
Fakultas Ilmu Komputer, Universitas Brawijaya
V2
0 0 0 0
0 0 0 0
0 0 0 0
3.5 Update Posisi dan Hitung Fitness
Dalam menghitung update posisi
menggunakan Persamaan (11) contoh
menghitung update posisi:
𝑋𝑗𝑘+1 = 𝑋𝑗
𝑘 + 𝑉𝑗𝑘+1
𝑋10+1 = 𝑋1
0 + 𝑉10+1 = 18 + 22 = 40
Hasil update posisi dapat dilihat pada Tabel
7 dibawah ini:
Tabel 7. Contoh Hasil Update Posisi
Iterasi =1
X1
22.2 14.3 … 26.9 -2.38
0.79 26.16 -39 0
-13.5 3.17 -35 2.38
X2
46 30 59 57
12 38 11 3
43 50 5 36
Jika penalti dan total harga Partikel X1 yang
didapat adalah 721.1 dan 40886.63. Penalti dan
Total Harga Partikel X2 adalah 710.725 dan
50501.59. Sedangkan variasi Partikel X1 dan
Partikel X2 adalah 26 dan 30, maka:
𝐹𝑖𝑡𝑛𝑒𝑠𝑠(𝑥1,1) = 1
721.07100000 +
1
40886.631000000 + 28
= 191.13
𝐹𝑖𝑡𝑛𝑒𝑠𝑠 (𝑥2,1) = 1
710.725100000 +
1
50501.591000000 + 30
= 190.50
Setelah melakukan update posisi dapat
melakukan Normalisasi Posisi, digunakan agar
perpindahan posisi tidak melebihi range yang
telah ditentukan. Pada contoh perhitungan ini
menggunakan batas bawah = 1 dan batas atas =
65, sehingga apabila ada perpindahan posisi
yang melebihi batas atas maka di set menjadi 65
dan apabila kurang dari batas bawah maka posisi
di set menjadi 1.
3.6 Update Pbest dan Gbest
Nilai Pbest baru didapatkan dengan cara
membandingkan nilai fitness partikel baru dan
fitness Pbest sebelumnya. Nilai fitness terbesar
dijadikan sebagai Gbest terbaru. Contoh hasil
Update Pbest pada iterasi=1 dan Update Gbest
pada iterasi=1 dapat dilihat pada Tabel 8 dan
Tabel 9 yang membutuhkan Nilai fitness terbaru
daru Update Posisi pada iterasi=1.
Pada Tabel 9 menunjukkan nilai fitness
terbesar adalah dari Pbest1, sehingga Gbest
iterasi=1 adalah nilai dimensi dari Pbest1.
Tabel 8. Hasil Update Pbest
Iterasi=1
Pbest Nilai Dimensi (posisi) Fitnes
s
Pbest
1
40.2 26.3 … 51.
9
57.6
2
191.1
3 11.8
31.1
6 …
21.
2 3
46.5
3 49.2 … 14 35.4
Pbest
2
46 30 … 59 57
190.5 12 38 … 11 3
43 50 … 5 36
Tabel 9. Hasil Update Gbest
Iterasi=1
Gbest Nilai Dimensi (posisi) Fitness
Gbest1
46 30 … 59 57
190.5 12 38 … 11 3
43 50 … 5 36
3.7 Hasil Optimasi
Hasil optimasi didapatkan dari Gbest pada
iterasi terakhir, dapat dilihat pada Tabel 10 Hasil
Optimasi.
Tabel 10. Hasil Optimasi
Hari
ke-
Waktu
Makan
Nama
Bahan
Makanan
Jumlah
Keb.
Berat (g)
Harg
a
Total
Harga
Perhari
1 Pagi Daging
Kambing
10 1080 16787.
7
Kacang
Tanah
Kupas
3.75 137.5
Minyak Kelapa
3.75 100.5
Nasi
Ketan
Putih
75 1050
Labu Air 75 450
Daun
Kecipir
75 0
Siang Putih Telur
Ayam
26 468
Kacang Tolo
8 120
Keju
Krim
18 3924
Nasi Ketan
Hitam
120 1920
Slada 120 1440
Daun 120 0
Page 7
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1327
Fakultas Ilmu Komputer, Universitas Brawijaya
Pepaya
Mala
m
Ikan
Kakap
12.25 980
Kacang
Tolo
7 105
Minyak
Kelapa
5.25 140.7
Krekers 52.5 2362.
5
Lobak 105 2509.
5
Daun Pepaya
105 0
2 Pagi Usus Sapi 12.5 375 24098.9
3 Oncom 10 350
Mayonnaise
15 450
Makaroni 37.5 1125
Ketimun 75 450
Bit 75 6000
Siang Otak 14 420
Pete Segar 22 220
Minyak
Zaitun
6 900
Roti Putih 84 4830
Slada 120 1440
Daun
Mangkoka
n
120 0
Malam Telur Ayam
19.25 346.5
Kacang
Kedele
8.75 87.5
Mayonnais
e
21 630
Krekers 52.5 2362.
5
Kangkung 105 2799.
93
Kol 105 1312.
5
Total Harga 40886.6
3
Halaman Hasil Optimasi menunjukkan hasil
dari proses perhitungan dari algortima PSO.
Halaman Hasil Optimasi ditunjukkan pada
Gambar 4.
Gambar 4. Halaman Hasil Optimasi
Pada halaman hasil Optimasi akan
mendapatkan nilai fitness tertinggi dan partikel
yang terbaik.
Halaman Rekomendasi Bahan Makanan
menampilkan hasil rekomendasi dari partikel
terbaik berupa daftar nama bahan makanan
selama 7 hari untuk 3 kali makan yaitu pagi,
siang dan malam. Gambar 5 menunjukkan
Halaman Rekomendasi Bahan Makanan.
Gambar 5. Halaman Rekomendasi Bahan Makanan
4. HASIL DAN PEMBAHASAN
4.1 Hasil Pengujian Jumlah Partikel
Semakin banyak jumlah partikel maka
semakin tinggi nilai fitness dan semakin lama
waktu komputasi yang dihabiskan.
Gambar 6. Grafik Hasil Pengujian Jumlah Partikel
Gambar 7. Gafik Hasil Waktu Komputasi
berdasarkan Jumlah Partikel
Berdasarkan Gambar 6 dan 7 dapat diambil
kesimpulan bahwa jumlah partikel 30
merupakan jumlah partikel paling optimal
dengan waktu komputasi sebesar 1.44 menit atau
sebesar 1 menit 44 detik yang tidak terlalu kecil
jumlah partikelnya dan tidak terlalu lama waktu
komputasinya.
1200
1280
1360
1440
1520
5 10 15 20 25 30 35 40 45 50
Rat
a-r
ata
Fitn
ess
Jumlah Partikel
Pengujian Jumlah Partikel
0,15
0,65
1,15
1,65
2,15
2,65
5 10 15 20 25 30 35 40 45 50
Rat
a-r
ata
Wak
tu (
men
it)
Jumlah Partikel
Pengujian Jumlah Partikel
Page 8
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1328
Fakultas Ilmu Komputer, Universitas Brawijaya
4.2 Hasil Pengujian Kombinasi Wmin dan
Wmax
Semakin besar rentang selisih antara nilai
Wmin dan Wmax dapat menyebabkan nilai W
semakin besar, sehingga daya eksplorasi swarm
akan menyuluruh yang dapat memberikan solusi
terbaik. Kombinasi Wmin dan Wmax yang
dianggap dapat memberikan solusi terbaik untuk
penyelesaian masalah adalah 0.4 dan 0.7. Grafik
Hasil Pengujian Kombinasi Wmin dan Wmax
dapat dilihat pada Gambar 8.
Gambar 8. Grafik Hasil Pengujian Kombinasi
Wmin dan Wmax
4.3 Hasil Pengujian Koefisien Akselerasi
Pengujian Koefisien Akselerasi digunakan
untuk mengetahui pengaruhnya terhadap nilai
fitness. Grafik hasil pengujian dapat dilihat pada
Gambar 9.
Gambar 9. Grafik Hasil Pengujian Koefisien
Akselerasi
Berdasarkan Grafik diatas, nilai C1 dan C2
sebesar 2 dan 1.5 merupakan koefisien yang
cukup optimal untuk digunkan dalam
menyelesaikan permasalahan. Koefisien tersebut
dianggap dapat mempengaruhi nilai fitness yang
sangat tinggi, sehingga dapat membuat
eksplorasi pencarian semakin optimal.
4.4 Hasil Pengujian Jumlah Iterasi
Semakin banyak jumlah iterasi maka
semakin tinggi nilai fitness. Dalam pemilihan
jumlah iterasi yang optimal dapat
mempertimbangkan waktu komputasi yang
diperlukan dalam proses optimasi, karena dalam
percobaan ini waktu komputasi paling cepat
sebesar 1.36 menit atau 1 menit 36 detik.
Gambar 10. Grafik Hasil Pengujian Jumlah Iterasi
Gambar 11. Gafik Hasil Waktu Komputasi berdasarkan Jumlah Partikel
Berdasarkan Gambar 10 dan 11
menghasilkan jumlah iterasi optimal sebesar 40
dengan waktu komputasi selama 6 menit 52
detik yang dapat dikatakan, tidak terlalu lama
apabila dibandingkan dengan waktu konsultasi
pada dokter/ahli gizi atau konsultasi pada
petugas Posyandu.
4.5 Hasil Pengujian Batas Atas Angka
Permutasi
Berdasarkan hasil pengujian maka
didapatkan batas angka permutasi yang optimal
adalah 75. Gambar 12 menunjukkan Grafik
Hasil Pengujian Batas Atas Angka Permutasi.
1200
1300
1400
1500
Rat
a-ra
ta F
itn
ess
Wmax;Wmin
Pengujian Kombinasi Wmin dan Wmax
1250
1275
1300
1325
1350
1375
1400
1;1 1;1,5 1;2 1,5 ; 1 1,5;1,5 1,5;2 2;1 2;1,5 2;2
Rat
a-r
ata
Fitn
ess
C1;C2
Pengujian Koefisien Akselerasi
1350
1450
1550
1650
1750
10 20 30 40 50 60 70 80 90 100
Rat
a-ra
ta F
itn
ess
Jumlah Iterasi
Pengujian Jumlah Iterasi
1,30
3,80
6,30
8,80
11,30
13,80
10 20 30 40 50 60 70 80 90 100Rat
a-ra
ta W
aktu
(m
enit
)
Jumlah Iterasi
Pengujian Jumlah Iterasi
Page 9
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1329
Fakultas Ilmu Komputer, Universitas Brawijaya
Gambar 12. Grafik Hasil Pengujian Batas Atas
Angka Permutasi
Semakin besar batas angka permutasi akan
mengakibatkan nilai fitness yang semakin kecil.
Hal ini dikarenakan nilai konversi indeks yang
digunakan mengandung nilai lebih besar dari
jumlah terbesar indeks bahan makanan yaitu 52,
sehingga dapat mengurangi total variasi.
4.6 Hasil Analisis Global
Berdasarkan parameter optimal, dilakukan
pengujian terhadap 10 data balita yang diambil
secara acak yang dapat dilihat pada Tabel 11.
Selisih kebutuhan gizi aktual dengan kandungan
gizi pada makanan ditunjukkan pada Tabel 12.
Rata-rata harga per hari didapatkan dari Total
Harga dibagi 7 hari, selisih harga dapat dihitung
selisih antara rata-rata harga per hari pada sistem
dengan rata-rata harga per hari yang dikeluarkan
oleh orangtua balita. Rata-rata yang harus
dikeluarkan oleh para orangtua hasil
rekomendasi sistem adalah sebesar
Rp.25,003.63 dan rata-rata Total Harga yang
harus dikeluarkan selama 7 hari adalah
Rp.175,025.44.
Tabel 11. Kebutuhan Gizi Aktual
Nama Umur
(tahun) Energi (kkal)
Protein
(gram)
Lemak (gram)
Karbohidrat
(gram)
Balita 1 5.4 1692 42.3 37.6 296.1
Balita 2 3.5 1500 37.5 33.3 262.5
Balita 3 3.8 1560 39.0 34.7 273.0
Balita 4 5 1620 40.5 36.0 283.5
Balita 5 3.1 1420 35.5 31.6 248.5
Balita 6 4.9 1620 40.5 36.0 283.5
Balita 7 5.3 1674 41.9 37.2 293.0
Balita 8 4 1440 36.0 32.0 252.0
Balita 9 3.3 1460 36.5 32.4 255.5
Balita 10
5.5 1710 42.8 38.0 299.3
Tabel 12. Kandungan Gizi Bahan Makanan
Rekomendasi Sistem
Nama
Selisih
Energi
(kkal)
Selisih
Protei
n
(gram)
Selisih
Lemak
(gram)
Selisih
Karbohi
drat
(gram)
Selisih
Harga
Balita 1 238.25
(14.08
%)
-7.2
(-
17.02
%)
1
(2.66%
)
71.5
(24.15%)
8,360.57
(23.89%
)
Balita 2 430.2
(28.68
%)
3.5
(9.33%
)
7.0333
33
(21.10
%)
92.5
(35.24%)
9,203.92
(26.30%
)
Balita 3 485.9
(31.15
%)
5
(12.82
%)
8.1666
67
(23.56
%)
103
(37.73%)
12,635.0
0
(36.10%
)
Balita 4 80.4
(4.96%
)
-12.9
(-
31.85
%)
-5.8
(-
16.11
%)
51.9
(18.31%)
8,343.71
(23.84%
)
Balita 5 356.25
(25.09
%)
1.5
(4.23%
)
5.4555
56
(17.29
%)
78.5
(31.59%)
11,113.7
1
(31.75%
)
Balita 6 42.9
(2.68%
)
-11.45
(-
28.59
%)
-10.1
(-
28.37
%)
53.6
(19.12%)
9,040.71
(25.83%
)
Balita 7 206.9
(12.36
%)
1.85
(4.42%
)
0.4
(1.08%
)
69.95
(23.88%)
13,977.0
5
(39.93%
)
Balita 8 -10.7
(-
0.74%)
-14
(-
38.89
%)
-4.3
(-
13.44
%)
29
(11.51%)
8,051.26
(23.00%
)
Balita 9 393.9
(26.98
%)
2.2
(6.03%
)
5.9444
44
(18.32
%)
84.6
(33.11%)
8,047.14
(22.99%
)
Balita
10
258.6
(15.12
%)
-0.55
(-
1.29%)
0.9
(2.37%
)
75.35
(25.18%)
11,191.4
3
(31.97%
)
Rata-
rata
248.26
(16.04
%)
-3.21
(-
8.08%)
0.87
(2.85%
)
70.99
(25.98%)
9,996.45
(28.56%
)
5. KESIMPULAN
1. Implementasi algoritma PSO untuk optimasi
Pemenuhan Kebutuhan Gizi Balita dapat
dilakukan dengan cara inisialisasi partikel
awal secara random, setelah mendapatkan
nilai partikel dapat melakukan konversi nilai
partikel kedalam indeks bahan makanan,
hasil konversi digunakan untuk mengetahui
nama bahan makanan, berat dan harga.
Setelah tahap-tahap tersebut maka dapat
dhitung fitness, Update Kecepatan, Update
Posisi, Update Pbest dan Gbest. Gbest pada
iterasi terakhir dijadikan sebagai Hasil
Optimasi.
2. Parameter Algoritma PSO sangat
berpengaruh terhadapat hasil Optimasi
Pemenuhan Gizi Balita. Parameter PSO
yang dianggap optimal dalam
menyelesaikan masalah adalah jumlah
partikel=30, Wmin=0.4, Wmax= 0.7, C1=2,
1350
1400
1450
1500
Rat
a-ra
ta F
itn
ess
Range
Pengujian Batas Atas Angka Permutasi
Page 10
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 1330
Fakultas Ilmu Komputer, Universitas Brawijaya
C2=1.5, Jumlah iterasi=40, Batas Atas angka
permutasi sebesar 75. Berdasarkan
parameter optimal dapat menghasilkan rata-
rata selisih energi, protein, lemak dan
karbohidrat sebesar 16.04%, -8.08%, 2.85%
dan 25.98% yang mampu menghemat
pengeluaran orangtua balita sebesar 28.56%.
DAFTAR PUSTAKA
Alhamda, S., & Sriani, Y. 2014. Buku Ajar Ilmu
Kesehatan Masyarakat (IKM).
Yogyakarta: Deepublish.
Almatsier, Sunita. 2009. Prinsip Dasar Ilmu
Gizi.
Felia, Eliantara, Cholissodin, I., & Indriati. 2016.
Implementasi Algoritma Particle swarm
Optimization dalam Optimasi Pemenuhan
Kebutuhan Gizi Keluarga.S1.Universitas
Brawijaya.
Kementerian Kesehatan. 2013. Peraturan
Menteri Kesehatan Republik Indonesia
No.75 Tahun 2013. [Online]. Tersedia di:
<http://gizi.depkes.co.id> [Diakses pada
tanggal 1 November 2016].
Mahmudy, W.F. 2013. Modul Algoritma Evolusi
Semester Ganjil 2013-2014. Universitas
Brawijaya Malang.
Mitiyani. 2010. Buku Saku Ilmu Gizi. Jakarta:
Tim.
Muaris, H. 2006. Sarapan Sehat Untuk Anak
Balita. Jakarta : PT Gramedia Pustaka
Utama.
Perkembangan Balita. [Online]. Tersedia di:
http://www.bayi7.com/perkembangan-
balita-usia-1-5-tahun/ [Diakses pada
tanggal 1 Mei 2017].
Permenkes RI. 2014. Pedoman Gizi Seimbang.
Rumah Sakit RSCM dan PERSAGI. 2003.
Penuntun DIIT Anak. Jakarta : PT
Gramedia Pustaka Utama.
Santosa, Budi & Willy, Paul. 2011. Metoda
Metaheuristik, Konsep dan Implementasi.
Surabaya: Graha Ilmu.
Santoso, Soegeng, Dr., M.Pd & Anne Lies Ranti,
Dra. M.Pd. Kesehatan dan Gizi. Jakarta:
PT Asdi Mahasatya.
Sulistiowati, F., Cholissodin, I., & Marji. 2016.
Optimasi Penyusunan Bahan Makanan
Sehat untuk Pemenuhan Gizi Keluarga
dengan Algoritma Evolution Strategies.
S1. Universitas Brawijaya Malang.
Sutomo, B. 2010. Menu Sehat Alami untuk
Batita dan Balita. Jakarta: Demedia.
Widjaja, dr., W.C. 2008. Gizi tepat untuk
perkembangan otak dan kesehatan balita.
Kawan Pustaka.