Top Banner
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 Istikomah 1 , Imam Cholissodin 2 , Marji 3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1 [email protected], 2 [email protected], 3 [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
10

Implementasi Algoritma Particle Swarm Optimization (PSO ...

Oct 15, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Implementasi Algoritma Particle Swarm Optimization (PSO ...

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: Implementasi Algoritma Particle Swarm Optimization (PSO ...

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: Implementasi Algoritma Particle Swarm Optimization (PSO ...

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: Implementasi Algoritma Particle Swarm Optimization (PSO ...

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: Implementasi Algoritma Particle Swarm Optimization (PSO ...

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: Implementasi Algoritma Particle Swarm Optimization (PSO ...

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: Implementasi Algoritma Particle Swarm Optimization (PSO ...

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: Implementasi Algoritma Particle Swarm Optimization (PSO ...

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: Implementasi Algoritma Particle Swarm Optimization (PSO ...

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: Implementasi Algoritma Particle Swarm Optimization (PSO ...

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.