17
pergerakan suatu firefly i mendekati firefly j untuk mendapatkan posisi baru firefly i dapat dihitung menggunakan persamaan 2.7.
Dimana : = Posisi firefly i yang baru
= Posisi firefly i sekarang = Koefisien ketertarikan pada posisi 0
= Koefisien penyerapan cahaya 0.01 100 = Jarak antara firefly i dan firefly j
= Posisi firefly j = Koefisien bilangan acak 0 1
= Bilangan acak 0 1
2.5. Library StdDraw3D
Standard Draw 3D StdDraw3D merupakan salah satu library Java yang digunakan untuk membuat grafik tiga dimensi. StdDraw3D bertujuan untuk memudahkan
pengguna dalam membuat model, simulasi, dan game dengan visualisasi tiga dimensi di dalam bahasa pemrograman Java karena script pada library ini dibuat lebih
sederhana Martirosyan, 2011. StdDraw3D digunakan untuk membuat visualisasi susunan barang secara tiga dimensi.
2.6. Penelitian Terdahulu
Penelitian mengenai optimalisasi penyusunan barang sudah beberapa kali dilakukan. Optimalisasi penyusunan barang tersebut dilakukan pada ruangan atau bin yang
berbeda-beda. Permasalahan penyusunan pallet pada kontainer pernah diselesaikan oleh
Baltacioglu pada tahun 2001. Penelitian ditujukan untuk meminimalkan volume ruang kosong pada kontainer agar sekumpulan barang dengan ukuran berbeda-beda dapat
dimuat pada pallet di kontainer. Ia menggunakan algoritma heuristik yaitu gabungan wall building dan layer in layer packing approach. Wall building digunakan untuk
2.7
Universitas Sumatera Utara
18
menyusun barang pada layer yang sesuai, sementara layer in layer packing digunakan untuk menyusun barang pada sisa layer yang masih terdapat ruang kosong. Dimensi
semua barang harus dianalisa terlebih dahulu sebelum penyusunan barang dimulai. Hal ini dilakukan untuk menemukan beberapa nilai ketebalan layer layerthickness
yang paling sesuai untuk keseluruhan barang agar ruang kosong pada kontainer dapat dikurangi. Penyusunan barang dilakukan sebanyak iterasi yang ada. Banyaknya
jumlah iterasi ditentukan oleh orientasi pallet dan nilai layerthickness. Jumlah orientasi pallet bergantung pada dimensi pallet. Jika pallet memiliki 3 dimensi yang
sama, maka pallet hanya memiliki 1 orientasi saja. Sedangkan jika pallet memiliki 3 dimensi dengan ukuran yang berbeda-beda, maka akan ada 6 orientasi pallet. Setiap
iterasi dimulai dengan menyusun barang pada layer awal, yaitu layer dengan nilai layerthicknes pertama yang diambil dari kumpulan layerthickness yang sudah
ditentukan sebelumnya. Jika ada 7 nilai layerthickness yang berbeda dan pallet memiliki 3 dimensi yang berbeda, maka jumlah iterasi adalah 67, yaitu 42 iterasi.
Parameter yang digunakan adalah ukuran barang panjang, lebar, dan tinggi. Semua barang dapat dirotasi sebanyak enam orientasi. Constraints yang digunakan hanyalah
kapasitas ruang kontainer, yaitu dimensi barang tidak melebihi dimensi kontainer. Pada penelitian ini, penyusunan yang tidak stabil diperbolehkan. Hal ini menyebabkan
ada beberapa barang yang tidak memiliki dasar, sehingga barang akan menggantung Baltacioglu, 2001.
Pada tahun 2008, Oktorini melakukan penelitian untuk optimalisasi penyusunan barang dalam ruang tiga dimensi. Pada penelitiannya, ia menggunakan
algoritma Genetika untuk menyusun barang pada ruang tiga dimensi seperti kontainer. Implementasi algoritma genetika dalam proses penyusunan barang yaitu dengan
meletakkan barang-barang yang diwakili oleh kode dan posisinya pada gen-gen dalam suatu kromosom lalu memperhatikan bisa atau tidaknya suatu barang menempati
posisi tersebut tanpa mengubah posisi barang. Proses penempatan gen berlangsung setiap muncul generasi baru sampai iterasi maksimum tercapai. Pada tahapan
reproduksi awal generasi pertama, proses penempatan gen dilakukan dengan cara randomize. Mulai generasi 2 sampai terakhir, proses penempatan gen dilakukan sesuai
hasil bilangan acak antara 0-1 yang dibangkitkan untuk mengetahui operator algoritma genetik yang dipakai sebagai landasan penempatan gen. Individu yang memiliki nilai
fitness terbaik pada setiap generasi diikutsertakan kembali pada generasi berikutnya.
Universitas Sumatera Utara
19
Hal-hal yang diperhatikan pada penyusunan barang di penelitian ini adalah beban maksimum yang dapat ditampung ruang, beban maksimum yang dapat ditampung
barang, perotasian barang, dan letak titik berat suatu posisi barang terhadap barang dibawahnya agar tumpukan tidak roboh dan menyebabkan kehancuran pada barang.
Nilai fitness yang digunakan didasarkan pada jumlah satuan ruang yang terisi oleh barang, jumlah barang yang seimbang posisinya, dan jumlah barang yang utuh
Oktorini, 2008. Penelitian selanjutnya yang dilakukan oleh Susanto 2009 menerapkan
algoritma Greedy untuk melakukan penyusunan barang dalam kontainer. Ia juga menerapkan metode wall building approach untuk mengisi kontainer sesuai dengan
layer yang sejajar kedalaman kontainer. Metode ini menerapkan aturan pengurutan untuk memilih nilai layer. Kotak dengan dimensi terbesar akan dipilih untuk dimuat
pertama dan dimensinya akan dijadikan nilai layer dikarenakan kotak dengan dimensi terbesar akan sulit untuk dimuat jika diletakkan di urutan terakhir. Setelah nilai layer
ditentukan, maka metode greedy diterapkan untuk melakukan penyusunan barang secara horizontal di setiap potongan layer. Pada setiap layer, barang yang tersisa akan
dimasukkan secara berurutan sesuai urutan panjang barang yang terbesar terlebih dahulu. Parameter yang digunakan pada penelitian ini adalah volume dan berat
barang, sedangkan constraint yang harus dipenuhi adalah kapasitas ruang pada kontainer dan beban maksimal yang dapat ditampung kontainer Susanto, 2009.
Penelitian terbaru yang dilakukan oleh Harefa 2014 mengenai penyusunan barang menerapkan algoritma Steepest Ascent Hill Climbing untuk memvisualisasikan
penyusunan barang pada sebuah gudang. Metode tersebut diterapkan untuk mengurutkan barang berdasarkan beratnya, sehingga urutan barang dimulai dari
barang yang memiliki berat paling besar hingga paling kecil. Barang kemudian disusun berdasarkan urutannya dengan menggunakan metode block stacking, yaitu
barang akan disusun di atas barang sebelumnya dengan syarat berat barang yang akan disusun tidak boleh melebihi batas maksimum beban yang dapat ditampung barang
yang berada di bawahnya. Hal-hal yang diperhatikan pada proses penyusunan barang di penelitian ini adalah beban maksimum yang dapat ditampung barang dan kapasitas
ruang.
Universitas Sumatera Utara
20
Algoritma Firefly sudah diterapkan pada permasalahan Bin Packing oleh Kwesnady pada tahun 2013. Metode tersebut diterapkan dalam penyelesaian Two
Dimensional Bin Packing Problem dengan fungsi objektif adalah meminimalkan jumlah mobil yang diperlukan dalam pengiriman barang. Penyusunan barang hanya
bersifat satu layer dan tidak adanya penumpukan barang, sehingga dari segi biaya tidak dapat dihitung nilainya secara aktual. Penempatan barang ke dalam mobil box
juga tidak menggunakan rotasi, sehingga barang tidak dapat berubah posisi dari horizontal menjadi vertikal, dan sebaliknya. Hasil penyusunan yang diperoleh dari
penggunaan algoritma firefly dapat berbeda-beda setiap kali dijalankan. Hal ini disebabkan oleh bilangan acak yang dihasilkan pada tahap inisialisasi awal. Parameter
yang digunakan hanya dimensi panjang dan lebar barang Kwesnady, 2013. Algoritma firefly juga sudah digunakan untuk menyelesaikan masalah
optimalisasi kombinatorial lain, seperti Travelling Salesman Problem TSP oleh Kumbharana dan Pandey pada tahun 2013. Fungsi tujuan dari permasalahan ini adalah
meminimalkan jarak yang harus ditempuh untuk mengunjungi semua kota yang ada. Pada penelitian ini algoritma firefly diubah menjadi diskrit untuk menyelesaikan
permasalahan permutasi. Tahapan inisialisasi awal dilakukan dengan menghasilkan urutan permutasi secara acak yang merupakan urutan kota yang akan dikunjungi.
Kriteria berhenti yang digunakan pada penelitian ini adalah stagnasi, yaitu keadaan dimana hasil yang didapatkan stabil atau tidak ada lagi terjadi peningkatan. Ia juga
membandingkan kinerja algoritma firefly dengan beberapa algoritma metaheuristik lain seperti Ant Colony Optimization ACO, Genetic Algorithm GA, dan Simulated
Annealing SA. Hasil yang didapatkan oleh algoritma firefly dari implementasi menggunakan 6 jenis data rute kota lebih baik, yaitu menghasilkan total jarak tempuh
yang lebih sedikit dibandingkan yang dihasilkan oleh ketiga algoritma tersebut Kumbharana dan Pandey, 2013. Rangkuman dari penelitian terdahulu dapat dilihat
pada Tabel 2.1.
Universitas Sumatera Utara
21
Tabel 2.1. Penelitian Terdahulu
Constraints : kapasitas ruang; beban maksimum
ruang; beban maksimum tumpukan barang; orientasi barang
3. Susanto
2009 Algoritma
Greedy Fungsi objektif :
meminimalkan ruang kosong pada kontainer
Constraints : kapasitas ruang; beban maksimum
ruang; orientasi barang
4. Harefa
2014 Algoritma
Steepest Ascent Hill Climbing
Fungsi objektif : memaksimalkan ruang terisi pada
kontainer Constraints :
kapasitas ruang; beban maksimum tumpukan barang
No. Peneliti
Tahun Metode
Keterangan
1. Baltacioglu
2001 Wall building
approach dan Layer-in-layer
packing Fungsi objektif :
meminimalkan ruang kosong pada kontainer
Constraints : kapasitas ruang kontainer
2. Oktorini
2008 Algoritma
Genetika Fungsi objektif :
memaksimalkan ruang terisi, jumlah barang seimbang, dan jumlah barang
utuh.
Universitas Sumatera Utara
22
Tabel 2.1. Penelitian Terdahulu lanjutan No.
Peneliti Tahun
Metode Keterangan
5. Kwesnady
2013 Algoritma
Firefly Fungsi objektif :
meminimalkan jumlah mobil box yang digunakan untuk pengiriman barang
Constraints : kapasitas ruang
6. Kumbharana
Pandey 2013
Algoritma Firefly
Fungsi objektif : meminimalkan jarak yang ditempuh
untuk mengunjungi semua kota Constraints :
masing-masing kota dikunjungi hanya sekali
Perbedaan penelitian yang dilakukan dengan penelitian terdahulu adalah penggunaan algoritma firefly dalam menyelesaikan permasalahan bin packing dengan
penambahan unsur tinggi three dimensional packing problem. Penyusunan barang dilakukan pada mobil box dan bersifat tiga dimensi sehingga dapat memungkinkan
terjadinya penumpukan barang. Parameter yang digunakan adalah volume barang, volume mobil box, berat barang, beban maksimum mobil, dan perotasian barang.
Fungsi objektif yang digunakan pada penelitian ini adalah memaksimalkan total volume barang yang dapat disusun pada mobil box. Adapun constraints yang
digunakan pada penelitian ini adalah sebagai berikut : 1.
Masing-masing barang memiliki posisi yang unik sehingga tidak akan terjadi barang yang saling tumpang tindih overlapping.
2. Barang-barang yang tidak berada di dasar mobil box harus didukung oleh
barang yang berada dibawahnya, sehingga tidak akan terjadi barang yang menggantung atau melayang overhang.
3. Masing-masing dimensi barang tidak boleh melebihi masing-masing dimensi
mobil box, dan total volume barang tidak boleh melebihi volume ruang pada mobil box.
Universitas Sumatera Utara
23
4. Total berat barang yang disusun pada mobil box tidak boleh melebihi beban
maksimum yang dapat ditampung mobil box. 5.
Barang-barang yang memiliki sifat tidak dapat dirotasi tidak boleh mengalami pertukaran dimensi pada saat penyusunan barang pada mobil box, sementara
barang-barang yang memiliki sifat dapat dirotasi boleh mengalami pertukaran dimensi sebanyak enam variasi orientasi.
6. Untuk solusi yang menghasilkan nilai fitness yang sama, maka akan dilakukan
pencarian nilai fitness kedua yaitu mencari susunan dengan ruang kosong paling sedikit di ketinggian 0 -
1 2
tinggi mobil box. Hal ini dilakukan untuk menjaga keseimbangan barang dan mengurangi resiko barang yang ambruk ke
bawah load stability.
Universitas Sumatera Utara
BAB 3 ANALISIS DAN PERANCANGAN
Pada bab ini akan dibahas mengenai analisis dan perancangan sistem. Pada tahap analisis akan dilakukan analisis terhadap data yang digunakan menggunakan
algoritma firefly untuk menemukan solusi penyusunan barang yang optimal. Pada tahap perancangan akan dibahas mengenai perancangan use case diagram, flowchart
user, database, serta tampilan antarmuka sistem.
3.1. Arsitektur Umum
Metode yang diajukan untuk mengoptimalkan penyusunan barang pada penelitian ini terdiri dari beberapa tahapan yaitu input, proses, dan output. Input dari penelitian ini
berupa data barang dan data mobil box. Data-data tersebut kemudian akan diproses melalui tiga tahapan yaitu, inisialisasi, penyusunan barang, dan optimalisasi. Pada
tahapan inisialisasi, proses yang dilakukan adalah pembangkitan bilangan acak untuk menentukan urutan awal masuk barang sebanyak kandidat solusi yang diinginkan.
Tahap selanjutnya adalah penyusunan barang. Pada tahap ini, barang-barang akan disusun berdasarkan urutan masuk barang yang dimiliki masing-masing kandidat
solusi yang telah dihasilkan pada tahapan inisialisasi, kemudian dihitung nilai fitness barang-barang yang dapat disusun. Tahapan terakhir adalah optimalisasi penyusunan
barang menggunakan algoritma firefly. Tahapan optimalisasi tersebut digunakan untuk mengoptimalkan susunan barang yang sudah dihasilkan pada tahapan sebelumnya
sehingga menghasilkan urutan penyusunan barang yang lebih baik. Output yang didapat dari proses ini berupa urutan masuk barang dan posisi barang yang sudah
disusun, serta gambar tiga dimensi tata letak akhir barang. Detail setiap tahapan yang dilakukan akan dijelaskan secara terperinci pada bagian-bagian selanjutnya. Adapun
arsitektur umum dari sistem yang akan dibangun dapat dilihat pada Gambar 3.1.
Universitas Sumatera Utara
25
Gambar 3.1. Arsitektur Umum
Universitas Sumatera Utara
26
3.2. Data yang digunakan