Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 1, No. 11, November 2017, hlm. 1385-1394
e-ISSN: 2548-964X http://j-ptiik.ub.ac.id
Optimasi Komposisi Bahan Makanan bagi Pasien Rawat Jalan Penyakit Jantung dengan Menggunakan Algoritme Particle Swarm Optimization (PSO) I Gusti Ayu Putri Diani1, Imam Cholissodin2, Suprapto3 Program StudiTeknikInformatika, FakultasIlmuKomputer, UniversitasBrawijaya Email:
[email protected],
[email protected],
[email protected] Abstrak Organ pada tubuh yang paling penting dan berfungsi sebagai pompa darah adalah jantung. Penyakit jantung dapat diderita semua orang disebabkan oleh gaya hidup yang tidak sehat. Sebagian besar kematian menurut laporan World Health Organization (WHO), disebabkan oleh penyakit jantung yang menyebabkan 17,7 juta kematian atau kurang lebih 45%. Bagi orang yang memiliki penyakit jantung, pengaturan pola makan juga sama pentingnya dengan orang yang tidak memiliki penyakit jantung agar dapat menjadi sehat kembali. Pada penelitian ini akan dilakukan pemberian bahan makanan untuk pasien penderita penyakit jantung yang sudah dapat pulang ke rumah atau pasien rawat jalan. Penelitian yang dilakukan adalah optimasi bahan makanan menggunakan algoritmeparticle swarm optimization dimana hasil yang akan ditampilkan oleh program ini adalah usia, berat badan, tinggi badan beserta bahan makanan yang sesuai dengan kebutuhan pasien rawat jalan dengan harga yang seminimal mungkin dari setiap bahan makanannya. Algoritme ini terdiri dari tahap inisialisasi awal, perhitungan fitness, penentuan pbest dan gbest, perhitungan kecepatan dan posisi partikel. Hasil akhir dari penelitian ini, didapatkan bahwa parameter yang optimal diantaranya adalah jumlah partikel sebanyak 40, nilai ωmax sebesar 0,75, nilai ωmin sebesar 0,25, nilai C1 sebesar 2, nilai C2 sebesar 2 dan jumlah iterasi maksimum sebanyak 80. Hasil dari program dengan parameter tersebut menghasilkan menghasilkan rata-rata selisih data aktual dengan data dari program sebesar 4,67%.Selain itu dapat mengurangi biaya pengeluaran sampai dengan 14,68%. Kata kunci: optimasi, particle swarm optimization, bahan makanan, penyakit jantung, rawat jalan, diet jantung Abstract Heart is an organ which is very important in the body that pumps blood. Many people can suffered heart disease caused by unhealthy lifestyle. Most of the deaths, according to the report of the World Health Organization (WHO), caused by cardiovascular disease that cause 17.7 million or approximately 45%. For people who suffers with heart disease, take care of food consumption is important in order to be healthy again. This research will be conducted on the giving food ingredients for the patients who suffers cardiovascular disease whose can continue their treatment in their home.Research conducted is optimizing the composition of the food ingredients for cardiovascular disease outpatient by using particle swarm optimization algorithm which the results will be displayed in the program is data such as age, weight, height, along with recommended of food ingredients and minimum price of each food ingredients.This algorithm consists stages of initialize particles, calculating fitness value, define pbest and gbest value, calculating velocity and position of particles. The results from this research, it is found that the optimal parameters are the number of particles are 40 particles, the value of ω max is 0,75, the value of ωmin is 0,25, the value of C1 is 2, the value of C2 is 2 and the number of maximum iterations are 80 iterations. The results of the program using these parameters resulted in an average difference from actual patients data and the results from the program of 4,67%. Moreover, the result of this research can reduce expenses up to 14,68%. Keywords: optimization, particle swarm optimization, food ingredients, cardiovascular disease,
outpatient cardiovascular disease, cardiac diet
Fakultas Ilmu Komputer Universitas Brawijaya
1385
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
1. PENDAHULUAN Jantung adalah organ pada tubuh yang berfungsi sebagai pompa darah. Dengan denyutan pada jantung, jantung memompa darah yang membawa banyak oksigen dan zat makanan ke seluruh tubuh manusia termasuk pembuluh darah arteri koroner, serta darah membawa oksigen yang kurang akan menuju ke paru-paru untuk mengambil oksigen(Soeharto, 2004). Di dalam jantung terdapat penyakit jantung seperti penyakit jantung koroner, gagal jantung dan lainnya. Penyakit jantung adalah salah satu penyakit yang banyak diderita oleh semua orang (Abdul, 2007). Menurut laporan tahun 2017 oleh World Health Organization (WHO), pada tahun 2015, diperkirakan 40 juta kematian terjadi karena penyakit tidak menular atau Noncommunicable Diseases (NCD), setara dengan 70% dari jumlah seluruh kematian 56 juta secara global. Sebagian besar kematian tersebut disebabkan oleh penyakit tidak menular, salah satunya ialah penyakit jantung yang menyebabkan 17,7 juta kematian atau kurang lebih 45% dari semua kematian akibat penyakit tidak menular. Bagi orang yang menderita penyakit jantung, gaya hidup dan pola makan harus diperhatikan dengan serius. Sulitnya mengatur pola makan yang dikonsumsi dimana makanan harus memenuhi kebutuhan gizi penderita tanpa mengganggu dan memicu bertambah buruknya keadaan jantung. Bahan makanan yang diberikan bagi pasien harus dibatasi dengan bahan makanan yang dianjurkan, bahan makanan yang tidak dianjurkan dan cara mengolahnya. Pemberian bahan makanan dibagi berdasarkan tipe penyakit jantung yang diderita dan tingkat parahnya penyakit tersebut dimana kategori tersebut dibagi menjadi 4 macam tipe diet yaitu Diet Jantung 1, Diet Jantung 2, Diet Jantung 3 dan Diet Jantung 4 (Almatsier, 2004). Pada penelitian ini akan dilakukan pemberian bahan makanan untuk pasien penderita penyakit jantung yang termasuk ke dalam Diet Jantung 4 yaitu pasien yang sudah berangsur sehat atau rawat jalan tetapi masih belum diperbolehkan untuk makan makanan tertentu dan asupan makanan yang dimakan masih harus diawasi. Dipilihnya Diet Jantung 4 dikarenakan pada pemilihan komposisi bahan makanan, untuk penderita Diet Jantung 4 atau disebut juga pasien rawat jalan dapat bervariasi. Selain itu, pada salah satu rumah sakit, Fakultas Ilmu Komputer, Universitas Brawijaya
1386
pasien penyakit jantung rawat jalan hanya diberikan berat bahan makanan dalam 1 hari dengan frekuensi makan sebanyak 3 kali. Sehingga agar mendapatkan bahan makanan yang sesuai dengan keadaan pasien, maka pasien harus kembali ke rumah sakit untuk melakukan pemeriksaan dan perhitungan kembali kebutuhan gizi yang dibutuhkansehingga diperlukan waktu dan biaya. Penelitian ini dibuat agar mempermudah dalam pemilihan bahan makanan yang sesuai dengan kebutuhan dan dapat menghasilkan bahan makanan yang bervariasi dengan harga yang seminimal mungkin tanpa perlu kembali ke rumah sakit untuk mendapatkan daftar berat bahan makanan yang baru. Untuk permasalahan yang serupa dengan penentuan bahan makanan ini telah dilakukan sebelumnya dengan menggunakan algoritmeparticle swarm optimizationyaitu mengenai optimasi kebutuhan gizi dalam satu keluarga (Eliantara, Cholissodin, & Indriati, 2016), lalu dengan menggunakan algoritme genetika yaitu optimasi biaya untuk pemenuhan gizi (Pratiwi, Mahmudy, & Dewi, 2014) dan optimasi biaya untuk pemenuhan gizi pada manusia lanjut usia (Suci, Mahmudy, & Putri, 2015).Selain penentuan bahan makanan, algoritmeparticle swarm optimization telah digunakan oleh Mickael Tuegeh untuk penjadwalan pada sistem pengoperasian tenaga listrik pada tahun 2009. Penelitian ini yaitu optimasi komposisi bahan makanan bagi pasien rawat jalan penyakit jantung dilakukan dengan menggunakan algoritmeparticle swarm optimization akan menampikan hasil daftar bahan makanan beserta bahan makanan dan harga dari setiap bahan makanannya berdasarkan perhitungan kebutuhan gizi pasien dari data diri pasien seperti usia, berat badan dan tinggi badan. Komposisi bahan makanan yang dianjurkan agar dapat bervariasi selama 11 hari. Algoritmeparticle swarm optimizationyang digunakan dalam penelitian ini diperkenalkan pertama kali oleh Russel Eberhart dan James Kennedy pada tahun 1995. Algoritme ini terinspirasi berdasarkan kelakuan sosial dari binatang seperti sekelompok burung atau sekawanan ikan yang berenang bersama-sama dan memiliki banyak kemiripan dengan komputasi evolusi seperti algoritme genetika. Kelebihan dari algoritmeparticle swarm optimization ini adalah dalam hal perhitungan
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
dimana algoritme ini mempunyai konsep yang sederhana dibanding dengan teknik perhitungan lainnya(Tuegeh, Soeprijanto, & P, 2009). 2. DASAR TEORI 2.1 Penyakit Jantung Jantung merupakan organ yang memompa darah ke seluruh tubuh. Penyakit jantung disebabkan oleh penyempitan pembuluh darah pada jantung. Selain itu, suatu penelitian menyebutkan bahwa penyakit jantung dapat disebabkan oleh gen yang dapat mempengaruhi seseorang menderita penyakit jantung. Gen tersebut dapat diturunkan dari keluarga dengan riwayat penderita penyakit jantung (Yahya, 2010). 2.2 Diet Penyakit Jantung Diet penyakit jantung diberikan kepada pasien yang menderita penyakit jantung. Terdapat 4 jenis diet penyakit jantung diantaranya Diet Jantung 1 diberikan kepada pasien penyakit jantung akut yang sedang dalam tahap perawatan di rumah sakit, Diet Jantung 2 diberikan kepada pasien yang telah dapat mengatasi fase akut, Diet Jantung 3 merupakan perpindahan dari Diet Jantung 2 dimana kondisi pasien tidak terlalu berat, dan Diet Jantung 4 merupakan pemberian makan kepada pasien dengan keadaan ringan atau dapat dibilang bahwa pasien yang sedang menjalani Diet Jantung 4 adalah pasien rawat jalan. Pada penelitian ini, optimasi komposisi bahan makanan diberikan kepada pasien dengan Diet Jantung 4 atau pasien rawat jalan. Pasien rawat jalan dapat menerima asupan makanan dalam bentuk makanan biasa, berbeda dengan Diet Jantung 1 sampai dengan Diet Jantung 3 dimana pemberian makan masih dalam bentuk lunak atau cairan (Almatsier, 2004). 2.2.1 Tujuan Diet Penyakit Jantung Tujuan diet penyakit jantung adalah (Almatsier, 2004): 1. Memberikan makanan yang cukup tanpa memberatkan kerja jantung. 2. Menurunkan berat badan bila berat badan orang tersebut terlalu gemuk. 3. Mencegah atau menghilangkan penumpukan garam atau air. 2.2.2 Bahan Makanan yang Dianjurkan 1. Sumber hidrat arang diantara lain nasi, nasi tim, bubur, roti gandum, makaroni, Fakultas Ilmu Komputer, Universitas Brawijaya
1387 pasta, jagung, kentang, ubi, talas, havermut, sereal dan juga hidrat arang yang mengandung banyak serat.
2. Sumber protein hewani diantaranya adalah daging tanpa kulit, ayam tanpa kulit dan ikan. 3. Sumber protein nabati yaitu tempe, tahu, oncom dan kacang–kacangan. 4. Sayuran seperti bayam, buncis, labu kuning, labu siam, wortel dan kacang panjang. 5. Buah–buahan atau sari buah seperti jeruk, apel, pepaya, melon, jambu dan pisang. 6. Makanan yang direbus, dikukus, dipanggang atau dibakar atau makanan yang ditumis memakai minyak seperti minyak kacang, minyak kedelai, minyak jagung dan minyak sawit. Bila kebutuhan gizi tidak dapat dipenuhi melalui makanan, dapat diberikan tambahan berupa enteral atau pemberian nutrisi melalui saluran cerna, parenteral atau pemberian nutrisi melalui pembuluh darah atau suplemen gizi (Almatsier, 2004). 2.2.3 Bahan Makanan yang Dihindari 1. Sumber protein hewani seperti daging berlemak, sosis, otak dan jeroan. 2. Asam lemak jenuh seperti minyak hewan dan mayones. 3. Minuman yang mengandung soda dan alkohol seperti arak, bir dan brem. 2.3 Perhitungan Kebutuhan Gizi Kebutuhan gizi energi, karbohidrat, protein dan lemak didapat dari perhitungan Berat Badan Ideal (BBI), perhitungan kebutuhan energi, perhitungan basal atau energi yang diperlukan tubuh dalam keadaan istirahat.Parameter yang digunakan untuk perhitungan kebutuhan gizi adalah berat badan, tinggi badan, usia, dan jenis kelamin pasien.Perhitungan Berat Badan Ideal: 𝐵𝐵𝐼 = (𝑡𝑏 − 100) ×90%
Keterangan: BBI : Berat Badan Ideal tb : Tinggi Badan Perhitungan Kebutuhan Energi:
(1)
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
𝐸𝑛𝑒𝑟𝑔𝑖 = 𝐵𝑎𝑠𝑎𝑙×𝐹𝑎𝑘𝑡𝑜𝑟𝐴𝑘𝑡𝑖𝑣𝑖𝑡𝑎𝑠 ×𝐹𝑎𝑘𝑡𝑜𝑟𝑆𝑡𝑟𝑒𝑠𝑠
(2)
Keterangan: Faktor Aktivitas: 1,3 Faktor Stress : 1,1 Perhitungan untuk nilai basal, dibedakan untuk laki-laki dan perempuan. Berikut merupakan rumus perhitungan nilai basal: 𝐿𝑎𝑘𝑖 − 𝑙𝑎𝑘𝑖 = 30 𝑘𝑘𝑎𝑙×𝐵𝐵 (3) 𝑃𝑒𝑟𝑒𝑚𝑝𝑢𝑎𝑛 = 25 𝑘𝑘𝑎𝑙×𝐵𝐵
(4)
Perhitungan Gizi Lemak, Protein dan Karbohidrat: 25% ×𝐸𝑛𝑒𝑟𝑔𝑖 9 𝑃𝑟𝑜𝑡𝑒𝑖𝑛 = 0,8 ×𝐵𝐵𝐼 𝐾𝑎𝑟𝑏𝑜ℎ𝑖𝑑𝑟𝑎𝑡 𝐸𝑛𝑒𝑟𝑔𝑖 − ((𝐿𝑒𝑚𝑎𝑘×4) + (𝑃𝑟𝑜𝑡𝑒𝑖𝑛×9)) = 4 𝐿𝑒𝑚𝑎𝑘 =
(5) (6) (7)
2.4AlgoritmeParticle Swarm Optimization Algoritmeparticle swarm optimization dikategorikan ke dalam algoritmeswarm intelligence dan teknik optimasi ini berdasarkan populasi yang awalnya dikembangkan oleh Kennedy dan Eberhart pada tahun 1995. Hal ini didorong oleh kelakuan sosial sekelompok burung atau sekawanan ikan yang berenang bersama-sama (Sun, 2012). Particle Swarm Optimizationtermasuk algoritmemetaheuristic dan dapat diterapkan secara luas dalam memecahkan banyak masalah seperti permasalahan kombinatorial.Algoritme ini diinisialisasikan dengan sebuah populasi dari partikel-partikel secara acak dan mencari posisi terbaik partikel tersebut dengan nilai fitness terbaik (Constantines, 2011).Berikut merupakan langkah-langkah dalam penerapan algoritmeparticle swarm optimization(Nedjah, 2007): 1. Menginisialisasi populasi partikel dengan posisi dan velocity secara acak. 2. Untuk setiap partikel, hitung nilai fitnessnya. 3. Membandingkan nilai fitness tiap partikel dengan nilai fitness terbaik mereka, jika nilai fitnesssaat ini lebih baik daripada nilai fitness terbaik yang pernah ada, maka nilai fitness tersebut menjadi nilai fitness terbaik yang baru. 4. Mengidentifikasi partikel dengan nilai fitness terbaik dari semua populasi dan Fakultas Ilmu Komputer, Universitas Brawijaya
1388
menetapkannya sebagai global g yang terbaik atau gbest. 5. Mengubah kecepatan dan posisi untuk masing–masing partikel. 6. Ulangi kembali ke langkah ke dua, kondisi berhenti ketika jika spesifikasi yang dibutuhkan telah dicapai, atau sampai pada jumlah maksimum iterasi yang dilakukan. Kecepatan atau velocity vijdan posisi xijdari partikel ke-i dengan dimensi ke-j diperbarui dengan persamaan (Wang, 2010): 𝑣𝑖,𝑗 𝑡+1 = 𝜔×𝑣𝑖,𝑗 𝑡 + 𝑐1 ×𝑟𝑎𝑛𝑑1𝑖,𝑗 ×𝑃𝑏𝑒𝑠𝑡𝑖,𝑗 𝑡 − 𝑥𝑖,𝑗 𝑡 + 𝑐2 ×𝑟𝑎𝑛𝑑2𝑖,𝑗 ×𝐺𝑏𝑒𝑠𝑡𝑖,𝑗 𝑡 − 𝑥𝑖,𝑗 𝑡
(8)
Keterangan: vij :Kecepatan atau velocity dari partikel ke-i dimensi ke-j ω :Bobot inersia ci : Faktor yang mengontrol komponen sosial dan kognitif randij : 2 nilai acak antara 0 sampai 1 Pbest : Posisi dengan nilai fitness terbaik pada partikel ke-i Gbest : Nilai pbest terbaik dari seluruh populasi partikel t : Banyaknya iterasi 𝑥𝑖,𝑗 𝑡+1 = 𝑥𝑖,𝑗 𝑡 + 𝑣𝑖,𝑗 𝑡+1
(9)
Keterangan: xij : Posisi dari partikel ke-i Bobot inersia atau ω dikenalkan pertama kali oleh Shi dan Eberhart pada tahun 1998 dan digunakan untuk membantu keseimbangan antar penelusuran global dan lokal dan menjadi parameter kontrol yang baik. 𝜔 = 𝜔𝑚𝑎𝑥 −
Dimana: ωmax – ωmin Itermax Iter
𝜔 max −𝜔𝑚𝑖𝑛 𝐼𝑡𝑒𝑟 𝐼𝑡𝑒𝑟𝑚𝑎𝑥
(10)
: Bobot awal dan akhir : Jumlah maksimum iterasi : Jumlah iterasi yang ada
2.5 Nilai Fitness Perhitungan fitness digunakan untuk mengevaluasi hasil dari optimasi pada penelitian ini. Nilai fitness digunakan untuk menyatakan kualitas dan tujuan penelitian ini. Berikut merupakan rumus perhitungan nilai fitness:
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
1 1 𝑓𝑖𝑡𝑛𝑒𝑠𝑠 = ( + 𝑝𝑒𝑛𝑎𝑙𝑡𝑖 + 1 ℎ𝑎𝑟𝑔𝑎
(11)
+ 𝑣𝑎𝑟𝑖𝑎𝑠𝑖)
Keterangan: penalti : Nilai kandungan gizi yang melebihi atau kurang dari kebutuhan gizi pasien harga : Total harga pada komposisi bahan makanan dalam satu partikel variasi : Jumlah variasi bahan makanan dalam satu partikel 3. PERANCANGAN DAN IMPLEMENTASI Perancangan penelitian ini menggunakan data daftar bahan makanan penukar, anjuran porsi makan, harga bahan makanan dan data pasien rawat jalan penyakit jantung. Inisialisasi awal partikel direpresentasikan dalam bilangan bulat acak dari 1 sampai 56. Lalu bilangan tersebut akan dilakukan perhitungan pencarian ke dalam indeks bahan makanan penukar. Data bahan makanan penukar berupa daftar bahan– bahan makanan yang dibagi ke dalam 7 golongan yaitu sumber karbohidrat, sumber protein hewani, sumber protein nabati, sayuran, buah–buahan dan gula, susu, dan minyak/lemak.Daftar bahan makanan penukar memuatnama bahan makanan, Ukuran Rumah Tangga (URT), berat bahan makanan dan kandungan gizi setiap bahan makanan diantaranya adalah kalori, protein, lemak dan karbohidrat. Anjuran porsi makan digunakan untuk memenuhi kebutuhan gizi pasien yang dibagi menjadi beberapa kelompok usia sesuai dengan pedoman gizi seimbang yang nantinya akan dikalikan dengan ukuran berat bahan makanan menurut daftar bahan makanan penukar agar mendapatkan berat bahan makanan yang menyesuaikan kebutuhan gizi sesuai dengan usia pasien. Tahapan–tahapan proses dari penelitian ini secara umumditunjukkan pada Gambar 1: 1. Memperoleh input data berupa data pasien rawat jalan penyakit jantung yang diantaranya adalah berat badan, tinggi badan, usia, dan jenis kelamin pasien. Untuk parameter yang digunakan oleh algoritmeparticle swarm optimizationmeliputi ωmax, ωmin, C1, C2, iterasi maksimal dengan nama variabel iterMax, jumlah partikel, nilai batas atas angka permutasi dan jumlah hari. Fakultas Ilmu Komputer, Universitas Brawijaya
1389
2. Menginisialisasi populasi partikel awal swarm secara random. 3. Melakukan perulangan sebanyak iterMax. 4. Menghitung nilai fitness dari setiap partikel. 5. Melakukan perhitungan kecepatan atau velocity setiap partikel dan menghitung posisi partikel yang nantinya akan digunakan untuk iterasi selanjutnya. 6. Menentukan nilai Pbest dan menentukan nilai Gbest dari Pbest dengan nilai fitness terbaik. Nilai fitness yang dibandingkan untuk menentukan nilai Pbest dan Gbest adalah dari nilai fitness dari posisi sebelum dengan hasil update posisi. 7. Kembali ke proses menghitung nilai fitness sampai seluruh iterasi mencapai maksimum.
Gambar 1. Flowchart Proses Algoritme Particle Swarm Optimization (PSO)
4. PENGUJIAN DAN ANALISIS Pada penelitian ini dilakukan pengujian
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
4.1Pengujian Partikel
Berdasarkan
Banyaknya
Uji coba berdasarkan banyaknya partikel dilakukan guna mengetahui hubungan banyaknya jumlah partikel dengan nilai fitness dimana jumlah partikel yang digunakan dalam uji coba ini dimulai dari 5 sampai dengan 50 dengan berkelipatan 5. Uji coba setiap jumlah partikel dilakukan sebanyak 10 kali dengan parameter yang ditentukan yaitu nilai ωmax sebesar 0,9, nilai ωmin sebesar 0,4, nilai C1 dan C2 sebesar 2, jumlah hari sebanyak 11 hari, jumlah iterasi sebanyak 50 dan batas atas angka permutasi yaitu 56. Pada Gambar 2 dipaparkan grafik hasil pengujian berdasarkan banyaknya partikel.
Rata - Rata Fitness
Hasil Pengujian Berdasarkan Banyak Partikel 120 100 80 60 40 20 0
juga mempengaruhi hasil optimasi. Lalu perlu dipertimbangkan juga karena waktu untuk menjalankan program semakin lama jika partikel yang digunakan semakin banyak. Banyaknya partikel yang digunakan berbeda–beda sesuai dengan permasalahan yang dihadapi. Dari hasil pengujian ini, dapat diambil nilai jumlah partikel sebanyak 40 dikarenakan rata–rata fitness pada 40 partikel tidak jauh berbeda dengan 45 partikel. Lalu waktu saat menjalankan program pada jumlah partikel sebanyak 40 tidak terlalu lama seperti menjalankan program dengan banyaknya partikel sebanyak 50 sehingga penggunaan partikel sebanyak 40 dirasa cukup baik. Rata - Rata Waktu Uji Coba Berdasarkan Banyaknya Jumlah Partikel Rata - Rata Waktu (detik)
dengan 4 skenario pengujian, yaitu pengujian berdasarkan banyaknya partikel, pengujian berdasarkan nilai ωmax dan nilai ωmin, pengujian berdasarkan banyakya iterasi dan pengujian berdasarkan nilai batas atas angka permutasi.
1390
600 500 400 300 200 100 0 0
20
40
60
Jumlah Partikel Gambar 3. Grafik Hasil Rata – Rata Waktu Pengujian Uji Coba Berdasarkan Banyaknya Partikel 5 10 15 20 25 30 35 40 45 50 Banyak Partikel
Gambar 2. Grafik Hasil Pengujian Uji Coba Berdasarkan Banyaknya Partikel
Hasil dari pengujian uji coba berdasarkan banyaknya partikel menghasilkan kesimpulan bahwa semakin banyak jumlah partikel maka semakin bagus hasil rata-rata fitnesstersebut. Banyaknya partikel dapat mempengaruhi dalam pencarian solusi pada program ini sehingga semakin banyak partikel semakin banyak pula solusi yang didapatkan dan juga semakin bervariasi solusi–solusi tersebut. Nilai fitness cenderung meningkat dengan banyaknya jumlah partikel. Tetapi tidak memungkinkan bahwa nilai fitness dengan menggunakan banyak partikel akan selalu lebih baik dikarenakan pada proses inisialisasi awal, partikel diinisialisasi secara acak. Jumlah iterasi Fakultas Ilmu Komputer, Universitas Brawijaya
Gambar 3 merupakan rata–rata waktu yang diperlukan pada saat melakukan pengujian berdasarkan banyaknya partikel. Dapat dilihat bahwa semakin banyak partikel yang digunakan semakin lama waktu saat menjalankan program. Rata–rata waktu yang dibutuhkan pada saat mencapai jumlah partikel sebanyak 50 adalah sekitar 500 detik atau 8 menit. 4.2 Pengujian Berdasarkan Nilai ωmax dan Nilai ωmin Uji coba berdasarkan nilai ωmax dan nilai ωmin dilakukan guna mendapatkan nilai ωmax dan ωmin yang terbaik agar mendapatkan solusi yang paling optimal dimana nilai ωmax dan nilai ωmin yang digunakan dalam uji coba ini adalah kombinasi nilai dari 0,2 sampai dengan 1,15. Uji coba setiap jumlah partikel dilakukan sebanyak 10 kali dengan parameter yang ditentukan yaitu jumlah partikel sebanyak 40, nilai C1 dan C2 sebesar 2, jumlah hari sebanyak 11 hari, jumlah iterasi sebanyak 50 dan batas atas angka
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
permutasi yaitu 56. Pada Gambar 4 dipaparkan grafik hasil pengujian berdasarkan nilai ωmax dan nilai ωmin. Hasil Pengujian Berdasarkan Nilai ωmax dan Nilai ωmin 100 80 60 40 20 0
Hasil Pengujian Berdasarkan Banyaknya Iterasi
0,20 ; 0,25 ; 0,30 ; 0,35 ; 0,4 ; 0,45 ; 0,50 ; 0,55 ; 0,60 ; 0,65 ; 0,70 0,75 0,80 0,85 0,9 0,95 1,0 1,05 1,10 1,15
Nilai ωmax ; Nilai ωmin
Gambar 4. Grafik Hasil Pengujian Uji Coba Berdasarkan Nilai ωmax dan Nilai ωmin
Hasil dari pengujian uji coba berdasarkan nilai ωmax dan nilai ωminmenghasilkan kesimpulan bahwa nilai ωmax dan nilai ωmin dengan nilai fitness terbaik didapat ketika nilai ωmax sebesar 0,75 dan nilai ωmin sebesar 0,25. Nilai bobot inersia yang besar berguna untuk memperluas pencarian global atau eksplorasi. Sedangkan nilai bobot inersia yang kecil berguna untuk melakukan pencarian lokal. Pencarian lokal akan melakukan pencarian dalam satu area sebelum melakukan pencarian global ke area yang lain. Jika nilai bobot inersia besar, kecepatan partikel akan bertambah sehingga menyebabkan peluang pencarian lokal menjadi kecil. Partikel akan cenderung melakukan pencarian global ke area lain sehingga solusi yang optimal pada suatu area akan terlewati. Jika bobot inersia terlalu kecil maka kecepatan partikel akan berkurang dan mengurangi peluang untuk melakukan pencarian global. Agar dapat mengimbangi pencarian global dan pencarian lokal, maka dibutuhkan nilai bobot inersia yang seimbang. Pada penelitian ini, nilai ωmax dan nilai ωminyang seimbang adalah dengan nilai ωmax sebesar 0,75 dan nilai ωmin sebesar 0,25. Nilai bobot inersia yang seimbang berbeda–beda sesuai dengan permasalahan yang dibahas. Perhitungan nilai ω dapat dilihat pada Persamaan 11. 4.3
banyaknya iterasi dengan nilai fitness dimana banyak iterasi yang digunakan dalam uji coba ini dimulai dari 10 sampai dengan 100 dengan berkelipatan 10. Uji coba setiap banyaknya iterasi dilakukan sebanyak 10 kali dengan parameter yang ditentukan yaitu jumlah partikel sebanyak 40, nilai ωmax sebesar 0,75, nilai ωmin sebesar 0,25, nilai C1 dan C2 sebesar 2, jumlah hari sebanyak 11 hari dan batas atas angka permutasi yaitu 56. Pada Gambar 5 dipaparkan grafik hasil pengujian berdasarkan banyaknya partikel.
Pengujian Iterasi
Berdasarkan
Banyaknya
Uji coba berdasarkan banyaknya iterasi dilakukan guna mengetahui hubungan Fakultas Ilmu Komputer, Universitas Brawijaya
104
Rata - Rata Fitness
Rata - Rata Fitness
120
1391
102
100 98 96 94 92 0
20
40
60
80
100
120
Banyak Iterasi
Gambar 5. Grafik Hasil Pengujian Uji Coba Berdasarkan Banyaknya Iterasi
Hasil dari pengujian uji coba berdasarkan banyaknya iterasi menghasilkan kesimpulan bahwa semakin banyak iterasi maka semakin bagus hasil rata-rata fitness tersebut. Banyaknya iterasi dapat mempengaruhi dalam pencarian solusi pada program ini sehingga dapat mencari solusi secara menyeluruh. Semakin banyaknya iterasi yang dilakukan maka pencarian solusi menjadi optimal dikarenakan posisi partikel tidak banyak berubah dengan nilai solusi yang terbaik. Nilai fitness terbaik yang didapatkan pada iterasi ke-100 dapat menjadi nilai yang optimal seperti yang diharapkan pada penelitian. Karena pada nilai fitness, nilai yang paling berpengaruh adalah nilai variasi dimana jika nilai variasi semakin besar maka nilai fitness semakin baik dan hasil yang diharapkan oleh penelitian ini adalah agar bervariasinya bahan makanan dalam 11 hari. Hasil optimasi dari pengujian ini juga dipengaruhi oleh inisialisasi awal yang di inisialisasikan secara acak, sehingga pada saat proses inisialisasi awal posisi partikel sudah baik, maka proses pencarian menjadi kurang optimal dan memungkinkan mencapai nilai yang sama untuk iterasi selanjutnya. Pada pengujian
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Rata - Rata Waktu (detik)
Rata - Rata Waktu Uji Coba Berdasarkan Banyak Iterasi
Hasil Pengujian Berdasarkan Nilai Batas Atas Angka Permutasi 120 100 80 60 40 20 0
Rata - Rata Fitness
ini, diambil iterasi sebanyak 80 dikarenakan nilai fitness pada iterasi ke-80 tidak terlalu jauh berbeda dengan iterasi ke-90 sampai dengan 100 dimana rata–rata fitness dimulai dari iterasi ke80 sudah baik yaitu sudah mencapai nilai 100. Selain itu, iterasi ke-80 tidak membutuhkan waktu yang lama pada saat menjalanakan program tidak selama seperti iterasi ke-90 dan ke-100.
1392
56 66 76 86 96 106116126136146
600
Nilai Batas Atas Angka Permutasi
500
Gambar 7. Grafik Hasil Pengujian Uji Coba Berdasarkan Nilai Batas Atas Angka Permutasi
400 300 200 100 0 0
50
100
150
Banyak Iterasi Gambar 6. Grafik Hasil Rata – Rata Waktu Pengujian Uji Coba Berdasarkan Banyaknya Iterasi
Gambar 6 merupakan rata–rata waktu yang diperlukan pada saat melakukan pengujian berdasarkan banyaknya iterasi. Dapat dilihat bahwa semakin banyak iterasi yang dilakukan bahwa semakin lama waktu saat menjalankan program. Rata–rata waktu yang dibutuhkan pada saat mencapai jumlah iterasi sebanyak 100 adalah sekitar lebih dari 500 detik atau lebih dari 8 menit. 4.4 Pengujian Berdasarkan Nilai Batas Atas Angka Permutasi Uji coba berdasarkan nilai batas atas angka permutasi dilakukan guna melihat hubungan nilai batas atas angka permutasi dengan nilai fitness dimana nilai batas atas angka permutasi yang digunakan dalam uji coba ini dimulai dari 56 sampai dengan 146 dengan berkelipatan 10. Uji coba setiap nilai batas atas angka permutasi dilakukan sebanyak 10 kali dengan parameter yang ditentukan yaitu jumlah partikel sebanyak 40, nilai ωmax sebesar 0,75, nilai ωmin sebesar 0,25, nilai C1 dan C2 sebesar 2, jumlah hari sebanyak 11 hari dan jumlah iterasi sebanyak 80. Pada Gambar 7 dipaparkan grafik hasil pengujian berdasarkan banyaknya partikel.
Fakultas Ilmu Komputer, Universitas Brawijaya
Hasil dari pengujian uji coba berdasarkan nilai batas atas angka permutasi dapat diambil kesimpulan bahwa semakin besar nilai angka permutasi yang digunakan, tidak menjamin mendapatkan rata–rata fitnessterbaik. Hal ini disebabkan karena semakin besar angka yang digunakan dapat memiliki nilai yang lebih besar dari nilai jumlah bahan makanan terbesar yang ada pada daftar bahan makanan penukar yang ada. Ketika nilai batas atas angka permutasi menjadi lebih besar, pencarian nilai indeks bahan makanan akan menghasilkan nilai yang sama dalam rentang nilai batas atas yang berbeda. Rentang nilai yang dihasilkan oleh angka permutasi yang besar akan mengakibatkan hasil pada saat pencarian indeks bahan makanan menghasilkan bahan makanan yang sama sehingga bahan makanan menjadi tidak bervariasi. Pada hasil pengujian ini, didapatkan batas angka permutasi yang sesuai dengan penelitian ini dan memiliki nilai fitness terbaik pada angka sebesar 96. 4.5 Analisis Global Hasil Pengujian Berdasarkan hasil dari pengujian– pengujian yang telah dilakukan sebelumnya, didapatkan parameter yang sudah dianggap optimal. Parameter yang telah dianggap optimal ini akan diuji kepada data pasien rawat jalan penyakit jantung. Parameter–parameter yang digunakan adalah jumlah partikel sebanyak 40, nilai ωmax sebesar 0,75, nilai ωmin sebesar 0,25, nilai C1 dan C2 sebesar 2, jumlah hari sebanyak 11 hari, jumlah iterasi sebanyak 80 dan nilai batas atas angka permutasi adalah 96. Parameter yang telah dianggap optimal tersebut akan digunakan untuk pengujian
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
analisis global yaitu menguji dengan membandingkan hasil dari program menggunakan parameter tersebut dan data aktual pasien. Data aktual seorang pasien didapatkan dari wawancara dengan pasien penyakit jantung rawat jalan. Analisis global dari pengujian ini berguna untuk melihat apakah kebutuhan dari program dapat memenuhi kebutuhan pasien. Data yang digunakan adalah jumlah makanan yang dikonsumsi diantara lain jumlah makanan sumber karbohidrat, sumber protein hewani, sumber protein nabati, jumlah sayuran, jumlah buah–buahan, minyak/lemak, susu dan biaya pengeluaran dalam sehari. Hasil wawancara menghasilkan bahwa pasien mengkonsumsi sumber karbohidrat sebanyak 3 kali dalam sehari, sumber protein hewani sebanyak 3 kali, sumber protein nabati sebanyak 2 kali, jumlah sayuran sebanyak 3 kali, jumlah buah–buahan sebanyak 3 kali, minyak/lemak yang dikonsumsi sebanyak 2 kali, dan mengkonsumsi susu 1 kali sehari. Biaya pengeluaran sekitar Rp.50,000. Data kebutuhan gizi aktual pasien dengan hasil data rekomendasi dari program dapat dilihat pada Tabel 1. Tabel 1. Kebutuhan Gizi Pasien dan Hasil Kebutuhan Gizi dari Program
Data Aktual Pasien Hasil Program Selisih Hasil
Kalori Karbo- Protein Lemak (kkal) hidrat (gr) (gr) (gr)
Biaya Makan
2230,8
371,4
61,96
46,8
Rp. 50.000
2236,1
347.2
71,9
56,6
Rp.43.5 99
5,3
-24,3
25,1
-5,36
-6401
Berdasarkan Tabel 1 diatas, didapatkan selisih kalori dari data pasien dengan hasil dari program sebesar 5,3 atau 0,24%. Selisih karbohidrat sebesar -24,3 atau -7,0%. Selisih protein sebesar 25,1 atau 34,9%. Selisih lemak sebesar -5,36 atau -9,48%. Lalu selisih biaya makan sebesar Rp.6.401 atau sekitar -14,68% dari pengeluaran aktual pasien sebesar kurang lebih Rp.50,000. Rata-rata selisih kebutuhan gizi pasien dengan hasil rekomendasi dari program sebesar 0,1833 atau 4,67%. Hasil program masih dapat memenuhi kebutuhan gizi yang dibutuhkan. 5. KESIMPULAN Kesimpulan yang dapat ditarik dari penelitian yang telah dilakukan adalah sebagai Fakultas Ilmu Komputer, Universitas Brawijaya
1393
berikut : 1. Pada pengimplementasian algoritme particle swarm optimization (PSO) dengan permasalahan optimasi komposisi bahan makanan bagi pasien rawat jalan penyakit jantung ini dilakukan sesuai dengan cara kerja algoritme tersebut. Pada proses inisialisasi awal dari algoritmeparticle swarm optimization, penelitian ini menggunakan angka acak dimulai dari 1 sampai dengan 56. Selanjutnya angka acak tersebut akan dilakukan perhitungan pencarian nilai indeks bahan makanan sehingga nilainya sesuai dengan masing-masing bahan makanan yang digunakan. Pada proses perhitungan nilai fitness, dibutuhkan nilai selisih kandungan gizi dengan penalti, harga bahan makanan dan jumlah variasi. Setelah melakukan tahapan pengujian, maka dapat disimpulkan bahwa parameter particle swarm optimization yang sesuai untuk penelitian ini adalah jumlah partikel sebanyak 40, nilai ωmax sebesar 0,75, nilai ωmin sebesar 0,25, nilai C1 sebesar 2, nilai C2 sebesar 2 dan jumlah iterasi maksimum sebanyak 80. 2. Hasil dari optimasi komposisi bahan makanan bagi pasien rawat jalan penyakit jantung dengan menggunakan algoritmeparticle swarm optimization dimana parameter yang digunakan adalah jumlah partikel sebanyak 40, nilai ωmax sebesar 0,75, nilai ωmin sebesar 0,25, nilai C1 sebesar 2, nilai C2 sebesar 2 dan jumlah iterasi maksimum sebanyak 80. Solusi yang dihasilkan berdasarkan nilai penalti, harga dan variasi. Semakin kecil nilai penalti dan harga lalu semakin besar variasi bahan makanan dalam 11 hari, maka solusi yang dihasilkan semakin baik dan memenuhi standar pakar untuk pemberian makan bagi pasien rawat jalan penyakit jantung. Hasil data aktual pasien berdasarkan wawancara mendapatkan rata–rata selisih sebesar 4,67% dimana hasil tersebut masih memenuhi kebutuhan gizi. Selain itu hasil dari program yang telah dibuat dapat mengurangi biaya pengeluaran sebanyak Rp.6.401.Hasil rekomendasi
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
dari program didapat dari pembagian makan dengan frekuensi makan sebanyak 3 kali dalam sehari. 6. DAFTAR PUSTAKA Abdul, Majid. 2007. Penyakit Jantung Koroner, Pencegahan Dan Pengobatan Terkini. Medan. Almatsier, Sunita. 2004. Penuntun Diet Edisi Baru. Jakarta: Gramedia Pustaka Utama. Constantines, Zoran. 2011. Advances In Grid Computing. Intech. Eliantara, F., Cholissodin, I., & Indriati. 2016. Implementasi Algoritma Particle Swarm Optimization Untuk Optimasi Pemenuhan Kebutuhan Gizi Keluarga. Doro Jurnal, 26(8). Nedjah, Nadia Dkk. 2007. Systems Engineering Using Swarm Particle Optimisation. New York: Nova Science Publishers. Inc. Pratiwi, M. I., Mahmudy, W. F., & Dewi, C. 2014. Implementasi Algoritma Genetika Pada Optimasi Biaya Pemenuhan Kebutuhan Gizi. Doro Jurnal, 6(4). Shi, Y., & Eberhart, R. C. 1999. Empirical Study of Particle Swarm Optimization.IEEE International Conference on Computational Intelligence and Cybernetics.6-9 Juli, Washington D.C, Amerika Serikat.1945-1950. Soeharto, Iman. 2004. Penyakit Jantung Koroner Dan Serangan Jantung. Jakarta: Gramedia Pustaka Utama. Suci, W. W., Mahmudy, W. F., & Putri, R. R. (2015). Optimasi Biaya Pemenuhan Gizi dan Nutrisi pada Manusia Lanjut Usia Menggunakan Algoritma Genetika. S1. Universitas Brawijaya. Sun, Jun Dkk. 2012. Particle Swarm Optimisation: Classical And Quantum Perspectives. Crc Press. Tuegeh, Maickel Dkk. 2009. Optimal Generator Scheduling Based On Particle Swarm Optimization. Yogyakarta: Upn Veteran Yogyakarta.Seminar Nasional Informatika,1(1). Wang, H., Wu, Z., Zeng, S., Jiang, D., Liu, Y., Fakultas Ilmu Komputer, Universitas Brawijaya
1394
Wang, J., et al. (2010). A Simple and Fast Particle. World Health Organization. 2017. World Health Statistics 2017: Monitoring Health for the Sdgs, Sustainable Development Goals. Geneva: World Health Organization. Yahya, A. Fauzi. 2010. Menaklukkan Pembunuh No.1:Mencegah Dan Mengatasi Penyakit Jantung Koroner Secara Tepat Dan Cepat. Bandung: Pt Mizan Pustaka.