PERANCANGAN SISTEM INFORMASI PADA PERMASALAHAN BIN PACKING PROBLEM DENGAN METODE FIREFLY ALGORITHM DI PT ANUGERAH MANDIRI SUCCESS William Kwesnady Anggara Hayun Anujuprana Bernadus Gunawan Sudarsono Binus University, Jl. Kebon Jeruk Raya No. 27, (021) 53696999,
[email protected]
Abstract On the delivery of goods, items placing often do not use the available space optimally, so it takes a lot more cars to make deliveries of goods. This problem also known as the Bin Packing Problem. The purpose of Bin Packing Problem is to allocate goods in a number of bins, so the bins used for delivery can be optimal. In the real world application, Bin Packing Problem is used to find the minimum number of car(s) required to make delivery of goods. Algorithm method called Firefly Algorithm could be use to find solution for this Bin Packing Problem. Firefly Algorithm uses the analogy of the movement from fireflies. Information System could be used to support the business process in the PT. Anugerah Mandiri Success. With system, one division and another division will integrate one with each another, start from customer’s order, inventory control, delivery of goods, including the process to find the number of car(s) used for delivery. Abstrak Pada proses pengiriman barang, penempatan barang sering kali tidak menggunakan tempat yang tersedia seoptimal mungkin, sehingga dibutuhkan lebih banyak mobil untuk melakukan pengiriman barang. Masalah ini dikenal juga dengan sebutan Bin Packing Problem. Tujuan dari Bin Packing Problem adalah bagaimana mengalokasikan barang ke dalam sejumlah tempat, sehingga jumlah tempat yang dibutuhkan tersebut seminimal mungkin. Dalam penerapannya dalam bidang pengiriman barang, Bin Packing Problem digunakan untuk menghitung jumlah mobil seminimal mungkin yang diperlukan untuk melakukan pengiriman barang. Untuk menyelesaikan permasalahan Bin Packing Problem tersebut, metode algoritma yang digunakan adalah metode algoritma Firefly Algorithm. Metode Firefly Algorithm ini menggunakan analogi pergerakan sekelompok kunang-kunang. Untuk mendukung proses bisnis yang terdapat pada PT. Anugerah Mandiri Success, maka dirancanglah sistem sehingga diperoleh integrasi yang baik antara satu bagian dengan bagian lainnya, mulai dari pemesanan pelanggan, pengecekkan stok barang, pengiriman barang, termasuk di dalam nya proses perhitungan jumlah mobil untuk pengiriman barang. Sistem yang dibuat ini diharapkan dapat menunjang proses bisnis yang ada dengan baik serta memperoleh optimalisasi penggunaan mobil untuk melakukan pengiriman. Kata Kunci: Bin Packing Problem, Firefly Algorithm, Two-Dimensional Bin Packing Problem
PENDAHULUAN Proses peletakkan kemasan barang ke dalam suatu tempat merupakan suatu material handling yang penting dalam manufaktur dan industri distribusi. Sedangkan pada kenyataannya dalam proses pengiriman barang, penempatan barang-barang di dalam mobil masih belum optimal. Space kosong masih dapat ditemukan pada penempatan barang-barang yang akan dikirim ke pelanggan, padahal seharusnya ruang tersebut dapat digunakan untuk menempatkan barang lain apabila diatur dengan benar. Masalah tersebut dikenal dengan sebutan Bin Packing Problem (BPP). Tujuan dari Bin Packing Problem adalah meminimalkan jumlah bin yang digunakan dan menggunakan volume yang ada pada bin semaksimal mungkin (Yesodha & Amudha, 2012). Permasalahan yang sering dihadapi dalam bin packing problem adalah penempatan lokasi penempatan barang-barang di dalam suatu bin (Crainic, Perboli, & Tadei, 2007). Penerapannya dapat dilihat pada penempatan barang pada truk, kargo pesawat terbang dan kapal. Fokus utama dari Bin Packing Problem ini adalah meminimalkan space kosong yang tersisa, sehingga jumlah bin yang digunakan dapat seefisien mungkin (Liu, Tan, Huang, Goh, & Ho, 2008). PT. Anugerah Mandiri Success adalah sebuah perusahaan yang bergerak dalam bidang distribusi barang – barang kebutuhan hidup sehari-hari seperti shampoo, sabun mandi, sabun cuci piring, pembersih lantai, lilin, dan lain-lain. PT. Anugerah Mandiri Success mempunyai sebuah warehouse yang berlokasi di daerah Bekasi yang menyimpan produk-produk yang akan dikirimkan ke berbagai lokasi pelanggan yang berada di daerah Bogor. Produk-produk yang akan didistribusikan adalah sabun, snack, lilin, dan lain-lain. Penyusunan barang yang akan dikirimkan dari warehouse ke berbagai lokasi penjualan masih dilakukan secara manual. Oleh sebab itu, dilakukan tugas akhir ini, dengan tujuan agar jumlah space yang tidak digunakan seminimal mungkin sehingga jumlah mobil yang nanti digunakan untuk pengiriman lebih sedikit. Selain itu, proses bisnis yang berjalan pada PT. Anugerah Mandiri Success masih sebagian besar dilakukan secara manual. Oleh karena itu, data-data tidak terintegrasi dengan baik dan kesalahan juga sering terjadi dalam pencatatan data dikarenakan oleh faktor human error pada saat memasukkan data secara manual ke dalam file excel. Menurut Liu, Wang, Du, & Sun (2009), data yang konsisten merupakan salah satu aspek penting dalam mengintegrasikan sistem. Oleh sebab itu, dirancanglah sistem yang dapat mendukung proses bisnis yang ada pada PT. Anugerah Mandiri Success. Perumusan masalah yang diambil adalah berapa banyak jumlah mobil yang diperlukan untuk mengirim barang-barang sesuai pemesanan pelanggan setelah melakukan optimalisasi Bin Packing Problem dengan metode Firefly Algorithm. Tujuan tugas akhir ini adalah meminimalkan jumlah mobil yang digunakan untuk pengiriman, membuat aplikasi yang dapat mengoptimalisasi penggunaan mobil dalam pengiriman barang, menganalisis proses bisnis pada perusahaan untuk perancangan sistem baru yang mendukung proses bisnis perusahaan.
METODE PENELITIAN Metode penelitian dimulai dari melakukan observasi yang dilakukan pada PT. Anugerah Mandiri Success. Observasi dilaksanakan dengan melakukan pengamatan langsung di lapangan. Melihat secara langsung proses pemasukkan produk-produk ke dalam mobil. Produk yang sudah siap dikirim dari Bagian Gudang disertai adanya Surat Jalan akan segera diantar oleh supir. Untuk saat ini, penempatan barangbarang ke dalam mobil yang akan dikirim kepada pelanggan masih dilakukan secara manual. Kemudian menentukan perumusan masalah dan tujuan. Berdasarkan pengamatan yang dilakukan pada PT. Anugerah Mandiri Success pada bulan April 2013, ditemukan bahwa penempatan barang-barang yang dimasukkan ke dalam mobil belum optimal. Pada kenyataannya, Mobil masih memiliki space kosong yang seharusnya dapat digunakan, namun karena penempatan yang kurang baik, sehingga space tersebut dianggap sudah tidak dapat digunakan kembali. Dari perumusan masalah tersebut, dilakukan studi literature dengan membaca buku serta jurnal-jurnal mengenai Bin Packing Problem dan Firefly Algorithm. Tugas akhir ini dilakukan dengan tujuan untuk mendapatkan solusi dari permasalahan yang dihadapi terkait permasalahan Bin Packing Problem yaitu memperoleh jumlah mobil yang digunakan untuk melakukan pengiriman seminimal mungkin. Selanjutnya dilakukan pengumpulan data pada PT. Anugerah Mandiri Success. Setelah mengidentifikasi permasalahan yang ada, dan mendapatkan masalahnya. Langkah berikutnya adalah pengumpulan data yang berkaitan dengan permasalahan yang ada. Pengumpulan data ini dilakukan dengan cara observasi bagaimana kondisi sebenarnya penyusunan barang dalam mobil, meminta data kepada divisi-divisi yang ada pada perusahaan untuk mendapatkan data yang dibutuhkan.
2
Data yang dikumpulkan dalam pengumpulan data ini ada 2 yaitu: 1. ukuran mobil. 2. Ukuran kemasan barang yang dikirim Karena pada saat barang dimasukkan ke dalam mobil, yang diperhitungkan adalah ukuran panjang dan lebar dari kemasan barang tersebut. 3. Jumlah barang yang dikirim Jumlah barang ini menentukan banyaknya kemasan yang akan mengisi mobil. Data yang sudah dikumpulkan pada tahap sebelumnya, akan diolah sehingga masalah yang ada dapat dicari solusinya. Pengolahan data pada masalah Bin Packing Problem ini menggunakan metode Firefly Algorithm. Dari hasil pengolahan data, kemudian dilakukan analisis sehingga dapat diperoleh hasil yang didapatkan. Pengembangan sistem informasi dimulai dari pembuatan activity diagram, event table, use case, sequence, dan lain-lain terkait dengan proses bisnis yang terdapat pada PT. Anugerah Mandiri Success terkait dengan ruang lingkup pembahasan tugas akhir ini yaitu dari pemesanan hingga akhirnya barang dikirim. Perancangan sistem aplikasi dilakukan berdasarkan Unified Modelling Language yang sudah dibuat. Tujuan dari perancangan sistem aplikasi ini adalah agar proses bisnis yang ada pada perusahaan terintegrasi dan dapat berjalan dengan lebih efektif dan efisien, serta meminimalkan terjadinya kesalahan input data oleh user. Setelah melakukan semua langkah-langkah tersebut, saatnya menarik kesimpulan berdasarkan hasil analisis dari permasalahan yang ada. Kesimpulan ini akan menjawab pertanyaan-pertanyaan masalah dari tugas akhir ini. Selain itu juga diberikan saran bagi pengembangan penelitian berikutnya dari topik yang sudah dibahas.
HASIL DAN BAHASAN
1. 2.
3.
Menurut Yesodha dan Amudha (2012), Bin Packing menempatkan sejumlah barang ke dalam beberapa tempat seminimal mungkin dengan menggunakan waktu eksekusi dan sisa ruang seminimal mungkin. Menurut Xin-She Yang (2010, p. 3), Firefly Algorithm memiliki tiga aturan utama yaitu: Semua kunang-kunang memiliki gender unisex, sehingga kunang-kunang yang satu dapat tertarik dengan kunang-kunang yang lain, tanpa peduli jenis kelaminnya. Kunang-kunang akan bergerak ke arah kunang-kunang yang menghasilkan cahaya lebih terang. Daya tarik pada kunang-kunang ini proporsional terhadap keterangan cahaya, dan akan semakin berkurang seiring bertambahnya jarak. Terangnya cahaya seekor kunang-kunang ditentukan oleh objective function. Berdasarkan tiga aturan ini, langkah-langkah Firefly Algorithm dapat disimpulkan menjadi pseudocode berikut: begin Objective Function f(x), x = Generate initial population of fireflies (i = 1,2,…,n) Light intensity at is determined by f( ) Define light absorption coefficient while (t < MaxGeneration) for i = 1 : n all n fireflies for j = 1 : i all n fireflies if ( > ), Move firefly i towards j in d-dimensions; end if Attractiveness varies with distance r via exp[- r] Evaluate new solutions and update light intensity end for j end for i Rank the fireflies and find the current best end while Postprocess results and visualization Untuk mendapatkan jumlah mobil seminimal mungkin yang digunakan untuk pengiriman, digunakan algoritma kunang-kunang (Firefly Algorithm). Langkah- langkah dalam melakukan Firefly Algorithm: 1. Inisialisasi Populasi Inisialisasi dari populasi kunang-kunang menggunakan bilangan acak dengan nilai 0 < x < 1. Bilangan acak ini digunakan untuk setiap posisi dari masing-masing kunang-kunang ( ), dengan i = 1,2,3,…,n ; dengan n adalah jumlah kunang-kunang, dan j adalah jumlah dimensi untuk setiap kunang-
3
kunang. Dalam Bin Packing ini dimensi menggambarkan jumlah barang yang akan disusun ke dalam mobil. 2. Fitness Function Fitness Function yang digunakan pada Firefly Algorithm ini merupakan fungsi objektif untuk menyelesaikan Bin Packing Problem yaitu memperoleh jumlah mobil seminimal mungkin dalam memasukkan semua barang yang mau dikirim. Fitness Function yang digunakan dapat dilihat pada rumus: 3. Intensitas Cahaya (I) Masing-masing kunang-kunang memiliki intensitas cahayanya sendiri-sendiri. Intensitas cahaya (I) inilah yang memberikan daya tarik antara kunang-kunang yang satu dengan kunang-kunang yang lain. Apabila intensitas cahaya dari kunang-kunang B lebih terang dibandingkan dengan intensitas cahaya yang dimiliki kunang-kunang A, maka kunang-kunang A akan bergerak ke arah kunang-kunang B. Dalam penerapannya pada Firefly Algorithm, intensitas cahaya ini dihitung dengan menggunakan rumus: 4. Jarak (Distance) Jarak antara kunang-kunang yang satu dengan kunang-kunang yang lain dalam populasi dihitung . Sebagai contoh ada dua kunang-kunang dengan menggunakan rumus dengan posisi masing – masing adalah X1j dan X2j dengan dimensi sebanyak 5. Sehingga posisi dari kunang-kunang ke 1 untuk dimensi 1 (X11) adalah 0,202, dan seterusnya. Tabel 1 Perhitungan Jarak Antar Kunang-Kunang Dimensi (j) Firefly (i) 1 2 3 4 5 X1j X2j ( X2j-X1j )
2
0,202
0,948
0,366
0,094
0,859
0,452
0,356
0,839
0,549
0,654
0,062
0,350
0,224
0,207
0,042
Sumber: Hasil Pengolahan Data Untuk mendapatkan jarak dari kunang-kunang 1 dengan kunang-kunang 2, dihitung dengan menjumlahkan selisih kuadrat dari posisi kunang-kunang 1 dengan kunang-kunang 2 untuk semua dimensi yang ada mulai dari 0,062, 0,350, 0,224, 0,207, dan 0,042 kemudian dicara akar nya. Akhirnya diperoleh jarak (r12) untuk kunang-kunang 1 dan kunang-kunang 2 adalah 0,941. Perhitungan jarak kunang-kunang ini dilakukan sebanyak jumlah populasi kunang-kunang. 5. Pergerakan (Movement) kunang-kunang baru akan melakukan pergerakan apabila ada kunang-kunang lain yang intensitas cahayanya lebih besar dibandingkan intensitas cahaya kunang-kunang yang berada di sekitarnya. Rumus pergerakan kunang-kunang dapat dilihat pada rumus . Tabel 2 Perhitungan Pergerakan Firefly Dimensi (j) Firefly (i) 1 2 3 4
5
X1
0,202
0,948
0,366
0,094
0,859
X2
0,452
0,356
0,839
0,549
0,654
0,242 0,736 0,473 0,196 0,763 X1' Sumber: Hasil Pengolahan Data Sebagai contoh, pada tabel di atas adalah perhitungan pergerakan kunang-kunang 1 yang mendekati kunang-kunang 2. Perhitungan untuk dimensi satu (j = 1) dengan rand bernilai 0,328 adalah: X1’ = 0,202 + (0,3 x ) x (0,452 – 0,202) + (0,2 x (rand – 0,5) ) X1’ = 0,202 + 0,25 x 0,25 + (-0,03) X1’ = 0,242 Perhitungan pergerakan kunang-kunang ini dilakukan sebanyak dimensi yang ada. Kemudian hasilnya dijadikan posisi baru bagi kunang-kunang 1. Berdasarkan hasil pergerakan tersebut, diurutkan
4
dari kecil ke besar untuk mendapatkan urutan yang merupakan kandidat solusi pemecahan masalah Bin Packing Problem. Implementasi Firefly Algorithm Dalam penggunaan metode Firefly Algorithm ini terdapat beberapa variabel yang digunakan. Variabel-variabel tersebut dapat dilihat pada tabel 3 di bawah: Tabel 3 Parameter Yang Digunakan Pada Firefly Algorithm Parameter
Keterangan
Nilai
Firefly
Populasi firefly
5
Iterations
Jumlah Iterasi
20
α
Alpha
0,2
Beta0
0,3
γ Gamma 0,2 Sumber: (Yesodha & Amudha, 2012) Adapun batasan-batasan yang digunakan dalam implementasi Firefly Algorithm pada program yang dibuat untuk memecahkan masalah Bin Packing Problem adalah sebagai berikut: 1. Bin Packing yang dibahas pada penulisan ini adalah Two-Dimensional Bin Packing Problem. 2. Penempatan kemasan barang pada mobil bersifat 1 layer, tidak ada tumpukkan pada barang. 3. Barang yang akan diproses pada Bin Packing diperoleh langsung dari list barang yang ada pada form pemindahan barang. 4. Pengalokasian barang ke dalam mobil tidak menggunakan rotasi (tidak memungkinkan barang untuk berubah posisi dari horizontal menjadi vertikal). 5. Hasil yang didapatkan pada penggunaan program pertama kali dapat berbeda dengan hasil penggunaan program kedua kalinya, meskipun menggunakan data yang sama. Hal tersebut dikarenakan, nilai bilangan random yang berubah terus setiap kali program dijalankan. Aplikasi Alokasi Jumlah Mobil
Gambar 1 Tampilan Program Alokasi Jumlah Mobil Pengiriman
5
Pertama-tama, bagian gudang akan memilih form pemindahan yang sudah berisi daftar kemasan barang yang dipesan dan akan dikirim. Setelah itu, bagian gudang memilih mobil yang akan digunakan untuk pengiriman. Tombol Lihat Barang digunakan untuk melihat daftar semua barang yang dipesan sesuai form pemindahan yang dipilih. List barang tersebut akan muncul pada datagridview yang ada pada form Alokasi Mobil. Selanjutnya untuk menghitung jumlah mobil yang diperlukan untuk mengirim semua barang tersebut, klik tombol Hitung Kontainer. Hasil yang akan didapatkan adalah jumlah bin, urutan barang yang dimasukkan, serta penempatan tiap kemasan barang dalam bentuk gambar dua dimensi (lihat gambar 2). Tabel 4 Data Barang yang Diolah Kode Pemindahan
Kode Barang
Ukuran Panjang (cm)
Ukuran Lebar (cm)
Jumlah Dipesan
13-07-PE00001
BG00007
34
17
2
13-07-PE00001
BG00008
37
30
3
13-07-PE00001
BG00010
40
34
2
13-07-PE00001
BG00037
40
30
4
13-07-PE00001
BG00012
40
20
1
13-07-PE00001
BG00050
29
29
3
13-07-PE00001
BG00062
28
26
2
13-07-PE00001
BG00063
33
26
3
13-07-PE00001
BG00069
39
18
1
13-07-PE00001
BG00082
33
28
2
13-07-PE00001
BG00001
35
17
4
13-07-PE00001
BG00005
35
17
4
13-07-PE00001 BG00022 Sumber: Pengolahan Data
32
22
3
Data yang digunakan adalah data pemindahan barang dengan kode 13-07-PE00001. Sedangkan ukuran mobil pengiriman yang digunakan adalah ukuran Mobil1 dengan ukuran panjang sebesar 165 cm dan lebar sebesar 125 cm. Pada tabel 4.4 diatas, dapat dilihat ukuran panjang dan lebar dari masingmasing barang yang dipesan, beserta jumlah barang yang dipesan. Dari data barang yang akan dikirim tersebut, dapat dihitung jumlah mobil yang digunakan untuk melakukan pengiriman dengan menggunakan metode Firefly Algorithm. Total jenis produk sebanyak 13 jenis dengan jumlah pesanan sebanyak 34 buah kemasan barang. Setelah dihitung dengan menggunakan metode Firefly Algorithm, diperoleh hasil mobil yang harus digunakan untuk mengirim semua barang tersebut adalah sebanyak enam buah mobil. Pada kenyataanya, mobil yang digunakan untuk pengiriman tidak sampai enam buah mobil. Hal ini dikarenakan, batasan pada program yang dibuat yaitu hanya bisa untuk satu layer saja (tidak ada tumpukkan), selain itu juga tidak adanya rotasi pada penempatan kemasan barang.
6
Gambar 2 Hitung Jumlah Mobil Berdasarkan hasil tersebut, dapat dilihat urutan barang yang dihasilkan pada program yang dibuat. Untuk penempatan barang, tidak dilakukan rotasi pada kemasan barang, sehingga bisa saja hasil yang didapatkan ini tidak optimal dalam penggunaan space kosong. Sehingga hal ini akan dijadikan saran untuk pengembangan mengenai Bin Packing berikutnya. Selain itu hasil yang diperoleh dari penggunaan metode Firefly Algorithm ini ditentukan oleh hasil bilangan random yang dihasilkan pada tahap inisialisasi awal. Oleh karena itu, setiap kali dijalankan, bisa saja didapatkan hasil yang berbeda-beda. Domain Model Class Diagram Domain Class Diagram menunjukkan struktur data serta hubungan asosiasi antar data yang digunakan dalam perancangan sistem. Kelas-kelas yang nantinya akan dijadikan tabel untuk database nanti dibuat ke dalam Domain Model Class Diagram, seperti pada Gambar 3.
Gambar 3 Domain Model Class Diagram
7
Activity Diagram Activity Diagram menggambarkan aktor-aktor yang berhubungan langsung dengan sistem pada proses bisnis yang berjalan pada PT. Anugerah Mandiri Success. Ada tiga bagian utama yang berhubungan dari pemesanan pelanggan sampai akhirnya barang dikirim ke tangan pelanggan, yaitu bagian sales, bagian admin, dan bagian gudang.
Gambar 4 Activity Diagram Kesimpulan Berdasarkan hasil analisis dan perancangan yang telah dilakukan pada penelitian ini, maka dapat ditarik kesimpulan sebagai berikut: 1. Berdasarkan penggunaan metode Firefly Algorithm sebagai algoritma untuk menentukan penempatan semua posisi kemasan barang dalam mobil hingga dicapai jumlah mobil seminimal mungkin berdasarkan data pemesanan barang yang terdapat pada halaman 20, diperlukan enam buah mobil. 2. Sistem informasi yang dibangun membantu proses bisnis dalam perusahaan mulai dari pemesanan, penentuan jumlah mobil yang diperlukan untuk pengiriman, hingga tagihan kepada pelanggan.
8
3. Sistem informasi yang dibangun ini merupakan Decision Support System, karena dari input yang dimasukkan ke dalam program, dapat dihasilkan output yang langsung digunakan untuk menentukan jumlah mobil pengiriman. 4. Penggunaan sistem informasi yang dibangun, membantu meminimalkan kesalahan user dalam saat melakukan input data, baik data pemesanan, data pemindahan barang, data tagihan, dan lain-lain. Saran 1.
2. 3. 4.
Beberapa saran yang diberikan pada penelitian ini adalah: Komponen penting dalam program yang dibuat ini adalah manusia. Sehingga diperlukan adanya penyimpanan performance record bagi staff dan supir, kemudian dapat diketahui siapa saja staff dan supir yang kinerjanya baik dalam bentuk report. Untuk pengembangan lebih lanjut, program dapat dibuat dengan penambahan unsur tinggi, selain hanya panjang dan lebar saja (Three-Dimensional Bin Packing Problem) Untuk pengembangan lebih lanjut, barang dapat ditumpuk di atas barang yang lain, serta adanya rotasi kemasan barang ketika ditempatkan ke dalam mobil. Karena program yang dibuat masih bersifat satu layer, sehingga dari benefit (penghematan biaya) dan improvement (dalam segi penempatan barang yang dilakukan secara manual) tidak dapat dihitung nilainya secara aktual. Resiko apabila hasil output ini digunakan adalah biaya yang dikeluarkan perusahaan untuk perusahaan bisa saja lebih besar dari yang seharusnya dikarenakan jumlah mobil yang dihasilkan dari program yang digunakan masih memiliki batasan-batasan yang seharusnya dipertimbangkan dalam kondisi sebenarnya.
9