bab 3 landasan teori 3.1 definisi penjadwalanthesis.binus.ac.id/asli/bab3/2007-2-00463-mtif_bab...

25
BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalan Penjadwalan dapat didefinisikan sebagai keputusan dalam penugasan dan waktu untuk memulai pekerjaan yang menggunakan sumber daya seperti manusia, peralatan, dan fasilitas yang digunakan untuk kegiatan proses produksi untuk pekerjaan [Martinich, 1997]. Penjadwalan dapat juga diartikan sebagai suatu petunjuk atau indikasi apa saja yang harus dilakukan, dengan siapa, dan dengan peralatan apa yang digunakan untuk menyelesaikan suatu pekerjaan pada waktu tertentu [Scroeder, 2000]. Keputusan dalam suatu penjadwalan yang diartikan pada penugasan adalah berupa mengurutkan pekerjaan (sequencing) dan waktu (timing) untuk memulai pekerjaan, dimana untuk menentukan semuanya itu harus diketahui urutan operasinya terlebih dahulu. Penjadwalan selalu berhubungan dengan pengalokasian sumber daya yang ada pada jangka waktu tertentu, hal tersebut adalah proses pengambilan keputusan yang tujuannya adalah untuk optimalitas [Pinedo, 2002]. Penjadwalan berperan penting dalam industri manufaktur dan industri servis. Penjadwalan tidak bisa lepas dari sequencing yaitu pekerjaaan/job mana yang harus dikerjakan terlebih dahulu dalam suatu pesanan. Penjadwalan bisa menjadi suatu masalah apabila terdapat suatu sekumulan tugas yang datang secara bersamaan pada waktu tertentu, seperti per bulan, per minggu, per hari, atau skala waktu lainnya, sedangkan fasilitas yang dimiliki perusahaan terbatas. Biasanya jika hal ini terjadi, maka akan diberlakukan aturan prioritas.

Upload: dangthuan

Post on 28-Mar-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

BAB 3

LANDASAN TEORI

3.1 Definisi Penjadwalan

Penjadwalan dapat didefinisikan sebagai keputusan dalam penugasan dan waktu

untuk memulai pekerjaan yang menggunakan sumber daya seperti manusia, peralatan,

dan fasilitas yang digunakan untuk kegiatan proses produksi untuk pekerjaan [Martinich,

1997]. Penjadwalan dapat juga diartikan sebagai suatu petunjuk atau indikasi apa saja

yang harus dilakukan, dengan siapa, dan dengan peralatan apa yang digunakan untuk

menyelesaikan suatu pekerjaan pada waktu tertentu [Scroeder, 2000]. Keputusan dalam

suatu penjadwalan yang diartikan pada penugasan adalah berupa mengurutkan

pekerjaan (sequencing) dan waktu (timing) untuk memulai pekerjaan, dimana untuk

menentukan semuanya itu harus diketahui urutan operasinya terlebih dahulu.

Penjadwalan selalu berhubungan dengan pengalokasian sumber daya yang ada

pada jangka waktu tertentu, hal tersebut adalah proses pengambilan keputusan yang

tujuannya adalah untuk optimalitas [Pinedo, 2002]. Penjadwalan berperan penting

dalam industri manufaktur dan industri servis. Penjadwalan tidak bisa lepas dari

sequencing yaitu pekerjaaan/job mana yang harus dikerjakan terlebih dahulu dalam

suatu pesanan.

Penjadwalan bisa menjadi suatu masalah apabila terdapat suatu sekumulan tugas

yang datang secara bersamaan pada waktu tertentu, seperti per bulan, per minggu, per

hari, atau skala waktu lainnya, sedangkan fasilitas yang dimiliki perusahaan terbatas.

Biasanya jika hal ini terjadi, maka akan diberlakukan aturan prioritas.

Page 2: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

12

Untuk membuat suatu penjadwalan maka masukan yang dibutuhkan untuk membuatnya

adalah mencakup jenis dan banyaknya job yang akan diproses, urutan ketergantungan

antar operasi/proses produksinya, waktu proses untuk masing-masing operasi, serta

fasilitas yang dibutuhkan oleh setiap operasi. Dari masukan tersebut, penjadwalan yang

dihasilkan adalah berupa urutan pekerjaan yang akan dijadwalkan.

Dalam membuat penjadwalan yang baik, perusahaan membutuhkan suatu

perencanaan produksi dan pengendalian produksi agar fasilitas yang digunakan untuk

memproduksi dapat digunakan secara efisien, dengan demikian perencanaan dan

pengendalian produksi yang dibutuhkan tersebut antara lain adalah sebagai berikut :

1. Membuat suatu daftar pesanan yang datang dengan memperhitungkan kapasitas

produksinya.

2. Sebelum pesanan tersebut diproduksi, periksa terlebih dahulu mengenai

ketersediaan bahan bakunya.

3. Menentukan batas waktunya untuk pekerjaan yang ada, dan melakukan

pengawasan saat produksi berlangsung.

4. Dari aktifitas produksi yang berjalan dibuat laporannya sebagai feedback.

5. Dilakukan pengwasan terhadap efisiensi peroduksi yang berjalan.

