Penerapan Metode Branch and Bound dalam Menentukan Jumlah Produksi Optimum pada CV. Keris Sakti
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)
Lampiran 2. Percabangan Metode Branch and Bound.
x1≤1583 x1≥1584
Iterasi 002
z = 53278000
x1=1583;x2=900;x3=1245,75;x4=875
Iterasi 023
z = 53278670
x1=1584;x2=900;x3=1245;x4=874,67
x1≥1583
x4≤874
x3≤1246 x3≥1247 x4≥875
Iterasi 001
z = 53278750
x1=1583,75;x2=900;x3=1245;x4=875
x4≤874
x3≤1245 x3≥1246 x4≥875
x1≤1582
Iterasi 024
z = 53278500
x1=1584,5;x2=900;x3=1245;x4=874
Iterasi 049
z = 53278670
x1=1584;x2=899,67;x3=1245;x4=875 Iterasi 003
z = 53269000
x1=1583;x2=900;x3=1245;x4=875
Iterasi 004
z = 53277750
x1=1582,75;x2=900;x3=1246;x4=875
Iterasi 005
z = 53277000
x1=1582;x2=900;x3=1246,75;x4=875
Iterasi 065
z = 53277670
x1=1583;x2=900;x3=1246;x4=874,67
Iterasi 006 z = 53268000
x1=1582;x2=900;x3=1246;x4=875
Iterasi 007
z = 53276750
x1=1581,75;x2=900;x3=1247;x4=875
Iterasi 066
z = 53277000
x1=1583;x2=900;x3=1246,5;x4=874
Iterasi 077
z = 53277670
(16)
x1≤1579 x 1≥1580 x1≤1581
Iterasi 008
z = 53273000
x1=1581;x2=900;x3=1247,75;x4=875
Iterasi 086
z = 53276670
x1=1582;x2=900;x3=1247;x4=874,67
x4≥875 x4≤874
x3≥1248 x3≤1247
Iterasi 009 z = 53267000
x1=1581;x2=900;x3=1247;x4=875
Iterasi 010
z = 53275750
x1=1580,75;x2=900;x3=1248;x4=875
Iterasi 087
z = 53276000
x1=1582;x2=900;x3=1247,5;x4=874
Iterasi 097
z = 53276670
x1=1582;x2=899,67;x3=1247;x4=875
x4≥875 x4≤874
x3≥1249 x3≤1248
x1≤1580 x1≥1581
Iterasi 011
z = 53275000
x1=1580;x2=900;x3=1248,75;x4=875
Iterasi 106
z = 53275670
x1=1581;x2=900;x3=1248;x4=874,67
Iterasi 012 z = 53266000
x1=1580;x2=900;x3=1248;x4=875
Iterasi 013
z = 53274750
x1=1579,75;x2=900;x3=1249;x4=875
Iterasi 107
z = 53275000
x1=1581;x2=900;x3=1248,5;x4=874
Iterasi 118
z = 53275670
x1=1581;x2=899,67;x3=1248;x4=875
Iterasi 014
z = 53274000
x1=1579;x2=900;x3=1249,75;x4=875
Iterasi 127
z = 53274670
(17)
Iterasi 014 Iterasi 127 x3≥1250
x3≤1249 Iterasi 015 z = 53265000
x1=1579;x2=900;x3=1249;x4=875
Iterasi 016
z = 53273750
x1=1578,75;x2=900;x3=1250;x4=875
x4≥875 x4≤874
Iterasi 128
No Feasible Solution
Iterasi 129
No Feasible Solution
x1≥1579 x1≤1578
Iterasi 017 z = 53264000
x1=1578;x2=900;x3=1250;x4=875
Iterasi 018
z = 53273670
x1=1579;x2=900;x3=1250;x4=874,67 x4≥ 875 x4≤ 874
Iterasi 019 z = 53267000
x1=1579;x2=900;x3=1250;x4=874
Iterasi 020
z = 53273670
x1=1579;x2=899,67;x3=1250;x4=875 x2 ≥ 900 x2 ≤ 899
Iterasi 021 z = 53267000
x1=1579;x2=899;x3=1250;x4=875
Iterasi 022
(18)
x2≥900 x2≤899
x3≥1247 x3≤1246
x4≤873 x
4≥874
x4≥875 x4≤874
x3≥1246 x3≤1245
Iterasi 026 z = 53272000
x1=1584;x2=900;x3=1245;x4=874
Iterasi 027
z = 53277330
x1=1584;x2=900;x3=1246;x4=873,33
Iterasi 037
z = 53278250
x1=1585,25;x2=900;x3=1245;x4=873
Iterasi 042
z = 53278330
x1=1585;x2=899,33;x3=1245;x4=874
Iterasi 028
z = 53277000
x1=1584;x2=900;x3=1246,25;x4=873
Iterasi 031
z = 53277330
x1=1584;x2=899,33;x3=1246;x4=874
Iterasi 029 z = 53274000
x1=1584;x2=900;x3=1246;x4=873
Iterasi 030 z = 53276000
x1=1584;x2=900;x3=1247;x4=872
Iterasi 032
z = 53277000
x1=1584;x2=899;x3=1246,25;x4=874
Iterasi 035
No Feasible Solution
x1≤1584 x
1≥1585
Iterasi 025
z = 53278000
x1=1584;x2=900;x3=1245,75;x4=874
Iterasi 036
z = 53278330
x1=1585;x2=900;x3=1245;x4=873,33
x3≥1247 x3≤1246
Iterasi 033 z = 53274000
x1=1584;x2=899;x3=1246;x4=874
Iterasi 034 z = 53276000
(19)
Iterasi 037 Iterasi 042
Iterasi 049
x1≥1586 x1≤1585
x3≥1246 x3≤1245
x4≥875 x4≤874
x1≥1586 x1≤1585
Iterasi 038
z = 53278000
x1=1585;x2=900;x3=1245,25;x4=873
Iterasi 041 z = 53278000
x1=1586;x2=900;x3=1245;x4=872
Iterasi 043
z = 53278250
x1=1585,25;x2=899;x3=1245;x4=874
Iterasi 048
No Feasible Solution
Iterasi 039 z = 53275000
x1=1585;x2=900;x3=1245;x4=873
Iterasi 040 z = 53277000
x1=1585;x2=900;x3=1246;x4=872
Iterasi 044
z = 53278000
x1=1585;x2=899;x3=1245,25;x4=874
Iterasi 047 z = 53278000
x1=1586;x2=898;x3=1245;x4=874
x3≥1246 x3≤1245
Iterasi 045 z = 53275000
x1=1585;x2=899;x3=1245;x4=874
Iterasi 046 z = 53277000
x1=1585;x2=898;x3=1245;x4=874
x2≥900 x2≤899
Iterasi 050
z = 53278500
x1=1584,5;x2=899;x3=1245;x4=875
Iterasi 065
(20)
x1≥1586 x1≤1585
x3≥1246 x3≤1245
x3≥1247 x3≤1246
x2≥899 x2≤898
x2≥899 x2≤898
x3≥1246 x3≤1245
x1≤1584 x
1≥1585
Iterasi 051
z = 53278000
x1=1584;x2=899;x3=1245,5;x4=875
Iterasi 058
z = 53278330
x1=1585;x2=898,33;x3=1245;x4=875
Iterasi 052 z = 53272000
x1=1584;x2=899;x3=1245;x4=875
Iterasi 053
z = 53277330
x1=1584;x2=898,33;x3=1246;x4=875
Iterasi 059
z = 53278250
x1=1585,25;x2=898;x3=1245;x4=875
Iterasi 064
No Feasible Solution
Iterasi 055 z = 53274000
x1=1584;x2=898;x3=1246;x4=875
Iterasi 056 z = 53276000
x1=1584;x2=897;x3=1247;x4=875
Iterasi 061 z = 53275000
x1=1585;x2=898;x3=1245;x4=875
Iterasi 062 z = 53277000
x1=1585;x2=897;x3=1246;x4=875
Iterasi 054
z = 53277000
x1=1584;x2=898;x3=1246,25;x4=875
Iterasi 057
No Feasible Solution
Iterasi 060
z = 53278000
x1=1585;x2=898;x3=1245,25;x4=875
Iterasi 063 z = 53278000
(21)
Iterasi 066
x3≥1248 x3≥1247
x3≥1248 x4≥874
x2≥900 x2≤899
x3≤1247 x3≤1247
x4≤873 x3≤1246
Iterasi 069
z = 53276000
x1=1583;x2=900;x3=1247,25;x4=873
Iterasi 072
z = 53276330
x1=1583;x2=899,33;x3=1247;x4=874
Iterasi 070 z = 53273000
x1=1583;x2=900;x3=1247;x4=873
Iterasi 071 z = 53275000
x1=1583;x2=900;x3=1248;x4=872
Iterasi 073
z = 53276000
x1=1583;x2=899;x3=1247,25;x4=874
Iterasi 076
No Feasible Solution Iterasi 067
z = 53271000
x1=1583;x2=900;x3=1246;x4=874
Iterasi 068
z = 53276330
x1=1583;x2=900;x3=1247;x4=873,33
Iterasi 074 z = 53273000
x1=1583;x2=899;x3=1247;x4=874
Iterasi 075 z = 53275000 x1=1583;x2=898;x3=1248;x4=874
(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)
Iterasi 087
x3≥1249 x3≥1248
x3≥1249 x4≥874
x2≥900 x2≤899
x3≤1248 x3≤1248
x4≤873 x3≤1247
Iterasi 090
z = 53275000
x1=1582;x2=900;x3=1248,25;x4=873
Iterasi 093
z = 53275330
x1=1582;x2=899,33;x3=1248;x4=874
Iterasi 091 z = 53272000
x1=1582;x2=900;x3=1248;x4=873
Iterasi 092 z = 53274000
x1=1582;x2=900;x3=1249;x4=872
Iterasi 094
z = 53275000
x1=1582;x2=899;x3=1248,25;x4=874
Iterasi 076
No Feasible Solution Iterasi 088
z = 53270000
x1=1582;x2=900;x3=1247;x4=874
Iterasi 089
z = 53275330
x1=1582;x2=900;x3=1248;x4=873,33
Iterasi 095 z = 53272000
x1=1582;x2=899;x3=1248;x4=874
Iterasi 096 z = 53274000
(24)
x2≥900 x2≤899
x2≥899 x2≤898
x3≥1249 x3≤1248
x3≥1248 x3≤1247
Iterasi 098
z = 53276000
x1=1582;x2=899;x3=1247,5;x4=875
Iterasi 105
No Feasible Solution
Iterasi 099 z = 53270000
x1=1582;x2=899;x3=1247;x4=875
Iterasi 100
z = 53275330
x1=1582;x2=898,33;x3=1248;x4=875
Iterasi 101
z = 53275000
x1=1582;x2=898;x3=1248,25;x4=875
Iterasi 104
No Feasible Solution
Iterasi 102 z = 53272000
x1=1582;x2=898;x3=1248;x4=875
Iterasi 103 z = 53271000
(25)
Iterasi 107
x3≥1250 x3≥1249
x3≥1250 x4≥874
x2≥900 x2≤899
x3≤1249 x3≤1249
x4≤873 x3≤1248
Iterasi 110
z = 53274000
x1=1581;x2=900;x3=1249,25;x4=873
Iterasi 113
z = 53274330
x1=1581;x2=899,33;x3=1249;x4=874
Iterasi 111 z = 53271000
x1=1581;x2=900;x3=1249;x4=873
Iterasi 112 z = 53273000
x1=1581;x2=900;x3=1250;x4=872
Iterasi 114
z = 53274000
x1=1581;x2=899;x3=1249,25;x4=874
Iterasi 117
No Feasible Solution Iterasi 108
z = 53269000
x1=1581;x2=900;x3=1248;x4=874
Iterasi 109
z = 53274330
x1=1581;x2=900;x3=1249;x4=873,33
Iterasi 115 z = 53271000
x1=1581;x2=899;x3=1249;x4=874
Iterasi 116 z = 53273000 x1=1581;x2=898;x3=1250;x4=874
(26)
≥900 ≤899
x2≥899 x2≤898
x3≥1250 x3≤1249
x3≥1249 x3≤1248
Iterasi 119
z = 53275000
x1=1581;x2=899;x3=1248,5;x4=875
Iterasi 126
No Feasible Solution
Iterasi 120 z = 53269000
x1=1581;x2=899;x3=1248;x4=875
Iterasi 121
z = 53274330
x1=1581;x2=898,33;x3=1249;x4=875
Iterasi 122
z = 53274000
x1=1581;x2=898;x3=1249,25;x4=875
Iterasi 125
No Feasible Solution
Iterasi 123 z = 53271000
x1=1581;x2=898;x3=1249;x4=875
Iterasi 124 z = 53270000
(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.
Winston, W.L. 2004. Operation Research Applications and Algorthms. 4th edition. Duxbury, New York.
(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
Untuk menyusun rumusan program linier ke dalam model matematika simpleks, kita harus mengubah bentuk tanda ketidaksamaan kendala ke dalam bentuk tanda sama dengan (=) agar persamaan kendala dalam keadaan seimbang (untuk
(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
Ada beberapa macam format tabel simpleks dewasa ini. Salah satu format yang akan penulis gunakan dapat dilihat pada Tabel 3.1.
(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)
Untuk menentukan variabel yang mana akan masuk dalam pertimbangan untuk diproses pada iterasi berikutnya adalah variabel keputusan (variabel non-basis) yang mempunyai nilai Zj - Cj positif terbesar. Mengapa harus variabel non-basis? Alasannya ialah bahwa variabel s1, s2, dan s3 telah masuk dalam proses iterasi sebelumnya. Mengapa harus nilai Zj - Cj positif terbesar? Karena variabel
(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:
∑ (≥, =, ≤) bi; i = 1, 2, …, m xj ≥ 0 semua bilangan cacah, j = 1, 2, …, n
(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
Gagasan yang umum digunakan metode Branch and Bound dalam program integer dapat diuraikan sebagai berikut.
(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:
(i) Maksimumkan z = c.x kendala (ii) Maksimumkan z = c.x kendala
(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.
2. Teliti solusi optimumnya. Apabila variabel keputusan yang diharapkan merupakan bilangan integer, maka solusi optimum integer telah tercapai. Apabila satu atau lebih variabel keputusan yang diharapkan ternyata bukan bilangan integer, lanjutkan ke langkah 3.
(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.
Hal di atas mengarah pada pengembangan sebuah prosedur di mana kita tidak perlu memecahkan semua bagian masalah dari pohon pencabangan tersebut.
(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.
Walaupun metode Branch and Bound memiliki kekurangan, dapat dikatakan bahwa sampai sekarang, ini adalah metode yang paling efektif dalam memecahkan program-program integer dengan ukuran praktis. Pada kenyataannya, semua program komersial yang tersedia didasari oleh metode Branch and Bound. Tetapi, ini tidak berarti bahwa setiap program integer dapat dipecahkan dengan metode Branch and Bound. Ini hanya berarti bahwa ketika pilihannya adalah metode pemotongan dan metode Branch and Bound, metode terakhir ini umumnya terbukti lebih baik (Taha, 1996).
(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
Jumlah persediaan bahan baku yang diambil adalah rata-rata dari jumlah bahan baku yang tersedia pada bulan Januari 2013 hingga Juni 2013. Jumlah persediaan bahan baku pada bulan Januari 2013 hingga Juni 2013 dapat dilihat pada Tabel 4.2 dan banyaknya kain yang dibutuhkan dalam membuat celana dapat dilihat pada Tabel 4.3.
(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
Data jumlah pemintaan celana pada bulan Januari 2013 hingga Juni 2013 dapat dilihat pada Tabel 4.4.
(41)
Tabel 4.4. Jumlah Permintaan Pasar Bulan Januari 2013 hingga Juni 2013 Bulan Celana
panjang pria
Celana panjang wanita
Celana pendek pria
Celana pendek wanita
Januari 1.470 850 1.050 750
Februari 1.450 875 1.175 875
Maret 1.195 900 1.000 630
April 1.375 770 970 790
Mei 1.560 820 1.250 860
Juni 1.600 610 880 775
Dari data pada Tabel 4.4 di atas, data yang diambil sebagai kendala adalah 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
Fungsi tujuan yang dimaksimalkan adalah laba dari penjualan tiap produk. Koefisien dari variabel keputusan merupakan keuntungan dari tiap-tiap produk. Dengan demikian, fungsi tujuan untuk memaksimalkan atau mengoptimalkan jumlah produksi celana dapat dirumuskan sebagai berikut:
(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
x2 ≥ 850 x3 ≥ 1.245 x4 ≥ 800
(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.
Adapun kelemahan dari metode Branch and Bound ini adalah prosedur dari metode ini sangat panjang karena metode ini mengharuskan pemecahan program linier yang lengkap pada setiap node. Dalam masalah yang besar, metode ini tidaklah efesien karena metode Branch and Bound hanya fokus pada solusi yang masih bernilai pecahan dan harus mencabangkan solusi yang masih bernilai pecahan ke dalam sub permasalahan baru sehingga akan sangat memakan waktu, terutama ketika satu-satunya informasi yang diperlukan di node tersebut adalah nilai tujuan optimumnya. Selain itu, jika diasumsikan terjadi perubahan harga pada produk selama masa perencanaan produksi, maka hasil dari metode Branch and Bound akan menjadi kurang optimal (Alannuariputri, 2013).
(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
Perlu diadakan penelitian lanjutan untuk mempersingkat prosedur metode Branch and Bound agar tidak terlalu panjang.
(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
Untuk menyusun rumusan program linier ke dalam model matematika simpleks, kita harus mengubah bentuk tanda ketidaksamaan kendala ke dalam bentuk tanda sama dengan (=) agar persamaan kendala dalam keadaan seimbang (untuk
(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
Ada beberapa macam format tabel simpleks dewasa ini. Salah satu format yang akan penulis gunakan dapat dilihat pada Tabel 3.1.
(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)
Untuk menentukan variabel yang mana akan masuk dalam pertimbangan untuk diproses pada iterasi berikutnya adalah variabel keputusan (variabel non-basis) yang mempunyai nilai Zj - Cj positif terbesar. Mengapa harus variabel non-basis? Alasannya ialah bahwa variabel s1, s2, dan s3 telah masuk dalam proses iterasi sebelumnya. Mengapa harus nilai Zj - Cj positif terbesar? Karena variabel
(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:
∑ (≥, =, ≤) bi; i = 1, 2, …, m xj ≥ 0 semua bilangan cacah, j = 1, 2, …, n
(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
Gagasan yang umum digunakan metode Branch and Bound dalam program integer dapat diuraikan sebagai berikut.
(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:
(i) Maksimumkan z = c.x kendala (ii) Maksimumkan z = c.x kendala
(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.
2. Teliti solusi optimumnya. Apabila variabel keputusan yang diharapkan merupakan bilangan integer, maka solusi optimum integer telah tercapai. Apabila satu atau lebih variabel keputusan yang diharapkan ternyata bukan bilangan integer, lanjutkan ke langkah 3.
(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.
Hal di atas mengarah pada pengembangan sebuah prosedur di mana kita tidak perlu memecahkan semua bagian masalah dari pohon pencabangan tersebut.
(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.
Walaupun metode Branch and Bound memiliki kekurangan, dapat dikatakan bahwa sampai sekarang, ini adalah metode yang paling efektif dalam memecahkan program-program integer dengan ukuran praktis. Pada kenyataannya, semua program komersial yang tersedia didasari oleh metode Branch and Bound. Tetapi, ini tidak berarti bahwa setiap program integer dapat dipecahkan dengan metode Branch and Bound. Ini hanya berarti bahwa ketika pilihannya adalah metode pemotongan dan metode Branch and Bound, metode terakhir ini umumnya terbukti lebih baik (Taha, 1996).
(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
Istilah produksi dan operasi sering digunakan dalam suatu organisasi yang menghasilkan keluaran (output), berupa barang maupun jasa. Secara umum produksi diartikan sebagai suatu kegiatan atau proses yang menstranformasikan masukan (input) menjadi hasil keluaran (output). Dalam pengertian yang bersifat umum ini penggunaannya cukup luas, sehingga mencakup keluaran (output) yang berupa barang atau jasa. Jadi dalam pengertian produksi dan operasi tercakup setiap proses yang mengubah masukan-masukan (inputs) dan menggunakan sumber-sumber daya untuk menghasilkan keluaran-keluaran (outputs), yang berupa barang-barang dan jasa-jasa. Dengan pengertian produksi dalam arti luas sebagai kegiatan yang mentransformasikan masukan (input) menjadi keluaran (output), tercakup semua aktivitas dan kegiatan yang menghasilkan barang dan jasa, serta kegiatan-kegiatan lain yang mendukung atau menunjang usaha untuk menghasilkan produk tersebut. Berdasarkan batasan ini, kegiatan produksi terdapat pada pabrik pengolahan atau manufacture, pertambangan, perhotelan,
(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:
∑ (≥, =, ≤) bi; i = 1, 2, …, m xj≥ 0 semua bilangan cacah, j = 1, 2, …, n
(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.
3. xj salah satu nol atau satu, problema disebut zero-one integer programming (Siagian, 2006).
(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
MEDAN
2014
(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
MEDAN 2014
(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,
Prof. Dr. Tulus, M.Si. Ph.D NIP. 196209011988031002
(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
ANGELINE 100803040
(1)
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
(2)
PENERAPAN METODE BRANCH AND BOUND DALAM MENENTUKAN JUMLAH PRODUKSI OPTIMUM
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.
(3)
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.
(4)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel ix
Daftar Lampiran x
Bab 1. Pendahuluan
1.1. Latar Belakang 1
1.2. Rumusan Masalah 2
1.3. Batasan Masalah 2
1.4. Tujuan Penelitian 2
1.5. Manfaat Penelitian 3
1.6. Lokasi Penelitian 3
1.7. Metodologi Penelitian 3
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
(5)
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
(6)
DAFTAR LAMPIRAN
Nomor Judul Halaman
Lamp
1. Perhitungan Awal Metode Simpleks 27