Anda di halaman 1dari 46

MANAJEMEN PRODUKSI DAN OPERASI

OPERATIONS SCHEDULING

Marimin
marimin_07@yahoo.com

OPERATIONS SCHEDULING
Dalam Scheduling, kita membuat rencana untuk menentukan:
- Apa yang akan dilakukan
- Kapan dilakukannya
- Siapa yang melaksanakannya
- Peralatan apa yang dibutuhkan
Scheduling ditentukan oleh jenis prosesnya
Perlu di lihat posisinya dalam produksi/operasi

Posisi Penjadwalan dalam Produksi/Operasi


Perencanaan Kapasitas
1. Ukuran Fasilitas
2. Pengadaan perlengkapan
Perencanaan Aggregate
1. Penggunaan Fasilitas
2. Kebutuhan SDM
3. Subkontraktor
Master Schedule
1. MRP
2. Disaggregasi master plan

Jangka Panjang

Jangka Menengah

Jangka Menengah

Penjadwalan Jangka Pendek


1. Pembebanan (Loading) setiap work center
2. Urutan tugas

Short term
2

Scheduling untuk Proses Line Flow


Dalam suatu proses line flow (assembly line atau cont.flow) :
- dibuat berbagai produk di line yang sama (multiple product
batch line)
- setiap produk diproduksi dalam batch.
- antar batch produk dibutuhkan line changeover (perubahan
pada line flow tsb. Agar dapat dipakai untuk membuat
produk lain: penyetelan, perubahan komponen dll)

Proses schedulingnya :
1. Kumpulkan data-data yang dibutuhkan
a. Ci

= unit cost produk i

Di

= demand per period untuk produk i

pi

= production rate produk i

Ii

= inventory level produk i

b. Co = setup cost
Chi = holding cost perperiod untuk 1 unit produk i
(Rp./unit/period)
= i Ci

2.Hitung untuk setiap produk i


a. Economic Lot Size produk i (ELSi) :

ELSi =

2CoDi
Chi

atau

ELSi =

2CoDi
i. Ci

b. Lot Production Time produk i :


ti

ELSi
=

Pi

3. Tentukan runout time setiap produk


ri

Ii
Di

dengan :
Ii = inventory level produk i
Di = demand/period produk i
5

4. Pilih produk dengan harga ri terkecil dan buat lebih dulu produk tsb. Volume
yang dibuat adalah sebanyak ELSi nya !
5. Hitung saat t, yaitu waktu produk selesai dibuat.
6. Proyeksikan inventory level setiap produk untuk saat t tsb. (merupakan
inventory level setiap produk pada saat t)
7. Ulangi langkah 3 s/d 7 untuk produk lain.
Akhirnya akan diperoleh urutan produk-produk yang harus dibuat
Contoh:
Sebuah assembly line membuat 6 produk : A, B, C, D, E, dan F.
Untuk setiap produk diketahui: inventory level, demand/week, ELS dan
Production rate (dalam unit/week), seperti terlihat di tabel 1
6

Dalam tabel :
runout time = inventory level / weekly demand
production time (lot prod. Time) = lot size / prod. rate
Tabel 1 : Run out-time calculations
Demand data
Product

Invent
(units)

Weekly
demand
(units)

Suply data
Runout

Lot size

Prod. Rate

Prod.

Time

(units)

(units/week)

Time

2100

200

(units)
10.5

1500

1500

(weeks)
1

550

100

5.5

450

900

0.5

1475

150

9.8

1000

500

2850

300

9.5

500

1000

0.5

1500

200

7.5

800

800

1.0

1700

200

8.5

1200

800

1.5

Total

10175

1150
7

