F07abs

108
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

description

abs

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

Gambar 60. Penjadwalan yang optimum pada Kasus 3 (hasil penerjemahan kromosom terbaik)

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