• Tidak ada hasil yang ditemukan

Penerapan Metode Branch and Bound dalam Menentukan Jumlah Produksi Optimum pada CV. Keris Sakti

N/A
N/A
Protected

Academic year: 2017

Membagikan "Penerapan Metode Branch and Bound dalam Menentukan Jumlah Produksi Optimum pada CV. Keris Sakti"

Copied!
74
0
0

Teks penuh

(1)

Lampiran 1. Perhitungan Simpleks Awal Iterasi 0

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 M M M M B

x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15

s1 0 1.2 1.1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55000

s2 0 0.6 0.4 0.6 0.4 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 12000

s3 0 1 0.75 1 0.75 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 4160

s4 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1600

s5 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 900

s6 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1250

s7 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 875

s12 M 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 0 0 0 1575

s13 M 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 0 0 850

s14 M 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 0 1245

s15 M 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1 800

(2)

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 M M M B x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s13 s14 s15

s1 0 0 1.1 1 1 1 0 0 0 0 0 0 1.2 0 0 0 0 0 0 53110

s2 0 0 0.4 0.6 0.4 0 1 0 0 0 0 0 0.6 0 0 0 0 0 0 11055

s3 0 0 0.75 1 0.75 0 0 1 0 0 0 0 1 0 0 0 0 0 0 2585

s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 25

s5 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 900

s6 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1250

s7 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 875

x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 1575

s13 M 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 0 0 850

s14 M 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 0 1245

s15 M 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 800

(3)

Iterasi 2

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 M M B

x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s13 s15

s1 0 0 1.1 0 1 1 0 0 0 0 0 0 1.2 0 1 0 0 0 51865

s2 0 0 0.4 0 0.4 0 1 0 0 0 0 0 0.6 0 0.6 0 0 0 10308

s3 0 0 0.75 0 0.75 0 0 1 0 0 0 0 1 0 1 0 0 0 1340

s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 25

s5 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 900

s6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 5

s7 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 875

x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 1575

s13 M 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 0 850

x3 12000 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1245

s15 M 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 1 800

(4)

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 M B x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s13

s1 0 0 1.1 0 0 1 0 0 0 0 0 0 1.2 0 1 1 0 51065

s2 0 0 0.4 0 0 0 1 0 0 0 0 0 0.6 0 0.6 0.4 0 9988

s3 0 0 0.75 0 0 0 0 1 0 0 0 0 1 0 1 0.75 0 740

s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 25

s5 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 900

s6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 5

s7 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 75

x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 1575

s13 M 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1 850

x3 12000 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 1245

x4 10000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 800

(5)

Iterasi 4

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B

x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11

s1 0 0 0 0 0 1 0 0 0 0 0 0 1.2 1.1 1 1 50130

s2 0 0 0 0 0 0 1 0 0 0 0 0 0.6 0.4 0.6 0.4 9648

s3 0 0 0 0 0 0 0 1 0 0 0 0 1 0.75 1 0.75 102.5

s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25

s5 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 50

s6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5

s7 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75

x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1575

x2 10000 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 850

x3 12000 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 1245

x4 10000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 800

(6)

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11

s1 0 0 0 0 0 1 0 0 -1.2 0 0 0 0 1.1 1 1 50100

s2 0 0 0 0 0 0 1 0 -0.6 0 0 0 0 0.4 0.6 0.4 9633

s3 0 0 0 0 0 0 0 1 -1 0 0 0 0 0.75 1 0.75 77.5

s8 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25

s5 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 50

s6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5

s7 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75

x1 13000 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1600

x2 10000 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 850

x3 12000 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 1245

x4 10000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 800

(7)

Iterasi 6

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B

x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11

s1 0 0 0 0 0 1 0 0 -1.2 0 -1 0 0 1.1 0 1 50095

s2 0 0 0 0 0 0 1 0 -0.6 0 -0.6 0 0 0.4 0 0.4 9630

s3 0 0 0 0 0 0 0 1 -1 0 -1 0 0 0.75 0 0.75 72.5

s8 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25

s5 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 50

s10 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5

s7 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75

x1 13000 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1600

x2 10000 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 850

x3 12000 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1250

x4 10000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 800

(8)

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B

x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11

s1 0 0 0 0 0 1 0 0 -1.2 -1.1 -1 0 0 0 0 1 50040

s2 0 0 0 0 0 0 1 0 -0.6 -0.4 -0.6 0 0 0 0 0.4 9610

s3 0 0 0 0 0 0 0 1 -1 -0.75 -1 0 0 0 0 0.75 35

s8 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25

s9 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 50

s10 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5

s7 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75

x1 13000 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1600

x2 10000 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 900

x3 12000 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1250

x4 10000 0 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 800

(9)

Iterasi 8

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B

x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11

s1 0 0 0 0 0 1 0 0 -1.2 -1.1 -1 -1 0 0 0 0 49965

s2 0 0 0 0 0 0 1 0 -0.6 -0.4 -0.6 -0.4 0 0 0 0 9580

s3 0 0 0 0 0 0 0 1 -1 -0.75 -1 -0.75 0 0 0 0 -21.25

s8 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25

s9 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 50

s10 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5

s11 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75

x1 13000 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1600

x2 10000 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 900

x3 12000 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1250

x4 10000 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 875

(10)

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11

s1 0 0 0 0 0 1 0 -1.4667 0.26667 0 0.46667 0.1 0 0 0 0 49996.17

s2 0 0 0 0 0 0 1 -0.5333 -0.0667 0 -0.0667 0 0 0 0 0 9591.333

s5 0 0 0 0 0 0 0 -1.3333 1.33333 1 1.33333 1 0 0 0 0 28.33333

s8 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25

s9 0 0 0 0 0 0 0 1.33333 -1.3333 0 -1.3333 -1 0 1 0 0 21.66667

s10 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5

s11 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75

x1 13000 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1600

x2 10000 0 1 0 0 0 0 1.33333 -1.3333 0 -1.3333 -1 0 0 0 0 871.6667

x3 12000 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1250

x4 10000 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 875

(11)

Iterasi 10

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B

x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11

s1 0 0 0 0 0 1 0 -1.4667 0 0 0.46667 0.1 -0.2667 0 0 0 49989.5

s2 0 0 0 0 0 0 1 -0.5333 0 0 -0.0667 0 0.0667 0 0 0 9593.001

s5 0 0 0 0 0 0 0 -1.3333 0 1 1.33333 1 -1.3333 0 0 0 -4.99992

s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25

s9 0 0 0 0 0 0 0 1.33333 0 0 -1.3333 -1 1.3333 1 0 0 54.99917

s10 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5

s11 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75

x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1575

x2 10000 0 1 0 0 0 0 1.33333 0 0 -1.3333 -1 1.3333 0 0 0 904.9992

x3 12000 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1250

x4 10000 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 875

(12)

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B

x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11

s1 0 0 0 0 0 1 0 -1.4667 0 0 0 0.1 -0.2667 0 -0.4667 0 49987.17

s2 0 0 0 0 0 0 1 -0.5333 0 0 0 0 0.0667 0 0.0667 0 9593.334

s5 0 0 0 0 0 0 0 -1.3333 0 1 0 1 -1.3333 0 -1.3333 0 -11.6666

s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25

s9 0 0 0 0 0 0 0 1.33333 0 0 0 -1 1.3333 1 1.3333 0 61.66567

s6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5

s11 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75

x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1575

x2 10000 0 1 0 0 0 0 1.33333 0 0 0 -1 1.3333 0 1.3333 0 911.6657

x3 12000 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 1245

x4 10000 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 875

