• Tidak ada hasil yang ditemukan

Optimalisasi Penyusunan Barang Pada Mobil Bo

ANALISIS DAN PERANCANGAN

3.3. Optimalisasi Penyusunan Barang Pada Mobil Bo

3.3.1. Inisialisasi

Tahapan inisialisasi dilakukan untuk menentukan urutan awal masuk barang. Proses yang dilakukan pada tahapan inisialisasi adalah pembangkitan bilangan acak dan penentuan urutan masuk barang.

Pembangkitan Bilangan Acak

Pada penelitian ini, inisialisasi solusi awal penyusunan barang menggunakan pembangkitan bilangan acak. Sebelum urutan awal masuk barang ditentukan, terlebih dahulu harus dilakukan pembangkitan bilangan acak sebanyak jumlah barang dan kandidat solusi yang diinginkan. Sebagai contoh, jika kandidat solusi yang diinginkan berjumlah dua dan barang yang akan disusun berjumlah sepuluh, maka akan ada dua puluh bilangan acak yang dibangkitkan.

Penentuan Urutan Masuk Barang

Setelah bilangan acak dibangkitkan untuk masing-masing kandidat solusi, maka proses selanjutnya adalah penentuan urutan masuk barang. Penentuan urutan masuk barang dilakukan dengan cara mengurutkan nilai bilangan acak yang dimiliki masing- masing kandidat solusi dari terkecil hingga terbesar. Contoh urutan masuk barang yang didapatkan dari hasil pengurutan bilangan acak masing-masing kandidat solusi dapat dilihat pada Tabel 3.3.

Tabel 3.3. Urutan Masuk Barang Awal Kandidat Solusi Urutan Barang 1 2 3 4 5 6 7 8 9 10 1 4 10 1 5 3 2 8 6 9 7 2 4 9 1 10 2 7 3 6 5 8

Pada Tabel 3.3., terdapat sepuluh barang yang akan disusun sesuai dengan daftar barang yang ada pada Tabel 3.2. dan dua kandidat solusi penyusunan. Pada kandidat solusi 1, bilangan acak terkecil berada pada barang 4 sehingga urutan barang 4 adalah 1 yang merupakan awal dari urutan, dan dilanjutkan ke urutan berikutnya sebanyak jumlah barang sehingga akan terbentuk satu kandidat solusi yang mewakilkan urutan masuk barang. Pada penerapannya dalam penyusunan barang, urutan ini merupakan urutan penyusunan barang, yaitu dimulai dari barang yang mendapatkan urutan 1 yaitu barang ke-4, ke-10, dan seterusnya hingga barang terakhir yang disusun adalah barang dengan urutan 10 yaitu barang ke-7. Adapun urutan penyusunan yang dimiliki kandidat solusi 1 adalah 4-10-1-5-3-2-8-6-9-7, sedangkan urutan penyusunan yang dimiliki kandidat solusi 2 adalah 4-9-1-10-2-7-3-6-5-8.

3.3.2. Penyusunan barang

Setelah urutan masuk barang awal ditentukan, maka barang-barang akan disusun berdasarkan urutan tersebut. Penyusunan barang pertama dimulai dari baris pertama ruang kiri, depan, dan bawah mobil box. Barang selanjutnya disusun di sebelah kanan barang pertama sepanjang lebar mobil box. Jika barang selanjutnya tidak dapat disusun di sebelah kanan, maka penyusunan dilanjutkan ke atas barang sebelumnya dan seterusnya sampai barang tidak dapat dimuat lagi ke atas. Kemudian penyusunan dilanjutkan ke baris kedua yaitu dimulai dari sebelah kiri tepat di belakang barang pertama diletak. Lalu penyusunan dilanjutkan seperti pada baris pertama yaitu ke sebelah kanan lalu ke atasnya. Jika ruang sudah tidak dapat terisi lagi, maka penyusunan untuk mobil tersebut akan berakhir. Pada tahap penyusunan barang ada langkah-langkah yang harus dilakukan yaitu penentuan barang yang dapat disusun dan perhitungan nilai fitness.

Penentuan Barang yang Dapat Disusun