3.2 Tujuan Penjadwalan

Diadakannya penjadwalan tentu terdapat tujuan-tujuan yang ingin dicapai oleh

suatu perusahaan yang pastinya akan lebih menguntungkan bagi perusahaan. Tujuan

adanya penjadwalan adalah untuk mengurangi waktu keterlambatan dari batas waktu

yang ditentukan agar dapat memenuhi batas waktu yang disetujui dengan konsumen,

Page 3: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

13

dengan penjadwalan perusahaan juga dapat meningkatkan produktifitas mesin dan

mengurangi waktu menganggur. Dengan produktifitas mesin meningkat dan waktu

menganggur berkurang, maka secara tidak langsung perusahaan dapat mengurangi

ongkos produksi, dan dengan mengurangi waktu keterlambatan dan jika tepat waktu

dalam pemenuhan produksi, dan dengan mengurangi waktu keterlambatan dan jika tepat

waktu dalam pemenuhan produk perusahaan, maka hal ini dapat menjadi nilai tambah

bagi perusahaan dalam hal pelayanan. Jika tujuan penjadwalan ini dapat tercapai maka

hal ini dapat juga dijadikan suatu keuntungan dan strategi bagi perusahaan dalam

pemuasan pelanggan.

3.3 Permasalahan Penjadwalan Produksi

Seperti yang sudah diungkapkan sebelumnya bahwa suatu penjadwalan produksi

dapat menjadi suatu masalah yang rumit jika terdapat sekumpulan tugas yang datang

secara bersama-sama, jika demikian solusi yang dapat diambil adalah dengan membuat

suatu pengurutan pekerjaan/job dengan memperhitungkan batasan waktu, dan fasilitas

yang ada. Penjadwalan akan semakin sulit ditangani jika terdapat sekumpulan job yang

diproses dengan banyak mesin.

Dengan adanya pengurutan job maka diharapkan dapat memenuhi tujuan dari

diadakannya penjadwalan, yaitu mengurangi waktu keterlambatan dari batas waktu

yang ditentukan agar dapat diusahakan memenuhi batas waktu yang ditetapkan dengan

konsumen, dengan demikian perusahaan dapat lebih meningkatkan kegunaan sumber

daya yang terdapat dalam perusahaan sehingga dapat meningkatkan produktifitas mesin

dan mengurangi waktu menganggur.

Page 4: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

14

3.4 Fungsi Penjadwalan

Fungsi penjadwalan di dalam sebuah sistem produksi harus berinterksi dengan

fungsi-fungsi lainnya. Interaksi ini begantung pada sistem yang ada dalam perusahaan,

bisa melalui jaringan komputer, dapat juga melalui rapat.

Lantai produksi bukanlah satu-satunya bagian dari organisasi yang menetukan

jalannya proses penjadwalan. Proses penjadwalan juga dipengaruhi oleh proses

perencanaan produksi yang menangani jangka waktu menengah dan jangka waktu

panjang keseluruhan perusahaan. Proses ini bertujuan untuk mengoptimalkan komposisi

produk yang dihasilkan oleh perusahaan dan alokasi sumber daya jangka panjang

berdasarkan inventori, peramalan permintaan, dan kebutuhan sumber daya. Keputusan-

keputusan yang diambil pada level perencanaan yang lebih tinggi dapat memberikan

dampak langsung pada proses penjadwalan.

Dalam lingkungan manufaktur, fungsi penjadwalan harus berinterkasi dengan

prosedur pengambilan keputusan lain yang digunakan dalam perusahaan/pabrik. Salah

satu sistem yang cukup banyak digunakan adalah MRP (Material Requirement

Planning). Setelah semua jadwal disusun, semua sumber bahan baku dan sumber daya

yang diperlukan harus tersedia pada waktu yang telah ditentukan bersama-sama oleh

perencanaan produksi.

3.5 Klasifikasi Penjadwalan

Penjadwalana produksi dapat diklasifikasikan dilihat dari perbedaan kondisi

yang mendasarinya, klasifikasi penjadwalan yang sering terjadi dalam proses produksi

adalah sebagai berikut :

Page 5: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

15

1. Berdasarkan mesin yang digunakan :

a. Penjadwalan pada mesin tungal (Single machine shop)

b. Penjadwalan pada mesin jamak/paralel (m machine)

2. Berdasarkan strategi desain proses :

a. Flow Shop

Proses produksi yang berdesain flow shop bergerak dalam satu

arah, identik dengan pola aliran dari satu mesin ke mesin lain walaupun

penggunaan mesinnya tidak selalu berurutan.

dimana P adalah pekerjaan / job dan M adalah mesin.

Gambar 3.1 Aliran Flow Shop

Flow Shop ada banyak jenisnya, antara lain adalah :

- Continuous Flow, ditujukan untuk produksi secara masal, dimana

produk yang dibuat hanya untuk satu macam produk saja.

- Dedicated Repetitive, ditujukan untuk produksi yang jumlahnya

masih dapat terhitung (part diskrit) dan produk yang dibuat terdiri

dari satu macam produk tetapi banyak variasi, namun tidak

memerlukan waktu setup.

