Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 2, No. 4, April 2018, hlm. 1698-1703
e-ISSN: 2548-964X http://j-ptiik.ub.ac.id
Optimasi Menu Makanan Bagi Pasien Gagal Ginjal Menggunakan Algoritme Lebah Yeni Herawati1, Wayan Firdaus Mahmudy2 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email:
[email protected],
[email protected] Abstrak Gagal ginjal merupakan penyakit metabolik kronik yang menjadi masalah kesehatan di berbagai belahan dunia. Pasien gagal ginjal harus menjalani diet khusus untuk mengontrol pola makan serta menjaga agar kerusakan pada ginjal tidak semakin parah. Tujuan diet gagal ginjal adalah membantu pasien memperbaiki kebiasaan makan dan olahraga untuk mendapatkan kontrol metabolisme yang lebih baik. Pasien harus membatasi makanan apa saja yang dapat dikonsumsi. Hal tersebut menyebabkan pasien harus benar-benar memperhatikan menu makanannya. Untuk mengatasi kasus tersebut dibutuhkan algoritme lebah. Penelitian ini menggunakan 132 daftar makanan dengan kandungan gizi (protein, karbohidrat dan lemak). Proses algoritme menggunakan representasi bilangan integer dengan panjang 15 yang mana angka yang dihasilkan merepresentasikan indeks makanan. Dari pengujian yang dilakukan diperoleh parameter optimal sebesar 100 individu dengan nilai rata-rata fitness sebesar 0,107823, 100 iterasi dengan rata-rata nilai fitness sebesar 0,103334. Penelitian ini menghasilkan komposisi menu makanan dalam sehari (makan pagi, makan siang dan makan malam) dengan biaya seminimal mungkin. Kata kunci: Algoritme lebah, gagal ginjal, komposisi makanan
Abstract Kidney failure is a chronic metabolic disease that becomes a health problem in the world. Patients with kidney failure should have a special diet to control their diet and keep the kidney damage from getting worse. Diet to help patients improve eating and sports habits to gain better metabolic control. Patients should limit what foods can be consumed. This causes the patient to really pay attention to the food menu. To solve the case requires a bee algorithm. This study used 132 lists of foods with nutritional content (protein, carbohydrates and fats). The algorithm process uses an integer representation of length 15 which the resulting number represents the food index. From the test, we get the optimal parameter of 100 individuals with the average fitness value of 0.107823, 100 iterations with the average fitness value of 0.103334. The results of this study are the composition of the food menu in a day (breakfast, lunch and dinner) at a minimal cost. Keywords: Bee algorithm, kidney failure, food composition. tingginya resiko untuk terkena gagal ginjal. Pasien gagal ginjal harus menjalani diet khusus untuk mengontrol pola makan serta menjaga agar kerusakan pada ginjal tidak semakin parah. Tujuan diet gagal ginjal adalah membantu pasien memperbaiki kebiasaan makan dan olahraga untuk mendapatkan kontrol metabolisme yang lebih baik (Uyun, 2011). Pasien harus membatasi makanan apa saja yang dapat dikonsumsi dan yang tidak dapat dikonsumsi. Hal itu menyebabkan pasien harus benar-benar memperhatikan menu makanannya agar tidak memperparah kondisi pasien. Selain kebutuhan gizi menurut umur, jenis
1. PENDAHULUAN Gagal ginjal merupakan penyakit metabolik kronik yang menjadi masalah kesehatan di berbagai belahan dunia. Menurut hasil penelitian Organisasi Kesehatan Dunia (World Health Organization / WHO) yang memperkirakan pertumbuhan penderita gagal ginjal di Indonesia periode 1995 – 2025 bisa mencapai 41%. Pemicu utama pasien gagal ginjal adalah pola konsumsi masyarakat. Semakin konsumtif masyarakat tanpa memikirkan komposisi makanan yang sehat, itu menyebabkan semakin Fakultas Ilmu Komputer Universitas Brawijaya
1698
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
kelamin, aktivitas fisik dan kondisi khusus dalam keadaan sakit, penetapan kebutuhan gizi harus memperhatikan perubahan kebutuhan karena infeksi, gangguan metabolik, penyakit kronik serta kondisi abnormal lainnya. Dalam hal ini perlu dilakukan perhitungan kebutuhan gizi secara khusus dan penerapannya dalam bentuk modifikasi diet atau diet khusus terutama pada pasien gagal ginjal (Almatsier, 2008). Penelitian mengenai komposisi bahan pangan untuk diet penyakit ginjal dan saluran kemih pernah dilakukan oleh Uyun dan Hartati (2011) menggunakan algoritme genetika. Penelitian tersebut menyimpulkan bahwa algortime genetika dapat digunakan untuk menentukan komposisi bahan pangan yang optimal untuk mencukupi kebutuhan gizi dalam 1 hari bagi yang sedang melakukan diet untuk penyakit ginjal dan saluran kemih. Penelitian penentuan komposisi bahan pangan harian telah dilakukan oleh Rismawan dkk (2007) menggunakan algortima genetika. Penelitian tersebut menggunakan 138 data bahan pangan beserta kandungannya yang digunakan untuk pengujian. Contoh kasus yang digunakan adalah seorang wanita dalam keadaan sehat yang memiliki berat badan 84 kg, tinggi badan 162.5 cm dan usia 26 tahun. Hasil dari penelitiannya adalah rekomendasi komposisi makanan untuk satu kali makan. Penelitian serupa dilakukan oleh Wahid dan Mahmudy (2015) menggunakan algoritme genetika untuk mengoptimasi komposisi makanan bagi penderita kolesterol. Penelitian ini mempertimbangkan harga yang minimum untuk hasil optimasi. Hasil penelitian ini adalah komposisi makanan untuk satu kali makan dengan biaya minimum. Penelitian carbohydrate counting untuk penderita diabetes mellitus menggunakan algoritme koloni lebah buatan dilakukan oleh Melfazen (2012). Hasil dari penelitian disimpulkan bahwa algoritme koloni lebah buatan dapat menemukan nilai optimal jumlah serving karbohidrat, jumlah energi serta takaran nutrisi makro yang dibutuhkan. Penelitian lainnya dilakukan oleh Fauziyah dan Mahmudy (2017) terkait komposisi makanan untuk penderita hipertensi menggunakan variable neighborhood search. Penelitian ini menghasilkan susunan komposisi makanan dengan kandungan gizi mendekati kebutuhan penderita dengan memperhitungkan kadar garam dan biaya minimum. Diperlukan suatu metode yang dapat Fakultas Ilmu Komputer, Universitas Brawijaya
1699
digunakan untuk membantu ahli gizi dalam menentukan kebutuhan gizi bagi pasiennya. Salah satu metode yang digunakan untuk permasalahan optimasi adalah algoritme lebah. Dipilihnya algoritme lebah dikarenakan algoritme ini dirasa memiliki kemampuan untuk keluar dari local minimum dan dapat secara efisien digunakan untuk optimasi (Karaboga, 2007). Algoritme lebah adalah algoritme yang didasarkan pada kecerdasan berkelompok. Menurut Chong dkk (2006) algoritme lebah mampu menyelesaikan permasalahan yang didasarkan pada kecerdasan berkelompok lebih baik dibandingkan algoritme lain. Selain itu algoritme lebah sudah banyak diterapkan dalam beberapa permasalahan, antara lain pada fuzzy clustering, flexible job shop, scheduling problem serta numerical function. 2. GAGAL GINJAL Ginjal (renal) adalah organ tubuh yang memiliki fungsi utama untuk menyaring dan membuang zat-zat sisa metabolisme tubuh dari darah dan menjaga keseimbangan cairan serta elektrolit (misalnya kalsium, natrium, dan kalium) dalam darah. Ginjal juga memproduksi bentuk aktif dari vitamin D yang mengatur penyerapan kalsium dan fosfor dari makanan sehingga membuat tulang menjadi kuat. Selain itu ginjal memproduksi hormon eritropoietin yang merangsang sumsum tulang untuk memproduksi sel darah merah, serta renin yang berfungsi mengatur volume darah dan tekanan darah. Gagal ginjal adalah suatu kondisi di mana ginjal tidak dapat menjalankan fungsinya secara normal. Pada kondisi normal, pertama-tama darah akan masuk ke glomerulus dan mengalami penyaringan melalui pembuluh darah halus yang disebut kapiler. Di glomerulus, zat-zat sisa metabolisme yang sudah tidak terpakai dan beberapa yang masih terpakai serta cairan akan melewati membran kapiler sedangkan sel darah merah, protein dan zat-zat yang berukuran besar akan tetap tertahan di dalam darah. Filtrat (hasil penyaringan) akan terkumpul di bagian ginjal yang disebut kapsula bowman. Selanjutnya, filtrat akan diproses di dalam tubulus ginjal. Di sini air dan zat-zat yang masih berguna yang terkandung dalam filtrat akan diserap lagi dan akan terjadi penambahan zat-zat sampah metabolisme lain ke dalam filtrat. Hasil akhir dari proses ini adalah urin (air seni).
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
2.1 Diet Pasien Gagal Ginjal Fungsi utama ginjal adalah memelihara keseimbangan homeostatic cairan, elektrolit dan bahan-bahan organik dalam tubuh. Diet khusus diperlukan jika fungsi ginjal terganggu, yaitu pada penyakit-penyakit seperti sindroma nefrotik, gagal ginjal akut, penyakit ginjal kronik dengan penurunan fungsi ginjal ringan sampai dengan berat, penyakit ginjal tahap akhir yang memerlukan transplantasi ginjal dan batu ginjal. Diet pada penyakit ginjal ditekankan pada pengontrolan asupan energi, protein, cairan, elektrolit natrium, kalium, kalsium dan fosfor (Almatsier, 2008). Syarat diet gagal ginjal dengan dialisis menurut Almatsier (2008) adalah: 1.
Protein = 12,5% dari energi total.
2.
Karbohidrat = 65% dari energi total.
3.
Lemak = 22,5% dari energi total.
4.
Kalsium = 1000 mg/hari.
5.
Fosfor < 17 mg/kg BB ideal.
2.1.1 Perhitungan Kalori Proses perhitungan kebutuhan nutrisi pasien gagal ginjal berdasarkan pada variabel jenis kelamin, berat badan, tinggi badan, usia, faktor aktivitas serta faktor stress. 1. Perhitungan Angka Metabolisme Basal (AMB) untuk mengetahui jumlah energy minimal untuk mempertahankan proses hidup utama. Ada beberapa cara menghitung AMB, salah satunya adalah rumus Harris Benedict (1919) yang akan digunakan dalam penelitian. AMB laki-laki = 66+(13,7×BB) + (5×TB) - (6,8×U) AMB perempuan = 65,5+(9,6×BB) + (1,8×TB)-(4,7×U) Keterangan: BB = Berat Badan dalam satuan kg TB = Tinggi Badan dalam satuan cm U = Umur 2. Perhitungan selanjutnya perhitungan dengan panambahan variabel yaitu faktor aktivitas dan faktor stress. Untuk mencari kebutuhan energi dapat menggunakan persamaan berikut: Kebutuhan Energi = AMB × faktor aktifitas × faktor stress 3. Setelah mengetahui jumlah energi yang dibutuhkan, dilakukan perhitungan Fakultas Ilmu Komputer, Universitas Brawijaya
1700 untuk mencari kebutuhan asupan energi, protein, karbohidrat, lemak, kalsium dan fosfor dalam satu hari. Protein
12,5% dari energy total
Karbohidrat
65% dari energy total
Lemak
22,5 % dari energy total
Kalsium
1000 mg/hari
Fosfor
<17 mg/kg BB (sumber: Almatsier, 2008)
2.2 Algoritme Lebah Algoritme lebah atau sering disebut algoritme bee colony merupakan salah satu algoritme optimasi yang mengadaptasi tingkah laku kumpulan lebah madu dalam sebuah koloni untuk menemukan sumber makanan. Algoritme lebah termasuk teknik pencarian multi-agent untuk menyelesaikan permasalahan optimasi, khususnya kombinatorial. Pada penelitian ini salah satu varian algoritme lebah yang digunakan untuk penyelesaian yang digunakan untuk optimasi komposisi makanan adalah Bee colony Optimization (BCO). 2.2.1 Konsep Dasar Algoritme Lebah Pada algoritme koloni lebah, suatu koloni terdiri dari tiga kelompok lebah, yaitu: employed bee, onlookers, dan scout. Employed bee bertugas mengeksploitasi mulai dari sumber makanan secara terus menerus dan membawa informasi tentang posisi sumber makanan ke sarang lebah. Setelah mendapat informasi dari employed bee, onlooker bee akan pergi ke sumber makanan untuk melakukan eksploitasi. Scout bee bertugas untuk mencari sumber makanan di sekitar sarang lebah. Dari populasi, rata-rata banyaknya adalah 5-10 persen. Persentase di alam, walaupun terdapat 5-10 % scout dari ukuran populasi, tetapi hanya terdapat satu scout di dalam sarang lebah. Setengah dari ukuran populasi adalah employed bee, dan setengah lainnya adalah onlooker di dalam sarang lebah. Pada setiap sumber makanan hanya terdapat satu employed bee. Permasalahan optimasi pertama-tama diubah menjadi permasalahan untuk mencari vektor parameter terbaik yang meminimalkan fungsi tujuan. Kemudian lebah-lebah akan menemukan sebuah populasi dari vektor-vektor solusi awal secara
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
acak, selanjutnya memperbaikinya secara iterasi dengan menerapkan strategi: bergerak ke arah solusi-solusi yang lebih baik dengan memanfaatkan sebuah mekanisme pencarian sekitar dan mengabaikan solusi-solusi yang kurang baik. 2.2.2 Cara Kerja Algoritme Lebah 1. Inisialisasi solusi awal 𝑗
𝑗
𝑗
𝑗
𝑥𝑖 = 𝑥𝑚𝑖𝑛 + 𝑟𝑎𝑛𝑑[0,1] + (𝑥𝑚𝑎𝑥 − 𝑥𝑚𝑖𝑛 )
2. Fase employeed bee : - Lakukan swap posisi sebanyak 1 kali - Lakukan hal serupa sebanyak Nse 3. Fase onlooker bee : - Lakukan insert operator sebanyak 1 kali - Lakukan hal serupa sebanyak Nse 4. Fase scout bee 3. PERANCANGAN DAN IMPLEMENTASI Langkah awal yang dilakukan adalah merandom solusi kemudian akan dihitung dengan algoritme. Tahapan proses algoritme dapat dilihat pada Gambar 1.
1701
Secara umum siklus algoritme lebah meliputi: 1. Inisialisasi Parameter a. Data pasien gagal ginjal meliputi berat badan, tinggi badan, umur, jenis kelamin, faktor aktivitas dan faktor stress. b. Parameter algoritme lebah meliputi colony siz dan maksiterasi. 2. Inisialisasi solusi yang dihasilkan secara random dan menghitung nilai fitness. 3. Fase employeed bee, menghitung nilai fitness (jika solusi baru lebih baik gantikan posisi yang lama, jika tidak tambahkan trial dengan 1) dan hitung probabilitas tiap employeed bee. 4. Fase onlooker bee, tentukan solusi terbaru dari employeed bee dan hitung nilai fitness (jika solusi baru lebih baik gantikan posisi yang lama, jika tidak tambahkan trial dengan 1). 5. Fase scout bee, simpan solusi terbaik saat itu. 4. PENGUJIAN DAN ANALISIS Pada penelitian ini dilakukan pengujian untuk mengetahui pengaruh jumlah colony bee (individu) terhadap solusi terbaik dan pengujian untuk mengetahui pengaruh banyaknya iterasi terhadap solusi terbaik. 4.1 Pengujian Jumlah Individu Pengujian ini dilakukan dengan jumlah size problem adalah 15, dengan nilai random, dan jumlah bee colony (individu) yang digunakan adalah (10, 20, 30, 40, 50, 60, 70, 80, 90, 100). Iterasi yang digunakan sebanyak 100 kali. Pencobaan pengujian ini dilakukan sebanyak 5 kali. Hasil pengujian dapat dilihat pada Gambar 2.
Gambar 2 Hasil pengujian jumlah individu
Gambar 1 Siklus Algoritme Lebah Fakultas Ilmu Komputer, Universitas Brawijaya
Berdasarkan hasil pengujian terhadap jumlah colony bee (individu) terhadap solusi
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
terbaik yang ditunjukkan pada Gambar 2, terlihat bahwa dengan interval nilai antara 1 sampai 100 memberikan nilai rata-rata fitness tertinggi yaitu 0,107823 dengan jumlah colony size (individu) sebanyak 100. Pada pengujian terhadap solusi terbaik, jumlah individu berpengaruh pada solusi terbaik karena jika jumlah individu pada rentang yang rendah, nilai rata-rata fitness yang dihasilkan kurang optimal. Terlihat bahwa pada jumlah individu antara 1 sampai 20 menghasilkan nilai fitness kecil. Hasil fitness mulai menunjukkan konvergensi pada jumlah individu 70, dan tidak memperlihatkan penurunan fitness yang signifikan. Hal tersebut dipengaruhi oleh hasil random berat makanan pada setiap individu. Hasil serupa juga terlihat pada penelitian Nafiuna Hidayatus Saidah tentang penjadwalan job shop menggunakan algoritme serupa. Semakin banyak individu yang digunakan, maka hasil random berat makanan yang terbentuk juga semakin banyak. Sehingga kemungkinan didapatkan solusi terbaik juga tinggi (Saidah, 2015).
1702
berpengaruh pada solusi terbaik karena jika jumlah iterasi pada rentang yang rendah, nilai rata-rata fitness yang dihasilkan kurang optimal. Terlihat bahwa pada jumlah iterasi antara 1 sampai 20 menghasilkan nilai fitness kurang optimal. Nilai fitness mulai mengalami konvergensi pada jumlah iterasi sebanyak 30, dan tidak menunjukkan penurunan nilai fitness yang signifikan. Pada jumlah iterasi yang banyak, dapat dihasilkan kemungkinan solusi yang baik dikarenakan akan dilakukan perhitungan secara terus menerus untuk mendapatkan solusi terbaik. 5
KESIMPULAN
Dari serangkaian pengujian yang telah dilakukan, dapat diambil kesimpulan sebagai berikut:
Pengujian pengaruh banyaknya iterasi terhadap solusi terbaik dilakukan dengan size problem sebanyak 15, dengan nilai random, dan jumlah bee colony sebanyak 60. Banyaknya jumlah bee colony ditentukan dari pengujian sebelumnya yang menghasilkan solusi terbaik pada jumlah bee colony sebanyak 60. Iterasi yang akan dilakukan sebanyak (10, 20, 30, 40, 50, 60, 70, 80, 90, 100) kali. Hasil pengujian dapat dilihat pada Gambar 3.
1. Algoritme lebah dapat bekerja dengan baik untuk membantu dalam mengoptimasi menu makanan bagi pasien gagal ginjal. Selain itu algoritme lebah juga dapat bekerja efektif dengan proses yang tidak memakan waktu lama untuk mendapatkan nilai optimal. Tahap dalam mengimplementasikan algoritme lebah adalah pertama membentuk representasi solusi menggunakan bilangan integer dan merandom nilai gen yang akan digunakan untuk menghitung berat, harga dan nilai fitness. Setelah itu melakukan proses swap operator sebanyak satu kali dan swap sequence sebanyak Nse. Selanjutnya dilakukan proses insert operator sebanyak 1 kali dan insert sequence sebanyak Nse. Proses terakhir adalah menguji hasil pengujian yang nantinya akan didapatkan nilai rata-rata untuk dianalisis.
Gambar 3 Hasil pengujian banyaknya iterasi
2. Pengujian banyaknya bee colony dan iterasi berpengaruh terhadap nilai fitness yang dihasilkan. Jika banyaknya bee colony (individu) dan jumlah iterasi sedikit maka perhitungan yang didapatkan kurang optimal. Pada pengujian banyaknya bee colony (individu) didapatkan hasil optimal sebesar 100 individu dengan rata-rata nilai fitness sebesar 0,107823. Pada pengujian jumlah iterasi didapatkan hasil optimal pada iterasi sebanyak 100
4.2 Pengujian Banyaknya Iterasi
Pengujian jumlah iterasi terhadap solusi terbaik, digunakan jumlah individu sebanyak 100, dengan size problem sebanyak 15. Pengujian ini dilakukan dengan perbedaan pada banyaknya iterasi. Pada pengujian jumlah iterasi terhadap solusi terbaik, jumlah iterasi Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
dengan rata-rata nilai fitness sebesar 0,103334. 6. DAFTAR PUSTAKA Almatsier, Sunita. 2008. Penuntun Diet. Jakarta : Gramedia Pustaka Utama. Chong, Low, Sivakumar, dan Gay. 2006. A Bee colony Optimization Algorithm To Job Shop Scheduling. Proceeding of the 2006 Winter Simulation Conference. Fauziyah, AN & Mahmudy, WF. 2017. Optimasi Komposisi Makanan untuk Penderita Hipertensi Menggunakan Variable Neighborhood Search. Jurnal Pengembangan Teknologi Informasi dan Ilmu Kompute. vol. 1, no. 9, pp. 754-764. Karaboga, D. B. 2007. A Powerful and Efficient Algorithm for Numerical Function Optimization Artificial Bee colony Algorithm (Vol. 39). Turkey: J Glob Optim. Rismawan, T., Kusumadewi, S. 2007. Aplikasi Algoritma Genetika Untuk Penentuan Komposisi Bahan Pangan Harian. Seminar Nasional Aplikasi Teknologi Informasi (SNATI). Yogyakarta : L73-L-77. Saidah, Nafiuna H. Er, Mahendrawathi. Soelaiman, Rully. 2015. Implementasi Algoritma Optimasi Bee colony Untuk Penjadwalan Job Shop. Surabaya: Institut Teknologi Sepuluh Nopember. Uyun, Shofwatul. Hartati, Sri. 2011. Penentuan Komposisi Bahan Pangan Untuk Diet Penyakit Ginjal dan Saluran Kemih Dengan Algoritma Genetika. Seminar Nasional Aplikasi Teknologi Informasi. Yogyakarta. Wahid, N & Mahmudy, WF .2015. Optimasi komposisi makanan untuk penderita kolesterol menggunakan algoritme genetika. DORO: Repository Jurnal Mahasiswa PTIIK Universitas Brawijaya, vol. 5, no. 15. Melfazen, Oktriza. Dachlan, Harry Soekotjo & Mustofa, Ali. 2012. Carbohydrate Counting Untuk Penderita Diabetes Mellitus Dengan Teraspi Insulin Menggunakan Algoritma Koloni Lebah Buatan. Jurnal EECCIS Vol. 6, No. 1.
Fakultas Ilmu Komputer, Universitas Brawijaya
1703