Sebelum total volume barang yang berhasil disusun dihitung, terlebih dahulu harus ditentukan barang-barang mana saja yang dapat disusun pada mobil box. Penentuan barang ini sangat ditentukan oleh urutan masuk barang yang dimiliki masing-masing kandidat solusi. Pada setiap barang yang akan disusun berdasarkan urutannya, barang tersebut akan diperiksa untuk menentukan posisi barang pada mobil box. Bisa atau tidaknya barang tersebut disusun ditentukan oleh nilai parameter yang dimiliki masing-masing barang. Ada batasan-batasan yang tidak boleh dilanggar oleh nilai parameter suatu barang agar barang tersebut dapat disusun pada mobil box seperti batasan orientasi, beban maksimal mobil, kapasitas ruang mobil, serta stabilitas muatan. Barang yang tidak melanggar batasan dan memenuhi setiap kondisi yang ada akan disusun pada mobil box. Adapun pseudocode proses penentuan barang yang dapat disusun pada mobil box dapat dilihat pada Gambar 3.2.

Gambar 3.2. Penentuan Penyusunan Barang

Proses penentuan barang yang dapat disusun pada mobil box sesuai dengan langkah-langkah pada Gambar 3.2. menggunakan parameter mobil pada Tabel 3.1. dan parameter barang pada Tabel 3.2. berdasarkan urutan masuk barang yang terdapat pada Tabel 3.4. untuk kandidat solusi 1 dapat diilustrasikan sebagai berikut.

1. Simpan parameter mobil box yang digunakan, (P = 100, L = 60, T = 50, W = 100).

2. Barang diurutkan berdasarkan urutan masuk barang yang dimiliki kandidat solusi 1, yaitu 4-10-1-5-3-2-8-6-9-7.

Simpan data barang i, i=(1,2,...,n)

Simpan parameter mobil (panjang, lebar, tinggi, beban maksimum)

While (i <= n)

Simpan parameter barang i (panjang, lebar, tinggi, berat, perotasian)

If berat barang i + total berat barang tersusun <= beban maksimum mobil

If barang i dapat dirotasi

Analisa setiap parameter barang i sebanyak enam variasi orientasi barang Simpan nilai dimensi 1, dimensi 2, dan dimensi 3 barang sesuai variasi orientasi yang paling sesuai mengisi celah

Else

Tetapkan panjang barang sebagai dimensi 1, tinggi barang sebagai dimensi 2, dan lebar barang sebagai dimensi 3

If dimensi 1 barang i <= lebar mobil dan dimensi 2 barang i <= tinggi mobil dan dimensi 3 barang i <= panjang mobil

If (dimensi 1 barang i <= sisa lebar mobil) Susun barang i ke samping

Else if (dimensi 2 barang i <= sisa tinggi mobil) Susun barang i ke atas

Else if (dimensi 3 barang i <= sisa panjang mobil) Susun barang i ke belakang

Else

Barang i tidak dapat disusun Simpan koordinat posisi barang i

Update sisa lebar, panjang, dan tinggi mobil Update total berat barang tersusun

Else

Barang i tidak dapat disusun Ambil barang selanjutnya (i = i+1)

End While

3. Simpan parameter barang urutan pertama, yaitu barang 4 (p = 25, l = 25, t = 20, w = 6, rotasi = tidak).

4. Periksa berat barang (w = 6) apakah tidak melebihi batas beban maksimal mobil (W=100). Jika melebihi, barang tidak dapat disusun.

5. Periksa perotasian barang. Untuk barang yang dapat dirotasi, analisa setiap parameter barang dengan menukar nilai masing-masing dimensi barang sebanyak enam variasi orientasi untuk mencari orientasi mana yang paling sesuai mengisi celah pada mobil box. Simpan nilai dimensi 1, dimensi 2, dan dimensi 3 barang. Untuk barang yang tidak dapat dirotasi, tetapkan panjang barang sebagai dimensi 1, tinggi barang sebagai dimensi 2, dan lebar barang sebagai dimensi 3.

6. Periksa dimensi 1, dimensi 2, dan dimensi 3 barang (p = 25, t = 20, l = 25) apakah tidak melebihi lebar, tinggi, dan panjang mobil (L = 60, T = 50, P = 100). Jika melebihi, barang tidak dapat disusun.