Tentukanlah schedulingnya !
Jawab :
Langkah 1 s/d 3 telah diperoleh dari tabel 1.
Langkah 4 :
Pilih produk dengan harga r terkecil, yaitu produk B.
Jadi produk B akan dibuat lebih dulu.
Langkah 5 :
Tentukan saat t, yaitu saat produk B selesai dibuat.
Dari tabel diperoleh prod. Time produk B = 0.5 weeks.
Jadi produk B akan selesai dibuat pada saat t = 0.5 weeks.
Langkah 6 :
Proyeksikan inventory setiap produk pada saat t = 0.5
Demand selama 0.5 week = 0.5 (demand/week)
Inv. Level = Inv. Awal + Production - Demand 0.5 week
Runout time = Inv. Level / demand per week.
8

Product
A

Demand selama
0.5 weeks
0.5 x 200 = 100

Inv.Level

Runout time

2100 + 0 - 100 =2000

2000/200 = 10.0

0.5 x 100 = 50

550 + 0.5 x 900 50 =950

950/100 = 9.5

0.5 x 150 = 75

1475 + 0 75 = 1400

1400/150 = 9.3

150

2700

9.0

100

1400

7.0

100

1600

8.0

Langkah 7:
Ulangi langkah 3 s/d 7
Hasil yang diperoleh terlihat dalam tabel 2

End of Week 0.5


Product
A

End of Week 1.5

End of Week 3.0

End of Week 3.5

Invent

Runout Invent Runout Invent Runout Invent Runout


time
time
time
time
2000
10.0
1800
9.0
1500
7.5
1400
7.0

950

9.5

850

8.5

700

7.0

650

6.5

1400

9.3

1250

8.3

1025

6.8

950

6.3

2700

9.0

2400

8.0

1950

6.5

2300

7.7

1400

7.0

2000

10.0

1700

8.5

1600

8.0

1600

8.0

1400

7.0

2300

11.5

2200

11.0

10050

9700

9175

9100

10

Scheduling untuk proses Job Shop


Dalam proses jop shop :
- Prinsip : make to order
- Produknya bermacam-macam jenis dan biasanya jumlah setiap order tidak besar
- Masalah-masalah dalam schedulingnya : loading, sequencing dan dispacthing.

Loading :
- Dalam loading, schedule tepat untuk setiap job tidak dibuat.
- Tujuan loading adalah untuk mengetahui secara global/kasar:
~ bagaimana load di setiap work center
~ kapan jop dapat diselesaikan
~ apakah kapasitas work centers terlampaui atau tidak
- Dalam loading, urutan job tidak/belum diperhatikan

11

Contoh :
Misalkan kita memiliki tiga work centers : A, B dan C, serta lima buah job:
Job-1, 2, 3, 4 dan 5. Work centers yang harus dilalui, processing time di
setiap work centers dan due date setiap job. Terlihat dalam tabel 3
Tabel 3
Job

Work centers/machine hours

Due date
(days)
4

A/2, B/3, C/4

C/6, A/4

B/3, C/2, A/1

C/4, B/3, A/3

A/5, B/3

12

Job 1 harus melalui work center:


- A dgn.proc.time 2 jam

- C dgn.proc.time 4 jam

- B dgn.proc.time 3 jam
Diketahui pula:
- rata-rata waktu tunggu antar work center : 8 jam
1 hari = 8 jam kerja
Kita dapat melakukan Forward Loading atau Backward Loading

Forward Loading :
- Kita dapat mengetahui perkiraan waktu selesainya setiap job dan load setiap work
center.
- Untuk setiap job, buat time line untuk forward loadingnya, seperti terlihat di
gambar 1
Jelas terlihat bahwa :
- job-1 akan selesai pada hari ke-4
- job-2 akan selesai pada hari ke-3
13

A
(2 hrs)

B
(3 hrs)

Move/wait (8hrs)

C
(4 hrs)

Move/wait (8hrs)

Day 2

Day 1

Due
date

Day 3

Day 4

Time line for job 1

c
(6 hrs)

Due
date

A
(4 hrs)

Move/wait (8hrs)
Day 2

Day 1

Day 3

Day 4

Time line for job 2

