Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer Vol. 1, No. 12, Desember 2017, hlm. 1642-1651
e-ISSN: 2548-964X http://j-ptiik.ub.ac.id
Penentuan Komposisi Pakan Ternak untuk Memenuhi Kebutuhan Nutrisi Ayam Petelur dengan Biaya Minimum Menggunakan Particle Swarm Optimization (PSO) Brigitta Ayu Kusuma Wardhany1, Imam Cholissodin2, Edy Santoso3 Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email:
[email protected],
[email protected],
[email protected] Abstrak Pemberian pakan yang sesuai dengan kebutuhan nutrisi ayam petelur merupakan satu hal yang harus diperhatikan. Hal ini dikarenakan, pakan yang diberikan akan mempengaruhi jumlah dan kualitas telur yang dihasilkan. Selain itu, pakan juga mempengaruhi keberhasilan suatu usaha peternakan ayam petelur, dimana biaya pakan yang dikeluarkan oleh peternak cukup besar. Sehingga, peternak harus bisa membuat komposisi pakan dengan biaya minimum namun kebutuhan nutrisi ayam terpenuhi. Untuk mendapatkan komposisi pakan tersebut, maka dilakukan penelitian menggunakan algoritme Particle Swarm Optimization (PSO). PSO merupakan salah satu algoritme optimasi yang dapat menyelesaikan masalah penentuan komposisi pakan untuk memenuhi kebutuhan nutrisi ayam petelur, sehingga mampu memaksimalkan pendapatan peternak. Penelitian ini menggunakan pengkodean real dengan panjang partikel sebanyak data bahan pakan yang digunakan yaitu 40. Setiap dimensi pada partikel mewakili bobot tiap bahan pakan. Berdasarkan hasil pengujian, diperoleh parameter terbaik, yang terdiri dari ukuran swarm = 350, jumlah iterasi = 500, ωmax = 0.9 dan ωmin = 0.4, c1i =2.5 dan c1f = 0.5 serta c2i = 0.5 dan c2f = 2.5, lalu jumlah iterasi optimal berdasarkan uji konvergensi sebesar 330. Hasil akhir yang diperoleh berupa komposisi bahan pakan terbaik dengan kebutuhan nutrisi ayam terpenuhi dan biaya minimum. Kata Kunci: Particle Swarm Optimization, pakan ayam petelur.
Abstract Feeding in accordance with nutritional needs of laying hens is the most important thing to be considered. This is because, the feed given will affect the amount and quality of the eggs produced. In addition, feed also affects the success of a chicken breeding business, where required a big amount of feed costs. So farmers must make an appropriate combination of the feed in order to obtain the minimum cost but with adequate nutrition. To obtain that feed combination, a research is conducted using Particle Swarm Optimization (PSO). PSO is one of the optimization methods that can solve the problems of feed combination to obtain the adequate nutrition of laying hens, so the farmer’s income will be maximize. This research uses a real representation of code where each particles have long number with the data feed material used is 40. Each dimension in a particle represents the weight of the feed material. According to the test results, obtained the best parameters, such as swarm size = 350, number of iteration = 500, ωmax = 0.9 and ωmin = 0.4, c1i = 2.5 and c1f = 0.5 also c2i =0.5 and c2f = 2.5, then the best number of iteration according to the convergence test is 330. The final result is a combinational of best feed ingredients with nutritional met and minimum cost. Keywords: Particle Swarm Optimization, layer chicken feed.
telur dalam jumlah banyak dan berkualitas dipengaruhi oleh beberapa faktor, salah satunya faktor pakan. Pakan juga mempengaruhi keberhasilan usaha peternakan, dimana 75% dari total biaya produksi, dihabiskan hanya untuk memenuhi kebutuhan pakan (Sunarso &
1. PENDAHULUAN Telur ayam yang biasa dikonsumsi berasal dari ras ayam petelur, yang mampu memproduksi telur antara 250 - 280 butir per tahun (Zulfikar, 2013). Untuk memproduksi Fakultas Ilmu Komputer Universitas Brawijaya
1642
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Christiyanto, 2009). Akibatnya, peluang peternak mengalami kerugian karena pengeluaran terhadap biaya pakan yang besar menjadi sangat tinggi (Hakim, et al., 2016). Untuk itu diperlukan suatu manajemen pakan berupa sistem yang didasarkan pada kualitas dan kuantitas pakan, dengan cara mencari solusi optimal diantara kemungkinan kombinasi bahan pakan untuk memenuhi kebutuhan nutrisi harian ayam petelur, sehingga mampu memaksimalkan pendapatan peternak dengan biaya sekecil mungkin. Pada penelitian sebelumnya yang dilakukan oleh Marginingtyas, et al. (2015) menggunakan algoritme genetika, bertujuan untuk mencapai biaya sekecil mungkin namun kebutuhan nutrisi ayam petelur tetap terpenuhi. Pada penelitian tersebut dikatakan bahwa, kromosom terbaik yang dihasilkan mampu memberi biaya terkecil, namun masih memiliki nilai penalti, dalam arti komposisi pakan yang terpilih belum bisa memenuhi kebutuhan nutrisi harian ayam petelur secara maksimal. Selain itu terdapat penelitian lain yang dilakukan oleh Khaqqo, et al. (2015) untuk mencari solusi optimal dari komposisi pakan sapi perah menggunakan algoritme Particle Swarm Optimization (PSO). Dimana PSO terbukti efektif menghemat biaya pakan dan menambah produksi susu, dilihat dari hasil perbandingan pakan sapi perah yang direkomendasikan oleh sistem dengan salah satu data peternak. 2. DASAR TEORI 2.1 Ayam Petelur Ayam ras petelur adalah salah satu jenis ayam yang paling banyak dipelihara oleh peternak untuk dijadikan usaha peternakan ayam petelur. Dalam pemeliharaannya, sangat ditentukan oleh faktor pakan, dimana kandungan nutrisi pada pakan harus disesuaikan dengan kebutuhan nutrisi tiap fase pertumbuhan ayam petelur. Pertumbuhan ayam petelur dibagi atas tiga fase, yakni fase starter atau masa pertumbuhan (umur 1 hari – 6 minggu), fase grower atau ayam petelur dara (umur 6 – 15 minggu), dan fase layer atau masa bertelur (umur 15 – 82/89 minggu atau apkir) ((BPPMD), 2010). 2.2 Ransum Ransum merupakan kombinasi dari bahan pakan organik maupun anorganik yang diracik Fakultas Ilmu Komputer, Universitas Brawijaya
1643
sesuai dengan kebutuhan nutrisi ternak seperti yang ditunjukkan pada Gambar 1. Selain itu, daftar kandungan nutrisi pada bahan pakan yang akan diberikan harus diketahui.
Gambar 1. Ransum dari Bahan Pakan
Selanjutnya, pemberian ransum per hari harus disesuaikan dengan kebutuhan ayam tiap masa pertumbuhan. Sehingga dalam hal ini, Penulis menggunakan persamaan winter and funk untuk menentukan jumlah kebutuhan pakan (gr) yang harus diberikan pada ayam petelur tiap harinya, yang ditujukkan pada Persamaan 1. 𝐵𝑜𝑏𝑜𝑡 𝑎𝑦𝑎𝑚 (𝑔𝑟) ))+(0,1×𝑝𝑟𝑜𝑑𝑢𝑘𝑠𝑖 𝑡𝑒𝑙𝑢𝑟 454
(8,3+(2,2×(
(
(%)))
100
) × 454
(1)
2.3 Nutrisi Pakan Ayam Petelur Standar nutrisi pakan yang dibutuhkan oleh ayam petelur antara lain, protein, metabolisme energi (ME), lemak, serat kasar, kalsium, dan fosfor. Keseluruhan nutrisi tersebut terkandung dalam berbagai jenis bahan pakan yang disusun menjadi ransum. Persamaan yang digunakan dalam menentukan kadar nutrisi (%) yang dibutuhkan ditunjukkan pada Persamaan 2. 𝑓(𝑋) =
𝐵𝑜𝑏𝑜𝑡 𝑝𝑎𝑘𝑎𝑛 𝑖,𝑗(%) 100
×𝑘𝑎𝑑𝑎𝑟 𝑛𝑢𝑡𝑟𝑖𝑠𝑖𝑥 𝑏𝑎ℎ𝑎𝑛 𝑖(%)
(2)
Keterangan: f(X) = kadar nutrisi yang akan dihitung (protein, ME, lemak, serat kasar, kalsium, dan fosfor) Bobot pakan i,j = bobot pakan pada partikel ke-i, dan dimensi ke-j Kadar nutrisix bahan i = nilai nutrisi (protein, ME, lemak, serat kasar, kalsium, dan fosfor) pada bahan ke-i Dalam penelitian ini digunakan ayam yang berada pada fase layer atau masa bertelur (umur 15-82 / 89 minggu atau apkir). Detail kandungan
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
nutrisi yang menjadi standar dalam pemenuhan kebutuhan nutrisi ayam ditunjukkan pada Tabel 1. Tabel 1. Kebutuhan Nutrisi Ayam Petelur dalam Ransum
Protein (%) Lemak (%) Serat Kasar (%) ME (Kkal/kg) Kalsium (%) Fosfor (%)
18 5 4 2850 3 0.5
Sumber : (Marginingtyas, et al., 2015)
2.4 Algoritme Particle Swarm Optimization Algoritme PSO merupakan algoritme berbasis populasi yang menerapkan teknik optimasi stokastik untuk menyelesaikan segala permasalahan optimasi global yang kompleks, dimana terinspirasi dari perilaku sosial alam seperti sekumpulan burung, ikan atau serangga (Erny, 2013). Secara garis besar, algoritme PSO memiliki tiga tahap dalam proses pencarian solusinya, dimulai dari inisialisasi posisi dan kecepatan awal partikel, dilanjutkan dengan update kecepatan, lalu update posisi. Ketiga tahap tersebut dilakukan secara berulang pada setiap iterasi. Tahap 1: melakukan inisialisasi posisi (Xi,j(t)) dan kecepatan (Vi,j(t)) awal partikel. Posisi partikel yang mewakili bobot dari masingmasing bahan pakan, dibangkitkan secara random seperti yang ditunjukkan pada Persamaan 3. Sedangkan kecepatan partikel dapat diinisialisasi menjadi nol, seperti pada Persamaan 4. 𝑋𝑖,𝑗 (𝑡) = 𝑋𝑚𝑖𝑛 + 𝑟𝑎𝑛𝑑(𝑋𝑚𝑎𝑥 − 𝑋𝑚𝑖𝑛 )
(3)
𝑉𝑖,𝑗 (𝑡) = 0
(4)
1644
iterasi ke-t. Perumusan tersebut ditunjukkan pada Persamaan 5. 𝑉𝑖,𝑗 (𝑡 + 1) = (𝜔 ∗ 𝑉𝑖,𝑗 (𝑡)) + (𝑐1 ∗ 𝑟1 ∗ (𝑝𝐵𝑒𝑠𝑡𝑖,𝑗 (𝑡) − 𝑋𝑖,𝑗 (𝑡))) + (𝑐2 ∗ 𝑟2 ∗ (𝑔𝐵𝑒𝑠𝑡𝑔,𝑗 (𝑡) − 𝑋𝑖,𝑗 (𝑡)))
(5)
Keterangan: Vi,j(t) = kecepatan partikel ke-i, pada dimensi ke-j, pada iterasi ke-t ω = bobot inersia c1 = parameter kognitif c2 = parameter sosial r1 dan r2 = nilai random dengan rentang [0,1] Xi,j(t) = posisi partikel ke-i, pada dimensi kej, pada iterasi ke-t pBesti,j(t) = posisi terbaik dari partikel ke-i pada iterasi ke-t gBesti,j(t) = nilai pBest terbaik dari swarm. Dalam perumusannya digunakan juga parameter bobot inersia (ω) yang dicari dengan rumus linear decreasing inertia weight (LDIW), yang ditunjukkan pada Persamaan 6. 𝜔 = 𝜔𝑚𝑎𝑥 − ((
𝜔𝑚𝑎𝑥 −𝜔𝑚𝑖𝑛 𝑖𝑡𝑒𝑟𝑚𝑎𝑥
) ×𝑖𝑡𝑒𝑟)
(6)
Keterangan: ωmax = nilai pemberat awal dengan rentang 0.9 – 0.4 ωmin = nilai pemberat akhir dengan rentang 0.9 – 0.4 itermax = jumlah iterasi maksimum iter = jumlah iterasi terakhir. Selain itu, c1 dan c2 dicari dengan rumus time varying acceleration coefficients (TVAC) menggunakan ci dan cf masing-masing berdasarkan rumus yang ditunjukkan pada Persamaan 7 dan 8. 𝑐1 = ((𝑐1𝑓 − 𝑐1𝑖 )× (
𝑡 𝑡𝑚𝑎𝑥
𝑐2 = ((𝑐2𝑓 − 𝑐2𝑖 )× (
)) + 𝑐1𝑖
(7)
)) + 𝑐2𝑖
(8)
𝑡 𝑡𝑚𝑎𝑥
Keterangan: Xi,j(t) = posisi partikel ke-i, pada dimensi kej, pada iterasi ke-t Vi,j(t) = kecepatan partikel ke-i, pada dimensi ke-j, pada iterasi ke-t rand = nilai random dengan rentang [0,1] Xmax = batas atas posisi partikel Xmin = batas bawah posisi partikel
Keterangan: c1i dan c1f = nilai awal dan akhir percepatan kognitif dengan rentang 2.5 – 0.5 c2i dan c2f = nilai awal dan akhir percepatan sosial dengan rentang 0.5 – 2.5 t = jumlah iterasi terakhir tmax = jumlah iterasi maksimum.
Tahap 2: melakukan update kecepatan, dimana proses ini juga menggunakan pBest dan gBest yang diperoleh dari nilai fitness terbaik pada
Hasil dari kecepatan partikel baru akan dilakukan perbaikan berdasarkan kondisi yang ditunjukkan oleh Persamaan 9.
Fakultas Ilmu Komputer, Universitas Brawijaya
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer 𝑗𝑖𝑘𝑎 𝑉𝑖,𝑗 (𝑡 + 1) > 𝑉𝑚𝑎𝑥 𝑚𝑎𝑘𝑎 𝑉𝑖,𝑗 (𝑡 + 1) = 𝑉𝑚𝑎𝑥
(9)
𝑗𝑖𝑘𝑎 𝑉𝑖,𝑗 (𝑡 + 1) < −𝑉𝑚𝑎𝑥 𝑚𝑎𝑘𝑎 𝑉𝑖,𝑗 (𝑡 + 1) = −𝑉𝑚𝑎𝑥
Dimana nilai Persamaan 10. 𝑉𝑚𝑎𝑥 = 𝑘× (
Vmax
dicari
(𝑋𝑚𝑎𝑥−𝑋𝑚𝑖𝑛) 2
menggunakan
)
(10)
Keterangan: Vmax = kecepatan partikel maksimum k = konstanta dengan rentang (0,1]. Tahap 3: melakukan update posisi tiap partikel yang dihitung melalui Persamaan 11. Setelah itu dilakukan perbaikan posisi partikel seperti pada perbaikan kecepatan. 𝑋𝑖,𝑗 (𝑡 + 1) = (𝑋𝑖,𝑗 (𝑡)) + (𝑉𝑖,𝑗 (𝑡 + 1))
(11)
Keterangan: Xi,j(t+1) = posisi partikel saat ini Xi,j(t) = posisi partikel sebelumnya Vi,j(t+1) = kecepatan partikel saat ini. Ketiga langkah di atas akan diulang terus menerus hingga kondisi berhenti terpenuhi. 3. METODE PENELITIAN
1645
Tahapan-tahapan tersebut dapat dijelaskan sebagai berikut: 1. Mempelajari berbagai macam pustaka yang berkaitan dengan penentuan komposisi pakan ayam petelur. 2. Menganalisis kebutuhan apa saja yang diperlukan dalam membangun sistem. 3. Mengumpulkan data yang digunakan untuk implementasi sistem. 4. Merancang sistem yang didasari oleh hasil analisis kebutuhan dan pengumpulan data. 5. Membangun sistem yang mengacu pada perancangan. 6. Melakukan pengujian sistem guna mengetahui apakah sistem sudah berjalan sesuai dengan spesifikasi dan kebutuhan serta tidak terjadi error. 7. Mengambil kesimpulan yang didasarkan pada hasil pengujian dan analisis metode. 4. PERANCANGAN SISTEM Berdasarkan pada bab metode penelitian, maka dibangunlah sebuah sistem penentuan komposisi pakan ayam petelur menggunakan algoritme PSO. Diagram alir sistem ditunjukkan pada Gambar 3.
Pada penelitian ini umumnya tahap-tahap yang dilakukan dalam pembuatan sistem penentuan komposisi pakan ayam petelur seperti yang ditunjukkan pada Gambar 2.
Gambar 2. Tahapan-Tahapan Penelitian Fakultas Ilmu Komputer, Universitas Brawijaya
Gambar 3. Diagram Alir Algoritme PSO
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
1646 Tabel 2. Kebutuhan Nutrisi Bekatul
Berdasarkan diagram alir di atas, algoritme PSO terdiri dari beberapa proses, antara lain: 1. Inisialisasi Partikel Inisialisasi partikel digunakan untuk menentukan posisi awal partikel secara acak dengan interval antara 1 sampai 10 menggunakan Persamaan 3. Pada tahap ini, kecepatan awal partikel diinisialisasi bernilai nol seperti pada Persamaan 4. Contoh perhitungan: Misalkan terdapat 10 jenis bahan pakan dengan Xmin = 1 dan Xmax = 10, serta nilai r sebesar 0.9, maka posisi yang didapatkan sebagai berikut:
Bekatul Protein (%) Lemak (%) Serat Kasar (%) ME (Kkal/kg) Kalsium (%) Fosfor (%)
Sumber : (Marginingtyas, et al., 2015) Maka hasil manualisasinya sebagai berikut: Protein1
𝑋1,1 (0) = 1 + (0.9×(10 − 1)) = 9.1 ≈ 9
2. Perhitungan Nilai Fitness Proses mendapatkan nilai fitness ini dibagi menjadi tiga tahap, sebagai berikut: (i) Menghitung Nutrisi Pakan Pertama-tama, lakukan sorting terhadap tiap partikel, dengan mengambil 6 dari 10 dimensi yang memiliki nilai bobot tertinggi. Sedangkan dimensi yang tidak terpilih otomatis nilainya menjadi nol. Dimensi ini melambangkan bahan pakan yang tersedia. Selanjutnya, karena total bobot bahan pakan masih jauh dari 100%, maka harus dinormalisasi terlebih dahulu menggunakan Persamaan 12.
12 12 3 2860 0.04 1.4
18.75 ×12% 100 = 2.25% =
18.75 𝐾𝑘𝑎𝑙 ×2860 100 𝐾𝑔 = 536.25 𝐾𝑘𝑎𝑙/𝐾𝑔 =
ME1
Lemak1
Serat Kasar1
Kalsium1
Fosfor1
18.75 ×12% 100 = 2.25% =
18.75 ×3% 100 = 0.5625% =
18.75 ×0.04% 100 = 0.0075% =
18.75 ×1.4% 100 = 0.2625% =
𝑁𝑜𝑟𝑚𝑎𝑙𝑖𝑠𝑎𝑠𝑖 𝑏𝑜𝑏𝑜𝑡 𝑝𝑎𝑘𝑎𝑛𝑗 = 𝑏𝑜𝑏𝑜𝑡 𝑏𝑎ℎ𝑎𝑛 𝑖,𝑗 (%) 𝑇𝑜𝑡𝑎𝑙 𝑏𝑜𝑏𝑜𝑡 𝑏𝑎ℎ𝑎𝑛 𝑡𝑒𝑟𝑝𝑖𝑙𝑖ℎ
×100%
(12)
Contoh perhitungan: Misalkan total bobot bahan terpilih sebesar 48 dan bobot bahan yang akan dihitung menggunakan posisi yang telah didapatkan pada proses inisialisasi partikel. Normalisasi bobot pakan1 (%)
9 ×100% 48 = 18.75% =
Selanjutnya, menghitung nutrisi pakan menggunakan Persamaan 2. Contoh perhitungan: Misal, akan menghitung nutrisi bahan pakan 1 dan diberikan daftar kandungan nutrisi bahan pakan tersebut seperti pada Tabel 2. Fakultas Ilmu Komputer, Universitas Brawijaya
(ii) Menghitung Penalti Dengan cara, membandingkan total nutrisi dengan kebutuhan nutrisi ayam dalam ransum yang terdapat pada Tabel 1 1 menggunakan Persamaan 13 berikut. 𝑃𝑒𝑛𝑎𝑙𝑡𝑦1…6 (%) = 0, 𝑇𝑜𝑡𝑎𝑙 ≥ 𝐾𝑒𝑏𝑁𝑢𝑡 { 𝐾𝑒𝑏𝑁𝑢𝑡 − 𝑇𝑜𝑡𝑎𝑙𝑁𝑢𝑡, 𝑇𝑜𝑡𝑎𝑙𝑁𝑢𝑡 < 𝐾𝑒𝑏𝑁𝑢𝑡
(13)
Contoh perhitungan: Misal, diberikan tabel total nutrisi bahan pakan 1 yang telah dihitung sebelumnya seperti pada Tabel 3. Tabel 3. Total Nutrisi Bekatul Bekatul Protein (%) Lemak (%) Serat Kasar (%) ME (Kkal/kg)
27.104 3.958333 9.083333 2303.75
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Kalsium (%) Fosfor (%)
0.392083 0.824167
Maka hasil manualisasinya sebagai berikut: Penalti Protein = 27.104 ≥ 18 maka penalti = 0% Penalti ME = 2303.75 ˂ 2850 maka 2850-2303.75 = 546.25 Kkal/Kg Penalti Lemak = 3.958333 ˂ 5 maka 5 – 3.958333 = 1.04167% Penalti Serat = 9.083333 ≥ 4 Kasar maka penalti = 0% Penalti Kalsium = 0.392083 ˂ 3 maka 3 – 0.392083 = 2.6079167% Penalti Fosfor = 0.824167 ≥ 0.5 maka penalti = 0% Khusus untuk nilai penalti ME harus dikonversikan terlebih dahulu ke dalam bentuk persen (%), seperti berikut. 𝐾𝑘𝑎𝑙
Penalti ME =
546.25 𝐾𝑔
𝐾𝑘𝑎𝑙 2850 𝐾𝑔
×100%=19.67%
Setelah dilakukan konversi, barulah menghitung total nilai penalti nutrisi sebagai berikut. = 0 + 19.167 + 1.04167 Penalti + 0 + 2.6079167 + 0 = 22.81625% (iii) Menghitung Harga Pakan (cost) Perhitungan biaya pakan menggunakan Persamaan 14 berikut. 𝐵𝑜𝑏𝑜𝑡 𝑏𝑎ℎ𝑎𝑛 𝑖,𝑗
𝐻𝑎𝑟𝑔𝑎 = ( ℎ𝑎𝑟𝑔𝑎 𝑏𝑎ℎ𝑎𝑛 𝑖
100
×𝑘𝑒𝑏.
𝑝𝑎𝑘𝑎𝑛 ℎ𝑎𝑟𝑖
)× (14)
Contoh perhitungan: Misalkan harga bekatul sebesar Rp 1.6,/gr. Selanjutnya, terlebih dulu menghitung kebutuhan pakan per hari berdasarkan Persamaan 1. Diberikan bobot ayam sebesar 1800 gr dan produktivitas telur sebesar 70%. Manualisasinya ditunjukkan sebagai berikut. Jumlah kebutuhan pakan/hari (8.3 + (2.2× ( =
1800 )) + (0.1×𝟕𝟎)) 454 ×454
100 (
)
Fakultas Ilmu Komputer, Universitas Brawijaya
1647 = 109.062 𝑔𝑟
Sehingga, Harga1
18.75
= ( 100 ×109.062) ×1.6 = 32.7186
Total Harga
= 32.7186 + 68.16375 + 99.9735 + 63.6195 + 39.7621875 + 27.2655 = 331.5030375
Setelah mendapatkan nilai penalti dan total harga, selanjutnya menghitung nilai fitness untuk partikel pertama menggunakan Persamaan 15 berikut ini. 𝐹𝑖𝑡𝑛𝑒𝑠𝑠 = (
1
) ×𝐾
𝑐𝑜𝑠𝑡+(𝑝𝑒𝑛𝑎𝑙𝑡𝑖×𝛼)
(15)
Keterangan: cost = atribut biaya pakan penalti = atribut nutrisi pakan α = konstanta pengali sebesar 20, agar selisih antara penalti dan cost tidak terlalu besar K = konstanta pengali sebesar 1000, agar hasil nilai fitness tidak terlalu kecil. Fitness
1 )× 331.5030375+(22.81625×20)
= (
1000 = 1.269312531 3. Update Kecepatan dan Posisi Proses update kecepatan menggunakan Persamaan 5 dan terdiri dari beberapa tahap, serta diasumsikan berada pada iterasi pertama dengan iterasi maksimal sebesar 5, sebagai berikut: (i) Menghitung nilai bobot inersia menggunakan Persamaan 6. Dimisalkan nilai ωmax dan ωmin masing-masing sebesar 0.9 dan 0.4. Sehingga dapat diselesaikan sebagai berikut. 0.9 − 0.4 𝜔 = 0.9 − (( ) ×1) = 0.8 5
(ii) Menghitung nilai c1 dan c2, menggunakan Persamaan 7 dan 8, serta nilai c1i, c1f, c2i, c2f, secara berurutan sebesar 2.5, 0.5, 0.5, 2.5. Sehingga contoh perhitungannya sebagai berikut. 1 𝑐1 = ((0.5 − 2.5)× ( )) + 2.5 = 2.1 5
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
1648
1 𝑐2 = ((2.5 − 0.5)× ( )) + 0.5 = 0.9 5
Selanjutnya dapat dihitung nilai kecepatannya sebagai berikut. Dimisalkan nilai r1 sebesar 0.174488 dan r2 sebesar 0.372605. 𝑉_1,1 (1) = (0.8 ∗ 0) + (2.1 ∗ 0.174488 ∗ (9 − 9)) + (0.9 ∗ 0.372605 ∗ (10 − 9)) = 0.3353445
Gambar 4. Halaman Utama
(iii) Melakukan perbaikan kecepatan menggunakan Persamaan 9. Dimana nilai Vmax nya dihitung terlebih dahulu menggunakan Persamaan 10 dan dimisalkan nilai k sebesar 0.6. 𝑉𝑚𝑎𝑥 = 0.6× (
(10 − 1) ) = 2.7 2
Selanjutnya melakukan update posisi menggunakan Persamaan 11 sebagai berikut.
Gambar 5. Halaman Input Data
𝑋1,1 (1) = (9) + (0.335) = 9.335
Setelah itu, melakukan proses perbaikan sama seperti pada perbaikan kecepatan. 4. Update Personal Best Pada saat iterasi = 0, nilai personal best akan diinisialisasi sama seperti inisialisasi awal posisi partikel. Namun untuk iterasi = 1 dan seterusnya, nilai personal best didapatkan dengan membandingkan nilai fitness mana yang paling besar antara nilai fitness personal best iterasi sebelumnya dengan nilai fitness posisi partikel sekarang. 5. Update Global Best Nilai global best didapatkan dari nilai personal best terpilih yang memiliki fitness terbesar. 5. HASIL DAN PEMBAHASAN 5.1 Hasil Implementasi Sistem Pembuatan sistem penentuan komposisi pakan ayam petelur ini diimplementasikan menggunakan bahasa pemrograman PHP. Pada Gambar 4 merupakan implementasi halaman utama sistem. Selanjutnya, Gambar 5 merupakan implementasi halaman input data untuk diproses menggunakan algoritme PSO. Terakhir, Gambar 6 merupakan implementasi halaman hasil proses PSO dengan komposisi pakan optimal. Fakultas Ilmu Komputer, Universitas Brawijaya
Gambar 6. Halaman Hasil Proses PSO
5.2 Pengujian dan Analisis Pada penelitian ini, terdapat dua jenis pengujian yang dilakukan, yaitu pengujian parameter PSO dan pengujian konvergensi. Parameter yang diuji meliputi, ukuran swarm, jumlah iterasi, bobot inersia, dan koefisien akselerasi. Seluruh pengujian dilakukan secara sekuensial. Berikut penjelasan terperinci mengenai hasil pengujian tersebut. 1. Pengujian Ukuran Swarm Pengujian ini dilakukan sebanyak 10 kali percobaan dengan kelipatan 50 sampai dengan 500. Parameter input-an awal yang digunakan dalam pengujian ini adalah sebagai berikut: a. Berat ayam (gram) = 1800 b. Produksi telur (%) = 70 c. r1 dan r2 = 0.5 & 0.5 d. k = 0.6 e. ωmax & ωmin = 0.9 & 0.4
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
f. c1i, c1f, c2i, c2f, = 2.5, 0.5, 0.5, 2.5 g. Jumlah iterasi = 100 Grafik hasil pengujian ukuran swarm dapat dilihat pada Gambar 7. Dari hasil pengujian tersebut didapatkan ukuran swarm terbaik sebanyak 350, dengan rata-rata nilai fitness sebesar 3.662351.
1649
sebanyak 500, dengan rata-rata nilai fitness sebesar 3.734097.
Gambar 8. Grafik Hasil Pengujian Jumlah Iterasi
Gambar 7. Grafik Hasil Pengujian Ukuran Swarm
Pada grafik tersebut memperlihatkan bahwa semakin besar ukuran swarm, semakin besar pula rata-rata nilai fitness yang didapatkan. Hal ini dikarenakan, besar ukuran swarm merepresentasikan solusi optimal yang dapat dipilih lebih bervariasi. Selain itu, seiring dengan bertambahnya jumlah partikel, ruang pencarian solusi tiap iterasi juga semakin luas, sehingga memungkinkan untuk memperoleh solusi optimal. Namun pada grafik tersebut juga menunjukkan adanya ketidakstabilan nilai fitness, yaitu terjadi penurunan dimulai pada saat ukuran swarm sebesar 400. Hal tersebut, kemungkinan disebabkan oleh adanya nilai random pada rumus pembangkitan populasi partikel, dimana mempengaruhi tingkat stokastik partikel tersebut. 2. Pengujian Jumlah Iterasi Pengujian ini dilakukan sebanyak 10 kali percobaan dengan kelipatan 50 sampai dengan 500. Parameter input-an awal yang digunakan dalam pengujian ini adalah sebagai berikut: a. Berat ayam (gram) = 1800 b. Produksi telur (%) = 70 c. r1 dan r2 = 0.5 & 0.5 d. k = 0.6 e. ωmax & ωmin = 0.9 & 0.4 f. c1i, c1f, c2i, c2f, = 2.5, 0.5, 0.5, 2.5 g. Ukuran swarm = 350 Grafik hasil pengujian jumlah iterasi dapat dilihat pada Gambar 8. Dari hasil pengujian tersebut didapatkan jumlah iterasi terbaik Fakultas Ilmu Komputer, Universitas Brawijaya
Pada grafik tersebut memperlihatkan adanya kenaikan rata-rata nilai fitness seiring dengan bertambahnya jumlah iterasi. Hal ini dikarenakan, semakin besar jumlah iterasi maka peluang untuk mendapatkan nilai fitness terbaik juga semakin besar. Namun, terdapat ketidakstabilan nilai fitness, disaat iterasi sebesar 150 dan 350. Hal ini dipengaruhi oleh pembangkitan posisi partikel. Semakin baik nilai posisi yang dibangkitkan, maka semakin cepat menemukan solusi optimal, sehingga tidak memerlukan iterasi yang terlalu banyak. 3. Pengujian Bobot Inersia Pengujian ini dilakukan sebanyak 10 kali percobaan. Parameter input-an awal yang digunakan dalam pengujian ini adalah sebagai berikut: a. Berat ayam (gram) = 1800 b. Produksi telur (%) = 70 c. r1 dan r2 = 0.5 & 0.5 d. k = 0.6 e. c1i, c1f, c2i, c2f, = 2.5, 0.5, 0.5, 2.5 f. Ukuran swarm = 350 g. Jumlah iterasi = 500 Grafik hasil pengujian kombinasi bobot inersia dapat dilihat pada Gambar 9. Dari hasil pengujian tersebut didapatkan kombinasi bobot inersia terbaik untuk ωmax sebesar 0.9 dan ωmin sebesar 0.4, dengan ratarata nilai fitness sebesar 3.732274.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
Gambar 9. Grafik Hasil Pengujian Kombinasi Bobot Inersia
Kombinasi nilai bobot inersia terbaik yang diperoleh tersebut akan menghasilkan nilai yang cenderung mengecil seiring bertambahnya iterasi. Selain itu, selisih antara nilai ωmax dan ωmin terbaik juga paling besar dibandingkan dengan nilai ωmax dan ωmin lainnya. Hal ini berbanding lurus dengan selisih nilai penurunan kecepatan tiap iterasi yang juga semakin besar. Mengecilnya nilai bobot inersia dan adanya penurunan kecepatan tiap iterasi, mengakibatkan kecepatan partikel di awal pencarian semakin lambat. Selain itu, daya eksplorasi partikel menurun, sehingga akan memberikan kesempatan eksploitasi lokal lebih besar, dalam arti daerah pencarian solusi lebih berfokus pada daerah optimum lokal. Sehingga solusi optimum pada setiap wilayah yang dikunjungi tidak akan terlewati. 4. Pengujian Koefisien Akselerasi Pengujian ini dilakukan sebanyak 10 kali percobaan. Parameter input-an awal yang digunakan dalam pengujian ini adalah sebagai berikut: a. Berat ayam (gram) = 1800 b. Produksi telur (%) = 70 c. r1 dan r2 = 0.5 & 0.5 d. k = 0.6 e. ωmax & ωmin = 0.9 & 0.4 f. Ukuran swarm = 350 g. Jumlah iterasi = 500 Grafik hasil pengujian kombinasi koefisien akselerasi dapat dilihat pada Gambar 10. Dari hasil pengujian tersebut didapatkan kombinasi koefisien akselerasi terbaik untuk c1i sebesar 2.5, c1f sebesar 0.5, c2i sebesar 0.5, dan c2f sebesar 2.5, dengan ratarata nilai fitness sebesar 3.644.
Fakultas Ilmu Komputer, Universitas Brawijaya
1650
Gambar 10. Grafik Hasil Pengujian Koefisien Akselerasi
Kombinasi nilai koefisien akselerasi terbaik yang diperoleh tersebut akan menghasilkan nilai c1 yang cenderung berkurang dan c2 yang cenderung bertambah tiap iterasi. Hal ini menunjukkan bahwa, pada awal proses optimasi, partikel cenderung melakukan eksplorasi, lalu dilanjutkan dengan eksploitasi ketika mendekati akhir proses. Dengan begitu, peluang mencapai konvergen dengan solusi yang optimum pun semakin besar. Selanjutnya, selisih antara koefisien c1i dan c1f serta c2i dan c2f terbaik paling besar diantara selisih koefisien akselerasi lainnya. Hal ini menandakan bahwa, proses untuk memperoleh solusi optimal membutuhkan waktu iteratif yang lama, karena proses pencarian solusi yang luas. 5. Pengujian Konvergensi Pengujian konvergensi dilakukan dengan menggunakan seluruh parameter terbaik yang telah diperoleh dari pengujian sebelumnya, kecuali jumlah iterasi. Selain itu, pengujian dilakukan sebanyak 5 kali percobaan, dimana parameter awal yang digunakan dalam pengujian ini adalah sebagai berikut: a. Berat ayam (gram) = 1800 b. Produksi telur (%) = 70 c. ωmax & ωmin = 0.9 & 0.4 d. c1i, c1f, c2i, c2f, = 2.5, 0.5, 0.5, 2.5 e. Ukuran swarm = 350 f. Jumlah iterasi = 1000 Grafik hasil pengujian konvergensi dapat dilihat pada Gambar 11. Dari hasil pengujian tersebut didapatkan nilai fitness terbaik sebesar 4.02190223, telah mencapai optimum global (konvergen) pada saat iterasinya sebesar 330 hingga seterusnya.
Jurnal Pengembangan Teknologi Informasi dan Ilmu Komputer
1651
kebutuhan nutrisi ayam juga sudah cukup terpenuhi dengan nilai penalti sebesar 9.746823404%. DAFTAR PUSTAKA (BPPMD), B. P. d. P. M. D., 2010. Profil Budidaya Ayam Petelur, s.l.: BPPMD Kalimantan Timur. Gambar 11. Grafik Hasil Pengujian Konvergensi
Hal ini dikarenakan keragaman populasi telah menurun ketika mencapai iterasi tersebut. Dalam arti, jarang ditemukan lagi partikel yang berbeda dengan iterasi sebelumnya. Jika tidak ditemukannya lagi partikel yang berbeda, maka selisih nilai fitness global best pada iterasi tersebut dan seterusnya telah mencapai nol. Selain itu, berdasarkan pada grafik tersebut, dapat dilihat telah terjadi proses perbaikan yang jelas dan berjenjang dimulai ketika iterasinya kecil hingga besar. Proses tersebut menandakan bahwa konvergensi dini tidak terjadi pada saat iterasinya kecil. 6. KESIMPULAN Berdasarkan hasil analisis pengujian, maka dapat ditarik beberapa kesimpulan, sebagai berikut: 1. Implementasi algoritme Particle Swarm Optimization (PSO) terbukti dengan baik, mampu digunakan untuk menyelesaikan permasalahan penentuan komposisi pakan ternak untuk memenuhi kebutuhan nutrisi ayam petelur dengan biaya minimum, dimana hasilnya mendekati optimal. 2. Pengujian yang telah dilakukan dalam penelitian ini berfokus pada pengujian parameter PSO dan konvergensi. Dari hasil pengujian tersebut, didapatkan parameter PSO yang paling optimal diantaranya, ukuran swarm = 350, jumlah iterasi = 500, ωmax = 0.9 dan ωmin = 0.4, c1i & c1f = 2.5 & 0.5, serta c2i & c2f = 0.5 & 2.5. Untuk pengujian konvergensi, digunakan untuk mengetahui iterasi terbaik yang telah mencapai konvergen (optimum global). Dimana dalam penelitian ini terjadi konvergen pada saat iterasi mencapai 330 dengan nilai fitness sebesar 4.02190223 dan dapat menghemat biaya pakan hingga 42% atau setara dengan Rp 226.7,- serta Fakultas Ilmu Komputer, Universitas Brawijaya
Erny, 2013. Optimasi Pola Penyusunan Barang dalam Peti Kemas Menggunakan Algoritma Particle Swarm Optimization. Jurnal Matematika Komputasi. Hakim, L., R, S. B. & Qodariyah, N., 2016. Penerapan Algoritma Memetika pada Penentuan Komposisi Pakan Ayam Petelur. Khaqqo, A., Cholissodin, I. & Widodo, A. W., 2016. Optimasi Komposisi Pakan Sapi Perah Menggunakan Algoritma Particle Swarm Optimization. Jurnal Teknologi Informasi dan Ilmu Komputer, 8(2). Marginingtyas, E., Mahmudy, W. F. & Indriati, 2015. Penentuan Komposisi Pakan Ternak untuk Memenuhi Kebutuhan Nutrisi Ayam Petelur dengan Biaya Minimum Menggunakan Algoritma Genetika. Jurnal Teknologi Informasi dan Ilmu Komputer, 5(12). Sunarso & Christiyanto, M., 2009. Manajemen Pakan. Zulfikar, 2013. Manajemen Pemeliharaan Ayam Petelur Ras. 13(1).