Fakultas Ilmu Komputer
Universitas Brawijaya
1119
Optimasi Sisa Bahan Baku Pada Industri Mebel Menggunakan Algoritma
Genetika
Andika Indra Kusuma1, Agus Wahyu Widodo2, M. Ali Fauzi3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1ai17.kusuma@gmail.com, 2a_wahyu_w@ub.ac.id, 3moch.ali.fauzi@ub.ac.id
Abstrak
Permasalahan pemanfaatan bahan baku pada industri mebel yaitu sulitnya melakukan pemotongan bahan baku dengan kombinasi ukuran yang tepat. Untuk menyesuaikan kebutuhan produksi mebel, bahan baku yang berukuran standar harus dipotong sesuai kebutuhan model mebel yang akan diproduksi. Apabila tidak dilakukan perhitungan yang tepat ketika melakukan pemotongan bahan baku tentu akan menghasilkan banyak sisa bahan tidak terpakai. Banyaknya sisa bahan baku tidak terpakai inilah yang menyebabkan keuntungan maksimal tidak dapat diraih sehingga optimasi terhadap sisa bahan baku perlu dilakukan. Pada penelitian ini optimasi terhadap sisa bahan baku dilakukan dengan Algoritma Genetika dengan Corner Junction (GA+CJ).Tahapan yang dilakukan yaitu pembangkitan populasi awal, mutasi dengan Rectangle and Junction Gene Swap Mutation(RJGSM) dan Rectangle Rotation Mutation(RRM), evaluasi, dan seleksi. Hasil yang diperoleh berupa solusi berbentuk kromosom susunan potongan bahan. Fitness tertinggi sebesar 0.0026 yang berarti menghabiskan bahan baku sebanyak 16 lembar terletak pada parameter masukan generasi sebanyak 120 generasi,
mutation rate sebesar 0.9, dan populasi sebanyak 60 populasi.
Kata kunci:mebel, optimasi, bahan baku, algoritma genetika, corner junction.
Abstract
The problem of the utilization of raw materials in the furniture industry is the difficulty of cutting raw materials with the right combination of sizes. To adjust the furniture production requirements, standard-sized raw materials must be cut to fit the needs of the furniture model to be produced. If not done the exact calculation when cutting the raw materials will certainly produce a lot of waste materials unused. The abundance of unused raw materials is what causes the maximum profit can not be achieved so that optimization of the remaining raw materials needs to be done. In this research optimization of the remaining raw materials is done with Genetic AlgorithmCorner Junction
(GA+CJ). Stages performed are initial population generation, mutation with Rectangle &Junction Gene Swap Mutation(RJGSM) and Rectangle Rotation Mutation(RRM), evaluation, and selection. The results obtained in the form of chromosome-shaped solution arrangement of pieces of material. The highest fitness is 0.0026 which means consuming 16 pieces of raw material located on generation input parameter as much as 120 generations, mutation rate equal to 0.9, and 60 populations.
Keywords: meubel, optimizationi, raw materials, genetic algorithm, corner junction.
1. PENDAHULUAN
Tingginya permintaan terhadap mebel membuat pelaku industri harus memperhatikan permasalahan yang timbul pada proses produksi terutama pada pemanfaatan bahan baku. Permasalahan pemanfaatan bahan baku pada industri mebel yaitu sulitnya melakukan pemotongan bahan baku dengan kombinasi ukuran yang tepat. Bahan baku yang digunakan untuk industri mebel tersedia dalam berbagai
ukuran standar. Untuk menyesuaikan kebutuhan produksi mebel, bahan baku harus dipotong sesuai kebutuhan model mebel yang akan diproduksi. Apabila tidak dilakukan perhitungan yang tepat ketika melakukan pemotongan bahan baku tentu akan menghasilkan banyak sisa bahan tidak terpakai. Banyaknya sisa bahan baku tidak terpakai inilah yang menyebabkan keuntungan maksimal tidak dapat diraih sehingga optimasi terhadap sisa bahan baku perlu dilakukan.
Penelitian terkait optimalisasi bahan baku telah dilakukan oleh Yue dan Liang (2011). Pada penelitiannya logam dua dimensi dioptimasi dengan algoritma genetika. Masih dengan objek yang sama Jin dan Zhang (2010) melakukan optimalisasi pemanfaatan bahan baku dengan sedikit modifikasi pada algoritma genetika yaitu dengan Hybrid Multi-Chromosome Genetic Algorithm(HMCGA). Selain dengan algoritma genetika, optimalisasi terhadap sisa bahan baku juga dapat diselesaikan dengan pemrograman linear seperti yang dilakukan oleh Hartono, dkk (2014).
Pada penelitian kali ini akan diusulkan
algoritma genetika dengan Corner
Junction(GA+CJ) untuk menyelesaikan malasalah optimalisasi sisa bahan baku pada produksi mebel agar menghasilkan keuntungan yang maksimum dengan jumlah sisa bahan baku yang minimum.Metode GA+CJ lebih unggul dibandingkan dengan algoritma Greedy,
Brute Force, dan Branch and Bound. Dalam kasus optimalisasi metode Brute Force
memakan waktu komputasi yang lama untuk mencari solusi karena mencoba seluruh kemungkinan yang ada dari awal hingga akhir. Metode Branch and Bound juga memerlukan waktu komputasi yang lama karena diperlukan pemecahan masalah linear programming untuk setiap percabangan. Pada Hybrid Multi-Chromosome Genetic Algorithm (HMCGA) frekuensi pemotongan bahan sangat berpengaruh terhadap hasil optimal suatu pencarian, sedangkan GA+CJ tidak terpengaruh frekuensi pemotongan dalam pencarian solusi. Metode yang terakhir yaitu Algoritma Greedy.
Pada permasalahan optimalisasi jika data yang digunakan sangat kompleks algoritma tersebut tidak mampu memberikan hasil yang optimum meskipun waktu komputasinya relatif cepat.Alasan utama mengapa algoritma genetika dengan Corner Junction digunakan pada penelitian ini karena algoritma tersebut memiliki karakteristik yang sama dengan permaslahan optimalisasi sisa bahan baku mebel dalam kehidupan nyata. Adapun karakteristik tersebut yaitu lagoritma genetika
mampu menyelesaikan permasalahan
kombinatorial dengan waktu yang singkat. Selain itu algoritma genetika juga mampu menyelelesaikan masalah optimalisasi dengan memberikan solusi terbaik bahkan pada model matematika yang rumit (Mahmudy, 2013).
2. LANDASAN KEPUSTAKAAN
2.1. Algoritma Genetika
Salah satu cabang dari algoritma evolusi yaitu GeneticAlgorithm atau algoritma genetika. Alur penyelesaian masalah menggunakan algoritma genetika mengadopsi cara kerja alamiah genetika di dalam tubuh seperti proses pindah silang dan mutasi yang terjadi pada gen. Saat ini algoritma genetika digunakan di berbagai macam bidang keilmuan, mulai dari industri, biologi, pertanian, fisika bahkan sosiologi. Salah satu alasan mengapa algoritrma genetika sesuai di berbagai macam bidang adalah kemampuan handal dari algoritma genetika untuk menyelesaikan permasalahan yang melibatkan perhitungan matematika kompleks (Mahmudy, 2013).
Ada beberapa perbedaan algoritma genetika dibanding dengan metode optimasi tradisional diantaranya(Rao, 2009)
:
1.
A
lgoritma genetika hanya menggunakan fungsi objektif, sedangkan fungsi derivative tidak digunakan dalam pencarian solusi.2.
Dalam algoritma genetika variabelmerepresentasikan string dari variabel binner yang sesuai seperti kromosom pada genetika alami
3. Pada algoritma genetika string set yang baru(child) dihasilkan dari pemilihan
parentssecara acak dan di lakukan
crossover dari generasi yang lalu. Walaupun dipilih secara acak, algoritma genetika bukanlah metode yang sederhana karena dalam proses pencarian solusi metode ini melakukan pencarian dengan mengombinasikan kemungkinan hasil yang terbaik untuk menghasilkan nilai fitness
yang tinggi.
2.2. Siklus Algoritma Genetika
Proses yang terjadi pada algoritma genetika adalah inisialisasi, reproduksi, evaluasi, dan seleksi (Matayoshi, 2010).
2.2.1. Inisialiassi
Tujuan dilakukan inisialisai yaitu untuk pembangkitan sejumlah individu baru secara acak(random) dengan membawa sifat genetik berbeda yang nantinya akan ditampung pada suatu wadah atau disebut dengan populasi.
2.2.2. Reproduksi
Siklus ini bertujuan untuk memperoleh individu baru dari proses reproduksi dengan operator genetika yang dilakukan antar individu induk atau oleh individu induk itu sendiri. Individu hasil perkawinan nantinya akan ditempatkan pada suatu wadah yang bernama
offspring. Dua operator genetika yang digunakan pada siklus ini yaitu crossofer dan mutasi.Untuk crossofer terbagi menjadi beberapa metode lagi yaitu One Cut-Point, Two Cut-Point dll.Sedangkan metode untuk mutasi ada Reciprocal Exchange Mutation, Insert Mutation dll.
2.2.3. Evaluasi
Fungsi dari siklus ini yaitu untuk menghitung nilai fitness pada setiap kromosom.Hal yang perlu diperhatikan adalah semakin besar nilai dari fitness pada sebuah individu maka solusi yang dihasilkan juga semakin baik.
2.2.4. Seleksi
Metode seleksi yang digunakan pada penelitian ini yaitu elitism. Cara kerja seleksi
elitismyaitu menyeleksi individu terbaik sebanyak popSize untuk diloloskan ke generasi berikutnya.
3. PERANCANGAN
Gambar 1. Diagram Alir Penelitian
3.1. Batasan Penelitian
Agar penelitian ini tidak melebihi topik yang ditentukan, maka batasan masalah pada penelitian ini antara lain:
1. Data yang digunakan pada penelitian ini yaitu data dummy.
2. Bahan baku yang dimaksud dari penelitian ini yaitu bahan baku produksi mebel berupa
Medium Density Fiberboard (MDF)dengan ukuran standard pabrik.
3. Perhitungan pemotongan bahan baku diasumsikan seperti pemotongan objek dua dimensi persegi atau persegi panjang. 4. Operasi reproduksi yang digunakan berupa
Rectangle and Junction Gene Swap Mutation(RJGSM) dan Rectangle Rotation Mutation(RRM).
3.2. Implementasi Algoritma
Proses implementasi optimasi sisa bahan baku pada industry mebel dengan algoritma genetika adalah sebagai berikut:
1. Inisialisasi paremeter awal berupa Mutation Rate(Mr), banyak populasi, dan banyak generasi.
2. Pembangkitan populasi awal sebanyak parameter masukan.
3. Melakukan reproduksi berupa Rectangle
Mutation(RJGSM)dan Rectangle Rotation Mutation(RRM).
4. Melakukan evaluasi berupa perhitungan nilai fitness masing-masing kromosom individu.
5. Melakukan seleksi dengan elitism, yaitu dengan mengurutkan individu dari fitness
terkecil ke fitness terbesar sesuai ukuran pembangkitamn populasi.
3.3. Alur Penyelesaian Masalah
Alur
penyelesaian
masalah
pada
optimalisasi sisa bahan baku pada industri mebel akan dijelaskan pada poin di bawah. 3.3.1. Representasi Kromosom
Representasi kromosom dalam penelitian ini menggunakan pengkodean real atau bida disebut dengan Real Coded Genetic Algorithm
(RCGA), RCGAdapat menjangkau titik solusi jika range solusi jika range solusi berada pada daerah kontinyu (Mahmudy, 2013). Berikut contoh proses yang harus dijalankan sebelum representasi kromosom jika diketahui data potongan kayu sebagai berikut:
Tabel 1 Data Potongan Kayu
Nama Potongan Kode Potongan Ukuran Potongan(wi*hi) Alas atas 1 1 139x50 Alas atas 2 2 139x50 Alas bawah 3 139x50 Tutup lemari 4 42x52 Dinding lemari 5 (42x52) Dinding lemari 6 (42x52)
Dari data potongan bahan pada Tabel 1 akan disusun kromosom dengan memasangkan
junction tiap-tiap potongan. Bentuk kromosom akan di tampilkan pada Tabel 2.
Tabel 2 Data Bentuk Kromosom
Individu Kromosom P1 |8| 7 2 |3| 3 2 |5| 0 5 |10| 7 0 |6| 2 1 |1| P2 |9| 5 2 |5| 3 2 |1| 0 6 |12| 7 0 |4| 2 5 |8| P3 |2| 1 2 |6| 3 2 |3| 1 2 |5| 1 4 |10| 5 4 |7| P4 |5| 1 6 |10| 5 3 |1| 1 7 |9| 6 5 |8| 7 1 |6| P5 |5| 2 7 |7| 5 6 |10| 5 4 |8| 6 1 |6| 2 1 |3| P6 |7| 5 6 |9| 7 5 |8| 7 5 |12| 7 4 |11| 6 3 |4|
Dari Tabel 2, Gen yang diberi kotak merupakan gen kode potongan bahan. Sedangkan gen di sebelah kanan dan kiri gen kode potongan bahan yaitu gen junction
masing-masing potongan. Pada baris paling awal kromosom, gen potongan tidak memiliki junction kiri. Pada baris paling akhir pada kromosom, gen kode potongan bahan tidak memiliki junction kanan hal tersebut dikarenakan tidak ada potongan bahan yang bertetangga pada junction yang kosong.
3.3.2. Perhitungan Nilai Fitness
Berikut persamaan dalam perhitungan fitness
:
𝑓(𝑥) = 1000 ∑𝑛𝑖=1(𝐿𝑖)− 𝐿𝑝𝑖 (1) 𝐿𝑝𝑖 = ∑(𝑤𝑖 × ℎ𝑖) 𝑛 𝑖=1 (2) Penjelasan:Li = Luas bahan baku standar ke-i
n = integer
Lpi = Luas bahan terpakai pada lembaran ke-i
𝑤𝑖 = panjang potongan bahan
ℎ𝑖 = tinggi potongan bahan
Persamaan diatas menjelaskan bagaimana nilai fitness diperoleh.inti dari persamaan diatas yaitu 1000 dibagi dengan nilai penjumlahan sisa setiap lembaran bahan baku yang terpakai. Tujuan digunakan angka 1000 yaitu untuk memperkecil hasil fitness. Penghitungan nilai
fitness dilakukan setelah perhitungan sisa bahan bahan disetiap lembaran bahan baku selesai dilakukan. Hal ini dilakukan agar diperoleh nilai sisa yang realistis. Penambahan lembaran bahan baku baru dilakukan apabila wi melebihi nilai W atau hi melebihi nilai dari H.
3.3.3. Mutasi
Dalam penelitian ini reproduksi dilakukan dengan Rectangle and Junction Gene Swap Mutation(RJGSM) dan Rectangle Rotation Mutation(RRM). RJGSM yaitu melakukan
penukaran urutan gen potongan bahan disertai
junctionnya. Sedangkan RRM yaitu memutar gen potongan bahan 90 derajat berlawanan jarum jam diikuti oleh prubahan gen
junction(Matayoshi, 2010b). Kemudian dari proses tersebut akan dihasilkan himpunan individu baru(offspring).
3.3.4. Seleksi
Tujuan dari evaluasi yaitu menghitung nilai fitness dan mengurutkannya dari terendah sampai fitness tertinggi.Setelah fitness
diurutkan dilakukan seleksi dengan
elitism.Seleksi elitism yaitu memilih individu terbaik sebanyak n untuk dibawa ke generasi berikutnya.
4. IMPLEMENTASI
4.1. Implementasi Halaman Utama
Gambar 2. Implementasi Halaman Utama
Halaman utama pada sistem berisi beberapa kolom masukan parameter seperti
mutation rate, popSize, dan jumlah generasi. Selain beberapa kolom masukan parameter pada bagian kanan halaman utama juga di tampilkan data ukuran potongan bahan baku. Dengan kode merupakan kode dari masing-masing potongan bahan, w adalah lebar potongan dan h adalah tinggi potongan.
4.2. Implementasi Halaman Detail Komputasi
Setelah pada halaman awal seluruhkolom masukan selesai diberikan nilai, langkah selanjutnya yaitu menekan tombol komputasi. Hasil dari komputasi bisa dilihan pada tab
halaman detail komputasi. Halaman detail komputasi ditampilkan pada gambar 3.
Gambar 3. Implementasi Halaman Detail Komputasi
Pada halaman detail komputasi terdapat beberapa tabel diantaranya tabel populasi awal, tabel fitness tertinggi tiap generasi, dan tabel nilai fitness tertinggi. Tabel populasi awal menampilkan kromosom yang dibangkitkan pada awal generasi.Tabel fitness tertinggi tiap generasi menampilkan nilai fitnees tertinggi di setiap generasi.Sedangkan tabel nilai fitness
tertinggi menampilkan nilai fitnees tertinggi dari seluruh fitness tertinggi tiap generasi.
5. PENGUJIAN DAN PEMBAHASAN
5.1. Pengujian Jumlah Populasi
Tujuan dari pengujian ini untuk mendapatkan jumlah populasi paling optimum.Jumlah generasi yang diguanakan pada pengujian ini sebanyak 200 generasi. Untuk mendapatkan fitness terbaik akan dilakukan pengujian dengan kombinasi masukan populasi berkelipatan 10 hingga 80 sebanyak 10 kali. Setelah diulang 10 kali akan dicari rata-ratanya untuk mendapatkan nilai akhir dari pengujian per jumlah populasi. Nilai
mutation rate yang digunakan sebesar 0.5. Berikut grafik pengujian jumlah populasi:
Gambar 4. Grafik Pengujian Jumlah Populasi
Dari grafik pada Gambar 7 dapat dilihat
bahwa perubahan nilai populasi
fitness terkecil dihasilkan pada populasi sebesar 10 sedangkan nilai rata-rata fitness terbesar dihasilkan pada populasi sebesar 60.Penyebab nilai populasi 10 menghasilkan rata-rata fitness
terkecil yaitu masih sempitnya ruang pencarian yang mengakibatkan pencarian tidak optimum. Dari hasil tersebut dapat disimpulkan bahwa semakin besar nilai populasi tidak membuat nilai rata-rata menjadi semakin besar pula, hal tersebut dibuktikan dengan naik dan turunnya kurva pada populasi 30, 40, 50, 60, 70 dan 80. 5.2 Pengujian Jumlah Generasi
Pengujian banyak generasi dilakukan untuk mendapatkan fitness terbaik berdasrkan kombinasi banyak generasi.Banyaknya populasi yang digunakan pada pengujian ini diambil dari nilai populasi paling optimum di pengujian sebelumnya yaitu sebesar 60.Nilai mutation rate untuk pengujian ini sebesar 0.5.Jumlah generasi yang digunakan yaitu berkelipatan 20 dimulai dari 20 hingga 160 generasi. Berikut grafik pengujian jumlah generasi:
Gambar 5. Grafik Pengujian Jumlah Generasi
Dari grafik pada Gambar 8 dapat dilihat bahwa perubahan nilai generasi akan mempengaruhi nilai rata-rata fitness. Nilai
fitness terkecil dihasilkan pada generasi sebesar 20 sedangkan nilai rata-rata fitness terbesar dihasilkan pada generasi sebesar 120.Penyebab nilai generasi 20 menghasilkan rata-rata fitness
terkecil yaitu masih sempitnya ruang pencarian yang mengakibatkan pencarian tidak optimum.Dari hasil tersebut dapat disimpulkan bahwa semakin besar nilai generasi tidak membuat nilai rata-rata menjadi semakin besar pula, hal tersebut dibuktikan dengan tidak diperoleh nilai rata-rata fitness terbesar setelah generasi 120.
5.3 Pengujian Nilai Mutation Rate
Pengujian terhadap nilai mutation rate
dilakukan untuk mendapatkan fitness terbaik berdasrkan kombinasi nilai masukan mutation rate.Banyaknya populasi yang digunakan pada pengujian ini diambil dari nilai populasi paling optimum di pengujian sebelumnya yaitu sebesar 60.Nilai banyak generasi juga diambil dari pengujian generasi yang optimum pada
pengujian sebelumnya sebesar 120
generasi.Nilai mutation rate yang digunakan sebesar 0.1 dan kelipatannya sampai 0.9.
Gambar 6. Grafik Pengujian Mutation Rate
Dari grafik pada Gambar 9 dapat dilihat bahwa perubahan nilai mutation rateakan mempengaruhi hasil rata-rata fitness. Nilai rata-rata fitness terkecil dihasilkan pada mutation rate sebesar 0.6 sedangkan nilai rata-rata fitness
terbesar dihasilkan pada mutation rate sebesar 0.9.Penyebab nilai mutation rate sebesar 0.9 menghasilkan rata-rata fitness terbesar yaitu kemampuan belajar individu terhadap individu sebelumnya menjadi lebih tinggi sehingga
mampu mempertahankan keberagaman
populasi.
6. KESIMPULAN
Berdasarkan hasil penelitian optimalisasi sisa bahan baku pada industri mebel dengan algoritma genetika dapat disimpulkan:
1. Optimalisasi sisa bahan baku industri mebel
dapat dilakukan dengan cara
membangkitkan populasi awal sebanyak parameter yang ditentukan. Representasi kromosom menggunakan real coded.
Setelah individu awal dibangkitkan
dilakukan proses mutasi untuk
mendapatkan kromosom baru yang lebih beragam. Setelah dilakukan mutasi sebanyak mutation rate yang telah
ditentukan individu baru dan individu induk akan diseleksi dengan teknik elitism. Teknik seleksi elitism yaitu mengurutkan nilai fitness dari yang terkecil hingga fitness
terbesar sebanyak jumlah populasi untuk mendapatkan individu dengan solusi terbaik.
2. Parameter yang digunakan pada penelitian ini yaitu banyak populasi, jumlah generasi, dan mutation rate. Untuk mendapatkan parameter yang tepat dilakukan pengujian secara bertahap mulai dari pengujian banyak populasi, jumlah generasi, dan
mutation rate. Perubahan nilai populasi akan mempengaruhi nilai fitness pada individu. Begitu juga dengan perubahan nilai mutation rate dan banyak generasi. Semakin besar nilai populasi tidak membuat nilai fitness semakin besar pula, hal ini berlaku juga pada perubahan nilai mutation rate dan banyak generasi. Semakin besar nilai mutation rate dan banyak generasi tidak membuat hasil fitness semakin besar pula.
3. Nilai fitness paling optimum didapatkan pada populasi sebesar 60 dengan nilai fitness 0.00191. Pada pengujian mutation rate didapatkan fitness paling optimum sebesar 0.00190 pada pengujian nilai mutation rate sebesar 0.9. sedangkan pada pengujian banyak generasi didapatkan fitness paling optimum sebesar 0.00186 pada generasi ke 120 dari 48 data potongan bahan.
7. DAFTAR PUSTAKA
Hartono, W., Putri, A., & Sugiyarto. (2014). Integer Programming Dengan Pendekatan Metode Branch and Bound Untuk
Optimasi Sisa Material Besi ( Waste ) Pada Plat Lantai ( Studi Kasus : Pasar Elpabes Banjarsari Surakarta ), 2(2), 86–92. Jin, P., & Zhang, S. C. (2010). A hybrid
multi-chromosome genetic algorithm for the cutting stock problem. Proceedings - 3rd International Conference on Information Management, Innovation Management and Industrial Engineering, ICIII 2010,
1(2), 508–511.
https://doi.org/10.1109/ICIII.2010.128 Juniar, A. (2013). ALGORITMA OPTIMASI
UNTUK MEMINIMALKAN SISA
PEMOTONGAN BAR STEEL PADA
PERUSAHAAN KONSTRUKSI. STMI
Jakarta, 1–5.
KEMENPERIN. (2017). Pameran Mebel dan Kerajinan IFEX Cetak Transaksi US$1 Milyar. Retrieved April 3, 2017, from http://agro.kemenperin.go.id/category/25-Industri+Furniture
Mahmudy, W. F. (2013). Algoritma Evolusi.
Program Teknologi Informasi Dan Ilmu Komputer, Universitas Brawijaya, Malang, 1–101.
Matayoshi, M. (2010a). Double Chromosome GA with Corner Junction for Solving the 2D Strip Packing Problem, (3), 1110– 1116.
Matayoshi, M. (2010b). The 2D strip packing problem: A new approach with
verification by EA. Conference Proceedings - IEEE International Conference on Systems, Man and Cybernetics, (c), 2492–2499.
https://doi.org/10.1109/ICSMC.2010.5641 931
Rao, S. S. (2009). Engineering Optimization: Theory and Practice. Theory and Practice.
https://doi.org/10.1002/9780470549124 Yue, Q., & Liang, S. (2011). Research on the Application of Genetic Algorithm for the Panel Cutting Stock, (5), 214–217.