F07abs
-
Upload
cyser-jenius -
Category
Documents
-
view
53 -
download
7
description
Transcript of F07abs
OPTIMASI MASALAH PENJADWALAN JOB-SHOP
UNTUK INDUSTRI PERALATAN PENGOLAHAN HASIL PERTANIAN
DENGAN MENGGUNAKAN ALGORITMA GENETIKA
Oleh
AYIP BAYU SATRIO
F34103096
DEPARTEMEN TEKNOLOGI INDUSTRI PERTANIAN
FAKULTAS TEKNOLOGI PERTANIAN
INSTITUT PERTANIAN BOGOR
BOGOR
2007
Ayip Bayu Satrio. F34103096. Optimasi Masalah Penjadwalan Job-Shop untukIndustri Peralatan Pengolahan Hasil Pertanian dengan Menggunakan AlgoritmaGenetika. Di bawah bimbingan Yandra Arkeman dan Hendra Gunawan. 2007.
RINGKASAN
Penjadwalan produksi di dalam dunia industri, baik industri manufakturmaupun agroindustri, memiliki peranan penting sebagai bentuk pengambilankeputusan. Perusahaan berupaya untuk memiliki penjadwalan yang paling efekif danefisien sehingga dapat meningkatkan produktivitas yang dihasilkan dengan total biayadan waktu seminimum mungkin.
Salah satu masalah dalam penjadwalan produksi adalah adanya kesulitanmenemukan teknik yang paling tepat untuk membuat jadwal produksi yang palingbaik, optimal, dan memenuhi segala kriteria-kriteria penjadwalan yang telahditetapkan. Teknik-teknik penyusunan jadwal produksi yang sudah ada (teknikkonvensional) tidak dapat dipakai karena teknik-teknik tersebut memiliki banyakkelemahan dalam menangani masalah berskala besar dan kompleks.
Permasalahan penjadwalan job shop (job shop scheduling) dengan fungsitujuan meminimumkan total waktu proses (makespan) dapat diterjemahkansebagai memproses setiap pekerjaan (job) dari n job pada m mesin dengan urutantertentu. Setiap pekerjaan terdiri dari serangkaian operasi. Setiap mesin dapatmenangani tidak lebih dari satu pekerjaan pada suatu waktu dan setiap pekerjaanmengunjungi mesin hanya satu kali.
Pada penelitian ini akan dicari solusi untuk menyelesaikan permasalahanpenjadwalan job shop dengan menggunakan metode Genetic Algorithms(Algoritma Genetika). Prinsip kerjanya yaitu berdasarkan analogi evolusi biologi,yang terdiri dari proses penginisialisasian populasi, proses penyeleksian, prosespenyilangan, dan proses mutasi. Keunggulan dari algoritma genetika ini adalahstrukturnya yang sederhana, mudah mengimplementasikannya, dan cepat dalampencapaian solusi yang optimum (efektif dan efisien).
Penelitian ini bertujuan untuk mengaplikasikan algoritma genetika dalambidang penjadwalan produksi tipe job shop berskala besar. Implementasi daripenelitian ini adalah perancangan program GA_JobShop (Genetic Algorithms forJob Shop Scheduling) yang dibuat menggunakan bahasa pemrograman BorlandDelphi 7.0. Representasi kromosom menggunakan preference list basedrepresentation, proses penyilangan menggunakan Partially Mapped Crossover(PMX) yang telah dimodifikasi, proses mutasi menggunakan reciprocal exchangemutation yang telah dimodifikasi, dan seleksi menggunakan tournament selection.
Kasus ke-1 merupakan numerical example, yaitu data yang digunakansebagai verifikasi dan validasi program GA_JobShop. Data kasus 1 dibuat denganmengikuti aturan permasalahan pada sebuah penjadwalan tipe job shop. Kasus 2mengacu pada persoalan yang terdapat di dalam buku Genetic Algorithms andEngineering Design (Gen dan Cheng, 1997). Kasus ke-3 merupakan kasus riil diindustri peralatan pengolahan hasil pertanian CV Mitra Niaga Indonesia, Bogor.
Penjadwalan tipe job shop memiliki ruang pencarian (search space)sebesar (n!)m, dengan n adalah jumlah job dan m adalah jumlah mesin. Kasus 1 (3job 2 mesin) memiliki ruang pencarian sebanyak 36 calon solusi. Kasus 2 (3 job
– 3 mesin) memiliki ruang pencarian sebesar 216 calon solusi. Kasus 3 (5 job – 12mesin) memiliki ruang pencarian sebesar 8,92×1024 calon solusi.
Hasil penilitian menunjukkan bahwa program GA_JobShop sangat efisiendalam penyelesaian masalah penjadwalan tipe job shop berskala kecil maupunbesar. Program GA_JobShop telah terbukti valid, hal ini dibuktikan pada Kasus 1.Nilai makespan optimum pada Kasus 1 yang didapatkan dengan cara enumeratif(menghitung semua alternatif penjadwalan yang dapat terjadi) sama dengan nilaimakespan optimum yang didapatkan dengan menggunakan algoritma genetika(program GA_JobShop), yaitu 11. Pada Kasus 2, solusi optimum dapat tercapaipada generasi ke-3 dengan nilai makespan 11. Algoritma genetika hanyamengeksplorasi 27,78 % ruang pencarian (search space) untuk mendapatkan nilaiyang minimum pada Kasus 2. Semakin besarnya ruang pencarian (search space)maka penggunaan algoritma genetika akan semakin efisien, terlihat pada Kasus 3.Kasus 3 (5 job – 12 mesin) memiliki nilai makespan sebesar 3589 dalam satuanwaktu menit.
Ayip Bayu Satrio. F34103096. The Optimization of Job Shop Scheduling Problemsfor Manufacture Industry of Agriculture Product Processing Machinery withUsing Genetic Algorithms. Supervised by Yandra Arkeman and Hendra Gunawan.2007.
SUMMARY
Scheduling of production in industrial world, like in manufacture industry oragroindustry has an important role in making decision. The company is trying to haveeffective and efficient scheduling which can increase the productivity with smallamount of cost and time. One of the problem in scheduling production is founding problem in decidingwhich is the right technique to make better, optimal, fulfill all the criteria in makingproduction schedule. Techniques in arranging the production schedule that alreadyexist (conventional techniques) cannot be used because they have a lot of weaknessesin handling large scale and complex problems. The problem of job shop scheduling with function to minimize the total oftime process which can be translated to process every job from n jobs to m machineswith certain sequence. Every job has its own sequence of operation. Every machinecan handle no more than one job in a time and every job visit the machine only in onetime. In this research will find the solution to solve the problem of job shopscheduling using Genetic Algorithms method. The basic principal is based on analogyof biological evolution, which contains initialization population process, selectionprocess, crossover process, and mutation process. The benefits of genetic algorithmsare the simple structure, easy to implement, and very quick in accomplishing theoptimum solution (effective and efficient). The goal of this research is to applying genetic algorithms for large scale jobshop scheduling of production. The implementation of this research is to designGA_JobShop (Genetic Algorithms for Job Shop Scheduling) program which isusing Borland Delphi 7.0. The chromosome representation are using preference listbased representation, crossover process are using partially mapped crossover (PMX)which is been modified, the mutation process are using reciprocal exchange mutationwhich is been modified, and the selection process are using tournament selection. The first case is numerical example that is the data which is being used asverification and validation of GA_JobShop program. The data of the first case ismade by following job scheduling rules. The second case refer to the problem whichis contain in the book of Genetic Algorithms and Engineering Design (Gen danCheng, 1997). The third case is a real case in manufacture industry of agricultureproduct processing machinery of CV Mitra Niaga Indonesia, Bogor. The job shop scheduling has a search space for about (n!)m , n as the amountof jobs and m as the amount of machines. Case 1 (3 jobs – 2 machines) has a searchspace for about 36 candidates of solutions. Case 2 (3 jobs – 3 machines) has a searchspace for about 216 candidates of solutions. Case 3 (5 jobs – 12 machines) has asearch space for about 8,92×1024 candidates of solutions. This research shows that the GA_JobShop program is very efficient insolving problem of job shop scheduling even in large scale or small scale.GA_JobShop program has proven valid. This has been proven in the Case 1. Thevalue of makespan optimum in the Case 1 which is has been made by enumerative
search equals with makespan optimum value by getting with using genetic algorithms(GA_JobShop program) is 11. In the Case 2, the optimum solution can be achievedin the third generation with makespan value on 11. Genetic algorithms only explored27,78 % of search space to get minimum value in Case 2. More search space will bemore efficient to use genetic algorithms, it showed on the Case 3. The Case 3 (5 jobs12 machines) has makespan value for about 3589 in minutes.
FAKULTAS TEKNOLOGI PERTANIAN
INSTITUT PERTANIAN BOGOR
OPTIMASI MASALAH PENJADWALAN JOB-SHOP
UNTUK INDUSTRI PERALATAN PENGOLAHAN HASIL PERTANIAN
DENGAN MENGGUNAKAN ALGORITMA GENETIKA
SKRIPSI
Sebagai salah satu syarat untuk memperoleh gelar
SARJANA TEKNOLOGI PERTANIAN
Pada Fakultas Teknologi Pertanian
Institut Pertanian Bogor
Oleh
AYIP BAYU SATRIO
F34103096
Dilahirkan di Jakarta
Pada tanggal 16 Agustus 1985
Tanggal kelulusan : 19 Desember 2007
Disetujui :
Bogor, Januari 2008
Hendra Gunawan, S.TP Dr. Ir. Yandra Arkeman, M.Eng
Pembimbing II Pembimbing I
KATA PENGANTAR
Puji syukur kehadirat Allah SWT penulis panjatkan karena atas segala
rahmat dan karunia-Nya, penulis dapat menyelesaikan skripsi ini. Penulis memilih
topik Optimasi Masalah Penjadwalan Job Shop untuk Industri Peralatan
Pengolahan Hasil Pertanian dengan Menggunakan Algoritma Genetika.
Penulis mengucapkan terima kasih kepada pihak yang telah membantu
dalam penyelesaian skripsi ini terutama kepada :
1. Dr. Ir. Yandra Arkeman, MEng, selaku dosen pembimbing I yang telah
memberikan ide, saran, dan pengarahan kepada penulis.
2. Hendra Gunawan, S.TP, selaku pembimbing II yang telah banyak memberikan
pengarahan serta bantuan dalam memberikan pemahaman kepada penulis.
3. Ir. Ade Iskandar, M.Si, selaku pembimbing praktek penelitian di industri
peralatan pengolahan hasil pertanian CV Mitra Niaga Indonesia, Bogor.
4. Dr. Ir. Suprihatin, M.Si, selaku penguji pada ujian sidang sarjana.
5. Kedua orang tua, kakak dan adik penulis, yang selalu memberikan dorongan,
motivasi dan doa dengan tulus.
6. Yuvi Andria, rekan sebimbingan yang telah banyak memberikan masukan-
masukan yang bermanfaat dalam penyelesaian skripsi ini.
7. Ulfa Septianty yang selalu memberikan dorongan agar skripsi ini dapat
terselesaikan dengan cepat.
8. Sahabat-sahabat penulis : Adhitia Kusuma, Fadil, Jiwo, Iqbal, Anggia Resha,
Devan, yang selalu memberikan semangat dan doa kepada penulis.
9. Teman-teman RISDA.
10. Teman-teman TIN ’40, khususnya Amet, Ratih Bunda, Farah, Adit, Helmi,
Derry, Arvi, Desminda, Imam, Puji, Budi, Reza, Fardian, Lucia, Adam, Vivi, ,
Devi, Mona,Silvy dan semuanya yang telah kompak semasa kuliah..
11. Teman-teman HIMALOGIN (Himpunan Mahasiswa Teknologi Industri).
12. Seluruh panitia seminar “SIX SIGMA” tahun 2005.
13. Teman-teman satu seperjuangan PL : Syahrian, Elly, Eka, Irawan, Ratna, Iib,
Shinta, Andri, Angga, Kiki, CB, dan lain-lain.
14. Like a Free Band : Chandra, Bugi, Uci, Au, Dhani, Ali dan Kanda.
15. Puzzle Band : Fadil, Dimas, Gulit, Bembi.
16. Para penghuni Wisma Galih, terutama Bang Riki, Aldo, Oza, Mas Ade, Budi,
Ian, Uda Edwin, Uda Paul, Pak Amshor, Wita, Frans, Bian, Benny dan lain-
lain.
17. Mas Jerry, yang telah membantu dalam translate bahasa inggris.
18. Kemal, yang telah meminjamkan KTM UI Fakultas Teknik.
19. Ade, rekan bisnis yang setia bekerja sama di Blite Outlet and Stationery,
Bateng, Kampus Dalam.
20. Seluruh pihak yang telah membantu penulis hingga akhir penyelesaian skripsi.
Semoga skripsi ini dapat bermanfaat bagi kita semua.
Bogor, Desember 2007
Ayip Bayu Satrio
RIWAYAT HIDUP
Penulis dilahirkan di Jakarta pada tangal 16 Agustus 1985 sebagai anak
kedua dari tiga bersaudara, anak dari pasangan Ayip Muchlis dan Kussri Saparti.
Selama 5 tahun pertama, Penulis dibesarkan di Jakarta dan kemudian berpindah
ke Bekasi.
Pada tahun 2003 Penulis lulus dari SMU Negeri 61 Jakarta Timur dan
kemudian di tahun yang sama Penulis lulus ujian SPMB (Sistem Penerimaan
Mahasiswa Baru) dengan memilih IPB (Departemen Teknologi Industri
Pertanian) sebagai pilihan.
Pada tahun kedua dan ketiga masa perkuliahan, Penulis aktif di dalam
organisasi Himpunan Mahasiswa Teknologi Industri (Himalogin) sebagai salah
satu staff PR (Public Relation). Penulis sempat menjadi ketua salah satu acara
seminar yang diadakan oleh Himalogin (Seminar Six Sigma) tahun 2005. Penulis
juga sempat berpengalaman sebagai MC (Master of Ceremonial) pada acara
“Lepas Landas Sarjana Fateta IPB” tahun 2004 dan “Seminar Nasional
Pemanfaatan Surfaktan Berbasis Minyak Sawit untuk Industri” tahun 2005.
Pada tahun 2006 Penulis melakukan Praktek Lapangan di PT Alam Indah
Bunga Nusantara, daerah Cipanas, Jawa Barat, dengan kajian “Mempelajari
Aspek Manajemen Sumber Daya Manusia” selama 40 hari kerja (3 Juli – 25
Agustus).
DAFTAR ISI
Halaman
KATA PENGANTAR ................................................................................ i
RIWAYAT HIDUP .................................................................................... iii
DAFTAR ISI .............................................................................................. iv
DAFTAR TABEL ...................................................................................... vii
DAFTAR GAMBAR .................................................................................. viii
DAFTAR LAMPIRAN .............................................................................. xi
I. PENDAHULUAN ................................................................................. 1
A. LATAR BELAKANG ...................................................................... 1
B. TUJUAN PENELITIAN ................................................................... 3
C. RUANG LINGKUP ......................................................................... 3
II. TINJAUAN PUSTAKA ....................................................................... 4
A. PROSES PENJADWALAN PRODUKSI .......................................... 4
B. PENJADWALAN TIPE JOB SHOP ................................................. 7
C. TEKNIK OPTIMASI ........................................................................ 8
D. ALGORITMA GENETIKA .............................................................. 9
1. Prosedur Umum Algoritma Genetika ............................................ 10
2. Representasi Kromosom ............................................................... 12
3. Operator-operator Algoritma Genetika .......................................... 14
a. Seleksi dan Reproduksi ............................................................. 15
b. Penyilangan .............................................................................. 16
c. Mutasi ...................................................................................... 20
4. Fungsi Fitness ............................................................................... 21
5. Bilangan Acak ............................................................................... 22
6. Kriteria Penghentian ..................................................................... 22
7. Perbandingan Algoritma Genetika dengan Teknik Optimasi
Konvensional ................................................................................ 22
E. PENELITIAN TERDAHULU .......................................................... 24
III.METODOLOGI PENELITIAN .......................................................... 26
A. KERANGKA PEMIKIRAN ............................................................. 26
B. PENDEKATAN METODE ILMIAH ................................................ 27
IV. PEMBAHASAN ................................................................................... 30
A. REPRESENTASI KROMOSOM ..................................................... 30
B. FUNGSI FITNESS ............................................................................ 31
C. SELEKSI (SELECTION) ................................................................... 31
D. PENYILANGAN (CROSSOVER) ..................................................... 32
E. MUTASI (MUTATION) .................................................................... 32
F. IMPLEMENTASI PROGRAM (GA_JobShop) ................................. 33
G. STUDI KASUS ................................................................................ 37
1. Kasus 1 : Penjadwalan Job Shop Kasus 3 job – 2 mesin ................ 37
a. Tampilan Program GA_JobShop ............................................... 44
b. Input Program ........................................................................... 44
c. Parameter-parameter Algoritma Genetika ................................. 45
d. Inisialisasi Populasi Awal ......................................................... 46
e. Evaluasi dan Seleksi Kromosom ............................................... 47
f. Penyilangan dan Mutasi ............................................................ 49
g. Hasil Running Program GA_JobShop ....................................... 54
2. Kasus 2 : Penjadwalan Job Shop Kasus 3 job – 3 mesin ................ 58
a. Input Program ........................................................................... 58
b. Parameter-parameter Algoritma Genetika ................................. 59
c. Inisialisasi Populasi Awal ......................................................... 60
d. Evaluasi dan Seleksi Kromosom ............................................... 61
e. Penyilangan dan Mutasi ............................................................ 62
f. Hasil Running Program GA_JobShop ....................................... 64
g. Efisiensi Algoritma Genetika .................................................... 68
3. Kasus 3 : Penjadwalan Job Shop Kasus 5 job – 12 mesin .............. 69
a. Definisi masing-masing job ....................................................... 72
b. Fungsi masing-masing mesin .................................................... 72
c. Input Program .......................................................................... 73
d. Parameter-parameter Algoritma Genetika ................................. 75
e. Inisialisasi Populasi Awal ......................................................... 75
f. Evaluasi dan Seleksi Kromosom ............................................... 76
g. Penyilangan dan Mutasi ............................................................ 77
h. Hasil Running Program GA_JobShop ....................................... 78
i. Efisiensi Algoritma Genetika .................................................... 82
V. KESIMPULAN DAN SARAN ............................................................. 83
A. KESIMPULAN ................................................................................. 83
B. SARAN ............................................................................................. 84
DAFTAR PUSTAKA ................................................................................. 85
LAMPIRAN ............................................................................................... 87
DAFTAR TABEL
Halaman
Tabel 1. Waktu proses, urutan mesin, dan urutan proses pada Kasus 1
(3 job – 2 mesin) ............................................................................ 37
Tabel 2. Waktu proses, urutan mesin, dan urutan proses pada Kasus 2
(3 job – 3 mesin) (Gen dan Cheng, 1997) ....................................... 57
Tabel 3. Waktu proses (satuan waktu menit), urutan mesin, dan urutan
proses pada Kasus 3 (5 job – 12 mesin) ......................................... 69
Tabel 4. Daftar nama-nama job pada Kasus 3 .............................................. 70
Tabel 5. Daftar nama-nama mesin pada Kasus 3 ......................................... 70
Tabel 6. Input waktu proses dan urutan proses masing-masing job pada
mesin untuk Kasus 3 (5 job – 12 mesin) ......................................... 74
DAFTAR GAMBAR
Halaman
Gambar 1. Nilai minimum f (x) sama dengan maksimum –f(x) (Maarif,
1989) ........................................................................................... 9
Gambar 2. Prosedur umum algoritma genetika (Hopgood, 2001) .................. 12
Gambar 3. Representasi kromosom jenis permutation ................................... 13
Gambar 4. Ilustrasi proses seleksi kromosom induk (Magnin di dalam
Gunawan, 2003) .......................................................................... 16
Gambar 5. Ilustrasi prosedur PMX (Gen dan Cheng, 1997) ........................... 19
Gambar 6. Ilustrasi inversion mutation (mutasi inversi) (Gen dan Cheng,
1997) ........................................................................................... 21
Gambar 7. Ilustrasi insertion mutation (mutasi penyisipan) (Gen dan Cheng,
1997) ........................................................................................... 21
Gambar 8. Ilustrasi displacement mutation (mutasi pemindahan) (Gen dan
Cheng, 1997) ............................................................................... 21
Gambar 9. Ilustrasi reciprocal exchange mutation (mutasi penukaran balik)
(Gen dan Cheng, 1997) ................................................................ 21
Gambar 10. Diagram alir metode ilmiah (Taylor, 2002) ................................. 27
Gambar 11. Diagram alir penelitian penjadwalan tipe job shop ....................... 28
Gambar 12. Representasi kromosom dengan preference-list-based
representation.............................................................................. 30
Gambar 13. Struktur program utama GA_JobShop .......................................... 34
Gambar 14. Ilustrasi alur proses pada Kasus 1 (3 job – 2 mesin) ..................... 39
Gambar 15. Representasi kromosom penjadwalan tipe job shop kasus
3 job – 2 mesin ............................................................................ 39
Gambar 16. Cek nilai gen yang pertama pada mesin 1 dan 2 untuk urutan
proses ke-1 .................................................................................. 40
Gambar 17. Penempatan job 1 urutan proses ke-1 pada mesin 1 ...................... 40
Gambar 18. Cek nilai gen yang kedua pada mesin 1 dan 2 untuk urutan
proses ke-1 .................................................................................. 40
Gambar 19. Penempatan job 2 urutan proses ke-1 pada mesin 2 ...................... 41
Gambar 20. Cek nilai gen yang ketiga pada mesin 1 dan 2 untuk urutan
proses ke-1 .................................................................................. 41
Gambar 21. Penempatan job 3 urutan proses ke-1 pada mesin 1 ...................... 41
Gambar 22. Cek nilai gen yang pertama pada mesin 1 dan 2 untuk urutan
proses ke-2 .................................................................................. 42
Gambar 23. Penempatan job 1 urutan proses ke-2 pada mesin 2 ...................... 42
Gambar 24. Cek nilai gen yang kedua pada mesin 1 dan 2 untuk urutan
proses ke-2 .................................................................................. 42
Gambar 25. Penempatan job 2 urutan proses ke-2 pada mesin 1 ...................... 43
Gambar 26. Cek nilai gen yang ketiga pada mesin 1 dan 2 untuk urutan
proses ke-2 .................................................................................. 43
Gambar 27. Penempatan job 3 urutan proses ke-2 pada mesin 2 ...................... 43
Gambar 28. Tampilan program GA_JobShop .................................................. 44
Gambar 29. Input nilai-nilai utama pada program GA_JobShop (Kasus 1) ..... 45
Gambar 30. Input nilai-nilai parameter pada program GA_JobShop
(Kasus 1) ..................................................................................... 46
Gambar 31. Populasi awal P(0) untuk Kasus 1 ................................................ 47
Gambar 32. Proses penyilangan kromosom(8) dan kromosom(16) generasi
ke-0 untuk Kasus 1 ...................................................................... 50
Gambar 33. Populasi baru P(1) pada Kasus 1 .................................................. 51
Gambar 34. Kromosom-kromosom pada populasi P(6) sebelum mengalami
penyilangan dan mutasi di populasi P(7) ...................................... 52
Gambar 35. Populasi P(7) terjadi mutasi pada Kasus 1 .................................... 52
Gambar 36. Mutasi kromosom(10) pada generasi ke-7 untuk Kasus 1 ............. 53
Gambar 37. Grafik nilai makespan maksimum, makespan rata-rata, dan
makespan minimum untuk 100 generasi pada Kasus 1 ................ 54
Gambar 38. Grafik frekuensi penyilangan dan mutasi untuk 100 generasi
pada Kasus 1 ............................................................................... 55
Gambar 39. Tahapan-tahapan penerjemahan salah satu kromosom terbaik
pada Kasus 1 ............................................................................... 56
Gambar 40. Ilustrasi alur proses pada Kasus 2(3 job – 3 mesin) ...................... 58
Gambar 41. Input nilai-nilai utama pada program GA_JobShop (Kasus 2) ...... 59
Gambar 42. Input nilai-nilai parameter pada program GA_JobShop (Kasus 2) 60
Gambar 43. Populasi awal P(0) untuk Kasus 2 ................................................ 60
Gambar 44. Populasi P(1) pada Kasus 2 .......................................................... 62
Gambar 45. Populasi P(7) terjadi mutasi pada Kasus 2 .................................... 63
Gambar 46. Kromosom-kromosom induk pada populasi P(6) yang akan
diseleksi untuk disilangkan dan dimutasi pada populasi P(7) ........ 63
Gambar 47. Proses mutasi kromosom(2) pada populasi P(7) ........................... 64
Gambar 48. Grafik nilai makespan maksimum, makespan rata-rata, dan
makespan minimum untuk 100 generasi pada Kasus 2 ................. 65
Gambar 49. Grafik frekuensi penyilangan dan mutasi untuk 100 generasi
pada Kasus 2 ............................................................................... 66
Gambar 50. Tahapan-tahapan penerjemahan salah satu kromosom terbaik
pada kasus 2 ................................................................................ 68
Gambar 51. Ilustrasi alur proses pada Kasus 3 (satuan waktu dalam menit) ..... 71
Gambar 52. Input nilai-nilai utama pada program GA_JobShop (Kasus 3) ...... 73
Gambar 53. Input nilai-nilai parameter pada program GA_JobShop
(Kasus 3) .................................................................................... 75
Gambar 54. Populasi awal P(0) untuk Kasus 3 ................................................ 76
Gambar 55. Populasi P(1) pada kasus 3 (bagian 1) .......................................... 77
Gambar 56. Populasi P(1) pada kasus 3 (bagian 2) .......................................... 78
Gambar 57. Populasi P(2) terjadi mutasi pada Kasus 3 .................................... 78
Gambar 58. Grafik nilai makespan maksimum, makespan rata-rata, dan
makespan minimum (satuan waktu dalam menit) untuk 100
generasi pada Kasus 3 .................................................................. 79
Gambar 59. Grafik frekuensi penyilangan dan mutasi untuk 100 generasi
pada Kasus 3 ............................................................................... 80
Gambar 60. Penjadwalan yang optimum pada Kasus 3 (hasil penerjemahan
kromosom terbaik) ....................................................................... 81
DAFTAR LAMPIRAN
Halaman
Lampiran 1. Listing program utama GA_JobShop ...................................... 87
Lampiran 2. Terjemahan seluruh kromosom dari total search space pada
Kasus 1 (validasi program GA_JobShop) secara enumeratif ... 88
Lampiran 3. Denah industri peralatan pengolahan hasil pertanian CV
Mitra Niaga Indonesia, Bogor ................................................ 93
Lampiran 4. Gambar alat dan mesin di industri peralatan pengolahan hasil
pertanian CV Mitra Niaga Indonesia, Bogor .......................... 94
Lampiran 5. Laporan awal hasil running program GA_JobShop untuk
Kasus 1 .................................................................................. 95
Lampiran 6. Laporan detail hasil running program GA_JobShop untuk
Kasus 1 .................................................................................. 96
Lampiran 7. Laporan awal hasil running program GA_JobShop untuk
Kasus 2 .................................................................................. 108
Lampiran 8. Laporan detail hasil running program GA_JobShop untuk
Kasus 2 .................................................................................. 109
Lampiran 9. Laporan awal hasil running program GA_JobShop untuk
Kasus 3 .................................................................................. 125
Lampiran 10. Laporan detail hasil running program GA_JobShop untuk
Kasus 3 .................................................................................. 126
I. PENDAHULUAN
A. LATAR BELAKANG
Penjadwalan produksi di dalam dunia industri, baik industri
manufaktur maupun agroindustri, memiliki peranan penting sebagai bentuk
pengambilan keputusan. Perusahaan berupaya untuk memiliki penjadwalan
yang paling efekif dan efisien sehingga dapat meningkatkan produktivitas
yang dihasilkan dengan total biaya dan waktu seminimum mungkin.
Dalam sebuah sistem produksi yang kompleks dapat terjadi
penumpukan pekerjaan atau barang yang membentuk antrian panjang yang
tidak dapat diselesaikan secara optimal. Sistem produksi yang melibatkan
banyak proses, mesin dan juga waktu proses yang bervariasi akan menemui
banyak hambatan bila tidak ada metode penjadwalan yang tepat dan akhirnya
berakibat pada proses produksi secara keseluruhan. Sistem tidak dapat bekerja
secara efektif dan efisien.
Penjadwalan produksi melakukan pembebanan mesin berdasarkan
rencana proses yang telah dibuat perencana proses. Permasalahan yang sering
muncul adalah rencana proses dibuat tidak memperhatikan beban kerja mesin
sehingga sering terjadi penumpukan pada mesin unggul. Solusi permasalahan
dapat dilakukan dengan memperhatikan alternatif urutan proses.
Salah satu masalah dalam penjadwalan produksi adalah adanya
kesulitan menemukan teknik yang paling tepat untuk membuat jadwal
produksi yang paling baik, optimal, dan memenuhi segala kriteria-kriteria
penjadwalan yang telah ditetapkan. Teknik-teknik penyusunan jadwal
produksi yang sudah ada (teknik konvensional) tidak dapat dipakai karena
teknik-teknik tersebut memiliki banyak kelemahan dalam menangani masalah
berskala besar dan kompleks.
Permasalahan penjadwalan job shop (job shop scheduling) dengan
fungsi tujuan meminimumkan total waktu proses (makespan) dapat
diterjemahkan sebagai memproses setiap pekerjaan (job) dari n job pada m
mesin dengan urutan tertentu. Setiap pekerjaan terdiri dari serangkaian
operasi. Setiap mesin dapat menangani tidak lebih dari satu pekerjaan pada
suatu waktu dan setiap pekerjaan mengunjungi mesin hanya satu kali.
Alternatif urutan proses meningkatkan fleksibilitas produksi karena
alternatif solusi lebih banyak. Sebagai konsekuensi, waktu pencarian solusi
menggunakan metoda optimasi naik secara eksponensial. Pendekatan heuristik
akan dilakukan untuk memecahkan permasalahan penjadwalan dengan
memperhatikan alternatif urutan proses. Pendekatan heuristik yang digunakan
adalah algoritma genetika. Pemilihan ini didasarkan bahwa algoritma
penjadwalan yang ada tidak dapat melakukan penjadwalan sekaligus memilih
alternatif urutan proses.
Untuk mendapatkan hasil penjadwalan yang optimum maka digunakan
algoritma genetika. Sebuah solusi penjadwalan dikatakan optimum apabila
memiliki waktu rata-rata produksi seminimum mungkin. Hasil operasi genetik
akan diubah kembali menjadi sebuah jadwal yang mudah dipahami oleh
pengguna.
Pada penelitian ini akan dicari solusi untuk menyelesaikan
permasalahan penjadwalan job shop dengan menggunakan metode Genetic
Algorithms (Algoritma Genetika). Prinsip kerjanya yaitu berdasarkan analogi
evolusi biologi, yang terdiri dari proses penginisialisasian populasi, proses
penyeleksian, proses penyilangan, dan proses mutasi. Keunggulan dari
algoritma genetika ini adalah strukturnya yang sederhana, mudah
mengimplementasikannya, dan cepat dalam pencapaian solusi yang optimum
(efektif dan efisien).
Penjadwalan produksi yang kurang baik dapat mengakibatkan
keterlambatan pengiriman produk. Penjadwalan job shop merupakan suatu
permasalahan optimasi kombinatorial yang kompleks yang membutuhkan
waktu komputasi yang besar dalam proses pencarian solusi terbaiknya.
Algoritma Genetika mampu menyelesaikan permasalahan penjadwalan job
shop dengan waktu komputasi yang singkat.
B. TUJUAN PENELITIAN
Fokus penelitian ini adalah pada masalah penjadwalan tipe job shop
(tanpa kendala) dengan menggunakan Algoritma Genetika. Tujuan yang ingin
dicapai adalah sebagai berikut :
1. Membuat metode optimasi Algoritma Genetika untuk memecahkan
masalah pada kasus penjadwalan job shop yang bersifat kompleks.
2. Mengaplikasikan metode Algoritma Genetika yang telah dibuat untuk
memecahkan masalah pada kasus data numerical example dengan tujuan
verifikasi dan validasi.
3. Mengaplikasikan metode Algoritma Genetika yang telah dibuat untuk
memecahkan masalah pada kasus penjadwalan industri peralatan
pengolahan hasil pertanian.
C. RUANG LINGKUP
Ruang lingkup pada penelitian ini dibatasi oleh beberapa hal berikut :
1. Metode optimasi yang digunakan adalah metode Algoritma Genetika.
2. Fungsi tujuan yang akan dievaluasi dalam penelitian ini adalah fungsi
makespan (waktu penyelesaian pekerjaan secara keseluruhan).
3. Objek pada penelitian ini adalah kasus penjadwalan industri peralatan
pengolahan hasil pertanian.
II. TINJAUAN PUSTAKA
A. PROSES PENJADWALAN PRODUKSI
Baker (1974) mendefinisikan penjadwalan sebagai proses
pengalokasian sumber-sumber yang ada untuk menjalankan sekumpulan tugas
dalam jangka waktu tertentu. Penjadwalan merupakan kegiatan yang penting
dalam perencanaan dan pengendalian produksi karena penjadwalan yang baik
akan memaksimumkan efektivitas pemanfaatan setiap sumber daya yang ada.
Penjadwalan digambarkan sebagai alokasi sumber daya dari waktu ke
waktu untuk melaksanakan suatu kumpulan pekerjaan. Menurut Russel dan
Taylor (1995), penjadwalan merupakan tahap terakhir dari perencanaan
sebelum dilaksanakannya proses produksi. Selain itu penjadwalan merupakan
penjabaran kegiatan-kegiatan yang direncanakan yaitu yang berisikan kapan
dimulainya kegiatan produksi sehingga perencanaan kebutuhan yang telah
ditetapkan dapat dipenuhi tepat pada waktunya.
Sebuah penjadwalan dapat melakukan operasi dalam rentang waktu
yang telah ditentukan oleh mesin. Penjadwalan yang menggunakan waktu
yang terpendek merupakan masalah yang dicari penyelesaiannya (Gen dan
Cheng, 1997).
Penjadwalan memiliki beberapa tujuan. Namun tujuan tersebut dapat
saling berkontradiksi. Maka dari itu diperlukan upaya pengoptimasian
penjadwalan. Adapun tujuan penjadwalan produksi antara lain (Nahmias,
1997) :
1. Memenuhi waktu pesanan
2. Meminimumkan total waktu penyelesaian (makespan)
3. Menghasilkan tingkat kegunaan mesin
4. Menetapkan urutan pekerjaan yang tepat
5. Meminimumkan biaya produksi dan tenaga kerja
Penjadwalan produksi dapat diklasifikasi berdasarkan kriteria sebagai
berikut :
1. Penjadwalan produksi secara umum, yaitu :
a. Penjadwalan maju (forward scheduling)
Operasi penjadwalan dimulai dari tanggal penerimaan order
secara maju. Konsekuensinya terjadi persediaan bahan baku sampai
pada gilirannya diproses.
b. Penjadwalan mundur (backward scheduling)
Teknik penjadwalan dimulai dari waktu penyelesaian operasi
terakhir. Keuntungannya adalah mengurangi persediaan barang
setengah jadi (work in process).
2. Penjadwalan produksi berdasarkan mesin yang digunakan, yaitu :
a. Model Single-Machine
Model ini hanya berisi sejumlah m mesin yang sejenis, yang
harus memproses sejumlah job yang terdiri dari satu operasi. Setiap job
dapat dikerjakan pada salah satu mesin yang ada tersebut. Model ini
banyak digunakan pada penjadwalan yang menggunakan metode
dekomposisi, yaitu suatu model penjadwalan yang memecahkan
permasalahan penjadwalan yang kompleks ke dalam sejumlah
permasalahan yang lebih sederhana dalam bentuk single-machine.
b. Model Paralle-Machine
Merupakan suatu bentuk umum dari model single-machine.
Model ini terdapat pada industri yang proses produksinya terdiri dari
berbagai tahapan, di mana tiap tahapan tersebut terdiri dari sejumlah
mesin sejenis yang tersusun secara paralel. Setiap job dapat dikerjakan
pada salah satu mesin yang ada. Ada suatu kondisi di mana mesin-
mesin yang tersusun secara paralel tersebut tidak identik satu sama lain
dalam hal kemampuan berprosesnya.
c. Model Flow Shop
Suatu proses manufaktur seringkali harus melewati banyak
operasi yang membutuhkan jenis mesin yang berbeda pada tiap
operasinya. Jika rute yang harus dilewati untuk setiap job adalah sama,
maka bentuk konfigurasi ini disebut juga model flow shop. Mesin-
mesin pada model ini disusun secara seri dan pada saat sebuah job
selesai diproses pada satu mesin, maka job tersebut akan meninggalkan
mesin tersebut untuk kemudian mengisi antrian pada mesin berikutnya
untuk diproses.
d. Model Job Shop
Dalam suatu proses manufaktur yang memerlukan banyak
operasi, seringkali rute yang harus dilalui setiap job adalah tidak sama.
Model seperti ini disebut juga model job shop. Bentuk sederhana dari
model ini mengasumsikan bahwa setiap job hanya melewati satu jenis
mesin sebanyak satu kali dalam rutenya pada proses tersebut. Namun
ada juga model lainnya di mana setiap job diperbolehkan untuk
melewati mesin sejenis lebih dari satu kali pada rutenya. Model ini
disebut juga job shop dengan recirculation (pengulangan).
3. Penjadwalan produksi berdasarkan pola kedatangan pekerjaan, yaitu:
a. Penjadwalan statis
Pekerjaan datang bersamaan dan siap dikerjakan pada mesin
yang tidak bekerja. Kondisi semua stasiun kerja dan perlengkapannya
selalu tersedia pada saat itu.
b. Penjadwalan dinamis
Pekerjaan datang terus-menerus pada waktu yang berbeda-
beda. Pendekatan yang sering digunakan pada penjadwalan ini adalah
penggunaan aturan dispatching yang berbeda untuk setiap stasiun
kerja.
4. Penjadwalan produksi berdasarkan sifat informasi yang diterima, yaitu:
a. Penjadwalan deterministik
Informasi yang diperoleh bersifat pasti, seperti waktu
kedatangan job, waktu setup, dan waktu proses.
b. Penjadwalan stokastik
Informasi yang diperoleh tidak pasti, tetapi memiliki
kecenderungan yang jelas atau menyangkut adanya distribusi
probabilitas tertentu, misalnya kedatangan pekerjaan bersifat acak.
B. PENJADWALAN TIPE JOB SHOP
Salah satu model penjadwalan yang cukup banyak ditemui adalah
penjadwalan job shop. Pada model ini, job-job yang diproses biasanya
memiliki rute dan waktu pemrosesan yang berbeda-beda satu sama lain. Setiap
job terdiri dari operasi-operasi yang masing-masing diproses di satu mesin
tertentu karena rute proses dari setiap job berbeda, maka kemungkinan jadwal
yang dapat dihasilkan dan kendala yang muncul menjadi sangat banyak.
Akibatnya, model ini menimbulkan masalah penjadwalan yang kompleks
dalam arti bahwa semua kendala dalam penjadwalan harus terpenuhi dan
dalam arti bahwa jadwal yang bisa memenuhi fungsi tujuan penjadwalan
secara optimal sangat sulit ditemukan di antara sekian banyak kemungkinan
(Bagchi, 1999).
Penjadwalan job shop merupakan masalah penempatan sejumlah n-job
pada sejumlah m-mesin dengan urutan proses. Setiap job dirancang sebagai
satu set operasi dan mesin yang telah di-set untuk setiap operasinya. Setiap
operasi dapat dikarakterisasi dengan mesin tertentu dan waktu proses produksi
yang telah ditentukan. Untuk setiap proses produksi dapat digunakan batasan
dalam menentukan job dan mesin yang akan digunakan, yaitu (Gen dan
Cheng, 1997) :
1. Satu pekerjaan tidak akan menggunakan mesin yang sama sebanyak lebih
dari satu kali
2. Tidak adanya batasan yang lebih tinggi pada saat operasi dengan pekerjaan
yang berbeda
3. Sebuah operasi tidak akan bisa disela dengan operasi yang lain
4. Sebuah mesin hanya akan melakukan sebuah pekerjaan dalam satu waktu
5. Tidak adanya waktu atau pekerjaan yang dispesifikasi
Menurut Kusuma (2001), karakteristik penjadwalan produksi tipe job-
shop adalah penggunaan mesin oleh lebih dari satu pekerjaan sehingga ada
keterbatasan waktu penggunaan. Berbeda dengan masalah penjadwalan seri
dan parallel, karakteristik pekerjaan yang harus diselesaikan pada penjadwalan
tipe job-shop harus melewati beberapa mesin (routing) dan tiap rute yang
ditempuh masing-masing pekerjaan berlainan.
Penjadwalan job-shop memiliki beberapa definisi (Kusuma, 2001)
yang meliputi :
1. Jadwal fisibel, yaitu jadwal dimana seluruh operasi dari semua pekerjaan
telah ditugaskan dan ketentuan rute operasi telah terpenuhi (tidak ada
overlap antar operasi).
2. Jadwal semi-aktif, yaitu sekumpulan jadwal fisibel dimana tidak satu pun
operasi dapat dijadwalkan lebih awal tanpa mengubah susunan operasi
pada mesin.
3. Jadwal aktif, yaitu sekumpulan jadwal fisibel dimana tidak satu pun
operasi dapat dipindahkan lebih awal tanpa menunda operasi lain.
4. Jadwal non-delay, yaitu sekumpulan jadwal fisibel dimana tidak satu pun
mesin dibiarkan menganggur jika pada saat yang bersamaan terdapat
operasi yang memerlukan mesin tersebut.
Berdasarkan ada tidaknya kendala, masalah penjadwalan job-shop
dapat dibagi menjadi dua tipe yaitu unconstrained job shop (tanpa kendala)
dan constrained job shop (dengan kendala). Pada tipe unconstrained job shop,
tidak ada kendala-kendala yang dapat menghambat proses implementasi
pekerjaan pada setiap mesin produksi sehingga semua alternatif jadwal
bersifat legal.
C. TEKNIK OPTIMASI
Optimasi adalah suatu aktivitas untuk mendapatkan hasil terbaik dari
suatu permasalahan dengan batasan-batasan yang diberikan. Tujuan utama
setiap keputusan yang diambil adalah untuk meminimumkan usaha yang
diperlukan atau biaya operasional dan memaksimumkan keuntungan atau nilai
tambah. Bila usaha yang diperlukan atau keuntungan yang diharapkan dalam
suatu kondisi nyata dapat dinyatakan sebagai fungsi dari peubah keputusan,
maka optimasi dapat didefinisikan sebagai proses pencapaian kondisi
maksimum atau minimum dari fungsi tersebut. Dapat dilihat pada Gambar 1
bahwa apabila nilai x* merupakan nilai x dimana nilai fungsi f (x) minimum,
maka pernyataan ini sama dengan nilai maksimum dari negatif fungsi tersebut
(-f(x)) (Maarif, 1989).
x*
0x
-f(x)
f(x)f(x)
Gambar 1. Nilai minimum f (x) sama dengan maksimum –f(x)(Maarif, 1989)
D. ALGORITMA GENETIKA
Seorang professor di Universitas Michigan bernama John Holland
(1975) telah menemukan sebuah teknik baru yang berfungsi untuk
memecahkan masalah-masalah rumit dan komplek yang tidak dapat
dipecahakan oleh teknik konvensional. Teknik tersebut dijelaskan pertama
kali di dalam bukunya yang berjudul Adaptation in Natural and Artificial
Systems. Teknik yang diperkenalkan tersebut diterjemahkan ke dalam bahasa
komputer dan prosesnya meniru proses alam, yaitu evolusi. Teknik tersebut
dikenal dengan nama algoritma genetika (genetic algorithms).
Beberapa tahun kemudian, tepatnya pada tahun 1989, David Goldberg,
meluncurkan buku berjudul Genetic Algorithm in Search, Optimization, and
Machine Learning setelah berhasil mengaplikasikan algoritma genetika untuk
perancangan sistem perpipaan distribusi gas alam. Berdasarkan hasil risetnya,
ia berhasil membuktikan bahwa algoritma genetika menghasilkan solusi untuk
menyelesaikan permasalahan perancangan sistem perpipaan distribusi gas
alam berdasarkan parameter-parameter kesuksesan sistem perancangan pipa.
Algorima genetika diaplikasikan pada berbagai bidang antara lain,
seperti pada desain mesin jet pesawat terbang, prediksi tingkat suku bunga,
pengendalian persediaan (inventori), perencanaan dan penjadwalan produksi,
dan otomatisasi sistem produksi (Gunawan, 2003).
1. Prosedur Umum Algoritma Genetika
Algoritma genetika adalah teknik pencarian dan optimasi yang
meniru proses evolusi dan perubahan genetika pada struktur kromosom
makhluk hidup. Algoritma genetika mulai bekerja pada sekumpulan calon
solusi yang dinamakan populasi awal, yang kemudian dibangkitkan secara
acak. Masing-masing individu di dalam populasi awal biasa disebut
dengan kromosom. Kromosom biasa dalam bentuk string biner (kode 0
dan 1), meskipun tidak selalu. Selanjutnya kromosom-kromosom tersebut
diregenerasi oleh operator-operator pada algoritma genetika melalui
beberapa generasi. Masing-masing kromosom pada setiap generasi dilihat
nilai fitness-nya (Goldberg, 1989).
Pada generasi baru, kromosom baru yang terbentuk disebut
kromosom anak (offspring). Kromosom anak terbentuk dari (1)
penggabungan antar dua kromosom yang menggunakan operator
penyilangan atau (2) hasil modifikasi kromosom yang menggunakan
operator mutasi. Generasi baru dibentuk oleh (1) pemilihan, yaitu dilihat
dari nilai fitness-nya, baik kromosom induk maupun kromosom anak
(offspring) dan (2) penyisihan, yaitu menjaga agar ukuran populasi tetap
konstan. Kromosom yang lebih baik, besar kemungkinan untuk dipilih di
generasi selanjutnya. Setelah dihasilkan beberapa generasi, terbentuklah
sekumpulan kromosom terbaik yang diharapkan mampu memberikan
solusi optimum (Gen dan Cheng, 1997).
Penciptaan Algoritma Genetika oleh Holland (1975) memberi
asumsi bahwa solusi dari induk akan mencari nilai fitness yang tinggi dari
beberapa kromosom yang berbeda sehingga pencarian akan
dikombinasikan secara penyilangan yang selanjutnya akan direproduksi
dan menghasilkan keturunan yang menjadi calon solusi pada generasi
selanjutnya (Bagchi, 1999).
Setiap individu dalam sebuah populasi dipilih berdasarkan pada
nilai fitness-nya. Nilai fitness akan semakin tinggi dengan adanya
kesempatan kromosom untuk bereproduksi pada generasi berikutnya.
Untuk mengimplementasikan Algoritma Genetika, membuat suatu
keputusan harus memenuhi syarat berikut ini (Hopgood, 2001) :
1. Merepresentasi calon solusi ke dalam sebuah bilangan/simbol yang
dikenal dengan sebutan “kromosom”
2. Menentukan ukuran populasi
3. Mengevaluasi nilai fitness dari masing-masing populasi
4. Memilih individu-individu untuk bereproduksi pada generasi
berikutnya dengan melihat nilai fitness-nya
5. Menciptakan sebuah generasi baru sebagai calon solusi dari populasi
yang ada
6. Menghentikan proses evolusi apabila kriteria penghentian terpenuhi
Di dalam basis algoritma, ada beberapa asumsi dibuat berdasarkan
(Hopgood, 2001) :
1. Inisial populasi digenerasikan secara random
2. Individu dievaluasi berdasarkan fungsi fitness
3. Individual-individual diseleksi untuk reproduksi berdasarkan seleksi,
kecocokan sebuah individu, dan kemiripan yang akan diseleksi
4. Reproduksi dari sebuah kromosom akan dihasilkan pada generasi
berikutnya yang merupakan hasil dari perkembangbiakan antara
sepasang kromosom dengan menggunakan operator penyilangan yang
kemudian akan diaplikasikan pada operator mutasi untuk setiap
keturunanan
Prosedur umum algoritma genetika dapat terlihat pada Gambar 2 berikut :
Gambar 2. Prosedur umum algoritma genetika (Hopgood, 2001)
2. Representasi Kromosom
Pengkodean (encoding) calon solusi untuk suatu masalah ke dalam
sebuah bentuk representasi kromosom merupakan hal yang paling utama
pada pengaplikasian algoritma genetika. Holland (1975) memperkenalkan
pertama kali representasi kromosom ke dalam bentuk string biner, yang
disimbolkan dengan angka nol (0) dan (1).
Menghasilkan generasibaru
Mulai
Seleksi individu
Terjadi proses mutasidengan peluang Pm
Terjadi proses penyilangandengan peluang Pc
Evaluasi nilai fitnessmasing-masing individu
Inisialisasi populasi secaraacak
Berhenti
Kriteriapenghentianterpenuhi ?
Ya
Tidak
Pada pengaplikasian algoritma genetika, khususnya di dunia
industri, string biner jarang digunakan karena bukan merupakan kode
alam. Oleh karena itu, telah diciptakan beberapa teknik pengkodean non-
string untuk berbagai masalah khusus, sebagai contoh real number code
(kode bilangan riil) untuk masalah optimasi berkendala dan integer coding
(kode integer) untuk masalah optimasi kombinatorial. Sebuah masalah
akan ditransformasikan ke dalam representasi kromosom yang tepat. Hal
ini penting untuk pengaplikasian algoritma genetika dalam memecahkan
masalah-masalah di dunia nyata (Gen dan Cheng, 1997).
Beberapa peneliti telah memperkenalkan beberapa bentuk
representasi baru sesuai dengan masalah yang akan dipecahkan.
Permutation representation merupakan bentuk representasi baru yang
telah diperkenalkan oleh Gen dan Cheng (1997). Representasi ini cocok
untuk digunakan untuk masalah perjalanan dan penjadwalan. Sebagai
contoh, perjalanan ke 9 kota dengan urutan sebagai berikut :
3 – 2 – 5 – 4 – 7 – 1 – 6 – 9 – 8
Urutan perjalanan di atas dijadikan ke dalam bentuk representasi
kromosom :
Gambar 3. Representasi kromosom jenis permutation
Setiap penerjemahan algoritma genetika di dalam masalah job-shop
akan digunakan sebagai alat untuk mencari solusi yang sesuai untuk
masalah operasi genetika job-shop yang terjadi sehingga didapatkan semua
kromosom yang dapat digenerasikan. Sebuah kromosom memiliki fase
inisial atau proses evolusi, proses ini akan menghasilkan sebuah
penjadwalan yang layak. Fase ini akan menjadi sangat penting dan akan
mempengaruhi langkah selanjutnya dalam algoritma genetika. Salah satu
representasi untuk masalah penjadwalan job shop yang dapat digunakan
adalah preference-list-based representation (Gen dan Cheng, 1997).
3 2 5 4 7 1 6 9 8
Preference-list-based representation pertama kali diperkenalkan
oleh Davis untuk berbagai macam masalah penjadwalan. Falenauer dan
Bouffouix menemui keterkaitan antara masalah penjadwalan job shop
dengan waktu dan tanggal yang telah ditetapkan. Croce, Tadei, dan Volta
mengaplikasikan pada pencarian solusi penjadwalan job-shop (Gen dan
Cheng, 1997).
Untuk pemecahan masalah job shop dengan pekerjaan sebanyak n
dan mesin sebanyak m, sebuah kromosom akan terdiri dari m
subkromosom untuk setiap mesin. Setiap subkromosom adalah simbol
string dengan panjang n, dan setiap simbol akan teridentifikasi sebagai
sebuah operasi untuk dikerjakan pada mesin seharusnya. Hal ini dilakukan
karena representasi berdasarkan daftar referensi dan setiap mesin
mempunyai daftar referensinya sendiri. Untuk jadwal di lapangan akan
ditentukan dengan menggunakan kromosom yang berasal dari simulasi,
dimana analisis didasarkan pada urutan menunggu pada jadwal, dan
operasi yang muncul pertama kali akan ditunjukkan untuk melakukan
pekerjaan untuk pertama kali.
3. Operator-operator Algoritma Genetika
Proses dalam algoritma genetika menggunakan inisial populasi
yang akan digunakan sebagai input. Proses pada algoritma genetika
tersebut terdiri dari beberapa operator, yaitu seleksi, reproduksi,
penyilangan, dan mutasi untuk menghasilkan progenies (sebagai kandidat
generasi berikutnya untuk mengatasi masalah optimasi). Progenies akan
dievaluasi dan dicoba untuk hasil akhir. Jika kriteria hasil akhir telah
ditemukan maka ketiga operator tersebut dapat diiterasikan ke dalam
populasi, kemudian prosedur akan dilanjutkan sampai pada kriteria hasil
akhir pada populasi. Prosedur akan terus dilanjutkan sampai pada
penemuan hasil akhir. Di dalam iterasi dari operasi-operasi yang berlaku
yaitu untuk menghasilkan keturunan yang disebut sebagai sebuah generasi
penemuan akhir dari algoritma genetika (Bagchi, 1999).
a. Seleksi dan Reproduksi
Algoritma genetika selalu diawali dengan seleksi secara acak
dari populasi dan kemudian dijadikan inisial solusi string acak dari
populasi yang menampilkan sebuah variabel keputusan dari masalah
yang ada. Masing-masing inisial string dievaluasi sampai pada sebuah
pencarian nilai fitness. Jika masalah kepuasan (berdasarkan beberapa
kemampuan penerimaan atau pemberhentian pada kriteria yang dicari)
sudah ditemukan maka pencarian akan dihentikan (Bagchi, 1999).
Reproduksi selalu dilakukan oleh operator pertama yang
diaplikasikan pada sebuah keberadaan populasi untuk menciptakan
progenies. Reproduksi dimulai dengan mencari kromosom induk yang
baik dari mating pool. Hal penting dari reproduksi adalah memilih
kromosom dengan fitness di atas rata-rata dari keberadaan populasi
yang ada dan memasukkan ke dalam mating pool. Hasil dari seleksi
populasi dengan nilai fitness rata-rata yang lebih baik yang akan
berlaku sebagai kromosom induk untuk generasi berikutnya (Bagchi,
1999).
Goldberg (1989) memperkenalkan teknik seleksi dalam
algoritma genetika, salah satunya adalah teknik seleksi cakram rolet
(roulette wheel selection). Teknik seleksi ini diilustrasikan sebagai
teknik pemutaran cakram rolet. Suatu slot pada cakram rolet ditempati
oleh setiap kromosom di dalam sebuah populasi. Ukuran slot sama
dengan rasio antara nilai fitness suatu kromosom dengan total nilai
fitness semua kromosom.
Gambar 4. Ilustrasi proses seleksi kromosom induk (Magnin di dalamGunawan, 2003)
Teknik seleksi lainnya adalah seleksi turnamen (tournament
selection). Seleksi ini akan membandingkan antara dua buah
kromosom dalam populasi yang dipilih secara acak. Salah satu dari
kromosom akan terpilih apabila memenuhi atau mendekati nilai fitness
(Hopgood, 2001).
b. Penyilangan
Penyilangan atau crossover juga dikenal sebagai rekombinasi.
Operasi penyilangan akan mengalami pertukaran informasi di antara
string-string yang ada di dalam mating pool untuk menciptakan string-
string sebagai solusi. Representasi string yang ada berisi informasi
yang terdiri dari gen-gen dengan bit yang merupakan string. Untuk
contohnya, string dengan 010111 akan mempunyai informasi spesifik
dengan 6 posisi yang jelas berbeda, seperti yang dilakukan kromosom
dalam genetika alam. Di dalam penyilangan, dua string dapat diambil
dari mating pool dan beberapa porsi dari string-string ini akan saling
bertukaran. Implementasi penyilangan ini secara umum akan
menggunakan satu titik untuk proses penyilangan dimana terjadi
penyilangan secara acak yang merupakan pemilihan secara acak
sepanjang string yang ada dan semua bit-bit akan menyebrang dan
saling bertukaran (Bagchi, 1999).
Penyilangan merupakan operator primer dalam algoritma
genetika. Tingkat penyilangan atau peluang penyilangan (Pc) adalah
rasio antara jumlah kromosom yang diharapkan mengalami
penyilangan dalam setiap generasi dengan jumlah kromosom total
dalam populasi. Tingkat penyilangan yang tinggi menyebabkan
semakin besarnya kemungkinan algoritma genetika mengeksplorasi
ruang pencarian sekaligus mempercepat ditemukannya solusi
optimum. Akan tetapi jika tingkat penyilangan terlalu tinggi juga
kurang efisien. Penentuan nilai Pc yang tepat sangat tergantung pada
permasalahan yang dihadapi (Gunawan, 2003).
Nilai Pc biasanya cukup tinggi (berkisar antara 0,6 – 1). Proses
penyilangan akan terjadi pada sepasang kromosom jika suatu bilangan
yang dibangkitkan secara acak (r), 0 r 1, nilainya kurang dari atau
sama dengan Pc. Bilangan acak tersebut dibangkitkan setiap kali akan
menyilangkan sepasang kromosom. Tingkat penyilangan yang tinggi
menyebabkan semakin besar kemungkinan algoritma genetika
mengeksplorasi ruang pencarian sekaligus mempercepat ditemukannya
solusi optimum. Peluang penyilangan yang tepat dan efektif hanya
dapat diketahui melalui pengujian atau percobaan khusus terhadap
masalah yang bersangkutan (Syarif dan Mitsuo, 2003).
Operator penyilangan yang diperkenalkan oleh Holland (1975)
adalah one-point crossover (penyilangan satu titik), yang biasa
digunakan untuk kromosom dengan representasi biner. Beberapa
operator penyilangan telah diperkenalkan untuk digunakan pada
permutation representation, seperti partial-mapped crossover (PMX),
order crossover (OX), cycle crossover (CX), position-based crossover,
order-based crossover, dan heuristic crossover (Gen dan Cheng,
1997).
Goldberg dan Lingle (1985) telah memperkenalkan teknik
PMX sebagai salah satu operator penyilangan. Teknik tersebut
merupakan kelanjutan perbaikan dari penyilangan dua titik (two-point
crossover) pada permutation representation. PMX digunakan untuk
memperbaiki prosedur adanya kromosom illegal dari penyilangan dua
titik. Prosedur PMX adalah sebagai berikut :
Langkah 1 :
Pilih dua buah posisi (string) secara acak pada dua kromosom induk
yang akan disilangkan. String-string yang berada di antara dua buah
posisi tersebut dinamakan mapping section.
Langkah 2 :
Pertukarkan dua buah mapping section antara dua kromosom induk
sehingga dihasilkan kromosom anak (offspring).
Langkah 3 :
Tentukan mapping relationship (hubungan pemetaan) di antara dua
buah mapping section.
Langkah 4 :
Legalkan offspring (kromosom anak) hasil mapping relationship.
Contoh ilustrasi pengaplikasian prosedur PMX terdapat pada Gambar
5 berikut ini :
Langkah 1 :
Pilih mapping section secara acak pada dua buah kromosom induk.
Langkah 2 :
Pertukarkan mapping section antara dua kromosom induk sehingga
menghasilkan dua kromosom anak.
Langkah 3 :
Tentukan mapping relationship antara dua buah mapping section.
Langkah 4 :
Legalkan offspring (kromosom anak) hasil mapping relationship.
Gambar 5. Ilustrasi prosedur PMX (Gen dan Cheng, 1997)
49
2 5
31 6
Parent 1 7 8 91 2 3 4 5 6
Parent 2 7 8 35 4 6 9 2 1
Offspring 2 7 8 35 4 3 4 5 6
Offspring 1 7 8 91 2 6 9 2 1
3 4 5 6
6 9 2 1
Offspring 2 7 8 12 9 3 4 5 6
Offspring 1 7 8 43 5 6 9 2 1
c. Mutasi
Mutasi adalah operator pendukung dalam algoritma genetika
yang melakukan perubahan acak secara spontan pada struktur
kromosom. Mutasi akan menghasilkan kromosom anak dengan satu
atau lebih gen (string) yang berubah. Dalam algoritma genetika,
mutasi sangat berperan penting, diantaranya adalah (a) menempatkan
kembali kromosom-kromosom yang telah hilang dari populasi akibat
proses seleksi dan (b) memunculkan kromosom-kromosom yang
belum pernah ada pada populasi sebelumnya (Gen dan Cheng, 1997).
Peluang mutasi (Pm) didefinisikan sebagai persentase
kromosom yang akan mengalami mutasi terhadap total kromosom di
dalam populasi. Mutasi akan mencoba memunculkan kromosom baru
pada sebuah populasi. Jika peluang mutasi terlalu kecil maka banyak
kromosom yang memiliki potensi (nilai fitness yang tinggi) tidak akan
pernah muncul. Akan tetapi, apabila peluang mutasi terlalu besar maka
akan banyak bermunculan kromosom yang kemungkinan tidak
memiliki potensi dalam pencapaian solusi optimum, kromosom anak
(offspring) akan kehilangan kemiripan dengan kromosom induk yang
memiliki potensi pada populasi sebelumnya dan algoritma genetika
akan kehilangan kemampuan untuk belajar dari proses pencarian yang
lalu (Gen dan Cheng, 1997).
Nilai Pm yang digunakan biasanya sangat kecil (berkisar antara
0,001 – 0,2). Proses mutasi akan terjadi pada suatu gen, jika suatu
bilangan yang dibangkitkan secara acak r, 0 r 1, nilainya kurang
dari atau sama dengan Pm (Syarif dan Mitsuo, 2003).
Beberapa operator mutasi yang digunakan pada permutation
representation adalah inversion mutation (mutasi inversi), insertion
mutation (mutasi penyisipan), displacement mutation (mutasi
pemindahan), dan reciprocal exchange mutation (mutasi penukaran
balik). Ilustrasi proses mutasi dapat dilihat pada gambar-gambar di
bawah ini (Gambar 6 – 9) :
Gambar 6. Ilustrasi inversion mutation (mutasi inversi) (Gen dan Cheng, 1997)
Gambar 7. Ilustrasi insertion mutation (mutasi penyisipan) (Gen dan Cheng, 1997)
Gambar 8. Ilustrasi displacement mutation (mutasi pemindahan) (Gen dan Cheng, 1997)
Gambar 9. Ilustrasi reciprocal exchange mutation (mutasi penukaranbalik) (Gen dan Cheng, 1997)
4. Fungsi Fitness
Fungsi fitness merupakan alat ukur yang digunakan untuk
mengevaluasi kromosom-kromosom pada setiap generasi. Kualitas sebuah
kromosom di dalam suatu populasi ditunjukkan oleh besarnya nilai fitness.
Penghitungan nilai fitness berdasarkan masalah yang akan diselesaikan.
Fungsi fitness digunakan untuk memberikan ciri dan mengukur
seberapa baik sebuah solusi. Fungsi fitness adalah fungsi yang akan
mengukur tingkat kebugaran suatu kromosom dalam populasi. Semakin
Kromosom
Kromosom ($)
7 8 91 2 3 4 5 6
7 8 91 2 6 5 4 3
Kromosom 7 8 91 2 3 4 5 6
Kromosom ($) 7 8 91 2 6 3 4 5
Kromosom 7 8 91 2 3 4 5 6
Kromosom ($) 5 6 91 2 3 7 8 4
Kromosom 7 8 91 2 3 4 5 6
Kromosom ($) 7 8 91 2 6 4 5 3
besar nilai fitness, semakin bugar pula kromosom dalam populasi sehingga
semakin besar kemungkinan kromosom tersebut dapat tetap bertahan pada
generasi berikutnya (Chen, Ian dan Cao, 2003).
Pada masalah maksimasi, semakin tinggi nilai fitness sebuah
kromosom maka besar kemungkinan untuk tetap bertahan di generasi
berikutnya. Sebaliknya, pada masalah minimasi, semakin rendah nilai
fitness sebuah kromosom maka besar kemungkinan untuk tetap bertahan di
generasi berikutnya.
5. Bilangan Acak
Bilangan acak merupakan suatu bilangan (r), 0 r 1, yang harus
diinput pada komputer untuk dibangkitkan secara acak. Bilangan acak
tersebut dibangkitkan setiap kali akan menyilangkan sepasang kromosom,
melakukan mutasi, serta memunculkan kromosom-kromosom pada
populasi awal. Bilangan acak pada komputer tidak sama dengan bilangan
acak yang terjadi pada alam. Alam memiliki bilangan acak yang
sempurna, sedangkan komputer memiliki pola pengacakan tersendiri untuk
masing-masing bilangan yang berbeda.
6. Kriteria Penghentian
Proses pencarian algoritma genetika akan terus berjalan hingga
kriteria penghentian terpenuhi. Kriteria penghentian merupakan
penghentian eksekusi program algoritma genetika, yaitu menentukan
jumlah generasi maksimum, menentukan selisih nilai fitness rata-rata
tertentu antara suatu generasi dengan generasi sebelumnya, atau
menentukan batas tingkat keragaman struktur kromosom. Kriteria
penghentian yang paling sering dipakai adalah penentuan jumlah generasi
maksimum karena penggunaannya yang mudah pada implementasi
program di komputer.
7. Perbandingan Algoritma Genetika dengan Teknik Optimasi
Konvensional
Perbedaan algoritma genetika dengan teknik optimasi konvensional
(Goldberg, 1989) adalah sebagai berikut :
a. Algoritma genetika bekerja pada sekumpulan solusi itu sendiri yang
telah dikodekan, bukan pada solusi itu sendiri
Algoritma genetika memiliki ruang pencarian (search space)
yang dapat didiskritkan (diputus-putus) meskipun fungsi objektifnya
berupa fungsi kontinyu karena bekerja dengan pengkodean variabel
solusi. Fungsi diskrit (fungsi terputus-putus) memiliki keuntungan
yaitu tidak membutuhkan usaha tambahan seperti pencarian gradien
pada fungsi kontinyu, sehingga algoritma genetika dapat diterapkan
untuk optimasi di berbagai jenis fungsi dan bidang aplikasi.
b. Algoritma genetika melakukan pencarian pada suatu populasi (banyak
titik calon solusi), bukan hanya pada satu titik
Teknik pencarian pada teknik optimasi konvensional dilakukan
hanya pada satu titik tunggal. Titik ini kemudian diperbaiki perlahan-
lahan dengan arah menaik (fungsi maksimasi) atau menurun (fungsi
minimasi) melalui sejumlah iterasi hingga ditemukan solusi optimum.
Teknik pencarian seperti ini dapat terjebak ke dalam solusi optimum
lokal.
c. Algoritma genetika secara langsung memanfaatkan informasi fungsi
objektif, bukan turunan atau informasi tambahan lainnya
Penyelesaian masalah optimasi umumnya menggunakan
algoritma yang berupa langkah-langkah perhitungan yang secara
asimtotik menuju solusi optimum. Teknik optimasi konvensional
membangun deretan yang dimaksud berdasarkan gradien (turunan)
fungsi objektif atau fungsi kendala untuk memperbaiki solusi tunggal.
Algoritma genetika tidak membutuhkan informasi dan asumsi-asumsi
demikian. Algoritma genetika hanya membutuhkan informasi nilai
fungsi objektif dan memperbaiki sekumpulan solusi fisibel (legal)
dengan operator-operator genetika, yang pada akhirnya diharapkan
dapat menghasilkan solusi optimum.
d. Algoritma genetika bekerja menggunakan aturan probabilistik, bukan
aturan deterministik
Operator algoritma genetika tidak bekerja secara deterministik.
Operator seleksi, penyilangan, maupun mutasi bekerja menggunakan
aturan probabilistik atau pemilihan secara acak.
E. PENELITIAN TERDAHULU
Riswan (1993) melakukan penelitian tentang rancangan program
komputer untuk penjadwalan job shop dengan metode Priority Dispatching.
Penelitian ini memiliki tujuan yaitu membentuk rancangan program komputer
yang dapat digunakan untuk menjadwalkan kerja mesin-mesin dan tugas-tugas
di divisi job shop PT DC dalam waktu singkat. Pada hasil penjadwalan
komputer, penjadwalan kerja mesin-mesin dan alokasi tugas-tugas lebih
teratur dan terencana sehingga waktu penyelesaian setiap paket pesanan lebih
baik dibandingkan dengan cara manual.
Gunawan (2003) melakukan penelitian tentang penjadwalan flow shop
menggunakan algoritma genetika. Penelitian tersebut bertujuan untuk
mengaplikasikan algoritma genetika dalam bidang penjadwalan produksi yaitu
untuk masalah flow-shop deterministik tanpa kendala (unconstrained-
deterministic flow shop) berskala besar. Implementasi algoritma genetika
dalam program komputer menggunakan bahasa pemrograman Borland Pascal
7.0. Hasil penelitian menunjukkan bahwa algoritma genetika sangat efisien
dalam memecahkan masalah flow shop deterministik tanpa kendala berskala
besar.
Aryawan (2003) melakukan penelitian tentang penerapan algoritma
Tabu Search dalam permasalahan penjadwalan job shop. Dalam penelitian ini,
Tabu Search diterapkan pada sebuah permasalahan penjadwalan job shop
dengan tujuan untuk meminimalkan waktu proses total atau makespan (Cmax).
Hasil penjadwalan dibandingkan dengan hasil penjadwalan lain yang
menggunakan empat macam metode Basic Dispatching Rules. Hasil
pengolahan data menunjukkan bahwa penjadwalan yang menggunakan Tabu
Search memiliki makespan yang lebih kecil apabila dibandingkan dengan
keempat metode lainnya.
Andria (2007) melakukan penelitian tentang optimasi model rantai
pasokan agroindustri cocodiesel dengan menggunakan algoritma genetika.
Model rantai pasokan agroindustri yang optimal adalah rantai yang memiliki
kombinasi paling baik dan efisien sehingga dapat diperoleh TSCC (Total Supply
Chain Cost) yang paling minimum. Penelitian tersebut bertujuan untuk
merancang model rantai pasokan agroindustri cocodiesel berdasarkan model
transportasi, inventori, dan distribusi. Model rantai pasokan tersebut kemudian
dioptimasi dengan menggunakan metode algoritma genetika. Hasil penelitian
ini menunjukkan bahwa metode algoritma genetika sangat efisien dalam
menemukan solusi TSCC minimum dari model rantai pasokan agroindustri.
III. METODOLOGI PENELITIAN
A. KERANGKA PEMIKIRAN
Penjadwalan secara umum didefinisikan sebagai penetapan waktu dari
penggunaan peralatan, fasilitas, dan aktivitas manusia dalam sebuah
organisasi. Penjadwalan produksi terdiri dari tiga tahapan utama. Pertama
adalah tahapan loading, yaitu penentuan job yang harus diproses untuk setiap
mesin. Kedua adalah tahapan sequencing, yaitu penentuan urutan pengerjaan
untuk masing-masing job. Ketiga adalah tahapan detailed scheduling, yaitu
pengaturan waktu mulai dan selesainya suatu job.
Penjadwalan bagi perusahaan manufaktur adalah aspek yang sangat
penting karena penjadwalan merupakan salah satu bagian perencanaan dan
pengendalian produksi. Jadwal yang baik diperoleh dari algoritma yang baik
pula, sehingga perlu untuk menentukan suatu algoritma yang tepat untuk suatu
masalah penjadwalan.
Penjadwalan tipe job shop merupakan penjadwalan yang kompleks
karena merupakan kombinasi pengurutan job-job pada tiap mesin yang
memprosesnya. Sebuah industri dengan tipe sistem produksi job-shop
menggunakan parameter optimasi yaitu nilai makespan (waktu penyelesaian
pekerjaan secara keseluruhan). Semakin meningkatnya alternatif penjadwalan
produksi secara eksponensial, dengan banyaknya sumber daya yang digunakan
merupakan permasalahan pada optimasi kombinatorial yang kompleks.
Kombinasi yang optimum akan menghasilkan nilai makespan yang minimum.
Permasalahan pada penjadwalan tipe job shop yang rumit dan
kompleks membutuhkan suatu metode yang mampu memecahkan masalah
tersebut yang tidak dapat dipecahkan oleh metode-metode konvensional.
Penggunaan algoritma genetika, yaitu metode pencarian secara acak yang
meniru proses alam (proses evolusi), dapat memecahkan masalah penjadwalan
tersebut dengan solusi yang mendekati optimum namun hanya membutuhkan
waktu dan usaha yang lebih kecil.
Program algoritma genetika akan dirancang, dibuat, dan
diimplementasikan untuk mencari solusi optimum pada permasalahan
penjadwalan tipe job shop dalam penelitian ini. Program tersebut bertujuan
untuk meminimumkan nilai makespan (waktu penyelesaian pekerjaan secara
keseluruhan). Penggunaan algoritma genetika dalam pencarian solusi yang
optimum diharapkan mampu memecahkan masalah penjadwalan tipe job shop
dengan lebih efektif dan efisien.
B. PENDEKATAN METODE ILMIAH
Penelitian ini menggunakan pendekatan metode ilmiah (scientific
method). Pendekatan metode ilmiah merupakan metodologi pemecahan
masalah secara sistematis, konsisten, dan logis. Model ilmiah terdiri dari tahap
observasi, tahap identifikasi masalah, tahap konstruksi model, tahap verifikasi
dan validasi model, tahap solusi, dan tahap implementasi (Taylor, 2002).
Diagram metode ilmiah dapat dilihat pada Gambar 10 di bawah ini :
Gambar 10. Diagram alir metode ilmiah (Taylor, 2002)
Metode di atas merupakan metode yang bersifat umum. Metode
penelitian penjadwalan tipe job shop yang menggunakan algoritma genetika
diilustrasikan dalam bentuk diagram alir yang terdapat pada Gambar 11.
Observasi
Definisi Masalah
Perancangan Model
Verifikasi dan ValidasiModel
Solusi
Implementasi
Gambar 11. Diagram alir penelitian penjadwalan tipe job shop
Selesai
Mulai
Membuat skenariokasus sederhanasebagai Kasus 1
Mengambil kasusdari literatur sebagai
Kasus 2
Menggunakan data riilpada industri peralatan
pengolahan hasilpertanian (Kasus 3)
Menyelesaikan Kasus 1 dengan caraenumeratif (mencoba seluruhalternatif penjadwalan yang
dapat terjadi)
Membuat program algoritmagenetika masalah penjadwalan :
GA_JobShop
Menentukan fungsi makespan dengan metodepreference list based representation
Membandingkan nilai makespan hasilperhitungan enumeratif dengan hasil
pencarian algoritma genetika
Nilai makespansama ? tidak
ya
Program algoritma genetika yaitu GA_JobShop (Genetic Algoritms for
Job Shop Scheduling) dibuat dengan bahasa pemrograman Borland Delphi
7.0. Terdapat tiga kasus yang akan dipecahkan oleh program GA_JobShop
yaitu Kasus ke-1 merupakan kasus penjadwalan 3 job 2 mesin; Kasus ke-2
merupakan kasus penjadwalan 3 job 3 mesin; Kasus ke-3 merupakan kasus
penjadwalan 5 job – 12 mesin. Kasus ke-1 merupakan skenario penjadwalan
yang sangat sederhana (numerical example) dan Kasus ke-2 merupakan contoh
penjadwalan tipe job shop yang diambil dari literatur yang terdapat pada buku
Genetic Algorithm and Engineering Design (Gen dan Cheng, 1997). Kasus ke-
3 merupakan studi kasus industri peralatan pengolahan hasil pertanian. Ketiga
kasus tersebut dioptimasi dengan program GA_JobShop untuk didapatkan
nilai makespan yang minimum.
Data skenario pada Kasus 1 dirancang sebagai numerical example.
Data tersebut dihitung nilai makespan-nya dengan cara enumeratif kemudian
dibandingkan dengan hasil yang diperoleh dari pencarian algoritma genetika
(menggunakan program GA_JobShop) sebagai verifikasi dan validasi
program yang telah dibuat. Verifikasi merupakan pemeriksaan apakah logika
pada program sesuai dengan logika penjadwalan tipe job shop, sedangkan
validasi merupakan proses penentuan apakah hasil output pada program
merupakan representasi yang akurat dari aplikasi nyata (Hoover dan Perry,
1989). Apabila hasil perhitungan dengan program sudah sama dengan hasil
perhitungan enumeratif maka program GA_JobShop dapat digunakan untuk
memecahkan masalah dengan skala yang lebih besar, seperti Kasus 2 dan
Kasus 3.
IV. PEMBAHASAN
A. REPRESENTASI KROMOSOM
Representasi kromosom yang digunakan untuk memecahkan masalah
penjadwalan job shop salah satunya adalah metode preference-list-based
representation (Gen dan Cheng, 1997). Untuk pemecahan masalah job shop
dengan pekerjaan sebanyak n dan mesin sebanyak m, sebuah kromosom akan
terdiri dari m sub-kromosom untuk setiap mesin. Setiap sub-kromosom adalah
simbol string dengan panjang n dan setiap simbol akan teridentifikasi sebagai
sebuah operasi untuk dikerjakan pada mesin seharusnya. Hal ini dilakukan
karena representasi berdasarkan daftar referensi dan setiap mesin mempunyai
daftar referensinya sendiri. Untuk jadwal di lapangan akan ditentukan dengan
menggunakan kromosom yang berasal dari simulasi, dimana analisis
didasarkan pada urutan menunggu pada jadwal, dan operasi yang muncul
pertama kali akan ditunjukkan untuk melakukan pekerjaan untuk pertama kali.
Jumlah mesin akan ditunjukkan oleh banyaknya sub-kromosom dan
jumlah job akan ditunjukkan oleh banyaknya string di dalam sub-kromosom.
Untuk lebih jelasnya, representasi kromosom dapat diilustrasikan pada
Gambar 12.
Gambar 12. Representasi kromosom dengan preference-list-based representation
B. FUNGSI FITNESS
1 2 3 n1 2 3 n1 2 3 n
Sub-kromosom Sub-kromosom Sub-kromosom
Mesin 1 Mesin 2 Mesin m
x=1 y=1
mn
x=1 y=1
mn
Evaluasi kromosom dilakukan pada tahap penentuan nilai dari fungsi
fitness masing-masing kromosom. Fungsi fitness bertujuan untuk mengukur
seberapa baik nilai sebuah kromosom dalam populasi. Pada penjadwalan job
shop, fungsi tujuannya adalah meminimumkan nilai makespan (total waktu
keseluruhan penyelesaian job). Fungsi tujuannya adalah sebagai berikut :
Min txy
Keterangan : n = jumlah job
m = jumlah mesin
txy = waktu proses job-x di mesin-y
Masalah penjadwalan job shop merupakan masalah minimasi
makespan. Fungsi fitness dibuat berbanding lurus dengan fungsi tujuan (nilai
makespan) sehingga kromosom yang paling baik adalah kromosom yang
memiliki nilai fitness paling kecil. Persamaan fungsi fitness-nya adalah
sebagai berikut :
Fk = Mk = txy
Keterangan : Fk = Nilai fitness kromosom ke-k pada populasi
Mk = Nilai makespan kromosom ke-k pada populasi
C. SELEKSI (SELECTION)
Proses seleksi dilakukan dengan cara memilih kromosom yang
memiliki nilai makespan minimum atau nilai fitness yang paling kecil. Teknik
ini merupakan teknik seleksi turnamen (tournament selection), yaitu akan
dipilih dua buah kromosom secara acak dalam suatu populasi, kemudian
dibandingkan berdasarkan nilai fitness-nya. Kromosom yang memiliki nilai
fitness lebih kecil akan terpilih dan kemudian akan disilangkan dengan
kromosom yang terpilih lainnya untuk dilakukan proses penyilangan
(crossover).
D. PENYILANGAN (CROSSOVER)
Proses penyilangan adalah bertukarnya gen-gen antara dua buah
kromosom yang terpilih sehingga membentuk dua buah kromosom baru
(offspring). Kromosom-kromosom baru (offsprings) tersebut diharapkan
memiliki nilai fitness yang lebih baik dari kromosom sebelumnya (parent).
Operator penyilangan yang digunakan pada penelitian ini adalah jenis
Partially-Mapped Crossover (PMX) yang telah dimodifikasi. PMX yang
digunakan bekerja hanya pada salah satu sub-kromosom pada tiap kromosom.
Dua buah kromosom yang terpilih disilangkan dengan cara memilih
dua buah titik penyilangan secara acak di masing-masing salah satu sub-
kromosom. Gen-gen yang terletak diantara dua buah sub-kromosom tersebut
saling dipertukarkan sehingga membentuk kromosom baru (offspring).
Kelegalan sebuah kromosom dilihat dari tidak adanya gen yang sama pada
tiap sub-kromosom. Teknik PMX secara otomatis akan membuat kromosom
tidak legal menjadi legal dengan metode hubungan pemetaan (mapping
relationship).
E. MUTASI (MUTATION)
Proses mutasi yaitu terjadinya perubahan struktur kromosom anak
(offspring) hasil proses penyilangan menjadi sebuah kromosom baru.
Kromosom baru tersebut memiliki struktur yang berbeda dari sebelumnya.
Operator mutasi yang digunakan pada penelitian ini adalah jenis reciprocal
exchange mutation yang telah dimodifikasi, bekerja dengan cara menukar
secara acak dua buah gen pada salah satu sub-kromosom.
Mutasi bertujuan untuk memunculkan kromosom yang belum pernah
ada ataupun mengembalikan kromosom terdahulu yang telah hilang pada
generasi-generasi sebelumnya. Mutasi juga menghindari terjadinya perolehan
nilai optimum lokal.
F. IMPLEMENTASI PROGRAM (GA_JobShop)
Implementasi dari proses algoritma genetika pada penelitian ini adalah
berupa program GA_JobShop yang dibuat menggunakan bahasa
pemrograman Borland Delphi 7.0 dengan acuan program Simple Genetic
Algorithm (SGA) yang telah dikembangkan oleh Goldberg pada tahun 1989.
Beberapa perubahan dan pengembangan dari program SGA tersebut telah
dilakukan, diantaranya :
1. Fungsi makespan untuk menghitung nilai total waktu penyelesaian pada
suatu penjadwalan job shop.
2. Representasi kromosom yang digunakan adalah jenis preference list based
representation.
3. Prosedur crossover (penyilangan) menggunakan tipe PMX (Arkeman,
1999) yang telah dimodifikasi, yaitu penyilangan terjadi hanya di salah
satu sub-kromosom.
4. Metode mutation (mutasi) di dalam prosedur generation menggunakan
tipe reciprocal exchange mutation yang telah dimodifikasi, yaitu mutasi
terjadi hanya di salah satu sub-kromosom.
5. Fungsi select (seleksi) menggunakan teknik seleksi turnamen (tournament
selection), yang telah mengalami perubahan dari sebelumnya
menggunakan seleksi cakram rolet (roulette wheel selection).
6. Prosedur pembuatan output file yaitu report sebagai laporan kinerja
algoritma genetika dari generasi ke generasi yang merupakan hasil
pengembangan Arkeman (1999).
Berikut adalah struktur program utama algoritma genetika (fungsi-fungsi dan
prosedur-prosedur) dalam paket program GA_JobShop :
Gambar 13. Struktur program utama GA_JobShop
Program GA_JobShop memiliki struktur yang terdiri dari satu
program utama, 11 prosedur dan 5 fungsi. Struktur tersebut dapat dilihat pada
Gambar 13. Program utama tersebut bertugas untuk menghimpun prosedur-
prosedur dan fungsi-fungsi yang telah dibuat. Kegunaan dari prosedur-
prosedur dan fungsi-fungsi di dalam program GA_JobShop adalah sebagai
berikut :
a. Prosedur Advance_Random, Warm_Up Random, dan Randomize
Prosedur untuk membangkitkan bilangan acak pada komputer.
Program Utama
Advance_Random
WarmUp_Random
Randomize
Statistics
InitData
InitReport
InitPop
Initialize
Crossover
Generation
Report
Prosedur
Random
Flip
Rnd
Hitung_Makespan
Select
Fungsi
b. Prosedur Statistics
Prosedur menghitung dan menyimpan nilai makespan rata-rata, minimum,
dan maksimum untuk tiap generasi.
c. Prosedur InitData
Prosedur untuk menginisialisasi variabel-variabel algoritma genetika
seperti panjang kromosom, jumlah populasi, peluang mutasi, peluang
penyilangan, dan persiapan pembangkitan bilangan acak.
d. Prosedur InitReport
Prosedur untuk menampilkan laporan tentang informasi populasi awal atau
generasi ke-0 yang mencakup struktur kromosom, nilai makespan tiap
kromosom, dan statistik nilai makespan.
e. Prosedur InitPop
Prosedur untuk membuat suatu populasi awal secara acak dengan
representasi kromosom tipe preference list based representation.
f. Prosedur Initialize
Prosedur untuk menghimpun prosedur InitData, InitPop, Statistics, dan
InitReport.
g. Prosedur Crossover
Prosedur untuk menyilangkan dua buah kromosom dengan teknik partially
mapped crossover (PMX) yang telah dimodifikasi.
h. Prosedur Generation
Prosedur untuk mengembangbiakan kromosom-kromosom hingga generasi
maksimum. Di dalamnya terdapat proses seleksi, penyilangan, dan mutasi.
i. Prosedur Report
Prosedur pembuatan output file yaitu report sebagai laporan kinerja
algoritma genetika dari generasi ke generasi yang menginformasikan
secara detail tentang struktur kromosom induk dan anak, titik penyilangan,
letak sub-kromosom terjadinya penyilangan, letak sub-kromosom
terjadinya mutasi, dan nilai makespan.
j. Fungsi Random
Fungsi untuk membangkitkan sebuah bilangan acak dari rentang 0-1.
k. Fungsi Flip
Fungsi untuk menghasilkan nilai boolean true apabila bilangan acak yang
dibangkitkan lebih kecil atau sama dengan nilai probabilitas penyilangan
ataupun mutasi.
l. Fungsi Rnd
Fungsi untuk membangkitkan bilangan acak dari rentang tertentu. Dalam
program ini digunakan untuk membangkitkan nilai-nilai solusi kromosom
dari variabel-variabel keputusan.
m. Fungsi Select
Fungsi untuk memilih kromosom induk menggunakan teknik tournament
selection.
n. Fungsi Hitung_Makespan
Fungsi untuk menghitung nilai makespan (total waktu penyelesaian)
penjadwalan tipe job shop.
Langkah-langkah yang dilakukan program GA_JobShop untuk
mencari nilai makespan minimum :
Langkah 1 : Membaca data masukan masalah penjadwalan job shop :
a) Jumlah job
b) Jumlah mesin
c) Urutan proses tiap-tiap job pada mesin-mesin yang bekerja
d) Waktu proses tiap-tiap job pada mesin-mesin yang bekerja
Langkah 2 : Membaca masukan nilai-nilai parameter algoritma genetika :
a) Probabilitas penyilangan (Pc)
b) Probabilitas mutasi (Pm)
c) Bilangan acak
d) Jumlah generasi maksimum (MaxGen)
Langkah 3 : Menginisialisasi populasi awal :
a) Membangkitkan populasi awal secara acak
b) Mengevaluasi kromosom dalam populasi untuk mengetahui
nilai makespan-nya
Langkah 4 : Menghasilkan populasi baru sampai kriteria penghentian
terpenuhi (iterasi algoritma genetika) :
a) Memilih kromosom induk dengan teknik seleksi turnamen
(tournament selection)
b) Menyilangkan (crossover) kromosom-kromosom induk
dengan operator penyilangan atau memutasikannya (mutation)
dengan operator mutasi berdasarkan probabilitas kejadian
masing-masing
c) Mengevaluasi setiap kromosom baru yang terbentuk
Langkah 5 : Melaporkan nilai makespan (maksimum, minimum, dan rata-
rata), serta frekuensi kumulatif penyilangan dan mutasi pada
setiap generasi.
Langkah 6 : Kembali ke Tahap 4 jika generasi maksimum belum tercapai.
G. STUDI KASUS
Pada penelitian ini dicari fungsi fitness yang paling kecil yang berarti
nilai makespan paling minimum. Ada tiga buah kasus yang akan dikaji dengan
menggunakan program GA_JobShop :
1. Kasus 3 job - 2 mesin
2. Kasus 3 job - 3 mesin
3. Kasus 5 job - 12 mesin
Kasus ke-1 merupakan numerical example, yaitu data yang digunakan
sebagai verifikasi dan validasi program GA_JobShop. Data kasus 1 dibuat dengan
mengikuti aturan permasalahan pada sebuah penjadwalan tipe job shop. Kasus 2
mengacu pada persoalan yang terdapat di dalam buku Genetic Algorithms and
Engineering Design (Gen dan Cheng, 1997). Kasus ke-3 merupakan kasus riil di
industri peralatan pengolahan hasil pertanian CV Mitra Niaga Indonesia, Bogor.
1. Kasus 1 : Penjadwalan job shop kasus 3 job - 2 mesin
Masalah penjadwalan 3 job – 2 mesin berarti masalah penempatan job-
job pada mesin-mesin yang sesuai. Berdasarkan representasi kromosom jenis
preference list based representation maka mesin-mesin yang ada digolongkan
menjadi sub-kromosom yang memuat daftar job-job di dalamnya, sehingga
kasus 3 job – 2 mesin memiliki kemungkinan sebanyak (3!)2 = 36 calon solusi.
Didapatkan persamaan umum untuk peluang representasi kromosom (total
search space) adalah (n!)m, dengan n adalah banyaknya job dan m adalah
banyaknya mesin.
Program GA_JobShop akan diuji kebenarannya melalui data numerik
pada Kasus 1 ini. Data ini dibuat dengan mengikuti aturan penjadwalan tipe
job shop. Nilai makespan yang diperoleh dari hasil output program
GA_JobShop akan dibandingkan dengan perhitungan secara enumeratif, yaitu
menghitung semua alternatif yang ada (total search space).
Contoh kasusnya adalah sebagai berikut :
Tabel 1. Waktu proses, urutan mesin, dan urutan proses pada Kasus 1 (3 job – 2 mesin)
Salah satu karakteristik penjadwalan tipe job shop adalah tiap-tiap job
memiliki urutan proses yang berbeda-beda. Pada Tabel 1 di atas dapat
dijelaskan bahwa Kasus 1 memiliki tiga job yang harus diselesaikan pada dua
mesin yang berbeda. Job 1 memiliki urutan proses yang berbeda dengan job 2.
Job 1 harus melewati mesin 1 terlebih dahulu kemudian dilanjutkan dengan
mesin 2. Mesin 2 menjadi mesin yang didahulukan oleh job 2. Job 3 memiliki
urutan proses yang sama dengan job 1, yaitu mesin 1 setelah itu mesin 2.
Masing-masing mesin memiliki waktu proses yang berbeda untuk job-
job yang berbeda. Mesin 1 memproses job 1 selama 2 satuan waktu,
memproses job 2 selama 3 satuan waktu, dan memproses job 3 selama 5
satuan waktu. Sedangkan mesin 2 memproses job 1 selama 3 satuan waktu,
memproses job 2 selama 2 satuan waktu, dan memproses job 3 selama 4
satuan waktu.
Untuk dapat lebih memahami tabel di atas maka dapat diilustrasikan
pada Gambar 14 di bawah ini :
1 2 1 2
j 1 2 3 j 1 m 1 m 2
j 2 2 3 j 2 m 2 m 1
j 3 5 4 j 3 m 1 m 2
Job
Waktu Proses Urutan Mesin
JobUrutan Proses Urutan Proses
1 2 3 1 2 3
Mesin 1 Mesin 2
Gambar 14. Ilustrasi alur proses pada Kasus 1 (3 job – 2 mesin)
Tiap-tiap job yang melewati mesin-m akan menjadi suatu gen di dalam
sub-kromosom (mesin-m). Representasi kromosomnya dapat dilihat pada
Gambar 15 di bawah ini :
Gambar 15. Representasi kromosom penjadwalan tipe job shopkasus 3 job – 2 mesin
Nilai-nilai gen di dalam sub-kromosom menandakan job n yang harus
melewati mesin m. Nilai-nilai tersebut akan diacak sehingga menghasilkan
penjadwalan yang variatif. Cara menerjemahkan kromosom pada Gambar 15
adalah sebagai berikut :
Job 1
Job 2
Job 3
Urutan mesin yang harus dilewati
t = 2 t = 3
1 2
t = 2 t = 3
2 1
t = 5 t = 4
1 2
Langkah 1. Cek masing-masing nilai gen (job n) yang pertama pada
tiap-tiap sub-kromosom (mesin m) apakah job pada mesin
tersebut merupakan urutan proses yang ke-1.
Gambar 16. Cek nilai gen yang pertama pada mesin 1 dan 2untuk urutan proses ke-1
Job 1 merupakan urutan proses yang ke-1 pada mesin 1
sehingga dapat digambarkan sebagai berikut :
m2
m1 Job 1
1 2 3 4 5 6 7 8 9 10 11 12
waktu
Gambar 17. Penempatan job 1 urutan proses ke-1 padamesin 1
Langkah 2. Cek masing-masing nilai gen (job n) yang kedua pada tiap-
tiap sub-kromosom (mesin m) apakah job pada mesin tersebut
merupakan urutan proses yang ke-1.
Gambar 18. Cek nilai gen yang kedua pada mesin 1 dan 2untuk urutan proses ke-1
Job 2 merupakan urutan proses yang ke-1 pada mesin 2
sehingga dapat digambarkan sebagai berikut :
1 2 3 1 2 3
1 2 3 1 2 3
Gambar 19. Penempatan job 2 urutan proses ke-1 padamesin 2
Langkah 3. Cek masing-masing nilai gen (job n) yang ketiga pada tiap-
tiap sub-kromosom (mesin m) apakah job pada mesin tersebut
merupakan urutan proses yang ke-1.
Gambar 20. Cek nilai gen yang ketiga pada mesin 1 dan 2untuk urutan proses ke-1
Job 3 merupakan urutan proses yang ke-1 pada mesin 1
sehingga dapat digambarkan sebagai berikut :
m2 Job 2
m1 Job 1 Job 3
1 2 3 4 5 6 7 8 9 10 11 12
waktu
Gambar 21. Penempatan job 3 urutan proses ke-1 padamesin 1
Langkah 4. Cek kembali masing-masing nilai gen (job n) yang pertama
pada tiap-tiap sub-kromosom (mesin m) apakah job pada
mesin tersebut merupakan urutan proses yang ke-2.
m2 Job 2
m1 Job 1
1 2 3 4 5 6 7 8 9 10 11 12
waktu
1 2 3 1 2 3
Gambar 22. Cek nilai gen yang pertama pada mesin 1 dan 2untuk urutan proses ke-2
Job 1 merupakan urutan proses yang ke-2 pada mesin 2
sehingga dapat digambarkan sebagai berikut :
m2 Job 2 Job 1
m1 Job 1 Job 3
1 2 3 4 5 6 7 8 9 10 11 12
waktu
Gambar 23. Penempatan job 1 urutan proses ke-2 padamesin 2
Langkah 5. Cek kembali masing-masing nilai gen (job n) yang kedua
pada tiap-tiap sub-kromosom (mesin m) apakah job pada
mesin tersebut merupakan urutan proses yang ke-2.
.
Gambar 24. Cek nilai gen yang kedua pada mesin 1 dan 2untuk urutan proses ke-2
1 2 3 1 2 3
1 2 3 1 2 3
Job 2 merupakan urutan proses yang ke-2 pada mesin 1
sehingga dapat digambarkan sebagai berikut :
m2 Job 2 Job 1
m1 Job 1 Job 3 Job 2
1 2 3 4 5 6 7 8 9 10 11 12
waktu
Gambar 25. Penempatan job 2 urutan proses ke-2 padamesin 1
Langkah 6. Cek kembali masing-masing nilai gen (job n) yang ketiga
pada tiap-tiap sub-kromosom (mesin m) apakah job pada
mesin tersebut merupakan urutan proses yang ke-2.
Gambar 26. Cek nilai gen yang ketiga pada mesin 1 dan 2untuk urutan proses ke-2
Job 3 merupakan urutan proses yang ke-2 pada mesin 2
sehingga dapat digambarkan sebagai berikut :
m2 Job 2 Job 1 Job 3
m1 Job 1 Job 3 Job 2
1 2 3 4 5 6 7 8 9 10 11 12
waktu
Gambar 27. Penempatan job 3 urutan proses ke-2 padamesin 2
Pada Gambar 27 di atas merupakan penerjemahan dari kromosom
[1 2 3] [1 2 3] didapatkan nilai makespan sebesar 11 satuan waktu.
1 2 3 1 2 3
a. Tampilan Program GA_JobShop
Tampilan program GA_JobShop dapat dilihat pada Gambar 28 di
bawah ini :
Gambar 28. Tampilan program GA_JobShop
b. Input ProgramNilai-nilai utama yang diinput pada Kasus 1 adalah :
Ø Jumlah job = 3
Ø Jumlah mesin = 2
Ø Waktu proses dari tiap-tiap job (berdasarkan Tabel 1)
Ø Urutan proses dari tiap-tiap job (berdasarkan Tabel 1)
Input program Kasus 1 pada Jumlah Job yaitu 3 dan Jumlah Mesin
yaitu 2. Setelah kedua nilai tersebut diinput maka langkah selanjutnya adalah
memasukkan waktu proses tiap-tiap mesin pada job-job yang diproses.
Penjadwalan job shop adalah penjadwalan yang urutan proses mesin-mesinnya
berbeda-beda untuk masing-masing job. Input waktu proses dan urutan proses
dapat dilihat dari Tabel 1.
Nilai-nilai tersebut dimasukkan ke dalam program sebagai berikut :
Gambar 29. Input nilai-nilai utama pada program GA_JobShop (Kasus 1)
c. Parameter-parameter Algoritma Genetika
Nilai-nilai parameter algoritma genetika yang digunakan untuk
Kasus 1 adalah sebagai berikut :
Ø Peluang penyilangan (Pc) = 0.9
Ø Peluang mutasi (Pm) = 0.01
Ø Bilangan acak (0-1) = 0.6
Ø Jumlah populasi (PopSize) = 20
Ø Jumlah generasi maksimum (MaxGen) = 100
Peluang penyilangan (Pc) biasanya memiliki nilai yang tinggi.
Semakin tinggi nilai Pc maka akan semakin banyak kromosom-kromosom
yang mengalami penyilangan. Dengan penyilangan diharapkan akan
mendapatkan kromosom baru (offspring) yang nilai makespan-nya lebih
optimum. Pada program GA_JobShop terdapat tiga pilihan untuk
menentukan peluang penyilangan yang akan digunakan, yaitu 0,9; 0,8; dan
0,7. Peluang mutasi (Pc) biasanya memiliki nilai yang rendah. Peluang
terjadinya mutasi memang cukup rendah karena apabila terlalu banyak
terjadi mutasi maka kemungkinan akan mengganggu kestabilan populasi
yang ada. Mutasi bertujuan untuk memunculkan kromosom yang belum
pernah ada pada sebuah populasi atau mengembalikan kromosom yang
pernah ada pada populasi. Pada program GA_JobShop terdapat tiga
pilihan peluang mutasi, yaitu 0,5; 0,01; dan 0. Kedua proses tersebut, yaitu
penyilangan dan mutasi dilakukan dengan tujuan pencapaian nilai
makespan yang optimum. Jumlah populasi (PopSize) menunjukkan ukuran
populasi, yaitu jumlah kromosom pada suatu populasi. Jumlah populasi
pada program GA_JobShop sudah ditentukan yaitu 20, artinya terdapat 20
kromosom pada setiap populasi. Jumlah generasi maksimum digunakan
sebagai kriteria penghentian. Pada Kasus 1, generasi maksimum
ditentukan sebesar 100, artinya proses pencarian algoritma genetika akan
berhenti setelah generasi atau populasi sudah mencapai 100.
Nilai-nilai parameter tersebut dimasukkan ke dalam program
sebagai berikut :
Gambar 30. Input nilai-nilai parameter pada program GA_JobShop (Kasus 1)
d. Inisialisasi Populasi Awal
Populasi awal P(0) dibangkitkan secara acak oleh program
GA_JobShop dan hasil running dapat dilihat pada Gambar 31 di bawah
ini :
Gambar 31. Populasi awal P(0) untuk Kasus 1
Pada populasi ke-0 nilai makespan tertinggi yaitu sebesar 14 dan
terendah sebesar 11. Nilai makespan rata-rata pada populasi awal tersebut
yang telah dibangkitkan oleh bilangan acak sebesar 0,6 adalah 12,35.
e. Evaluasi dan Seleksi Kromosom
Setiap kromosom-k dalam populasi dievaluasi dengan menghitung
nilai fitness-nya setelah terbentuk populasi awal. Pada kasus penjadwalan
tipe job shop, nilai makespan merupakan nilai fitness. Berikut adalah nilai
makespan untuk masing-masing kromosom (Mk) pada P(0) :
M1 = 14 M6 = 12 M11 = 14 M16 = 11
M2 = 14 M7 = 14 M12 = 11 M17 = 11
M3 = 11 M8 = 11 M13 = 12 M18 = 11
M4 = 11 M9 = 14 M14 = 14 M19 = 11
M5 = 14 M10 = 12 M15 = 14 M20 = 11
Setelah semua kromosom dievaluasi nilai makespan-nya, proses
selanjutnya adalah proses seleksi kromosom. Sepasang kromosom akan
dipilih secara acak untuk disilangkan membentuk sepasang kromosom
baru. Teknik seleksi yang digunakan adalah teknik seleksi turnamen
(tournament selection). Berikut adalah langkah-langkah teknik seleksi
turnamen pada Kasus 1 :
Langkah 1. Pilih dua buah kromosom secara acak dalam populasi
Langkah 2. Bandingkan nilai makespan kedua buah kromosom tersebut
Langkah 3. Kromosom akan terpilih apabila nilai makespan kromosom
tersebut lebih kecil dari nilai makespan kromosom yang
lain
Kromosom-kromosom yang terpilih sebagai kromosom induk dari
P(0) adalah sebagai berikut :
Kromosom(2) , makespan-nya àM 2 = 14
Kromosom(4) , makespan-nya àM 3 = 11
Kromosom(6) , makespan-nya àM 5 = 12
Kromosom(8) , makespan-nya àM 6 = 11
Kromosom(9) , makespan-nya àM 7 = 14
Kromosom(10) , makespan-nya àM 8 = 12
Kromosom(11) , makespan-nya àM 9 = 14
Kromosom(12) , makespan-nya àM 13 = 11
Kromosom(13) , makespan-nya àM 14 = 12
Kromosom(15) , makespan-nya àM 15 = 14
Kromosom(16) , makespan-nya àM 17 = 11
Kromosom(17) , makespan-nya àM 18 = 11
Kromosom(18) , makespan-nya àM 19 = 11
Kromosom(19) , makespan-nya àM 18 = 11
Kromosom(20) , makespan-nya àM 19 = 11
f. Penyilangan dan Mutasi
Proses penyilangan terjadi setelah proses seleksi. Dua buah
(sepasang) kromosom induk diberikan suatu peluang untuk dapat
melakukan melakukan proses penyilangan. Pada Kasus 1 ini peluang
penyilangan (Pc) yang digunakan adalah 0,9. Nilai 0,9 berarti diharapkan
90% populasi yang terbentuk pada generasi selanjutnya adalah hasil
penyilangan generasi sebelumnya. Teknik penyilangan yang digunakan
adalah Partially Mapped Crossover (PMX) yang telah dimodifikasi pada
penelitian ini. Berikut adalah tahapan-tahapan proses penyilangan :
Tahapan 1. Mengambil sepasang kromosom induk hasil proses seleksi
Tahapan 2. Menentukan salah satu sub-kromosom secara acak pada
masing-masing kromosom induk yang akan disilangkan
Tahapan 3. Menentukan dua buah titik penyilangan secara acak pada
masing-masing sub kromosom yang terpilih secara acak
Tahapan 4. Menyilangkan dua buah sub-kromosom tersebut dengan
aturan PMX
Tahapan 5. Muncul dua buah kromosom baru hasil penyilangan dan
masukkan ke dalam populasi berikutnya
Dari populasi P(0) diambil sebagai contoh yang mengalami
penyilangan adalah kromosom(8) dan kromosom(16). Sub-kromosom
(Mach.Cross) yang terpilih adalah sub-kromosom ke-1 dengan titik
penyilangannya adalah 1 dan 2. Proses penyilangan tersebut dapat dilihat
pada Gambar 32. Sepasang kromosom yang disilangkan tersebut
menghasilkan dua buah kromosom baru yang nilai makespan-nya lebih
besar dari kedua induknya. Dua buah kromosom baru tersebut menjadi
anggota populasi baru P(1) sebagai kromosom(1) dan kromosom(2).
Ilustrasi proses penyilangan tersebut dapat dilihat pada Gambar 32 di
bawah ini :
Gambar 32. Proses penyilangan kromosom(8) dan kromosom(16)generasi ke-0 untuk Kasus 1
Pada Gambar 32 di atas dapat dilihat bahwa sub-kromosom ke-1
dari kromosom(8) adalah [2 1 3] dengan titik penyilangan 1 dan 2 maka
job 1 terpilih sebagai gen yang mengalami proses penyilangan. Sub-
kromosom ke-1 dari kromosom(16) adalah [1 3 2] dan gen yang
mengalami penyilangan adalah gen 3. Setelah itu gen-gen yang terpilih
yaitu 1 dan 3 saling bertukaran. Sesuai dengan metode PMX, maka hasil
penyilangan kromosom(8) dan kromosom(16) adalah [2 3 1] [1 2 3] dan [3
1 2] [2 1 3]. Kromosom(8) dan kromosom(16) yang kedua-duanya
memiliki nilai makespan sebesar 11, setelah mengalami proses
penyilangan mengalami perubahan nilai makespan, yaitu terjadi
peningkatan nilai menjadi 14 pada masing-masing kromosom anak.
Berikut ini merupakan populasi baru P(1) yang terbentuk dari
penyilangan kromosom-kromosom di populasi awal P(0) :
1 2
Parent 1 2 1 3 1 2 3
Parent 2 1 3 2 2 1 3
M 8 = 11
M 16 = 11
Child 1 2 3 1 1 2 3
Child 2 3 1 2 2 1 3
M 3 = 14
M 4 = 14
Gambar 33. Populasi baru P(1) pada Kasus 1
Proses yang mungkin terjadi pada suatu populasi, selain proses
penyilangan adalah proses mutasi. Peluang terjadinya mutasi adalah sangat
kecil apabila dibandingkan dengan peluang terjadinya penyilangan. Pada
Kasus 1, peluang mutasi adalah sebesar 0,01 yang artinya adalah 1%
kromosom dalam populasi baru mengalami mutasi. Mutasi terjadi hanya
pada salah satu sub-kromosom dan salah satu gen.
Pada Kasus 1, mutasi terjadi pada generasi ke-7 atau populasi P(7)
dan terjadi pada kromosom(10). Kromosom(10) adalah kromosom anak
hasil penyilangan kromosom(10) dan kromosom(1) pada generasi ke-6
atau populasi P(6). Proses mutasi terjadi setelah proses penyilangan dan
disebut dengan mutation-embedded within crossover. Berikut adalah
kromosom-kromosom populasi P(6) sebagai kromosom induk populasi
P(7) yang akan mengalami mutasi setelah mengalami proses penyilangan :
Gambar 34. Kromosom-kromosom pada populasi P(6) sebelummengalami penyilangan dan mutasi di populasi P(7)
Berikut adalah populasi dimana pertama kali terjadi proses mutasi
(Kasus1) :
Gambar 35. Populasi P(7) terjadi mutasi pada Kasus 1
Proses mutasi tersebut dapat dilihat pada Gambar 36 di bawah ini :
Gambar 36. Mutasi kromosom(10) pada generasi ke-7 untuk Kasus 1
Mutasi terjadi pada kromosom(10), generasi ke-7. Sub-kromosom
(Mach.Mutate) yang terpilih adalah sub-kromosom ke-1, yaitu [1 2 3] dan
setelah mengalami mutasi maka gen 1 dan 2 saling bertukaran. Kromosom
baru hasil proses mutasi adalah [2 1 3] [1 2 3] yang memiliki nilai
makespan yang sama dengan nilai makespan kromosom induknya. Nilai
makespan tetap 11.
Seluruh proses pada program GA_JobShop mulai dari inisialisasi
populasi awal, evaluasi kromosom, seleksi kromosom, proses penyilangan,
serta proses mutasi merupakan tahapan-tahapan yang menjadi rangkaian
pencarian dalam menemukan solusi optimum. Pencarian akan dihentikan
apabila kriteria penghentian terpenuhi. Kriteria penghentian yang
digunakan pada program GA_JobShop adalah jumlah generasi maksimum
(MaxGen). Untuk Kasus 1 generasi maksimumnya adalah sebanyak 100
generasi, artinya proses pencarian akan berhenti setelah mencapai generasi
ke-100.
Child 2
1 2 31 2 3
Parent 1
1 2 31 2 3
M 10 = 11
M 1 = 11Parent 2
1 2 31 2 3
1 2
Child 1
1 2 31 2 3
M 9 = 11
M 10 = 11
1 2 32 1 3Child 2 ($)**
M 10 ($) = 11
g. Hasil Running Program GA_JobShop
Hasil running program GA_JobShop untuk Kasus 1 diilustrasikan
dalam dua buah grafik. Grafik yang pertama yaitu terdapat pada Gambar
37, menunjukkan nilai makespan maksimum (Max), makespan rata-rata
(Avg), dan makespan minimum (Min) dari generasi awal (generasi ke-0)
hingga generasi maksimum (generasi ke-100). Grafik berikutnya terdapat
pada Gambar 38, menunjukkan frekuensi terjadinya penyilangan dan
mutasi sepanjang 100 generasi.
Gambar 37. Grafik nilai makespan maksimum, makespan rata-rata, danmakespan minimum untuk 100 generasi pada Kasus 1(Pc=0,9 ; Pm=0,01 ; Bilangan Acak=0,6 ; PopSize=20,
MaxGen=100)
Nilai makespan maksimum tertinggi yang pernah diperoleh
sepanjang 100 generasi adalah sebesar 14 dan nilai makespan minimum
terendah yang pernah diperoleh sepanjang 100 generasi adalah sebesar 11.
Nilai makespan mulai konvergen pada generasi ke-3, kemudian nilai 14
muncul kembali di generasi ke-17. Nilai tersebut muncul kembali
dikarenakan oleh proses mutasi yang terjadi di generasi ke-17. Generasi
selanjutnya kembali konvergen di nilai 11.
Semua nilai 14 yang kembali muncul setelah generasi ke-3 adalah
hasil proses mutasi, meskipun tidak semua proses mutasi mengubah nilai
makespan menjadi 14. Terdapat beberapa proses mutasi pada Kasus 1
yang tidak menyebabkan terjadinya perubahan pada nilai makespan.
Gambar 38. Grafik frekuensi penyilangan dan mutasi untuk 100 generasipada Kasus 1 (Pc=0,9 ; Pm=0,01 ; Bilangan Acak=0,6 ;PopSize=20, MaxGen=100)
Sepanjang 100 generasi pada Kasus 1 telah terjadi proses
penyilangan sebanyak 906 kali dan proses mutasi sebanyak 19 kali.
Generasi ke-0 memang belum ada proses penyilangan dan mutasi. Kedua
proses tersebut mulai dilakukan pada generasi ke-1.
Frekuensi tertinggi untuk penyilangan pada tiap-tiap generasi
adalah sebanyak 10 kali dan frekuensi terendah sebanyak 6 kali. Mutasi
dengan frekuensi tertinggi yaitu sebanyak 2 kali dan frekuensi terendah
yaitu sebanyak 0 kali, artinya tidak dilakukan.
Nilai makespan terbaik (paling optimum) yang diperoleh dari 100
generasi adalah 11, dengan struktur kromosomnya adalah [2 1 3] [2 1 3].
Berikut adalah penerjemahan kromosom tersebut :
Tahap 1
Mesin 1 Mesin 2
2 2 1 31 3
× × × Urutan proses ke-1
m2 Job 2
m1 Job 1 Job 3
1 2 3 4 5 6 7 8 9 10 11 12
waktu
Tahap 2
m2 Job 2 Job 1 Job 3
m1 Job 1 Job 3 Job 2
1 2 3 4 5 6 7 8 9 10 11 12
waktu
Gambar 39. Tahapan-tahapan penerjemahan salah satu kromosom terbaikpada Kasus 1
Pada tahap 1, yaitu penempatan job-n yang melewati mesin-m pada
urutan proses ke-1. Apabila job tersebut merupakan urutan proses ke-1
pada mesin-m (sub-kromosom ke-m) maka penempatan dilakukan.
Pengecekan dimulai dari gen yang pertama (paling kiri) dari masing-
masing sub-kromosom. Penempatan didahulukan dari gen yang lebih awal
(dari kiri ke kanan) pada sub-kromosom yang sama.
Job-1 dan job-3 di mesin-1; dan job-2 di mesin-2 merupakan
urutan proses ke-1. Tempatkan ketiga job tersebut pada mesin yang sesuai
Mesin 1 Mesin 2
2 2 1 31 3
× × ×
× × ×
Urutan proses ke-1
Urutan proses ke-2
dengan waktu proses masing-masing job pada mesin tersebut. Dahulukan
penempatan job-1 dari job-3 yang keduanya merupakan urutan proses ke-1
di mesin-1 karena penerjemahan kromosom gen-1 berada di sebelah kiri
gen-3 pada sub-kromosom ke-1. Pada tahap 2, yaitu penempatan job-n
yang melewati mesin-m pada urutan proses ke-2. Penempatan pada tahap 2
hampir sama dengan tahap 1.
Terdapat beberapa ketentuan dalam penempatan job, yaitu :
1. Penempatan job dilakukan setelah job lain pada urutan proses
sebelumnya di mesin yang sama selesai dilakukan, artinya satu mesin
tidak dapat memproses beberapa job sekaligus, contohnya pada
penempatan job-1 di mesin-2 dan job-2 di mesin-1.
2. Penempatan job yang sama pada mesin yang berbeda dilakukan setelah
job tersebut pada urutan proses sebelumnya selesai dilakukan, artinya
tiap-tiap job tidak dapat diproses pada satu waktu sekaligus di mesin
yang berbeda, contohnya pada penempatan job-3.
2. Kasus 2 : Penjadwalan job shop kasus 3 job - 3 mesin
Pada Kasus 2, yaitu masalah penjadwalan 3 job – 3 mesin merupakan
studi literatur. Contoh kasus diperoleh dari buku Genetic Algorithms and
Engineering Design (Gen dan Cheng, 1997). Berikut adalah contoh kasusnya :
Tabel 2. Waktu proses, urutan mesin, dan urutan proses pada Kasus 2 (3 job – 3 mesin) (Gen dan Cheng, 1997)
Gambar 40. Ilustrasi alur proses pada Kasus 2 (3 job – 3 mesin)
a. Input Program
Nilai-nilai utama yang diinput pada Kasus 2 adalah :
Ø Jumlah job = 3
Ø Jumlah mesin = 3
Ø Waktu proses dari tiap-tiap job (berdasarkan Tabel 2)
Ø Urutan proses dari tiap-tiap job (berdasarkan Tabel 2)
1 2 3 1 2 3
j 1 3 3 2 j 1 m 1 m 2 m 3
j 2 1 5 3 j 2 m 1 m 3 m 2
j 3 3 2 3 j 3 m 2 m 1 m 3
JobJobUrutan Proses
Waktu Proses Urutan Mesin
Urutan Proses
Job 1
Job 2
Job 3
1
t = 3
2
t = 3
3
t = 2
1
t = 1
3
t = 5
2
t = 3
2
t = 3
1
t = 2
3
t = 3
Urutan mesin yang harus dilewati
Nilai-nilai tersebut dimasukkan ke dalam program sebagai berikut :
Gambar 41. Input nilai-nilai utama pada program GA_JobShop (Kasus 2)
b. Parameter-parameter Algoritma Genetika
Nilai-nilai parameter algoritma genetika yang digunakan untuk
Kasus 2 adalah sebagai berikut :
Ø Peluang penyilangan (Pc) = 0.9
Ø Peluang mutasi (Pm) = 0.01
Ø Bilangan acak (0-1) = 0.6
Ø Jumlah populasi (PopSize) = 20
Ø Jumlah generasi maksimum (MaxGen) = 100
Nilai-nilai parameter tersebut dimasukkan ke dalam program sebagai
berikut :
Gambar 42. Input nilai-nilai parameter pada program GA_JobShop (Kasus 2)
c. Inisialisasi Populasi Awal
Populasi awal P(0) dibangkitkan secara acak oleh program
GA_JobShop dan hasil running dapat dilihat pada Gambar 43 di bawah
ini :
Gambar 43. Populasi awal P(0) untuk Kasus 2
Pada populasi ke-0 nilai makespan tertinggi yaitu sebesar 14 dan
terendah sebesar 10. Nilai makespan rata-rata pada populasi awal tersebut
yang telah dibangkitkan oleh bilangan acak sebesar 0,5 adalah 11,15.
d. Evaluasi dan Seleksi Kromosom
Nilai makespan yang merupakan hasil evaluasi untuk masing-
masing kromosom pada P(0) adalah sebagai berikut :
M1 = 14 M6 = 14 M11 = 14 M16 = 14
M2 = 12 M7 = 11 M12 = 14 M17 = 14
M3 = 11 M8 = 14 M13 = 14 M18 = 11
M4 = 11 M9 = 11 M14 = 14 M19 = 11
M5 = 12 M10 = 11 M15 = 14 M20 = 11
Kromosom-kromosom yang terpilih sebagai kromosom induk P(1)
hasil seleksi dari populasi P(0) adalah sebagai berikut :
Kromosom(4) , makespan-nya à M 4 = 11
Kromosom(7) , makespan-nya à M 7 = 11
Kromosom(8) , makespan-nya à M 8 = 14
Kromosom(9) , makespan-nya à M 9 = 11
Kromosom(10) , makespan-nya à M 10 = 11
Kromosom(12) , makespan-nya à M 12 = 14
Kromosom(14) , makespan-nya à M 14 = 14
Kromosom(15) , makespan-nya à M 15 = 14
Kromosom(16) , makespan-nya à M16 = 14
Kromosom(17) , makespan-nya à M 17 = 14
Kromosom(18) , makespan-nya à M 18 = 11
Kromosom(19) , makespan-nya à M 19 = 11
e. Penyilangan dan Mutasi
Pada kasus 2 peluang penyilangan adalah 0,9 artinya diharapkan
90% populasi yang terbentuk pada generasi berikutnya adalah hasil
penyilangan generasi sebelumnya. Teknik penyilangan yang digunakan
adalah metode Partially Mapped Crossover (PMX) yang telah
dimodifikasi khusus untuk kromosom yang terdiri dari beberapa sub-
kromosom. Berikut populasi baru P(1) hasil penyilangan kromosom-
kromosom induk yang terseleksi :
Gambar 44. Populasi P(1) pada Kasus 2
Proses mutasi pertama kali terjadi pada kromosom(2) yang terdapat
di dalam generasi ke-7 atau populasi P(7). Kromosom tersebut mengalami
mutation-embedded within crossover atau mutasi yang terjadi setelah
proses penyilangan. Kromosom tersebut mengalami mutasi pada sub-
kromosom ke-2. Berikut adalah populasi P(7) yang di dalamnya terdapat
kromosom yang pertama kali mengalami mutasi :
Gambar 45. Populasi P(7) terjadi mutasi pada Kasus 2
Kromosom(1) dan kromosom(2) pada P(7) merupakan kromosom
anak yang berasal dari sepasang kromosom pada populasi sebelumnya
P(6), yaitu kromosom(10) dan kromosom(19). Keduanya telah mengalami
proses penyilangan di P(7), yaitu pada sub-kromosom ke-3 dan titik
penyilangan 1 dan 2. Kromosom induk dari populasi P(6) dapat dilihat
pada Gambar 46 di bawah ini :
Gambar 46. Kromosom-kromosom induk pada populasi P(6) yang akan diseleksi untuk disilangkan dan dimutasi pada populasi P(7)
Proses penyilangan terjadi antara kromosom(10) dan
kromosom(19) pada sub kromosom ke-3. Struktur kromosom(10) yaitu
[2 1 3][2 1 3][2 3 1] dan kromosom(19) memiliki struktur [2 3 1][2 1 3]
[2 3 1]. Dapat dilihat bahwa sub-kromosom ke-3 pada kromosom(10)
memiliki struktur yang sama dengan sub-kromosom ke-3 pada
kromosom(19), akibatnya proses penyilangan menghasilkan kromosom
anak yang identik dengan kromosom induk.
Berikut ilustrasi proses mutasi kromosom(2) pada populasi P(6) :
Gambar 47. Proses mutasi kromosom(2) pada populasi P(7)
Mutasi kromosom(2) terjadi pada sub-kromosom (Mach.Mutate)
ke-2. Gen yang saling bertukaran adalah gen 1 dan 2. Mutasi tidak
berpengaruh nyata terhadap nilai makespan. Kromosom anak yang
dihasilkan setelah terjadi mutasi memiliki nilai makespan yang sama
dengan kromosom anak sebelum terjadi mutasi.
Proses-proses algoritma genetika pada Kasus 2 mulai dari
inisialisasi populasi awal, evaluasi kromosom, seleksi kromosom, proses
penyilangan, serta proses mutasi akan dihentikan apabila pencarian telah
mencapai 100 generasi (MaxGen = 100).
f. Hasil Running Program GA_JobShop
Hasil running program GA_JobShop untuk Kasus 2 diilustrasikan
dalam dua buah grafik. Grafik yang pertama yaitu terdapat pada Gambar
48, menunjukkan nilai makespan maksimum (Max), makespan rata-rata
(Avg), dan makespan minimum (Min) dari generasi awal (generasi ke-0)
hingga generasi maksimum (generasi ke-100). Grafik berikutnya terdapat
pada Gambar 49, menunjukkan frekuensi terjadinya penyilangan dan
mutasi sepanjang 100 generasi.
2 1 32 3 1 2 3 1 M 2 = 11
1 2 32 3 1 2 3 1 M 2 ($) = 11
**
Gambar 48. Grafik nilai makespan maksimum, makespan rata-rata, danmakespan minimum untuk 100 generasi pada Kasus 2(Pc=0,9 ; Pm=0,01 ; Bilangan Acak=0,6 ; PopSize=20,MaxGen=100)
Gambar 48 di atas memperlihatkan bahwa nilai makespan
maksimum tertinggi yang pernah diperoleh sepanjang 100 generasi adalah
sebesar 14 dan nilai makespan minimum terendah yang pernah diperoleh
sepanjang 100 generasi adalah sebesar 11. Nilai makespan mulai
konvergen pada generasi ke-3, akan tetapi terjadi beberapa kali
peningkatan nilai makespan rata-rata yang dikarenakan nilai-nilai yang
lebih tinggi dari nilai minimum bermunculan kembali. Hal tersebut
diakibatkan oleh proses penyilangan dan mutasi yang terjadi. Pada
generasi ke-5 nilai makespan 14 kembali muncul akibat proses
penyilangan.
Terjadi beberapa ketidakstabilan nilai sepanjang 100 generasi
meskipun nilai minimum sempat konvergen pada generasi ke-3. Nilai
minimum mulai stabil pada generasi ke-16 dan tidak stabil lagi pada
generasi ke-24 yang diakibatkan oleh proses mutasi. Nilai rata-rata
kembali stabil pada generasi ke-25 hingga generasi ke-43, generasi ke-65
hingga generasi ke-89, dan generasi ke-91 hingga generasi ke-100
10.0
10.5
11.0
11.5
12.0
12.5
13.0
13.5
14.0
14.5
15.0
0 10 20 30 40 50 60 70 80 90 100
MIN AVG MAXGenerasi
Ketidakstabilan yang terjadi setelah nilai konvergen yaitu akibat proses
mutasi yang memunculkan kembali nilai-nilai maksimum yang sempat
punah pada generasi sebelumnya.
Gambar 49. Grafik frekuensi penyilangan dan mutasi untuk 100 generasipada Kasus 2 (Pc=0,9 ; Pm=0,01 ; Bilangan Acak=0,6 ;PopSize=20, MaxGen=100)
Sepanjang 100 generasi pada Kasus 2 telah terjadi proses
penyilangan sebanyak 907 kali dan proses mutasi sebanyak 19 kali. Kedua
proses tersebut mulai dilakukan pada generasi ke-1.
Frekuensi tertinggi untuk penyilangan pada tiap-tiap generasi
adalah sebanyak 10 kali dan frekuensi terendah sebanyak 6 kali. Mutasi
dengan frekuensi tertinggi yaitu sebanyak 2 kali hanya terjadi sekali pada
generasi ke-24 dan frekuensi terendah yaitu sebanyak 0 kali (tidak
dilakukan). Hal ini dikarenakan mutasi tidak harus selalu terjadi pada tiap
generasi.
Nilai makespan terbaik (paling optimum) yang diperoleh dari 100
generasi adalah 11, dengan hasil akhir struktur kromosomnya adalah
[2 3 1] [1 2 3] [2 3 1] atau [2 3 1] [3 2 1] [2 3 1] atau [2 3 1] [1 3 2] [2 3 1].
Berikut adalah penerjemahan salah satu kromosom tersebut :
0
1
2
3
4
5
6
7
8
9
10
11
0 10 20 30 40 50 60 70 80 90 100
Penyilangan MutasiGenerasi
Tahap 1
m3
m2 Job 3
m1 Job 2 Job 1
1 2 3 4 5 6 7 8 9 10 11
Tahap 2
m3 Job 2
m2 Job 3 Job1
m1 Job 2 Job1 Job 3
1 2 3 4 5 6 7 8 9 10 11
Tahap 3
Mesin 2
1 2 3
Mesin 1
2 3 1
Mesin 3
2 3 1
×× × × ××
×
Mesin 2
1 2 3
Mesin 1
2 3 1
Mesin 3
2 3 1
×× × × ×
× × × ×××
× ×× ×××
×
Mesin 2
1 2 3
Mesin 1
2 3 1
Mesin 3
2 3 1
×× × × ×
× × × ×××
m3 Job 2 Job 3 Job 1
m2 Job 3 Job 1 Job 2
m1 Job 2 Job 1 Job 3
1 2 3 4 5 6 7 8 9 10 11
Gambar 50. Tahapan-tahapan penerjemahan salah satu kromosom terbaikpada kasus 2
g. Efisiensi Algoritma Genetika
Pada Kasus 2, yaitu 3 job dan 3 mesin memiliki total search space
atau jumlah calon solusi dalam ruang pencarian (Nt) sebagai berikut :
Nt = (3!)3 = (3×2×1)3 = 216 calon solusi
Solusi optimum penjadwalan job shop untuk Kasus 2 mulai
konvergen pada generasi ke-3, artinya nilai optimum yang ditemukan telah
konstan pada generasi ke-3 dan tidak ada lagi nilai yang lebih kecil dari
nilai tersebut. Jumlah calon solusi yang telah dievaluasi oleh algoritma
genetika hingga konvergen (Ns) adalah sebagai berikut :
Ns = (3 generasi) x (20 calon solusi / generasi) = 60 calon solusi
Persentase pencarian calon solusi yang dilakukan algoritma
genetika dalam ruang pencarian (Ps) adalah :
Ps = (Ns / Nt) x 100 %
= (60 / 216) x 100 % = 27,78 %
Persentase tersebut menunjukkan bahwa algoritma genetika hanya
mengeksplorasi sebesar 27,78 % dari ruang pencarian untuk mencari
solusi penjadwalan job shop yang optimum. Hal ini menunjukkan bahwa
algoritma genetika sudah bekerja secara efisien pada kasus penjadwalan
3 job 3 mesin.
3. Kasus 3 : Penjadwalan job shop kasus 5 job – 12 mesin
Pada Kasus 3, data diperoleh dari kombinasi antara data sekunder yang
diambil dari Riswan (1993), Aryawan (2003), dan pengamatan langsung yang
dilakukan di CV Mitra Niaga Indonesia, Bogor. Data yang diambil dari
Riswan (1993) dan Aryawan (2003) disajikan pada Tabel 3, Tabel 4, dan
Tabel 5. Tujuan penggunaan kombinasi data sekunder dan data primer ini
adalah untuk memperlihatkan aplikasi metode algoritma genetika ini di kasus
nyata industri peralatan pengolahan hasil pertanian. Perusahaan yang
dikunjungi untuk pengambilan data primer adalah industri yang memproduksi
alat dan mesin pengolahan hasil pertanian. Produk-produk yang dihasilkan
diantaranya adalah destilator, vacuum drying, mixer, pemarut kelapa,
pencacah kompos, dan lain-lain. Pada proses produksinya, industri tersebut
memiliki penjadwalan bertipe job shop.
Sebuah alat atau mesin pengolahan hasil pertanian merupakan
serangkaian yang terdiri dari beberapa komponen. Masing-masing komponen
tersebut memiliki proses produksi yang berbeda-beda. Proses pembuatan
masing-masing komponen tersebut disebut juga dengan job. Masing-masing
job memiliki lintasan atau jalur yang harus ditempuh dalam satu siklus
produksinya, tiap jalur adalah identik untuk satu job tertentu dan berisi urutan
mesin-mesin yang harus dilewati job tersebut.
Berikut adalah daftar urutan proses, urutan mesin, dan waktu proses
untuk contoh kasus lima job yang harus diselesaikan :
Tabel 3. Waktu proses (satuan waktu menit), urutan mesin, dan urutanproses pada Kasus 3 (5 job – 12 mesin)
1 2 3 4 5 6 7 1 2 3 4 5 6 7
j 1 340 146 555 188 355 j 1 m 1 m 3 m 5 m 7 m 10
j 2 506 171 220 881 248 415 j 2 m 2 m 3 m 7 m 8 m 11 m 10
j 3 227 460 289 126 762 460 j 3 m 1 m 6 m 2 m 7 m 9 m 6
j 4 574 297 361 157 629 177 296 j 4 m 6 m 4 m 2 m 7 m 8 m 11 m 10
j 5 454 918 195 741 1007 j 5 m 1 m 6 m 5 m 3 m 8
Urutan Proses Urutan ProsesJobJob
Waktu Proses Urutan Mesin
Dari data di atas dapat dilihat bahwa terdapat jumlah proses
maksimum sebanyak tujuh proses. Job 1 dan job 5 terdiri atas lima proses, job
2 dan job 3 terdiri atas enam proses, dan job 4 terdiri atas tujuh proses.
Masing-masing proses memiliki waktu proses yang berbeda-beda.
Mesin yang digunakan untuk proses produksi job-job tersebut adalah
sebanyak 11 jenis mesin. Pada job 3 melewati mesin 6 sebanyak dua kali,
yaitu pada proses kedua dan keenam. Program GA_JobShop yang dibuat
hanya bisa memproses masing-masing job melewati mesin yang sama tidak
lebih dari satu kali, sehingga mesin 6 pada proses yang kedua kalinya (proses
keenam) dapat dianggap sebagai mesin 12.
Berikut adalah nama-nama job yang akan diproduksi :
Tabel 4. Daftar nama-nama job pada Kasus 3
Berikut adalah daftar nama-nama mesin yang digunakan pada proses
produksi:
Tabel 5. Daftar nama-nama mesin pada Kasus 3
Untuk dapat lebih memahami alur proses produksi masing-masing job
maka dapat diilustrasikan pada gambar di bawah ini :
No.Job Nama Job
j 1 Inlet Oil Cooler
j 2 Foam Chassis
j 3 Power S Cord 1.25
j 4 Eva Cover
j 5 Condensor Filter
No.Mesin Nama Mesin No.Mesin Nama Mesin
m 1 Mesin Potong Lurus m 7 Mesin Punch
m 2 Mesin Potong Alur m 8 Mesin Las Spot
m 3 Mesin Press 20 ton m 9 Mesin Las Arc
m 4 Mesin Press 40 ton m 10 Mesin Gerinda
m 5 Mesin Press 60 ton m 11 Mesin Bor
m 6 Mesin Press 80 ton m 12 Mesin Press 80 ton
Ga
Gambar 51. Ilustrasi alur proses pada Kasus 3 (satuan waktu dalam menit)
Job 1, yaitu produksi inlet oil cooler, pada prosesnya harus melewati
lima mesin (m1- m3- m5- m7- m10). Pada tahapan proses yang pertama, job 1
diproses di mesin 1 selama 340 menit. Kemudian, pada tahapan proses yang
kedua, job 1 diproses di mesin 3 selama 146 menit. Tahapan selanjutnya, yaitu
proses yang ketiga, job 1 diproses di mesin 5 selama 555 menit. Pada tahapan
proses yang keempat, job 1 diproses di mesin 7 selama 188 menit. Terakhir,
job 1 diproses di mesin 10 selama 355 menit.
Job 2, yaitu produksi foam chassis, pada prosesnya harus melewati
enam mesin (m2- m3- m7- m8- m11- m10). Job 3, yaitu produksi power s cord
1.25, harus melewati enam mesin pula namun memiliki urutan proses yang
berbeda dari job 2 (m1- m6- m2- m7- m9- m12). Proses produksi job 4, yaitu eva
cover harus melewati tujuh proses (m6- m4- m2- m7- m8- m11- m10). Job 5,
yaitu condenser filter, pada prosesnya harus melewati lima mesin (m1- m6-
m5- m3- m8). Masing-masing job memiliki tahapan proses yang berbeda dan
waktu proses yang berbeda pula.
2
361
4
297
7
157
8
629
10
296
11
177
1
340
3
146
5
555
7
188
10
355
8
1007
1
454
5
195
3
741
2
289
1
227
7
126
9
762
12
460
6
460
2
506
3
171
7
220
8
881
10
415
11
248
6
574
6
918
Job 1
Job 2
Job 3
Job 4
Job 5
a. Definisi masing-masing job
1. Inlet Oil Cooler
Rangkaian pipa yang befungsi untuk menstabilkan temperatur oli pada
sebuah alat atau mesin.
2. Foam Chassis
Kerangka yang berfungsi untuk meredam getaran pada suatu alat atau
mesin.
3. Power S Cord 1.25
Rangkaian elektrik yang berfungsi untuk mengendalikan satu unit alat atau
mesin.
4. Eva Cover
Penutup (plat) lapisan luar pada sebuah alat atau mesin.
5. Condensor Filter
Alat yang berfungsi untuk mendinginkan uap sehingga menjadi cairan.
b. Fungsi masing-masing mesin1. Mesin Potong Lurus
Digunakan untuk memotong plat dan pipa logam dalam bentuk potongan
lurus dengan teknik pemotongan vertikal.
2. Mesin Potong Alur
Digunakan untuk memotong plat dan pipa logam dengan bentuk khusus.
3. Mesin Punch
Digunakan untuk memperbesar diameter suatu pipa logam atau diameter
hasil bor.
4. Mesin Press
Digunakan untuk membentuk plat logam dan pipa logam sesuai dengan
bentuk pesanannya.
5. Mesin Las Spot
Digunakan untuk mengelas bahan besi dan baja.
6. Mesin Las Arc
Digunakan untuk mengelas bahan stainless steel.
7. Mesin Gerinda
Digunakan untuk membentuk produk dengan kehalusan dan ketelitian
tertentu pada salah satu atau beberapa elemen geometrinya.
8. Mesin Bor
Digunakan untuk membuat lubang kecil atau alur skrup.
c. Input ProgramNilai-nilai utama yang diinput pada Kasus 3 adalah :
Ø Jumlah job = 5
Ø Jumlah mesin = 12
Ø Waktu proses dari tiap-tiap job (berdasarkan Tabel 5)
Ø Urutan proses dari tiap-tiap job (berdasarkan Tabel 5)
Nilai-nilai tersebut dimasukkan ke dalam program sebagai berikut :
Gambar 52. Input nilai-nilai utama pada program GA_JobShop (Kasus 3)
Waktu proses dan urutan proses diinput sesuai dengan data pada
Gambar 51. Jumlah proses maksimum yang terdapat pada program
GA_JobShop untuk masing-masing job adalah sebanyak jumlah mesin,
artinya apabila kasus yang akan dipecahkan terdapat 12 mesin maka
urutan proses maksimum yang tersedia adalah sebanyak 12 proses,
meskipun proses maksimum yang terjadi pada Kasus 3 adalah sebanyak
tujuh proses. Untuk lebih jelasnya dapat dilihat pada tabel di bawah ini :
Tabel 6. Input waktu proses dan urutan proses masing-masing job pada mesinuntuk Kasus 3 (5 job – 12 mesin)
Waktu Urutan Waktu Urutan
1 1 340 1 7 1 188 4
2 0 7 2 220 3
3 227 1 3 126 4
4 0 8 4 157 4
5 454 1 5 0 8
2 1 0 6 8 1 0 9
2 506 1 2 881 4
3 289 3 3 0 10
4 361 3 4 629 5
5 0 6 5 1007 5
3 1 146 2 9 1 0 10
2 171 2 2 0 11
3 0 7 3 762 5
4 0 9 4 0 11
5 741 4 5 0 9
4 1 0 7 10 1 355 5
2 0 8 2 415 6
3 0 8 3 0 11
4 297 2 4 296 7
5 0 7 5 0 10
5 1 555 3 11 1 0 11
2 0 9 2 248 5
3 0 9 3 0 12
4 0 10 4 177 6
5 195 3 5 0 11
6 1 0 8 12 1 0 12
2 0 10 2 0 12
3 460 2 3 460 6
4 574 1 4 0 12
5 918 2 5 0 12
ProsesMesin Job Mesin Job
Proses
Pada tabel 6, dapat dilihat bahwa terdapat beberapa waktu proses
yang diinput dengan angka nol. Hal ini disebabkan oleh program
GA_JobShop yang dirancang untuk mengolah data proses sebanyak
jumlah mesin, sehingga urutan proses mesin yang tidak dilewati oleh job
tersebut diinput dengan angka nol.
d. Parameter-parameter Algoritma Genetika
Nilai-nilai parameter algoritma genetika yang digunakan untuk
Kasus 3 adalah sebagai berikut :
Ø Peluang penyilangan (Pc) = 0.9
Ø Peluang mutasi (Pm) = 0.05
Ø Bilangan acak (0-1) = 0.5
Ø Jumlah populasi (PopSize) = 20
Ø Jumlah generasi maksimum (MaxGen) = 100
Nilai-nilai parameter tersebut dimasukkan ke dalam program sebagai
berikut :
Gambar 53. Input nilai-nilai parameter pada program GA_JobShop (Kasus 3)
e. Inisialisasi Populasi Awal
Populasi awal P(0) dibangkitkan secara acak oleh program
GA_JobShop dan hasil running dapat dilihat pada gambar di bawah ini :
Gambar 54. Populasi awal P(0) untuk Kasus 3
f. Evaluasi dan Seleksi Kromosom
Nilai makespan yang merupakan hasil evaluasi untuk masing-
masing kromosom pada P(0) adalah sebagai berikut :
M1 = 4371 M6 = 4239 M11 = 4997 M16 = 4942
M2 = 4757 M7 = 3956 M12 = 3809 M17 = 3895
M3 = 4644 M8 = 4997 M13 = 4342 M18 = 4984
M4 = 4997 M9 = 3749 M14 = 4638 M19 = 5444
M5 = 5205 M10 = 5389 M15 = 4638 M20 = 4002
Kromosom-kromosom yang terpilih sebagai kromosom induk P(1)
hasil seleksi dari populasi P(0) adalah sebagai berikut :
Kromosom(1) , makespan-nya àM 1 = 4371
Kromosom(2) , makespan-nya àM 2 = 4757
Kromosom(6) , makespan-nya àM 6 = 4239
Kromosom(7) , makespan-nya àM 7 = 3956
Kromosom(11) , makespan-nya àM 11 = 4997
Kromosom(12) , makespan-nya àM 12 = 3809
Kromosom(13) , makespan-nya àM 13 = 4342
Kromosom(15) , makespan-nya àM 15 = 4638
Kromosom(16) , makespan-nya àM 16 = 4942
Kromosom(17) , makespan-nya àM 17 = 3895
Kromosom(18) , makespan-nya àM 18 = 4984
g. Penyilangan dan Mutasi
Pada kasus 3 peluang penyilangan adalah 0,9 artinya diharapkan
90% populasi yang terbentuk pada generasi berikutnya adalah hasil
penyilangan generasi sebelumnya. Teknik penyilangan yang digunakan
adalah metode Partially Mapped Crossover (PMX) yang telah
dimodifikasi khusus untuk kromosom yang terdiri dari beberapa sub-
kromosom. Berikut kromosom-kromosom yang terpilih P(0) dan akan
mengalami proses penyilangan :
Gambar 55. Populasi P(1) pada kasus 3 (bagian 1)
Gambar 56. Populasi P(1) pada kasus 3 (bagian 2)
Proses mutasi pertama kali terjadi pada generasi ke-1 atau populasi
P(1). Mutasi terjadi sebanyak satu kali pada populasi tersebut, yaitu pada
kromosom(9). Kromosom-kromosom tersebut mengalami mutation-
embedded within crossover atau mutasi yang terjadi setelah proses
penyilangan. Kromosom(9) mengalami mutasi pada sub-kromosom ke-3.
Berikut adalah populasi P(1) yang di dalamnya terdapat kromosom yang
mengalami mutasi :
Gambar 57. Populasi P(1) terjadi mutasi pada Kasus 3
h. Hasil Running Program GA_JobShop
Hasil running program GA_JobShop untuk Kasus 3 diilustrasikan
dalam dua buah grafik. Grafik yang pertama yaitu terdapat pada Gambar
58, menunjukkan nilai makespan maksimum (Max), makespan rata-rata
(Avg), dan makespan minimum (Min) dari generasi awal (generasi ke-0)
hingga generasi maksimum (generasi ke-100). Grafik berikutnya terdapat
pada Gambar 59, menunjukkan frekuensi terjadinya penyilangan dan
mutasi sepanjang 100 generasi.
Gambar 58. Grafik nilai makespan maksimum, makespan rata-rata, danmakespan minimum (satuan waktu dalam menit) untuk 100generasi pada Kasus 3 (Pc=0,9 ; Pm=0,05 ; BilanganAcak=0,5 ; PopSize=20, MaxGen=100)
Nilai makespan maksimum tertinggi terjadi pada generasi awal
yaitu pada saat inisialisasi populasi awal sebesar 5444 menit, setelah itu
terjadi penurunan nilai makespan rata-rata yang berkelanjutan hingga
konvergen di nilai minimum sebesar 3589 menit pada generasi ke-33.
Nilai minimum tersebut muncul pertama kali pada generasi ke-28.
Pencapaian nilai optimum tersebut dikarenakan oleh proses mutasi yang
terjadi sehingga menghasilkan kromosom baru yang lebih optimum
nilainya.
Grafik di atas (Gambar 58) menunjukkan bahwa setelah terjadi
konvergensi nilai makespan yang minimum (berawal di generasi ke-40),
beberapa generasi berikutnya mengalami peningkatan nilai makespan
akibat mutan-mutan yang bermunculan. Peningkatan nilai makespan
tersebut terjadi pada generasi ke-50, generasi ke-51, generasi ke-55,
generasi ke-57, generasi ke-69, generasi ke-75, dan generasi ke-91.
Sepanjang 100 generasi pada Kasus 3 telah terjadi proses
penyilangan sebanyak 909 kali dan proses mutasi sebanyak 120 kali.
Proses keduanya dapat dilihat pada grafik berikut (Gambar 59) :
Gambar 59. Grafik frekuensi penyilangan dan mutasi untuk 100 generasipada Kasus 3 (Pc=0,9 ; Pm=0,05 ; Bilangan Acak=0,5 ;PopSize=20, MaxGen=100)
Frekuensi tertinggi untuk penyilangan pada tiap-tiap generasi
adalah sebanyak 10 kali dan frekuensi terendah sebanyak 7 kali. Mutasi
dengan frekuensi tertinggi yaitu sebanyak 5 kali dan frekuensi terendah
yaitu sebanyak 0 kali (tidak dilakukan).
Jumlah kromosom yang mengalami proses mutasi pada Kasus 3 ini
dipengaruhi oleh peluang mutasi (Pm) yang digunakan yaitu sebesar 0,05,
artinya 5% dari tiap-tiap populasi akan mengalami proses mutasi. Pada
proses pencarian, mutasi sangat berguna dalam pencarian nilai yang lebih
optimum. Namun, tidak selamanya demikian karena mutasi juga dapat
menurunkan nilai makespan rata-rata pada sebuah populasi.
Nilai makespan terbaik (paling optimum) yang diperoleh dari 100
generasi adalah 3589 menit, dengan struktur kromosomnya adalah
[25134] [41532] [43521] [42153] [14352] [45123] [42513] [42135]
[53142] [35241] [54132] [41523]. Berikut adalah gambar penjadwalan
yang optimum hasil penerjemahan kromosom tersebut :
0
1
2
3
4
5
6
7
8
9
10
11
0 10 20 30 40 50 60 70 80 90 100
Penyilangan MutasiGenerasi
i. Efisiensi Algoritma Genetika
Pada Kasus 3, yaitu 5 job dan 12 mesin memiliki total search
space atau jumlah calon solusi dalam ruang pencarian (Nt) sebanyak :
Nt = (5!)12 = 8,92 × 1024 calon solusi
Solusi optimum penjadwalan job shop untuk Kasus 3 telah
konvergen pada generasi ke-33, tidak ada lagi nilai yang lebih kecil dari
nilai tersebut. Jumlah calon solusi yang telah dievaluasi oleh algoritma
genetika hingga konvergen (Ns) adalah sebagai berikut :
Ns = (33 generasi) x (20 calon solusi / generasi) = 660 calon solusi
Persentase pencarian calon solusi yang dilakukan algoritma
genetika dalam ruang pencarian (Ps) adalah :
Ps = (Ns / Nt) x 100 %
= (660 / 8,92 × 1024) x 100 %
Persentase tersebut akan menghasilkan nilai yang teramat kecil.
Semakin kecil persentase yang dihasilkan maka pencarian nilai optimum
akan semakin efisien. Hal tersebut membuktikan bahwa semakin besar
nilai ruang pencarian (search space) maka efisiensi algoritma genetika
akan semakin meningkat. Pencarian solusi optimum dengan algoritma
genetika pada Kasus 3 terbukti sangat efisien.
V. KESIMPULAN DAN SARAN
D. KESIMPULAN
Penjadwalan tipe job shop berskala besar memiliki tingkat kerumitan
yang tinggi karena memperhatikan urutan proses dan kombinasi penjadwalan
yang sangat banyak. Algoritma genetika, yaitu suatu pencarian acak yang
meniru proses alam (evolusi biologi) mampu untuk memecahkan masalah
penjadwalan tipe job shop berskala besar. Permasalahan dalam penjadwalan
tipe job shop adalah mencari kombinasi urutan job yang tepat sehingga
didapatkan nilai makespan yang paling minimum.
Implementasi dari penelitian ini adalah perancangan program
GA_JobShop (Genetic Algorithms for Job Shop Scheduling) yang dibuat
menggunakan bahasa pemrograman Borland Delphi 7.0. Representasi
kromosom menggunakan preference list based representation, proses
penyilangan menggunakan Partially Mapped Crossover (PMX) yang telah
dimodifikasi, proses mutasi menggunakan reciprocal exchange mutation yang
telah dimodifikasi, dan seleksi menggunakan tournament selection.
Hasil penilitian menunjukkan bahwa program GA_JobShop sangat
efisien dalam penyelesaian masalah penjadwalan tipe job shop berskala kecil
maupun besar. Pada Kasus 2, solusi optimum dapat tercapai pada generasi ke-
3 dengan nilai makespan 11. Algoritma genetika hanya mengeksplorasi
sebesar 27,78 % ruang pencarian (search space) untuk mendapatkan nilai
yang minimum pada Kasus 2. Semakin besarnya ruang pencarian (search
space) maka penggunaan algoritma genetika akan semakin efisien, terlihat
pada Kasus 3. Kasus 3 (5 job – 12 mesin) memiliki nilai makespan sebesar
3589 dalam satuan waktu menit dan struktur kromosom terbaiknya adalah
[25134] [41532] [43521] [42153] [14352] [45123] [42513] [42135] [53142]
[35241] [54132] [41523]. Hasil kromosom tersebut kemudian diterjemahkan
ke dalam gambar dengan metode preference list based representation.
Terbukti pada Kasus 3 (skala besar) bahwa algoritma genetika mampu
menemukan solusi optimum dengan sangat efisien.
E. SARAN
Beberapa saran yang diperlukan untuk penelitian lebih lanjut tentang
aplikasi algoritma genetika untuk masalah penjadwalan tipe job shop adalah
sebagai berikut :
1. Pengembangan program untuk dapat langsung menerjemahkan kromosom
terbaik ke dalam bentuk diagram penjadwalan.
2. Pengembangan program untuk dapat memproses suatu job yang dapat
mengunjungi mesin yang sama lebih dari satu kali.
3. Penerapan algoritma genetika pada industri peralatan pengolahan hasil
pertanian sehingga terjadi efisiensi produksi.
DAFTAR PUSTAKA
Andria, Yuvi. 2007. Optimasi Model Rantai Pasokan Agroindustri Cocodieseldengan Menggunakan Algoritma Genetika. Skripsi. Fakultas TeknologiPertanian. Institut Pertanian Bogor, Bogor.
Arkeman, Yandra. 1999. Optimization of AGV-Based Flexible ManufacturingSystems Design Using Genetic Algorithms and Expert Systems. PhDThesis. Division of Information Technology, Engineering and TheEnvironment. School of Engineering, Manufacturing and MechanicalEngineering, University of South Australia.
Aryawan, Putu Teguh. 2003. Penerapan Algoritma Tabu Search dalamPermasalahan Penjadwalan Job Shop. Skripsi. Fakultas Teknik.Universitas Indonesia, Depok.
Baker. 1974. Introduction to Sequencing and Scheduling. John Willey & Sons,New York.
Bagchi, Tapan P. 1999. Multiobjective Scheduling by Genetic Algorithms. KluwerAcademic Publisher, London.
Chen, K.C. Ian H, dan Cao A. W., 2003. A Genetic Algorithm for MinimumTetrahedralization of a Convex Polyhedron. CCCG 2003, Halifax, NovaScotia. http://flame.cs.dal.ca:80/~cccg/papers/29/pdf. 20 Maret 2007
Freeman, L. Michael dan Charles L. Karr. 1999. Industrial Aplications of GeneticAlgorithms. CRC Press, Washington D.C.
Gen, M. dan R. Cheng. 1997. Genetic Algorithm and Engineering Design. JohnWile & Sons, Inc.
Goldberg. D.E. 1989. Genetic Algorithm in Search, Optimiztion, and MachineLearning. Addison-Weasley Publishing Company, Inc.
Gunawan, H. 2003. Aplikasi Algoritma Genetik Untuk Optimasi MasalahPenjadwalan Flow-Shop. Skripsi. Fakultas Teknologi Pertanian. InstitutPertanian Bogor, Bogor.
Holland, J. H. 1975. Adaptation in Natural and Artificial Systems. University ofMichigan Press, Ann Arbor.
Hoover, S.V. dan R.F. Perry. 1989. Simulation : A Problem Solving Approach.Addison-Wesley, Reading, MA.
Hopgood, A. A. 2001. Intellegent System for Engineers and Scientist SecondEdition. CRC Press, Washington D.C.
Kusuma , H. 2001. Perencanaan dan Pengendalian Produksi. ANDI, Yogyakarta.
Maarif, M. S., Machfud dan M. Sukron. 1989. Teknik Optimasi Rekayasa ProsesPangan.Bogor : PAU-Pangan dan Gizi IPB, Bogor.
Nahmias, Steven. 1997. Production and Operation Analysis. Mcgraw-Hill, NewYork.
Riswan, 1993. Rancangan Program Komputer untuk Penjadwalan Job Shopdalam Perencanaan Paket Pesanan di PT DC dengan Metode PriorityDispatching. Skripsi. Fakultas Teknik. Universitas Indonesia, Depok.
Syarif, A. dan Mitsuo G. 2003. Hybridized Parallel Genetic Algorithm forFacility Location Problem. Makalah Penelitian IlmuKomputer.comhttp://www.IlmuKomputer.com. 20 Maret 2007
Taylor, B.W. 2002. Introduction of Management Science 7th edition. PrenticeHall International, Inc.
Lampiran 1. Terjemahan seluruh kromosom dari total search space pada
Kasus 1 (validasi program GA_JobShop)
1 2 3 1 2 3o x o x o x m2 j2 j1 j3
x o x o x o m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
1 2 3 1 3 2o x o x x o m2 j2 j1 j3
x o x o o x m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
1 2 3 2 1 3o x o o x x m2 j2 j1 j3
x o x x o o m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
1 2 3 2 3 1o x o o x x m2 j2 j3 j1
x o x x o o m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
1 2 3 3 1 2o x o x x o m2 j2 j3 j1
x o x o o x m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
1 2 3 3 2 1o x o x o x m2 j2 j3 j1
x o x o x o m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
1 3 2 1 2 3o o x x o x m2 j2 j1 j3
x x o o x o m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
1 3 2 1 3 2o o x x x o m2 j2 j1 j3
x x o o o x m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
1 3 2 2 1 3o o x o x x m2 j2 j1 j3
x x o x o o m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
1 3 2 2 3 1o o x o x x m2 j2 j3 j1
x x o x o o m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
1 3 2 3 1 2o o x x x o m2 j2 j3 j1
x x o o o x m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
1 3 2 3 2 1o o x x o x m2 j2 j3 j1
x x o o x o m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
2 1 3 1 2 3x o o x o x m2 j2 j1 j3
o x x o x o m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
2 1 3 1 3 2x o o x x o m2 j2 j1 j3
o x x o o x m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
2 1 3 2 1 3
x o o o x x m2 j2 j1 j3
o x x x o o m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
2 1 3 2 3 1x o o o x x m2 j2 j3 j1
o x x x o o m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
2 1 3 3 1 2x o o x x o m2 j2 j3 j1
o x x o o x m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
2 1 3 3 2 1x o o x o x m2 j2 j3 j1
o x x o x o m1 j1 j3 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
2 3 1 1 2 3x o o x o x m2 j2 j1 j3
o x x o x o m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
2 3 1 1 3 2x o o x x o m2 j2 j1 j3
o x x o o x m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
2 3 1 2 1 3
x o o o x x m2 j2 j1 j3
o x x x o o m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
2 3 1 2 3 1x o o o x x m2 j2 j3 j1
o x x x o o m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
2 3 1 3 1 2x o o x x o m2 j2 j3 j1
o x x o o x m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
2 3 1 3 2 1x o o x o x m2 j2 j3 j1
o x x o x o m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
3 1 2 1 2 3o o x x o x m2 j2 j1 j3
x x o o x o m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
3 1 2 1 3 2o o x x x o m2 j2 j1 j3
x x o o o x m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
3 1 2 2 1 3o o x o x x m2 j2 j1 j3
x x o x o o m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
3 1 2 2 3 1o o x o x x m2 j2 j3 j1
x x o x o o m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
3 1 2 3 1 2
o o x x x o m2 j2 j3 j1
x x o o o x m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
3 1 2 3 2 1o o x x o x m2 j2 j3 j1
x x o o x o m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
3 2 1 1 2 3o x o x o x m2 j2 j1 j3
x o x o x o m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
3 2 1 1 3 2o x o x x o m2 j2 j1 j3
x o x o o x m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
3 2 1 2 1 3o x o o x x m2 j2 j1 j3
x o x x o o m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
3 2 1 2 3 1o x o o x x m2 j2 j3 j1
x o x x o o m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
3 2 1 3 1 2o x o x x o m2 j2 j3 j1
x o x o o x m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14
3 2 1 3 2 1o x o x o x m2 j2 j3 j1
x o x o x o m1 j3 j1 j21 2 3 4 5 6 7 8 9 10 11 12 13 14