(13)

Iterasi 12

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B

x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11

s1 0 0 0 0 0 1 0 0 0 -1.1001 0 -1.0001 1.20006 0 1.00006 0 50000

s2 0 0 0 0 0 0 1 0 0 -0.4 0 -0.4 0.60001 0 0.60001 0 9598.001

s3 0 0 0 0 0 0 0 1 0 -0.75 0 -0.75 1.00002 0 1.00002 0 8.750144

s4 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 25

s9 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 49.99884

s6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 5

s11 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 75

x1 13000 1 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 1575

x2 10000 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 900

x3 12000 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 1245

x4 10000 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 875

(14)

Basis / C 13000 10000 12000 10000 0 0 0 0 0 0 0 0 0 0 0 B

x1 x2 x3 x4 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11

s1 0 0 0 0 0 1 0 -1.2 0 -0.2 0 -0.1 1.20006 0 -0.2 0 49989.5

s2 0 0 0 0 0 0 1 -0.6 0 0.05002 0 0.05002 0.60001 0 0 0 9592.751

s8 0 0 0 0 0 0 0 0.99998 0 -0.75 0 -0.75 1.00002 0 1 0 8.749969

s4 0 0 0 0 0 0 0 -1 1 0.75 0 0.75 1 0 -1 0 16.25003

s9 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 49.99884

s6 0 0 0 0 0 0 0 0.99998 0 -0.75 1 -0.75 0 0 2 0 13.74997

s11 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 49.99884

x1 13000 1 0 0 0 0 0 0.99998 0 -0.75 0 -0.75 -1 0 1 0 1583.75

x2 10000 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 900

x3 12000 0 0 1 0 0 0 0 0 0 0 0 0 0 -1 0 1245

x4 10000 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 875

Zj - Cj 0 0 0 0 0 0 0 0 250 0 250 -13000 0 0 0 53278750

Karena baris Zj - Cj ≥ 0, maka permasalahan telah optimal.

(15)
(16)
(17)
(18)
(19)
(20)
(21)
(22)

x2≥899 x2≤898

x3≥1248 x3≤1247

x3≥1247 x3≤1246

Iterasi 078

z = 53277000

x1=1583;x2=899;x3=1246,5;x4=875

Iterasi 085

No Feasible Solution

Iterasi 079 z = 53271000

x1=1583;x2=899;x3=1246;x4=875

Iterasi 080

z = 53276330

x1=1583;x2=898,33;x3=1247;x4=875

Iterasi 081

z = 53276000

x1=1583;x2=898;x3=1247,25;x4=875

Iterasi 084

No Feasible Solution

Iterasi 082 z = 53273000

x1=1583;x2=898;x3=1247;x4=875

Iterasi 083 z = 53275000

(23)
(24)
(25)
(26)
(27)

DAFTAR PUSTAKA

Alannuariputri, Y.A. 2013. Integer Programming dengan Pendekatan Metode Branch and Bound dan Metode Cutting Plane untuk Optimasi Kombinasi

Produk (Studi Kasus pada Perusahaan “Diva” Sanitary, Sidoarjo). Jurnal

Mahasiswa Statistik. 1(2): 89-92.

Assauri, Sofjan. 1999. Manajemen Produksi dan Operasi. Edisi Revisi. Fakultas Ekonomi Universitas Indonesia. Jakarta.

Bangun, E. 2004. Kajian Strategis untuk Menyelesaikan Integer Program dengan Metode Branch and Bound. [Tesis]. Medan: Universitas Sumatera Utara, Program Pascasarjana.

Siagian, P. 2006. Penelitian Operasional: Teori dan Praktek. Universitas Indonesia (UI-Press). Jakarta.

Sidabutar, J. 2008. Pengembangan Algoritma Pencarian untuk Menyelesaikan Problema Program Tak Linier Campuran. [Tesis]. Medan: Universitas Sumatera Utara, Program Pascasarjana.

Sitorus, P. 1997. Program Linier. Universitas Trisakti. Jakarta.

Supranto, J. 1991. Teknik Pengambilan Keputusan. Rineka Cipta. Jakarta.

Taha, H.A. 1996. Riset Operasi, Jilid I ed. Dr. Lyndon Saputra. Binarupa Aksara. Jakarta.

(28)

METODE PENELITIAN

Pada bab ini, akan dijelaskan metode-metode yang penulis gunakan dalam penelitian ini. Adapun metode yang akan digunakan dalam penelitian ini adalah Metode Simpleks dan Metode Branch and Bound.

3.1. Metode Simpleks

Metode simpleks adalah prosedur pemecahan program linier yang lebih efisien daripada metode grafik. Meskipun problem program linier dapat diselesaikan secara grafik, akan tetapi hampir seluruh problem program linier sesungguhnya tidak dapat diselesaikan dengan cara ini, karena pada umumnya program linier mempunyai lebih dari 3 variabel.

Oleh karena itu, George Dantzig pada tahun 1947 mengajukan satu metode yang paling berhasil untuk meyelesaikan problem program linier yang disebut Metode Simpleks.

Secara umum, bentuk umum dari program linier dapat dimodelkan sebagai berikut.

Maksimumkan: z = c1x1 + c2x2 + … + cnxn Kendala :

(29)

xn≥ 0, n = 1, 2, 3, …

Minimumkan : z = c1x1 + c2x2+ … + cnxn Kendala :

xn ≥ 0, n = 1, 2, 3, …

Prosedur (tahap proses) untuk menyelesaikan program linier dengan menggunakan metode simpleks adalah sebagai berikut:

Tahap 1. Merumuskan problema ke dalam model simpleks. Tahap 2. Menyusun tabel simpleks iterasi awal.

Tahap 3. Mengecek nilai optimal tabel simpleks dengan cara sebagai berikut: a. Kalau sudah optimal, tafsirkan hasil penyelesaian.

b. Kalau belum optimal, teruskan penyelesaian pada tahap berikutnya. Tahap 4. Mengidentifikasi variabel yang akan masuk dalam tabel.

Tahap 5. Mengidentifikasi variabel yang akan dikeluarkan dalam tabel. Tahap 6. Menyusun tabel simpleks baru.

Tahap 7. Mengecek nilai optimal tabel simpleks baru tersebut: a. Kalau sudah optimal, tafsirkan hasil penyelesaian. b. Kalau belum optimal, kembali kepada prosedur tahap 4.

Tahap 1. Perumusan Model Simpleks

(30)

dapat dirumuskan sebagai berikut: (Asumsikan untuk permasalahan maksimasi).

Maksimumkan: z = c1x1 + c2x2 + … + cnxn Kendala :

xn≥ 0, n = 1, 2, 3, …

si ≥ 0, i = 1, 2, 3, …

Pada permasalahan dalam penelitian ini, tanda ketidaksamaan kendala adalah lebih kecil atau sama dengan (≤), diubah menjadi tanda sama dengan (=) dengan syarat menambah variabel slack pada sisi bagian kiri persamaan kendala. Mengapa harus ditambah dengan variabel slack? Jawabannya ialah agar persamaan garis kendala memenuhi persyaratan penyelesaian pada daerah kelayakan.

Tahap 2. Menyusun Tabel Simpleks

(31)

Tabel 3.1. Format Tabel Simpleks

Basis / C … … … B

x1 x2 … … xn s1 s2 … … sn

Zj - Cj

Penjelasan tabel simplek di atas:

1. C = Nilai kontribusi setiap variabel basis dalam proses iterasi.

2. Basis = Variabel basis dalam proses iterasi (nilainya tidak sama dengan nol). 3. B = Nilai variabel basis dalam proses iterasi.

