Prosiding Seminar Nasional Manajemen Teknologi II Program Studi MMT-ITS, Surabaya 30 Juli 2005
PENGEMBANGAN PENJADUALAN JOB SHOP INSERTED IDLE TIME DENGAN SCHEDULLING GRAPH UNTUK MEMINIMASI BIAYA TARDINESS & EARLINESS Dian Retno S.D, Anastasia Lidya Maukar Staf Pengajar Jurusan Teknik Industri, Universitas Katolik Widya Mandala Surabaya Email :
[email protected],
[email protected]
ABSTRAK Penentuan jadwal produksi merupakan salah satu aktivitas pada proses perencanaan dan pengendalian produksi. Masalah penjadualan produksi muncul ketika sekumpulan pekerjaan harus ditetapkan urutan proses serta pengalokasiannya pada mesin-mesin yang biasanya dalam jumlah terbatas. Wu dan Li,dkk (1995) dalam penelitiannya mengusulkan metoda rescheduling yang memiliki skema dasar yang didasarkan pada grafik penjadualan (Schedule Graph/ SC) sebagai alternatif representasi struktur dari jadwal peta Gantt. Dalam penelitian ini dikembangkan suatu penjadualan job shop untuk meminimasikan total biaya earliness dan tardiness menggunakan SC melalui pendekatan Non Delay Backward dan Inserted Idle Time. Kata kunci : Schedule Graph, Non Delay, Inserted Idle Time, Backward
PENDAHULUAN Latar Belakang
Penentuan jadwal produksi merupakan salah satu aktifitas pada proses perencanaan dan pengendalian produksi. Dalam penjadualan yang berbasis waktu dikenal keterlambatan positif (tardiness) dan keterlambatan negative (earliness). Bila dikaitkan dengan aturan penjadualan berbasis biaya maka keterlambatan positif menimbulkan biaya tardiness (biaya keterlambatan yang disebabkan suatu pekerjaan lebih dari batas waktu (due date) yang ditetapkan oleh konsumen) dan keterlambatan negative menimbulkan biaya earliness (biaya yang disebabkan suatu pekerjaan diselesaikan lebih cepat dari batas waktu (due date) yang telah ditentukan sehingga menimbulkan biaya persediaan/simpan). Sun dan Lin (1994), melakukan penelitian tentang penjadualan dengan menggunakan algoritma Non-delay melalui pendekatan backward, dan memberikan kerangka berpikir mengenai penyelesaian masalah job shop dengan pendekatan backward bahwa performansi penting dalam lingkungan job shop adalah performansi due date dan biaya persediaan, karena due date dipandang penting maka dipakai penjadualan backward. Wu dan Li (1995), melakukan penelitian dengan mengusulkan rescheduling yang didasarkan pada grafik penjadualan (schedulling graph) sebagai alternatif representasi struktur dari peta gantt (schedule gantt chart), dan sebagai suatu grafik yang menggambarkan hubungan antar berbagai job yang telah dijadwalkan. Sotskov et al (1999), melakukan penelitian tentang penjadualan job shop yang memiliki waktu setup dengan menggunakan teknik insersi (teknik penyisipan job baru pada posisi diantara job yang sudah terjadwal), karena dengan teknik insersi tidak perlu melakukan perubahan jadwal secara total, tetapi hanya pada jadwal job tertentu yang terpengaruh oleh penyisipan job baru. Penelitian ini mengembangkan algoritma non-delay backward melalui Schedulling graph (Wu dan Li, 1995) serta menyisipkan idle time di mana akan ditambahkan selang waktu diantara operasi untuk melakukan beberapa aktifitas (set up
ISBN : 979-99735-0-3
Prosiding Seminar Nasional Manajemen Teknologi II Program Studi MMT-ITS, Surabaya 30 Juli 2005
peralatan, set up mesin, dan lain - lain) untuk memimumkan total biaya tardiness dan biaya earliness. Batasan masalah dan Asumsi
Batasan permasalahan pada penelitian ini adalah sebagai berikut: 1. Penjadualan produksi job shop memakai maksimal 6 jumlah mesin dan 6 jumlah job. 2. Setiap job hanya melalui satu mesin atau satu kali proses. Sedangkan asumsi pada penelitian ini adalah sebagai berikut: 1. Waktu transportasi diabaikan. 2. Waktu set up mesin diabaikan. KAJIAN PUSTAKA Algoritma Non-delay Backward Ditinjau dari arah penjadualan, ada dua pendekatan dasar dalam penjadualan yaitu penjadualan maju dan penjadualan mundur. Penjadualan maju dilakukan searah dengan perubahan waktu. Kondisi awal pada penjadualan maju adalah saat tersedianya job (job available time), dengan hasil akhir waktu penyelesaian job. Penjadualan mundur adalah kebalikan dari penjadualan maju, yaitu penjadualan yang dilakukan berbalikan arah dengan perubahan waktu. Kondisi awal pada penjadualan mundur adalah job due date, dengan hasil akhir job release time. Penjadualan yang dilakukan oleh Sun dan Lin (1994) menggunakan pendekatan penjaualan backward karena penjadualan backward dinilai memiliki beberapa keunggulan dibandingkan dengan penjadualan maju, yaitu: 1. Memiliki kinerja pemenuhan due date yang lebih baik karena menggunakan due date sebagai kondisi awal 2. Job release time (saat terakhir pengerjaan job harus dimulai) dapat diketahui dari jadual yang dihasilkan 3. Menghasilkan total flow time lebih rendah daripada penjadualan maju Menurut Sun dan Lin (1994) performansi penting dalam lingkungan job shop adalah performansi due date dan biaya persediaan. Dengan mengakomodasikan kelebihan penjadualan backward seperti yang telah dipaparkan diatas oleh Sun dan Lin, maka algoritma penjadualan yang dikembangkan menggunakan pendekatan backward. Namun disamping banyaknya kelebihan yang dimiliki oleh pendekatan backward, pendekatan tersebut memiliki juga kelemahan, yaitu bila ternyata jadwal yang dihasilkan infeasible. Jadwal infeasible ini dikarenakan output penjadualan backward yaitu job release time berada diluar rentang horizon perencanaan penjadualan. Langkah - langkah Algoritma Backward: 1. Tahap inisiasi : identifikasi jumlah dan routing job. 2. Menentukan nilai awal mesin sesuai dengan due date job yang dikerjakan di mesin tertentu.
3. Menentukan St masing-masing job dimulai dari operasi yang paling akhir. 4. Cari R* dimana R* = max Cj єSt { Rj } dan m* dimana R* dilakukan. 5. Pilih dan tentukan operasi j єSt dimana operasi j dilakukan di m* a. Apakah operasi j >1 ? Pada saat pemilihan apakah operasi j yang berada dalam St dan dilakukan di m* dimana R* dilakukan lebih dari satu ? Jika tidak, lanjutkan ke langkah 6. b. Jika ya maka, lakukan pemilihan operasi j dengan menggunakan priority dispastching rules yang diinginkan kemudian lanjutkan ke langkah 6. 6. Masukkan operasi j yang sudah terpilih pada Pst+1. 7. Hilangkan operasi j yang telah dijadualkan pada St.
ISBN : 979-99735-0-3
A-34-2
Prosiding Seminar Nasional Manajemen Teknologi II Program Studi MMT-ITS, Surabaya 30 Juli 2005
8. Perbaharui available time untuk setiap mesin. 9. Apakah semua operasi untuk setiap job telah dijadwalkan? 9.1. Jika masih ada job yang belum terjadwalkan, kembali ke langkah 4. 9.2 Jika semua sudah dijadwalkan, maka proses penjadualan telah selesai. Keterangan : Pst :Jadwal parsial yang berisi operasi dari suatu job yang terjadwal. St :Kumpulan task yang siap dijadwalkan pada tahap t. Rj :Saat awal dimana operasi j є St dapat mulai dikerjakan. M :indeks mesin, m = 1,2,....o Cj :waktu saat selesai suatu operasi. J :indeks operasi,j = 1,2,....p
Algoritma Schedulling Graph (Grafik Penjadualan)
Grafik penjadualan adalah suatu grafik yang menggambarkan hubungan antar berbagai pekerjaan yang telah dijadwalkan. Grafik ini merupakan alternatif representasi struktur jadwal dari peta Gantt (Wu dan Li, 1995).
Gambar 1. Contoh gambar penjadualan Schedulling Graph
Dalam grafik penjadualan, sebuah operasi dari suatu pekerjaan digambarkan oleh sebuah node.Garis yang menghubungkan antara satu node dengan node yang lain menggambarkan hubungan ketergantungan antara operasi. Informasi dari operasi seperti nomor operasi, mesin yang digunakan, waktu mulai dan waktu selesai dituliskan dalam node. Node tersebut digambarkan seperti gambar 2. Mk
Keterangan : Oij : operasi ke-j dari pekerjaan-i Mk : mesin ke-k yang mengerjakan Oij S : waktu mulai Oij F : waktu selesai Oij POJ : operasi sebelum Oij dari pekerjaan yang sama POM : operasi sebelum Oij dari mesin yang sama SOJ : operasi sesudah Oij dari pekerjaan yang sama SOM : operasi sesudah Oij dari mesin yang sama
Gambar 2. Node
Node dengan satu parent arrow menunjukkan bahwa node adalah operasi pertama pada mesin yang memprosesnya tapi bukan operasi pertama dari pekerjaan (tidak ada pada gambar 2.2) atau node adalah operasi dari pekerjaan tapi bukan operasi pertama pada mesin yang memprosesnya (node O21 pada gambar 1). Node tidak memiliki son arrow jika node adalah operasi terakhir dari pekerjaan dan juga operasi
ISBN : 979-99735-0-3
A-34-3
Prosiding Seminar Nasional Manajemen Teknologi II Program Studi MMT-ITS, Surabaya 30 Juli 2005
terakhir pada mesin yang memprosesnya tapi bukan operasi terakhir dari pekerjaan (node O12 pada gambar 2.2) atau node adalah operasi terakhir dari pekerjaan tapi bukan operasi pada mesin yang memprosesnya (node O13 dan O33 pada gambar 1). Waktu mulai dari suatu operasi ditentukan oleh dua hal berikut : a. Hubungan routing. Suatu operasi dapat dijadwalkan (diproses) apabila operasi sebelumnya dari pekerjaan yang sama telah selesai diproses. b. Hubungan mesin. Suatu operasi dapat dijadwalkan pada suatu mesin, apabila operasi sebelumnya yang diproses oleh mesin tersebut telah selesai dikerjakan. Lintasan kritis dari suatu pekerjaan adalah lintasan yang berisi serangkaian operasi yang mempengaruhi waktu penyelesaian pekerjaan tersebut, sedangkan operasinya disebut operasi kritis. Penentuan lintasan operasi kritis untuk suatu pekerjaan dilakukan dengan metode backward (mundur), yaitu mulai dari waktu mulai operasi terakhir dari pekerjaan tersebut, kemudian lihat waktu selesai operasi sebelumnya, apabila keduanya sama, maka lintasan yang menghubungkan kedua operasi tersebut merupakan bagian lintasan kritis, begitu seterusnya mundur ke operasi sebelumnya hingga operasi yang mempengaruhi operasi pertama dari pekerjaan tersebut teridentifikasi. Kumpulan kintasan - lintasan yang terbentuk inilah yang merupakan lintasan operasi kritis yang bersangkutan. Sebagai contoh, pada gambar 1 di atas, lintasan kritisnya adalah O31 - O32 - O21 - O12 - O13 dan O41 - O32 - O21 - O12 - O13 (lihat garis ganda pada gambar 1). PENGEMBANGAN MODEL Pengembangan model yang dilakukan adalah algoritma non-delay backward. time inserted, yang memakai Schedulling graph dan Insert idle time. 1. Tahap inisiasi : identifikasi jumlah dan routing job. 2. Menentukan nilai awal mesin sesuai dengan due date job yang dikerjakan di mesin tertentu. 3. Menentukan St masing-masing job dimulai dari operasi yang paling akhir. 4. Cari R* dimana R* = max Cj є St { Rj } dan m* dimana R* dilakukan. 5. Pilih dan tentukan operasi j є St dimana operasi j dilakukan di m* a. Apakah operasi j >1 ? Pada saat pemilihan apakah operasi j yang berada dalam St dan dilakukan di m* dimana R* dilakukan lebih dari satu ? Jika tidak, lanjutkan ke langkah 6. b. Jika ya maka, lakukan pemilihan operasi j dengan menggunakan priority dispastching rules yang diinginkan kemudian lanjutkan ke langkah 6. 6. Masukkan operasi j yang sudah terpilih pada Pst+1. 7. Hilangkan operasi j yang telah dijadualkan pada St. 8. Perbaharui available time untuk setiap mesin. 9. Apakah semua operasi untuk setiap job telah dijadwalkan? a. Jika masih ada task yang belum terjadwalkan, kembali ke langkah 4. b. Jika semua sudah dijadwalkan, lanjutkan ke langkah 10. 10. Buat Schedulling graph, dari output Non-delay backward dengan langkah : a. Identifikasi jumlah operasi tiap mesin (untuk menggambarkan berapa node yang dibutuhkan), gambar node (lihat gambar 2.3) dan operasinya (Oij) untuk semua operasi pada tiap mesin. b. Masukkan start time (S), end time (F) dan waktu proses (t) tiap operasi ke dalam tiap - tiap node yang telah digambarkan pada langkah 10.a. c. Menggambarkan hubungan routing dan hubungan mesin antar node dengan parent arrow dan son arrow. Dan juga menggambarkan hubungan node yang termasuk lintasan kritis.
ISBN : 979-99735-0-3
A-34-4
Prosiding Seminar Nasional Manajemen Teknologi II Program Studi MMT-ITS, Surabaya 30 Juli 2005
d. Lanjutkan ke langkah 11 11. Cek apakah ada job yang infeasible a. Jika ya, maka job yang infeasible yang dijadwalkan pada t < 0 tersebut dimajukan hingga t = 0, dimana operasi yang dijadwalkan t < 0 dimajukannya hingga t = 0 akan mempengaruhi operasi yang selanjutnya yang ditunjukkan dengan panah. Perbaharui waktu start time dan end time setiap operasi yang terkena dampak. Lanjutkan ke langkah 12.1 b. Jika tidak, Identifikasi idle time setiap operasi dalam mesin, cek apakah masih bisa dilakukan Insert idle time b.1. Jika ya, Untuk Insert idle time bila operasi terakhir job tidak dapat dimajukan hingga due date karena pada due date terdapat operasi lain: - Geser mundur end time sampai dengan start time operasi terakhir job sampai pada start time operasi yang berada pada due date, cari job yang masih bisa dijadwalkan agar mendekati due date lagi, jika tidak ada lanjut ke langkah 12. Untuk Insert idle time bila operasi terakhir job dapat dimajukan hingga due date karena pada due date tidak terdapat operasi lain: - Geser mundur end time operasi terakhir job hingga due date job, cari job yang masih bisa dijadwalkan agar mendekati due date lagi, jika tidak ada lanjut ke langkah 12. b.2 .Jika tidak, lanjutkan ke langkah 12. 12. Proses penjadualan telah selesai, hitung total ongkos yang terjadi. Keterangan : Pst :Jadwal parsial yang berisi operasi dari suatu job yang terjadwal. St :Kumpulan task yang siap dijadwalkan pada tahap t. Rj:Saat awal dimana operasi j є St dapat mulai dikerjakan. M:indeks mesin, m = 1,2,....o Cj:waktu saat selesai suatu operasi. J :indeks operasi,j = 1,2,....p StartTime :waktu mulai operasi job EndTime :waktu selesai operasi job
CONTOH NUMERIK Untuk memperjelas algoritma yang dikembangkan, maka pada sub bab ini akan dibahas satu contoh numerik dengan menggunakan dispatching rule S/OPN, yaitu prioritas terbesar diberikan kepada job yang memiliki rasio paling kecil. Nilai rasio didapat dari slack time dibagi dengan sisa operasi.Adapun data waktu proses, routing dan due date dapat dilihat pada tabel 1-3 dibawah ini, sedangkan biaya earliness dan tardiness diasumsikan masing-masing 1 satuan uang dan 2 satuan uang. Tabel 1. Data waktu proses Job 1 2 3 4 5
1 6 6 5 4 3
Operasi 2 3 6 7 4 4 7 7 5 6 7 3
ISBN : 979-99735-0-3
A-34-5
4 5 7 4 3 4
Prosiding Seminar Nasional Manajemen Teknologi II Program Studi MMT-ITS, Surabaya 30 Juli 2005 Tabel 2. Data routing mesin Job 1 2 3 4 5
1 1 1 1 3 3
Operasi 2 3 4 3 2 4 3 4 1 4 2 4
Tabel 3 . Data due date
4 2 3 2 2 1
Job 1 2 3
DD 35 38 37
4 5
36 30
Sesuai dengan langkah - langkah dari metode Backward time inserted: maka untuk langkah ke-1 hingga 9, data dikerjakan dengan algoritma non-delay backward terlebih dahulu dengan priority dispastching (S/OPN). Selanjutnya dilakukan langkah ke-10. Dari hasil penjadwalan yang dihasilkan tabel 4 lalu dibuat dalam representasi schedulling graph, diperlihatkan pada gambar 3. Non-delay backward dengan priority dispastching S/OPN dimana prioritas terbesar diberikan kepada job yang memiliki slack time yang paling besar dikerjakan dengan algoritma non-delay backward time inserted (tabel 4). 1. Langkah 11. Dari schedulling graph yang dihasilkan job yang infeasible yang dijadwalkan pada t < 0 tersebut dimajukan hingga t = 0, perbarui waktu start time dan end time setiap operasi yang terkena dampak yang diperlihatkan pada gambar 4. 2. Langkah 12. Menghitung total biaya yang terjadi, dan total biaya earliness dan tardiness untuk contoh kasus di atas adalah 58.
ISBN : 979-99735-0-3
A-34-6
Prosiding Seminar Nasional Manajemen Teknologi II Program Studi MMT-ITS, Surabaya 30 Juli 2005 Tabel 4. Perhitungan Non-delay backward (priority dispastching S/OPN) stage 1
2
3
4
5
6
1
26
26
26
26
12
2
33
30
25
21
14
3
4
31
31
31
18
18
27
23
17
11
7
6
14
11
4
8
0
14
-3
4
St 142 243 342 442 541 142 442 234 334 534 142 334 434 534 222 133 334 434 222 522 334 124 421 522 211 334 111 211 413 513 323 111 413 311 413
Ci 35 38 37 36 30 33 33 31 33 26 30 27 27 26 27 25 23 23 25 23 17 17 17 21 11 11 12 12 14 4 6 11 -3 -3
Tij 5 7 4 3 4 5 3 4 7 3 5 7 6 3 4 7 7 6 4 7 7 6 5 7 6 7 6 6 4 3 7 6 4 5 4
Rij 30 31 33 33 26 28 30 27 26 23 25 20 21 23 23 18 16 17 21 16 10 11 12 14 -6 4 5 6 8 11 -3 0 7 -8 -7
m* 2 3 2 2 1 2 2 4 4 4 2 4 4 4 2 3 4 4 2 2 4 4 1 2
Pst
4 1 1 3 3 3 1 3 1 3
334
243 342 541
Keterangan : St : Ci : Tij : Rij : M* : Psi :
Job, Operasi, Mesin Waktu selesai Waktu proses Waktu mulai Mesin Job yang dijadualkan
442 234
142
534 133 434 222
124 421 522
211 513 323 111 311 413
PEMBAHASAN DAN KESIMPULAN Untuk mencoba model yang telah dikembangkan maka digenerate data hipotetik untuk job shop yang terdiri dari matrik routing, waktu proses dan due date (seperti pada tabel 1-tabel 3). Sepuluh data pertama merupakan data dengan due date ketat dan sepuluh data berikutnya dengan due date longgar. Semua data hipotetik akan dikerjakan dengan cara yang sama pada sub bab 4 dan dicari total biaya earliness dan tardiness untuk setiap data dengan metode backward time inserted dengan priority dispatching S/OPN, LDD dan MWKR . Selanjutnya data hipotetik juga diolah dengan menggunakan model optimasi yang diselesaikan dengan software LINDO sebagai pembanding. Total biaya dari metode non-delay backward inserted idle time untuk dan model optimasi dapat dilihat pada tabel 5. Keterangan : : Hubungan mesin : Hubungan routing job 1 : Hubungan routing job 2 : Hubungan routing job 3 : Hubungan routing job 4 : Hubungan routing job 5
ISBN : 979-99735-0-3
A-34-7
Prosiding Seminar Nasional Manajemen Teknologi II Program Studi MMT-ITS, Surabaya 30 Juli 2005
Gambar 4. Schedulling graph Non-delay backward time inserted (priority dispatching S/OPN)
Tabel 5. Total biaya untuk metode backward time inserted dan metode optimasi
Data 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Metode Backward time inserted Prioritas S/OPN LDD MWKR Terbaik 12 12 12 12 9 9 9 9 19 19 19 19 20 24 20 20 82 32 31 31 3 3 18 3 58 18 18 18 5 5 5 5 0 0 0 0 0 2 0 0 0 2 0 0 6 12 2 2 2 9 2 2 12 15 12 12 9 9 9 9 26 15 15 15 5 5 5 5 1 1 1 1 10 10 3 3 4 4 4 4 170 Total
ISBN : 979-99735-0-3
A-34-8
Metode Backward (Harsono, 2004) 8 9 27 40 72 47 20 5 12 8 0 2 2 12 9 31 30 11 26 20 391
Metode optimasi
8 9 2 20 25 1 18 5 0 0 0 0 2 0 9 15 5 1 3 4 127
Prosiding Seminar Nasional Manajemen Teknologi II Program Studi MMT-ITS, Surabaya 30 Juli 2005
Berdasarkan tabel 5 diatas, didapatkan rata - rata biaya penelitian backward time inserted sebesar 8,5 dan rata - rata biaya yang didapat dari penelitian dengan metode backward (Harsono, 2004) yaitu sebesar 19,55. Dengan demikian dapat dilihat bahwa hasil penjadualan Non-delay backward time inserted lebih mendekati metode optimal dibandingkan penelitian sebelumnya (Harsono, 2004). Dari tabel 5 di atas dapat disimpulkan bahwa setiap priority dispatching memiliki keunggulan sendiri - sendiri, yaitu priority dispastching S/OPN akan lebih baik digunakan bila penjadualan memprioritaskan pada sisa waktu yang dimiliki mesin, priority dispastching LDD akan lebih baik digunakan bila penjadualan memprioritaskan pada selesai job (due date). Sedangkan priority dispatching MWKR akan lebih baik digunakan bila penjadualan memprioritaskan pada job yang terlebih dahulu akan dikerjakan. DAFTAR PUSTAKA Baker, Kenneth R, “Introduction to Sequencing and Scheduling”, Partmouth College.1974. Harsono, Ronny “Pengembangan algoritma penjadwalan produksi job shop untuk meminimumkan total biaya earliness dan tardiness”, 2004. Nasution, Arman Hakim, “Perencanaan dan Pengendalian Produksi”, Institut Teknologi Sepuluh Nopember, Surabaya, Januari 1999. Suhada, Kartika “Algoritma penjadwalan ulang untuk sistem manufaktur tipe job shop , 1996. Sun D, and Lin L,“A Dynamic Job Shop Scheduling Framework: A Backward Approach”, International Journal of Production Research, Vol 32, No.4, 967985. Tjandera, “Penjadualan Produksi Metode Forward dan Backward untuk Lingkungan Job Shop”, Tugas Akhir, 1992. Wu, and Li, “Scheduling graph as alternative representation for sequencing and scheduling”, 1995.
ISBN : 979-99735-0-3
A-34-9