7. Periksa masing-masing dimensi 1, dimensi 2, dan dimensi 3 barang dan bandingkan dengan masing-masing sisa lebar, tinggi, dan panjang mobil. Jika dimensi 1 barang (p = 25) lebih kecil dari sisa lebar mobil (L = 60), maka barang disusun ke samping. Jika dimensi 2 barang (t = 20) lebih kecil dari sisa tinggi mobil (T = 50), maka barang disusun ke atas. Jika dimensi 3 barang (l = 25) lebih kecil dari sisa panjang mobil (P = 100), maka barang disusun ke belakang. Jika kondisi tidak terpenuhi, maka barang tidak dapat disusun. 8. Simpan koordinat dan posisi barang (cox= 0, coy= 0, coz= 0, px = 25 , py=

20, dan pz= 25).

9. Ubah sisa panjang, lebar, tinggi, dan beban maksimal mobil (P = 100-25 = 75, L = 60-25 = 35, T = 50-20 = 30, W = 100-6 = 94).

10.Ulangi langkah 3 hingga 9 untuk semua barang berdasarkan urutan masuk barang.

11.Ulangi langkah 2 hingga 10 untuk semua kandidat solusi.

Barang-barang yang dapat dirotasi memiliki enam variasi orientasi peletakan barang pada mobil box. Pemilihan orientasi mana yang paling sesuai diterapkan untuk barang tersebut ditentukan dengan membandingkan selisih celah yang dapat memuat

dimensi barang tersebut. Sebagai contoh, kandidat solusi 2 memiliki urutan penyusunan yaitu 4-9-1-10-2-7-3-6-5-8. Barang 1 yang berada pada urutan ke-3 memiliki parameter panjang, tinggi, dan lebar berturut-turut adalah 40, 30, dan 30 serta memiliki sifat dapat dirotasi sehingga memiliki enam variasi orientasi seperti yang ditunjukkan oleh Gambar 2.3. Perbedaan susunan barang pada urutan ke-3 untuk enam variasi orientasi yang dimiliki barang 1 dapat dilihat pada Gambar 3.3.

(a) (b) (c)

(d) (e) (f)

Gambar 3.3. Variasi Orientasi Susunan Barang (a) Variasi 1; (b) Variasi 2; (c) Variasi 3; (d) Variasi 4; (e) Variasi 5; (f) Variasi 6

Pada Gambar 3.3. dapat dilihat enam variasi susunan barang pada urutan ke-3. Pada variasi 1 dan 2, dimensi panjang barang ditetapkan sebagai dimensi 1 sehingga menempati lebar mobil. Pada variasi 3 dan 4, dimensi panjang barang ditetapkan sebagai dimensi 2 sehingga menempati tinggi mobil. Pada variasi 5 dan 6, dimensi panjang barang ditetapkan sebagai dimensi 3 sehingga menempati panjang mobil. Variasi 3 dan 4 tidak akan dipilih sebagai orientasi untuk barang 1 dikarenakan batasan kapasitas ruang mobil box dilanggar, yaitu tinggi penyusunan barang melebihi tinggi mobil box. Adapun orientasi barang 1 yang akan dipilih di antara variasi 1, 2, 5, dan 6 adalah variasi 1 atau 2. Hal ini dikarenakan nilai dimensi yang menempati panjang mobil pada variasi 1 dan 2, yaitu 30 cm, lebih mendekati nilai dimensi yang menempati panjang mobil untuk barang di urutan sebelumnya (barang 4), yaitu 25 cm, sehingga selisih nilai dimensi yang menempati panjang mobil sama dengan 5 cm.

Sedangkan pada variasi 5 dan 6, selisih nilai dimensi yang menempati panjang mobil sama dengan 15 cm, dikarenakan nilai dimensi yang menempati panjang mobil pada variasi tersebut adalah 40 cm. Pemilihan orientasi barang yang paling sesuai dengan membandingkan selisih nilai dimensi yang menempati panjang mobil ini dilakukan agar celah yang tidak dapat terisi barang dapat diminimalkan.

Perhitungan Nilai Fitness