Gambar 1 : Time line untuk job 1 dan 2


Work center B

Work center A
10

9
8
7
6
5
5

10

Machine hours

Machine hours

10

Machine hours

Work center C

9
8

7
6
5

2
1
1

Day

5
2

1
3

2
3

Day

Day

14

Gambar 2 : Load chart Forward Loading work center A, B dan C


Untuk setiap work center, buat Gantt load chartnya (gambar 2).
Dari load chart tsb, kita dapat melihat besarnya load untuk
setiap work center pada setiap hari.
Backward Loading
Kita dapat mengetahui kapasitas maksimum yang diperlukan setiap work
center agar due datenya tercapai.
Untuk setiap job, buat time line untuk backward loadingnya, seperti terlihat
di gambar 3. Time line dibuat mulai dari due date dan bergerak ke muka.

15

Due
date
A
(2 hrs)

Day 1

Move/wait 8 hours

Day 2

B
(3 hrs)

C
(4 hrs)

Move/wait 8 hours

Day 3

Day 4

Time line for job 1

C
(6 hrs)

Day 1

Move/wait 8 hours

Day 2

Due
date
A
(4 hrs)

Day 3

Day 4

Time line for job 2

Job times for backward loading


16

Gambar 3. Time line untuk job 1 dan 2


Work center B

Work center C

10

10

7
6
5

7
6
5
5

4
5

4
2

Machine hours

10

Machine hours

Machine hours

Work center A

2
3

Day

5
4

1
1

2
1

1
1

Day

Day

Backward-loading example
17

Gambar 4 : Load chart Backward Loading work center A, B dan C


Untuk setiap work center, buat Gantt load chartnya (gambar 4).
Dari load chart tsb, kita dapat melihat besarnya load untuk setiap
work center pada setiap hari.
Dari masalah loading diatas, jelas bagian marketing perlu menghubungi bag.
operasi sebelum menjanjikan due date kepada para pelanggan, agar tidak
terjadi keterlambatan delivery.

LOADING :
Proses pembagian tugas ke resources yang terbatas
Dengan loading, kita ingin mengetahui secara kasar :
Bagaimana load setiap work center
kapan job dapat diselesaikan
apakah kapasitas work center tidak terlampaui.
18

Dalam loading, menurut job tidak/belum diperhatikan.


Metodenya ada 2 :
1. Metoda

Index:

Metoda ini akan menghasilkan solusi yang baik, tetapi tidak dijamin
bahwa solusinya merupakan solusin yang optimun.
2. Metoda

Penugasan :

Merupakan salah satu bentuk khusus dari pemrograman linear yang


akan memberikan solusi optimal.

19

LOADING (Metoda Index) :


Prosedur metoda ini akan dijelaskan langsung dengan contoh :
1. Bentuklah tabel waktu/biaya yang dibutuhkan oleh job tertentu disetiap
work center/mesin yang ada !
Food

Cooker
1

Beans

10

10

Peaches

Tomatoes

Corn

10

2. Hitung Index setiap job di setiap mesin, dengan jalan membagi nilai
setiap baris dengan nilai terkecil di baris yang bersangkutan.
20

Food

Cooker
1

Beans

2.00

1.00

1.20

2.00

Peaches

3.00

1.00

2.00

3.00

Tomatoes

1.40

1.20

1.00

1.20

Corn

2.25

1.25

1.00

2.50

3.Tentukanlah indeks terkecil dari setiap kolom. Job pada baris tersebut
dilakukan oleh mesin pada kolom yang bersangkutan. (Tomatoes di Cooker 1)
Food

Cooker
1

Beans

2.00

1.00

1.20

2.00

Peaches

3.00

1.00

2.00

3.00

Tomatoes

1.40

1.20

1.00

1.20

Corn

2.25

1.25

1.00

2.50
21

4. Ulangi untuk kolom berikutnya:


Food

Cooker
1

Beans

1.00

1.20

2.00

Peaches