4. Cj – Zj = Nilai kontribusi dalam problema meminimalkan dari setiap variabel dalam proses iterasi.

Tahap 3. Pengecekan Optimalisasi Tabel Simpleks Iterasi Awal

Pengecekan apakah tabel simplek pada iterasi awal telah atau belum optimal dilakukan dengan cara melihat nilai Zj - Cj masing-masing variabel fungsi tujuan. Apabila Zj - Cj untuk semua variabel bernilai nol atau positif, maka penyelesaian problema tersebut telah optimal. Apabila tidak, maka dilakukan tahap proses selanjutnya.

Tahap 4. Identifikasi Variabel yang Akan Masuk (Incoming Variable)

(32)

Tahap 5. Identifikasi Variabel yang Akan Keluar (Outgoing Variable)

Dengan adanya variabel yang masuk kedalam tabel simpleks, maka salah satu dari variabel basis harus keluar dari tabel simpleks tersebut agar diperoleh peningkatan nilai tujuan maksimum. Cara mengidentifikasi variabel yang akan keluar adalah dengan mencari hasil bagi antara nilai solusi dan nilai substitusi marjinal yang terkecil dan bilangan tersebut bernilai non-negatif.

Tahap 6. Penyusunan Tabel Simpleks Iterasi Pertama

Untuk menyusun tabel simpleks iterasi pertama, kita harus mencari koefisien elemen pivot dari tabel simpleks sebelumnya. Koefisien elemen pivot dapat dicari dengan cara menghubungkan kolom pivot dengan baris pivot sedemikian rupa sehingga titik potong kedua pivot ini menunjukkan koefisien, yang disebut elemen pivot.

Koefisien-koefisien baris pivot yang baru dicari dengan menggunakan rumus sebagai berikut:

Nilai Baris Pivot Baru = Nilai Baris Pivot Lama : Elemen Pivot

Untuk menghitung nilai baris baru lainnya, dilakukan dengan menggunakan rumus sebagai berikut:

(33)

Tahap 7. Pengecekan Optimalisasi Tabel Simpleks Iterasi Pertama

Pengecekan apakah tabel simpleks pada iterasi pertama telah atau belum optimal. Apabila Zj - Cj untuk semua variabel bernilai nol atau negatif, maka penyelesaian problema tersebut telah optimal. Apabila tidak, maka kembali pada prosedur Tahap 4.

3.2. Metode Branch and Bound

Metode Branch and Bound mula-mula dipakai dan dikembangkan oleh Land and Doig (1960) untuk menyelesaikan program integer yang kemudian dimodifikasi oleh Dakin (1965) dan telah dengan sukses menerapkannya di dalam kitab undang-undang hukum dagang banyak orang dalam memecahkan persoalan program integer (Sidabutar, 2008).

Metode ini telah menjadi kode komputer standar untuk program integer, dan penerapan-penerapan dalam praktek tampaknya menyarankan bahwa metode ini lebih efisien dibanding dengan pendekatan Gomory. Teknik ini dapat diterapkan baik untuk masalah pure programming maupun mixed programming.

Secara umum, bentuk umum dari program integer adalah sebagai berikut.

Maksimumkan:

dengan kendala:

(34)

Asumsikan fungsi tujuan program integer adalah sebagai berikut.

Maksimumkan:

z = c1x1 + c2x2 + … + cnxn

maka,

( ) =

= ∑ ; j = 1, 2, …, n

Selanjutnya, asumsikan fungsi kendala program integer adalah sebagai berikut.

maka,

∑ ; i =1, 2, …, m

Langkah-langkah Metode Branch and Bound

(35)

Asumsikan suatu masalah program integer. Maksimumkan

Kendala dimana S0 = {x | Ax = b, x ≥ 0, dan integer}.

Ide umum dari metode branch and bound adalah pertama untuk menyelesaikan problema sebagai model kontinu, yakni menyelesaikan program integer sebagai program linier:

Maksimumkan

Kendala dimana T0 = {x | Ax = b, x ≥ 0}.

Andaikan bahwa xr merupakan peubah yang berkendala integer yang mempunyai nilai optimum kontimu xr* yang pecahan. Hasil dari tidak memuat solusi integer yang layak. Sebagai akibatnya nilai integer layak dari xr harus memenuhi salah satu dari dua kondisi berikut yakni:

atau

Kedua kondisi ini bilamana diaplikasikan untuk model yang kontinu maka hasilnya merupakan dua problema saling lepas (mutually exclusive) dengan himpunan kendala sebagai berikut:

(i) { } (ii) { }

dan bilamana kendala-kendala integernya dimasukkan, maka diperoleh himpunan: S1 = {x|Ax = b, , x ≥ 0, dan integer} dan

S2 = {x|Ax = b, , x ≥ 0, dan integer}

Sebenarnya bentuk ini merupakan pemisahan dari S0, yakni , . Solusi optimal x* dari problema yang diberikan, harus berada di salah satu S1 atau S2 dan harus juga merupakan solusi optimal dari salah satu subproblema berikut:

(36)

kembali bila solusi optimal mempunyai komponen yang bernilai pecahan atau tidak integer. Proses percabangan ini akan membangun pohon keputusan, dengan setiap node k dari pohon keputusan tersebut berhubungan dengan sebuah subproblema: Maksimumkan z = c.x kendala . Jika solusi optimal yang berhubungan dengan program linier tersebut layak (memenuhi) atau mempunyai komponen-komponen bulat, maka solusi ini dicatat dan nilai objektifnya merupakan batas bawah untuk nilai optimum. Dalam kasus seperti ini tidak perlu dilakukan percabangan lebih jauh lagi dari subproblema ini dan node yang demikian difathom atau dipangkas. Node yang belum terfathom disimpan dalam master list. Pada beberapa node, nilai optimal (nilai integer terbesar yang lebih kecil atau sama dengan nilai optimum jika fungsi objektif mempunyai koefisien-koefisien integer) ̅̅̅ dari program linier yang bersangkutan merupakan sebuah batas atas untuk nilai optimum dari semua turunannya. Jika batas atas tersebut lebih kecil dari batas bawah terbaik yang ada, maka subproblema ini tidak dicabangkan lagi. Proses Branch and Bound diteruskan sampai setiap subproblema berhenti karena salah satu dari dua alasan berikut, yakni

(i) Sebuah solusi integer, atau

(ii)Batas atas lebih kecil dari batas bawah yang ada sekarang (Bangun, 2004).

Berdasarkan uraian di atas, maka prosedur atau langkah-langkah metode Branch and Bound untuk masalah maksimasi adalah sebagai berikut.

1. Selesaikan masalah program linier dengan metode simpleks.

(37)

3. Jadikan solusi pada penyelesaian langkah 1 menjadi batas atas dan untuk batas bawahnya merupakan solusi yang variabel keputusannya telah diintegerkan (rounded – down).

4. Pilih variabel yang mempunyai nilai pecahan terbesar (artinya bilangan desimal terbesar dari masing-masing variabel untuk dijadikan pencabangan ke dalam sub-sub masalah). Tujuannya adalah untuk menghilangkan solusi yang tidak memenuhi persyaratan integer dalam masalah itu. Pencabangan itu dilakukan secara mutually exclusive untuk memenuhi persyaratan integer dengan jaminan tidak ada solusi fisibel (layak) yang diikutsertakan.

