Library StdDraw3D Arsitektur Umum

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