repository.its.ac.idrepository.its.ac.id/70637/1/2690100025-Undergraduate_Theses.pdf · 13 ism iII...

120
PENYELESAIAN MASALAH KNAP DUA DIMENSI DENGAN ALGORITMA APROKSIMASI Disusun Oleh : : T s TaL Thrinu · jf) · r MUTIA AIZA JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INOUSTRI INSTITUT TEKNOLOGf SEPULUH NOPE SURABAYA 1999

Transcript of repository.its.ac.idrepository.its.ac.id/70637/1/2690100025-Undergraduate_Theses.pdf · 13 ism iII...

PENYELESAIAN MASALAH KNAP DUA DIMENSI DENGAN

ALGORITMA APROKSIMASI

Disusun Oleh : : T s ~--.,.··-·----·-:~=:---:-·

TaL Thrinu · jf) · r Ztf_~~ MUTIA AIZA

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INOUSTRI

INSTITUT TEKNOLOGf SEPULUH NOPE SURABAYA

1999

PENYELESAIAN MASALAH KN DUA DIMENSI DENGAN

ALGORITMA APROKSIMASI

TUGAS 'AKHIR Diajukan Guna Memenuhi Sebagian Persya n

Untuk Memperoleh Gelar Sarjana Komputer

Pad a

Jurusan Tekni- lnformatika

Fakultaa Teknologi lndustri

lnstitut Teknologi Sepuluh Nopember

Surabaya

Mengetahui 1 Menyetujui

Dosen Pembimbing I

M.Sc.

NIP. 131 633 403

SURABAYA I

Pebruari!, 1999

M.Kom

13 ism iII ah( rralmw 1111 i rra lz i m,

!

'

~emi masa,

Sesunggulmya manusia ilu ~enar-benar berada dalam ian,

Kecuali orang-orang yang bleriman dan mengerjakan

dan nase/wt menasih~Ji supaya mdnaati'k

dan nasehat menaselu1Ji supaya menetapi

i

(Q.S. A)'Ashr 103:1-3)

I I

'

kupersenilbahkan untuk:

Gl/anwh tf 1?4cytah~ yallfj kitanla atas segala do'a, ketulusap dan kesabaran yang dibe

'm3a"11 o;£ ~ Q/f~a Qtric' @~ ya"11 at.as segala kasi~sayang dan dukungan

awla [ffl~· (/ Q/1ha?t~ ya?lf · .. I

ABStRAK

l~jisiensi sangat diperlukan dalmt:r setiap bidang, karena ini akan didapatkan suatu penghemata~ sumber daya. Di bidang ne.rTilast:ua·nun knapsack dua dimensi untuk pemoton!Jan bahan, efisiensi ne,f'I{T!~wux.rn sangat diperlukan untuk memaksimalkfn profit. Umha "'~~nuJ.K.~·tnlauran ini akan dipero/eh dari kombinasil pola pemotongan meminimalkan sisa bahan. ·

Dalam tugas akhir ini permasa!dhan knapsack dua dimensi «tCJt:lt::.)u

dengan sebuah teknik heuristik Dari ~nalisa struktura/ knapsack diturunkan a/goritma aproksimasi. Alg,.1ritma ini menggunakan nm,.mt1.'1a'Lat1an knapsack satu dimensi untuk menyele~aikan pemotongan bahan. menggunakan pola-pola untuk menghasf!kan sekumpulan strip-strip mengisikannya ke dalam lembaran baJI,tm sehingga diperoleh "'"'·'"u'4"•" optimal. Algoritma ini dinamakan dentf.m algoritma Best Strip Dengan menggunakan metode program idinamis, jumlah knapsack dapat dikurangi. Karena profit dari po~a adalah luasan dari pola maka fungsi tujuan adalah meminimal~n sisa bahan yang tidak '"',"W"'A'.

I

Algoritma Best Strip Cutting inil memberikan persentase 97%. Hasil uji coba terhadap data u~uran bahan yang besar efisiensi dari a/goritma ini sehingga !dapat digunakan untuk pen permasa/ahan di dunia nyata. Di bidJng usaha industri yang ,w,rnt.um

dengan permasalahan pemotongan ba~an seperti kertas, kaca, logam dapat memanjaatkan penyelesaia~1 ini dalam usaha rne:rt««JJ«t~~'~ makvima/ dengan sisa bahan seminima/ b1Ungkin.

IV

KATAP~NGANTAR

I

I

Assalamu'alaikum Wr. Wb.

I

Segala puji syukur penulis pan~atkan ke hadirat Allah yang Maha I

Pengasih lagi Maha Penyayang, karena h~nya dengan rahmat dan Nyalah pada I

akhirnya penulis dapat menyelesaikan tuglrs akhir denganjudul:

"PENYELESAIAN MASALAH KNAPSACK I

DUA DIME~SI DENGAN I

ALGORITMA ~I}ROKSIMASI" i

Tugas akhir ini mempunyai bobot kredit 6 SKS, yang sebagian

persyaratan untuk meraih geiar Saijana ~omputer di Jurusan Tekm I

Fakultas Teknologi Industri - Institut Tek1ologi Sepuluh Nopember S"r"n"''"' I

i

Harapan penulis semoga Tugas Akihir ini dapat diterima dan t bagi

I! semua pihak yang membacanya. !

PetlUI

v

UCAPAN TERIM-A KASIH

Dengan selesainya Tugas Akhir iml penulis ingin

terimakasih atas segala bantuan yang tak tcrnil4i harganya kcpada:

1. Dr. Jr. Arif Djunaidy, Plt.D., selaku Ket4a Jurusan Teknik Informati

Dosen Pembimbing 1.

2.

" .).

4.

5.

Jr. Esther Hanaya, M. Sc., selaku Sekret~ris Jurusan Teknik Intr1rrr1~t1 dan koordinator Tugas Akhir (trimakasilzlyang dalam untuk na.sell!lllt

nasehatnya) I

Dr. Jr. Drs.Ec. Ryanarto Sarno, selaku ~osen Wali.

'

Jr. Aries Tjahyanto, M. Kom., selaku Do~en Pembimbing II.

' Dosen-dosen JurusanTeknik lnformatik~ ITS, yang telah menurun

ilmunya dengan tulus ikhlas.

6. Staf TV Jurusan Teknik Itiformatika IT~, yang telah turut membant

memperlancar studi.

7. Rekan-rekan C06; Retno, Nana, Nanik, Ninok, Syaiful, Andi, Ketut,

rasa

Balttiar, Pramu dan khususnya Mustaki" untuk segala support yang "berikan

dengan tulus dan semoga Allah memberi ~alasan yang lebih baik.

8. Rekan-rekan C07-8; Atiek, Entin, Umi dak Lailil.

9. Teman-teman baikku; Ijal, Wati, Lisa, M'~antri (atas segala saran,

dan bantuan yang takkan terlupakan, ltmrya Allah yang akanuu;cuuJ""'""''~ I

dengan lebilz baik).

I 0. Rekan-rekan PMKTR; Dedy, /wan, Salmqn, Agus, Syahrul, B'Win

11. Zulfa (Buby), D'Ama, D'Da, Qotie, KeRerr, Nbri, /cut, Andre te

di KLAnom serta Mbo' Lin.

12. Untuk semua yang tak mungkin penulis s¢butkan satu persatu.

Vl

DAFT R lSI

ABSTRAK

KAT A PENGANTAR

l1CAPAN TERIMA KASIH

DAFTAR lSI

DAFT AR GAMBAR

DAFTAR TABEL

BAB I PENDAHULUAN

1.1 Latar Belakang

1.2 Perrnasalahan

1.3 Batasan Masalah

1.4 Tujuan dan Manfaat

1.5 Metodologi Penelitian

1.6 Sistematika Pembahasan

BAH II PERMASALAHAN KNAJ>SA

2.1 Pengertian Masa1ah Knapsack

2.2 Macam-Macam Masalah Knapsack

2.3 Metode Penye1esaian Masa1ah Kna

2.3.1 Program Linear

2.3.2 Metoda Heuristik

2.4 Program Dinamis

2.5 Permasa1ahan Knapsack Constrained

UAB Ill ALGORITMA AJ>ROKSIMAS

3.1 Penurunan Algoritma Aproksimasi

3.2 Algoritma Best Strips Cutting (BSC)

3.2.1 Identifikasi Masalah

VII

I

!

1e Choice

halaman

IV

v

VI

VII

X

XII

1

1

2 .., _, ..., _,

4

5

7

7

9

12

12

13

15

19

22

22

32

32

3.2.2 Metode Pemotongan Bahan D 3.3.4.1 Orthogonal dan N 3.2.4.2 Guillotine dan N

3.2.3 Trimming

3.2.4 Efek Simetris 3.2.5 Efek Susunan Potongan 3.2.6 Normalisasi Pemotongan 3.2.7 Pembagian Plat Menjadi Sub 3.2.8 Pembentukan Strip 1

Strip-Strip Horisontall 3.2.8.1

3.2.8.2 Strip-Strip Vertikal 3.2.9 Penempatan Strip-strip Pada 3 .2.1 0 Fase 0-cut

BAB IV PERANCANGAN DAN PE

PERANGKAT LUNAK

4.1 Gambaran Umum Perangkat Lunak 4.2 Diagram Alir Data (DAD)

4.3 Perancangan Data

4.3.1 Data Masukan

4.3.2 Data Saat Pemrosesan

4.3.3 Data keluaran

4.4 Perancangan Proses

4.4.1 Pembentukan Pp dan Pt

4.4.2 Pembentukan Strip 4.4.3 Pengisian Plat

4.4.4 Pola Pemotongan 4.4.5 Hirarki Modul

4.5 Perancangan Menu

4.6 Pembuatan Perangkat Lunak

4.6.1 Struk'1ur Data

4.6.2 Modul Pembentukan Strip

4.6.3 Modul Pengisian Plat

4.6.4 Modul Pembuatan Gambar

I

I

Dua Dimensi

TAN

Nl'i '1\ p RPU

V111

34

34

34

35

36

36

37

38

40

40

41

41

46

48

48

49

51

51

52

54

55

55

57

59

60

61

62 64

64

65

66 68

It<:;, TtTUi TE OGI

St:.,.ULUH -· N

BAB V HASIL UJI COBA DAN J>E

5.1 Data Random

5. 1.1 Hasil Komputasi

5.2 Data Terpilih

5.2.1 Penyelesaian Dengan BSC

5.2.2 Fase 0 Cut

5.2.3 Hasil Komputasi

BAB VI PENUTUP

6. 1 Kesimpulan

6.2 Saran

DAFTAR PUSTAKA

HASAN

LAMPIRAN A: Panduan Pengoperasia Perangkat Lunak LAMPIRAN B: Data Masukan Rand LAMPIRAN C: Contoh Penyelesaian ra Manual

69

69 70

72 74 77

78

80

80

81

82

A-1 B-1 C-1

IX

DAFT R GAM DAR

halaman

Gam bar 3.1 Pola Pemotongan Yang 0 selesaikan Dengan Algori Aproksimasi 26

Gam bar 3.2 Tiga Pola Pemotongan (pola w memiliki

panjang terkecil masuk ke dalam strip borisonta1 tepat kali) 31

Gam bar 3.3a Pola Pemotongan Optimal Disusun Oleh 2 Sub Plat (3 11) Dan (6, 11) 32

Gam bar 3.3b Struktur Strip Ekivalen

Gam bar 3.4a Pola Pemotongan Yang T

Gam bar 3.5a Pola Pemotongan Non

Gambar 3.5b Pola Pemotongan Yang

Gam bar 4.1 DAD Level 0, Sistem Lunak

Gam bar 4.2 ·an Pola Pemotongan

Gam bar 4.3 Model Data Plat (P, L), (p 1, l1) dan (p2, 12)

Gambar 4.5 Diagram Alir

Gam bar 4.6 Diagram Alir Pengisian

Gam bar 4.7 Diagram Alir Pencarian Po I Pemotongan

I

'"'') -'-

35

35

38

38

49

50

51

56

58

59

60

Gambar 4.8 Hirarki Modul Sistem

Gambar 4.9 Menu Sistem Perangkat

Gambar 5.1 Solusi Feasibel 1 Untuk PI

Gambar 5.2 Solusi Feasibel 2 Untuk PI

Gambar 5.3 Solusi Feasibel 3 Untuk P

Gam bar 5.4 Solusi Feasibel 4 Untuk PI

Gambar 5.5 Solusi Feasibel 5 Untuk

Gambar 5.6 Solusi Feasibel Fase 0-Cut

(9' 11)

(9' 11)

ft:.:I'(N()l0{;,

- ""0PFa.•-

XI

61

62

74

75

75

76

77

77

DAFT TABEL

halaman

Tabel2.1 Pemuatan Kendaraan Yang "tas 10 Ton 15

Tabel2.2 Nilai-Nilai Untuk f10 Dan 17

Tabel 2.3 Nilai-Nilai Untuk f10 18

Tabel2.4 Pengaruh Pemilihan Item Pada f() 19

Tabel2.5 Data Input 20

Tabel2.6 Output 21

TabeiS.l Hasil BSC Dan Fase 0-Cut uran Kecil) 70

Tabel5.2 Hasil BSC Dan Fase 0-Cut Besar) 71

Tabel5.3 Contoh 1 72

Tabel5.4 Contoh 2 73

TabeiS.S Contoh 3 73

Tabel5.6 Contoh 4 73

Tabel5.7 Contoh 5 73

Tabel5.8 Solusi Feasibel Pada Guill Vertikal 74

Tabel5.9 Solusi Feasibel Pada Horisontal 76

TabeiS.lO Hasil BSC Dan Fase 0-Cut 78

BABI

PE AHULUAN

1.1 LATAR BELAKANG

Dalam kehidupan sehari-hari

lembaran atau dua dimensi misalnya;

plastik. Bahan-bahan dihasilkan ol

dijumpai bahan/

sehingga belum dapat dipergunakan/ .... "''~"'"""'''u'"''"

kebutuhan setiap konsumen yang nPrnpn

pemotongan terlebih dahulu. ·

kebutuhan dan memberi suatu

yang dilakukan harus

Permasalahan pemotongan

pemotongan selembar empat persegi n:u11arJ!J

panjang kecil yang diberikan ukuran

memaksimalkan nilai bagian-bagian

sewaktu dilakukan pemotongan

diinginkan, dalam pemotongan karton

kayu untuk membuat perabotan.

dari masalah knapsack. Sebuah

Perkembangan teknologi mPnlltltnt

dimensi yang tak

sehingga dapat

Masalah ini

menjadi

akan diisi dengan

di bidang pemotongan bahan ini. m1 dipandang perlu

1 dalam bentuk

, kayu, kcrtas,

ukuran besar,

adalah

empat persegi

mengantisipasi semakin mem

Penggunaan komputer dalam mengoptim

persaingan pasar di

pengaturan kombinasi pola pada s bahan dengan metode

maksimal. Hasil yang dicapai akan dapat pengaruhi biaya

2

industri.

Dalam tugas akhis ini akan efisien

untuk menyelesaikan permasalahan dua dimensi atau T

Knapsack (TDK). Dari algoritma diturunkan algoritma

menggunakan permasalahan knapsack dimensi atau One

(ODK). serangkaian ODK

sekumpulan strip-strip optimal dan m

optimal menggunakan ODK yang lai ODK yang

terlibat, metode program dinamis dapat

masing-masing pola dengan luas

meminimalkan sisa yang tidak terpakai.

ukaannya, maka fungsi tujuan adalah

1.2 PERMASALAHAN

Masalah knapsack yang akan

masalah pemotongan benda dua dimensi tak terbatas. Bahan atau yang akan

dengan ukuran besar h~~>rhP..,tuk empat dipotong ini dianggap sebagai lembaran

persegi panjang yang akan dipotong

panjang berukuran kecil. Ukuran bahan Ao dengan ukuran panja dan lebarnya

(Po,Lo) akan dijadikan potongan empat