5. Untuk setiap sub-masalah, nilai optimum fungsi tujuan ditetapkan sebagai batas atas. Solusi optimum yang diintegerkan menjadi batas bawah (solusi yang sebelumnya tidak integer kemudian diintegerkan). Sub-sub masalah yang memiliki batas atas kurang dari batas bawah yang ada, tidak diikutsertakan pada analisa selanjutnya. Suatu solusi integer fisibel (layak) adalah sama baik atau lebih baik dari batas atas untuk setiap sub masalah yang dicari. Jika solusi yang demikian terjadi, suatu sub masalah dengan batas atas terbaik dipilih untuk dicabangkan. Kembali ke langkah 4 (Winston, 2004).

Perhitungan dalam Metode Branch and Bound

Satu kerugian dasar dari metode Branch and Bound adalah bahwa metode ini mengharuskan pemecahan program linier yang lengkap di setiap node. Dalam masalah besar, hal ini dapat sangat memakan waktu, terutama ketika satu-satunya informasi yang diperlukan di node tersebut adalah nilai tujuan optimumnya. Hal ini diperjelas dengan menyadari bahwa sebuah batas yang “baik” diperoleh, “banyak” node dapat disingkirkan dengan diketahui nilai tujuan optimum mereka.

(38)

lebih kecil daripada nilai tujuan yang berkaitan dengan pemecahan integer terbaik yang tersedia, node tersebut disingkirkan. Keuntungan utamanya adalah bahwa batas atas tersebut dapat diestimasi dengan cepat dengan perhitungan minimal. Gagasan umum ini mengestimasi penalti (yaitu, penurunan nilai tujuan) yang dihasilkan dari pemberlakuan kondisi dan . Ini dapat dicapai dengan menambahkan setiap batasan ini ke tabel optimum di node tersebut.

(39)

BAB 4

HASIL DAN PEMBAHASAN

Perumusan fungsi tujuan dan fungsi kendala akan dirumuskan sebagai berikut:

4.1.Pengumpulan Data

Untuk menyelesaikan suatu permasalahan, perlu adanya data yang berhubungan dengan masalah tersebut, baik data primer maupun sekunder.

a. Keuntungan (laba) masing-masing produk

Keuntungan dari masing-masing produk dapat dilihat pada Tabel 4.1 berikut:

Tabel 4.1.Keuntungan Tiap Produk Bulan Januari 2013 hingga Juni 2013

Produk Keuntungan (Rp/buah)

Celana panjang pria 13.000

Celana panjang wanita 10.000

Celana pendek pria 12.000

Celana pendek wanita 10.000

b. Persediaan bahan baku

(40)

Bulan Kain Jeans (yar) KainKatun (yar)

Januari 53.716 13.250

Februari 60.495 13.110

Maret 63.500 12.880

April 50.404 12.870

Mei 47.105 9.879

Juni 54.780 10.011

Jumlah 330.000 72.000

Rata-rata 55.000 12.000

Tabel 4.3. Bahan Baku yang Dibutuhkan dalam Membuat Celana

Jenis Produk Kain Jeans (yar) Kain Katun (yar)

Celana panjang pria 1,2 0,6

Celana panjang wanita 1,1 0,4

Celana pendek pria 1 0,6

Celana pendek wanita 1 0,4

c. Waktu pembuatan tiap produk

Diketahui bahwa tenaga kerja CV. Keris Sakti yang bekerja dalam bagian produksi tersebut terdiri dari 20 orang. Pekerja bekerja selama 8 jam sehari, dalam 1 minggu bekerja dari hari Senin hingga Sabtu, sehingga dalam 1 bulan 1 pekerja bekerja selama 208 jam. Jadi apabila dijumlahkan semua waktu pekerja maka terdapat 4.160 jam. Di samping itu, apabila industri tersebut ingin memproduksi hanya 1 buah celana, maka dibutuhkan waktu sekitar 1 jam untuk celana pria dan 0,75 jam (45 menit) untuk celana wanita.

d. Jumlah permintaan pasar

(41)

Tabel 4.4. Jumlah Permintaan Pasar Bulan Januari 2013 hingga Juni 2013 jumlah maksimum tiap celana dari bulan Januari 2013 hingga Juni 2013, yaitu celana panjang pria 1.600 buah, celana panjang wanita 900 buah, celana pendek pria 1.250 buah, dan celana pendek wanita 875 buah. Untuk mengantisipasi agar jumlah produksi dari tiap celana tidak 0, maka ditambah kendala batasan bawah jumlah yang dapat diproduksi oleh industri, yaitu celana panjang pria 1.575 buah, celana panjang wanita 850 buah, celana pendek pria 1.245, dan celana pendek wanita 800 buah.

4.2.Perumusan Fungsi Tujuan

Asumsikan:

x1 = Jumlah celana panjang pria per buah x2 = Jumlah celana panjang wanita per buah x3 = Jumlah celana pendek pria per buah x4 = Jumlah celana pendek wanita per buah

(42)

4.3.Perumusan Fungsi Kendala

Fungsi kendala terdiri dari jumlah persediaan bahan baku, jumlah permintaan pasar terhadap produk, dan waktu pembuatan produk.

1. Model kendala persediaan bahan baku

Dalam memodelkan kendala persediaan bahan baku, data yang digunakan adalah jumlah rata-rata dari tiap produk yang dapat dilihat pada Tabel 4.2 dan berdasarkan banyaknya bahan baku yang dibutuhkan tiap jenis celana (Tabel 4.3) maka model kendala persediaan bahan baku dapat dirumuskan sebagai berikut:

Kain jeans : 1,2x1 + 1,1x2 + x3 + x4≤ 55.000 Kain katun : 0,6x1 + 0,4x2 + 0,6x3 + 0,4x4≤ 12.000

2. Model kendala waktu pembuatan tiap produk

Dalam memodelkan kendala waktu pembuatan produk, data yang digunakan adalah waktu yang dihabiskan dalam membuat tiap jenis celana, sehingga model kendala waktu pembuatan produk dapat dirumuskan sebagai berikut:

x1 + 0,75x2+ x3 + 0,75x4 ≤ 4.160

3. Model kendala jumlah permintaan pasar

Berdasarkan jumlah permintaan pasar terhadap produk yang telah diperlihatkan pada Tabel 4.4, maka model kendala permintaan pasar dapat dirumuskan sebagai berikut:

(43)

Celana panjang wanita : 850 ≤ x2≤ 900 Celana pendek pria : 1.245 ≤ x3≤ 1.250 Celana pendek wanita : 800 ≤ x4 ≤ 875

4.4.Analisis dan Pembahasan

Dalam mengoptimalkan jumlah produksi celana, metode yang akan digunakan adalah Metode Branch and Bound. Sehingga pertama-tama kita modelkan ke dalam model program integer menjadi:

Fungsi tujuan:

Maksimumkan z = 13.000x1 + 10.000x2 + 12.000x3 +10.000x4

Fungsi kendala:

1. Kendala persediaan bahan baku

1,2x1 + 1,1x2 + x3 + x4≤ 55.000 0,6x1 + 0,4x2 + 0,6x3 + 0,4x4≤ 12.000

2. Kendala waktu pembuatan produk

x1 + 0,75x2 + x3 + 0,75x4 ≤ 4.160

3. Kendala jumlah permintaan pasar

x1 ≤ 1.600 x2 ≤ 900 x3 ≤ 1.250

x4 ≤ 875 x1 ≥ 1.575

(44)

Maksimumkan z = 13.000x1 + 10.000x2 + 12.000x3 +10.000x4

Kendala 1,2x1 + 1,1x2 + x3 + x4+ s1 = 55.000 0,6x1 + 0,4x2 + 0,6x3 + 0,4x4 + s2 = 12.000 x1 + 0,75x2+ x3 + 0,75x4 + s3 = 4.160 x1 + s4 = 1.600