Pada setiap langkah penyusunan barang, masing-masing kandidat solusi akan dievaluasi dengan cara menghitung nilai fitness berdasarkan fungsi objektif yang diberikan, yaitu untuk memaksimalkan total volume barang yang dapat disusun pada mobil box. Nilai fitness dari masing-masing kandidat solusi didapatkan dengan cara menghitung total volume barang yang berhasil disusun pada mobil box. Perhitungan nilai fitness masing-

masing solusi ditentukan berdasarkan barang-barang apa saja yang dapat disusun sesuai urutan masuk barang. Urutan masuk tersebut dievaluasi apakah menghasilkan susunan yang optimal dengan cara menghitung total volume barang yang berhasil disusun.

Pada Tabel 3.4, dapat dilihat bahwa kandidat solusi 1 memiliki urutan penyusunan dari peletakan barang pertama hingga terakhir yaitu barang 4-10-1-5-3-2- 8-6-9-7 dan kandidat solusi 2 memiliki urutan penyusunan 4-9-1-10-2-7-3-6-5-8. Apabila urutan tersebut diterapkan pada penyusunan barang di mobil box dengan menggunakan data mobil box yang ada pada Tabel 3.1. sesuai dengan dimensi masing-masing barang yang terdapat pada Tabel 3.2. serta memenuhi aturan dan batasan cara penyusunan barang yang sudah dijelaskan di langkah sebelumnya yaitu langkah penentuan barang yang dapat disusun, maka hasil penyusunan yang didapatkan dari urutan kandidat solusi 1 adalah hanya dapat menyusun 7 barang saja yaitu barang 1, 2, 3, 4, 5, 8, dan 10. Kandidat solusi 1 tidak dapat menyusun barang 6, 7 dan 9. Sedangkan kandidat solusi 2 dapat menyusun 9 barang yaitu barang 1, 2, 3, 4, 5, 6, 7, 9, dan 10 dan tidak dapat menyusun barang 8. Berdasarkan ukuran panjang, lebar, dan tinggi masing-masing barang yang terdapat pada Tabel 3.2., maka apabila urutan masuk barang yang dihasilkan oleh kandidat solusi 1 diterapkan, nilai total volume barang yang dapat disusun dan dihitung menggunakan Persamaan 2.1. dari kandidat solusi 1 adalah sebagai berikut.

f(x) 1 = (40*30*30*1) + (35*25*30*1) + (30*30*30*1) + (25*25*20*1) + (40*20*10*1) + (40*30*30*0) + (20*20*30*0) + (25*25*25*1) + (30*15*20*0) + (25*15*15*1) = (36000) + (26250) + (27000) + (12500) + (8000) + (0) + (0) + (15625) + (0) + (5625) = 131000

Sedangkan total volume yang didapat jika urutan masuk barang yang dihasilkan oleh kandidat solusi 2 diterapkan adalah sebagai berikut.

f(x) 2 = (40*30*30*1) + (35*25*30*1) + (30*30*30*1) + (25*25*20*1) + (40*20*10*1) + (40*30*30*1) + (20*20*30*1) + (25*25*25*0) + (30*15*20*1) + (25*15*15*1) = (36000) + (26250) + (27000) + (12500) + (8000) + (36000) + (12000) + (0) + (9000) + (5625) = 172375

Dari dua perhitungan total volume di atas dapat dilihat bahwa nilai fitness yang dihasilkan oleh kandidat solusi 1 adalah 131000 sedangkan nilai fitness yang dihasilkan oleh kandidat solusi 2 adalah 172375.

3.3.3. Optimalisasi Penyusunan Barang Menggunakan Algoritma Firefly

Pada tahapan optimalisasi penyusunan barang, penerapan algoritma firefly digunakan untuk mengoptimalkan susunan barang yang telah dihasilkan pada tahapan sebelumnya sehingga didapatkan solusi penyusunan yang lebih baik dibandingkan susunan yang dihasilkan sebelumnya sesuai dengan batasan-batasan yang ada. Tahapan penerapan algoritma firefly dalam optimalisasi penyusunan barang dapat dilihat pada flowchart di Gambar 3.4.

Gambar 3.4. Tahapan Penerapan Algoritma Firefly