dengan ukuran {(p1, l1), (p2, h), ... , (Pro,

gi panjang kecil

Pengaturan letak pola-pola m jenis harus dilakukan

mungkin untuk mendapatkan basil optimal. Metode dinamis

digunakan untuk menyelesaikannya secara bertabap. Posisi pola-pola

dapat meminimalkan sisa baban pula. lgoritma approksimasi n diterapkan

untuk memberikan solusi optimal dari pemotongan ini.

1.3 BAT ASAN MASALAH

logam, atau tekstil) dengan jenis guillotine. dengan

guillotine berarti memotong mulai dari sampai ke sisi Dengan

pemotongan ini akan didapatkan basil terpisab dari

Pemotongan guillotine ini dilakukan normalisasi yaitu setiap

pola yang dihasilkan letaknya bersisian de1nl.!'m sisi pemotongan. akibat

pemotongan dianggap sangat tipis.

Banyaknya masing-masing pola

tak terbatas (unsconstrained). Sebingga

pada lembaran baban lebib dari 1 kali. N'

luas dari pola itu sendiri (Pili).

, sebingga (1, tidak sama

dengan (p,l).

1.4 TUJUAN DAN MANFAAT

Tujuan pembuatan tugas akhir ini

dua dimensi dengan algoritma aproksi

pemotongan benda dua dimensi tak t.•rt~!'lt!'l

hasil yang dicapai dengan metode sebel

optimal yang diperoleh akan

bahan yang tidak terpakai.

(unsconstrained)

(guillotine tanpa

4

memperbaiki

... , ............ ..,."). Solusi

Penerapan algoritma

knapsack dua dimensi ini dalam keh ·

asi untuk penyelesaian permasalahan

nyata, dapat · oleh siapa saja

bahan dua

memaksimalkan profit dengan me:mrnm1apmn sisa bahan terbuang.

1.5 METODOLOGI PENELITI

Dalam tugas akhir ini telah dil ... ,~""n""

• Studi literatur terhadap

apa yang telah diperoleh dalam

· untuk

pemotongan

ini. Karena tidak adanya m untuk

memberikan suatu hasil optimal dipergunakan

untuk menyelesaikan masalah i Diturunkannya algoritm approksimasi

dari analisa struktural pada me:tocle heuristik yang digunakan

masalah knapsack dua dimensi i ·, kemudian diterapkan

bahan dua dimensi tak terbatas i

Perancangan sistem dengan

menganalisa sistem

pemotongan

serta

• Pembuatan perangkat lunak untuk

algoritma ke dalam program dan m~·nnctr<lhl gkannya menj

sesuai rancangan yang diingin

• Evaluasi terhadap perangkat 1

menguji dan melakukan perbai

disusun menjadi laporan tugas

1.6 SISTEMATIKA PEMBAH

yang telah diim

Untuk memberikan gambaran jelas mengenai

lunak yang dibuat maka buku tugas akhir ·

Bab I Pendahuluan, di.., ... ,., ... ,""'

permasalahan, batasan masal~h tersebut

Bab II Permasalahan Knapsa

knapsack serta teori-teori yang mendasari

permasalahan knapsack.

tentang 1atar

Bab III Algoritma Approksim , dijelaskan dari

bahan dua dimensi berbentuk empat

approksimasi yang diterapkan dalam

masalah penyusunan model,

menggunakan algoritma tersebut.

Bab IV Perancangan dan Pem

sistem yang akan dibuat, input dan

sistem.

5

algoritma-

sikan dengan

akhirnya

masalah,

itu masalah

esaikan suatu

dari

algoritma

dengan

output dari

6

Bab V Hasil Uji Coba dan Pem

terhadap sistem yang telah diimplementasi kelebihan dan dari sistem

yang diimplementasikan.

Bah VI Penutup, disampaikan dari hasil yang telah

dilakukan dan saran dan kemungkinan pengembangan beri yang dapat

dilakukan terhadap perangkat lunak.

BAlB II I

PERMASALAH~N KNAPSACK

Permasalahan knapsack terdiri ~ari beberapa macam. J · I

i

segi jumlah knapsack maka terdapat knapsack tunggal dan knapsack

ditinjau dari segi jumlah item makal terdapat permasalahan I

I

permasalahan knapsack multiple choicef Dan jika ditinjau dari !

terdiri dari permasalahan knapsack 1 dititensi, permasalahan

dan permasalahan knapsack 3 dimensi.

Jika

0-1,

!

Pendekatan-pendekatan yang ipemah dilakukan untuk penyelesaian i

terhadap perrnasalahan-perrnasalahan kn~psack itu adalah dengan n•r,nr··an linear

I

dan heuristik. Untuk mengurangi jmiilah knapsack yang dil I

i

penyelesaian permasalahan knapsack ini tligunakan program dinamis I

2.1 !

PENGERTIAN PERMASAL~HAN KNAPSACK

Ketika melakukan suatu perjalajnan liburan atau bisnis, I

batasan dalam jumlah barang yang akan !dibawa. Demikian pula · ·

hiking, ransel yang digunakan hanya aka~ dapat memuat beberapa

volume yang terbatas. Jika mengadakan perjalanan dengan pesa

mungkin volume) barang yang dibawa dibatasi supaya tidak

tambahan. Apapun jenis kendaraan dipilih baik melalui

kereta api, akan selalu ada batasan

Sebagai akibatnya seseorang harus

dalam

8

dibawa dan mana yang tidak. ldealny~, yang dibawa adalah

penting saja.

I

Dalam bidang usaha komersil,! terdapat contoh-contoh

yang pada prinsipnya sama dengan seseotang yang akan m

yaitu pembatasan jumlah pemuatan barang ke dalam ruang I

terbatas ' I

volumenya. Misalnya paket pengangkuta~ intemasional yang mana

pengepakan barang ke dalam konta~ner. Jika paket ini

menggunakan jasa pengangkutan udara, ~aka akan mendapat pem"'"' .... ..,._ ... !

i

ketat dalam berat total kontainer terse but. iJasa pengangkutan laut j I

'

berat total kargo dari barang-barang yang ~ipaket. i

Masalah-masalah seperti di atas ~ulai diselidiki penyel

prO!:,Tfam dinamis. Hal yang menjadi perti!mbangan dengan i I

biaya atau profit. Disini titik perhatia~ pada masalah dimana

keputusan yang diambil melibatkan pe~ilihan sejumlah barang.

I

masing-masing keputusan yang dibuat akah membutuhkan biaya atau

yang berhubungan dengannya. Tapi kep\ltusan yang dibuat akan

keterbatasan suplai dari beberapa resomtce seperti berat, biaya '

volume. I

Keputusan mungkin sederhana apakah aka~ mengambil beberapa item atau tidak~ I

I

altematifnya, akan memperhatikan jumlah ~esource yang akan diamb1 Masalah I

inilah yang telah diuraikan diatas ini disebut dengan permasalaltan kn£AJosa'cK.

Jadi perrnasalahan knapsack adala~ perrnasalahan ketika ... ,_,,,_., .. ," I

akan mengadakan perjalanan dengan metpbawa sebuah kantong. lnl i I

dapat diisi dengan berrnacam-macam baran~ yang memiliki nilai

I

Masalah muncul ketika harus memilih bar1ng mana yang harus di sehingga

sesuai dengan kapasitas kantong tadi.

9

Dari gambaran diatas dapat dirurttuskan menjadi suatu I

Jika n adalah jumlah item barang, Pi ad~lah nilai barang ke j, Xj jumlah i

barang ke j yang dipilih, Wj volume iterr ke j, dan C adalah nL4fJ""''

I

kantong.

Perumusan matematika dari pers~alan di atas:

Fungsi tujuan: (2.1)

Syarat: L wjxj 5cyXj ~ O,j i= t ... ,n i

2.2 JENIS PERMASALAHAN KN~PSACK1

i

Permasalahan knapsack ada betn"tacam-macam tergantung dari mana '

!

peninjauan yang dilakukan terhadap masal~h tersebut. I

Jika dilihat berdasarkanjumlah ~makaian knapsack, maka

knapsack dibedakan menjadi dua macam stbagai berikut:

I

• Permasalahan knapsack tunggat yaitu permasalahan yang

memiliki hanya satu buah kJ1apsak yang akan diisi. Persamaan

matematikanya menjadi:

Maksimum: (2.2)

Syarat:

Xj adalah integer, j = 0, ... , n

• Permasalahan knapsack ban yak, I yaitu permasalahan :

yang I

memiliki lebih dari satu buah ~napsak yang akan diisi. aan

matematikanya menjadi:

1 Mathello S., Toth P., "Knapsack Problems; Algorithms and Coml'jfler Implementations", John Willey & Son_:::s':.J.9;..;.9;,...0 --···--__ -

10

Maksimum: (2.3)

Syarat: 0,

'

Xj adalah integer( j = 0, ... , n

Jika dilihat berdasarkan juml~h item yang tersedia, dapat

dibedakan sebagai berikut:

• Permasalahan knapsack 0-1, yhitu jumlah item dari I

I barang yang dapat masuk ke dal~m knapsack hanya satu

I

diambil. Persamaan matematikan~a menjadi: I

I

Maksimum:

Syarat: I l1-IJXJ ~.,r; = ~atau1 I

Xj adalah integer,~ = 0, ... , n

Permasalahan knapsack Multiple1Choice, yaitu jumlah item

masing barang dapat lebih dah satu buah atau tidak

I

Persamaan matematikanya menjaclli:

Maksimum:

Syarat: L w i Xi ~ i ,0 ~ X ji ~ b i' !

i

Xj adalah integer, j! = 0, ... , n

'

I

atau tidak

(2.4)

(2.5)

Kemudian jika permasalahan kna~sack ditinjau dari jumlah item yang

i

dioptimalkan, dibedakan menjadi dua macatn terdiri dari:

i

• Pennasalahan Knapsack Bound¢d, yaitu jumlah setiap · I

'

untuk masuk ke dalam knapsack! dibatasi sesuai order/ !

• Pennasalahan Knapsack Unbo~nded, yaitu jumlah

I

dipilih tidak terbatas jumlahnya.l

'

11

item yang

Jika permasalahan knapsack di!tinjau dari dimensi benda maka dapat I • I '

dibedakan menjadi tiga macam sebagai b¢rikut: I

i

• Pennasalahan Knapsack 1 Dime~si, yaitu peninjauan hanya

I

panjang saja. Misalnya kabel, lo~ kayu dan batang besi.

I

Permasalahan Knapsack 2 Dime*si, yaitu peninjauan hanya

panjang dan Iebar. Misalnya kerias, tekstil, kaca dan plate ! I

Permasalahan Knapsf1ck 3 Dime1si, yaitu peninjauan hanya !

panjang, Iebar dan tinggi. Misalhya kayu dan pengisian !

i

Namun secara umum pada dasarnya pennasalahan !

macam, yaitu;

• Mengisi ruang, contohnya pen¥isian kontainer dengan

berbagai ukuran.sehingga dapat memuatnya semaksimal I i

• Membagi ruang, contoh bahan pbrsegi yang berukuran I

( dipotong) sehingga menjadi ba~ian-bagian kecil

profit yang besar.

dimensi

dimensi

dimensi

ini ada 2

12

2.3 METODE PENYELESAIAN PERMASALAHAN KNAP CK

Permasalahan knapsack yang ada telah diselesaikan ~-··,.._-.. ,

metode program tinier dan heuristik.

2.3.1 Program Linear

Permasalahan knapsack dapat 1

dirumuskan sebagai

I

linea~ dengan tujuan untuk meminimumk~n sisa. Rumus matematika

programming terdiri dari n kolom yang b~rkorespondensi dengan se I

pattern. Pada masing-masing iterasi dari li~ear program, metode

sebuah kolom dan sebuah variabel ~ntuk masuk sebagai I

matematikanya didefinisikan sebagai berik~t: I

Min:

Syarat: aiJXJ+ ai2x2+ ... + aij*j+ ainXn ~ N; I

!

dimana: i=1,2, ... ,mdan xji~o

Dalam notasi matriks dinyatakan dengan :

Ax = b, dimana:

I -c~ -c2 -en X 0

0 an al2 al, XI A X= b= ' ' ...

XIII Nm

Gilmore dan Gomory telah mel~kukan riset tahun 1961,

i

permasalahan knapsack ini sebagai masalaH dengan 2 tahap penye

I I

2 R.G. Dyson. A. S. Gregory,'The Cutting Stock Problem in the Flat blass lndustry',Operational Research

No.1, hal 50-51 I

program

linier

(2.6)

yaitu

13

knapsack problem yang diselesaikan seb~gai knapsack problem satu dimensi dan i

i

tahap kedua sebagai masalah linear progrkmming.

2.3.2 Metode Heuristik

Ada beberapa definisi Heuri!stik yang dipergunakan dalam riset

operasi on a 1:

• ' i

Metode heuristik dipergunakan !Saat tidak ditemukannya al I

dengan cara iterasi dapat mengJasilkan suatu solusi !

baik. i

• Metode berdasarkan pengalaman telah memperlihatkan

baik tapi tidak menjamin solusi tiersebut maksimum. I '

• Cara memecahkan masalah denJan pendekatan intuisi.

• ' I

Simulasi dari bagaimana manu$ia dapat mencari solusi

setiap masalah

Metode heuristik diambil jika untuk suatu permasalahan ti I

algoritma eksak yang dapat menyele~aikannya. Pendekatan !

dilakukanjika:

1. Heuristik dapat menghasilkan su~tu solusi yang mendekati !

2. Heuristik cukup fleksibel den~an menghasilkan

optimal.

3. Cepat waktu komputasinya, ikarena membatasi I

'

mengurangi jumlah altematif yang ada.

4. Mudah diterapkan, mudah dime1gerti oleh pemakai i

5. Kebutuhan penyimpanan cukup ~ecil

I

tma yang

atau cukup

solusi yang

baik dari

akan

sub-

dengan

Dalam penyelesaian pennasalah~n knapsack digunakan i I

untuk mencari solusi optimumnya dengani memilih alternatif-alternati

paling optimal. Daiam pennasalahan kn~psack tidak ada suatu al I

'

eksak yang dapat menghasilkan solusi oiaksimal atau terbaik.

memecahkan permasalahan knapsack den,an hasil yang optimal. !

dinyatakan dalam bentuk matematis ya~g disesuaikan dengan

menuju ke so1usi optimum yang memuask~n bagi masalah tersebut.

I

Strategi yang dipertimbangkan !jika tidak ada metode I

I

menemukan solusi optimal sebagai beriku~: I

I

1. Mencari algoritma yang efisien. !

2.

3.

!

Hanya kasus khusus dari masalah iyang diperhatikan. !

i

Melonggarkan beber?pa pembata~ dan mengembangkan al

masalah itu.

4. Rancang algoritma yang bekerjb cepat pada banyak

dihadapi.

i

5. Menetapkan metode yang bekerj~ cepat dan menghasilkan I I

dapat dipergunakan yang hasilnya jmendekatia optimaL i

Program dinamis sering digunak~n dalam penyelesaian

knapsack untuk mengurangi jumlah kn~psack yang ter1ibat.

!

dijelaskan lebih rinci tentang program ini karena dalam tugas

menggunakannya.

I

3 J.E. Beasley."Aigorithms for Unconstrained Two-Dimensional Guillltine Cutting:, J. Opf. Res. Soc. Vol36.,

1985 l I

14

untuk

untuk

yang

yang

a han

akan

m1 juga

hal 303-304,

2.4 PROGRAM DINAMIS

Keputusan yang diambil olep program dinamis i

keputusan-keputusan sebelumnya. Dadat dikatakan bahwa

I

membagi masalah menjadi sub-sub ba$ian yang lebih kecil deJngtm

akhir yang dibuat merupakan hubungan keputusan-keputusan dari I !

tadi. Program dinamis dipergunaka~ dalam menyelesaikan

I

knapsack dalam usaha mencapai hasil op~imal dari penyelesaian i

Rumus matematika untuk proJram dinamis harus dikem

I

memenuhi kondisi dari permasalahan knapsack yang akan disele !

i

dikarenakan program dinamis tidak mtmpunyai bentuk standar

I

programming. Berikut contoh permas&lahan knapsack dengan

program dinamis untuk peny~lesaiannya.

I. Permasalalum Knapsack Sederltana (dimensi I) i

15

hasil dari

dinamis

agar

linear

akan

Sebuah kendaraan dcngan kapa~itas 10 ton dan terscdia 4 item barang I

yang akan dimuat ke kargo; berat dan n~lai (banyaknya) ditunj I

I

2.1. Bagaimana seharusnya kapal dimua'i supaya jumlah barang

kargo?

I

Tabel 2.1 Pemuatan kendara6n yang berkapasitas 10 to

Masalah 1m dapat ditulis · fungsi dengan

dmaksimalkan:

Maks: f(x) = 8x + 2x + 15x + 19x

uan akan

\

'

dimana syarat : 2xl + 3x2 +!4x3 + 6x4 $] 0

x1, x2, x3, ~ = 0 atau 1 ' !

Masalah ini dapat diselesaikan ~engan cara program di !

masalah dipecahkan menjadi beberap~ sub masalah yang I !

masing-masing tahap harus diputuskan apakah produk akan di1

Untuk program dinamis perlu didefinis~kan kondisi dan ......... u~ ... , I

I

tahap-tahap dari pemuatan barang berhu~ungan dengan jumlah !

masih harus dibuat. Pertama ada emp~t keputusan, lalu tiga

16

Pad a

dim ana

yang

seluruh

keputusan dilakukan. Informasi yang meqcukupi untuk menerangkan kondisi saat !

mengambil keputusan-keputusan ini ak:an menjadi jumlah tersisa di

kendaraan.

Ada I 0 ton yang t~rsedia padaj mulanya,

!

setelah keputusan ke-1 diambil; dan akan ~erkurang sampai keput

Asumsi ada n tahap dan kapJsitas T ton dalam kenda Jika

'

didefisikan f (T) sebagai nilai muatan optimal masing-masing kondis dan tahap,

maka:

{

/):) : max{!,,~t (T), V,, + J;,_1 (T ~ ~V,J} untuk (T 2 W,J /,,(T)- /,,~ 1 (T) untuk (T < W,,) j~(T) = 0 untuk VT

(2.7)

Maksudnya, yang paling baik dil<11kukan pada tahap n dan

I

adalah tidak melakukan pemuatan dari produk n (f (T)) dan loading n dan

ke keputusan berikut dengan state 1gi beratnya (fn_ 1(T-Wn)) dimana T

cukup besar untuk dapat ini terjadi.

Jelasnya, f(T) hanya akan 2 kemungkinan nilai: 0 19;akan

menjadi 0 jika T kurang dari 6 dan 19 j1 T adalah 6 atau lebih. I

I

17

I

lain saat tcrcapai pada tahap itu dibuat ~cputusan tcntang produk n or 4, yang

akan dimuat jika tersedia cukup ruang un~uk itu. !

!

F2(10) =max {f1(10), 15 + f1(6)}

= max {19, 15 + 19}

= 34

Fz(10) =max {f1(9), 15 + f1(5)}

= max { 19, 15 + 0}

= 19

=0

Nilai-nilai ini untuk f1() dan t2() Ualam tabel 2.2. ' I

!

Tabel2.2 Nilai-nilai iri untuk ftO dan f20 I

8 9 10 0 0 0 0 19 19 19 19 0 0 0 0 19 19 19 34

Proses berpindah dari arah bel~kang (backward) ke T'\r"'""'4o I

i

berikutnya dihitung f3() menggunakan f10 (tapi bukan f1()). I

dengan yang sebelumnya:

F 3( I 0) =max { f2(1 0), 12 + f2(?)} I

=max {34, 12 + 19}

=34

F3(9) =max {fz(9), 12 + f2(6)}

= max { 19, 12 + 19}

= 31

sam a

18

=0

Dengan meneruskan cara ini ak~n didapat nilai f4(). Seperti ditunjukkan I

I

pada tabel 2.3. T mengambil nilai dari 0 $ampai 11 (tidak sesuai den n kapasitas !

kapal 1 0). Penambahan ini hanya untu~ mengecek sensitivitas ja

dengan kapasitas kapal.

Diberikan tambahan satu unit k~pasitas, berapa

diberikan untuk pemuatan yang optimal. :Jawabannya adalah akan

nilai unit 4 dari 35 menjadi 39.

Tabel 2.~ Nilai-nilai · i untuk f1() dan f20

Nilai optimal akan menjadi 35 t jika kapal dipak dengan

2. Pengembangan kuth.us

Ada suatu keterbatasan dengan 01enggunakan satu item I

masing barang dalam kapal. Gambaran ~erikut ini sama dengan

yang akan

masmg-

tapi keputusan akan lebih kompleks: disaimping menggunakan biner (0 atau 1 ),

nomor barang item hanya dibatasi oleh rUang dalam kapal, seperti I !

olch dari sisa kapasitas (T ton) dibagi be~at (Wn ton) dari nya.

dipcrolch:

diukur

fn(T) = oftl~lJ~ ~1-1(T), Vn + f~-1CT-i11'Yn~f !

Kemung~in~n p~fll !l~fln memb4M ~e9ikH perb~~hmn I i

keputusan optimal; rinilai dengan satu jeJilis barang, dan berjalan

jenis batang dan seterusnya. Hasiln~ berbeda secara umum,

beberapa state dan tahap dari mana kep~tusan optimal akan dipak

unit barang dan keputusan optimal akan berbeda dari yang lain

I

ditemukan pada batasan satu unit. Hasilnya pada tabel 2.4. !

1

n banyaknya item pada f()

Nilai-nilai yang dipetoleh dalam! tabel 2.4 tidak lebih kecil I

'

sebelumnya. Nilai dari keputusan optima~ telah meningkat dari 35 ke !

lainnya mengikuti dengan sendirinya. i Perubahan diharapkan !

19

(2.8)

perhitungan

ada

i yang telah

solusi

masalah dengan keputusan biner dan de,gan keputusan diskret ... ~ ... w~·

karena kemudian memiliki lebih sediki~ batasan. Keputusan !

menghasilkan dengan 5 unit item 1, a tau ~ unit item 2 dengan 2 unit i

2.5 PERMASALAHAN KNAPSAGK BOUNDED MUL TIP !

Permasalahan knapsack bounde4 ( terbatas) ini diterapkan

kaca. Jumlah knapsack yang diguna~an adalah tidak terba I

i

permasalahan knapsack ini merupakan pertnasalahan knapsack I

!

4

Pratono A., "Perancangan dan Pembuatan Perangkat lunak Op~masi Pemotongan Benda Dua Dimensi",

20

Pennasalahan knapsack dua di~ensi ini dipecahkan

masalah berdimensi satu. Penyelesaianl dilakukan mula-mula i '

satu dimensi pertama baru kemudian terllladap yang lain.

Aturan yang diterapkan pada *motongan kaca disini guillotine, I

karena kaca yang harus dipotong secrufa dipatahkan mengingat si

kaca tadi. Pemotongan bahan kaca ini lmenggunakan bantuan me1oc1e program I

I

dinamis yang digunakan untuk pemilihan cutting pattern dan !

pattern. ! i

I

Proses knapsack menghasilkan jkombinasi pencmpatan I

stok, yang mana stok berukuran (P, L). Ptoses pertama menghasi i I

ke salah satu sisi (satu dimensi pertama)~ dimana data stok disi

proses ini dipakai untuk proses terhadap knapsack kedua. Proses ini ' '

I '

tahap untukmencapai nilai optimum yaitu; konversi data panjang dan I

. Hasil dari

ke data

ukuran (penyusunan ulang), mencari scilusi feasibel dan mencari penempatan I

optimum.

I

Arah proses dipilih oleh si pemakai dengan memilih ke I

vertikal atau kombinasi keduanya. Akhirnya dipilih yang paling opti I

hasil feasibel tersebut.

Tabel 2.5 qata input I

Kapasitas stok = 20 x 14 denganjumlah k tcrbatas.

diantara

2i

ngan dengan

penyeiesaian secara manual sebagai

BAB III I I .

ALGORITI\1A; APROKSIMASI I ,

I

permasalahan knapsack dalam pemotorlgan bahan, asumsi-asumsi g digunakan I

!

sampai kepada langkah penyelesaia~ dengan algoritma Langkah-

langkah utama ini diterapkan dalam implementasi penyelesai permasalahan

knapsack dua dimensi .

3.1 PENURUNAN ALGORITMA APROKSIMASI

Algoritma aproksimasi ini diturunkan secara alami dari a lisa struktural

pada fase 0-cut (tidak mengalami peni10tongan guillotine pada ODK yang

ada diselesaikan secara terpisah de~gan algoritma aproksi polinomial.

Algoritma ini menyelesaikan r buah kn~psack (r jumlah Iebar !

lebih kecil daripada m (jumlah madm pola yang akan dipoto ) dan ukuran I

'

kedua adalah pm~jang plat P. Knapsaqk yang lain yang dibutuh adalah r dan

ukuran kedua adalah Iebar plat L.

Kemudian algoritma membutl.)lhkan v buah knapsack (v

dibutuhkan untuk diselesaikan adalah (t + v + 2) buah knapsack. I

i

22

23

Batas-batas dari algoritma apro~simasi ini akan dij_,, ... J,~ ... i

agar dapat meminimalkan sisa bahan yattg tidak terpakai. Dalam ini batas-

batas ini adalah upaya memaksimalkan ini1ai profit. Jadi dapat di.~ .......... . usaha

meminimalkan sisa bahan sama dengan memaksimalkan profit.

Lemma 1.

• • • !

Sisa pada masmg-masmg stnp yang dihasilkan oleh ' I I

menghasilkan strip adalah < (11 (k + 1)) Sj~

dimana:

Si = luas strip,

i = 1, 2, ... , r,

k =LP I p J, p adalah panjang pola paling Iebar yang dapat

strip-strip horisontal atau

k = LLI I j , 1 adalah Iebar poht paling panjang yang

dalam strip-strip vertikal.

Sf "'ILl!'" - ~

Pl(k+ 1)< PLP I k jsehingga, k(P l!(k+ 1)) < kp S: k LP I k J S:

!

yang

Strip dengan Iebar li memiliki nilai Vj yang memenuhi Yj ~ kplj karena ada

konstruksi yang memasukkannya paling s~dikit k pola-pola dengan g p.

Jadi, v· 1 > k (PI(k+ 1 )) li

= (k/(k+ 1)) Plj

= (kl(k+ 1 )) Si

24

Hal yang sama berlakujuga dalam pemlmktian untuk strip-strip ·kal.

Corollary 1:

Rasio aproksimasi dari algorit$a adalah mendekati 112

!

Dari lemma 1 diperoleh untuk ~asing-masing strip Vj > 1 Sj.

Jadi nilai V = " ... 1 I 2V; , dimana E aualah himpunan indeks strip tcrpilih ~~A '

!

dari knapsack terakhir. Oleh karena itu; :

V = LieEl/ 2V;

' I

Karena L- IieEl/2/;< /*, dimana 1* Jdalah Iebar paling kecil ( ) dari

pola-pola tersebut, sehingga didapatkan;

~ V > LieEl/2P(L-/*)

Nilai profit V* ::5 PL sehingga menjadi

~ VN* > t (1-1*/L)

Pada saat panjang kecil (I* <<), rasio aproksimasi 1m "'"'"'"""' menjadi 'h.

(Terbukti).

Lemma 2.

i.) Jika Pi > 1/2 P untuk semua i

dengan solusi yang disusun oleh ~ebuah strip vertikal.

ii.) Jika lj > 1/2 L untuk semua i =! 1, ... , m, maka solusi I

I I

dengan solusi yang disusun oleh ~ebuah strip horisontal.

iii.) Jika k = maks{P/pj, Uli , i = 1,' ... , m}= 1 atau 2, maka

I

disusun oleh strip-strip vertikal atau horisontal.

iv.) Solusi yang diperoleh algoritma aproksimasi adalah1- c I

c> 0.

' !

i.) Tidak ada satu pola pun dapat I)lasuk > satu kali ke

horisontal. Gambar 3.la.

ii.) Sarna dengan atas, tidak ada sat~ pola pun dapat masuk >

dalam plat secara vertika1. Gam bar 3.1 b.

iii.) k = 1 adalah trivial,

Untuk k = 2, terdapat pola dengary indeks w, sehingga; I

113P < Pws; 112P, l/3P <Pi s; P idimana Vi t:. w, dan

1/3L < lj s; L = 1, ... , m. Jadi pal~ng sedikit satu pola masuk I

pada sisi panjang bahan atau,

1/3L < lw 112L, i

l/3L < lj s; I.j, dimana Vi t:. w, dan

25

1 ekuivalen

ekuivalen

semua

kali ke

2 kali

I

113 P <Pi s; P Vi =I, ... , m. Jadj paling sedikit satu pola ... .,. . ., ... "" tepat 2

kali pada sisi Iebar bahan.

Asumsi k = 2 dihasilkan dari pola Pw Pola pemotongan I

i

diha-:ilkan rr-tda remo1ong.an guillotine i (vertikal) dimana pada

panjang sub plat , pola ini hanya masuk il kali saja. Jadi solusi

oleh 2 strip vertikal. Gambar 3.1 c.

Jika pemotongan guillotine secara horisontal maka

dihasilkan dari susunan 1 strip horisontal i a tau 2 strip horisontal. !

!

26

optimal

iv.) Masalah ODK yang diselesaik~n adalah yang dapat menclDtalK:an strip-

Teori 1:

strip horisontal dari panjang P d~n strip-strip vertikal dari i

memakai algoritma polinomial! dalam 1-1/2 c dan dua

yang memilih strip terbaik yang dapat masuk ke dalam

range 1- 112&.

L

L

p p

!

Garnbar 3.1. Pola pemotongan yang diselesaikan ...... , .... ,.n, algoritma aproksirnasi dalam 1-1/2 c.

juga dalam

p

Jika V menyatakan nilai solusi yang dihasilkan algoritma aproksimasi

dan V* adalah nilai solusi optimal maka:

V > 1 (k /(k+ l))V*, dimana k = maks { l~Jlt J, i = 1, ... , m I

!

27

Misal w adalah pola dengan k maks {L-iJLfJ, i = 1, ... ,

k ini berkoresponden dengan panjang Pw- Strip horisontal merni · lebar lw-

Dengan lemma 1, nilai strip yang dihasil*an:

V w > (k/(k+ 1) PLw-

Akibatnya algoritma menghasilkan:

v ~ I_Ljv > __l_pf ''· J l.J, W k+l wl]w

dan karcna V* s; PL, maka:

dan,

Teori 2:

V > (.L.L)V * 2 k+l

Rasio aproksimasi algoritma adalah 4/9. !

(3.1)

Dengan memperhatikan pola p~motongan optimal yang ·normalisasi

dibuktikan bahwa, untuk k = 3 maka:

1. Ada pola w yang masuk 2 kali p~da panjang plat dan pada le"'"r"""' a tau

2. Solusi optimal disusun hanya oleh strip-strip vertikal atau I

Untuk k = 3 dan diasumsikap nilai m1 didapat dari

didapatkan bahwa:

28

1/4 P < Pw s 1/3 P (3.2)

yang mana,

1/4P<pj s P, \ii;t:wdan,l/4L<lj s L, \fi=l,2, .. m

Jika Xj s 112 P, Xj E Pp adalah pem~tongan guillotine yang (arah '

vertikal) untuk pola pemotongan yang ~ptimal. Pemotongan ini · plat

awal menjadi 2 buah sub plat. Dua s~b plat ini mengisi se

panjangnya atau satu pola pada sub plat p~rtama dan 2 pola pada yang edua (atau

sebaliknya).

'

Kasus pertama, solusi optimal disusun olch dua strip vcrti I. Dcngan

menerapkan lemma 2 algoritma memberi~an solusi ini dalam

&>0.

i

Kasus kedua, dianggap sebagai 2 $ub kasus.

Pertama, dimisalkan:

1/3 L < lj s L, \ii = 1,2, .. m . (3.3)

i

Di sini tidak ada pola yang dapat p1asuk secara vertikal lebih dari 2 kali.

Dengan lemma 2 jelas bahwa solusi opti~al dari sub plat kedua dis oleh 2

i

strip vertikal atau 2 strip horisontal. Dengan demikian solusi optim 1 dari plat

awal memasukkan:

i.) Satu strip vertikal ( untuk sub pia~ ke-1) dan 2 strip ho · (sub plat

ke-2), atau

ii.) Tiga strip vertikal

Solusi terakhir disusun oleh tig' strip vertikal yang

algoritma ( dalam 1 - & ).

Untuk solusi yang lainnya alsoritma memberikan

aproksimasi adalah 4/9. Pada kenyataan~a seperti contoh solusi

struktur gambar 3.2a. Pola pemotongan ~ptimal memasukkan 3 kali

guillotine berturut-turut yang dibuat di titik Xj secara vertikal, di

'

horisontal, dan di titik Xp secara vertikal. Dengan menganggap '

pemotongan guillotine normal memperhatlikan efek-efek simetri,

Strip-strip yang memasukkan ~la w dan q dapat menj

trivial. Jika lp > 1/2 L diperoleh dari lemma 1 dan !

'

horisontal yang dihasilkan oleh pola p dan 1q sehingga,

v p > 2/3 p lp > 1/3 pL. '

Dengan rnenggunakan kondisi 3.3, didapat1

v q > 1/2 p lq > 1/6 pL.

Akibatnya, solusi yang diperoleh:

sehingga,

V> 112 V*

29

ras10

secara

pol a

strip-strip

2 strip

Jika lp ~ 1/2 L, rnaka pola p masqk 2 kali pada panjang dan kali pada I

arah Iebar. Dengan Lemma 1 dan kondisi 3. , diperoleh:

sehingga,

V > 4/9 V*

I

Kedua, dianggap hanya ada sebuah pola p sehingga,

1/4 L < lp ::; 1/3L

Ada sebuah pola dengan Iebar 1~ yang dapat masuk secara

ke dalam plat. Jika p = w maka algorhma memberikan solusi

optimal (kondisi 3.1 ).

30

ikal 3 kali

Sebaliknya situasi pada gambar 3.2b da~ 3.2c akan muncul, jika sa ah satu dari

daerah A atau B menghasilkan 2 pola, $aka struktur ini tidak !

i

oleh algoritma ini. Dengan kondisi 3.2 d*impulkan bahwa daerah

vertikal dan C strip horisontal. Satu dari dua pola yang dihasilk

(gambar 5b.) atau B (gambar 3.2c.) memjliki ukuran Pp dan IP sehi ' I

dan 21P::; L. Gambar 3.2c. mengilustra~ikan dengan jelas kondisi

kondisi 3.4 dimana untuk gambar 3.2c. di~apat l/4P < Pw dan lP ::;

Dengan menganggap strip dengan lebar 'P dengan Lemma 1, maka = 2. Dan

dengan strip yang sama dalam teori 1 dan kondisi 3.1 maka akan · nilai V

;::: 4/9 V*.

Untuk k < 4 algoritma selalu me~berikan V ;::: 4/9 V*.

Untuk k ;::: 4, dengan cara yang sama hanya ada 1 pola yang masuk

plat secara horisontal dan vertikal sebanyak 2 atau 3 kali yang

I

optimal ekivalen dengan strip horisontal atau vertikal. !

Bukti melibatkan kondisi 3.1 dari Teori! 2 untuk kasus 2 dan

L IJ I I,. J = 2 a tau Lemma 2 untuk kasus 2).

31

8 A

p

r.

(a) (b)

Gambar 3.2. Tiga pola pemotohgan optimal (pola w memil panjang terkecil Pw yang dapat masuk Ike dalam strip horisontal

(a). Pola pemotongan yang dihasilkan a'goritma. (b). Daerah A cukup untuk menghasilka~ 2 pola, tidak dapat dengan ,.,,.,.,11rn"' (c). Daerah 8 cukup untuk menghasilk~n 2 pola dimana A hanya 1

dapat dihasilkan algoritma ini.

Coronary 1:

Rasio aproksimasi ketika plat awal dan pola-pola yang

adalah bujursangkar adalah 9116.

K sama seperti pada Teori 1. K¢mudian rasio aproksimasi i I

dipotong

seperti pada teori 1, adalah k2 I (k+ 1)2. Untuk k = 1, 2 algoritma emberikan

'

solusi dalam 1- e untuk setiap e > 0. K = .f adalah worst case.

Contolt:

J ika beberapa batasan yang diberikan untuk ukuran pola-pola akan

memberi basil yang lebih meyakinkan. S~bagai contoh (seperti teori I

jika ada sebuah pola (pj, lj) dengan P ~ p Pj untuk beberapa I

pdan Pj

::; LP I k J untuk beberapa nilai k, maka diperoleh rasio aproksimasi 1). Jika k

~ I 00, maka akan di pero leh so I usi-so I usi oJti mal (V > : ~~ V • ).

3.2 ALGORITMA BEST STRIPS ~UTTING (BSC)

Algoritma BSC (Best Strips Cutting Algorithm) disusun

strip vertikal dan (atau) horisontal pada ~]at awal atau sub-sub plat.

pemotongan optimal kerapkali struktuinya ekuivalen dengan I

32

pol a

lainnya.

Gambar di bawah ini menggambarkannya pola pemotongan optimal dengan tiga I

macam pola p1 = (3, 3), p2 = (4, 3), dan ~3 = (2,4) dipotong dari pi !

11 ).