1.00

2.00

3.00

1.25

1.00

2.50

Tomatoes
Corn
Food

Cooker
1

Beans

1.00

2.00

Peaches

1.00

3.00

Tomatoes
Corn
22

Jadi penugasan yang terjadi adalah:


Food

Cooker
1

Beans

10

10

Peaches

Tomatoes

Corn

10

Total waktu mesin untuk memproses ke-4 job adalah :7+2+4+10 = 23 jam
Tetapi karena proses pararel, maka semua tugas selesai dalam waktu 10 jam

23

Metoda Penugasan
Metoda Penugasan merupakan bentuk khusus dari model riset operasi yang akan
mengoptimumkan pembagian beberapa tugas ke sejumlah work center.

Prosedur Penugasan (Metoda Hongaria):


1. Lakukan row reduction, dengan jalan mengurangi setiap elemen baris dengan elemen

minimum dibaris yang bersangkutan.


2. Lakukan column reduction, dengan jalan mengurangi setiap elemen kolom dengan
elemen minimum dikolom yang bersangkutan
3. Hasilnya adalah opportunity cost matrix.
Tentukanlah banyaknya garis minimum (vertikal atau horisontal) yang melewati semua
nilai nol.
4. Jika banyaknya garis tersebut = baris/kolom matrik, maka solusi optimal sudah
tercapai, dan penugasan dilakukan pada nilai-nilai 0 yang ada. Bila belum, lakukan
reduksi lanjutan dengan melakukan perubahan matrik berikut:
a. Tentukan elemen minimum matrik yang tidak dilalui garis.
24

b. Kurangi semua elemen matrik yang tidak dilalui garis dengan elemen minimum
dari (a).
c. Tambahkan nilai minimum dari (a) ke elemen matrik yang terletak pada
perpotongan garis vertikal dan horisontal.
5. Ulangi langkah 3 dan 4 sampai tercapai solusi optimal.
Contoh :
Waktu penyelesaian 4 order di 4 buah mesin yang ada (dalam jam) adalah sbb :

Order

Mesin 1

Mesin 2

Mesin 3

Mesin 4

10

10

10

Tentukanlah pengalokasian order ke setiap mesin yang terbaik !


25

Jawab :
Langkah 1 : row reduction
5

Langkah 2 : column reduction


3

26

Langkah 3 : banyaknya garis minimum yang melalui titik-titik nol adalah 3 buah
3

Langkah 4 : karena banyaknya garis (3) # ukuran matrik (4), maka solusi belum
optimal. Lakukan reduksi lanjutan

3
27

Banyaknya garis sekarang sudah sama dengan ukuran matrik, artinya solusi
optimal sudah tercapai.
Penugasannya adalah sebagai berikut:
Order

Mesin 1

Mesin 2

Mesin 3

Mesin 4

Waktu

Jadi total waktu yang dibutuhkan adalah 21 jam.

28

Sequencing :
- Bila loading tidak memperhatikan urutan job, maka sequencing urutan job
diperhatikan
- Tujuannya adalah untuk menentukan urutan terbaik.
- Sequencing tidak membutuhkan lagi data rata-rata waiting time antar work center.
Bila ada waiting time, akan dihitung dengan teliti.
- Sequencing meliputi pembahasan berikut:
~ Scheduling n jobs untuk 1 processor
~ Scheduling n jobs untuk 2 processor
~ Scheduling n jobs untuk m processor

29

Scheduling n jobs untuk 1 processor


Contoh :
Misalkan ada 4 job dengan processing time dan due date sbb:
Job.

Prod.Time

Due date

19

17

Job 1 memerlukan waktu proses 4 hari dan harus deserahkan dalam


Waktu 6 hari.
Tentukan schedulingnya :
Jawab:
- Untuk 1 processor : masalah scheduling hanyalah menentukan urutan job yang
harus dilakukan. Untuk itu perlu ditentukan dulu kriteria atau objective yang
ingin dicapai dalam menentukan urutan tsb.
30