Adapun rincian langkah-langkah penerapan algoritma firefly dalam melakukan optimalisasi penyusunan barang dapat dilihat pada Gambar 3.5.

Gambar 3.5. Langkah-langkah Algoritma Firefly pada Optimalisasi Penyusunan Barang

Adapun penjelasan dari Gambar 3.5. adalah sebagai berikut :

 Tahapan awal pada algoritma firefly adalah tahapan inisialisasi untuk pembentukan populasi awal algoritma firefly. Pada tahapan ini parameter- parameter algoritma firefly ditentukan. Nilai posisi awal dari masing-masing firefly juga akan ditentukan sesuai dengan bilangan acak yang dihasilkan pada tahapan sebelumnya sebanyak jumlah barang yang akan disusun dan kandidat solusi yang diinginkan.

 Kemudian nilai intensitas cahaya masing-masing firefly akan ditentukan sesuai dengan nilai fitness yang dihasilkan pada tahapan sebelumnya. Lalu, lakukan pencarian nilai fitness kedua yaitu pencarian total volume barang untuk ketinggian 0-1/2 tinggi mobil.

Inisialisasi jumlah populasi firefly (n), jumlah generasi atau iterasi (t), jumlah barang (d)

Inisialisasi parameter algoritma firefly (α,o,)

Tentukan posisi awal masing-masing firefly xi (i=1,2,..,n)

Tetapkan nilai fitness awal firefly f(x) sebagai intensitas cahaya firefly x (Ix)

Hitung nilai fitness 2 firefly (f(x)2) While kriteria berhenti belum terpenuhi

For i = 1 sampai i = n

For j = i+1 sampai j = n

If (Ii) < (Ij) atau (Ii) = (Ij) dan f(i)2 < f(j)2

Lakukan pergerakan firefly i mendekati firefly j

End if

Evaluasi solusi dengan melakukan penyusunan barang berdasarkan posisi baru firefly

Hitung nilai fitness firefly baru

Tetapkan nilai fitness firefly baru sebagai nilai intensitas cahaya baru masing-masing firefly

Hitung nilai fitness 2 firefly

End for j

End for i

Urutkan firefly dari tertinggi hingga terendah berdasarkan nilai I Tetapkan firefly dengan nilai I tertinggi sebagai firefly terbaik (nbest)

End While

 Pada tahapan pergerakan firefly, masing-masing firefly dibandingkan berdasarkan nilai intensitas cahayanya. Firefly yang memiliki intensitas cahaya lebih kecil akan bergerak mendekati firefly yang memiliki intensitas cahaya lebih besar. Apabila terdapat firefly yang memiliki nilai intensitas cahaya sama, maka bandingkan nilai fitness 2 masing-masing firefly. Firefly yang memiliki nilai fitness 2 lebih kecil akan bergerak mendekati firefly yang memiliki nilai fitness 2 lebih besar. Dari proses pergerakan firefly tersebut akan didapatkan posisi baru bagi masing-masing firefly.

 Solusi penyusunan akan dievaluasi sesuai dengan urutan masuk barang yang dihasilkan oleh posisi baru firefly dengan cara menyusun barang-barang menggunakan urutan tersebut. Posisi baru masing-masing firefly ini akan menghasilkan solusi penyusunan yang baru juga sehingga nilai intensitas cahaya dan nilai fitness 2 masing-masing firefly akan berubah dikarenakan berubahnya urutan masuk barang masing-masing firefly.

Firefly lalu diurutkan berdasarkan intensitas cahayanya. Firefly yang memiliki intensitas cahaya terbesar akan ditandai sebagai firefly terbaik pada iterasi ini dan akan dipertahankan untuk iterasi berikutnya.

 Tahapan pergerakan firefly hingga pengurutan firefly akan terus diulang sampai kriteria berhenti terpenuhi.

Firefly terbaik dari seluruh iterasi akan diambil sebagai solusi penyusunan terbaik.

Inisialisasi Populasi Firefly