- Batch Flow, ditujukan untuk produksi masal atau part diskrit untuk

satu macam produk dengan banyak variasi (lebih banyak dari

P2P3

P1

M1 M2 M3 M4

Page 6: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

16

dedicated repetitive) namun untuk setiap pergantian variasi

memerlukan waktu setup.

- Mixed Model Repetitive Batch Flow, ditujukan untuk produksi yang

bisa dihitung, dengan ciri satu fasilitas namun dapat digunakan untuk

banyak jenis produk, dimana waktu setup adalah hanpir nol.

b. Job Shop

Proses produksi dengan aliran job shop tidak selalu sama untuk setiap

jobnya. Setiap job dikerjakan dengan urutan mesin tertentu sesuai

dengan kebutuhan prosesnya. Dengan demikian pola alirannya berbeda-

beda, tidak selalu dalam satu arah. Keluaran dari setiap mesin untuk jenis

job shop bisa berarti langsung sebagai produk jadi, dapat juga berarti

produk setengah jadi.

dimana P adalah pekerjaan / job dan M adalah mesin.

Gambar 3.2 Aliran Job Shop

3. Berdasarkan product positioning :

a. Make to order

Jumlah dan jenis produk yang dibuat berdasarkan permintaan dari

konsumen, biasanya salah satu tujuan kebijakan ini adalah mengurangi

biaya simpan.

P2P3

P1

M1 M2 M3 M4

Page 7: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

17

b. Make to stock

Jumlah dan jenis produk terus menerus dibuat untuk disimpan dalam

inventory.

4. Berdasarkan pola kedatangan job :

a. Statik, pengurutan job terbatas pada pesan yang ada. Job yang baru tidak

mempengaruhi pengurutan job yang sudah dibuat.

b. Dinamik, pengurutan job selalu diperbaharui jika ada job baru yang

datang.

5. Berdasarkan waktu proses :

a. Deterministik, waktu proses yang diterima sudah diketahui dengan pasti.

b. Stokastik, waktu proses yang diterima belum pasti, oleh karena itu perlu

diperkirakan dengan menggunakan distribusi probabilitas.

3.6 Kriteria Optimalitas

Ada kriteria-kriteria optimalitas dalam menyusun penjadwalan, antara lain

adalah :

1. Berkaitan dengan waktu [Jay Heizer and Barry Render, 2001] :

a. Meminimalkan waktu penyelesaian (makespan).

b. Meminimalkan tardiness.

c. Memaksimalkan utilitas mesin

d. Meminimalkan persediaan dalam proses.

e. Meminimalkan waktu tunggu pelanggan.

Page 8: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

18

2. Berkaitan dengan ongkos

Kriteria ini berkaitan dengan biaya produksi, seperti mengurangi denda akibat

terlambatnya pengiriman barang/produk.

3.7 Aturan Prioritas

Aturan prioritas (priority rule) adalah aturan dalam penjadwalan produksi untuk

menentukan pekerjaan/job mana yang harus dikerjakan terlebih dahulu. Aturan prioritas

ini digunakan untuk membantu menyusun penjadwalan dalam usaha mencapai tujuan

penjadwalan, yaitu meminimasi keterlambatan, dan meningkatkan utilitas mesin.

Beberapa aturan prioritas yang sering digunakan antara lain adalah :

1. Acak (Random)

Mengerjakan job secara urutan yang acak, job yang mana saja dapat diproses

terlebih dahulu

2. FCFS (First Come First Serve)

Mengerjakan job sesuai dengan urutan waktu kedatangannya, yang datang lebih

awal akan diproses terlebih dahulu.

3. SPT (Shortest Processing Time)

Proses pengerjaan job dilakukan sesuai dengan waktu proses dari yang paling

kecil.

4. EDD (Earliest Due Date)

Urutan pengerjaan job dilakukan berdasarkan dari batas waktu penyelesaian

yang lebih kecil.

Page 9: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

19

5. LPT (Longest Processing Time)

Aturan ini bertolak belakang dengan SPT, yaitu mengerjakan job berdasarkan

urutan waktu proses dari yang paling besar/lama.

6. Critical Ratio

Aturan ini mengurutkan job-job dengan menghitung waktu sisa sampai dengan

batas waktu kerjanya.

3.8 Tardiness Tertimbang Total

Wighted tardiness (tardiness tertimbang) merupakan salah satu fungsi tujuan

yang umum dalam masalah penjadwalan. Beberapa fungsi tujuan yang lain adalah

makespan, weighted flowtime, maximum flowtime, maximum tardiness, weighted

number of tardy jobs dan weighted earliness plus weighted tardiness. Dalam masalah

penjadwalan dengan fungsi tujuan tardiness tertimbang, tiap job memiliki bobot

(kepentingan) dan due date. Bobot merepresentasikan tingkat kepentingan dari suatu job.

Bobot yang lebih tinggi menunjukkan tingkat kepentingan yang lebih besar. Jika waktu

akhir penyelesaian job melebihi due date atau batas waktu penyelesainnya maka job

tersebut dikenakan suatu penalti yang direpresentasikan oleh bobotnya. Tardiness

didefinisikan sebagai selisih waktu antara waktu akhir penyelesaian suatu job dengan