x2 + s5 = 900 x3 +s6 =1.250 x4 + s7 = 875 x1 - s8 + s12 = 1.575 x2 - s9 + s13 = 850 x3 - s10 + s14 = 1.245 x4 - s11 + s15 = 800 xj≥ 0; j = 1, 2, 3, 4 si≥ 0; i = 1, 2, 3, …, 15

Berdasarkan perhitungan simpleks dan pohon pencabangan Branch and Bound yang dapat dilihat pada Lampiran 1 dan Lampiran 2, maka perbandingan jumlah tiap celana yang dapat diproduksi industri dengan yang didapat dari perhitungan Branch and Bound adalah sebagai berikut.

Tabel 4.5. Perbandingan Jumlah Produksi Optimum Produksi (per buah)

Selisih

Jenis Celana Industri Usulan

Celana panjang pria 1.575 1.586 1.586 1.586 11

Celana panjang wanita 850 900 898 895 50/48/45

Celana pendek pria 1.245 1.245 1.245 1.245 0

Celana pendek wanita 800 872 874 875 72/74/75

(45)

Metode Branch and Bound diharapkan dapat menyelesaikan suatu problem program integer dengan penyelesaian optimal yang lebih teliti dan lebih baik dari metode lain. Metode ini biasanya menghasilkan lebih dari satu solusi optimal, sehingga baik penulis maupun pemimpin industri dapat membandingkan manakah yang merupakan solusi yang paling optimal diantara solusi-solusi yang dihasilkan tersebut.

(46)

KESIMPULAN DAN SARAN

5.1. Kesimpulan

1. Jumlah produksi optimal tiap jenis celana (celana panjang pria, celana panjang wanita, celana pendek pria, celana pendek wanita) masing-masing dapat diperoleh dalam 3 alternatif yaitu 1.586, 900, 1.245, 872 buah; 1.586, 898, 1.245, 874 buah atau 1.586, 895, 1.245, 875 buah per bulan.

2. Jumlah pendapatan penjualan celana pada CV. Keris Sakti berdasarkan perhitungan dengan metode Branch and Bound diperoleh rata-rata Rp.53.278.000,- per bulan.

3. Metode Branch and Bound dapat dikatakan merupakan metode yang efektif dalam mengoptimalkan suatu permasalahan karena walaupun prosedur dari metode ini sangat panjang dalam permasalahan yang besar tetapi hasilnya lebih optimal daripada metode lain karena metode ini biasanya menghasilkan hasil optimal lebih dari satu. Dengan demikian, dari hasil-hasil optimal yang didapat dapat dibandingkan manakah yang merupakan hasil yang paling optimal.

5.2. Saran

(47)

BAB 3

METODE PENELITIAN

Pada bab ini, akan dijelaskan metode-metode yang penulis gunakan dalam penelitian ini. Adapun metode yang akan digunakan dalam penelitian ini adalah Metode Simpleks dan Metode Branch and Bound.

3.1. Metode Simpleks

Metode simpleks adalah prosedur pemecahan program linier yang lebih efisien daripada metode grafik. Meskipun problem program linier dapat diselesaikan secara grafik, akan tetapi hampir seluruh problem program linier sesungguhnya tidak dapat diselesaikan dengan cara ini, karena pada umumnya program linier mempunyai lebih dari 3 variabel.

Oleh karena itu, George Dantzig pada tahun 1947 mengajukan satu metode yang paling berhasil untuk meyelesaikan problem program linier yang disebut Metode Simpleks.

Secara umum, bentuk umum dari program linier dapat dimodelkan sebagai berikut.

Maksimumkan: z = c1x1 + c2x2 + … + cnxn Kendala :

(48)

Minimumkan : z = c1x1 + c2x2+ … + cnxn Kendala :

xn ≥ 0, n = 1, 2, 3, …

Prosedur (tahap proses) untuk menyelesaikan program linier dengan menggunakan metode simpleks adalah sebagai berikut:

Tahap 1. Merumuskan problema ke dalam model simpleks. Tahap 2. Menyusun tabel simpleks iterasi awal.

Tahap 3. Mengecek nilai optimal tabel simpleks dengan cara sebagai berikut: a. Kalau sudah optimal, tafsirkan hasil penyelesaian.

b. Kalau belum optimal, teruskan penyelesaian pada tahap berikutnya. Tahap 4. Mengidentifikasi variabel yang akan masuk dalam tabel.

Tahap 5. Mengidentifikasi variabel yang akan dikeluarkan dalam tabel. Tahap 6. Menyusun tabel simpleks baru.

Tahap 7. Mengecek nilai optimal tabel simpleks baru tersebut: a. Kalau sudah optimal, tafsirkan hasil penyelesaian. b. Kalau belum optimal, kembali kepada prosedur tahap 4.

Tahap 1. Perumusan Model Simpleks

(49)

memenuhi persyaratan yang dikehendaki pada persamaan kendala tersebut). Bentuk ini biasanya dikatakan sebagai bentuk standar, sehingga bentuk standarnya dapat dirumuskan sebagai berikut: (Asumsikan untuk permasalahan maksimasi).

Maksimumkan: z = c1x1 + c2x2 + … + cnxn Kendala :

xn≥ 0, n = 1, 2, 3, …

si ≥ 0, i = 1, 2, 3, …

Pada permasalahan dalam penelitian ini, tanda ketidaksamaan kendala adalah lebih kecil atau sama dengan (≤), diubah menjadi tanda sama dengan (=) dengan syarat menambah variabel slack pada sisi bagian kiri persamaan kendala. Mengapa harus ditambah dengan variabel slack? Jawabannya ialah agar persamaan garis kendala memenuhi persyaratan penyelesaian pada daerah kelayakan.

Tahap 2. Menyusun Tabel Simpleks

(50)

Basis / C B x1 x2 … … xn s1 s2 … … sn

Zj - Cj

Penjelasan tabel simplek di atas:

1. C = Nilai kontribusi setiap variabel basis dalam proses iterasi.

2. Basis = Variabel basis dalam proses iterasi (nilainya tidak sama dengan nol). 3. B = Nilai variabel basis dalam proses iterasi.

4. Cj – Zj = Nilai kontribusi dalam problema meminimalkan dari setiap variabel dalam proses iterasi.

Tahap 3. Pengecekan Optimalisasi Tabel Simpleks Iterasi Awal

Pengecekan apakah tabel simplek pada iterasi awal telah atau belum optimal dilakukan dengan cara melihat nilai Zj - Cj masing-masing variabel fungsi tujuan. Apabila Zj - Cj untuk semua variabel bernilai nol atau positif, maka penyelesaian problema tersebut telah optimal. Apabila tidak, maka dilakukan tahap proses selanjutnya.

Tahap 4. Identifikasi Variabel yang Akan Masuk (Incoming Variable)

(51)

nonbasis ini memiliki nilai terbesar yang dapat ditingkatkan dalam proses iterasi selanjutnya.

Tahap 5. Identifikasi Variabel yang Akan Keluar (Outgoing Variable)

Dengan adanya variabel yang masuk kedalam tabel simpleks, maka salah satu dari variabel basis harus keluar dari tabel simpleks tersebut agar diperoleh peningkatan nilai tujuan maksimum. Cara mengidentifikasi variabel yang akan keluar adalah dengan mencari hasil bagi antara nilai solusi dan nilai substitusi marjinal yang terkecil dan bilangan tersebut bernilai non-negatif.

Tahap 6. Penyusunan Tabel Simpleks Iterasi Pertama