p3 p3 p3

p3 p3 p3 pi

pl p~ pl pi pi pi

Gambar 3.3 a. Pola pemotongan optimal, disusun oleh 2i sub plat (3, 11) dan (6, 11) m

memiliki struktur strip. Dimensi untuk pola~pola p1 = (P1, L1), 1 s i s 3; Vl:{9, 12, 8.) I

b. Struktur strip yang ekivalen.

I

Pada gambar 3.3(a) sub plat pert~ma memasukkan sebuah

sedangkan yang kedua terdiri dari tig~ strip horisontal. Dari I I

diharapkan dapat menciptakan strip-strip ioptimal dan mengisinya

i

atau beberapa sub plat untuk mendapatkan isolusi yang memuaskan.

3.2.1 ldentifikasi Masalah

Pemotongan bahan sering dilakuk~n dalam kehidupan

yang berbentuk lembaran persegi harus d~potong-potong menjadi i

kecil agar sesuai dengan kebutuhan. Cara untuk menempatkan

sing-masing , 4x3, 2x4;

lnl

·.Bahan

Ia yang

! I

'

33

akan dipotong pada lembaran tadi aka~ menentukan apakah sisa bahan akan

'

minimal atau tidak. Untuk mendapatkaJjl profit yang optimal dari

bahan ini, maka penempatan pola-pola in~ harus sangat diperhatikan.

'

Kemungkinan penempatan pola~pola tadi tidak hanya satu

yang harus dipikirkan adalah bagaimana baranya mendapatkan i

!

pola yang efisien sehingga sisa bahan mit1timal dan mendapatkan

dari basil yang didapatkan.