- Sebelum membahas kriteria yang digunakan perlu didefinisikan istilah-istilah sbb:


Ri = Arrival time dari job i (saat job tiba)
Ci = Completion time dari job i
di = Due date dari job i
Fi = Flow time dari job i, yaitu lamanya job i berada dalam sistem (=Ci Ri)
Li = Lateness dari job i (=Ci di)
Ti = Tardiness dari job i = positif lateness dari job i
Tardiness = 0, bila lateness negatif
= lateness, bila lateness positif
Ei = Earliness dari job i = negatif tardiness dari job i
n = Jumlah job

31

Maka Mean Flow Time :

F=

1
n

Fi

i=1

Dengan Fi = Ci - Ri
Berdasarkan kriteria atau objective yang akan dipakai, dapat dipilih beberapa
prosedur scheduling sbb :
- Prosedur SPT (Shortest Processing Time)
- Prosedur DD ( Due Date)
- Prosedur Moore
Dalam setiap pembahasan berikut, diasumsikan bahwa semua job telah ada pada
saat t = 0.
Jadi pada t = 0, kita dapat memilih job yang akan didahulukan

32

Prosedur SPT (Shortest Processing Time)


Prosedur ini meminimalkan Mean Flow Time.
Dan juga meminimalkan Mean Waiting Time dan Mean Lateness. Waiting time adalah
lamanya waktu suatu job harus menunggu sebelum proses untuk job tsb.dimulai
Disini job dengan processing time terkecil diproses lebih dulu.

Jadi untuk contoh di atas, SPT schedulenya adalah


Due date

19

17

Job.

Proc.Time

33

Compl.Time

13

21

Tardiness

Flow Time

13

21

Mean Flow Time : F = (2+6+13+21)/4 = 10.5 hari


Jumlah tardy jobs = 2
Max.Tardiness = 4 hari

34

Prosedur DD (Due Date)


Prosedur ini meminimalkan Max.Tardiness
Disini job dengan due date terkecil diproses lebih dulu. Jadi untuk contoh di
atas, DD schedulenya adalah :
Due date

17

19

Job.

Proc.Time

Compl.Time

11

19

21

Tardiness

Flow Time

11

19

21

Mean Flow Time : F = (4+11+19+21)/4 = 13.75 hari


Jumlah tardy jobs

=3

Max.Tardiness

= 2 hari

35

Prosedur Moore
Prosedur ini meminimalkan jumlah tardy jobs
Langkah 1 : Buat DD schedulenya (lihat tabel di atas)
Langkah 2 : Cari tardy job pertama dalam schedule tsb.
Bila tidak ada, maka STOP dan schedulenya sudah optimal
Langkah 3 : Diantara tardy job pertama ini dan job-job lain yang mendahuluinya,
carilah job yang processing timenya terbesar, pindahkan job tsb ke paling
belakang dan selanjutnya job tsb tidak dipertimbangkan lagi. Yang akan ditinjau
selanjutnya adalah job-job lain.

36

Dari contoh di atas:


Langkah 1 : lihat tabel di atas
Langkah 2 : Tardy job pertama adalah job - 2.
Langkah 3 : Processing terbesar antara job 2 dengan job yang mendahuluinya
(job 1) dimiliki oleh job 2. Jadi pindahkan job 2 ke paling belakang, dan
tidak perlu ditinjau lagi.
Hasilnya sbb:
Due date

17

19

Job.

Proc.Time

Compl.Time

12

14

21

Tardiness

12

Kemudian kembali ke langkah 2


37

Langkah 2: Tidak ada lagi tardy job, artinya schedule sudah optimal
Jadi Moore Schedulenya adalah sbb:
Due date

17

19

Job.

Proc.Time

Compl.Time

12

14

21

Tardiness

12

Flow Time

12

14

21