Untuk menyusun tabel simpleks iterasi pertama, kita harus mencari koefisien elemen pivot dari tabel simpleks sebelumnya. Koefisien elemen pivot dapat dicari dengan cara menghubungkan kolom pivot dengan baris pivot sedemikian rupa sehingga titik potong kedua pivot ini menunjukkan koefisien, yang disebut elemen pivot.

Koefisien-koefisien baris pivot yang baru dicari dengan menggunakan rumus sebagai berikut:

Nilai Baris Pivot Baru = Nilai Baris Pivot Lama : Elemen Pivot

Untuk menghitung nilai baris baru lainnya, dilakukan dengan menggunakan rumus sebagai berikut:

(52)

Pengecekan apakah tabel simpleks pada iterasi pertama telah atau belum optimal. Apabila Zj - Cj untuk semua variabel bernilai nol atau negatif, maka penyelesaian problema tersebut telah optimal. Apabila tidak, maka kembali pada prosedur Tahap 4.

3.2. Metode Branch and Bound

Metode Branch and Bound mula-mula dipakai dan dikembangkan oleh Land and Doig (1960) untuk menyelesaikan program integer yang kemudian dimodifikasi oleh Dakin (1965) dan telah dengan sukses menerapkannya di dalam kitab undang-undang hukum dagang banyak orang dalam memecahkan persoalan program integer (Sidabutar, 2008).

Metode ini telah menjadi kode komputer standar untuk program integer, dan penerapan-penerapan dalam praktek tampaknya menyarankan bahwa metode ini lebih efisien dibanding dengan pendekatan Gomory. Teknik ini dapat diterapkan baik untuk masalah pure programming maupun mixed programming.

Secara umum, bentuk umum dari program integer adalah sebagai berikut.

Maksimumkan:

dengan kendala:

(53)

Dengan demikian, penjabaran bentuk umum dari fungsi tujuan dan fungsi kendala program integer adalah sebagai berikut.

Asumsikan fungsi tujuan program integer adalah sebagai berikut.

Maksimumkan:

z = c1x1 + c2x2 + … + cnxn

maka,

( ) =

= ∑ ; j = 1, 2, …, n

Selanjutnya, asumsikan fungsi kendala program integer adalah sebagai berikut.

maka,

∑ ; i =1, 2, …, m

Langkah-langkah Metode Branch and Bound

(54)

Maksimumkan

Kendala dimana S0 = {x | Ax = b, x ≥ 0, dan integer}.

Ide umum dari metode branch and bound adalah pertama untuk menyelesaikan problema sebagai model kontinu, yakni menyelesaikan program integer sebagai program linier:

Maksimumkan

Kendala dimana T0 = {x | Ax = b, x ≥ 0}.

Andaikan bahwa xr merupakan peubah yang berkendala integer yang mempunyai nilai optimum kontimu xr* yang pecahan. Hasil dari tidak memuat solusi integer yang layak. Sebagai akibatnya nilai integer layak dari xr harus memenuhi salah satu dari dua kondisi berikut yakni:

atau

Kedua kondisi ini bilamana diaplikasikan untuk model yang kontinu maka hasilnya merupakan dua problema saling lepas (mutually exclusive) dengan himpunan kendala sebagai berikut:

(i) { } (ii) { }

dan bilamana kendala-kendala integernya dimasukkan, maka diperoleh himpunan: S1 = {x|Ax = b, , x ≥ 0, dan integer} dan

S2 = {x|Ax = b, , x ≥ 0, dan integer}

Sebenarnya bentuk ini merupakan pemisahan dari S0, yakni , . Solusi optimal x* dari problema yang diberikan, harus berada di salah satu S1 atau S2 dan harus juga merupakan solusi optimal dari salah satu subproblema berikut:

(55)

Subproblema-subproblema ini dapat lagi diselesaikan dengan mengulangi proses yang sama dengan merelaksasi kendala integernya dan mencabangkan kembali bila solusi optimal mempunyai komponen yang bernilai pecahan atau tidak integer. Proses percabangan ini akan membangun pohon keputusan, dengan setiap node k dari pohon keputusan tersebut berhubungan dengan sebuah subproblema: Maksimumkan z = c.x kendala . Jika solusi optimal yang berhubungan dengan program linier tersebut layak (memenuhi) atau mempunyai komponen-komponen bulat, maka solusi ini dicatat dan nilai objektifnya merupakan batas bawah untuk nilai optimum. Dalam kasus seperti ini tidak perlu dilakukan percabangan lebih jauh lagi dari subproblema ini dan node yang demikian difathom atau dipangkas. Node yang belum terfathom disimpan dalam master list. Pada beberapa node, nilai optimal (nilai integer terbesar yang lebih kecil atau sama dengan nilai optimum jika fungsi objektif mempunyai koefisien-koefisien integer) ̅̅̅ dari program linier yang bersangkutan merupakan sebuah batas atas untuk nilai optimum dari semua turunannya. Jika batas atas tersebut lebih kecil dari batas bawah terbaik yang ada, maka subproblema ini tidak dicabangkan lagi. Proses Branch and Bound diteruskan sampai setiap subproblema berhenti karena salah satu dari dua alasan berikut, yakni

(i) Sebuah solusi integer, atau

(ii)Batas atas lebih kecil dari batas bawah yang ada sekarang (Bangun, 2004).

Berdasarkan uraian di atas, maka prosedur atau langkah-langkah metode Branch and Bound untuk masalah maksimasi adalah sebagai berikut.

1. Selesaikan masalah program linier dengan metode simpleks.

(56)

(rounded – down).

4. Pilih variabel yang mempunyai nilai pecahan terbesar (artinya bilangan desimal terbesar dari masing-masing variabel untuk dijadikan pencabangan ke dalam sub-sub masalah). Tujuannya adalah untuk menghilangkan solusi yang tidak memenuhi persyaratan integer dalam masalah itu. Pencabangan itu dilakukan secara mutually exclusive untuk memenuhi persyaratan integer dengan jaminan tidak ada solusi fisibel (layak) yang diikutsertakan.

5. Untuk setiap sub-masalah, nilai optimum fungsi tujuan ditetapkan sebagai batas atas. Solusi optimum yang diintegerkan menjadi batas bawah (solusi yang sebelumnya tidak integer kemudian diintegerkan). Sub-sub masalah yang memiliki batas atas kurang dari batas bawah yang ada, tidak diikutsertakan pada analisa selanjutnya. Suatu solusi integer fisibel (layak) adalah sama baik atau lebih baik dari batas atas untuk setiap sub masalah yang dicari. Jika solusi yang demikian terjadi, suatu sub masalah dengan batas atas terbaik dipilih untuk dicabangkan. Kembali ke langkah 4 (Winston, 2004).

Perhitungan dalam Metode Branch and Bound

Satu kerugian dasar dari metode Branch and Bound adalah bahwa metode ini mengharuskan pemecahan program linier yang lengkap di setiap node. Dalam masalah besar, hal ini dapat sangat memakan waktu, terutama ketika satu-satunya informasi yang diperlukan di node tersebut adalah nilai tujuan optimumnya. Hal ini diperjelas dengan menyadari bahwa sebuah batas yang “baik” diperoleh, “banyak” node dapat disingkirkan dengan diketahui nilai tujuan optimum mereka.

(57)

