Kalkulasi Waktu Penyelesaian Pesanan

Pada T=3, job 9 selesai. Job yang akan diproses berikutnya adalah job 10 pada mesin C1. 6. Hitung waktu penyelesaian job i yang telah ditugaskan terhadap satu mesin, shg : C i,1, k = waktu selesai job sebelumnya pada mesin tsb + min t ei,1, k Waktu selesai job 10 C10 ,1, 3 = 3 + 5 = 8 7. Cek apakah i=n dan k=n ? Jika tidak, kembali ke langkah 3. Jika ya, penempatan job-job pada stage 1 selesai. Job urutan ke-4 adalah job 6. Job 6 tidak diproses pada salah satu mesin, tapi disubkontrakkan dengan waktu 24 jam, sehingga waktu penyelesaian job 6 di stage 1 C 6,1, 4 = 0 + 24 = 24. Urutan pada urutan ke 5, 6 dan 7 berturut-turut adalah job 4, 1, 3. Ketiga job ini disubkontrakkan diasumsikan pada pemasok yang berbeda sehingga bisa langsung diproses pada T=0. Waktu penyelesaian ketiga job adalah : Job 4 C 4,1, 5 = 0 + 24 = 24 Job 1 C 1,1, 6 = 0 + 24 = 24 Job C 3,1, 7 = 0 + 24 = 24 Urutan ke-8 adalah job 7 pada mesin C2 dengan t = 4,9. Waktu penyelesaian job 7 adalah : Job C 7,1, 8 = 3,9 + 4,9 = 8,8 Urutan ke-9 adalah job 8 pada mesin C2 dengan t = 1,8. Job 8 baru bisa diproses setelah job 7 selesai diproses pada mesin C2, sehingga waktu penyelesaian job 8 adalah : Job C 8,1, 9 = 8,8 + 1,8 = 10,6 Job 5 dan11 yang berada pada urutan berikutnya dan menggunakan mesin yang sama, yaitu C2 diselesaikan dengan cara yang sama dengan job 8. Hasil penjadwalan semua pesanan pada stage 1 dapat dilihat pada Tabel 32. Tabel 32 Waktu penyelesaian pada stage 1 Job J Stage 1 S1 Mesin Waktu Start Finish 9 C1 3,0 0,0 3,0 2 C2 3,9 0,0 3,9 10 C1 5,0 3,0 8,0 6 K 0,0 24,0 24,0 4 K 0,0 24,0 24,0 1 K 0,0 24,0 24,0 3 K 0,0 24,0 24,0 7 C2 4,9 3,9 8,8 8 C2 1,8 8,8 10,6 5 C2 12,6 10,6 23,2 11 C2 7,9 23,2 31,1 Langkah-langkah perhitungan waktu penyelesaian setiap job pada kromosom 18 di stage 2 sampai stage 4 adalah : 1. Untuk stage j=2,...,4, urutkan job i berdasarkan waktu selesai terkecil pada stage sebelumnya C i,j-1, k dimana i = 1,....n, sehingga diperoleh urutan ke k dimana k = 1,...n. Urutan job yang akan dikerjakan pada stage 2 berdasarkan waktu selesai finish dari stage 1 adalah : 9, 2, 10, 7, 8, 5, 6, 4, 1, 3, 11 2. Untuk job i yang berada pada urutan pertama 1 stage j, pilih mesin eligible ei,j, 1 yg tersedia dengan waktu proses terkecil min t ei,j, 1 dimana e i,j, 1, M j . Job pertama adalah job 9 yang diproses pada mesin P3 dengan waktu 14,5 jam Tabel 32 3. Hitung waktu selesai job i, stage j pada urutan 1 C i,j, 1 = C i,j-1, 1 + min t ei,j, 1, Jika tidak ada mesin eligible yang tersedia job tidak diproses di j=1, set C i,j, 1 = C i,j-1, 1 Jika job i pada stage j urutan 1 disubkontrakkan dalam waktu t = tc i,j , maka set C i,j, 1 = C i,j-1, 1 + tc i,j Pada contoh kromosom 18, waktu selesai job 9 pada stage 2 adalah C 9,2, 1 = C 9,1, 1 + min t e9,2, 1, = 3 + 14,5 = 17,5 Tabel 33 Waktu proses pada stage 2 No No. Job Waktu Proses jam P1 P2 P3 K 1 Job 1 13,0 2 Job 2 34,3 44,0 3 Job 3 14,0 4 Job 4 22,0 5 Job 5 38,2 48,6 6 Job 6 14,5 7 Job 7 38,2 8 Job 8 72,0 9 Job 9 14,5 10 Job 10 17,0 11 Job 11 21,6 27,1 4. Cek apakah masih ada mesin tersisa pada stage j M j ≠0. Jika masih ada mesin tersisa, tugaskan job pada urutan berikutnya k untuk diproses pada t =0, jika tidak tunggu sampai ada mesin yang selesai berproses. Urutan berikutnya adalah job 2 yang bisa diproses pada mesin P1 atau P2. Karena lebih dari satu mesin yang tersedia, maka job 2 bisa diproses pada mesin yang memiliki waktu terkecil, yaitu mesin P1 34,3 jam. Waktu selesai job 2 pada stage 2 adalah : C 2,2, 2 = C 2,1, 2 + min t e9,2, 2 = 3,9 + 34,3 = 38,2 5. Jika ada mesin selesai berproses, tugaskan job pada urutan berikutnya k+1 pada mesin tersebut, jika job yang berada pada k+1 tidak sesuai dengan mesin yang tersedia, maka penugasan bisa diberikan pada job urutan berikutnya k+2 dst. 6. Jika job i pada stage j urutan k disubkontrakkan dalam waktu t = tc i,j , maka set C i,j, k = C i,j-1, k + tc i,j 7. Hitung waktu penyelesaian job i yang telah ditugaskan terhadap satu mesin finish time, shg C i,j, k = max {C iL,j, kL , C i,,j-1, k } + min t ei,j, k Urutan berikutnya adalah job 10 yang diproses pada mesin P3 dengan waktu 17,0. Job 10 ini hanya dapat diproses setelah job 9 yang juga menggunakan mesin P3 selesai diproses pada jam ke 17,5. Waktu selesai job 10 pada mesin P3 adalah : C 10,2, 3 = max {C 10,2, 1 , C 10,,1, 3 } + min t e10,2, 3 = max {17; 8,0} + 17,5 =34,5 Urutan ke-4 adalah job 7 yang hanya bisa diproses pada mesin P2 dengan waktu 38,2 jam. Karena mesin P2 belum pernah digunakan oleh job sebelumnya, maka waktu selesai job 4 adalah : C 7,2, 4 = C 7,1, 4 + min t e7,2, 14, = 8,8 + 38,2 = 47 Urutan ke 5 adalah job 8 yang diproses dengan cara subkontrak selama 72 jam. Waktu penyelesaian job 8 dihitung dengan cara kasus subkontrak seperti yang dijelaskan pada langkah 3, yaitu : C 8,2, 5 = C 8,1, 5 + tc 8,2 = 10,6 + 72 = 82,6 Urutan ke-6 adalah job 5 yang diproses pada mesin P1 atau P2. Karena kedua mesin sedang digunakan ketika job 5 selesai diproses pada stage 1, maka job 5 terpaksa menunggu sampai salah satu mesin selesai. Mesin yang selesai lebih dulu adalah mesin P1 pada jam ke 38,2, sehingga job 5 diproses pada mesin P1. Waktu penyelesaian pada job 5 adalah : C 5,2, 6 = max {C 2,2, 2 , C 5,1, 6 } + min t e5,2, 6 = max {38,2; 23,2} + 38,2 = 76,4 Urutan ke 7 adalah job 6. Mesin yang diperuntukkan untuk job 6 adalah P3 dengan waktu 14,5. Job 6 harus menunggu job 10 yang berada pada urutan ke-3 selesai diproses pada jam ke 34,5, sehingga waktu penyelesaian job 6 adalah : C 6,2, 7 = max {C 10,2, 3 , C 6,1, 7 } + min t e6,2, 7 = max {34,5; 24,0} + 14,5 = 49 Urutan ke-8 adalah job 4 yang diproses pada mesin P3 dengan waktu 22,2 jam. Waktu selesai untuk job ke-8 adalah : C 4,2, 8 = max {C 6,2, 7 , C 4,1, 8 } + min t e4,1, 8 = max {49; 24,0} + 22,2 = 71 Urutan ke-9 dan ke-10 adalah job 1 dan job 3 yang juga diproses pada mesin P3, sehingga waktu selesai kedua job ini adalah : C 1,2, 9 = max {C 4,2, 8 ; C 1,1, 9 } + min t e1,1, 9 = max {71; 24,0} + 13 = 84 C 3,2, 10 = max {C 1,2, 9 ; C 3,1, 10 } + min t e1,1, 9 = max {84; 24,0} + 14 = 98 Urutan ke-11 adalah job 11 yang diproses pada mesin P1 atau P2. Dari kedua mesin ini yang selesai duluan adalah mesin P2. Mesin P2 selesai memproses job 7 yang berada pada urutan ke-4 pada jam ke 47, sehingga waktu penyelesaian job 11 di stage 2 adalah : C 11,2, 11 = max {C 7,2, 4 ; C 11,2, 11 } + min t e11,2, 11 = max {47; 31,1} + 27,1 = 74.1 Hasil perhitungan waktu penyelesaian pesanan di stage 2 secara lengkap dapat dilihat pada Tabel 34. Tabel 34 Waktu penyelesaian pada stage 2 Job J Stage 1 S 1 Stage 2 S 2 Finish Urutan Mesin Waktu Start Finish 9 3,0 1 P3 14,5 3,0 17,5 2 3,9 2 P1 34,3 3,9 38,2 10 8,0 3 P3 17,0 17,5 34,5 6 24,0 7 P3 14,5 34,5 49,0 4 24,0 8 P3 22,0 49,0 71,0 1 24,0 9 P3 13,0 71,0 84,0 3 24,0 10 P3 14,0 84,0 98,0 7 8,8 4 P2 38,2 8,8 47,0 8 10,6 5 K 72,0 10,6 82,6 5 23,2 6 P1 38,2 38,2 76,4 11 31,1 11 P2 27,1 47,0 74,1 8. Cek apakah i=n dan k=n ? Jika tidak, kembali ke langkah 5, jika ya lanjutkan ke langkah berikutnya. Jika semua job sudah dijadwalkan i=11, dan k=11, maka penjadwalan job pada stage 2 selesai dan selanjutnya dilakukan penjadwalan pada stage 3. Langkah-langkah penjadwalan pada stage 3 sama dengan stage 2. Waktu proses job pada stage 3 dapat dilihat pada Tabel 35 dan hasil penjadwalan job pada stage 3 ditunjukkan pada Tabel 36. Tabel 35 Waktu proses pada stage 3 No No. Job Waktu Proses D1 D2 D3 K 1 Job 1 15,1 17,7 20,3 2 Job 2 3 Job 3 20,5 23,3 26,3 4 Job 4 70,5 76,7 83,4 5 Job 5 6 Job 6 23,6 26,7 29,9 7 Job 7 150,9 163,8 178,7 8 Job 8 48,0 9 Job 9 25,9 29,2 32,8 10 Job 10 43,7 48,5 53,7 11 Job 11 Tabel 36 Waktu penyelesaian pada stage 3 Job J Stage 3 Urutan Mesin Waktu Start Finish 9 1 D1 25,9 17,5 43,4 2 3 38,2 10 2 D2 48,5 34,5 83,0 6 5 D3 29,9 49,0 78,9 4 6 D3 83,4 78,9 162,3 1 10 D2 17,7 84,0 101,7 3 11 D2 23,3 101,7 125,0 7 4 D1 150,9 47,0 197,9 8 9 K 48,0 82,6 130,6 5 8 76,4 11 7 74,1 Perbedaan stage 3 dengan stage 2 adalah pada stage 3 terdapat kasus flexible flowshop . Kasus flexible flowshop dicirikan oleh adanya job-job yang melompati salah satu tahapan, seperti job 2, job 5 dan job 11 pada stage 3 ini. Waktu penyelesaian untuk job yang tidak melalui suatu stage dihitung seperti yang dijelaskan pada langkah 3. Sebagai contoh, waktu penyelesaian job 2 pada stage 3 adalah : C i,j, 1 = C i,j-1, 1 C 2,3, 3 = C 2,2, 3 = 38,2 Proses perhitungan waktu penyelesaian dilanjutkan sampai stage ke 4 dengan langkah-langkah yang sama dengan stage 2. Waktu proses pada Stage 4 dapat dilihat pada Tabel 37, dan waktu penyelesaian pada stage 4 dapat dilihat pada Tabel 38. Tabel 37 Waktu proses pada stage 4 No No. Job Waktu Proses jam G1 G2 S M 1 Job 1 3,3 2 Job 2 28,3 11,0 3 Job 3 6,1 3,0 4 Job 4 28,3 11,0 5 Job 5 56,1 6 Job 6 7,4 7 Job 7 56,1 8 Job 8 3,3 2,0 9 Job 9 7,4 3,5 10 Job 10 14,4 6,0 11 Job 11 4,7 Tabel 38 Waktu penyelesaian pada stage 4 Job J Stage 4 Urutan Mesin Waktu Start Finish 9 2 G1 7,4 43,4 50,8 2 1 G2 11,0 38,2 49,2 10 6 G2 6,0 83,0 89,0 6 5 G1 7,4 132,5 139,9 4 10 G2 11,0 162,3 173,3 1 7 G1 3,3 139,9 143,2 3 8 G2 3,0 125,0 128,0 7 11 G1 56,1 197,9 253,9 8 9 G2 2,0 130,6 132,6 5 4 G1 56,1 76,4 132,5 11 3 S 4,7 74,1 78,8 9. Cek apakah j=4 ? Jika tidak kembali ke langkah 1, jika ya, lanjutkan ke langkah berikutnya 10. Hitung makespan F i,4,pk = max C i,4,pk Makespan adalah waktu penyelesaian terbesar dari seluruh job pada stage 4. Pada kromosom 18 ini, waktu penyelesaian terbesar adalah waktu penyelesaian job 7, yaitu 253,9 jam. Masalah penjadwalan flowshop adalah masalah minimasi makespan, maka nilai fungsi evaluasi setiap kromosom harus dikonversi ke dalam nilai fitness sehingga kromosom yang lebih fit lebih bugar akan memiliki nilai fitness yang lebih tinggi. Konversi dilakukan dengan menggunakan fungsi persamaan dibawah ini. Nilai fitness kromosom 18 = 1253,9 = 0,00394. Berikut ini dapat dilihat source code untuk perhitungan nilai fitness : function Fitness = EvalPopx,y x = kueri yang dimasukan y = populasi u_kromosom = sizey,2; elemen_1 = x y; for i = 1 : u_kromosom Fitnessi=elemen_1inormxnormy:,i; end end Tabel 39 Nilai makespan populasi pertama generasi pertama No kromosom Makespan No kromosom Makespan 1 292,2204 11 277,8149 2 279,6093 12 292,2204 3 312,0147 13 292,2204 4 323,2092 14 325,0037 5 277,8149 15 262,6164 6 277,8149 16 333,4583 7 272,6501 17 277,8149 8 255,7025 18 253,9081 9 272,6501 19 326,7466 10 277,8149 20 277,8149 Nilai makespan dan nilai fitness dihitung untuk seluruh kromosom yang terdapat pada populasi awal. Pada contoh kasus ini terdapat 20 kromosom yang harus dihitung nilai makespannya dan nilai fitnessnya. Pada Tabel 38 dan 39 dapat dilihat nilai makespan dan nilai fitness untuk 20 kromosom yang menjadi anggota populasi pertama. Tabel 40 Nilai fitness populasi pertama No kromosom Nilai fitness No kromosom Nilai fitness 1 0,003422 11 0,0036 2 0,003576 12 0,003422 3 0,003205 13 0,003422 4 0,003094 14 0,003077 5 0,0036 15 0,003808 6 0,0036 16 0,002999 7 0,003668 17 0,0036 8 0,003911 18 0,003938 9 0,003668 19 0,00306 10 0,0036 20 0,0036 Elitisme Nilai evaluasi yang dimiliki tiap individu atau kromosom akan diurutkan untuk mengetahui kromosom yang memiliki nilai terbaik. Kromosom dengan nilai terbaik tersebut akan disalin atau disimpan agar tidak rusak akibat proses genetik Suyanto 2005. Jumlah kromosom yang digunakan pada percobaan ini sebanyak 2 nilai terbaik. Source code untuk proses elitisme adalah sebagai berikut : [sortFit m] = sortFitness,descend; a = sizem,2; elit_1 = Populasim1,:; elit_2 = Populasim2,:; TemPopulasi1,: = elit_1; TemPopulasi2,: = elit_2; Seleksi Kromosom Seleksi adalah proses memilih individu pada populasi yang memiliki nilai evaluasi baik untuk dilanjutkan ke proses pindah silang dan mutasi Cox 2005. Proses seleksi yang digunakan adalah roullete wheel atau tournament selection . Roulette wheel Seleksi dilakukan dengan cara mengambil nilai acak antara nilai minimum dan maksimum evaluasi tiap generasi. Jika nilai tersebut lebih kecil dari nilai probabilitas kumulatif maka kromosom yang ditunjuk akan dipilih sebagai kromosom induk. Tahap awal dari roulette wheel adalah dengan menghitung probabilitas seleksi dengan rumus: Probabilitas seleksi kumulatif q k untuk setiap kromosom V k : Algoritma seleksi sebagai berikut: Langkah 1 : Bangkitkan bilangan acak r antara [0,1] Langkah 2 : Jika r ≤ q 1 , pilih kromosom V 1 , kalau tidak pilih kromosom k dengan ketentuan : V k 2 ≤ k ≤ Pop.Size dan q k-1 ≤ r ≤ q k Kromosom yang memiliki nilai evaluasi yang besar atau mendekati 1 akan memiliki kemungkinan terpilih yang lebih besar sebagai populasi baru untuk proses genetik selanjutnya. Hal tersebut menyebabkan kromosom akan terpilih lebih dari satu kali. Source Code untuk seleksi kromosom dengan roulette wheel adalah : function newPop = RouletteWheelPopulasiAwal,Fitness Jum_Krom=sizePopulasiAwal,1; total_eval = sumFitness; prob = Fitnesstotal_eval; prob = sortcumsumprob; a = minprob; b = maxprob; RN=rand1,Jum_Krom a+b+0.001-a; fitIn = 1; newIn = 1; newPop = PopulasiAwal; while newIn = Jum_Krom fitIn =Jum_Krom if RNnewIn = probfitIn newPopnewIn,:=PopulasiAwalfitIn,:; newIn=newIn+1; fitIn = 1; else fitIn=fitIn+1; end end Tournament Selection Proses seleksi dengan menggunakan sistem turnamen antara beberapa individu yang dipilih secara acak dari populasi. Pemenang turnamen yang memiliki nilai fitness terbaik dari dua individu yang dipilih secara acak akan digunakan sebagai induk untuk melakukan pindah silang dengan peluang seleksi turnamen yang digunakan pt = 0.8 Wahde Sandberg 2010. Dengan peluang 1 - pt untuk individu yang memiliki fitness jelek untuk dipilih. Source code untuk seleksi turnamen adalah sebagai berikut : function newPop = tournament PopulasiAwal,Fitness, jmlpop = sizePopulasiAwal,1; pt = 0.8; for i = 1:jmlpop iTmp1 = 1 + fixrandjmlpop; iTmp2 = 1 + fixrandjmlpop; r = rand; if r pt if FitnessiTmp1 FitnessiTmp2 newPopi,:=PopulasiAwaliTmp1,:; else newPopi,:=PopulasiAwaliTmp2,:; end else if FitnessiTmp1 FitnessiTmp2 newPopi,:=PopulasiAwaliTmp2,:; else newPopi,:=PopulasiAwaliTmp1,:; end end end Pindah Silang Pindah silang merupakan proses paling penting dalam GA pada proses genetik. Proses ini melakukan pindah silang antar kromosom induk yang telah dipilih sebelumnya. Pemilihan antar kromosom induk yang akan dipindahsilang ialah dengan cara mengambil nilai acak yang bernilai lebih kecil dari peluang pindah silang Pc. Pada contoh kasus penelitian ini, peluang pindah silang yang digunakan sebesar 0.8. Proses pindah silang dapat dilihat pada Gambar 43 . Mulai Kromosom Induk 1 Kromosom Induk 2 P = rand [0,1] Pindah Silang P Pc Selesai Tidak Ya Gambar 43 Proses pindah silang. Pada masalah flowshop ini, operator penyilangan yang digunakan adalah Partially Mapped Crossover PMX. Prosedur penyilangan PMX ini yaitu dimulai dengan menentukan dua buah titik penyilangan seara acak pada sepasang kromosom induk. Setelah itu elemen kromosom yang terletak diantara kedua titik tersebut saling dipertukarkan untuk membentuk dua kromosom anak. Kromosom anak yang baru terbentuk kemudian diperiksa kelegalannya. Apabila kromosom tersebut memiliki elemen yang sama, maka kromosom tersebut dilegalkan berdasarkan kaidah pemetaan. Kaidah ini diperoleh dari hasil penukaran elemen antar kromosom induk. Source code pemilihan induk parents yang akan di cross over adalah : function Pindex = pilihKrosPopulasi,Pc; Pc = peluang pindah silang Jum_Krom = sizePopulasi,2; j=1; RN=rand1,Jum_Krom; for i = 1 : Jum_Krom if RNiPc Pindexj = i; j=j+1; end end Source code untuk proses pindah silang dengan metode PMX diuraikan di bawah ini : function Induk = PindahSilangInduk,indeks,JumGen parent = Induk; u_indeks = sizeindeks,2; u_Induk = sizeInduk,2; jika banyaknya yang dikros ganjil..maka dikurangi 1 u_indeks = sizeindeks,2; if modu_indeks,2~=0 u_indeks = u_indeks-1; end for i = 1 : 2 : u_indeks a = indeksi; b = indeksi+1; TP = sort1 + fixrand1,2JumGen-1; temp1=Induka,TP1:TP2 temp2=Indukb,TP1:TP2 Induka,TP1:TP2=temp2; Indukb,TP1:TP2=temp1; checking legalization for n=1 : numelInduka,: if n = TP1 n = TP2 else loop = 1; while loop == 1 [ok idx] = findInduka,n == temp2; if numelok == 1 Induka,n = temp1idx; else loop=0; end end end end for n=1 : numelIndukb,: if n = TP1 n = TP2 else loop = 1; while loop == 1 [ok idx] = findIndukb,n == temp1; if numelok == 1 Indukb,n = temp2idx; else loop = 0; end end end end end Mutasi Proses mutasi yang digunakan adalah sistem gen dengan nilai gen mutasi yaitu bilangan bulat. Gen akan mengalami perubahan yang berguna untuk mengembalikan kerusakan gen akibat genetik lainnya Aly 2007. Mutasi yang digunakan dalam masalah flowshop adalah reciprocal exchange mutation yang merupakan bagian dari swap mutation . Prosedur mutasinya yaitu dimulai dengan menentukan sebiah posisi secara acak pada kromosom anak yang baru terbentuk hasil pindah silang. Elemen kromosom pada posisi ini kemudian akan dipertukarkan dengan elemen lain disebelah kanannya. Apabila posisi acak yang diperoleh terletak pada posisi akhir kromosom, maka penukaran elemen dilakukan dengan elemen yang berada pada posisi awal. Source code mutasi adalah sebagai berikut : function pop = mutasinewPop,Pmutasi mengalami revisi setelah sidang [m n] = sizenewPop; banyaknya yang akan termutasi banyakMutasi = Pmutasimn; for i = 1 : banyakMutasi x = fix1+m+1-1rand; baris y = fix1+n+1-1rand; kolom proses pertukaran if y ~= n temp = newPopx,y; newPopx,y = newPopx,y+1; newPopx,y+1 = temp; else jika berada diurutan belakang maka dipertukarkan dengan urutan awal temp = newPopx,y; newPopx,y = newPopx,1; newPopx,1 = temp; end end pop = newPop; Iterasi Algoritma Genetika Untuk menjalankan operator genetika diperlukan input berupa cara seleksi kromosom, operator pindah silang crossover, peluang pindah silang Pc, peluang mutasi Pc, dan jumlah generasi. Pada kasus ini dilakukan beberapa kali percobaan iterasi untuk menghasilkan kromosom dengan nilai makespan yang paling kecil. Iterasi yang digunakan dalam penelitian ini sebanyak 100 kali. Jika iterasi telah mencapai maksimum yaitu 100 kali, maka proses genetik pada percobaan ini akan selesai dan menghasilkan populasi yang lebih baik dari sebelumnya. Gambar 44 Hasil evaluasi waktu penyelesaian pesanan. Dari beberapa kali percobaan, didapatkan hasil penjadwalan pesanan seperti dapat dilihat pada Gambar 44. Penjadwalan pesanan dilakukan dengan menggunakan Program Matlab versi 10a. Pada hasil penjadwalan ini maksepan yang dihasilkan adalah 251,7988 jam. Hasil ini diperoleh dengan menggunakan cara seleksi kromosom Tournament, operator pindah silang PMX, peluang pindah silang sebesar 0,8, peluang mutasi 0,01, dan jumlah generasi 100. Jika jam kerja diberlakukan sebanyak 1 shift sehari, dimana satu shift sama dengan delapan jam kerja, maka semua pekerjaan dapat diselesaikan dalam waktu 32,14 hari tanpa memperhitungkan hari libur. Gambar 45 Urutan job, mesin yang terpilih dan waktu selesai setiap job stage 1 sampai stage 3. Dari grafik nilai fitness pada Gambar 44 dapat dilihat bahwa nilai fitness maksimum optimal sudah mulai tercapai mendekati generasi ke 25. Sebelumnya masih terjadi fluktuasi nilai fitness yang disebabkan oleh proses pindah silang dan mutasi yang dilakukan oleh operator genetika. Proses pencarian jadwal urutan optimum dari suatu kromosom yang terdiri dari 11 gen, membutuhkan ruang pencarian yang sangat besar. Apabila tidak digunakan algoritma genetika, maka ruang pencarian jadwal optimum ini akan melibatkan alternatif solusi yang sangat banyak. Jumlah alternatif solusi jadwal adalah 39.916.600. Nilai ini merupakan hasil permutasi dari 11 faktorial, yang merupakan jumlah job yang akan dijadwalkan. Dengan penggunaan algoritma genetika, besarnya area pencarian jauh berkurang. Dalam kasus ini, jika solusi optimal telah tercapai pada iterasi ke-25, dimana setiap iterasi terdiri dari 20 kromosom, maka besarnya area pencarian adalah : 20 x 25 = 500 alternatif solusi. Persentasi area pencarian yang dilakukan oleh GA pada kasus ini dapat dihitung sebagai berikut : 50039.916.600 x 100 = 0,0012 Dari nilai di atas dapat dilihat bahwa algoritma genetika bekerja sangat efisien. Hanya dengan melakukan pencarian sebesar 0,0012 dari ruang pencarian yang ada, algoritma genetika sudah bisa memperoleh suatu solusi yang mendekati optimum. Gambar 46 Urutan job, mesin yang terpilih dan waktu selesai setiap job stage2 sampai stage4. Disamping memberikan informasi mengenai waktu penyelesaian keseluruhan pekerjaan makespan, pada Gambar 45 dan 46 juga dapat dilihat waktu penyelesaian setiap pesanan dan mesin-mesin yang digunakan pada setiap stage oleh masing-masing pesanan. Pesanan yang selesai diproses paling akhir adalah pesanan dus anlene gold pesanan nomor 6, sedangkan pesanan yang selesai diproses paling awal adalah kotak kamera Canon pesanan nomor 9. Dari hasil penjadwalan juga terlihat bahwa pesanan yang dimulai paling awal belum tentu selesai diproses paling awal juga. Banyak faktor yang mempengaruhi kecepatan waktu penyelesaian suatu pesanan, antara lain desain dan spesifikasi produk, jumlah pesanan, urutan proses serta lamanya waktu proses pada setiap mesin. Gambar 45 memberikan informasi mengenai urutan pekerjaan pesanan yang dikerjakan pada proses corrugating stage 1, proses printing stage2 dan proses die cut stage 3. Gambar 46 memberikan informasi tambahan mengenai urutan pekerjaan pesanan yang dikerjakan pada proses finishing stage 4. Sebagai contoh pada Gambar 45 dan 46 terlihat bahwa kotak laptop axioo pesananjob nomor 8 melalui tahapan : 1 stage 1 diproses pada mesin C2, 2 stage 2 disubkontrakkan, 3 stage 3 disubkontrakkan, dan 4 stage 4 diproses pada mesin G2. Tabel 41 menunjukkan populasi generasi terakhir yang dari hasil seleksi kromosom, persilangan dan mutasi yang dilakukan oleh operator genetika. Dari beberapa kali percobaan, metode seleksi kromosom dengan cara tournament memberikan hasil yang lebih baik dibandingkan seleksi dengan cara roda rolet roulette wheel. Hal ini terlihat dari kecepatan untuk mencapai nilai optimum dan nilai fitness yang dihasilkan. Tabel 41 Populasi ke-100 Generasi Akhir No kromo- som Urutan Pekerjaan Job 1 2 3 3 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 8 4 6 7 2 3 1 9 11 5 10 4 8 7 6 3 2 1 9 5 11 10 8 4 6 7 3 1 9 2 5 11 10 4 8 6 7 3 1 2 9 5 11 10 8 4 6 7 3 1 2 9 5 11 10 4 8 6 7 3 1 9 2 5 11 10 4 8 6 7 3 9 1 2 5 11 10 4 8 6 7 3 1 9 2 5 10 11 8 4 6 7 3 1 9 2 5 11 10 8 4 6 7 3 1 2 9 5 11 10 8 4 7 6 2 3 1 9 5 11 10 4 8 6 7 2 3 1 9 5 10 11 4 6 8 7 2 3 1 9 5 10 11 8 4 7 6 1 3 9 2 5 11 10 8 4 6 7 3 2 1 9 5 11 10 8 4 6 7 2 3 1 9 5 11 10 8 4 6 7 3 1 9 2 5 10 11 8 4 6 7 3 1 9 2 5 11 10 4 8 6 7 3 1 9 2 5 10 11 8 4 7 6 2 3 1 9 5 11 10 Nilai makespan minimum yang dihasilkan populasi terakhir Tabel 42 memperlihatkan penurunan dibandingkan populasi pertama sebesar 2,11 jam. Hal ini menunjukkan bahwa algoritma genetika mampu untuk menghasilkan jadwal dan pengurutan produksi yang lebih baik. Tabel 42 Nilai Makespan Populasi Akhir Generasi ke-100 No kromosom Makespan No kromosom Makespan 1 251,799771 11 251,799771 2 251,799771 12 251,799771 3 251,799771 13 251,799771 4 251,799771 14 251,799771 5 251,799771 15 251,799771 6 251,799771 16 251,799771 7 251,799771 17 251,799771 8 251,799771 18 251,799771 9 251,799771 19 251,799771 10 251,799771 20 251,799771 Menghitung Nilai Final Time Nilai final time adalah waktu penyelesaian paling akhir setelah ditambahkan dengan additional treatment stage 5. Final time diperoleh setelah operator genetika dijalankan untuk stage 1 sampai stage 4, yang berarti setelah kromosom dengan nilai fitness terbaik ditemukan. Nilai final time dihitung sebagai berikut : F i,5,pk = C i,4,pk + ta i,pk Waktu final maksimum setelah ditambahkan waktu untuk perlakuan tambahan stage 5 adalah 257,13 jam. Kalkulasi waktu penyelesaian pesanan juga dapat dilakukan tanpa menggunakan algoritma genetika GA. Perhitungan tanpa menggunakan GA dilakukan jika jumlah pesanan sangat sedikit, sehingga penggunaan GA tidak terlalu diperlukan untuk menghasilkan optimalitas dalam penjadwalan pesanan. Perhitungan waktu penyelesaian tanpa menggunakan GA juga dapat dilakukan atas dasar kebijakan manajemen, seperti memproses pesanan berdasarkan urutan kedatangan. Namun pemrosesan pesanan berdasarkan urutan kedatangan tidak menjamin bahwa pesanan yang diproses paling awal, akan selesai paling duluan juga. Sebagai contoh hasil penjadwalan pesanan tanpa menggunakan bantuan GA, namun diurutkan berdasarkan kedatangan dapat dilihat pada Gambar 47 dan Gambar 48. Gambar 47 Waktu penyelesaian pesanan pada stage 1 sampai 3. Pada Gambar 47 dapat dilihat waktu penyelesaian setiap pesanan pada stage 1 sampai stage 3. Sebagai contoh, pesanan nomor 2 dikerjakan pada mesin C2 stage1, mesin P1 stage2 dan tidak perlu diproses pada stage 3. Waktu penyelesaian pesanan nomor 2 pada stage 1 adalah jam ke 3,9, pada stage 2 pada jam ke 38,2, dan pada stage 3 juga pada jam ke 38,2 waktu selesai stage 3 sama dengan stage 2 karena pesanan tidak diproses pada stage 3. Pada Gambar 48 dapat dilihat waktu penyelesaian setiap job pada stage 3, stage 4 dan pada proses perlakukan tambahan additional treatment. Sebagai contoh pesanan no 2 dikerjakan pada mesin G2 stage 4 dan tidak memerlukan proses perlakuan tambahan. Waktu selesai pada stage 4 adalah pada jam ke 49,2. Karena pesanan nomor 2 tidak memerlukan perlakuan tambahan, maka waktu selesai proses produksi adalah waktu penyelesaian pada stage 4. Gambar 48 Waktu penyelesaian pesanan pada stage 2 sampai additional treatment. Makespan yang dihasilkan dari kalkulasi waktu penyelesaian pesanan tanpa menggunakan GA adalah sebesar 338,1 jam. Nilai ini jauh lebih besar dibandingkan makespan yang dihasilkan dengan menggunakan GA. Hal ini membuktikan bahwa penjadwalan pesanan dengan menggunakan GA memberikan hasil yang lebih optimum dibandingkan penjadwalan yang hanya dilakukan berdasarkan urutan kedatangan pesanan.