due date jika waktu akhir pnyelesaian job lebih besar dari due date.

Secara matematis, fungsi tujuan tardiness tertimbang total dirumuskan sebagai

berikut. Misalkan Di dan wi masing-masing menyatakan due date dan bobot untuk tiap

job i, Ci menyatakan waktu akhir penyelesaian job i. Jika Ti didefinisikan sebagai

tardiness untuk job i, maka :

Page 10: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

20

Ti = Ci – Di jika Ci > Di

= 0 jika Ci ≤ Di

Dengan demikian dapat dikatakan nilai Ti adalah :

Ti = max {0, Ci-Di}

Fungsi tujuan meminimumkan tardiness tertimbang total selanjutnya dapat dirumuskan

sebagai berikut :

Min ∑i

itTw

Dengan Ti = max {0, Ci-Di} , i∀

3.9 Algoritma Relaksasi Lagrange

Relaksasi Lagrange merupakan suatu algoritma yang semakin banyak digunakan

dalam berbagai penerapan pemrograman matematika berskala besar. Penerapan

relaksasi lagrange dimotivasi oleh adanya pengamatan bahwa banyak masalah

pemrograman bilangan bulat dapat dimodelkan dengan mudah dengan menghilangkan

nasty side constraints [Fisher, 1995]. Nasty side constraints dihilangkan dari himpunan

pembatas dan ditempatkan pada fungsi tujuan. Ini dikenal dengan istilah dualisasi

(dualizing) nasty side constraints. Proses dualisasi ini menghasilkan suatu masalah yang

relatif mudah untuk dipecahkan dan solusinya memberikan suatu batas bawah bagi

solusi optimal dari masalah awal.

Bagi masalah penjadwalan dengan kriteria meminimumkan tardiness tertimbang

total untuk pendekatan relaksasi lagrange adalah sebagai berikut (disebut masalah P) :

Minimasi J = ∑i

itTw

dengan memperhatikan pembatas-pembatas :

Page 11: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

21

• precedence : cij ≥ cil + tij ; i∀ , j ; j , l є J

• ketersediaan sumber : hki j

ijhk M≤∑∑δ

• kebutuhan waktu proses : bij = cij – tij + 1 ; i∀ , j ; j є J

dengan :

cij adalah slot waktu akhir (penyelesaian) pengerjaan operasi j untuk job i.

bij adalah slot waktu awal pengerjaan operasi j untuk job i.

tij adalah waktu pemrosesan/pengerjaan operasi j untuk job i.

ijhkδ adalah variabel biner 0 atau 1; ijhkδ = 1 jika operasi j untuk job i

menggunakan sumber h pada slot waktu k, ijhkδ = 0 jika sebaliknya.

Mhk adalah konstanta yang menunjukkan ketersediaan sumber h pada slot

waktu k.

Misalkan J adalah nilai tujuan optimal untuk masalah P dan diberikan suatu vektor

pengali Lagrange tak negatif πhk untuk merelaksasi pembatas ketersediaan sumber

hki j

ijhk M≤∑∑δ maka akan diperoleh masalah Lagrange R, dimana :

R : min { ∑i

itTw + }⎟⎟⎠

⎞⎜⎜⎝

⎛−∑∑

jihkijhk

khhk M

,,δπ

dengan memperhatikan pembatas precedence dan pembatas kebutuhan waktu proses.

Karena nilai L(π) merupakan batas bawah untuk sembarang π ≥ 0, maka

masalahnya sekarang adalah bagaimana menentukan pengali Lagrange π* yang

memberikan batas bawah terbaik. Masalah ini disebut dengan masalah Dual Lagrange,

dan dinyatakan dengan masalah D, yaitu :

Page 12: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

22

D : maks L , dengan L ≡ { }∑ ∑∑∑ ⎟⎟⎠

⎞⎜⎜⎝

⎛++−

=i

N

j khijhkhkii

khhkhk

i

TwM1 ,,

min δππ

dengan memperhatikan pembatas πhk ≥ 0 , pembatas precedence dan pembatas

kebutuhan waktu proses.

Jika suatu operasi job dikerjakan pada slot waktu tertentu dan sumber tertentu,

maka ijhkδ = 1. Jadi, jika πhk dikalikan dengan ijhkδ untuk slot waktu k dan sumber h

yang digunakan, hasilnya akan tetap bernilai πhk. Maka nilai ∑∑=

iN

lj khijhkhk

,δπ akan

sama dengan nilai π pada sumber h yang digunakan dan slot waktu k yang terpakai (dari

slot waktu awal operasi (bij) sampai slot waktu akhir operasi (cij)), yaitu

∑∑= =

i ij

ij

N

lj

c

bkijhkπ

Sehingga dapat dilakukan penyederhanaan sebagai berikut :

D : maks L , dengan L ≡ { }∑ ∑∑∑ ⎟⎟⎠

⎞⎜⎜⎝

⎛++−

= =i

N

j

c

bkijhkii

khhkhk

i ij

ij

TwM1,

min ππ

dan jika job-job adalah independen maka minimum dari penjumlahan adalah jumlah

dari minima sehingga bentuk rumusan D dapat dinyatakan sebagai berikut :