Maka:
Mean Flow Time : F = (4+12+14+21)/4 = 12.75 hari
Jumlah tardy jobs = 1
Max.Tardiness

= 12 hari

38

Scheduling N Jobs untuk 2 Processor:


Contoh :
Terdapat 5 job yang semuanya harus melalui processor 1 dan kemudian processor 2,
dengan processing time sbb:
Processing Time
Job

Processor -1

Processor - 2

39

Prosedur Johnson :

Prosedur ini meminimalkan completion time dari semua job,


berarti juga meminimalkan total idle time.

Langkah 1 :
Cari processing time terkecil dari kedua processor

Langkah 2 :
- Bila processing time terkecil di processor 1, maka letakkan
job tersebut pada urutan pertama berikutnya yang masih ada.
- Bila processing time terkecil di processor 2, maka letakkan job tersebut pada
urutan terakhir yang masih ada.
Ulangi langkah 1 dan 2 sampai semua job mendapat urutan.
Untuk contoh di atas, urutan hasil prosedur Johnson
adalah :
40

Processing Time
Job

Processor -1

Processor - 2

Urutan job

Jadi schedule untuk kedua mesin tsb. adalah:

41

Processor - 1
Job

Processor - 2

Proc.
Time
2

Start
Time
1

Finish
Time
2

Idle
Time
0

Proc.
Time
3

Start
Time
3

Finish
Time
5

Idle
Time
2

13

13

14

20

14

21

22

27

22

27

28

30

Jadi : completion = 30 jam


total time = 4 jam
Scheduling dari tabel diatas, dapat pula digambarkan Gantt
Chart seperti gambar 5 berikut ini.
Pada gambar 5 - a : Bila urutan job : 1,2,3,4,5 maka completion time = 33 jam.
Pada gambar 5 - b : Bila urutan job : 3,1,4,5,2 (hasil prosedur Johnson), maka
completion time = 30 jam.
42

Time 0

10

4
Job 2

Job 1

Machine 1

Machine 2

12

19

Job 3

Job 1

Job 1
11

Time 0

27

Job 4

Job 5

Job 3

Job 4

14

Job 5
26

17

33

Gambar-5a
Time 0
Machine 1

Machine 2
Time 0

2
Job 3

13

Job 1

Job 4

Job 3

Job 1
5

21
Job 5

Job 2

Job 5

Job 4
13

27

20

Job 2
26

30

43

Scheduling N jobs untuk M Processor


Belum ada prosedur perhitungan yang optimal untuk masalah ini untuk n dan
m yang lebih besar dari 2.
Biasanya untuk hal ini digunakan rules yang tak menjamin keoptimalan
schedulenya. Rules tsb. akan dibahas dalam Dispatching.

Dispatching
Dalam praktek, sulit sekali untuk mempertahankan schedule sesuai rencana,
karena berbagai hal (mesin rusak, operator sakit, material terlambat dll.)
Oleh karena itu dalam praktek, seringkali digunakan dispatching rules, yang
tentunya tidak menjamin keoptimalan solusi.
Dispathing rule menentukan job mana yang harus diproses lebih dulu, bila ada
antrian job.
44

Beberapa dispathing rules adalah sbb :


1. MINPRT (Minimum Processing Time)
Job dng processing terkecil dipilih lebih dulu untuk diproses
2. MINSOP (Minimum Slack time per Operation)
Slack time adalah :
Sisa waktu yang ada sebelum due date
- Sisa Processing time yang masih harus dilakukan.
Slack time per operation = slack time / jumlah operasi. Dalam rule ini,
slack

time per operation yang minimal dipilih lebih dulu.

3. FCFS (First Come First Served)


Job yang datang lebih dulu di work center, didahulukan.
4. MINSD (Minimum planned Start Date)
Bila ada perubahan keadaan, maka tetap gunakan rencana schedule semula.
5. MINDD (Minimum Due Date)
Disini job dengan due date yang paling dekat didahulukan
45

Anda mungkin juga menyukai