6.3. Kalkulasi Harga

Perhitungan kalkulasi harga pesanan diklasifikasikan menjadi dua kelompok, yaitu biaya produksi dan biaya non produksi. Biaya produksi adalah biaya setiap aktivitas yang telah dikelompokkan berdasarkan pendekatan ABC, sedangkan biaya non produksi adalah biaya overhead yang terdiri dari biaya set up, biaya pemeliharaan, biaya energi, biayaadministrasi, biaya asuransi dan depresiasi.

6.3.1 Biaya Produksi

Biaya produksi yang telah telah dibuat berdasarkan pendekatan Activity Based Costing ABC kemudian dihitung berdasarkan formula perhitungan biaya yang telah dirumuskan pada Tabel 13. Biaya Corrugating Biaya corrugating dihitung berdasarkan harga karton gelombang yang terdapat di pasaran. Harga ini dinyatakan dalam satuan rupiahmeter 2 . Tabel 43 Biaya Proses Corrugating No Nama Produk Jenis Flute Jenis Bahan Harga sheet Rpm 2 Ukuran sheet PsxLsm 2 Jumlah sheet unit Biaya corrugat- ing Rp 1 1 Kotak hair dryer E- flute K150M125K125 3223 0,8611 3.667 10.177.118 2 kardus susu Indomilk B- flute K125M125K125 2997 1,1875 27.500 97.870.781 3 Kotak madu sumbawa 5.500 4 Kotak biskuat bolu 36.667 5 Kardus aqua gelas C- flute K125M125M125 2911 1,1875 110.000 380.249.375 6 Dus Anlene Gold 3.438 7 Kotak Pizza Hut B- flute K125M125M125 2858 0,9975 36.667 104.532.300 8 Kotak Laptop B- flute K125M125M125 2858 0,78 11.000 24.521.640 9 Kotak kamera E- flute K150M125K125 3223 0,8611 13.750 38.160.723 10 Kotak HP Sony Ericsson E- flute K150M125K125 3223 0,8611 27.500 76.321.446 11 Kotak radiotape BC- flute K125M125M125 4697 3,375 27.500 435.940.313 Dalam proses pembuatan kemasan karton, biaya bahan baku memiliki proporsi yang cukup besar dari total biaya produksi. Pada Tabel 43 dapat dilihat biaya proses corrugating untuk kesebelas pesanan yang diimplementasikan. Biaya corrugating tidak terdapat pada semua pesanan, melainkan hanya pada pesanan yang bahan bakunya berasal dari karton gelombang atau campuran karton gelombang dengan kertas duplex atau art carton. Pesanan kotak madu sumbawa, kotak biskuat bolu dan dus anlene gold tidak memiliki unsur biaya corrugating karena bahan bakunya bukan karton gelombang melainkan karton duplex dan art carton. Data-data untuk harga dan jenis bahan karton gelombang berasal dari data bahan baku sheet. Biaya Cetak Biaya cetak printing terdiri dari komponen biaya : a biaya desain dan pengaturan pola layout, b biaya cetak film, c biaya pembuatan pelat, d biaya bahan baku karton sheet, e biaya bahan baku tinta, f biaya tenaga kerja, dan g biaya subkontrak. Pada kasus ini biaya desain dan pengaturan pola berkisar antara Rp. 50.000 sampai dengan Rp 200.000,- tergantung luas area yg didesain, jumlah warna dan tingkat kerumitan desain. Tiap perusahaan kemasan karton memiliki kebijakan maupun tarif yang berbeda-beda mengenai biaya desain dan pengaturan pola, sehingga pada model ini, biaya desain dan pengaturan pola diinput secara manual. Biaya pencetakan film hanya terdapat pada pesanan yang dicetak pada mesin offset, sedangkan biaya pembuatan pelat terdapat pada pesanan yang dicetak dengan mesin cetak flexo maupun mesin cetak offset. Biaya pembuatan film dan pelat cetak tergantung kepada luas area yang dicetak dan jumlah warna pesanan. Luas area yang dicetak diasumsikan merupakan luas seluruh pola kemasan Pr x Lr. Jumlah film yang dicetak sesuai dengan jumlah warna printing dari suatu pesanan. Biaya pembuatan pelat cetak untuk mesin flexo sedikit lebih mahal daripada biaya pembuatan pelat cetak mesin offset. Biaya pembuatan film dan biaya pembuatan pelat cetak dinyatakan dalam rupiah per cm 2 . Pada kasus ini, biaya pembuatan film diasumsikan sebesar Rp. 10,-cm 2 , biaya pembuatan pelat cetak offset Rp. 30,-cm2 dan biaya pembuatan pelat cetak flexo Rp. 35,-cm 2 . Hasil perhitungan biaya desain, biaya cetak film dan biaya pembuatan pelat cetak dapat dilihat pada Tabel 44. Tabel 44 Biaya Desain, Pembuatan Film dan Pembuatan Pelat No Nama Produk Desain dan pengaturan pola a Luas area cetak PrxLr cm 2 Pembuatan film b Pembuatan Pelatcetak c 1 Kotak hair dryer 100000 1813,18 72.527 217.582 2 Kardus susu Indomilk 75000 2700,00 283.500 3 Kotak madu sumbawa 100000 1485,16 59.406 178.219 4 Kotak biskuat bolu pandan 100000 1691,43 67.657 202.971 5 Kardus aqua gelas 50000 5596,50 391.755 6 Dus Anlene Gold 100000 972,00 38.880 116.640 7 Kotak Pizza Hut small 50000 1479,00 51.765 8 Kotak Laptop Axioo 150000 9 Kotak kamera Canon 100000 2959,19 118.368 355.103 10 Kotak HP Sony Ericsson 100000 1678,97 67.159 201.477 11 Kotak radiotape 100000 15928,60 1.115.002 Jenis bahan baku pada kemasan karton dapat diklasifikasikan menjadi bahan baku utama dan bahan penolong. Bahan baku utama berupa lembaran karton sheet dan tinta, sedangkan bahan penolong antara lain lem, kawat stitching, dan selotip seal. Bahan baku kertas karton memiliki variasi cukup banyak. Biaya bahan baku lembaran karton yang diperhitungkan pada proses printing adalah bahan baku yang tidak termasuk kelompok karton gelombang, seperti kertas duplex dan karton seni. Hal ini dikarenakan biaya bahan baku untuk kertas gelombang telah diperhitungkan pada proses corrugating. Pada Tabel 44 dapat dilihat biaya bahan baku kertas karton untuk pesanan-pesanan yang termasuk kelompok karton lipat folding carton. Jumlah sheet yang merupakan keluaran dari proses corrugating menjadi faktor yang menentukan besarnya biaya bahan baku untuk proses cetak. Tabel 45 Biaya Bahan Baku Kertas Karton No Nama Produk Biaya Kertas Jml sheet Jumlah dlm rim Jenis kertas Harga sheet Rprim Biaya total sheet d 1 Kotak hair dryer 3.667 8 Duplex 250 708.500 5.668.000 2 Kardus susu Indomilk 3 Kotak madu sumbawa 5.500 11 Duplex 250 708.500 7.793.500 4 Kotak biskuat bolu pandan 36.667 74 Art carton 230 1.046.500 77.441.000 5 Kardus aqua gelas 6 Dus Anlene Gold 3.438 7 Duplex 250 708.500 4.959.500 7 Kotak Pizza Hut small 8 Kotak Laptop Axioo 11.000 22 Duplex 250 708.500 15.587.000 9 Kotak kamera Canon 13.750 28 Duplex 250 708.500 19.838.000 10 Kotak HP Sony Ericsson 27.500 55 Duplex 250 708.500 38.967.500 11 Kotak radiotape Bahan baku utama lainnya yang memiliki proporsi biaya cukup banyak adalah tinta printing. Pada Tabel 46 dapat dilihat hasil kalkulasi biaya untuk tinta printing . Banyaknya penggunaan tinta printing ditentukan oleh faktor-faktor jumlah sheet yang dicetak A, luas area yang dicetak O, teknik cetak D, acuan cetak V, warna tinta I dan jenis kertas P. Teknik cetak, acuan cetak, warna tinta dan jenis kertas adalah suatu faktor pengali dalam bentuk bilangan konstanta yang disepakati pada dunia percetakan untuk menghitung berapa banyak tinta yang terpakai. Faktor pengali untuk perhitungan kebutuhan tinta dapat dilihat pada Tabel 46. Pada kasus ini setiap pesanan memiliki teknik cetak yang berbeda-beda tergantung jenis mesin cetak yang digunakan. Acuan cetak untuk kesebelas pesanan diasumsikan sama, yaitu blok penuh. Warna tinta tergantung kepada desain printing dan jumlah warna yang ditentukan pada awal pesanan, sedangkan jenis kertas yaitu kertas karton. Keputusan mengenai teknik cetak dan warna tinta berhubungan dengan data produksi dan data pesanan, sedangkan acuan cetak dtentukan oleh bagian produksi. Tabel 46 Biaya Bahan Baku Tinta No Nama Produk Jml produk Faktor Pengali Gram Tinta Biaya Tinta e D V I P 1 Kotak hair dryer 10.000 1,1 1 5,1 2 20.343,92 3.051.589 2 Kardus susu Indomilk 100.000 1,4 0,5 3,8 2 143.640 21.546.000 3 Kotak madu sumbawa 20.000 1,1 1 5,1 2 33.327,04 4.999.055 4 Kotak biskuat bolu pandan 100.000 1,1 1 5,1 1 94.888,94 14.233.341 5 Kardus aqua gelas 200.000 1,4 0,5 2,8 2 438.765,6 65.814.840 6 Dus Anlene Gold 25.000 1,1 1 5,1 2 27.264,6 4.089.690 7 Kotak Pizza Hut small 200.000 1,4 0,5 1,4 2 57.976,8 8.696.520 8 Kotak Laptop Axioo 10.000 9 Kotak kamera Canon 25.000 1,1 1 5,1 2 83.005,27 12.450.791 10 Kotak HP Sony Ericsson 50.000 1,1 1 5,1 2 94.190,35 14.128.553 11 Kotak radiotape 50.000 1,4 0,5 2,4 2 267.600,5 40.140.072 Gram tinta diperoleh dengan mengalikan keempat faktor pengali dengan luas area yang dicetak dan jumlah sheet. Luas area yang dicetak diasumsikan