tugas akhir ini termasuk benda dua dimelllsi tak terbatas (unconst I

pada penjelasan sebelumnya perbedaan antara variabel-variabel

unbounded, dimana variabel bounded menyatakan bahwa !

I i

yang akan muncul tidak boleh melebihi ju!nlah yang telah ditetapkan.

variabel unbounded akan muncul beberap~kali dalam pola

Jika profit dihubungkan denga~ masing-masing i

permukaannya, maka fungsi tujuan ad~lah meminimalkan sisa

terpakai. Sebaliknya fungsi tujuan $tuk memaksimalkan !

i

dihubungkan dengan masing-masing pene$patan pola.

I

Pemotongan bahan dua dimensi tak terbatas I

mempunyai sekumpulan pola-pola: S = {(p~. 11), (p2, h), (p3, 13),

Inisialisasi ukuran plat yang akan dipotonJ untuk panjang

tujuan adalah untuk mencari pola pemoto~gan pada plat tanpa mem

i

pengulangan masing-masing jenis pol a dengan memaksimalkan fungsi

F(P, L) = La/r; i=l

, tapi

1t maksimal

. Seperti

dan

· profit

yang

(3.3)

Dimana: q = banyaknya po]a ke~i yang muncul

rn = banyaknya rnacarn pola dalarn hirnpunan S I

I

:r; = nilai profit pol a ke'-i = (p x 1).

' I

J ika j umlah pernunculan masing+masing pol a tidak boleh !

34

ebihi angka

tertentu rnaka disebut dengan rnasa~ah knapsack dua dime si terbatas

(constrained).

3.2.2 Metode Pemotongan Bahan! Dua Dimensi

Ada beberapa rnetode pernotong.n bahan dua dirnensi. Sebe nya telah

i

dikernukakan sekilas, di sini akan dijelas~an lebih lanjut.

3.2.2.1 Orthogonal dan Non-Orthogonal

Jika tidak terdapat pernbatas yaryg membatasi jurnlah

dapat dibuat untuk rnenghasilkan potongati yang dirninta dari bahan !

tetapi hanya potongan tersebut harus par~lel dengan tepi lernbaran

pemotongan bersifat orthogonal.

Untuk mernaksimalkan pen&gunaan bahan ada

i

pemotongan dilakukan tidak orthogonal yaitu yang disebut non

Kemungkinan ini untuk mengatasi pdtong.n yang tidak optimal oleh

3.2.2.2 Guillotine dan non Guillotine

Untuk menghasilkan ernpat persegi panjang dari Dt:Jmu~turi~<:tnJ

bersifat orthogonal maka lernbaran bahan 1adi harus dipotong dengan i

guillotine. Pemotongan guillotine adalah lcara memotong yang dim

tersedia,

otongan

sisi bahan tadi sampai ke sisi yang lainn~a, sehingga akan dihasi

em pat persegi panjang baru yang ukuran~ya telah berkurang.

Asumsi-asumsi untuk menggamlbarkan keadaan sebenamya

I. Jenis alat pemotong adalah guillotine dimana pem !

secara orthogonal dari satu sisi 1¢ satu sisi lain yang paralel I

i

dari beberapa sub-plat yang diha~ilkan pemotongan sebelum

2. Pemotongan dinorrnalisasi, ya~tu sisa bahan yang I

35

2 potongan

·plat atau

dari

pemotongan tidak pemah dipotqng oleh algoritma dan "'"'r~11 " pada plat I

I

bagian akhir yang akhirnya menghasilkan potongan sisa.

3. Semua pola berorientasi tetap {ftjKed), dimana ukuran akibat pemotongan

yang dilakukan sangat tipis.

1

3 2

4

Gambar3.4 (a) Pola pemotongan yang tidak fea~ibel (bukan pemotongan gui (b) Pola pemotongan yang feasibel ~engan pemotongan guill

3.2.3 Trimming

Kondisi-kondisi trimming (sisa !kecil) dari bahan setelah

dapat dinyatakan dalam 4 kondisi berikut tni:

1. Tidak boleh ada trimming, jika Pi,= x, L1 = y, i = 1, ... , m,

I

2. Trimming paralel ke x tapi tidak! ada trimming paralel key, ··ka Pi= x,

Li:s:; y, i = 1, ... , m,

36

3. Trimming paralel ke y tapi tidak ada trimming paralel ke jika Pi:$ x,

Li= y, i =I, ... ,m,

4. Trimming paralel ke x dan y jik~ Pi:$ x, Li:$ y, i = 1, ... , m.

3.2.4 Efek Simetris

Sebuah bahan berukuran (p, q), maka akan ada (p + '

pemotongan yang dapat dibuat pada bahain sepanjang x = 1, ... , (p •

buah sub plat, maka sub plat yang dihasilkan akan terduplikasi pada

pemotongan. Hal ini dikarenakan munc~lnya pola pemotongan

Untuk menghilangkannya dil~kukan cara ~erikut ini.

Sebuah plat (p, q), dipotong di titik x = a menghasilkan

berukuran (a, q) dan (p ·a, q). Jelasnya d~a buah sub plat yang sama

dari pemotongan di x = p • a, yang secara isimetris berseberangan

• 1) buah

simetris.

ini dapat dihindari tanpa kehilangan sellilua pola pemotongan yan unik, yaitu !

dengan membuat pemotongan hanya padJ 1/2 panjang bahan. itu, range

bawah yang tidak lebih dari pada p/2.

Hal serupa juga diterapkan untuk pemotongan ke arah sumbu

37

3.2.5 Efek Susunan Pemotongan

Bahan berukuran (p, q) dipoton~ pada x = a menghasilkan i

plat (a, q) dan (p- a, q). Pada sub plat bdrikutnya (p- a, q) dipotong

'

< [(p- a) I 2] yang menghasilkan tiga sub!plat (a, q), (b,q), (p-a-b, q)

Tiga pola yang sama dapat juga' dihasilkan oleh

dan baru kemudian pada x =a di (p- b, Q). Jenis duplikasi ini dihilangkan

' tanpa harus kehilangan pola pemotong~n yang unik, yaitu

pemotongan secara bebas sehingga jika ~ebuah plat dipotong pada

a, kemudian semua sub plat x-cut pad~ resultan dua sub plat I I

dari a. Batasan ini dan batasan sebelumnya (yaitu efek simetris), kan

I

bahwa untuk resultan dua buah sub plat [yang lebih besar, (p, q)

akan dibatasi sampai a s x ~ LCP- a) I 2 J dan jika (p- a )I 2 tidak up<u-.u..,.uu lagi

' I

x-cut. Untuk resultan dua sub plat lebih *ecil dari batas tadi maka ti

yang mungkin dilakukan.

i

Konsekuensi dari susunan pola ipemotongan sebagaimana I

atas adalah untuk menghilangkan susunap yang berbeda dari "'03'"""trln

tercapai pola pemotongan akhir. Hal yan$ serupa juga diterapkan

3.2.6 Normalisasi Pemotongan

Jika bahan (p, q) dipotong pad~ posisi x, maka pola I

merupakan kombinasi dari panjang dari' pola-pola yang tersedia

mana penjumlahannya harus tepat x. Jik~ tidak untuk arab x I

i

pada gambar 3.5a maka altematif pem~tongan pada posisi x' <

q, yang

38

menghasilkan pola pemotongan final (g~mbar 3.5b ), yang meliba pola-pola

yang sama dan karena memiliki nilai yang sama.

2 2

1 3 4 I 3

3'

Gambar 3.5 (a). Pola pemotongan non Normalisasi (b). Pola pemotongari yang di-Normalisasi

pemotongan mempunyai sebuah ekivalen normal. Normalisasi adal sifat dari

pola pemotongan yang berh4bungan den~an sekumpulan pola-pola tersedia

untuk dipotong yang mana sisa bahan tidbk pemah dipotong oleh

hasil yang terjadi saat pemotongan pola paida bahan.

Dengan demikian ( tanpa kehi~angan optimalitas) dapat

membatasi pemotongan arah x hanya unfuk nilai-nilai dari x pola nt:Ino1.on~an

pola pemotongan normal dan demikian jt.Jga untuk arah y. Feasibel

bahan (p,q) memberikan himpunan S pola-pola untuk dipotong,

nilai x yang merupakan elemen-elemen dari himpunan S tersebut.

3.2.7 Pembagian Plat Menjadi Sub-Plat

Berikut ini akan dijelaskan sub plat yang bagaimana dapat

memenuhi strip-strip optimal dan bagaim4na mengisinya secara efisi

sub plat.

Untuk mengisi plat dengan strip-strip secara eftsien,

dilakukan pemotongan terhadap plat 'menjadi sejumlah

cara ini struktur-struktur yang didapat metupakan kombinasi

vertikal untuk memberikan solusi eftsien.

Pembagian plat menjadi sub plat :harus dilakukan hanya

x-y yang memungkinkan algoritma memberikan solusi terbaik. Ada

titik potong searah sumbu. Sebuah himpuinan untuk arah horisontal

'

Pp dan satu lagi untuk arah vertikal clitandai PL. Him

Normalisasi pola-pola guillotine:,

m

Pp = {xI x = Iz 1p 1 ~-! P,z1 ~ 0:, zi adalah integer} i=l

m

Iz;l1 ~-} L,z1 ~ 0 , PL = { x I x = t=I , 'zi adalah integer}

Himpunan Pp dan PL dibangkitkalll dengan cara berikut:

0 jika i = 0 A x = 0

oo jika i = 0 A x * 0

g 1(x)= g 1_ 1(x) jikax<pt>iel1

min{g1_1 (x),max{l,mink {g1_1(f- kp1 ), 1 ~ k ~ Lx! p Jk e

i E I,x E X,dimana I= {1,2, ... ,,m}danX = {0,1,2, ... ,L 112

Hasil yang akan diperoleh titik k termasuk anggota hi

gm(x=l) dan tidak termasukjika gm(x)=1· Ditunjukkan kemudian

39

dahulu

sub-plat.

(3.4)

hanya

40

yang dilakukan pada x E (Pp u PL) akan meningkatkan basil.

3.2.8 Pembentukan Strip

Disini akan dijelaskan prosedur 'untuk membangkitkan

· dan vertikal dengan memenuhi panjang 1dan Iebar yang diberikan. · · salkan

panjang = a sub plat dan lebar = p sub plat.

3.2.8.1 Strip-Strip Horisontal

S ={(PI. I,), (p2, lz), (p3, l3), ... ,(p~, lm)} adalah himpunan pol yang akan

dipotong. Pola ini disusun dalam urutan lebaryang semakin

dinyatakan dengan ki, i = Lr.

dengan Iebar yang lebih kecil atau sarrta dengan Iebar

terbesar. Sehingga didapat Sk1 c Sk2 ~ c Ski. Untuk

diasosiasikan sebagai knapsack satu dimensi ODK(i) dengan fungsi

Max:

(3.5)

Syarat:

Dimana:

1r f.l = profit untuk pola (p f.J ,l f.J )

xf.l = banyaknya pola (p JJ ,1 JJ) pada!strip ke i.

41

Dengan menyelesaikan ODK(i)1 i = 1, 2, ... , r dibua strip-strip

horisontal dengan panjang a Iebar hki dah nilai profit F( a). Untuk I

nilai hki kemudian diganti dengan f3.

3.2.8.2 Strip-Strip Vcrtikal

Dengan mengulangi cara yang sama seperti yang telah dil

strip horisontal, akian dibangkitkan strip-strip vertikal untuk sub

Pola ini disusun dalam urutan panjang ~ang makin besar. Untuk

I

banyaknya panjang yang berbeda dinyatakan dengan v. Indeks

dinyatakan dengan ki, i = l..v.

dengan panjang yang lebih kecil atau sarJ;la dengan pola yang memi !

terbaik.

strip horisontal.

3.2.9 Penempatan Strip Pada Bahan.

Setelah strip-strip horisonta1 dan yertikal dibangkitkan maka "lanjutkan

dengan menempatkannya ke dalam plat. Masing-masing strip ini iliki nilai

profit Fi( a) dan tingginya /3; (untuk !strip-strip horisontal) dan Fi( f3) dan

panjangnya a i (untuk strip-strip vertikal).

Strip-strip yang terbaik (nilai profit terbesar) akan

plat dengan memperhitungkan lebar untuk strip-strip horisontal panJang

untuk strip-strip vertikal). Penempatan ini merupakan penyel masalah

42

knapsack satu dimensi yang berikutnya. Untuk strip-strip hori , knapsack

didefinisikan sebagai berikut:

ODK(r+l)

Fr+I(fi) =max II·~(a)y; i=l (3.6)

Syarat: Lfi;(a)y;:::;; fi,y; ~ O,yi integer i=l

Dimana:

fi= lebar plat yang akan dipotong,

Yi, i = 1, ... , r menyatakanjumlah Jl>engulangan strip

ODK(v+ 1) dapat dilakukan dengan cara yang sama yaitu

yang digunakan.

ODK(v+l)

Fv+1(a) =max _LP;(fi)Y; i=l (3.7)

Syarat: _La;(fi)Y;:::;; a,y; ;:: O,yi integer i=l

Dimana:

a= panjang plat yang akan dipotong,

Yi, i = 1, ... , v menyatakanjumlah pengulangan strip vertikal

Setelah penempatan selesai dilakulkan maka terbentuklah · pola

potong yang disebut pola pemotongan. Pola pemotongan ini yang uu•q.:>u dari

kombinasi strip-strip vertikal dan horisontal memiliki nilai-nilai se

yhor = Fr+!( fi) dan yver = Fv+l( a)

Prosedur yang digunakan membutuhkan r + v + 2(r, v

knapsack yang digunakan untuk menghasilkan strip-strip, sehingga

S dapat masuk ke dalam plat (sub plat).; Jumlah knapsack ini

dengan menggunakan metode program dinamis.

(a,jJ) adalah inisial dari plat P <jian L. Penyelesaian

terbesar r, menghasilkan strip horisontal terlebar. Kemudian

penyelesaian terhadap knapsack yang lair!mya 1, 2, ... , r-1 dan juga

strip dari Iebar yang tersedia. Sebenarnya hanyalah satu knapsack

43

m) buah

terkurangi

oleh semua strip-strip horisontal itu. Berikutnya semua nilai, yang dibutuhkan

oleh prosedur pengisian untuk merumusktm knapsack ke - (r + · untuk

· memilih strip-strip yang akan mengisi plat.

Hal yang sama, kn~psack ke v tnembuat strip vertikal

juga semua strip-strip dengan panjang yang tersedia.

J adi akhimya r + v + 2 buah knapsack yang dibutuhkan

plat secara horisontal dan vertikal akan ter~urangi sampai 4 buah Kn:ao51ac1K.

Semua sub strip optimal yang (iibangkitkan untuk sub

setelah pembagian pada titik-titik x dalarn himpunan Pp dan P1. tel tersedia.

Untuk masing-masing sub plat yang disel4aikan adalah dua

memilih sub strip terbaik untuk mengisi sub plat tersebut.

Dari penjelasan di atas, akan disitnpulkan dalam langkah-.auHr"u' utama

yang dilakukan dalam algoritma aproksimasi (yang dinyatakan dal

BSC) untuk menyelesaikan masalah knapsack dua dimensi.

algoritma

Langkah-Langkah Utama Dari Algori~ma BSC

Langkah 1: Menentukan panjang (112 P) dan leball' (l/2 L) plat awal menjadi dua

Pp dan PL. Dimana Pp ini adalah hilnpunan kombinasi linear n.v"'""""~''

panjang dan PL adalah himpunan kombinasi dari koefisien integer dari

yang akan dipotong.

m

Pp ={xI x = maks L=;P; :$; t P, z;1

integer positif}, i=l

m

PI = { y I y = maks L z /; :$; t L , z; i~teger positif}, i=l

untuk mendapatkan x dan y dibangkitkan dengan persamaan berikut ini;

'

0 jika i = 0 A x p 0

00 jika i = 0 A X :;t: 0

g;(x)= gH(x) jikax<pi>if=l;

44

himpunan

pola-pola

min{g;_1 (x),max{l,mink {g;_1 (x- kp; ),1.::;; k.::;; Lx! Jk EN}}},

i E I,x E X,dimana I:;: {l,2, ... ,m}danX = {0,1,2, .. ,Ll/2P j}} Jadi titik x adalah anggota Pp jika gm(l<) = 1 dan x bukan anggotanya

l>angkah 2:. Membangkitkan strip horisontal tertinggi dan strip vertikal yang terpanj

Ski = { Pj : (Pj> lj)S, lj :$; lki } untuk str~p horisontal, sedangkan

Ski = {~ : (Pj> ~)S, Pj :$; Pki } untuk strip vertikal.

Langkah 3: Pad a masing-masing elemen Xj E (Pp l; PL ) akan dilakukan nPrnnrnnc>J:ln

vertikal jika Xj E Pp atau pemotongan guillotine horisontal jika Xj E PL.

pemotongan ini akan dihasilkan 2 buahi sub plat.

Diasumsikan: Pp = (xj , L) dan PL = (P - Xj> L), adalah sub-sub plat

dari pemotongan di titik xE Pp, sedangkan PL = (P, Xj) dan PL = (P,

dari pemotongan di titik x E PL.

!'A!\. II";

,wsrrrv1 Sf-IJULU~ . "

45

Langkah 3.1: Menempatkan strip-strip horisontall ke dalam sub plat yang telah

Nilai yhori menyatakan nilai-Qilai profit yang berhubungan pol a

pemotongan-pola pemotongan yang dihasilkan. Nilai profit untuk

strip tersebut dapat dihitung:

ODK(i) = Fi (a)= Maks L 1r JJP JJ , p"eS~u

syarat yang harus dipenuhi: L 7r II pI' ~ a, X I' ~ 0, X I' adalah int p"es*, ,

J.angkah 3.2: · Step 3.1 diulangi untuk menempatk~n strip-strip vertikal pada sub pl Pj , i = 1, 2.

Nilai yveri menyatakan nilai-nilai profit pola pemotongan baru, dihasilkan

dari:

ODK(i)=Fj(ft)=Maks Ltr"p", p"es"'

syarat yang harus dipenuhi: L 7r "p" ~ p, x" ~ 0, x" adalah p"eSki ,

pola pemotongan terbaik untuk masing-masing sub plat Pj, i = 1, 2.

r

ODK(r+l)=Fr+ J(fi)=Maks L;l~(a)y; i=l

,r

Dimana syarat yang harus dipenuhi: La1y; ~ ft,y; ~ 0, Yu

1=1

, r

ODK(v+1)=Fv+ 1 (a)= Maks 'Ll·~(ft)y1 , ,i=l

" Dimana syarat yang harus dipenuhi: Lfi;Yt ~ a,y

1 ~ 0, Yu adalah

1=1

integer.

46

Langkah 3 . ./: Simpan pola pemotongan yang dihasilkan untuk plat dan nilainya an dalam

Langkah ./: Dari semua titik Xj E (PL U PH), dipHih pola pemotongan yang nilai yxJ

maksimum

3.2.10 Fase 0-Cut

Fase 0-cut terjadi jika membagi plat dengan elemen 0 dari sub plat

kedua adalah plat awal dengan dimensi (P, L). Fase ini melakukan ·~''""''u ke 2

dan 3 dari algoritma di atas dan Xj = 0. 'Hasil yang didapatkan

yver2) dengan menyelesaikan hanya 4 buah knapsack.

Pada saat melakukan normalisasi pemotongan guillotine, de

memakai elemen Pp dan PL untuk melak~kan pemotongan guilloti

awal, jelas komputasi akan berkurang. Hal ini dibandingkan jika di'""·u"''""'

tiap titik selain titik-titik normalisasi sepanjang plat.

Seperti yang telah dijelaskan seb~lumnya bahwa pada saat

algoritma hanya membutuhkan 4 buah knapsack saja. Dan pada

sub plat yang dibangkitkan yang dibutuhkan adalah 2 buah """''l'~''"'""· Oleh

karena itu BSC mengeksekusi semua elemen dari (PpU PL)

masing-masing elemen adalah 4 buah knaJI>sack. Sehingga total jum

yang dibutuhkan BSC menjadi 4 (Pp U P1J '

Knapsack terbesar yang ditempati adalah pada penyelesaian · langkah

'

kedua. Yang pertama dengan ukuran m 0umlah item yang akan dan

ukuran keduanya P, sedangkan yang kedua dengan ukuran m ukuran

keduanya L. Dengan menggunakan program dinamis, worst case

adalah O(m.max(P, L) dalam masalah knapsack ini ukuran tidak pol" ial.

Procedure Knapsack (alpha, betha, p, 1, n) for i ~ 1 to m

do for y~ alpha downtd 1 do MaxCurrent ~ 0

Batas ~Y I W[i) if Batas >= 1 then

for k~ 1 to Bata$ do X~ (y-k*W{i]) if x>=O then •

MaxTemp <(-- 'liabel [i-1, x] + k*V[i if Maxcu~rent < MaxTemp then

MaxCurr~nt ~ MaxTemp Frekw ~ k

if MaxCurrent >= Tabel[i,y] then Tabel [ i, y] ~ MaxCurrent Tabelindex[i,y]~ i

Else Tabel[i,y] <(---Tabel[i-1, y] Tabel Index [ i, y] <(--- 0

Tabel[i,y] <(---Tabel[i-1, y] Tabelindex [ i, y] ~ 0

Pada evaluasi terhadap running ttme untuk prosedur di

O(n\ yang merupakan kondisi worst cbase-nya.

prosedur di atas juga diperhitungkan untuk prosedur sorting, yang

yang dibutuhkan cukup besar maka pemilihan jenis sorting akan

47

sekali. Pada BSC ini prosedur sorting yang diterapkan adalah ""'"'"' sort yang

memberikan nilai worst case sebesar O(n~).

BABIV

PERANCANGAN DAN PEMBUAT

PERANGKATLUNAK

Perancangan perangkat lunak ini merupakan implementasi dari langkah-

langkah utama yang telah diuraikan dalam bab sebelumnya.

melingkupi gambaran umum perangkat ,lunak itu yang akan

diagram aliran data, perancangan data ! (masukan, proses serta eluaran) dan

perancangan menu.

Penyusun utama perangkat luna~ yang dinamakan Strips

Cutting ini, terdiri dari dua bagian utam<l yaitu proses penyiapan

diproses dan proses knapsack itu sendirl. Perangkat lunak ini untuk I

mengimplementasikan algoritma aproksim~si guna mendapatkan pol

dengan solusi yang optimal. Perancangan ini diimplementasikan

compiler Borland Delphi under windows.

4.1 GAMBARAN UMUM PERANG~AT LUNAK

Dalam tugas akhir ini dirancang s~atu perangkat lunak untuk mendapatkan

pola pemotongan optimal dalam pemotongan bahan dua dimensi "'"'·'""""' algoritma

aproksimasi. Secara umum dapat dijela*an gambaran perangkat !

48

melalui

keterkaitan antara data masukan, proses

berupa data plat dan pola-pola. Data

dapat juga melalui file teks. Proses

dilakukan setelah data masukan ·

dijelaskan dengan Diagram Aliran Data

4.2 DIAGRAM ALIR DATA (DA

Diagram alir

gambar berikut mt.

menggambarkan sistem pencarian

menerima data masukan dari user berupa

Pengguna Sistem

dan Plat

Gam bar 4.1 DAD level , Sistem perangkat lunak

Best Strips Cutting

menjadi beberapa proses dan sub proses.

pemotongan yang merupakan kombinasi a dalam strip-strip.

Pada gambar 4.2 diagram alir level-1 ini,

dipccah mcnjadi proses-proses pembcnt kan Pp dan PL,

49

akan

sistem ini akan

pada gambar-

level-0 yang

Sistem ini

akan dipotong.

akan dipccah

tadi telah

strip-strip,

pengisian plate dan pencarian pola

terdapat sub proses sorting data pola yaitu

Secara umum proses utama

pengisiannya ke dalam plat. Data

data pola-pola yang dianggap sebagai

proses pembentukan Pp dan Pt mengh

guillotine. Data ini menjadi masukan

menjadi strip-strip optimal

pengisian plat. Proses ini

feasibel. Untuk mendapatkan kombinasi

maka akan dipilih yang distri~usi sisanya

Data Plat

Pada proses pem

menjadi data

50

strip-strip

dan

data plat dan

esaikan. Dari

'p bersama

pemotongan

· feasibel ini

51

4.3 PERANCANGAN DATA

Telah dijelaskan sebelumnya wa masukan yang dib

lunak ini adalah data plat dan data pola masukan, proses dan Untuk

pola-pola.

4.3.1 Data Masukan

Data masukan plat ini terdiri s data saja yaitu panjang (

dengan ukuran plat maksimum dibatasi · 1 000 satuan.

yang dibutuhkan yaitu panjang (p) dan Iebar (1) yang lebih dari tu buah data.

semua data tersebut. Banyak~ya pola ( dibatasi sampai 50 buah

Lr---------+----, 11

p1

p

Gambar 4.3 Model plat (P, L), pola (p1, 11) dan (p2, 12)

Struktur untuk data masukan ini · berikut:

SzPola = Record Pol a P, L nPola End;

1. .2] of intecJ .r;

52

Data yang dimasukankan dapat

yang natinya dapat di-update kembali.

dalam file teks namafile.txt >

Dari data yang dimasukankan data siap

untuk diproses. Data plat (P, L) menjadi kapasitas dari ... <&,., ........ knapsack

tadi. P adalah kapasitas untuk penempa pola dalam arah hori

kapasitas untuk arah vertikal.

Untuk data pola, panjang pola ( ) menjadi item yang akan dimasukkan ke

dalam knapsack dengan kapasitasnya P.

pola (l) dengan kapasitas L.

4.3.2 Data Saat Pemrosesan

yang sama juga dilaku untuk Iebar

Proses-proses yang akan diu ..... u"'"''" Best Strips Cutting aua~•a,• Pembentukan

Pp dan P1 , Pembentukan Strip, Pengis· otongan. Dari

masing-masing proses ini memerlukan ua• ... -L.aL£1 sebagai berikut:

1. Pembentukan Pp dan P1 ,

Data masukan yang telah dijel di atas dipakai dal

menghasilkan titik-titik potong (xj). Data Pp dan P1 ini di ·

satu dimensi.

2. Pembentukan Strip,

• Dari hasil proses Pp dan P1 yaitu 'k-titik Xj, dilakukan

pemotongan guillotine. Dari tiap 'k pemotongan ini dida

dalam array

dua buah

knapsack dengan panjang dan

menjadi ukuran kapasitas yang

• Data masukan dan kapasitas

proses untuk menghasilkan

pembentukan strip. Strip-strip

dibutuhkan oleh proses

optimal yang terpilih.

• Untuk arah horisontal dengan

dalam dua buah knapsack

horisontal-2.

• Hal yang sama juga

didapatkan strip vertikal-1 dan

Data strip-strip ini disimpan dalam

'"' Pengisian Plat, .;).

• Data yang dipakai adalah kel

arah dimensi kedua (yaitu

• Proses yang dilakukan di sini

yang akan diisikan ke dalam

masing knapsack sebanyak n(Pp

53

yang baru. Ukuran dan lebar ini

hasil proses di atas ini ·perlukan dalam

didefinisikan sebagai

Strip ini merupakan

enggunakan data pol a (p)

dihasilkan strip

vertikal dengan data

vertikal-2.

1 array dua dimensi yaitu

mencari kombinasi

Kombinasi ini termuat

PL). Untuk mengurangi j

-'ll\K PER

INSTITUi

SEJiULUH

pada proses

-ODK yang

binasi pola

dimasukkan ke

-1 dan strip

a (I) sehingga

abellndeks.

dalam

usu."-••,. f:.KNOLOGI

M\JPt; ... ~

ini digunakan program dinamis.

dua dimensi.

4. Pola pemotongan

Dari data hasil proses pengtstan

optimal dengan sisa minimal yang

4.3.3 Data Keluaran

Keluaran dari BSC ini berupa

vertikal atau horisontal.

terpilih sebelumnya.

Keluaran ini akan ditampil

digunakan sebagai instruksi pemotongan

basil proses ini di ·

di atas akan

menjadi pola nAnnnTI\n

strip-strip yang

ini merupakan kom

sebagai pola

plat yang diberikan.

ini yang dapat ditampilkan selain pola n<>rnnrnn

yang didapatkan dari hasil normalisasi.

I Solusi Feasibel = I n(Pp U PL).

didapatkan dari normalisasi ini rht•~tn1nt

optimal) itu sendiri.

Keluaran dari proses pola perno1:pngan ini juga disimpan

dalam file ini adalah

memberi solusi optimal.

<namafile.txt>. Infonnasi yang disimpan

pola yang menyusun strip-strip tersebut

54

dalam array

yang paling

secara

yang akan

usi dari BSC

solusi-solusi

t ditampilkan

· pola-

4.4 PERANCANGAN PROSES

Proses-proses utama dari sistem ini terdiri dari proses pem

PL, proses pembentukan strip-strip, ""r"'"""" pengisian platdan nrt''"""'

pemotongan. Untuk masing-masing akan diperjelas dengan

4.4.1 Pembentukan Pp dan PL

Langkah-langkah untuk mela

tergambar pada gambar 4.5 yaitu dia£,rram

pembentukan Pp

55

Pr dan

P~, sepcrti

Dalam proses untuk ...... " .. "'"""'·QIJ• titik-titik x anggota dari , titik-titik ini

harus ~ P/2. Batas baru ini dibagi 1, dicari nilai

gi-l (x-k.pi) yang minimum. Kemudian ni · minimum dari gi-l (x-k. dibandingkan

dcngan 1 untuk mendapatka'n nilai mak · um. Yang terakhir nilai

dibandingkan kembali dengan gi-l (x) diambil nilai yang Jika nilai

akhir = 1 maka titik x termasuk anggota

termasuk anggota Pp.

Untuk menghasilkan x

yang digunakan adalah L/2. Titik-titik

pemotongan guillotine. Untuk x

vertikal sedangkan untuk x anggota PL

Dan jika nilai = oo, titik x bukan

hal yang sama di ........... u-•1• dimana batas

n,.,,,.,, dilakukan

pemotongan guillotine

5()

y

Gambar 4.4 Diagram ali pembentukan Pp dan PL

4.4.2 Pembentukan Strip

Sebelum dilakukan proses strip dilakukan

horisontal data

57

data pola. Untuk proses pembentukan

sedangkan untuk strip vertikal maka yang

yang menjadi titik untuk pemotongan

rting adalah data ""'r""'r'"' Kemudian x

buah knapsack baru.

kapasitas. Untuk strip horisontal,

nilai yang didefinisikan untuk

untuk mendapatkan strip-strip. Stri

strip horisontal. Jumlah pola yang

g pola tersebut.

dimasukkan ke dalam

tersedia dihitung dengan membagi alpha ,.._ .. ,...,_ ..

Jika batas ini >= 1 maka hitung sisa

tas yang

= alpha/pi).

Jika masih bersisa pola tadi dimasukkan 0. Kemudian

menghitung profit dari pemasukan pola yang menjadi nilai

y]. Profit ini dibandingkan dengan sebelumnya jika lebih

sekarang adalah profit yang baru adalah profit

sebelumnya yaitu nilai tabel[i-1, y].

Selanjutnya proses berulang

1m didapat strip-strip horisontal

ditempatkan ke plat proses pengisian plat.

ir dari proses

m buah. Strip-strip ini

Tabel[i,y) "'Tabel(i-,y) Tabellndeksfi.vl= o

Gambar4.5

58

alir pembentukan strip

59

4.4.3 Pengisian Plat

Langkah-langkah dari proses sian plat yang disini pacta

prinsipnya sama dengan langkah-1 dalam proses strip-strip.

Ukuran Iebar plat (L) menjadi kapasitas ·p-strip menjadi

nilai dari pola-pola tersebut.

Keluaran dari proses ini adalah inasi dari strip-strip merupakan

solusi feasibel untuk knapsack hasil pem

4.4.4 Pola Pemotongan

di sini adalah Pola pemotongan yang akan

keseluruhan yang mengisi plat. Untuk ~ •• ,~LJ.:"""'"­

atau vertikal-1 dengan profit maksimal.

antara strip horisontal-2 atau vertikal-2 u..,Jll~a.uprofit maksimal.

Gambar 4. 7 Diagram

Untuk mencari solusi optimal di kan dengan mencari

yang memberi profit maksimal diantara usi-solusi feasibel tadi.

60

strip secara

a pemotongan

yaknya solusi

feasibel adalah n(Pp U PL). Solusi-so usi feasibel ini meru

strip-strip vertikal atau horisontal

pola tersebut.

4.4.5 Hirarki Modul

Diagram disain rnodul yang dii

keseluruhan dapat dijabarkan seperti

Pembentu­kan Pr dan

PL

Pengurutan Pol a

profit yang feasibel

entasikan pada Tugas

o.,,..,,...,,.;,,., Kombinasi Pola Pemotongan

yang Optimal

modul dari sistem

Nomor-nornor di atas rnewakili data-data yang rnasuk

dengan diagram data pada gam bar 4.2.

1. Data plat dan pola

2. Titik-titik potong guillotine

3. Kurnpulan pola terurut

61

kombinasi dari

plat dan pola-

1m sccara

keluar scsuai

4. Kumpulan strip-strip

5. Solusi-solusi feasibel

6. Solusi optimal

4.5 PERANCANGAN MENU

Untuk dapat memberikan

Cutting. Menu ini seperti ditunjukkan

0 NEW CJ OPEN 0 SAVE 0 SAVEAS 0 CLOSE 0 PRINT 0 EXIT

0 INISIAL PLAT CJ INPUT POLA 0 METODE

CUTTING OSKALA

Menu File berhubungan dengan

telah pemah dibuat sebelumnya atau untuk

Menu Setup Cutting berhub

yang dimasukkan oleh pengguna.

62

udahan dalam pcmasu an data dan

maka pada perangkat 1 ini dirancang

dan Proces

SISTEM

sistem perangkat lunak

teks masukan yaitu pola yang

· ni pengguna harus

pcmotongan dengan BSC atau Fase 0-cut. Jika pilihan ini tidak dii maka proses

dilakukan dengan BSC. Skala dipilih menentukan ukuran

dibuat dari hasil proses yang telah didar>aU~an.

Menu Proces Cutting berkai dengan pilihan metode

yang telah dipilih tadi maka akan dil ukan proses pencarian

optimal yang hasilnya digambarkan pada

Basil proses yang telah di

yang memberi keterangan tentang hasil

yang pertama memberikan infonnasi

pemotongan guillotine (horisontal dan

Bahan yang dipotong, Data Pola-Pola, Si

Terambil yang optimal, Hasil Proses

Infonnasi terbagi

titik-titik nonnali

Vertikal yang dihasilkan seb~lurn div..,•.u•Hil"'''ll pada plat awal.

Menu Window dan Help dijel kan Jebih jauh pada

menu-menu yang telah disebutkan juga diberikan informasi lainn

pemotongan guillotine, angka ini

guillotine sehingga dihasilkan sub plat

tersebut Untuk masing-masing strip m

sehingga mengisi sub plat dengan

mengisi plat sehingga memberikan solusi

kombinasi dari

Kombinasi dari

keterangan lebih lanjut tentang infonnasi · · diberikan pada lampiran

63

gambar yang

plat

pemotongan

odul infonnasi

yang terjadi

dan

A. Selain

Pada modul

4.6 PEMBUAT AN PERANGKAT NAK

pembuatan dari perangkat lunak itu.

4.6.1 Struktur Data

banyaknya macam pola dan W

menyimpan nilai serta V masing-masing Untuk W dan V m

SzPola = Record Pola : Array[l .. 50,1 .2) of Integer; PANJANG, LEBAR : Integer;

nPola:integer; w, V :MaxSubject;

end;

Untuk menyimpan data strip

terdiri lima medan yaitu StrikKe, ·

64

dijelaskan

data larik

Rekaman ini

StripKe ini

mewakili urutan strip yang diperoleh, mewakili pola terurut ang masuk ke

dalam strip

PtrStrip InfoStrip

"InfoStrip; record

StripKe, index, banyak1, banyak2:integer; arah String; next : ptrStrip; {next pola in infos rip}

end;

Data keluaran yang akan ditampi

data rekaman sebagai berikut:

PtrPola InfoPola

"InfoPola; record

StripKe ,index, banyak1, banyak2, arah, Guillotine, next : ptrPola;

end;

sebagai solusi optimal · ·

: integer; lat : string;

{next pola in inf

65

dalam

Medan dari data rekaman ini penjelasannya sama den data strip.

Guillotine menunjukkan arab pengisian p at dan plat sendiri menunj kan sub plat

yang diisi.

4.6.2 Modul Pembentukan Strip

Berikut yang akan dijabarkan ·

strip. Alpha dan betha mewakili

pemotongan guillotine.

Procedure MembuatStrip(alpha, for i +-1 to m

for y+- alpha downto 1 MaxCurrent +- 0 Batas +-y I W[i] if Batas >= 1 then

for k+-1 to Batas x+- (y-k*W[i)) if x>=O then

MaxTemp +- Tabel if MaxCurrent <

MaxCurrent +-Frekw +- k

ementasi dari modul

dari sub plate yang tel

i-1, x) + k*V[i] xTemp then

emp

strip-

if MaxCurrent >= Tabel[i,y) then Tabel[i,y) ~ Maxcurrent Tabelindex[i, ~ i

Else Tabel [i, y] ~ abel [i-1, y] Tabellndex [ i, y ~ 0

Tabel[i,y] ~Tabel[i-1 y] Tabelindex[i,y] ~0

Keterangan:

MaxCurrent adalah nilai maksimal · kombinasi pola yang

pola tersebut terpilih untuk disimpan dalam tabel index,

disimpan dalam tabel.

• Tabelindex merupakan tabel yang yimpan data pola terpilih

dari pola tersebut.

• Keluaran dari proses ini adalah tabel index yang berisi pola

yang membentuk strip-strip.

4.6.3 Modul Pengisian Plat

Pengisian plat dilakukan terhadap

optimal yang telah didapat. Batasl dan

Algoritma untuk pengisian plat · yang telah dijelaskan

procedure MengisiPlat(var Value: integer, n:integer; mode:byte;VH:string};

inisial Strip; {prosedur program dinamis} Dinamis(FMaks,SPola,Batas1}; {untuk menyimpan hasil proses} for i~l to Spola.nPola do y~ batas1; repeat

j ~TABEL_INDEX[i, y, 1); risi pola ke j}

66

membuat

frekwensi

diagram

if (j<>O) then STRIPl[i,j,l] +-j; STRIP1[i,j,2] +-T

y+- (y-STRIP1[i,j,2]* k+-TABEL_INDEX[j,y,2

else k+-0;

until(k=O\ for i+-1 to SPola.nPola do

SHorisontal.W[i] +-SPola. SHorisontal.V[i] +-FMaks[

Dinamis(Profit,SHorisontal, y+-batas2; j+-TABEL_INDEX[SPola.nPola,y repeat

for q+-1 to Spola.nPola do if (TABEL_INDEX[j,y,2]*

ISI_PLATE[j,q,2) +-T ISI PLATE[j,q,l) +-S {rnemasukkan nilai ke if (STRIP1[j,q,2)<>0)

new(nodel); node1"'.StripKe +­nodel"'. Index +­nodel"'.banyak1 +­node1"'.banyak2 node1". arah +-

INDEX[j,y,2]; ola.Pola[j, 1]); ; {frekw pola beriku nya}

la[i,2];

TRIP1[j,q,2])>0 the INDEX[j,y,2]*STRI llj,q,2];

IPl[j,q,l]; lam Tabel Strip Hor sontal}

j; RIPl[j,q,l]; TRIP1[j,q,2];

L_INDEX[j,y,2];

nodel".next +- ni ; if (mode = 1) then

INSERT_STRIP(n else

1,STRIP_1H[IdxStri ])

INSERT_STRIP(no y+-(y-Tabel_Index[j,y,2]*S k +- TABEL INDEX [ j , y, 2) ; j +- TABEL ~)NDEX [ j , y, 1] ; {be

until(k=O); {menyimpan nilai maksimal dar Value+-SearchPlate(Profit);

Keterangan :

l,STRIP_2H[IdxStri ]) l a . POl a [ j , 2] ) ;

j }

sub plat}

67

• Hasil dari pembentukan strip-strip ( atau vertikal) · sebagai nilai

baru untuk tiap pola yang telah

68

• Kemudian dengan proses dinamis

hasil maksimal. Hasil ini berupa

tabel index kembali. Dan nilainya

• Keluaran dari proses ini adalah

strip-strip dan frekwensi dari strip TPr''""n'

• Dari solusi feasibel ini lalu dicari usi optimal yang memil · sebaran sisa

yang paling sedikit.

4.6.4 Modul Pembuatan Gambar

Untuk menampilkan hasil

dilkaukan implementasi dengan

didapat dari pengisian plat yaitu sebagai

Procedure BuatGambar; MencariNilaiOptimalCuttingPl PolaT.ListBoxl.clear; {dari variabel TABLE_POLA[i] if PolaT.Showmodal=mrOk th n

A := I I;

B := I I;

node (- TABLE_POLA[Index] repeat

{plat A} if (nodeA.plate= 1 A 1 ) t

membaca strip-strip else {plat B}

membaca strip-strip node (- nodeA.next;

until (node=nil); gambarplat; gambarPlatA(A); gambarPlatB(B);

ng mengisi sub plat A

ng mengisi sub plat A

maka

·~·-·--,,-­__ _,_.._,..,.--~

BV

HASIL UJI COB

Dalam bab ini akan dibahas g uji coba perangkat unak yang telah

diimplentasikan dan evaluasi terhadap · i coba dilakukan

contoh-contoh

yang telah pernah diuji coba. Hasil contoh-

contoh tadi dievaluasi di sini untuk kinerja perangkat lunak

Perrnasalahan knapsack dua yang diselesaikan

adalah pemotongan terhadap ,bahan.

dan RAM 16 MB dengan data random dan data Untuk data I

terpihh merupakan data yang telah diuj coba dalam percobaan

yang sama.

5.1 DATA RANDOM

Untuk uji coba menggunakan I

random maka data-data yang di!:,runakan

dijelaskan lebih lanjut berikut ini.

Ukuran plat dan banyaknya pola m diambil secara Ukuran

ini dikelompokkan menjadi 2 bagian ukuran data kecil (

1 00 dan m an tara 10 - 3 0) dan ukuran besar (ukuran plat antara 01-200 dan m

70

antara 30 - 50). Data untuk ukuran pol, juga dibangkitkan secara antara (~

P sampai % P ) untuk panjangnya dan ( ~ L sampai % L ) untuk Pn~•rn'"~ I

5.1.1 Hasil Komputasi

Uji coba yang telah dilakukan ]terhadap data random di s !

data plat (100, 100) untuk ukuran kecilldengan banyaknya macam

30, 40 dan 50. Untuk tiap m dilakukfn 5 kali uji coba dengan

Sedangkan untuk data ukuran besar pial yang dib'Unakan beruk

macam pola sama dengan yang sebelu~nya. Perulangan I

dipakai juga sebanyak 5 kali. Data random yang diuji coba

lampiran B. 1

I

Hasil uji coba terhlldap data ~ndom •m didapatkan

dicantumkan dalam tabel 5.1 dan tabel s.i . Tabel5.1 Hasil dan Fase O_Cut

(ukuran data kecil)

97% 96%

30 99% 98%

40 99% 98%

50 1100% 99%

(m) 10, 20,

yang sama.

(200, 200) dan

tiap pola yang

dilihat pada

seperti yang

71

Tabel5.2 Hasill BSC dan Fase 0 Cut (ukurah data besar) -

96% 94%

30 98% 97%

40 i 98% 97%

50 98% 98%

i

Evaluasi dilakukan terhadap o*tput yang dihasilkan dari · i coba terhadap

contoh-contoh di atas. Untuk contoh-coptoh dari data random,

memperlihatkan hasil dari rasio aproksimasi yang baik. Untuk

rasio aproksimasi ini semakin menitigkat dengan bertambah

Persentase rata-rata solusi optimal untuk! ukuran data kecil adalah '

ukuran kecil,

'

fase 0-cut persentase rata-rata solusi <)ptimal adalah 95,7% d n waktu 1595

mdetik.

Sedangkan untuk data ukuran ~esar rasio aproksimasi

juga semakin meningkat untuk bertambahnya macam pola. Untuk

ditunjukkan pada tabel 5.2. ini menunj*kan hasiJ yang cukup

optimal. Persentase rata-rata solusi optih,a] untuk ukuran data

dengan waktri yang dibutuhkan untuk ~endapatkan solusi

adalah 98%

5070 mdetik i

sedangkan untuk fase 0-cut persentase qtta-rata solusi optimal uuu .• ~u 97% dengan

waktu 1884 mdetik.

72

Jika hasil yang ditunjukkan 4ari fase 0-cut maka ras10

I

aproksimasi (persentase solusi optimal)ijuga memperlihatkan cukup baik yang I

optimal. Jadi penyelesaian dengan Bs¢ juga dapat dihentikan j dipertimbangkan

bahwa solusi optimal telah didapatkan ~ari solusi yang diberikan fase 0-cut ini.

'

Pertimbangan lain juga dengan fase 0-c~t ini hanya membutuhkan yang relatif

lebih kecil dari segi komputasinya.

5.2 OAT A TERPILIH

Data terpilih adalah data yang diambil dari percobaan

dilakukan orang terhadap permasalahan yang sama.

macam data dalam tabel, yang dianggap dapat mewakili dari

Tabel 5~3 Contoh 11

•. J'Iat (P, L)····

(9,11) (3, 3), (4, 3), (2, 4)

Tabel 5.4 Contoh 22

(15,10) r·····f>br~(p;l)i····················

(8, 4), (3, 7), (8, 2), (~. 4), (3, 3), (3, 2), (~. 1)

1 Fayard D., Zissimopoulos V., An AlgorithmfiJT~oll'ing Unconstrainetl

!ftwp.mck Problem.'>, European Journal of Operati~mal Research (1995), 621. • Christofides N., Whitock C., An Algorithm for two-Dimensional Cutting Prr:thiPtn~.

I Research, Vo125, No. 1, Jan-Feb 1977,41. I

I !

telah pernah

ada 4

Plat {P, L)

(401 70)

Tabel ~.5 Contoh 33

Pola (p,l)

(91 24)1 (101 1 )I (121 8)1 (91 35)1 (211 22), (11 1 13), (31' ~ 3)1 (30, 7), (141 8)l (13, 7)

Plat (PI L) Pola (p, I)

(127, 98) (21, 13), (36, '7), (54, 20)1 (20, 27), (181

Plat (PI L)

(401 70)

Tabel ~.7 Contoh 56

Pola (p, I)

(31 ,43)1 (30,41 ), (29139), (28138), (27 137), (26,36), (2513$)1 (24134)1 (33,23)1 (22132)1 (31,21), (29,1$). (17,27), (15,24), (16,25), (15,24), (23,1 • I (21l12)l (19111)1 (9117)

i

Untuk data terpilih ini yang *kan dibahas lebih lanjut

73

ah data dari

contoh 1. Untuk contoh yang lainny• hanya disajikan sebagai asil perhitungan

akhir saja.

Diberikan sebuah lembaran plat' dcngan ukuran panjang lebarnya adalah

9 x 11 yang digunakan untuk memenuhi! order dengan pola-pola 3 3, 4 x 3 dan 2 x

Data-data:

Ukuran Plat : Panjang = 9, Lebar= 11

Data Pola : Himpunan Pola (Pi,, lj ): S = {(3,3), ( ,3), (2,4)}

Nilai : ll"i =Pi X ti. I

3 Ibid, 41 4

Fayard D., op. cit., hal 630 5

Chistofide N., op. cit., hal 41

5.2.1 Penyelesaian Dengan BSC

Titik-titik normalisasi yang dip~roleh XjE Pr = {2, 3, 4}

Pada masing-masing titik ini dipero1eh splusi-solusi feasibel '"'"''·'""""'

74

XjEPt= {3,4}.

kombinasi pola.

Solusi feasibel yang diperoleh pada saat ~ilakukan guillotine vertika disajikan dalam I

tabel di bawah ini sebagai berikut:

I

Tabel 5.8 Solusi Feasi~el pada Guillotine Vertikal

Dari solusi feasibel ini digambarikan bagaimana susunan

pemotongan tersebut tmtuk masing-masiJ1g titik potong tersebut. !

f{D Adalah sisa.

Xj =2

Gambar 5.1 Solusi fe~sibel 1 untuk plat (9, 11)

kombinasi pola

75

Xj=3

P3 P3

Pl

P3 P3 P3 Pl

Pl Pli Pl

Gambar 5.2 Solusi fe~sibel 2 untuk plat (9, 11)

P2

P3 P3

P3 P3

Pl

Gambar 5.3 Solusi fehibel 3 untuk plat (9, 11) I

76

Solusi feasibel pada saat dilaWukan guillotine horisontal adalah sebagai

berikut:

'

Tabel 5.9 Solusi feasibej pada guillotine horisontal

Dari solusi feasibel ini digambar~an bagaimana susunan

potong tersebut untuk masing-masing titi~ potong tersebut. !

P3 P3 P3

Pl

P3 P3 P3 Pl

Yj=3

Pl PI PI

Gambar 5.4 Solusi feasibel 4 untuk plat (9, 11)

kombinasi pola

77

P3

Yj=4

P3 Pl

Gambar 5.5 Solusi fea$ibel 5 untuk plat (9, 11)

PI ~1 PI

P3 P3

PJ PJ : PJ Pl

Gambar 5.6 Solusi!feasibel fase 0-cut

5.2.2 Fase O_Cut

Pada fase 0-cut, penyelesaian : masalah dilakukan pemotongan

guillotine di titik nonnalisasi pada plat a~al seperti pada bagian 5.2 1. Jadi di sini

pencarian dilakukan pada kapasitas P dim L. Hasil yang dipero h yaitu nilai

78

profitnya adalah 93 dan sisa 6. Kombinaisi pola disusun oleh 2 strip horisontal

yang merupakan kombinasi pola-1 (3 J 3) dan pola-3 (2 x 4) sebuah strip

horisontal yang tersusun dari 3 buah pola~1 (3 x 3).

di atas.

Kombinasi pola pemotongan pa<Ja fase 0-cut dapat dilihat i

5.2.3 Hasil Komputasi

gambar 5.6

Untuk hasil uji coba terhadap daia terpilih contoh 1 sampai ntoh 4 dengan I

I

menggunakan BSC dan fase 0-cut didapa*an:

Tabel5.10 Hasit SSC dan Fase O_Cut

Solusi Plat m Sebe- Nilai

(9, 11) 3 93 93 (94%) 93 (94%)

(15, 10) 7 249 150 (100%) 0,170 150 (100%)

(40, 70) 10 3006 2800 (100%) 0,930 2800 (100%)

(127, 98) 5 12192 12192 (98%) 0,870 12132 (97%)

(40, 70) 20 2240 2694 (96%) : 1,100 2694 (96%)

Dari evaluasi terhadap output <lata terpilih pada tabel :

bahwa untuk contoh 2, dengan BSC men)beri solusi 150( 1 00%)

detik. Sedangkan solusi yang diberikan idengan algoritma

dalam waktu 2,47 detik.

sse Rata-Rata

92%

100%

99%

95%

93%

waktu 0,17

adalah 249

Untuk contoh 3, BSC memberikan solusi 2800(100%) da waktu 0,93

detik sedangkan dengan algoritma tree s~arch solusinya 3006 waktu 24,07 !

detik. Untuk dua contoh ini BSC .. ..,,, .. V..,t

waktu sepersekian detik.

lama untuk menemukan solusi

mendefinisikan nilai pola bukan u" ....... .,, ....

fase 0-cut solusi yang diberikan sama

relatif lebih singkat dari BSC.

Untuk contoh 4, BSC memberi

solusi optimal tanpa

Dalam kedua con1ton

pada luasannya.

hasil dengan BSC

0,87 detik. Fase 0-cut memberikan solusi sebesar 12132(97%). Pada

79

bahan dalam

relatif lebih

ini algoritma

) dalam waktu

ini hasil

BSC lebih baik dari fase 0-cut. Untuk coiJtmn

exact 2240 dalam 4,51 detik dan nPrHr<lnl

dalam waktu 1,1 detik. oleh BSC lebih

nnhm<>l 2694(96%)

dari algoritma

exact untuk contoh ini.

B~BVI

PENUTUP

6.1 KESIMPULAN

I

Dari evaluasi terhadap hasil uj~ coba memberi suatu yang dapat

disimpulkan sebagai berikut:

1. Dari hasil uji coba untuk lilkuran data kecil macam pola

antara 10 - 30 dan ukuran plat antara 50 - 1 00) dan data besar

(banyaknya macam pola ant~ra 30 - 50 dan ukuran plat 101 - 200)

menunjukkan BSC adalah efisienjika di!:,Ttmakan pada

2. Rasio aproksimasi terbaik yCILng diberikan oleh BSC ukuran data

kecil adalah 96% dan untuk ulkuran data besar adalah 9

3. Fase 0-cut memberikan solusi yang cukup baik juga k permasalahan

knapsack dua dimensi yang s~ma, sehingga dapat diperti

penyelesaian masalah knapsa¢k ini.

4. Dengan menggnnakan proen•m dinamis jumlah

hanya 4 buah knapsack saja luntuk tiap titik normali sehingga akan

mengurangi memori yang teq:lakai.

~0

6.2 SARAN

Algoritma aproksimasi yang dqmplementasikan guna

knapsack dua dimensi ini dapat dikemb~ngkan lebih lanjut,

dapat menangani dengan efisien data dertan ukuran besar.

1. Algoritma aproksimasi ini sdlanjutnya dapat d1

menggunakan nilai untuk setiap pola bukan hanya di

luasan pola itu, misalnya de~gan prioritas atau profit

dapat didefinisikan sendiri.

2. Algoritma ini dapat dikembahgkan untuk diterapkan

masalah knapsack yang terbat•s (bounded). Di masalah · I

memperhatikan batas maksimum yang harus dipenuhi

jumlah plat yang tersedia. 'Jumlah masing-masing

dibutuhkan dibatasi jumlalmya. Sehingga

81

masalah

t algoritma ini

lagi dengan

penyelesaian

· tiap pola dan

pola yang

disesuaikan dengan batasan yang baru. Dalam tugas ini variabel k

(=LJ> I p j atau = LL! I J ) dap"t dijadikan acuan untuk m dapatkan item

pola sejumlah yang dibuttihkan. Pengembangan · juga dapat

digabungkan dengan saran seb¢lumnya.

DAFT AR PUST AKA

1) Fayard D., Zissimopoulos V.,"An Approximation

'

Solving Unconstrained llwo-Dimensional Knap k Problems", I !

European Journal of Operatiottal Research (1995) 618-63

2) J. E. Beasley, "Algorith s for Unconstrained imensional

Guillotine Cutting", Operati Research Society ( 1 , Vol 36, No.4,

297-306.

3) Martello S., Toth P., ""Kna ck Problems: Algorithm and Computer

4) Pratono A, "Perancangan Pembuatan Perangkat unak Optimasi

Benda 2 Dimensi", Teknik uter, ITS, 1995.

5) R. G. Dyson, A S. Gregory, in Flat Glass

Industry", Operational

6) Smith D. K., "Dynamic P uction", Ellis

Horwood Ltd., 1991.

7) Taha, H. A, "Riset Ope 1", Binarupa Aksara, 1

A- 1

LA~tPlRAN A

PANDUAN PENGOPERAS.AN PERANGKAT L NAK

Untuk dapat menjalankan aplilkasi perangkat lunak ini, i sini akan

dijelaskan kebutuhan perangkat lun~k dan perangkat keras yang harus

diperhatikan sebelumnya.

A.1. Kebutuhan Perangkat Lunak dan Keras

Perangkat Lunak ini harus dij~lankan dalam sistem VIJ'"""'

dengan minimal kebutuhan perangkat keJ:lls yang harus disediakan

• CPU 486-DX

• Monitor VGA

• Memori 16MB

• HD 80MB

Sedangkan untuk kebutuhan perangkat lunak adalah sebagai ·kut:

• Sistem Operasi Windows 95 ·

• File-file sebagai berikut: FINAL.EXE, MDIMAIN.P

IN_POLA.PAS, POLAS.PAS.

A.2. Cara Pengoperasian Perangkat Lunak

Untuk menjalankan perangkat lunak ini pilih FINAL dieksekusi.

Tampilan yang muncul adalah menu utlama dari perangkat lunak ini. Seperti

terlihat pada gambar A. I.

A- 2

Menu yang tersedia di sini yaituJ File, Setup Cutting, Proses ing, Window

dan Help.

A- 3

A.3. Menyiapkan Data Untuk Prqses

Data-data input yang diperlukanl terdiri atas dua macam I

data pola. Untuk data plat diinputkan mel~lui menu Setup Cutting

Inisial Cutting. Sedangkan data plat dap•t diinputkan melalui menu

memilih Input Pola. Selain dengan memasukkan lansung data pola j I

file data yang telah disiapkan.

Gambar A.2 Mef11asukkan data plat

A-4

A.4. Melakukan Proses Pemotor~tgan

Menu yang harus dipilih untuk1 proses pemotongan adal Proses Cutting

dengan memilih Cutting. Proses akan b¢rjalan untuk menghasilkan kombinasi pola

pemotongan optimal. Hasil ini disimpart dalam file <hasil.txt>, dapat dilihat

kembali melalui modul Informasi yang di~ediakan.

A.S. Melihat lnformasi Hasil Pro$es Pemotongan

Informasi-informasi yang dapat diperlihatkan adalah .,..,._, ... h'"'l

A.5.1. lnformasi Dari Setiap Proses

lnformasi yang disediakan selail) data plat, data pola juga ua kombinasi

yang dihasilkan dari proses pemotongan pada tiap titik normal· ditampilkan di !

Sin I.

A- 5

Gambar A.5 Menam~itkan file hasil proses

A.5.2. Kombinasi Pola Pemotongan Op~imal

Infonnasi yang diberikan adalah kombinasi pola pe gan optimal

dcngan memberikan keterangan jumlah pola terambi1 masing-masi g dan gambar

dari kombinasi pola pada plat.

Gambar A.6 Menampilkan kombin,si pola pemotongan optimal

!

,_.___., 11S -r-.11'.-.1.

~ !:~K""QlO~:C ,..o.-E"'aE~,

A.5.3. Pemililtan Guillotine Horisonta~ Pada Suatu Titik

Infonnasi yang akan diberikan ~ika masuk ke modul

memilih titik potong nonnalisasi arah hori~ontal maka akan disajikan

pemotongan dan gambar pola pemotonganuuga.

I

Gambar A.8a. Menampilkan piliflan tilik guiHotine iiorisontal

A- 6

ah dengan

A -7

Gambar A.8b. Menartl>ilkan guillotine horisontal

A.5.-1. Pemilihan Guillotine Vertikal P'ada Suatu Titik Norma/ism;

Informasi yang diberikan dari modul ini sama dengan di

arah pemotongan guillotine vertikal.

2 1

2 2 1

Gambar A.9 MenaJilpilkan guillotine vertikal I

LAM~IRAN H

DATA INPUT RANDOM

8.1 Data Ukuran Kecil

Ukuran Plat (P, L) = (1 00, 1 OG); Ukuran Pola (p, I)

Macam Pola = m (antara 10 S8mpai 50)

(25,26)(68, 35)(38,p8)(40, 33)(43, 46)(29,48) (27, 39) (70, 43) (63, ~ 1)

10 (59,67)(60,40)(33.~1)(48, 37){66, 38)(49, 32) (63, 73)(49,69)(66,~6)

10 (32, 32)(50,26)(54.~5)(63, 57)(63, 60)(52, 35) (72, 57)(74, 37)(58, 39)

10 (29, 63) (49, 69) ( 50,:53) (72, 59) (41, 25) (60, 74) (34, 32)(70,64)(54,~8)

10 {59, 39){29, 56){39, {33, 38)(52, 73){33, 32)( (53, 49) (39, 32) {55, )

58)(40,33)(43,46)(29, 1 41)(59,67)(60,40)(33,41

( 66, 38) ( 49, 32) ( . 39) ( 63, 73) ( 49, 69) ( 66,

20 ( 32, 32) ( 50, 26) ( 54. 25) ( 63, 57) ( 63, 60) ( 52, (72, 7)(74, 37)(58,$9)(29,63)(49,69)(50, 53) ( 41' 25) ( 60, 4) (63, !62) ( 34, 32) ( 70, 64) (54,

20 ( 59, 39) ( 29, 56) ( 68) ( 33, 38) ( 52, 73) ( 33, (53, 9) ( 39, 32) (55' 61) ( 62, 29) ( 28, 27) ( 30, ( 55, 46) ( 62, 9) { . 65) ( 65, 32) { 29, 28) ( 28,

20 ( 58, 36) ( 53, 37) ( 4~, 66) ( 40, 40) ( 57, 59) ( 70, ( 48, 39) ( 63, 62) (52, 61) ( 4~. 52) (54, 69) (58, 30) ( 48, ( 30, 27) (52, 58) ( 29, 71) ( . 59) ( 71, 38) ( 60, 61) ( 49,

20 { 32, 36) ( 72, 43) ( 31~ 74) ( 40, 27) ( 30, 68) (52, ( 25,40) { 70, 51) { 41' 47) { 70, 42) ( 42, 49) ( 28, ( 71, 49) ( 31, 9) ( i 35) ( 65, 54) ( 30, 56) ( 71,

( 25, 26) ( 68, 35) ( 58) ( 40, 33) ( 43, 46) ( 29, ( 27,39) ( 70, 43) ( 63 41) (59, 67) ( 60, 40) ( 33, 41 ( 66, 38) ( 49,32) ( 39) ( 63, 73) ( 49, 69) ( 66, ( 50, 26) ( 54, 25) ( 7) ( 63, 60) ( 52, 35) ( 59, ( 74, 37) (58, 39)

B- 1

B-2

30 ( 29, 63) ( 49, 69) !SO, 53) ( 72, 59) ( 41, 25) ( 60 74) ( 63, 62) ( 34, 32) ( 70, 64) 154, 68) (59, 39) ( 29, 56) ( 39 68) ( 33, 38) (52, 73) ( 33, 32) i38, 33) (53, 49) ( 39, 32) (55 61) ( 62, 29) ( 28, 27) ( 30, 64) 165, 44) ( 55, 46) ( 62, 49) ( 42 65) ( 65, 32)

I

( 29, 28) ( 28, 34) i

30 (58, 36) (53, 37) (~43, 66) ( 40, 40) (57, 59) ( 70 40) ( 48, 39) ( 63, 2) (52, 61) (. 5, 52) (54, 69) (58, 30) ( 48, ) ( 30, 27) (52, 58) ( 29, 71) (j66, 59) ( 71, 38) ( 60, 61) ( 49 58) ( 32, 36) ( 72, 43) ( 31, 74) <!40, 27) ( 30, 68) (52, 59) ( 30 58) ( 25, 40) ( 70, 51) ( 41, 47) ;

30 ( 70, 42) ( 42, 49) 128, 67) ( 63, 34) ( 71, 49) ( 31 69) ( 45, 35) ( 65, 54) ( 30, 56) !71, 52) ( 41, 47) ( 36, 34) (59 74) ( 56, 59) (52, 29) ( 62, 32) 136, 69) ( 60, 46) ( 74, 32) ( 26 34) ( 25, 43) ( 44, 43) ( 29, 47) ISO, 48) (58, 65) (53, 37) ( 43 54) ( 68, 55) ( 37, 59) (52, 68)

30 ( 43, 43) (56, 64) 47, 35) (59, 66) ( 62, 70) ( 34 63) ( 38, 39) ( 60, 47) ( 73, 34) 25, 36) ( 69, 41) ( 68, 63) ( 73 38) ( 44, 66) ( 26, 37) ( 27, 50) 146, 25) ( 32, 60) ( 40, 44) (52 38) ( 32, 39) ( 28, 60) ( 41, 64) (!57, 53) ( 69, 26) ( 37, 69) (59 26) ( 32, 32) ( 45, 45) ( 32, 25) I

. Plat (P, L) M Pola (p,l)

(100, 100) 40 ( 25, 26) ( 68, 35) ! 38, 58) ( 40, 33) ( 43, 46) ( ( 60, 40) ( 33, 41) i48, 37) ( 66, 38) ( 49, 32) ( 39) ( 63, 73) ( 49, 69) ( 66, 26) i 32, 32) ( 50, 26) (54, 25) ( 63 57) ( 63, 60) ( 52, 35) (59, 54) i72, 57) ( 74, 37) (58, 39) ( 63) ( 49, 69) ( 50, 53) ( 72, 59) i41, 25) ( 60, 74) ( 63, 62) ( 32) ( 70, 64) (54, 68)

40 ( 59, 39) ( 29, 56) <139, 68) ( 33, 38) ( 52, 73) ( (53, 49) ( 39, 32) <!55, 61) ( 62, 29) ( 28, 27) ( 64) ( 65, 44) (55, 46) ( 62, 49) (142, 65) ( 65, 32) ( 29, 28) ( 28 34) (58, 36) (53, 37) ( 43, 66) 140, 40) (57, 59) ( 70, 40) ( 48 39) ( 63, 62) (52, 61) ( 45, 52) 154, 69) (58, 30) ( 48, 45) ( 30 27) (52, 58) ( 29, 71) ( 66, 59) :71, 38) ( 60, 61) ( 49, 58)