D : maks L , dengan L ≡ { }∑ ∑∑∑ ⎟⎟⎠

⎞⎜⎜⎝

⎛++−

= =i

N

j

c

bkijhkii

khhkhk

i ij

ij

TwM1,

min ππ

dengan memperhatikan pembatas πhk ≥ 0 , pembatas precedence dan pembatas

kebutuhan waktu proses.

Page 13: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

23

Berdasarkan rumusan Dual Lagrange di atas, maka model permasalahan tersebut dapat

disederhanakan menjadi dekomposisi dari submasalah untuk tiap job i (untuk { πhk }

yang diberikan) sebagai berikut :

Ri : min Li dengan Li ≡ ∑∑= =

+i ij

ij

N

j

c

bkijhkiiTw

1

π

dengan memperhatikan pembatas

• cij ≥ cil + tij ; i∀ , j ; j , l є J

• bij = cij – tij + 1 ; i∀ , j ; j є J

3.10 Metode Subgradien

Masalah yang muncul pada algoritma Relaksasi Lagrange adalah bagaimana

mendapatkan pengali Lagrange πhk* yang memberikan batas bawah terbaik. Untuk

mendapatkan solusi dual Lagrange yang optimal πhk* , terdapat berbagai teknik yang

tersedia, diantaranya adalah metode elipsoid, metode ascent direction dan metode

subgradien. Di antara metode-metode tersebut, metode subgradien merupakan metode

yang paling banyak diterapkan karena kemudahannya dalam implementasinya.

Misalkan πhk menyatakan vektor dari pengali Lagrange maka :

πhk = πhk + ∆πhk

dimana ∆πhk = HLiΔ

λ

dengan :

• H merupakan horizon waktu dari job

Page 14: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

24

• λ merupakan suatu skalar yang nilainya dipilih antara 0 dan 2. Selanjutnya untuk

meningkatkan konvergensi geometrik menuju keoptimalan, Fisher (1995)

menentukan nilai λ terbaik adalah 2.

• in

ii LLL −=Δ dimana in

i LL 3,1= sehingga ii LL 3,0=Δ

Prosedur pencarian nilai tersebut diusulkan oleh Caramis & Kaskavelis (1998),

didapat dari percobaan numerik yang berulang-ulang.

3.11 Pemrograman Dinamis

Pemrograman dinamis (Dynamic Programming) adalah prosedur matematis

yang terutama dirancang untuk memperbaiki efisiensi perhitungan masalah

pemrograman matematis tertentu dengan menguraikannya menjadi bagian-bagian

masalah yang lebih kecil, dan karena itu lebih sederhana dalam perhitungan.

Pemrograman dinamis pada umunya menjawab masalah dalam tahap-tahap, dengan

setiap tahap meliputi tepat satu variabel optimasi. Perhitungan di tahap yang berbeda-

beda dihubungkan melalui perhitungan rekursif dengan cara menghasilkan pemecahan

optimal yang mungkin bagi seluruh masalah.

Nama pemrograman dinamis muncul karena penggunaan metode ini yang

melibatkan pengambilan keputusan yang berkaitan dengan waktu (seperti masalah

sediaan). Tetapi, situasi lain saat waktu bukan merupakan faktor juga dipecahkan oleh

pemrograman dinamis, untuk alasan ini, nama lain dari pemrograman dinamis adalah

pemrograman multitahap (multistage programming), karena prosedur ini pada

umumnya menentukan pemecahan dalam tahap-tahap.

Page 15: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

25

Sebagai suatu konsep, pemrograman dinamis lebih luwes dibanding kebanyakan

model dan metode matematika dalam riset operasi. Penerapan pendekatan pemrograman

dinamis telah mampu menyelesaikan aneka masalah, seperti : alokasi, muatan, capital

budgeting, pengawasan persediaan, penjadwalan, dan lain lain. Tidak seperti linear

programming, dalam masalah pemrograman dinamis tak ada formulasi matematika

yang baku, sehingga merupakan kesulitan bagi seorang pemula untuk mempelajari

pemrograman dinamis ini.

Pemrograman dinamis sebagai suatu teknik optimasi memiliki beberapa

kelebihan diantaranya :

• Proses pemecahan suatu masalah yang kompleks menjadi sub-sub masalah yang

lebih kecil membuat sumber permasalahan dalam rangkaian proses masalah

tersebut menjadi lebih jelas untuk diketahui.

• Pendekatan pemrograman dinamis dapat diaplikasikan untuk berbagai macam

masalah pemrograman matematika, karena pemrograman dinamis cenderung

lebih fleksbel daripada teknik optimasi lain.

• Prosedur perhitungan pemrograman dinamis juga memperkenankan bentuk

analisis sensitivitas terdapat pada setiap variabel status (state) maupun pada

variabel yang ada di masing-masing tahap keputusan (stage).

• Pemrograman dinamis dapat menyesuaikan sistematika perhitungannya menurut

ukuran masalah yang tidak selalu dengan tetap dengan tetap melakukan

perhitungan satu per satu secara lengkap dan menyeluruh

Disamping memiliki kelebihan, pemrograman dinamis juga memiliki beberapa