Tahapan inisialisasi populasi firefly dilakukan untuk membangkitkan populasi firefly. Tahapan inisialisasi dimulai dengan menentukan nilai dari parameter-parameter algoritma firefly seperti jumlah populasi firefly (n), jumlah generasi atau iterasi (t), konstanta alpha (α), konstanta ketertarikan (o), dan konstanta gamma (). Setelah itu

dilanjutkan dengan menentukan banyaknya dimensi firefly yang akan digunakan sebagai posisi awal dari masing-masing firefly (xij). Terdapat dua dimensi yaitu

dimensi i dan dimensi j. Banyaknya dimensi i ditentukan oleh banyaknya populasi firefly yang merupakan jumlah kandidat solusi yang diinginkan sedangkan banyaknya dimensi j ditentukan oleh banyaknya barang yang akan disusun.

Setelah banyaknya dimensi ditentukan, pembangkitan bilangan acak dilakukan untuk menentukan nilai posisi awal masing-masing firefly, kemudian diisikan ke dalam matriks solusi (i x j) dimana dimensi i akan mewakilkan kandidat solusi dan

dimensi j akan mewakilkan barang yang akan disusun. Setiap satu firefly i akan memiliki nilai posisi sebanyak j. Sebagai contoh, jika ada dua firefly dengan jumlah barang sebanyak sepuluh, maka akan ada dua puluh nilai posisi yang harus diisikan ke dalam matriks solusi. Adapun nilai posisi awal masing-masing firefly i (x) untuk setiap barang j dapat dilihat pada Tabel 3.4.

Tabel 3.4. Nilai Posisi Awal Firefly f1 dan f2

Firefly (i) Dimensi (j) 1 2 3 4 5 6 7 8 9 10 xf1 0.100 0.194 0.179 0.002 0.168 0.555 0.857 0.221 0.693 0.066 xf2 0.040 0.289 0.620 0.007 0.834 0.653 0.597 0.954 0.027 0.260

Penentuan Nilai Intensitas Cahaya Firefly

Pada penelitian ini, nilai intensitas cahaya masing-masing firefly ditentukan oleh fungsi objektif sesuai dengan Persamaan 2.5. yang dalam hal ini merupakan nilai fitness. Nilai intensitas cahaya awal firefly ditentukan berdasarkan nilai fitness yang dihasilkan oleh masing-masing kandidat solusi pada tahapan perhitungan fitness sebelumnya. Nilai fitness yang dihasilkan masing-masing kandidat solusi akan dijadikan nilai intensitas cahaya awal masing-masing firefly. Nilai intensitas cahaya awal untuk masing-masing firefly f1 dan f2 sesuai dengan perhitungan fitness pada tahapan sebelumnya dapat dilihat pada Tabel 3.5.

Tabel 3.5. Nilai Intensitas Cahaya Awal Firefly f1dan f2 Firefly Intensitas Cahaya (I) Urutan Masuk Barang

f1 131000 4-10-1-5-3-2-8-6-9-7

f2 172375 4-9-1-10-2-7-3-6-5-8

Pada Tabel 3.5. dapat dilihat bahwa firefly f1 memiliki nilai intensitas cahaya yang sesuai dengan nilai fitness yang dihasilkan oleh kandidat solusi 1 pada tahapan perhitungan total volume barang yang dapat disusun. Begitu juga dengan firefly f2

yang memiliki nilai intensitas cahaya sesuai dengan nilai total volume barang yang dapat disusun oleh kandidat solusi 2.

Pergerakan Firefly

Pada tahapan ini, solusi yang dihasilkan oleh masing-masing firefly pada tahap sebelumnya akan dioptimalkan dengan cara mencari solusi lain sehingga diharapkan dapat menghasilkan solusi yang optimal. Pergerakan firefly terjadi apabila ada satu firefly yang intensitas cahayanya lebih besar daripada intensitas cahaya firefly yang berada di sekitarnya.

Pada penentuan nilai intensitas cahaya firefly sebelumnya diketahui bahwa firefly f1 memiliki intensitas cahaya sebesar 131000 sedangkan firefly f2 memiliki intensitas cahaya sebesar 172375. Dikarenakan intensitas cahaya firefly f2 lebih besar daripada intensitas cahaya firefly f1, maka firefly f1 akan bergerak mendekati firefly f2. Perhitungan dari pergerakan firefly dilakukan sebanyak barang yang ada sehingga akan menghasilkan posisi baru bagi firefly f1. Sebelum posisi baru dari masing- masing firefly untuk setiap dimensi j dihitung, jarak antara dua firefly harus dicari terlebih dahulu. Ilustrasi perhitungan jarak antar dua buah firefly f1 dan f2 dapat dilihat pada Tabel 3.6.