40 ( 32, 36) ( 72, 43) (!31, 74) ( 40, 27) ( 30, 68) (52 59) ( 30, 58) ( 25, 40) ( 70, 51) <141, 47) ( 70, 42) ( 42, 49) ( 28 67) ( 63, 34) ( 71, 49) ( 31, 69) (145, 35) ( 65, 54) ( 30, 56) ( 71 52) ( 41, 47) ( 36, 34) (59, 74) 156, 59) (52, 29) ( 62, 32) ( 36 69) ( 60, 46) ( 74, 32) ( 26, 34) 125, 43) ( 44, 43) ( 29, 47) (50 48) (58, 65) (53, 37) ( 43, 54) 168, 55) ( 37, 59) (52, 68)

40 ( 43, 43) (56, 64) !47, 35) (59, 66) ( 62, 70) ( 34 63) ( 38, 39) ( 60, 47) ( 73, 34) 125, 36) ( 69, 41) ( 68, 63) (73, 38) ( 44, 66) ( 26, 37) ( 27, 50) !46, 25) ( 32, 60) ( 40, 44) (52 38) ( 32, 39) ( 28, 60) ( 41, 64) I 57, 53) ( 69, 26) ( 37, 69) (59 26) ( 32, 32) ( 45, 45) ( 32, 25) !51, 63) (53, 36) ( 68, 28) ( 49 28) ( 43, 58) ( 35, 65) (51' 45) 126, 74) ( 33, 27) ( 27, 30)

40 ( 65, 72) ( 30, 35) 163, 74) ( 49, 26) (54, 65) ( 71 50) (58, 74) ( 63, 60) ( 69, 74) 161' 64) ( 25, 43) ( 40, 28) ( 64 38) ( 67, 70) ( 271 69)( 71 1 9) ( 43) ( 46, 62) ( 59, 42) (56, 50) ( 73, 30) ( 74, 26) (55, 42) ISO, 57) ( 65, 56) ( 72, 49) ( 74) ( 36, 34) ( 46, 59) ( 62, 26) ISS, 65) ( 48, 33) (56, 28) ( 64) ( 68, 46) ( 25, 36) (53, 69) 127, 48) ( 71, 68) ( 67, 61)