Gagasannya adalah “mengestimasi” sebuah batas atas (asumsikan masalah maksimasi) dari nilai tujuan optimum di setiap node. Jika batas atas ini menjadi lebih kecil daripada nilai tujuan yang berkaitan dengan pemecahan integer terbaik yang tersedia, node tersebut disingkirkan. Keuntungan utamanya adalah bahwa batas atas tersebut dapat diestimasi dengan cepat dengan perhitungan minimal. Gagasan umum ini mengestimasi penalti (yaitu, penurunan nilai tujuan) yang dihasilkan dari pemberlakuan kondisi dan . Ini dapat dicapai dengan menambahkan setiap batasan ini ke tabel optimum di node tersebut.

(58)

TINJAUAN PUSTAKA

Optimasi bilangan bulat (integer) bukan merupakan sebuah persoalan matematika baru, dan dalam penelitian operasional dikenal sejak tahun 1940. Optimisasi bilangan bulat penting digunakan pada pemecahan masalah yang disusun sebagai sebuah hasil perkembangan pada bidang penelitian operasional, terutama sekali pada persoalan Program Linier. Hal itu diperlukan untuk penentuan model penyusunan pada beberapa atau semua variabel keputusan agar integer (Taha, 1996).

2.1. Pengertian Produksi

(59)

rumah sakit, pelayanan, dan lain sebagainya. Dari pengertian yang luas inilah sekarang berkembang istilah yang sering digunakan, yaitu industri, seperti halnya dengan industri manufacture, industri pengolah hasil pertanian atau agro-industry, industri pengolah hasil-hasil pertambangan, industri pariwisata, industri jasa perdagangan, dan industri pengangkutan. Dalam arti sempit, pengertian produksi hanya dimaksud sebagai kegiatan yang menghasilkan barang baik barang jadi maupun barang setengah jadi, bahan industri dan suku cadang atau spareparts dan komponen. Dengan pengertian ini, produksi dimaksudkan sebagai kegiatan pengolahan dalam pabrik. Hasil produksinya dapat berupa barang-barang konsumsi maupun barang-barang industri (Assauri, 1999).

2.2. Program Linier

Program linier adalah suatu teknik penyelesaian optimal atas suatu problema keputusan dengan cara menentukan terlebih dahulu fungsi tujuan (memaksimalkan atau meminimalkan) dan kendala-kendala yang ada ke dalam model matematik persamaan linier. Program linier sering digunakan dalam menyelesaikan problema-problema alokasi sumber daya, seperti dalam bidang manufacturing, pemasaran, keuangan, personalia, administrasi, dan lain sebagainya. Syarat-syarat yang harus dipenuhi dalam merumuskan suatu problema keputusan ke dalam model matematik persamaan linier adalah sebagai berikut:

1. Memiliki kriteria tujuan;

2. Sumber daya yang tersedia sifatnya terbatas;

3. Semua variabel dalam model memiliki hubungan matematis bersifat linier; 4. Koefisien model diketahui dengan pasti;

5. Bilangan yang digunakan dapat bernilai bulat atau pecahan;

(60)

yang optimal (maksimum atau minimum) (Supranto, 1991).

2.3. Program Integer

Program integer adalah suatu bentuk dari program matematikal. Ia adalah suatu kasus khusus dari program linear di mana semua (atau beberapa) variabel dibatasi sebagai bilangan cacah tak negatif. Kalau semua variabel dibatasi sebagai bilangan cacah, problemanya disebut sebagai pure integer programming dan kalau beberapa variabel tertentu dibatasi sebagai bilangan cacah sedang yang lain tidak, problemanya disebut mixed integer programming. Suatu bentuk khusus dari program integer ialah suatu kasus di mana variabel dibatasi harus berharga nol atau satu. Kalau variabel dibatasi seperti ini, maka problemnya disebut zero-one integer programming. Cara simpleks adalah basis untuk penyelesaian problema program linear di mana disyaratkan bahwa semua variabel adalah tak negatif. Tetapi untuk menyelesaikan problema (model) program linear bilangan bulat terdapat beberapa cara. Hanya saja, baik program linear maupun program linear bilangan bulat, mulai dengan ruang yang sama yaitu ruang penyelesaian layak (feasible). Tetapi, karena adanya persyaratan bilangan cacah bagi problem kedua yang berarti munculnya batasan tambahan menyebabkan adanya suatu pengurangan dari ruang penyelesaian layak.

Bentuk umum program integer dapat dirumuskan sebagai berikut:

Maksimumkan:

dengan kendala:

(61)

dimana aij, bi, cj diketahui sebagai konstanta jika ternyata:

1. xj semua bilangan cacah, maka problema disebut pure integer programming. 2. xj sebagian bilangan cacah dan yang lainnya boleh tidak, maka disebut mixed

integer programming.

(62)

PADA CV. KERIS SAKTI

ABSTRAK

CV. Keris Sakti merupakan sebuah industri manufacturing yang bergerak dibidang industri konveksi. Industri ini belum pernah menggunakan metode apapun untuk mengoptimalkan jumlah produksinya sehingga perlu dilakukan penelitian apakah jumlah produksi yang selama ini dihasilkan sudah optimal atau belum. Metode yang akan digunakan untuk menentukan jumlah produksi optimum pada CV. Keris Sakti adalah dengan metode program integer yaitu metode Branch and Bound. Penelitian ini ditinjau berdasarkan jumlah persediaan bahan baku, permintaan pasar, laba dan waktu pembuatan. Hasil penelitian diperoleh bahwa jumlah produksi celana yang optimal tiap jenis celana (celana panjang pria, celana panjang wanita, celana pendek pria, celana pendek wanita) masing-masing dapat diperoleh dalam 3 alternatif yaitu 1.586, 900, 1.245, 872 buah; 1.586, 898, 1.245, 874 buah atau 1.586, 895, 1.245, 875 buah dengan keuntungan sebesar Rp.53.278.000,- per bulan.

(63)

APPLICATION OF BRANCH AND BOUND METHOD IN DETERMINING THE OPTIMUM NUMBER OF

PRODUCTION AT CV. KERIS SAKTI

ABSTRACT

CV. Keris Sakti is a manufacturing industry which is engaged in the pants. This industry had never used any method to optimize the amount of production that need to be investigated if the amount of production that has been generated is optimal or not. Method that will be used to determine the optimum number of production at CV. Keris Sakti is the method of integer programming, that is Branch and Bound method. This study was reviewed based on the amount of stock of raw materials, market demand, profit and time of manufacture. The output of this study obtained that the optimal production quantities of each type of pants (men's trousers, women's trousers, men's shorts, women's shorts) can be obtained in 3 alternatives: 1.586, 900, 1.245, 872 pieces; 1.586, 898, 1.245, 874 pieces or 1.586, 895, 1.245, 875 pieces with a gain of Rp.53.278.000, - per month.

(64)

PADA CV. KERIS SAKTI

SKRIPSI

ANGELINE

100803040

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(65)

PENERAPAN METODE BRANCH AND BOUND DALAM MENENTUKAN JUMLAH PRODUKSI OPTIMUM

PADA CV. KERIS SAKTI

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains

ANGELINE 100803040

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(66)

Judul : Penerapan Metode Branch and Bound dalam Menentukan Jumlah Produksi Optimum pada CV. Keris Sakti

Kategori : Skripsi

Nama : Angeline

Nomor Induk Mahasiswa : 100803040

Program Studi : Sarjana (S1) Matematika

Departemen : Matematika

Fakultas : Matematika Dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

Disetujui di Medan, 2014

Komisi Pembimbing :

Pembimbing 2, Pembimbing 1,

Drs. Gim Tarigan, M.Si. Prof. Dr. Drs. Iryanto, M.Si.

NIP. 195502021986011001 NIP. 194604041971071001

Disetujui Oleh

Departemen Matematika FMIPA USU Ketua,