Tabel 3.6. Perhitungan Jarak Dua Firefly

Firefly (i) Dimensi (j) 1 2 3 4 5 6 7 8 9 10 xf1 0.100 0.194 0.179 0.002 0.168 0.555 0.857 0.221 0.693 0.066 xf2 0.040 0.289 0.620 0.007 0.834 0.653 0.597 0.954 0.027 0.260 (xf2-xf1)2 0.003 0.008 0.194 0.001 0.444 0.009 0.067 0.537 0.442 0.037

Jarak antar firefly dihitung dengan menjumlahkan selisih kuadrat dari posisi firefly f1 dengan firefly f2 sebanyak dimensi yang ada. Pada Tabel 3.6. dapat dilihat hasil dari selisih kuadrat posisi firefly f1 dan f2 untuk masing-masing dimensi, kemudian hasil selisih kuadrat tersebut dijumlahkan dan dicari akarnya. Contoh perhitungan jarak antar firefly f1 dan firefly f2 dengan menggunakan Persamaan 2.6. adalah sebagai berikut:

rf1f2 = (0.003+0.008+0.194+0.001+0.444+0.009+0.067+0.537+

0.442+0.037)

= 1.476

= 1.321

Setelah jarak antar firefly diperoleh, maka dilanjutkan dengan menggerakkan firefly f1 mendekati firefly f2 dengan cara mencari posisi baru bagi firefly f1. Posisi awal dari firefly f1 (xf1) diubah menjadi posisi baru (xf1’) dikarenakan intensitas

cahaya firefly f1 lebih kecil daripada intensitas cahaya firefly f2. Contoh perhitungan pergerakan firefly f1 pada dimensi j=1 berdasarkan Persamaan 2.7 dengan nilai

parameter α = 0.2, o = 0.3,  = 0.15, dan bilangan acak yang dihasilkan (rand) =

0.802. adalah sebagai berikut:

xf1’(j=1) = 0.100 + (0.3 * ) * (0.040 – 0.100) + 0.2 * (0.802 – 0.5)

= 0.100 + 0.230 * (-0.06) + 0.064 = 0.146

Perhitungan tersebut dilanjutkan sebanyak dimensi j yang ada pada firefly f1. Adapun hasil perhitungan pergerakan firefly f1 untuk setiap dimensi j terdapat pada Tabel 3.7.

Tabel 3.7. Posisi Baru Firefly f1

Firefly (i) Dimensi (j) 1 2 3 4 5 6 7 8 9 10 xf1 0.100 0.194 0.179 0.002 0.168 0.555 0.857 0.221 0.693 0.066 xf2 0.040 0.289 0.620 0.007 0.834 0.653 0.597 0.954 0.027 0.260 xf1’ 0.146 0.179 0.330 0.001 0.363 0.617 0.747 0.338 0.588 0.206

Pada Tabel 3.7., nilai xf1’ merupakan posisi baru dari firefly f1 dan akan dijadikan posisi awal untuk proses selanjutnya. Perhitungan pergerakan firefly akan dilanjutkan sampai semua firefly pada dimensi i selesai dibandingkan intensitas cahayanya sehingga masing-masing firefly akan menghasilkan posisi baru kecuali firefly dengan intensitas cahaya terbesar.

Evaluasi Solusi Baru

Posisi baru yang dihasilkan pada proses pergerakan firefly sebelumnya akan dijadikan sebagai urutan masuk barang yang baru bagi masing-masing firefly. Nilai posisi masing-masing firefly untuk setiap dimensi j akan diurutkan dari terkecil hingga terbesar sama seperti pengurutan bilangan acak yang dibangkitkan pada tahapan inisialisasi sebelumnya. Nilai posisi baru yang diurutkan tersebut akan dijadikan urutan masuk barang baru masing-masing firefly. Adapun urutan masuk barang yang baru setelah firefly mengalami pergerakan dapat dilihat pada Tabel 3.8.