B-3

Plat (P, L)

(100, 1 00) ( 25, 26) ( 68, 35) ( 38, 58) ( 40, 33) ( 43, 46) ( 29, 8) ( 28, 67) ( 27, 39) ( 70, 43) ( $3, 41) (59, 67) ( 60, 40) ( 33, 1) ( 48, 37) ( 66, 38) ( 49, 32) ( $8, 39) ( 63, 73) ( 49, 69) ( 66, ( 32, 32) (50, 26) (54, 25) ( $3, 57) ( 63, 60) (52, 35) (59, ( 72, 57) ( 74, 37) (58, 39) ( 29, 63) ( 49, 69) (50, 53) ( 72, ( 41, 25) ( 60, 74) ( 63, 62) ( 34, 32) ( 70, 64) (54, 68) (59, ( 29, 56) ( 39, 68) ( 33, 38) ( 52, 73) ( 33, 32) ( 38, 33) ( 53, ( 39, 32) (55, 61)

50 ( 62, 29) ( 28, 27) ( 30, 64) ( 65, 44) ( 55, 46) ( 62, ( 42, 65) ( 65, 32) ( 29, 28) ( 28, 34) ( 58, 36) (53, 37) ( 43, ( 40, 40) (57, 59) ( 70, 40) ( ~8, 39) ( 63, 62) (52, 61) ( 45, (54, 69) (58, 30) ( 48, 45) ( 30, 27) (52, 58) ( 29, 71) ( 66 ( 71, 38) ( 60, 51) ( 49, 58) ( t 36) ( 72, 43) ( 31, 74) ( 40, ( 30, 68) (52, 59) ( 30, 58) ( 5, 40) ( 70, 51) ( 41, 47) ( 70, ( 42, 49) ( 28, 67) ( 63, 34) ( 1, 49) ( 31, 69) ( 45, 35) ( 65, ( 30, 56) ( 71 I 52)

so ( 41, 47) ( 36, 34) ( 1 74) (56, 59) (52, 29) ( 62, ( 36, 69) ( 60, 46) ( 74, 32) ( 1 34) ( 25, 43) ( 44, 43) ( 29, (50, 48) (58, 65) (53, 37) ( 1 54) ( 68, 55) ( 37, 59) (52, ( 43, 43) (56, 64) ( 47, 35) ( 1 66) ( 62, 70) ( 34, 63) ( 38, ( 60, 47) ( 73, 34) ( 25, 36) ( 1 41) ( 68, 63) ( 73, 38) ( 44, ( 26, 37) ( 27, 50) ( 46, 25) ( I 60) ( 40, 44) ( 52, 38) ( 32, ( 28, 60) ( 41, 64) (57, 53) ( $9, 26) ( 37, 69) (59, 26) ( 32, ( 45, 45) ( 32, 25)

50 ( 51, 63) (53, 36) ( $8, 28) ( 49, 28) ( 43, 58) ( 35, (51, 45) ( 26. 74) ( 33. 27) ( r· 30) ( 65. 72) ( 30. 35) ( 63. ( 49, 26) (54, 65) ( 71, 50) ( 8, 74) ( 63, 60) ( 69, 74) ( 61, ( 25, 43) ( 40, 28) ( 64, 38) ( $7, 70) ( 27, 69) ( 71, 49) (59, ( 46, 62) (59, 42) (56, 50) ( 13, 30) ( 74, 26) (55, 42) (50, ( 65, 56) ( 72, 49) ( 49, 74) ( 6, 34) ( 46, 59) ( 62, 26) (55, ( 48, 33) (56, 28) ( 73, 64) ( $8, 46) ( 25, 36) (53, 69) ( 27, ( 71, 68) ( 67, 61)

50 ( 74, 35) ( 32, 58) ( $6, 34) ( 25, 65) (53, 48) ( 46, ( 64, 68) ( 29, 54) ( 64, 35) ( 48, 45) (50, 60) ( 64, 40) ( 26, ( 39, 27) ( 48, 35) ( 29, 57) ( $7, 42) ( 40, 48) ( 70, 61) ( 45, ( 65, 37) < 26, 42) < 69, 68) ( i6, 37) < 46, 43) <57, 46) <56 ( 65, 47) (51, 55) ( 40, 37) ( 45, 61) (57, 33) ( 73, 26) ( 41, ( 48, 50) ( 68, 58) ( 45, 54) ( 32, 73) ( 48, 32) ( 40, 55) ( 65, ( 31' 48) ( 32, 41) (58, 66) ( $7, 32) ( 33, 62) ( 38, 42) ( 37, ( 70, 59) ( 29, 58)

8.2 Data Ukuran Besar

Ukuran Plat (P, L) = (200, 20b); Ukuran Pola (p, I)

Macam Pola = m (antara 10 $ampai 50)

( 148, 71) ( 65, 116). 132, 68) (51, 131) ( 106, 96) 93, 64) ( 129, 137) (59, 1 ( 129, 71) ( 97, 90)

10 (100,120)(128,81 (53,110)(79,55){96,71) ( 135, 84) ( 80, 97) 41, 122) ( 91, 58)

10 ( 130, 75) (53, 84) ( 1 38, 136) ( 93, 75) ( 92, 86) ( 15, 92) (113,125)(131, '(103,111)(80,74)

10 ( 90, 122) ( 115, 67) 146, 53) ( 82, 139) ( 96, 101) ( 137, 117) ( 91,1 ( 64, 147) ( 97, 65) ( 81, 111)

10 ( 131, 98) ( 63, 96) (' 83) ( 116, 132) ( 135, 65) ( '124) ( 77, 84) { 74, 53) ( 11 118) (58, 116)

(51, 111) ( 108, 127 ( 69, 139) ( 131, 114) ( 98, 1

( 124, 6~) ( 87, 140)( 102, 137) { 122, 79) ( 109,

( 92, 107) ( 141, 117) ( 123, 149) ( 85, 59) ( 90, 77) 142, 73)

( 88, 58) ( 102, 101) 103, 72)

20 ( 69, 91) ( 146, 100) 107, 87) ( 87, 128) ( 141, 11

( 107, 102) ( 142, 72) (52, 147) ( 99, 147) ( 70, 1 (59, 93)

(56, 149)(88,120)(136,132)(89, 115)(77,1 ( 68, 86)

( 91, 58) ( 146, 50) ( 68, 60)

20 (56, 113) ( 77, 130) ( 61, 119) ( 90, 98) ( 102, 60) (

( 145, 77) { 129, 135) { 92, 100) ( 78, 122) ( 83, 92)

( 86, 108) ( 120, 98) ( 67, 82) ( 91, 98) ( 85, 96) (

( 149, 105) ( 95, 1

20 ( 132, 109)( 91, 79) 134, 107) ( 78, 114) ( 138, (112,54)

( 97, 132) ( 136, 72) ( 147, 116) ( 120, 76) ( 140, { 97, 85)

( 130, 110) (52, 91) ( 72, 99) ( 101, 75) ( 105, 110)

{ 126, 120) ( 66, 1

20 ( 94, 121) ( 105, 104} ( 101, 123) ( 139, 104) ( 110, I

( 92, 52) {144, 53) ( 123,140) ( 75, 114) ( 143, 128) 55, 59)

(85, 138)(70, 144)(108, 148)(129,88)(52,52) 110, 128)

( 96, 100) ( 123,1 ( 77, 66)

B-4

B- 5

·Plat (P, L) M Pot.a (p, t)

(200, 200) 30 ! 91 )( 99, 60)( 88, 79)( 77, 56)(

( 108, 55)( 76, 89)( 57\ 126)( 91, 53)( 121, 101)( 94, 1

( 74, 102)( 130, 112)( t6. 133)( 97, 95)( 54, 116)( 116, 73, 107)

( 85, 59)( 135, 108)( 1$3, 52)( 116, 116)( 134, 86)( 132, !

30)( 141, 57)

( 76, 101)

30 ( 124, 127)( 95, 88 )( 139)( 97, 64 )( 142, 112)( 109, 94, 53)

( 119, 63)( 69, 59)( 84,1112)( 93, 107)( 80, 119)( 91' 59

( 71, 130)( 92, 120)(1418, 92)( 53, 123)( 60, 109)( 111, 1

( 81, 112)( 137, 77)( 7$, 57)( 87, 51)( 82, 138)( 67, 57)(

( 65, 75)( 97, 141)

30 ( 92, 65)( 62, 113)( 80,189)( 107, 135)( 133, 66)( 124, 1

( 85, 79)( 142, 91)( 71,!74)( 53, 136)( 133, 51)( 68, 1

( 104, 106)( 96, 128)( $7, 122)( 74, 66)( 138, 139)( 59,

( 62, 91)( 93, 93)( 128,i 138}(91, 139)( 106, 51)( 138, 1 89, 142)

( 141, 107)( 114, 88)

30 ( 62, 58)( 149, 101}( 146, 77)( 90, 117)( 96, 56)( 58,

( 71, 105)( 65, 111)( 113, 145)( 147, 76)( 51, 76)( 69, 1 145, 131)

( 64, 102)( 78, 110)( 100, 81)( 82, 127)( 58, 118)( 139, ' '

89, 140)

( 98, 91)( 129, 59)( 11~. 136)( 78, 62)( 140, 131)( 58, 145, 89)

( 135, 127)( 144, 60)

30 (50, 78)( 121, 73)( 90,160)( 117, 53)( 116, 147)( 121, 11 105, 83)

( 117, 105)( 86, 82)( 8~, 59)( 79, 129)( 103, 104)( 52, 11 100, 81)

( 79, 106)( 71, 102)( 140, 93)( 114, 77)( 107, 122)( 71, 115, 82)

( 109, 103)( 93, 63)( 1Q1, 128)( 120, 72)( 93, 146)( 125, 30)( 91, 50)

( 143, 104)( 96, 96)

· Plat (P, L)

(200, 200) ( 104, 132) (59, 55) ( 113, 67) (50, 120) ( 138, 131) (

( 135, 52)( 143, 50) ( 6~, 148) ( 78, 145) (50, 56) (56,

( 89, 130)( 124, 147) ( $6, 128) ( 70, 145) ( 86, 142) ( 77 87)

( 143, 104) ( 76, 92)( 7t, 122) ( 137, 103) ( 135, 56) (

( 125, 126) ( 127, 118}( 117, 116) ( 77, 83) ( 74, 74) (

( 73, 115)( 76, 100)( 1~5, 131) ( 123, 147) ( 140, 125) (

( 66, 67) ( 143,56) ( 61 .1139)

40 ( 53, 125) ( 102, 78)( 124) ( 90, 52)( 83, 120)( 149, 1

< 143, 1o1>< 148, 97)< aa. 82>< 61, 60J< 52, 121l< 83,11

( 64, 63)( 120, 139)( 1<fi. 55)( 82, 143)( 80, 113)( 149,

( 89, 135)( 84, 109)( 7~. 54)( 93, 100)( 126, 51)( 61, 13

( 131, 136)( 68, 145)( Sl, 114)( 113, 102)( 57, 134)( 65,

Plat (P, L)

(200, 200)

40 ( 66, 130)( 108, 58)( 55)( 139, 125)( 140, 97)( 133,

40

40

M

50

( 70, 75)( 137, 93)( 8a 118)( 57, 54)( 54, 58)( 99, 143)( 55)

< 117, 144)( 52, 58)( a1. 58)( 73, 116)( 104, 116)( 114,

( 94, 94)( 126, 123)( 84, 108)( 143, 139)( 91, 97)( 76, )( 91, 95)

( 101, 143)( 145, 119t 77, 83)( 118, 63)( 71, 71)( 92, 1 3)( 56, 78)

< 148, 125)( 64, 84)( 1 72)( 148, 87)( 102, 53)

( 89, 62)( 65, 117)( 1 89)( 50, 144)( 82, 147)( 93, 91 .112,61)

< 105, 91)(62, 130)( 5g, 59)( 84, 73)( 95, 58)( 120. 98)(

( 101, 139)( 127, 68)( i145, 146)( 101, 76)( 117, 123)( 1

( 69, 129)( 62, 146)( ao, 105)( 127, 148)( 55, 84)( 115,

< 132. 97)( 111. 102)w7.97)( 110, 137)( 134, 60)( 1

< 133, 86)( 113, 130)( 1 1 98)( 92, 134 )( 121, 52)( 70,

( 132, 74)( 145, 73)( I 120)( 53, 58)( 101, 52)( 105,

( 67, 89)( 148, 61)( 5~, 142)( 129, 147)( 58, 147)( 106,

( 58, 58)( 87, 136}(13~. 128)( 79, 96)( 116, 58)( 75,

( 88, 147)( 101, 68)( 1140, 65)( 122, 100)( 91, 77)( 87, 1 107, 136)

(50, 138)( 88, 94)( 9~, 89)( 103, 139)( 145, 63)( 93, 7

( 133, 113)( 68, 104)(! 1, 68)( 146, 87)( 138, 51)

Pola (p,l) i

(58, 112)( 108, 112)(1115, 57)( 130, 91)( 85, 126)( 11

( 113, 115)( 132, 88){1108, 52)( 51, 114)( 85, 145)( 11 113)( 137, 51)

< 69, 121)( 118,61)( n5, 125)( 129, 79)( 61, 64)( 120, 1 78, 137)

( 126, 107)( 119, 67)(183, 128)( 102, 96)( 91, 99)( 102, 04)( 107, 75)

( 88, 80)( 101, 68)( 1110, 98)( 103, 60)( 106, 54)( 118, 1 )( 101, 84)

( 88, 86)( 102, 77)( 113, 98)( 129, 120)( 149, 96)( 124,

( 123, 55)( 96, 127)( ~7. 56)( 115, 65)( 89, 60)( 91,66)(

( 84, 64)

50 ( 145,106)( 68, 121)(1138, 90)( 80, 134)( 93,108)( 11

(52, 114)( 116, 114)(j69, 124)( 149, 131)( 117, 64)( 1

( 148, 148)( 148,64)(182,78)( 136, 83)( 110, 115)( 77, 146, 100)

( 131, 70)( 62, 118)( 94, 121)( 90,53)( 116, 91)( 65, 64, 134)

( 139, 66)( 56, 74)( 1110, 126)( 117, 122)( 112,114)( 51, 32)( 89, 69) i

( 116, 116)( 147, 60)(!147, 57)( 133, 62)( 68, 106)( 11 106)( 89, 60)

( 140, 61)( 68, 133)( 1109, 147)( 101, 81)( 84, 71)( 63, 1 7)( 119, 137)

( 98, 134)( 97, 87)

B-6

50 (59, 115)( 82, 54)( 1 . 135)( 145, 142)( 52, 90)( 118, 136, 60)

( 75, 58)( 94, 135)( 60)( 95, 79)( 147, 107)( 89, 100) 95, 138)

( 118, 135)( 148, 74)( 1119, 60)( 148, 97)( 134, 85)( 86, I

( 140, 90)( 89, 92)( 67~ 115)( 84, 86)( 80, 135)( 74, 82)(

(58, 132)( 74, 133)( 8~. 143)( 76, 137)(117, 92)( 136,

( 115, 57)( 136, 65)( ~. 105)( 115, 123)( 135, 64)( 88,

(54, 114)( 101, 105)( ~1. 79)( 139, 68)( 111, 133)( 135,

( 131, 80)

50 ( 136, 88)( 58, 94)( 1 '84)( 117, 104)( 112, 83)( 118,

<57, 70) ( 137, 117)( $a, 70)( 64, 72)( 116, 111)( 129,1 I

( 148, 74)( 117, 135)( ~8. 72)( 114, 74)( 108, 57)( 76,

102, 104)

112, 77)

)(81,90)

112, 67)

B-7

( 77, 76)( 74, 83)( 118~ 71) (105, 144)( 96, 137)( 115, 1

( 116, 68)( 63, 70)( 62( 1 02)( 69, 71 )( 54, 88)( 52, 75)(

77, 62)

,71)(59,113)

( 78, 133)( 91, 112)( 914, 74)( 95, 118)( 125,64)( 124,84 137, 146)

( 138, 142)( 77, 81)( 1142, 133)( 75, 70)( 60, 85)( 147, 110, 131)

50 (54, 100) ( 130, 121)(i 108, 104)( 60, 84)( 104, 131)(

( 81, 147) ( 81, 129)( ~4. 102)( 149, 109)( 72, 129)( 1

( 120, 130) ( 98,124)( 174, 111)( 102, 106)( 131, 65)( 1 135)( 93, 135) ' '

( 72, 73) ( 100, 125)( 1J6, 108)( 56, 58)( 61, 119)( 104,

( 142, 111)(125, 130)(1123, 99)( 95, 90)( 88, 55)( 128,

( 68, 105)( 57, 105)( 1~8, 134)( 101, 74)(128, 103)( 131 107)( 82, 97)

( 147, 148)( 127, 82)( h40, 73)( 120, 142)( 87, 85)( 52, 15)( 119, 77)

( 110, 97)

c- 1

LAMPlRANC

Contoh:

Sebuah lembaran plate dengan ukuran panjang dan lfbarnya adalah 9 x 11 akan ri•nt\tt\nn untuk memenuhi order dengan pola-pola 3 x 3, 4 x 3 dan 2 x 4. Hitung profit untuk mendapatkan cutting yang optimal?

Data: lnisial plate : Himpunan pola (p , I):

I, I

Profit Banyaknya pola:

(P, L) = (9, 11) 1

s = {(3, 3 ), (4, G), (2, 4)}

Penyelesaian: Langkah 1 (menentukan titik·titik untuk pemotongah guillotine)

m , Pp = {x I x = maks L zi pi~ [1/2 PJ, zi inte!}er positiQ,

i=l m '

PI = {y I y = maks L zi pi~ [1/2 L], zi integ~r positiQ, i= I ,

untuk mendapatkan x dan y digenerate deng•n pers. 1. I = {1, 2, 3}, X= {0, 1, 2, 3, 4}

I= 1 A X= 3; mink {Q1_1(x- k I)}= mink {91•1(3-1 x3)}'

= mink {90 (Q)} =0

maks {1 ,0}= 1 min {g,_1(x), 1}

Jadi x=3 termasuk P p·

I= 2 A X= 4;

= min{g,1_1(3), 1} = min{g0(3), ")} =min{-. 1} !

=1

mink {g,_1(x- k I)}= min. {g2_1(4-1x2)} :

=min, {9 1 (2)} = min. {g0 (OH =0

maks {1,0}= 1 min {g

11_1(x),1}

Jadi x=4 termasuk P p·

= min{g12_1(4)j 1} = min{gl(4), 1n = min{g0(4), 1H =min{-, 1} i

= 1

I:;: 3A X:;: 2; min, {g,_1(x- k 1,)}::: mink {g3_ 1 (2-1x2)~

maks {1 ,0}= 1 min {9, ,(x), 1}

= mink {g2 ~0)} ::: min, {g1 (0)} =mink {g0 ~)} =0

= min{g,3-,m. 1} = min{g2(2)~ 1)} = min{g 1 (2)~ 1)} = min{g0(2)11)} =min{-, 1}! =1

Jadi x=2 termasuk PP. • Dari hasil generate untuk semua elemen I d~n X, maka diperoleh Pp = {2, 3, 4}d PL = {3, 4}

!

Langkah 2 (men generate strip horisontal tertinggi ~an strip vertikal terlebar ) a. Strip horisontal tertinggi .

S = {(3, 3 ), (4, 3), (2, 4)} (urut naik untuk leb.r) s,, = {(3, 3)} skz= {(3. 3 ), (4, 3)} sk3 = {(3, 3 ), (4, 3), (2, 4)}

b. Strip vertikal terlebar

n = 1

S = {(2, 4), (3, 3 ), (4, 3)} (urut naik untuk parljang) sk, = {(2, 4 n S,2= {(2, 4 ), (3, 3)} S,3 = {(2, 4 ), (3, 3), (4, 4)} .

Langkah 3 (menentukan pemotongan guillotine)

C-2

Untuk pemotongan Guillotine vertikal di titik ~j = 2. Hasilnya membentuk 2 buah plate (2, 11) dan (7,11).

Langkah 3. 1 (mengenerate strip-strip horisontal d'*' vertikal) a. Strip-strip horisontal 1

Sub Plate (2, 11) Syarat: 3X1 <= 2 maka X, = • ODK (1) = F1 (2) = Maks [ (3 x 3) X

1] =-

Syarat 3X1 + 4~ <= 2 maka X1 = ~ = • . ODK (2) = F2 (2) = Maks [ (3 x 3)X1 +(4 x 3) ~];: • Syarat: 3X, +4~ + ~ <= 2 maka X3 = 1 : ODK (3) = F 3 (2) = Maks [ (3 x 3) X1 + ( 4 x 3) ~ + (2 x 4 ) X3 ] = 2 x 4 x 1 = 8

Sub Plate (7, 11) Syarat: 3X1 <= 7 maka X1 = 2 ODK (1) = F1 (7) =Maks [ (3x3) X1] = 3x 3x!2 = 18 Syarat: 3X1 + 4~ <= 7 maka X, = 1 dan X2 = 1 ODK (2) = F2 (7) = Maks r (3 X 3) x, + (4 X 3) ~2] = (3 X 3 X 1) + (4 X 3 X 1) = 21 Syarat: 3X, + 4X2 + 2X3 <= 7 maka X, = 1 dan] X3 ::: 2 ODK (3) = F 3 (7) = Maks [ (3 x 3) X1 + (4 x 3) ~ + (2 x 4) X3 ] =(3 x 3 x 1) + (2 x 4 2) = 25

b. Strip· strip vertikal Sub Plate (2, 11) Syarat: 4X1 <= 11 maka X,= 2 ODK (1) = F1(11) =Maks ((2x4)X1] = 2x4k 2 = 16 Syarat: 4X1 + 3X2 <=11 maka X2 = 3 ·

ODK (2) = F2 (11) = Maks [ (2 x 4) X1 + (3 x 3)1~1 = 3 x 3 x 3 = 27 Syarat 3X1 + 4~ + 2X3=11 maka ~ = 3 ODK (3) = F3 (11) = Maks [ (2x 4) X, +(3 x 3)IX2 +(4x 3) ~] = 4x 3x 3 = 36

I

!

Sub Plate (7, 11) sama dengan ODK (i) untuklsub plate (2,11) !

Langkah 3.2 (Mengisi Plate secara horisontat dan v~kal) a. Mengisi strip-strip horisontal

Sub plate (2, 11) Syarat: 3y1 <= 11 maka y1 =-ODK (4) = F4(11) = Maks (F 1 (2) y1 ) =-Syarat: 3y1 + 3y2<:: 11 maka Y1 ::: Y2 =- I

ODK (5) = F5(11) = Maks (F1 (2) Y1 +F2 (2) Y2 1) =­Syarat: 3y 1 + 3 y 2 + 4y 3 <= 11 maka y 3 = 2 , ODK (6) = F 6{11) = Maks (F 1 (2) y 1 + F 2 (2) y ~ + F 3 (2) y3 ) = 8 x 2 = 16

Subplate(7,11) . Syarat: 3y1 <= 11 maka y1 = 3 i

ODK (4) = F4(11) = Maks (F, (7) y1 ) = 18x3 ~54 Syarat: 3y 1 +3y2<= 11 makay, = 1 dan y2 = ~ ODK (5) = F5(11) = Maks (F1 (7) y1 +F2 (7) y21) = 18 x 1 + 21 x 2 = 60 Syarat: 3y1 +3 y2 +4y3 <= 11 maka y2 = 1 da~ Y3 = 2 ODK (6) = F6(11) = Maks (F1 (7) y, +F2 (7) y~ +F3 (7) y3 ) = 21 x 1 +25 x 2= 71

b. Mengisi strip-strip vertikal Sub plate (2, 11) Syarat 2y1 <= 2 maka y1 = 1 ODK (4) = F4(2) = Maks (F1 (11) y1 ) = 16 x 1f 16 Syarat: 2y1 +3y/= 2 maka y1 = 1 • ODK (5) = F5(2} = Maks (F1 (11}y1 +F2 (11) l2 ) = 16 Syarat 2y, + 3 y2 + 4y3 <= 2 maka y, = 1 !

ODK(6)=F6(2)=Maks(F1 (11)y1 +F2 (11)y2 +F3 (11)y3 )=16

i

Sub plate (7, 11) Syarat: 2y, <= 7 maka y1 = 3 . ODK (4) = Fp) = Maks (F1 (11) y1 ) = 16 x 3f 48 Syarat: 2y1 + 3y2<= 7 maka y1 = 2 dan y2 = 1! ODK (5) = F5(7) = Maks (F1 (11) y1 +F2 (11) y2 ) = 16 x 2 +27 x 1 =59 Syarat: 2y 1 + 3 y2 + 4y3 <= 7 maka y2 = 1 danly3 = 1 ODK (6) = F6(7) = Maks (F1 (11) y1 +F2 (11) ~2 +F3 (11) y3 ) = 27 x 1 +36x 1 =

Langkah 3.3 (Mencari nilai profit untuk masing-ma~ng sub plate yang maksimal) Sub plate (2, 11)

1

v, = maks (V/"', V1 ""') = maks (16, 16) = 1$ (sub plate diisi strip-strip horisontal atau vertikat dengan pola (2 x 4) sebanyak 3

Sub plate (7, 11) V2 = maks (V2 hor, V2 "") = maks (71, 63) = 711 (sub plate diisi strip-strip horisontal dengan ~Ia (3 x 3) dan (4x3) sebanyak 1 dan (2,4) sebanyak 2 kali)

i

Langkah 3.4 (Mencari nilai profit plate yang maksi"'al) V3 =V1 +V2 =16+71=87 , Nilai optimal dari cutting pattern yang dihasilbn = 87, sisa = 12

c- 3

pola (3x3)

>t=2 i

n=2 langkah 3 (menentukan pemotongan guillotine) •

Untuk pemotongan Guillotine vertikal di ti~k Xj = 3. Hasilnya membentuk 2 dan (6,11). ·

langkah 3. 1 (mengenerate strip-strip horisontal ~an vertikal) a. Strip-strip horisontal ·

Sub Plate (3,11) Syarat: 3X, <= 3, X, = 1 ODK (1) = F1 (3) = Maks ( (3 X 3) X1] = 3 X 3 x 1 = 9 Syarat: 3X, + 4X2 <= 3, X1 = 1 ODK (2) = F 2 (3) = Maks [ (3 x 3) X, + (4 X G) X2J = 3 x 3 x 1 = 9 Syarat: 3X, + 4X2 + 2X3 <= 3, X, = 1 . ODK (3) = FJ (3) = Maks [ (3 X 3) x, + (4 X 3) x2 + (2 X 4) XJ] = 3 X 3 X 1 = 9

Sub Plate (6,11) Syarat: 3X1 <= 6, X,= 2 ODK (1) = F1 (6) = Maks [ (3 x 3) X1] = 3 x 3x 2 = 18 Syarat: 3X, + 4~ <= 6, X2 = 1 ODK (2) = F2 (6) = Maks [ (3 x 3) X1 + (4 x ~) ~ 1 = 4 x 3 x 1 = 12 Syarat: 3X, + 4X2 + 2X3 <= 6, X3 = 3 ODK (3) = F3 (6) = Maks ( (3 X 3) X1 + (4 ~ 3) ~ + (2 X 4) X3 J = 2 X 4 X 3 = 24

b. Strip-strip vertikal Sub Plate (3,11) Syarat: 4X1 <= 11, X1 = 2 ODK (1) = F1(11) = Maks [ (2 x4)X1] = 2~4x2 = 16 Syarat: 4X1 + 3X2 <=11, ~ = 3 · ODK (2) = F2 (11) = Maks [ (2 x 4) X,+ (3 0) ~ 1 = 3 x 3 x 3 = 27 Syarat: 3X1 + 4X2 + 2X3=11, \ = 3 ODK (3) = F3 (11) = Maks [ (2 x4)X1 +(3~3)~+ (4x3}X3 1 = 4x3x3 = 36

Sub Plate (6,11) sama dengan ODK (i) untuk sub plate (3,11)

langkah 3.2 (Mengisi Plate secara horisontal da~ vertikal) a. Mengisi strip-strip horisontal

Sub plate {3,11) Syarat: 3y, <= 11, y1 = 3 ODK (4) = F4(11) = Maks (F, (3) y,) = 9 x ~ = 27 Syarat: 3y1 + 3y2<= 11, y, = 3 · ODK (5) = F5(11) = Maks (F1 (3) y, + F2 (3)iy

2) = 9 x 3 = 27

Syarat: 3y1 + 3 y2 +4y3 <= 11, y1 = 1 dan ~3 = 2 ODK (6) = F6(11) = Maks (F1 (3) y1 + F2 (3j y2 + F3 (3) y3 ) = 9 x 1 + 9 x 2= 27

C-4

sub plate (3, 11)

Sub plate (6, 11) Syarat: 3y1 <= 11, Y1 = 3 ODK (4) = F4(11) = Maks (F1 (6) y1 ) = 18 * 3 =54 Syarat: 3y1 + 3y2<= 11, y1 = 2 dan y2 = 1 1

ODK (5) = F5(11) = Maks (F1 (6) y1 + F2 (6)y2

) = 18x2 + 12 x 1 = 48 Syarat: 3y1 + 3 y2 + 4y3 <= 11, y

1 = 1 dan y

3 = 2

ODK (6) = F6(11) = Maks (F1 (6) y1 + F2 (6) y2 + F

3 (6) y

3) = 18 x 1 + 24 x 2=

b. Mengisi strip-strip vertikal Sub plate (3, 11) Syarat: 2y1 <= 3, Y1 = 1 ODK (4) = Fp) = Maks (F1 (11) Y1 ) = 16 ~ 1= 16 Syarat: 2y1 + 3y2<= 3, y2 = 1 1

ODK (5) = F5(3) = Maks (F1 (11) y1 + F2 (11) y2

) = 27 x 1 = 27 Syarat: 2y1 + 3 y2 + 4y3 <= 3, y

2 = 1

ODK (6) = F6(3) = Maks (F1 (11) y1 + F2 (1 ~) y2 + F3

(11) y3

) = 27 x 1= 27

Sub plate (6, 11) Syarat: 2y1 <= 6, y1 = 3 ODK (4) = F4(6) = Maks (F1 (11) y1 ) = 16 ~ 3= 48 Syarat: 2y1 + 3y2<= 6, y2 = 2 !

ODK (5) = F5(6) = Maks (F1 (11) y1 + F2 (11) y2

) = 27 x 2 =54 Syarat: 2y1 + 3 y2 + 4y3 <= 6, y

2 = 2 :

ODK (6) = F6(6) = Maks (F1 (11) y1 + F2 (11) y2

+ F3

(11) y3

) = 27 x 2= 54

Langkah 3.3 (Mencari nilai profit uittuk masing-~sing sub plate yang maksimal) Sub plate (3, 11) V1 = maks (V1 hor, V1 "'") = maks (27, 27) = 27 (sub plate diisi strip-strip horisontal atau veftikal dengan pola (3 x 3) sebanyak

Sub plate (6, 11) , V2 = maks (V2 hor, V2 ver) = maks (66, 54)= 66 (sub plate diisi strip-strip horisontal dengarl2 buah pola (3 x 3) dan 3 buah kali)

Langkah 3.4 (Mencari nilai profit plate yang makslmal) ~=V+V=V+~=~ . 1 2

Nilai optimal dari cutting pattern yang dihaailkan = 93, sisa = 6 '

>ej=31 I

c- 5

(2.4) sebanyak 2

n=3 Langkah 3 (menentukan pemotongan guillotine) i

Untuk pemotongan Guillotine vertikal di tit~ Xj = 4. Hasilnya membentuk 2 dan (5, 11). 1

Langkah 3. 1 (mengenerate strip-strip horisontal ~an vertikal) a. Strip-strip horisontal

Sub Plate (4,11) Syarat: 3X1 <= 4, X1 = 1 OOK (1) = F1(4) = Maks [(3x3) X1] = 3x3ix 1 = 9 Syarat: 3X1 + 4\ <= 4, \ = 1 . OOK (2) = F2 (4) = Maks [(3 X 3)X1 + (4 x 3) \] = 4 X 3 X 1 = 12 Syarat: 3X1 + 4\ + 2X3 <= 4, X3 = 3 OOK (3) = F3 (4) = Maks [(3 X 3) X1 + (4 X 3) \ + (2 X 4) \] = 2 x 4 X 2 = 16

Sub Plate (5,11) Syarat: 3X1 <= 5, X1 = 1 ODK (1) = F1(5) = Maks [ (3x3)X1] = 3 x3!x 1 = 9 Syarat: 3X1 + 4X2 <= 5, \ = 1 ODK (2) = F2(5) = Maks [ (3 x 3) X1 + (4 x ~) X2] = 4 x 3 x 1 = 12 Syarat: 3X1 + 4\ + 2X3 <= 5, X1 = 1 dan X• = 1 ODK (3) = F3(5) = Maks [ (3 X 3) XI+ (4 X 3) x2 + (2 X 4) Xa l = (3 X 3 X 1) + (2 X 4 X 1) = 17

b. Strip-strip vertikal Sub Plate (4,11) Syarat: 4X1 <= 11, X,= 2 . ODK (1) = F1(11) = Maks ['(2 x4) X1] = 2 xl4 x 2 = 16 Syarat: 4X1 + 3\ <=11, \ = 3 OOK (2) = F2(11) = Maks [ (2 x4) X1 + (3 xi3) \1 = 3x3 x 3 = 27 Syarat: 3X1 + 4\ + 2X3 <=11, X3 = 3 ODK (3) = F3 (11) = Maks [ (2 X 4) XI + (3 ~ 3) x2 + (4 X 3) x3 J = 4 X 3 X 3 = 36

Sub Plate (5,11) sama dengan ODK (i) un(uk sub plate (4, 11)

Langkah 3.2 (Mengisi Plate secara horisontal dan vertikal) a. Mengisi strip-strip horisontal

Sub plate (4,11) Syarat: 3y1 <= 11, y1 = 3

1

OOK (4) = Fi11) = Maks (F1 (4) Y1 ) = 9 x 3 = 27 Syarat: 3y1 + 3y2 <= 11, y1 = 1 dan y1 = 2 ODK (5) = F5(11) = Maks (F1 (4) y1 + F2 (4)iy2) = 9 x 1 + 12 x 2 = 33 Syarat: 3y 1 + 3 y 2 + 4y 3 <= 11, y 2 = 1 dan y 3 = 2 ODK (6) = F6(11) = Maks (F1 (4) y1 + F

2 (4)y2 + F

3 (4) y3) = 12 x 1 + 17 x 2=

Sub plate (5,11) Syarat: 3y1 <= 11, y1 = 3 OOK (4) = F411) = Maks (F1 (5)y1 ) = 8x3i= 27 Syarat: 3y1 + 3y2<= 11, y1 = 1 dan y2 = 2 : ODK (5) = F5(11) = Maks (F1 (5) Y1 + F2 (5)ly2 ) = 9 x 1 + 12 x 2 = 33 Syarat: 3y1 + 3 y2 + 4y3 <= 11, y2 = 1 dan ~3 = 2 OOK (6) = F6(11) = Maks (F1 (5) y1 + F2 (5)iy2 + F3 (5) y3 ) = 12 x 1 + 17 x 2 =

b. Mengisi strip-strip vertikal Sub plate (4,11) Syarat: 2y1 <= 4, Y1 = 2 ODK (4) = Fp) = Maks (F1 (11) y1 ) = 16 xi2= 32

C-6

sub plate (4, 11)

Syarat: 2y1 + 3y2 <= 4, Y1 = 2 i

ODK (5) = F5(3) = Maks (F1 (11) Y1 + F2 (1~) y2 ) = 16 x 2= 32 Syarat: 2y1 + 3 y2 + 4y3 <= 3, y3 = 1 . ODK (6) = Fs(3) = Maks (F1 (11) y1 + F2 (1i1) y

2 + F3 (11) y3) = 36 x 1= 36

Sub plate (5,11) Syarat: 2y1 <= 5, Y1 = 2 ODK (4) = F4(5) = Maks (F1 (11) y1 ) = 16 * 2 = 32 Syarat: 2y1 + 3y2<= 5, y1 = 1 dan y2 = 1 • ODK (5) = F5(5) = Maks (F1 (11) y1 + F2 (1 ~) y2 ) = 16 x 1 + 27 x 1 = 43 Syarat: 2y1 + 3 y2 + 4y3 <= 5, y1 = 1 dan Y2! = 1 ODK (6) = F6(5) = Maks (F1 (11) Y1 + F2 (111) y2 + F3 (11) y3 ) = 16 x 1 +27 x 1 43

Langkah 3.3 (Mencari nilai profit untuk masing-,.,asing sub plate yang maksimal) Sub plate (4,11) I

V1 = maks 011 hor, V1 -) = maks (44, 36) =144

C-7

(sub plate diisi sebuah strip horisontal ~gan pola (4x3) dan dua kali strip sontal dengan 2 buah pola (2 x 4)) ;

Sub plate (5,11) V2 = maks (V

2 hor, V

2 ..,.) = maks (46, 43) =·46

(sub plate diisi sebuah strip horisontal de~gan pola (4x3) dan dua kali strip sontal dengan pola (3 x 3) dan (2 x 4)) ·

Langkah 3.4 (Mencari nilai profit plate yang mak$imal) V4 =V +V =44+46=90 ,

t 2

Nilai optimal dari cutting pattern yang dihalsilkan = 90, sisa = 9

p3

p3

n=4 Langkah 3 (menentukan pemotongan guillotine) 1

Untuk pemotongan Guillotine horisontal Q titik Xj = 3. Hasilnya membentuk buah sub plate (9, 3) dan (9,8).

Langkah 3. 1 (mengenerate strip-strip horisontal ~an vertikal) a. Strip-strip horisontal '

Sub Plate (9, 3) Syarat: 3X1 <= 9 maka X1 = 3 ODK (1) = F1 (9) = Maks I (3 x 3)X1] = 3 x ~ x 3 = 27 Syarat: 3X1 + 4~ <= 9 maka X1 = 3 . ODK (2) = F2 (9) = Maks I (3x3) xt + (4x!3) ~ J = 3x3 X 3 = 27 Syarat: 3X1 + 4~ + 2X3 <= 9 maka X1 = 4 i ODK (3) = F3 (9) = Maks I (3 X 3) XI+ (4 X 13) x2 + (2 X 4) x3 J = 2 X 4 X 4 = 32

Sub Plate (9,8) sama dengan ODK (i) unt~k sub plate (9, 3)

b. Strip-strip vertikal Sub Plate (9,3) Syarat: 4X1 <= 3 maka X, = -ODK (1) = F1 (3) = Maks [ (2 x 4) X1] =­Syarat: 4X1 + 3X2 <=3 maka X2 = 1 ODK (2) = F

2 (3) = Maks [ (2 X 4) X1 + (3 X 3) X2 ] = 3 X 3 X 1 = 9

Syarat: 3X1 + 4X2 + 2X3=3 maka X3 = 1 · ODK (3) =Fa (3) = Maks [ (2 X 4) x, + (3 X Pl x2 + (4 X 3) Xal = (4 X 3 X 1) = 1

Sub Plate (9, 8) Syarat: 4X1 <= 8 maka X, = 2 . ODK (1) = F

1 (8) = Maks [ (2 x 4) X1] = 2 X 4 X 2 = 16

Syarat: 4X1 + 3~ <=8 maka ~ = 2 . ODK (2) = F

2 (8) = Maks [ (2 X 4) X1 + (3 xl3) ~] = 3 X 3 X 2 = 18

Syarat: 3X1 + 4~ + ~=8 maka X3 = 2 !

OOK (3) = F3

(8) = Maks [ (2 X 4) X1 + (3 Xl3) ~ + (4 X 3) ~] = (4 X 3 X 2) =

Langkah 3.2 (Mengisi Plate secara horisontal dan vertikal) a. Mengisi strip-strip horisontal

Sub plate (9, 3) Syarat: 3y1 <= 3 maka y1 = 1 ODK (4) = F4(3) = Maks (F1 (9) y1 } = 27 x!1 = 27 Syarat: 3y1 + 3y2<= 3 maka y1 = 1 ODK (5) = F

5(3) = Maks (F1 (9) y1 + F2 (9) ~2 ) = 27 x 1 = 27

Syarat: 3y1 + 3 y2 + 4y3 <= 3 maka y1 = 1 : ODK (6) = Fs(3) = Maks (P1 (9) y1 + F2 (9)!Y2 +Fa (9) Ya) = 27 x 1 = 27

Sub plate (9,8) Syarat: 3y1 <= 8 maka y1 = 2 ODK (4) = F4(8) = Maks (F1 (9) y,) = 27 x12 =54 Syarat: 3y, + 3y2<= 11 maka y1 = 2 · ODK (5} = F5(8) = Maks (F1 (9) y1 + F2 (9)IY2 ) =54 Syarat: 3y1 + 3 y2 + 4Ya <= 11 maka y3 = ~ ODK (6) = F6(8) = Maks (F1 (9) y1 + F2 (9~ y2 +Fa (9) Ya) = 32 x 2= 64

b. Mengisi strip-strip vertikal Sub plate (9,3) Syarat: 2y1 <= 9 maka y1 = 4 ODK (4) = F4(9) = Maks (F1 (3) y1 ) =­Syarat: 2y1 + 3y2<= 9 maka y2 = 3 ODK (5) = F5(9) = Maks (F1 (3) y1 + F2 (3) y2 ) = 9 x 3 = 27 Syarat: 2y1 + 3 y2 + 4y3 <= 9 maka y2 = 3 ODK (6) = F6(9) = Maks (F, (3) y1 + F2 (3) Y2 + F3 (3) Y3 ) = 27

Sub plate (9,8) Syarat: 2y1 <= 9 maka y1 = 4 • ODK (4) = F4(9) = Maks (F1 (8) y1 ) = 16 ~ 4= 64 Syarat: 2y1 + 3y2<= 9 maka y1 = 3 dan y~ = 1 ODK (5) = F5(9) = Maks (F1 (8) y1 + F2 (8) y2 ) = 16 x 3 + 18 x 1 = 66 Syarat: 2y1 + 3 y2 + 4Ya <= 9 maka Y1 = ~i = Ya = 1 ODK (6) = F

6(9) = Maks (F1 (8) y1 + F2 (~ y2 + F3 (8) Ya) = 16x1 + 18 x 1 + X 1 =58

C-9

Langkah 3.3 (Mencari nilai profit untuk ing sub plate yang maksimal) Sub plate {9, 3) V, = maks (V, hor, V, ""') = maks (27, 27) (sub plate diisi strip-strip holisontal atau dengan 3 buah pola (3 x 3))

Sub plate (9, 8) V = maks (V hor V • .,. ) = maks (64 66)

2 2 ' 2 ' (sub plate diisi strip-strip vertikal dengan buah pola (3 x 3) dan dua buah (2,4) sebanyak 3 kali)

Langkah 3.4 (Mencari nilai profit plate yang m::olllcirn::on

Vl = v, + V2 = 27 + 66 = 93 Nilai optimal dan cutting pattern yang riihjo•~m..,,n = 93, sisa = 6

p1 Yj • 3 f--....1.......,.__,~-f

p1 p1 p1

n=5 Langkah 3 (menentukan pemoton~an uutllot~mel

Untuk pemotongan Guillotine holisontal titik Xj = 4. Hasilnya membentuk buah sub plate (9, 4) dan (9,7).

Langkah 3. 1 (mengenerate strip-strip hori a. Strip-strip horisontal

Sub Plate (9, 4) Syarat: 3X1 <= 9 maka X, = 3 ODK (1) = F1 (9) = Maks [ (3 x 3) X,]= 3 Syarat: 3X1 + 4X2 <= 9 maka X

1 = 3

ODK (2) = F2 (9) = Maks [ (3 X 3) X1 + (4 3) \] = 3 X 3 X 3 = 27 Syarat: 3X1 + 4\ + 2~ <= 9 maka X1 = 1 dan ~ = 3 ODK (3) = F3 (9) = Maks ( (3 X 3) X1 + (4 3)\ + (2 X 4) X

3] = (3 X 3 X 1) + (2 4 X 3) = 33

Sub Plate (9,7) sama dengan ODK (i)

b. Strip-strip vertikal Sub Plate (9,4) Syarat: 4X, <= 4 maka X, = 1

sub plate (9, 4)

ODK (1) = F1(4) = Maks [ (2 x4)X1] = 2 x 1 =8

Syarat: 4X1 + 3X2 <=4 maka \ = 1 ODK (2) = F2 (4) = Maks [ (2 x 4) X, + (3 3) X

2] = 3 x 3 x 1 = 9

Syarat: 3X, + 4X2 + 2X3 <=4 maka X3 = 1

ODK (3) = F3 (4) = Maks [ (2 X 4) X1 + (3 3) \ + (4 x 3) X3

] = (4 x 3 x 1) = 1

Sub Plate (9, 7) Syarat: 4X1 <= 7 maka X, = 1 ODK (1) = F,(7) = Maks [ (2 x4)X,] = 2 Syarat: 4X, + 3Xz <=7 maka X2 = 2 ODK (2) = F2 (7) = Maks [ (2 x 4) X, + (3 3) X2 ] = 3 x 3 x 2 = 18

Syarat: 3X1 + 4X2 + 2\ <= 7 maka X3 = 2 ODK (3) = F3 (7) = Maks [ (2 X 4) X1 + (3 3) X

2 + (4 X 3) X3 ] = (4 X 3 X 2) =

Langkah 3.2 (Mengisi Plate secara horisontal vertikal) a. Mengisi strip-strip horisontal

Sub plate (9, 4) Syarat: 3y1 <= 4 maka y1 = 1 ODK (4) = F4(4) = Maks (F1 (9) y1 ) = 27 x 1 = 27 Syarat: 3y1 + 3y2<= 4 maka y

1 = 1

ODK (5) = F5(4) = Maks (F1 (9) Y1 + F2

(9) 2

) = 27 x 1 = 27 Syarat: 3y1 + 3 y2 + 4y3 <= 4 maka y

3 = 1

ODK (6) = F6(4) = Maks (F1 (9) y1 + F2

(9) + F3

(9) y3

) = 33 x 1 = 33

Sub plate (9, 7) Syarat: 3y1 <= 7 maka y1 = 2 ODK (4) = Fp) = Maks (F1 (9) Y1 ) = 27 x Syarat: 3y1 + 3y2<= 7 maka y1 = 2 ODK (5) = Fs(?) = Maks (F1 (9) Y1 + F

2 (9)

Syarat: 3y1 + 3 y2 + 4y3 <= 7 maka y1 = 1

ODK (6) = F6(7) = Maks (F1 (9) Y1 + F2

b. Mengisi strip-strip vertikal Sub plate (9,4) Syarat: 2y1 <= 9 maka y1 = 4

) =54 y3 = 1

2 + F3 (9} y3 } = 27 X 1 + 33 X 1=

= 32 1 )=8x3+9x1=33

y3= 1

c- 10

ODK (4) = F4(9) = Maks (F1 (4) y1 ) = 8 x Syarat: 2y1 + 3y2<= 9 maka y1 = 3 dan y

2 ODK (5) = F5(9) = Maks (FJ (4) Y1 + F2 (4) Syarat: 2y1 + 3 y2 + 4y3 <= 9 maka y1 = Y

2 ODK (6) = F6(9) = Maks (F1 (4) Y1 + F2 (4) + F3 (4) y3 ) = 8x1 + 9x1 + 12x1 = 29

Sub plate (9, 7) Syarat: 2y1 <= 9 maka y1 = 4 ODK (4) = F4(9) = Maks (F

1 (7) Y

1) = 8 x

Syarat: 2y1 + 3y2<= 9 maka y2 = 3

ODK (5) = F5(9)< = Maks (F1 (7) Y1 + F

2 Syarat: 2y1 + 3 y2 + 4y3 <= 9 maka y

2 = 3

ODK (6) = F6(9) = Maks (F1 (7) Y1 + F2

(7)

Langkah 3.3 (Mencari nilai profit untuk masma-·IU!ima sub plate yang maksimal) Sub plate (9,4) v1 : maks (V1 hor 1 v1 vtr) : maks (331 33) (sub plate diisi strip-strip horisontal atau

Sub plate {9, 7) v2 = maks (V2 horl v2 ver} = maks (601 54} (sub plate diisi strip-strip horisontal (313))

60 3 buah pola (3 I 3) dan 3 buah

(313))

(2,4) dan pola

Langkah 3.4 (Mencari nilai profit plate yang VJ :;: v, + V2 :;: 33 + 60 :;: 93 Nilai optimal dari cutting pattern yang '"n~'""K'•" = 92, sisa = 7

Yj=4

Fase 0 • cut untuk Plate (9, 11)

Langkah 3.1 (Mengenerate strip-strip horisontal a. Strip-strip Horisontal

Syarat: 3X, <= 9 maka X1 = 3 ODK (1) = F1 (9) = Maks [ (3 x 3) X,]= 3 x Syarat: 3X, + 4X2 <= 9 maka X1 = 3

p1

ODK (2) = F2 (9) = Maks [ (3 X 3) x, + (4 3) x2 I = 3 X 3 X 3 = 27 Syarat: 3X1 + 4~ + 2Xa <= 9 maka X1 = 1 dan X3 = 3 ODK (3) = Fa (9) = Maks [ (3 x 3) X1 + (4 3) ~ + (2 x 4) Xa] = (3 X 3 X 1) +(2 X 4 X 3) = 33

b. Strip-strip Vertikal Syarat: 4X1 <= 11, X,= 2 ODK (1) = F1(11) = Maks [ (2x4) X,]= 2 Syarat: 4X1 + 3~ <=11, X2 = 3 ODK (2) = F2(11) = Maks [ (2 x 4) X1 + (3 Syarat: 3X, + 4\ + 2Xa <=11, Xa = 3 ODK (3) = F3(11) = Maks [ (2 x 4) X,+ (3 3) X2 + (4 X 3) X3 ] = 4 X 3 X 3 = 36

Langkah 3.2 (Mengisi strip-striphorisontal dan ,_,..,,,.,. .. a. Horisontal

Syarat: 3y, <= 11 maka y1 = 3 ODK (4):;: F4(11) = Maks (F1 (9) y,) = 27 Syarat: 3y1 + 3y2<= 11 maka y1 = 3 ODK (5) = F5(11) = Maks (F1 (9) Y1 + F2 Syarat: 3y1 + 3 y2 + 4y3 <= 11 maka y1 = ODK (6) = F6(11) = Maks (F1 (9) y1 + F2

b. Vertikal Syarat: 2y1 <= 9 maka y1 = 4 ODK (4) = F4(9) = Maks (F1 (11) y1 ) = 16 Syarat: 2y1 + 3y2<= 9 maka y2 = 3 ODK (5) = F5(9) = Maks (F1 (11) y, + F2 (

y2) = 81 dan y3 = 2 Y2 +Fa (9) Y3 ) = 27 X 1 + 33 X 2=

Syarat: 2y, + 3 y2 + 4y3 <= 9 maka y, = y2 y3= 1 ODK (6) = F6(9) = Maks (F1 (11) Y1 + F2 1) Y2 + F3 (11) Y3 ):;:

16 X 1 + 27 X 1 + 36 X 1 = 79

Langkah 3.3 (Mencari nilai profit untuk mal&ln~I·IJl,aslriQ sub plate yang maksimal) v2 = maks 012 nor, v2 '"') = maks (93, 81) (sub plate diisi strip horisontal dengan 3 pola (3 x 3) sekali dan strip buah pola (2,4) dan satu buah pola (3, 3) ,.,c:>l'\,nv.,ll 2 kali )

C- II

dengan 3

Langkah 3.4 (Mencari nilai profit plate yang \f = V/'"' = 93 Nilai optimal dari cutting pattern yang nmiliSIIK<~n = 93, sisa = 6

Langkah 4. (Menyimpan nilai cutting pattern Xj = 3 (pemotongan guillotine vertikal) V= 93 sisa 6

c- 12