OPTIMASI MASALAH PENJADWALANJOB-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
Ayip Bayu Satrio. F34103096. Optimasi Masalah Penjadwalan Job-Shop untuk Industri Peralatan Pengolahan Hasil Pertanian dengan Menggunakan Algoritma Genetika. Di bawah bimbingan Yandra Arkeman dan Hendra Gunawan. 2007.
RINGKASAN
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.
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) darin job padam 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.
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).
Penelitian ini bertujuan untuk mengaplikasikan algoritma genetika dalam bidang penjadwalan produksi tipe job shop berskala besar. Implementasi dari penelitian ini adalah perancangan programGA_JobShop (Genetic Algorithms for Job Shop Scheduling) yang dibuat menggunakan bahasa pemrogramanBorland Delphi 7.0. Representasi kromosom menggunakan preference list based representation, proses penyilangan menggunakan Partially Mapped Crossover
(PMX) yang telah dimodifikasi, proses mutasi menggunakanreciprocal exchange mutationyang telah dimodifikasi, dan seleksi menggunakantournament selection. Kasus ke-1 merupakan numerical example, yaitu data yang digunakan sebagai verifikasi dan validasi programGA_JobShop. Data kasus 1 dibuat dengan mengikuti aturan permasalahan pada sebuah penjadwalan tipejob 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.
Penjadwalan tipe job shop memiliki ruang pencarian (search space) sebesar (n!)m, dengan n adalah jumlahjobdan m adalah jumlah mesin. Kasus 1 (3
– 3 mesin) memiliki ruang pencarian sebesar 216 calon solusi. Kasus 3 (5job– 12 mesin) memiliki ruang pencarian sebesar 8,92×1024 calon solusi.
Hasil penilitian menunjukkan bahwa programGA_JobShopsangat efisien dalam penyelesaian masalah penjadwalan tipe job shop berskala kecil maupun besar. ProgramGA_JobShoptelah terbukti valid, hal ini dibuktikan pada Kasus 1. Nilai makespanoptimum pada Kasus 1 yang didapatkan dengan cara enumeratif (menghitung semua alternatif penjadwalan yang dapat terjadi) sama dengan nilai
Ayip Bayu Satrio. F34103096. The Optimization of Job Shop Scheduling Problems for Manufacture Industry of Agriculture Product Processing Machinery with Using Genetic Algorithms. Supervised by Yandra Arkeman and Hendra Gunawan. 2007.
SUMMARY
Scheduling of production in industrial world, like in manufacture industry or agroindustry has an important role in making decision. The company is trying to have effective and efficient scheduling which can increase the productivity with small amount of cost and time.
One of the problem in scheduling production is founding problem in deciding which is the right technique to make better, optimal, fulfill all the criteria in making production schedule. Techniques in arranging the production schedule that already exist (conventional techniques) cannot be used because they have a lot of weaknesses in handling large scale and complex problems.
The problem of job shop scheduling with function to minimize the total of time process which can be translated to process every job fromnjobs tommachines with certain sequence. Every job has its own sequence of operation. Every machine can handle no more than one job in a time and every job visit the machine only in one time.
In this research will find the solution to solve the problem of job shop scheduling using Genetic Algorithms method. The basic principal is based on analogy of biological evolution, which contains initialization population process, selection process, crossover process, and mutation process. The benefits of genetic algorithms are the simple structure, easy to implement, and very quick in accomplishing the optimum solution (effective and efficient).
The goal of this research is to applying genetic algorithms for large scale job shop scheduling of production. The implementation of this research is to design
GA_JobShop (Genetic Algorithms for Job Shop Scheduling) program which is using Borland Delphi 7.0. The chromosome representation are usingpreference list based representation, crossover process are usingpartially mapped crossover(PMX) which is been modified, the mutation process are usingreciprocal exchange mutation
which is been modified, and the selection process are usingtournament selection. The first case is numerical example that is the data which is being used as verification and validation of GA_JobShop program. The data of the first case is made by following job scheduling rules. The second case refer to the problem which is contain in the book of Genetic Algorithms and Engineering Design (Gen dan Cheng, 1997). The third case is a real case in manufacture industry of agriculture product processing machinery of CV Mitra Niaga Indonesia, Bogor.
The job shop scheduling has a search space for about (n!)m, n as the amount of jobs and m as the amount of machines. Case 1 (3 jobs – 2 machines) has a search space for about 36 candidates of solutions. Case 2 (3 jobs – 3 machines) has a search space for about 216 candidates of solutions. Case 3 (5 jobs – 12 machines) has a search space for about 8,92×1024 candidates of solutions.
This research shows that the GA_JobShop program is very efficient in solving problem of job shop scheduling even in large scale or small scale.
FAKULTAS TEKNOLOGI PERTANIAN INSTITUT PERTANIAN BOGOR
OPTIMASI MASALAH PENJADWALANJOB-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
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.
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 dalamtranslate 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
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
DAFTAR ISI
1. Prosedur Umum Algoritma Genetika ... 10
2. Representasi Kromosom ... 12
3. Operator-operator Algoritma Genetika ... 14
a. Seleksi dan Reproduksi ... 15
7. Perbandingan Algoritma Genetika dengan Teknik Optimasi Konvensional ... 22
E. PENELITIAN TERDAHULU ... 24
III. METODOLOGI PENELITIAN ... 26
OPTIMASI MASALAH PENJADWALANJOB-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
Ayip Bayu Satrio. F34103096. Optimasi Masalah Penjadwalan Job-Shop untuk Industri Peralatan Pengolahan Hasil Pertanian dengan Menggunakan Algoritma Genetika. Di bawah bimbingan Yandra Arkeman dan Hendra Gunawan. 2007.
RINGKASAN
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.
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) darin job padam 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.
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).
Penelitian ini bertujuan untuk mengaplikasikan algoritma genetika dalam bidang penjadwalan produksi tipe job shop berskala besar. Implementasi dari penelitian ini adalah perancangan programGA_JobShop (Genetic Algorithms for Job Shop Scheduling) yang dibuat menggunakan bahasa pemrogramanBorland Delphi 7.0. Representasi kromosom menggunakan preference list based representation, proses penyilangan menggunakan Partially Mapped Crossover
(PMX) yang telah dimodifikasi, proses mutasi menggunakanreciprocal exchange mutationyang telah dimodifikasi, dan seleksi menggunakantournament selection. Kasus ke-1 merupakan numerical example, yaitu data yang digunakan sebagai verifikasi dan validasi programGA_JobShop. Data kasus 1 dibuat dengan mengikuti aturan permasalahan pada sebuah penjadwalan tipejob 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.
Penjadwalan tipe job shop memiliki ruang pencarian (search space) sebesar (n!)m, dengan n adalah jumlahjobdan m adalah jumlah mesin. Kasus 1 (3
– 3 mesin) memiliki ruang pencarian sebesar 216 calon solusi. Kasus 3 (5job– 12 mesin) memiliki ruang pencarian sebesar 8,92×1024 calon solusi.
Hasil penilitian menunjukkan bahwa programGA_JobShopsangat efisien dalam penyelesaian masalah penjadwalan tipe job shop berskala kecil maupun besar. ProgramGA_JobShoptelah terbukti valid, hal ini dibuktikan pada Kasus 1. Nilai makespanoptimum pada Kasus 1 yang didapatkan dengan cara enumeratif (menghitung semua alternatif penjadwalan yang dapat terjadi) sama dengan nilai
Ayip Bayu Satrio. F34103096. The Optimization of Job Shop Scheduling Problems for Manufacture Industry of Agriculture Product Processing Machinery with Using Genetic Algorithms. Supervised by Yandra Arkeman and Hendra Gunawan. 2007.
SUMMARY
Scheduling of production in industrial world, like in manufacture industry or agroindustry has an important role in making decision. The company is trying to have effective and efficient scheduling which can increase the productivity with small amount of cost and time.
One of the problem in scheduling production is founding problem in deciding which is the right technique to make better, optimal, fulfill all the criteria in making production schedule. Techniques in arranging the production schedule that already exist (conventional techniques) cannot be used because they have a lot of weaknesses in handling large scale and complex problems.
The problem of job shop scheduling with function to minimize the total of time process which can be translated to process every job fromnjobs tommachines with certain sequence. Every job has its own sequence of operation. Every machine can handle no more than one job in a time and every job visit the machine only in one time.
In this research will find the solution to solve the problem of job shop scheduling using Genetic Algorithms method. The basic principal is based on analogy of biological evolution, which contains initialization population process, selection process, crossover process, and mutation process. The benefits of genetic algorithms are the simple structure, easy to implement, and very quick in accomplishing the optimum solution (effective and efficient).
The goal of this research is to applying genetic algorithms for large scale job shop scheduling of production. The implementation of this research is to design
GA_JobShop (Genetic Algorithms for Job Shop Scheduling) program which is using Borland Delphi 7.0. The chromosome representation are usingpreference list based representation, crossover process are usingpartially mapped crossover(PMX) which is been modified, the mutation process are usingreciprocal exchange mutation
which is been modified, and the selection process are usingtournament selection. The first case is numerical example that is the data which is being used as verification and validation of GA_JobShop program. The data of the first case is made by following job scheduling rules. The second case refer to the problem which is contain in the book of Genetic Algorithms and Engineering Design (Gen dan Cheng, 1997). The third case is a real case in manufacture industry of agriculture product processing machinery of CV Mitra Niaga Indonesia, Bogor.
The job shop scheduling has a search space for about (n!)m, n as the amount of jobs and m as the amount of machines. Case 1 (3 jobs – 2 machines) has a search space for about 36 candidates of solutions. Case 2 (3 jobs – 3 machines) has a search space for about 216 candidates of solutions. Case 3 (5 jobs – 12 machines) has a search space for about 8,92×1024 candidates of solutions.
This research shows that the GA_JobShop program is very efficient in solving problem of job shop scheduling even in large scale or small scale.
FAKULTAS TEKNOLOGI PERTANIAN INSTITUT PERTANIAN BOGOR
OPTIMASI MASALAH PENJADWALANJOB-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
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.
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 dalamtranslate 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
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
DAFTAR ISI
1. Prosedur Umum Algoritma Genetika ... 10
2. Representasi Kromosom ... 12
3. Operator-operator Algoritma Genetika ... 14
a. Seleksi dan Reproduksi ... 15
7. Perbandingan Algoritma Genetika dengan Teknik Optimasi Konvensional ... 22
E. PENELITIAN TERDAHULU ... 24
III. METODOLOGI PENELITIAN ... 26
B. PENDEKATAN METODE ILMIAH ... 27
F. IMPLEMENTASI PROGRAM (GA_JobShop) ... 33
G. STUDI KASUS ... 37
1. Kasus 1 : PenjadwalanJob ShopKasus 3job– 2 mesin ... 37
a. Tampilan ProgramGA_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. HasilRunningProgramGA_JobShop ... 54
2. Kasus 2 : PenjadwalanJob ShopKasus 3job– 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. HasilRunningProgramGA_JobShop ... 64
g. Efisiensi Algoritma Genetika ... 68
3. Kasus 3 : PenjadwalanJob ShopKasus 5job– 12 mesin ... 69
a. Definisi masing-masingjob ... 72
b. Fungsi masing-masing mesin ... 72
c. Input Program ... 73
d. Parameter-parameter Algoritma Genetika ... 75
e. Inisialisasi Populasi Awal ... 75
g. Penyilangan dan Mutasi ... 77
h. HasilRunningProgramGA_JobShop ... 78
i. Efisiensi Algoritma Genetika ... 82
V. KESIMPULAN DAN SARAN ... 83 A. KESIMPULAN ... 83
B. SARAN ... 84
DAFTAR PUSTAKA ... 85
DAFTAR TABEL
Halaman
Tabel 1. Waktu proses, urutan mesin, dan urutan proses pada Kasus 1
(3job – 2 mesin) ... 37
Tabel 2. Waktu proses, urutan mesin, dan urutan proses pada Kasus 2
(3job – 3 mesin) (Gen dan Cheng, 1997) ... 57
Tabel 3. Waktu proses (satuan waktu menit), urutan mesin, dan urutan
proses pada Kasus 3 (5job– 12 mesin) ... 69
Tabel 4. Daftar nama-namajobpada Kasus 3 ... 70
Tabel 5. Daftar nama-nama mesin pada Kasus 3 ... 70
Tabel 6. Input waktu proses dan urutan proses masing-masingjobpada
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 jenispermutation ... 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. Ilustrasiinversion mutation(mutasi inversi) (Gen dan Cheng,
1997) ... 21
Gambar 7. Ilustrasiinsertion mutation(mutasi penyisipan) (Gen dan Cheng,
1997) ... 21
Gambar 8. Ilustrasidisplacement mutation(mutasi pemindahan) (Gen dan
Cheng, 1997) ... 21
Gambar 9. Ilustrasireciprocal 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 tipejob shop ... 28
Gambar 12. Representasi kromosom denganpreference-list-based
representation... 30
Gambar 13. Struktur program utamaGA_JobShop ... 34
Gambar 14. Ilustrasi alur proses pada Kasus 1 (3job– 2 mesin) ... 39
Gambar 15. Representasi kromosom penjadwalan tipejob shopkasus
3job– 2 mesin ... 39
Gambar 16. Cek nilai gen yang pertama pada mesin 1 dan 2 untuk urutan
proses ke-1 ... 40
Gambar 17. Penempatanjob1 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 20. Cek nilai gen yang ketiga pada mesin 1 dan 2 untuk urutan
proses ke-1 ... 41
Gambar 21. Penempatanjob3 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. Penempatanjob1 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. Penempatanjob2 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. Penempatanjob3 urutan proses ke-2 pada mesin 2 ... 43
Gambar 28. Tampilan programGA_JobShop ... 44
Gambar 29. Input nilai-nilai utama pada programGA_JobShop (Kasus 1) ... 45
Gambar 30. Input nilai-nilai parameter pada programGA_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 nilaimakespanmaksimum,makespanrata-rata, dan
makespanminimum 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(3job– 3 mesin) ... 58
Gambar 42. Input nilai-nilai parameter pada programGA_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 nilaimakespanmaksimum,makespanrata-rata, dan
makespanminimum 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 programGA_JobShop (Kasus 3) ... 73
Gambar 53. Input nilai-nilai parameter pada programGA_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 nilaimakespanmaksimum,makespanrata-rata, dan
makespanminimum (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
DAFTAR LAMPIRAN
Halaman
Lampiran 1. Listingprogram utamaGA_JobShop ... 87
Lampiran 2. Terjemahan seluruh kromosom dari totalsearch space pada
Kasus 1 (validasi programGA_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 hasilrunningprogramGA_JobShop untuk
Kasus 1 ... 95
Lampiran 6. Laporan detail hasilrunningprogramGA_JobShop untuk
Kasus 1 ... 96
Lampiran 7. Laporan awal hasilrunningprogramGA_JobShop untuk
Kasus 2 ... 108
Lampiran 8. Laporan detail hasilrunningprogramGA_JobShop untuk
Kasus 2 ... 109
Lampiran 9. Laporan awal hasilrunningprogramGA_JobShop untuk
Kasus 3 ... 125
Lampiran 10. Laporan detail hasilrunningprogramGA_JobShop untuk
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
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
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 penjadwalanjob 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
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 :
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. ModelSingle-Machine
Model ini hanya berisi sejumlah m mesin yang sejenis, yang
harus memproses sejumlahjob 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 bentuksingle-machine.
b. ModelParalle-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. Setiapjob 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. ModelFlow Shop
Suatu proses manufaktur seringkali harus melewati banyak
operasi yang membutuhkan jenis mesin yang berbeda pada tiap
operasinya. Jika rute yang harus dilewati untuk setiapjob adalah sama,
maka bentuk konfigurasi ini disebut juga model flow shop.
Mesin-mesin pada model ini disusun secara seri dan pada saat sebuah job
mesin tersebut untuk kemudian mengisi antrian pada mesin berikutnya
untuk diproses.
d. ModelJob Shop
Dalam suatu proses manufaktur yang memerlukan banyak
operasi, seringkali rute yang harus dilalui setiap job adalah tidak sama.
Model seperti ini disebut juga modeljob 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 jugajob shop denganrecirculation(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
kedatanganjob, waktusetup,dan waktu proses.
b. Penjadwalan stokastik
Informasi yang diperoleh tidak pasti, tetapi memiliki
kecenderungan yang jelas atau menyangkut adanya distribusi
B. PENJADWALAN TIPEJOB 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 setiapjob 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).
Penjadwalanjob 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
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
overlapantar 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. Jadwalnon-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)
danconstrained job shop (dengan kendala). Pada tipeunconstrained 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
x*
0
x
-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 Learningsetelah 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,
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
nilaifitness-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 nilaifitness 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
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 nilaifitness dari masing-masing populasi
4. Memilih individu-individu untuk bereproduksi pada generasi
berikutnya dengan melihat nilaifitness-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 fungsifitness
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
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).
M enghasilkan generasi baru
M ulai
Seleksi individu Terjadi proses mut asi
dengan peluangPm
Ter jadi proses penyilangan dengan peluangPc
Evaluasi nilaifitness masing-masing individu Inisialisasi populasi secara
acak
Berhent i Krit eria penghent ian
t erpenuhi ?
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 daninteger 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 jenispermutation
Setiap penerjemahan algoritma genetika di dalam masalahjob-shop
akan digunakan sebagai alat untuk mencari solusi yang sesuai untuk
masalah operasi genetikajob-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
adalahpreference-list-based representation (Gen dan Cheng, 1997).
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 masalahjob shop dengan pekerjaan sebanyakn
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 menghasilkanprogenies (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
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
Gambar 4. Ilustrasi proses seleksi kromosom induk (Magnin di dalam Gunawan, 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 nilaifitness
(Hopgood, 2001).
b. Penyilangan
Penyilangan atau crossover juga dikenal sebagai rekombinasi.
Operasi penyilangan akan mengalami pertukaran informasi di antara
string-string yang ada di dalammating pool untuk menciptakan
string-string sebagai solusi. Representasi string-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
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
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 dinamakanmapping 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
buahmapping section.
Langkah 4 :
Legalkanoffspring(kromosom anak) hasilmapping relationship.
Contoh ilustrasi pengaplikasian prosedur PMX terdapat pada Gambar
Langkah 1 :
Pilihmapping section secara acak pada dua buah kromosom induk.
Langkah 2 :
Pertukarkanmapping section antara dua kromosom induk sehingga
menghasilkan dua kromosom anak.
Langkah 3 :
Tentukanmapping relationshipantara dua buahmapping section.
Langkah 4 :
Legalkanoffspring(kromosom anak) hasilmapping relationship.
Gambar 5.Ilustrasi prosedur PMX (Gen dan Cheng, 1997) 4
9
2 5
3
1 6
Parent1 1 2 3 4 5 6 7 8 9
Parent2 5 4 6 9 2 1 7 8 3
Offspring2 5 4 3 4 5 6 7 8 3
Offspring1 1 2 6 9 2 1 7 8 9
3 4 5 6
6 9 2 1
Offspring2 2 9 3 4 5 6 7 8 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 (nilaifitnessyang 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).
NilaiPmyang 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 denganPm (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
Gambar 6. Ilustrasiinversion mutation(mutasi inversi) (Gen dan Cheng, 1997)
Gambar 7. Ilustrasiinsertion mutation(mutasi penyisipan) (Gen dan Cheng, 1997)
Gambar 8. Ilustrasidisplacement mutation(mutasi pemindahan) (Gen dan Cheng, 1997)
Gambar 9. Ilustrasireciprocal exchange mutation(mutasi penukaran balik) (Gen dan Cheng, 1997)
4. FungsiFitness
Fungsi fitness merupakan alat ukur yang digunakan untuk
mengevaluasi kromosom-kromosom pada setiap generasi. Kualitas sebuah
kromosom di dalam suatu populasi ditunjukkan oleh besarnya nilaifitness.
Penghitungan nilaifitnessberdasarkan 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 9
1 2 3 4 5 6
7 8 9
1 2 6 5 4 3
Kromosom 1 2 3 4 5 6 7 8 9
Kromosom ($) 1 2 6 3 4 5 7 8 9
Kromosom 1 2 3 4 5 6 7 8 9
Kromosom ($) 1 2 3 7 8 4 5 6 9
Kromosom 1 2 3 4 5 6 7 8 9
besar nilaifitness, 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