• Tidak ada hasil yang ditemukan

Batasan

Dalam dokumen DALAM JARINGAN RANTAI PASOK (Halaman 60-74)

BAB IV PERANCANGAN DAN IMPLEMENTASI

4.4 I MPLEMENTASI PROSES

4.4.3 Batasan

Pada bagian ini akan dijelaskan penulisan tiap batasan pada program aplikasi

Matlab

dimana setiap koefisien variabel keputusan pada tiap batasan agar terbentuk matrix, bisa juga setiap batasan tersebut dikelompkkan pada bagian yang kiri (Left Hand Side) adalah variabel keputusan dan yang bagian kanan (Right Hand Side) adalah data.

4.4.3.1 Batasan 1

y H x

S t

t

= +

.

(4.1) Jumlah jam kerja pada formulasi 4.1 selama setahun yang dilambangkan dengan xt harus seimbang dengan jam kerja tahunan H dan jam lembur, karena batasan ini perlu dikelompokkan RHS dan LHS nya sehingga akan muncul batasan baru

H y x

S t

t =

karena batasan ini berbentuk persamaan sehingga nilai batas atas dan bawah adalah sama yaitu nilai H (H=1840). Alur program batasan ini ditunjukkan dalam Gambar 4.8 :

Gambar 4.8 Kode program batasan 1

Pada baris program 49 kita mulai membuat sebuah matrix kosong dengan 1 baris dan jumlah kolom sebanyak jml. Baris program 52 adalah mulai memasukkan variabel xt baris program 53

33

adalah untuk meletakkan awal mulai memasukkan variabel y kedalam matrix, baris program 55-56 adalah nilai untuk batas atas dan bawah yang bernilai sama yaitu H karena batasan ini berbentuk persamaan.

4.4.3.2 Batasan 2

Pada formulasi 4.2 permintaan produk pada minggu ke s yang terlayani pada minggu ke t ditambah dengan permintaan yang lost demand harus seimbang dengan tipe permintaan yang ada yaitu nonseasonal, seasonal 1 peak dan seasonal 2 peaks. Alur program batasan 2 ini akan seperti yang telihat pada Gambar 4.9 :

Gambar 4.9 Kode program batasan 2

Dari baris program diatas pada baris ke 69-71 adalah untuk melooping nilai dari variabel rqs, nilai s bernilai (1...52) tanpa dikurangi dengan minggu libur. Pada baris ke 73 adalah looping untuk menghitung nilai vqst misal nilai s=1 dan nilai t mengikuti nilai dari s maka vqst akan bernilai v111, v112, v113 nilai t hanya sampai 3 karena nilai t ditambah dengan nilai td dimana nilai td=2, sedangkan nilai batas atas dan bawah harus load data sesuai dengan tipe permintaan.

Pada formulasi 4.3 inventory suatu barang pada minggu sebelumnya ditambah dengan produksi pada minggu ini harus sama dengan permintaan produk pada minggu ini yang dapat ditunda sampai 2 minggu kedepan ditambah dengan inventory minggu ini, batasan ini memiliki pengecualian ketika t=1 karena itu merupakan data pada minggu sebelumnya stq,t-1 dimana nilainya adalah 30. Model ini perlu dirubah untuk menyesuaikan koefisiennya

S

Dimana nantinya nilai batas atas dan bawah hanya pada minggu yang pertama nilainya adalah 30 sedangkan sisanya adalah bernilai 0. Alur program batasan ini seperti pada Gambar 4.10 :

35

Gambar 4.10 Kode program batasan 3

Pada kode baris diatas dibuat terlebih dulu matrix A sementara dengan nama A4 seperti pada baris 86 kemudian pada baris ke 90 sampai 94 untuk menghitung nilai stqt dan stq,t-1 sedangkan

untuk variabel keputusan pqt mulai dilakukan looping pada baris ke 96-97 dengan nilai 1, pada baris 98-116 looping dilakukan untuk menghitung nilai dari varibel vqst, pada beberapa baris tertentu variabel ini melakukan penyesuaian agar letak kolom pada matrix A yang nanti akan digunakan bisa sesuai. Karena batasan ini berbentuk persamaan maka batas atas dan bawah batasan bernilai stq,0 yaitu 30 hanya pada t=1 sedangkan sisanya akan bernilai 0 seperti yang terlihat pada baris ke 118-120.

4.4.3.4 Batasan 4

Pada formulasi 4.4 permintaan pada minggu-minggu libur padahal tidak ada produksi menyebabkan barang tersebut mengalami lost demand pada minggu-minggu libur, batasan ini hampir sama dengan batasan 3 sebelumnya tetapi hanya dilakukan pada minggu minggu libur saja. Model matematis ini perlu dikelompokkan antara ruas kanan dan kiri sehingga menjadi.

S