kekurangan, diantaranya :

Page 16: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

26

• Penggunaan pemrograman dinamis jika tidak dilakukan secara tepat, akan

mengakibatkan ketidakefisienan biaya maupun waktu. Karena dalam

menggunakan pemrograman dinamis dibutuhkan keahlian, pengetahuan, dan

seni untuk merumuskan suatu masalah yang kompleks, terutama yang

berkaitan dengan penetapan fungsi transformasi dari permasalahan tersebut.

• Pemrograman dinamis tidak memiliki suatu bentuk formulasi matematika

yang baku untuk digunakan secara konsekuen, sehingga perhitungan untuk

menghasilkan keputusan optimal yang dilakukan terbatas pada kondisi

tertentu.

• Hambatan terbesar pada pemrograman dinamis adalah masalah

dimensionalitas, yaitu masalah dimana peningkatan variabel keadaan yang

digunakan dalam perhitungan pemrograman dinamis akan menambah beban

memori komputer serta menambah lama waktu perhitungan.

Tahap keputusan (stage) sebagai salah satu unsur penting dalam model

pemrograman dinamis merupakan bagian-bagian masalah yang lebih sederhana.

Serangkaian tahap keputusan yang berurutan dan terkait satu sama lain akan

membentuk keseluruhan masalah.

Keadaan sistem merupakan salah satu konsep yang paling penting dalam suatu

model pemrograman dinamis, karena keadaan sistem mewakili hubungan antara tahap-

tahap keputusan yang berurutan. Dimana ketika setiap tahap dioptimalkan secara

terpisah, maka keputusan yang dihasilkan tersebut layak dan optimal untuk keseluruhan

masalah. Lebih lanjut, hal tersebut memungkinkan pengambilan keputusan adalah

Page 17: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

27

optimum untuk tahap-tahap selanjutnya tanpa harus melakukan pemeriksaan terhadap

pengaruh keputusan yang telah diambil sebelumnya.

Definisi keadaan biasanya adalah konsep yang paling tidak jelas dalam

perumusan pemrograman dinamis. Tidak ada jalan yang mudah untuk mendefinisikan

keadaan, tetapi petunjuk untuk itu dapat ditemukan dengan mengajukan dua pertanyaan

berikut :

• Hubungan apa yang mempersatukan tahap-tahap itu?

• Informasi apa yang diperlukan untuk mengambil keputusan yang layak pada

tahap sekarang tanpa memeriksa kelayakan dari keputusan yang diambil pada

tahap-tahap sebelumnya ?

Alternatif keputusan merupakan pilihan keputusan yang harus ditentukan agar

keputusan pada tiap-tiap tahap optimal, sehingga keputusan akhir untuk keseluruhan

masalah juga optimal. Alternatif dalam model pemrograman dinamis dinyatakan dalam

bentuk variabel keputusan yang memiliki batasan-batasan tertentu.

Penyelesaian masalah dalam pendekatan pemrograman dinamis dapat dilakukan

secara maju (forward recursive equation) ataupun secara mundur (backward recursive

equation). Perbedaan utama antara forward recursive equation dan backward recursive

equation terletak dalam cara mendefinisikan status (state) atau yang sering disebut

dengan definisi keadaan. Secara umum dirumuskan sebagai berikut :

• forward recursive equation (perhitungan dari depan ke belakang)

f0(X0) = 0

fi*(Xi) = opt {Rj(kj)@fj-1*(Xj@kj)} , j = 1,2,…,n

Page 18: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

28

• backward recursive equation (perhitungan dari belakang ke depan)

fn(Yn) = 0

fj*(Yj) = opt {Rj(kj)@fj+1*(Yj@kj)} , j = 1,2,…,n

Keterangan :

f*(X) atau f*(Y) = optimum return function

X atau Y = status (state)

X @ k atau Y @ k = fungsi transisi

j = tahap ke-

k = variabel keputusan

@ = simbol atau lambang operasi matematik

Pada umumnya, penyelesaian masalah dengan forward recursive equation dan

backward recursive equation akan mengarah kepada efisiensi perhitungan yang berbeda

jika tahap-tahap keputusan dalam model pemrograman dinamisnya dikondisikan dalam

urut-urutan yang spesifik.

Secara umum, masalah optimasi dapat diselesaikan dengan prosedur forward

recursive equation maupun backward recursive equation. Tetapi untuk masalah tertentu,

khususnya masalah yang tahap-tahap keputusannya berhubungan dengan periode waktu,

penyelesaian masalah tidak dapat menggunakan prosedur forward recursive equation

namun harus menggunakan prosedur backward recursive equation.

Formulasi pemrograman dinamis untuk pemecahan masalah

Ri : min Li dengan Li ≡ ∑∑= =

+i ij

ij

N

j

c

bkijhkiiTw

1

π

adalah sebagai berikut :

Page 19: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

29