Tabel 3.8. Urutan Masuk Barang Baru Firefly f1 dan f2 Firefly (i) Barang (j) 1 2 3 4 5 6 7 8 9 10 f1 0.146 0.179 0.330 0.001 0.363 0.617 0.747 0.338 0.588 0.206 Urutan 2 3 5 1 7 9 10 6 8 4 f2 0.393 0.249 0.672 0.368 0.492 0.876 0.317 0.813 0.361 0.493 Urutan 5 1 8 4 6 10 2 9 3 7

Pada Tabel 3.8. dapat dilihat bahwa urutan masuk barang yang dimiliki oleh firefly f1 mengalami perubahan dari urutan masuk barang sebelumnya yang semula urutannya 4-10-1-5-3-2-8-6-9-7 berubah menjadi 4-1-2-10-3-8-5-9-6-7. Hal ini disebabkan oleh berubahnya nilai posisi yang dimiliki oleh firefly f1. Sedangkan urutan masuk barang yang dimiliki oleh firefly f2 tidak berubah karena nilai posisi firefly f2 tidak mengalami perubahan (firefly f2 tidak mengalami pergerakan) yaitu tetap dengan urutan 4-9-1-10-2-7-3-6-5-8.

Setelah urutan baru masing-masing firefly didapat, maka proses selanjutnya adalah mengevaluasi intensitas cahaya yang dihasilkan oleh urutan baru masing- masing firefly tersebut. Urutan-urutan tersebut akan dievaluasi dengan cara melakukan langkah-langkah yang ada pada tahapan penyusunan barang sebelumnya, yaitu langkah penentuan barang yang dapat disusun dan perhitungan nilai fitness. Nilai fitness yang dihasilkan oleh urutan masuk barang yang baru tersebut akan digunakan sebagai nilai intensitas cahaya firefly yang baru. Jika urutan masuk barang yang terdapat pada Tabel 3.8. diterapkan sesuai dengan prosedur yang ada pada tahapan perhitungan nilai fitness sebelumnya, maka firefly f1 dengan urutan masuk barang

baru 4-1-2-10-3-8-5-9-6-7 dapat menyusun semua barang yang berjumlah sepuluh barang. Nilai fitness tersebut ditetapkan sebagai intensitas cahaya baru untuk masing- masing firefly. Adapun nilai intensitas cahaya baru masing-masing firefly f1 dan dapat dilihat pada Tabel 3.9.

Tabel 3.9. Perubahan Nilai Intensitas Cahaya Firefly Setelah Mengalami Pergerakan Firefly (Solusi) Intensitas Cahaya (I) Awal Urutan Masuk Barang Awal Intensitas Cahaya (I) Baru Urutan Masuk Barang Baru f1 131000 4-10-1-5-3-2-8-6-9-7 188000 4-1-2-10-3-8-5-9-6-7 f2 172375 4-9-1-10-2-7-3-6-5-8 172375 4-9-1-10-2-7-3-6-5-8

Pada Tabel 3.9. dapat dilihat bahwa nilai intensitas cahaya firefly f1 mengalami perubahan dari sebelumnya 131000 meningkat menjadi 188000. Hal ini disebabkan oleh perubahan urutan yang dimiliki firefly f1. Perubahan urutan masuk barang tersebut dapat menghasilkan nilai intensitas cahaya yang berbeda dari sebelumnya. Sedangkan nilai intensitas cahaya firefly f2 tidak mengalami perubahan yaitu tetap bernilai 172375 dikarenakan tidak berubahnya urutan masuk barang firefly f2.

Peningkatan nilai intensitas cahaya yang dialami oleh firefly f1 disebabkan oleh pergerakan yang dilakukan oleh firefly f1 mendekati firefly f2 sehingga nilai intensitas cahaya baru yang dihasilkan oleh firefly f1 akan mendekati nilai intensitas cahaya firefly f2.

Pengurutan Firefly

Setelah solusi baru dari masing-masing firefly sudah dievaluasi, maka firefly akan

Dokumen terkait