Dimana nantinya nilai dari batas atas dan bawah akan bernilai sama yaitu 0. Alur program batasan ini seperti pada Gambar 4.11 :

37

Gambar 4.11 Kode program batasan 4

Alur program batasan ini dilakukan perhitungan untuk stqt

dan stq,t-1 pada baris ke 130-134, sedangkan 136-147 dilakukan perhitungan nilai vqst hanya pada minggu minggu libur saja, pada baris 138 dan 142 dilakukan penyesuaian agar nilainya sesuai dengan kolom, pada batasan ini baris ke 149-150 menunjukkan nilai batas atas dan bawah yang bernilai sama 0 karena memang bentuknya persamaan.

4.4.3.5 Batasan 5

Perhitungan pada formulasi 4.5 adalah perhitungan waktu yang dibutuhkan untuk memproduksi barang harus kurang dari jumlah jam kerja yang telah ditetapkan, batasan ini model matematisnya perlu dikelompokkan sehingga variabel xt harus dirubah kekiri menjadi bernilai negatif

S batas bawah menjadi -inf. Alur program batasan ini bila dituliskan seperti pada Gambar 4.12 :

Gambar 4.12 Kode program batasan 5

Baris 163 adalah mengidikasikan bahwa xt sebanyak 52 kolom akan bernilai -1, sedangkan 164-165 adalah mengidikasikan pqt

bernilai 1/ et, dimana et adalah pengganti dari

ρ

qt

, sedangkan 167-168 adalah letak kolom dari eqt , dimana eqt sendiri adalah berbentuk

39

binary yang bernilai antara 0 dan 1. Baris 169-170 adalah batas atas yang bernilai 0 dan batas bawah yang bernilai –inf.

4.4.3.6 Batasan 6

S t q

TP hM e

pqt

qt

. ρ

qt

.(

t

q

); = 1 ,... 0 ; ∀ ∈

(4.6) Model matematis pada formulasi 4.6 ini mengatur tentang produksi suatu barang, model ini perlu dirubah agar koefisien yang dimasukkan pada matrix A menjadi konsisten

S t q

TP hM

e

pqtqt.

ρ

qt.( tq) ≤ 0; = 1,... 0;∀ ∈ Dari model baru ini bisa diketahui bahwa nilai variabel eqt memiliki nilai koefisien negatif, sedangkan batas atas dan bawah model ini menjadi bernilai –inf untuk batas bawah dan bernilai 0 untuk batas atas. Alur program batasan ini seperti pada Gambar 4.13 :

Gambar 4.13 Kode program batasan 6

Pada batasan diatas, baris 179-180 mengatur tentang pqt yang mulai terletak pada kolom 311, baris 181 mengatur tentang awal mulai letak variabel keputusan eqt. Karena variabel ini berbentuk binary, sehingga apabila nilainya 1 maka akan dilakukan perhitungan pada batas atas jam kerja (hMt) dikurangi dengan rata-rata waktu

persiapan untuk produksi (TPq). Baris 184-185 mengatur tentang batas atas yang bernilai 0 dan batas bawah yang bernilai –inf.

4.4.3.7 Batasan 7

S t a h hM h

xt

A

+ (

t

A

).

t

; ∀ ∈

(4.7) Model matematis pada formulasi 4.7 ini mengatur tentang minggu kuat, yaitu minggu yang jam kerjanya lebih dari 44 jam.batasan ini tidak berlaku apabila penetapan batas atas dan bawah jam kerja sama dengan 40 jam perminggu. Variabel keputusan at adalah berbentuk binary sehingga apabila jam kerja termasuk minggu kuat maka akan bernilai 1, model matematis ini perlu dikelompokkan RHS dan LHS sehingga sebelah kiri menjadi variabel keputusan

S t h a h hM

xt

− (

t

A

).

t

A

; ∀ ∈

setelah mengalami perubahan maka batas atas model ini menjadi bernilai hA dimana nilainya adalah 44 jam. Alur program batasan ini seperti pada Gambar 4.14 :

Gambar 4.14 Kode program batasan 7

Baris 211 adalah untuk mengatur tentang variabel xt dimana nilainya adalah 1 sedangkan 212 adalah untuk menentukan awal letak kolom pada matrix A variabel keputusan at yang selanjutnya

41

dilakukan looping, sedangkan nilai dari variabel ini adalah batas atas (hmt) dikurangi dengan batas jam kerja minggu kuat (hA), sedangkan batas atas model ini merupakan nilai dari hA yaitu 44 jam dan batas bawahnya adalah –inf.

4.4.3.8 Batasan 8

S t

t A

a (4.8) Nilai dari minggu kuat selama satu planning horizon seperti yang terlihat pada formulasi 4.8 harus kurang dari nilai A yaitu 15 minggu, nilai dari batasan 8 ini tidak perlu dirubah karena koefisien sudah sesuai. Alur program batasan ini seperti pada Gambar 4.15 :