(67)

PERNYATAAN

PENERAPAN METODE BRANCH AND BOUND DALAM MENENTUKAN JUMLAH PRODUKSI OPTIMUM

PADA CV. KERIS SAKTI

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya sendiri. Kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 2014

(68)

Puji dan syukur penulis panjatkan kepada Tuhan yang Maha Penyayang, atas kemurahan dan berkat yang telah diberikan sehingga penulis dapat menyelesaikan skripsi dengan judul Penerapan Metode Branch and Bound dalam Menentukan Jumlah Produksi Optimum pada CV. Keris Sakti guna melengkapi syarat memperoleh gelar sarjana Matematika pada Fakultas Matematika dan Ilmu Pengetahuan Alam di Universitas Sumatera Utara.

Dalam kesempatan ini, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu dan membimbing penulis dalam penyusunan skripsi ini, ucapan terima kasih saya sampaikan kepada:

1. Bapak Prof. Dr. Drs. Iryanto, M.Si selaku pembimbing I dan Bapak Drs. Gim Tarigan, M.Si selaku pembimbing II yang telah memberikan bimbingan dan pengarahan sehingga skripsi ini dapat saya selesaikan.

2. Bapak Dr. Parapat Gultom, MSIE dan Ibu Dr. Esther Sorta M.Nababan, M.Sc selaku dosen pembanding.

3. Bapak Prof. Dr. Tulus, Vor.Dipl.Math, M.Si dan Ibu Dra. Mardiningsih, M.Sc selaku Ketua dan Sekretaris Departemen Matematika FMIPA-USU Medan.

4. Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.

(69)

6. Seluruh teman jurusan Matematika khususnya stambuk 2010, adik-adik junior stambuk 2011, stambuk 2012, stambuk 2013 serta Abang dan Kakak alumni.

7. Ayahanda Kang Tjong Tie, Ibunda Dra. Tuty Tamin, adik penulis Filbert, serta keluarga yang selama ini memberikan bantuan dan dorongan yang diperlukan.

Penulis menyadari masih banyak kekurangan dan kelemahan dalam penulisan skripsi ini. Untuk itu penulis minta maaf kepada seluruh pembaca bila ada kesalahan serta penulis mengharapkan saran dan kritikan demi kesempurnaan skripsi ini. Akhir kata, semoga skripsi ini dapat bermanfaat bagi kita semua.

Medan, 2014 Penulis

(70)

PADA CV. KERIS SAKTI

ABSTRAK

CV. Keris Sakti merupakan sebuah industri manufacturing yang bergerak dibidang industri konveksi. Industri ini belum pernah menggunakan metode apapun untuk mengoptimalkan jumlah produksinya sehingga perlu dilakukan penelitian apakah jumlah produksi yang selama ini dihasilkan sudah optimal atau belum. Metode yang akan digunakan untuk menentukan jumlah produksi optimum pada CV. Keris Sakti adalah dengan metode program integer yaitu metode Branch and Bound. Penelitian ini ditinjau berdasarkan jumlah persediaan bahan baku, permintaan pasar, laba dan waktu pembuatan. Hasil penelitian diperoleh bahwa jumlah produksi celana yang optimal tiap jenis celana (celana panjang pria, celana panjang wanita, celana pendek pria, celana pendek wanita) masing-masing dapat diperoleh dalam 3 alternatif yaitu 1.586, 900, 1.245, 872 buah; 1.586, 898, 1.245, 874 buah atau 1.586, 895, 1.245, 875 buah dengan keuntungan sebesar Rp.53.278.000,- per bulan.

(71)

APPLICATION OF BRANCH AND BOUND METHOD IN DETERMINING THE OPTIMUM NUMBER OF

PRODUCTION AT CV. KERIS SAKTI

ABSTRACT

CV. Keris Sakti is a manufacturing industry which is engaged in the pants. This industry had never used any method to optimize the amount of production that need to be investigated if the amount of production that has been generated is optimal or not. Method that will be used to determine the optimum number of production at CV. Keris Sakti is the method of integer programming, that is Branch and Bound method. This study was reviewed based on the amount of stock of raw materials, market demand, profit and time of manufacture. The output of this study obtained that the optimal production quantities of each type of pants (men's trousers, women's trousers, men's shorts, women's shorts) can be obtained in 3 alternatives: 1.586, 900, 1.245, 872 pieces; 1.586, 898, 1.245, 874 pieces or 1.586, 895, 1.245, 875 pieces with a gain of Rp.53.278.000, - per month.

(72)

Halaman

Bab 2. Tinjauan Pustaka

2.1. Pengertian Produksi 5

2.2. Program Linier 6

2.3. Program Integer 7

Bab 3. Metode Penelitian

3.1. Metode Simpleks 9

3.2. Metode Branch and Bound 14

Bab 4. Hasil dan Pembahasan

4.1. Pengumpulan Data 20

4.2. Perumusan Fungsi Tujuan 22

4.3. Perumusan Fungsi Kendala 23

4.4. Analisis dan Pembahasan 24

Bab 5. Kesimpulan dan Saran

5.1. Kesimpulan 25

5.2. Saran 25

(73)

DAFTAR TABEL

Nomor Judul Halaman

Tabel

3.1. Format Tabel Simpleks 12

4.1. Keuntungan Tiap Produk Bulan Januari 2013 hingga Juni 2013 20 4.2. Jumlah Persediaan Bahan Baku Bulan Januari 2013 hingga Juni 2013 21 4.3. Bahan Baku yang Dibutuhkan dalam Membuat Celana 21 4.4. Jumlah Permintaan Pasar Bulan Januari 2013 hingga Juni 2013 22

(74)

Nomor Judul Halaman Lamp

1. Perhitungan Awal Metode Simpleks 27

Gambar

Tabel 3.1. Format Tabel Simpleks
Tabel 4.1.Keuntungan Tiap Produk Bulan Januari 2013 hingga Juni 2013
Tabel 4.2. Jumlah Persediaan Bahan Baku Bulan Januari 2013 hingga Juni
Tabel 4.4. Jumlah Permintaan Pasar Bulan Januari 2013 hingga Juni 2013
+3

Referensi

Dokumen terkait

Masalah program integer tersebut akan diselesaikan dengan metode branch and bound yang terlebih dahulu menghitung nilai variabel keputusan dengan menggunakan metode

Tujuan dari penelitian ini adalah untuk menentukan nilai optimal dari suaiu fungsi objektif dalam progmm linieryang variabel keputusannyabemilai mised integer. dengan

Dengan demikian, metode Branch and Bound lebih efektif dibandingkan dengan metode Gomory dalam menentukan jumlah produksi yang optimal, karena hasil yang

Metode Branch and Bound sering digunakan untuk menyelesaikan su- atu permasalahan program integer karena hasil yang diperoleh dalam pe- nyelesaian optimal lebih teliti dan lebih

Algoritma branch and bound membatasi penyelesaian optimal yang akan menghasilkan bilangan pecahan dengan cara membuat cabang atas dan bawah bagi masing-masing

dengan pemrograman linear adalah Branch and Bound Algorithm dapat digunakan dalam menyelesaikan kasus optimalisasi dengan nilai variabel optimal harus berupa bilangan

Penyelesaian layak adalah suatu solusi untuk semua kendala dipenuhi, sehingga titik ekstrim akan menunjukkan titik-titik yang dapat menghasilkan nilai fungsi tujuan

Karena nilai solusi dari sub-masalah 1 dan sub-masalah 2 tidak lebih besar dari nilai batas atas dan tidak lebih kecil dari nilai batas bawah, serta nilai variabel