( ) ( )}min{, 1,1,,,

,

,

−−=

++Δ= ∑ jiji

c

bkijhkiijiji bVTwjbiV

ji

ji

π

( )1,1,, min,

,

−−=

++Δ= ∑ jiji

c

bkijhkiiji bVTw

ji

ji

π

dimana

( )jbiV ji ,, adalah nilai/biaya minimum subproblem Li

ji,Δ = 1 jika operasi (i,j) adalah operasi tahap terakhir dan 0 untuk yang lainnya.

3.12 Algoritma List Scheduling

Menurut Hurink dan Knust (2001), list scheduling adalah konsep yang telah

digunakan secara luas dalam masalah penjadwalan. Pada dasarnya algoritma list

scheduling adalah sebuah prosedur yang menempatkan sejumlah urutan pekerjaan

(dibuat dalam bentuk list sesuai kriteria keputusan penjadwalan) pada posisi jadwal

yang sesuai dengan jumlah pekerjaan tersebut. Prosedur tersebut menempatkan

pekerjaan-pekerjaan tersebut pada jadwal berdasarkan list pekerjaan yang telah dibuat.

Menurut Ladsaria (2002) algoritma ini pada dasarnya adalah melakukan

langkah-langkah sebagai berikut :

• Menentukan prioritas atau aturan tertentu terhadap semua operasi/aktivitas.

• Mengurutkan operasi/aktivitas berdasarkan prioritas tersebut.

• Mengisi tempat/sumber yang tersedia pertama dengan operasi/aktivitas sesuai

urutan yang telah dibuat dengan memperhatikan operasi/aktivitas yang telah

mengisi tempat/sumber yang telah tersedia (hubungan ketergantungan antar

operasi).

Page 20: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

30

Prioritas atau pengurutan operasi amat menentukan kualitas dari jadwal dan

terpenuhinya tujuan dari penjadwalan yang dilakukan.

Suprayogi dan Mardiono (1997) memodifikasi algoritma list scheduling dari

Luh et al.(1990) dalam masalah penjadwalan job majemuk operasi tunggal sumber

majemuk paralel simultan. Konsep dasar algoritma yang dikembangkan tersebut adalah

sebagai berikut :

Setiap waktu awal aktivitas yang didapatkan dari suatu solusi matematis yang

belum layak diurutkan dari yang terkecil sampai yang terbesar. Jika terdapat waktu awal

aktivitas yang sama, digunakan kriteria biaya (berdasarkan besarnya bobot job dan

keterlambatan terhadap due date aktivitas tersebut) untuk pemilihan aktivitas yang akan

didahulukan. Maksudnya, jika aktivitas tersebut terlambat untuk satu satuan waktu

berapakah biaya tambahan yang terjadi. Semakin kecil biaya yang terjadi maka aktivitas

tersebut akan didahulukan.

Kemudian berdasarkan urutan aktivitas tersebut, tiap aktivitas dimasukkan ke

dalam slot waktu penjadwalan dengan memperhatikan kendala ketersediaan tiap sumber

yang digunakan untuk mengerjakan aktivitas-aktivitas. Ketika sumber yang dibutuhkan

sudah digunakan (kapasitas tidak memenuhi lagi untuk slot waktu k), aktivitas-aktivitas

yang tersisa (membutuhkan sumber tersebut pada slot waktu k) akan ditunda selama

satu unit slot waktu.

Dengan algoritma ini, setiap solusi awal yang akan dijadikan sebagai dasar

untuk melakukan list scheduling akan menentukan apakah hasil list scheduling yang

dilakukan baik atau buruk. Solusi yang baik akan menghasilkan jadwal layak yang baik,

sementara solusi yang buruk akan menghasilkan jadwal layak yang buruk.

Page 21: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

31

Pseudocode dari algoritma list scheduling menurut Suprayogi dan Mardiono

(1997) dalam masalah penjadwalan banyak job operasi tunggal dengan sumber

majemuk paralel simultan adalah sebagai berikut :

Setelah mendapatkan waktu awal untuk tiap operasi pada tiap job melalui penjadwalan

job individu dan iterasi subgradien pada Relaksasi Lagrange, maka dilakukanlah

prosedur list scheduling. Misal didefinisikan Si adalah urutan dari N – i + 1 job, yaitu 1 ,

2, …, N – i + 1 yang berkaitan dengan satu himpunan N = I +1 slot waktu awal {Bj},

yang diurutkan dari paling kecil ke terbesar sedemikian sehingga B1≤B2≤…≤BN-i+1 dan

jika Bl = Bl+1 maka wl(Tl + 1) ≥ wl+1(Tl+1 +1 ). Diberikan Si dan {Mhk}

Langkah 0 : Tetapkan i =1

Langkah 1 : Tetapkan k = 1

Langkah 2 : Jika Mhk ≠ 0 (h = 1,...,Hi, Hi є H) maka jadwalkan job i mulai dari

waktu k, Bi = k, tetapkan Mhl = Mhl – 1 untuk l =k, k+l,…,k+ti-1 dan

lanjutkan ke langkah 5. Jika tidak, lanjutkan ke langkah 3.

Langkah 3 : Tetapkan k = k+1, jika Bi ≥ k, lanjutkan ke langkah 2. Jika tidak,

lanjutkan ke langkah 4.

Langkah 4 : Untuk semua job yang belum terjadwal sedemikian sehingga Bi < k,

tetapkan Bi = k dan urutkan Si, dan lanjutkan ke langkah 2.

Langkah 5 : Tetapkan i = i + 1. Jika i ≤ N kembali ke langkah 1. Jika tidak behenti.

Page 22: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

32

3.13 Rekayasa Piranti Lunak

3.13.1 Pengertian Rekayasa Piranti Lunak

Menurut Sommerville (1995) rekayasa piranti lunak mencakup tiga elemen

utama yang mengkontrol keseluruhan dari proses pengembangan piranti lunak , yaitu :

1. Metode-metode (Methods)

Menyediakan cara teknis membangun piranti lunak, terdiri dari :

• Perencanaan proyek estimasi

• Analisis kebutuhan sistem dan piranti lunak

• Rancangan struktur data

• Arsitektur program

• Algoritma prosedur

• Pengkodean

• Testing

• Pemeliharaan

2. Alat-alat (tools)

Memberi dukungan otomatis terhadap metode Computer Aided Software

Engineering (CASE) yang mengkombinasikan piranti lunak dan piranti keras.

3. Prosedur-prosedur (procedures/theories)

Merupakan penggabungan antara metode dengan alat bantu.

Page 23: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

33

3.13.2 Model Rekayasa Piranti Lunak

Model rekayasa piranti lunak yang digunakan adalah Classic Cycle (Waterfall

Model). Model ini dipilih karena sistem yang dirancang akan mudah dievaluasi

walaupun belum mendapatkan hasil akhir. Terdiri dari lima tahap :

1. Requirements definition

Dalam tahapan ini, difokuskan pada perancangan piranti lunak yang akan

dibangun, pembatasan kegunaan dan tujuan yang akan dicapai oleh sistem.

Dikumpulkan pula informasi yang dibutuhkan dan dipahami fungsi apa saja

yang diinginkan sesuai dengan kesepakatan dalam konsultasi antara pengguna

dan perancang piranti lunak.

2. System and software design

Dalam tahapan ini, didesain penggambaran modul dari piranti lunak secara

terperinci dan dilakukan pengkajian kualitas. Tahapan ini berfokus pada struktur

data, arsitektur piranti lunak dan prosedur secara detil. Selain itu dilakukan juga

langkah pengkodean dengan mengubah desain yang telah dirancang ke dalam

bentuk yang dapat dibaca oleh mesin.

3. Implementation and unit testing

Sebuah piranti lunak terdiri dari sekumpulan unit program (program units) yang

memiliki tugas dan deskripsi masing-masing yang lebih spesifik. Pada tahapan

ini dilakukan pengujian setiap unit program secara terpisah dengan melihat

kesesuaian unit dengan spesifikasi yang diinginkan.

Page 24: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

34

4. Integration and system testing

Setelah pengujian setiap unit program, maka semua unit program yang ada akan

diintegrasikan menjadi sebuah piranti lunak yang lengkap dan dilakukan

pengujian pada semua fungsi dalam piranti lunak yang sudah dibangun.

Pengujian ini dimaksudkan untuk menemukan kemungkinan adanya kesalahan

serta memastikan keluaran yang dihasilkan telah sesuai dengan yang diinginkan.

5. Operation and maintenance

Piranti lunak yang baik harus mampu melakukan penyesuaian terhadap

perubahan/peningkatan yang mungkin terjadi di masa mendatang, baik

dikarenakan peningkatan kebutuhan pengguna ataupun pengembangan dari

lingkungan di luar sistem piranti lunak tersebut sehingga tidak perlu dibuat

program baru hanya untuk memenuhi kebutuhan yang mungkin menjadi lebih

kompleks.

Kelebihan model ini adalah :

• Hasil akhir sesuai dengan kebutuhan yang diinginkan.

• Bila terjadi kesalahan atau kekurangan dalam proses perancangan dapat

langsung dievaluasi dan dilengkapi.

• Penghematan biaya karena hasil akhir dari perancangan piranti lunak tidak akan

mengalami perubahan atau penambahan dalam skala besar karena telah sesuai

dengan kebutuhan dan keinginan.

Page 25: BAB 3 LANDASAN TEORI 3.1 Definisi Penjadwalanthesis.binus.ac.id/Asli/Bab3/2007-2-00463-MTIF_Bab 3.pdf · LANDASAN TEORI 3.1 Definisi Penjadwalan ... suatu penjadwalan yang diartikan

35

Kekurangan model ini adalah :

• Dibutuhkan pemakai yang mampu memprediksikan kebutuhan secara terperinci

dan lengkap, agar tidak mengalami penambahan berkali-kali yang akan

menghambat perancangan.

• Bila ada penambahan kebutuhan, maka akan mengulang proses pembuatan dari

awal yang akan memboroskan waktu.

• Tidak ada gambaran hasil akhir dari perancangan.

• Penjelasan dalam perancangan harus jelas, karena hal ini akan menjadi acuan

dalam proses desain pengkodean.

Berikut ini merupakan tahapan dalam Classic Cycle atau Waterfall Model menurut

Sommerville (1995) :

Gambar 3.3 Waterfall Model

Requirements definition

System and Software Design

Integration and System Testing

Operation and Maintenance

Implementation and Unit Testing