Gambar 4.15 Kode program batasan 8

Pada batasan ini nilai dari variabel at adalah 1, batasan ini berbentuk binary variabel sehingga nilainya antara 0 dan 1. Letak batasan ini pada kode program diatas terletak pada baris ke 225-226, sedangkan 227-228 adalah untuk mengatur tentang batas atas yang bernilai 15 dan batas bawah yang bernilai –inf.

4.4.3.9 Batasan 9

t t B t

t hM h hM b

x

≤ + ( − ).

tS (4.9) Hampir sama seperti pada batasan sebelumnya tetapi pada batasan 9 seperti terlihat pada formulasi 4.9 ini mengatur tentang minggu lemah, dimana jam kerja dibatasi apabila kurang dari 30 jam termasuk minggu lemah. Variabel keputusan bt berbentuk binary variabel yang bernilai antara 0 dan 1 batasan ini digunakan apabila penetapan jam kerja batas bawahnya kurang atau sama dengan 30 jam, model matematis diatas harus dirubah agar koefisiennya konsisten xt

− (

hB

hMt

).

bt

hMttS sehingga nilai batas atas dan batas bawah menjadi bernilai 0. Alur program batasan ini sesuai Gambar 4.16 :

Gambar 4.16 Kode program batasan 9

Pada kode program diatas nilai dari xt direpresentasikan pada barus 237, sedangkan baris ke 238 merupakan penentuan awal letak dari variabel keputusan bt, dimana koefisien variabel ini bernilai jam kerja minggu lemah (hB) dikurangi dengan penentuan batas atas jam kerja (hMt). Sedangkan batas atas bernilai hMt dan batas bawah bernilai –inf yang terletak pada baris 241-242.

43

4.4.3.10 Batasan 10

S t

t B

b (4.10) Hampir sama seperti batasan 8, tetapi batasan ini seperti terlihat pada formulasi 4.10 mengatur tentang jumlah jam kerja minggu lemah yang diperbolehkan. Yaitu jam kerja minggu lemah tidak boleh lebih dari nilai B (10) minggu. Batasan ini model matematisnya harus dirubah menjadi persamaan kurang dari sehingga menjadi

S t

t B

b setelah dirubah maka nilai dari variabel keputusan dan data akan bernilai negatif. Alur kode program batasan ini sesuai dengan Gambar 4.17 :

Gambar 4.17 Kode program batasan 10

Batasan ini bentuk matrixnya terdiri dari 1 baris dengan jumlah kolom sebanyak jml yaitu 518, kemudian pada kolom 251 mulai ditentukan letak kolom awal dari bt yang nantinya akan terus melooping dengan nilai -1, batas atas dari batasan ini adalah –B yang bernilai 10 sedangkan batas bawah bernilai –inf.

4.4.3.11 Batasan 11

MY

y

(4.11) Pada formulasi 4.11 jumlah lembur dalam satu tahun tidak boleh lebih dari nilai MY yaitu 80 jam, nantinya pada model ini batas atas akan bernilai 80 dan batas bawah akan bernilai –inf, batasan ini tidak perlu dirubah karena sudah sesuai. Alur program akan seperti pada Gambar 4.18 :

Gambar 4.18 Kode program batasan 11

Pada kode program ini hanya menempatkan satu nilai saja yaitu nilai y, pada baris 255 tersebut diletakkan nilai dari kolom y yaitu 53, sedangkan batas atas adalah MY (80 jam) dan batas bawah adalah –inf.

4.4.3.12 Batasan 12

t

t x

hm

tS (4.12) Model matematis pada formulasi 4.12 ini menunjukkan bahwa penentuan batas bawah harus kurang dari jam kerja minggu tersebut, model ini tidak perlu dirubah tetapi nilai hmt yang seharusnya terletak pada batas atas menjadi batas bawah. Alur dari kode program seperti pada Gambar 4.19 :

45

Gambar 4.19 Kode program batasan 12

Dari kode program batasan diatas dapat diketahui bahwa jam kerja yang telah diterima oleh pekerja tidak boleh kurang dari nilai xt , baris ke 265 digunakan untuk menyimpan hasil dari nilai dari xt.

4.4.3.13 Batasan 13

t

t hM

x

tS (4.13) Model matematis pada formulasi 4.13 ini menunjukkan bahwa penentuan batas atas harus kurang dari jam kerja minggu tersebut. Alur dari kode program seperti pada Gambar 4.20 :

Gambar 4.20 Kode program batasan 13

Dari kode program batasan diatas dapat diketahui bahwa jam kerja yang telah diterima oleh pekerja tidak boleh lebih dari nilai hMt.

Dalam dokumen DALAM JARINGAN RANTAI PASOK (Halaman 60-74)

Dokumen terkait