BAB 4 HASIL DAN PEMBAHASAN
4.1. Ekstraksi Hasil Pengumpulan Data 4.1.1. Data Waktu Siklus Waktu siklus adalah waktu yang dibutuhkan operator untuk melakukan pekerjaan dalam kondisi sewajarnya. Waktu siklus untuk proses pembuatan batako, paving block, maupun ubin di pabrik ubin BN diambil dengan melakukan pengamatan langsung pada lantai produksi di setiap stasiun kerja produk yang bersangkutan dengan menggunakan stopwatch. Jumlah pengamatan waktu siklus yang diambil sebanyak 30 data. Data yang diambil adalah data waktu siklus dalam membuat 1 buah produk. Data-data tersebut diambil pada jam-jam tertentu agar data waktu siklus mewakili seluruh kondisi kerja tenaga kerja sehari-hari. Data waktu siklus yang telah dikumpulkan dapat dilihat pada lampiran 4.
4.1.2. Data Kebutuhan Bahan Baku Dalam memproduksi batako, paving block, maupun ubin, pabrik ubin BN menggunakan 4 bahan baku yaitu semen, pasir, abu splitt, dan mill. Seluruh produk tersebut menggunakan ke-empat bahan baku tadi dengan komposisi yang berbeda-beda. Sifat dari bahan baku ini adalah berupa adonan dimana keempat bahan baku tersebut dicampur jadi satu kemudian diproses. Data komposisi
85 bahan baku dalam adonan untuk 1 m3 batako, paving block segitiga, paving block kotak, dan paving block segienam adalah sebagai berikut : Tabel 4.1. Tabel komposisi bahan baku dalam adonan untuk 1 m3 produk semen pasir abu splitt mill air
BTK 0.3 0.3 0.1 0.1 0.2
PB∆ 0.5 0.1 0.1 0.1 0.2
PB□ 0.5 0.1 0.1 0.1 0.2
PB.S6 0.5 0.1 0.1 0.1 0.2
U30 0.4 0.2 0.1 0.1 0.2
4.1.3. Data Kapasitas Produksi Kapasitas produksi dapat diartikan sebagai jumlah maksimum output yang dapat diproduksi dalam satuan waktu tertentu. Kapasitas produksi sangat ditentukan oleh banyaknya sumber daya yang dimiliki, yaitu jumlah mesin, jumlah tenaga kerja langsung, jumlah lini produksi dan jumlah bahan baku (komponen penyusun produk). Waktu kerja juga merupakan salah satu faktor penentu besarnya kapasitas produksi perusahaan. Proses pembuatan batako, paving block segitiga, paving block kotak, paving block segienam, dan ubin type 30 disini merupakan proses pencampuran adonan dan pencetakan dimana tidak terdapat sumber daya mesin yang digunakan secara langsung untuk memproses komponen-komponen produk. Jumlah lini produksi pada pabrik ubin BN adalah sebanyak lima lini dimana setiap produk memiliki masing-masing satu lini. Jumlah persediaan untuk bahan baku produk setiap bulannya dapat bervariasi tergantung dari target yang ingin dicapai pabrik. Ada jenis bahan baku yang bersifat terbatas persediannya, karena dibatasi oleh kemampuan produksi pabrik, kapasitas gudang, dan kemampuan dari supplier. Sedangkan bahan baku lain bisa
86 dikatakan tidak terbatas persediaannya karena pabrik menggolongkannya dalam overhead pabrik. Bahan baku tidak terbatas yang dimaksud adalah air, sedangkan bahan baku terbatas yang dimaksud adalah semen, pasir, abu splitt, dan mill. Daftar persediaan bahan baku terbatas untuk bulan Juni 2007 dapat dilihat pada tabel di bawah ini : Tabel 4.2. Data persediaan bahan baku terbatas pada bulan Juni 2007 semen pasir abu splitt mill
78 m3 72 m3 66 m3 69 m3
4.1.4. Data Penjualan Data penjualan produk diperoleh dari bagian sales pabrik. Data penjualan yang digunakan sebanyak 36 data penjualan bulanan yang diambil dari bulan Juni 2004 hingga bulan Mei 2007. Data ini akan digunakan sebagai data dalam penentuan target produksi yang akan dicari melalui metode peramalan. Data penjualan untuk masing-masing produk dapat dilihat pada tabel berikut :
87 Tabel 4.3. Data penjualan bulanan (satuan m3) no 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
tahun
2004
2005
2006
2007
bulan Juni Juli Agustus September Oktober November Desember Januari Februari Maret April Mei Juni Juli Agustus September Oktober November Desember Januari Februari Maret April Mei Juni Juli Agustus September Oktober November Desember Januari Februari Maret April Mei
BTK 31 34 18 30 29 45 54 53 57 32 38 37 32 30 29 23 30 36 43 34 38 21 29 27 24 21 29 27 24 44 51 26 29 21 33 26
PB∆ 22 17 22 21 27 59 63 33 27 24 28 34 40 33 26 26 21 47 50 28 30 30 32 36 38 25 21 28 24 56 61 24 29 27 26 32
PB□ 23 30 22 25 27 48 55 61 37 24 28 25 29 26 34 21 27 38 41 47 22 19 25 21 27 24 41 34 51 58 63 64 28 25 33 26
PB.S6 29 21 17 12 14 23 30 24 22 26 40 33 30 24 27 29 25 28 35 29 22 32 34 30 27 21 23 27 25 28 31 21 17 23 21 20
U30 27 22 16 21 25 21 34 22 22 23 30 28 24 30 23 24 34 28 32 23 26 29 38 28 24 29 21 23 24 33 36 23 29 32 40 33
88 4.1.5. Data Persediaan Barang Jadi Persediaan barang jadi adalah barang jadi yang merupakan sisa produksi periode sebelumnya yang belum terjual, yang akan dijual kembali pada periode penjualan berikutnya. Data persediaan barang jadi yang digunakan adalah data persediaan untuk bulan Juni 2007. Data persediaan tersebut dapat dilihat pada tabel berikut : Tabel 4.4. Persediaan barang jadi. BTK PB∆ PB□ PB.S6 U30
5 m3 7 m3 6 m3 9 m3 8 m3
4.1.6. Data Margin Keuntungan Dalam menentukan harga jual produk, pabrik menetapkan margin keuntungan yang didapat dari tiap produk. Data margin keuntungan ini yang nanti akan dimasukkan dalam fungsi tujuan dari model Linier Programming. Data margin keuntungan tiap produk dapat dilihat pada tabel berikut : Tabel 4.5. Margin keuntungan per m3 produk yang dijual BTK PB∆ PB□ PB.S6 U30
4.2.
Rp24,000 Rp26,800 Rp27,200 Rp27,400 Rp26,000
Pengolahan Data
4.2.1. Uji Keseragaman dan Kecukupan Data Data waktu siklus yang telah diperoleh melalui pengamatan akan diubah menjadi waktu baku. Untuk melakukan perhiungan waktu baku, terlebih dahulu
89 perlu dilakukan pengujian keseragaman data dan kecukupan data untuk mengetahui apakah data waktu yang diambil telah seragam dan cukup untuk mewakili populasi. Apabila ada data (subgrup) yang tidak seragam (keluar dari batas kendali), maka subgrup tersebut harus dikeluarkan dari perhitungan. Bila data waktu yang telah diambil seragam maka dapat dilakukan pengujian kecukupan data, bila hasilnya data belum cukup maka perlu dilakukan pengambilan waktu sekali lagi. Untuk pengujian kecukupan data diperlukan tingkat kepercayaan dan tingkat ketelitian, berdasarkan pengamatan dan brainstorming dengan pihak perusahaan maka digunakan tingkat kepercayaan (k) sebesar 95% dan tingkat ketelitian (s) sebesar 5%. Tabel perhitungan uji keseragaman data dan kecukupan data dapat dilihat pada lampiran 4. Langkah-langkah perhitungan uji keseragaman dan kecukupan data dapat dilihat pada contoh perhitungan pada stasiun kerja satu untuk produk batako berikut ini : a. Data waktu siklus Tabel 4.6. Waktu siklus stasuin kerja I produk batako Subgrup 1 2 3 4 5 6
1 121 117 121 131 123 125
Waktu (dalam detik) 2 3 4 125 129 113 125 123 133 120 120 119 118 119 130 124 130 125 121 130 121
b. Menghitung rata-rata untuk tiap subgrup Misalnya untuk subgrup pertama :
5 121 121 124 116 129 121
90
Xk =
∑X
=
i
n
121 + 125 + 129 + 113 + 121 609 = = 121,80 5 5
c. Menghitung X (rata-rata dari rata-rata tiap subgrup)
X =
∑X
k
k 121,80 + 123,80 + 120,80 + 122,80 + 126,20 + 123,60 = 6 739 = = 123,17 6 d. Menghitung standar deviasi dari waktu penyelesaian ( σ )
σ=
∑ (X
i
−X
N −1
)
2
=
∑ (121 − 123,17 )
2
+ ... + (121 − 123,17 )
30 − 1
2
= 4,87
e. Menghitung standar deviasi dari distribusi harga rata-rata subgrup ( σ X )
σX =
σ n
=
4,87 5
= 2,18
f. Menghitung Batas Kontrol Atas (BKA) dan Batas Kontrol Bawah (BKB) BKA = X + (Zσ X ) = 123,17 + (1,96 × 2,18) = 127,44 BKB = X + (Zσ X ) = 123,17 − (1,96 × 2,18) = 118,90 g. Nilai rata-rata untuk tiap subgrup harus berada di dalam batas kontrol. Apabila kondisi tersebut terpenuhi, maka dapat disimpulkan bahwa data seragam. Dari hasil perhitungan yang telah dilakukan dapat disimpulkan bahwa data pada stasiun kerja satu untuk produk batako adalah seragam karena tidak ada subgrup yang keluar dari batas kendali.
91 h. Menghitung junlah pengukuran yang dibutuhkan Untuk nilai Z didapat dengan melihat tabel kurva normal, yaitu :
Besar tingkat kepercayaan adalah 0,95. Nilai tersebut dapat dilihat pada tabel kurva normal di lampiran 1 untuk mendapatkan nilai Z yaitu sebesar 1,96. Menghitung N1 2 ⎡Z N ∑ Xi 2 − (∑ Xi ) 1 ⎢ s N = ⎢ ∑ Xi ⎢⎣
⎤ ⎥ ⎥ ⎥⎦
2
⎡1,96 2 ⎢ 0,05 30 × 455789 − (3695) 1 N =⎢ 3695 ⎢ ⎢⎣
⎤ ⎥ ⎥ ⎥ ⎥⎦
2
N 1 = 2,32 Kesimpulan : Karena jumlah pengukuran minimum (N1) = 2,32 lebih kecil daripada jumlah pengukuran pendahuluan (N) = 30, maka dapat disimpulkan bahwa data yang telah diukur pada stasiun kerja satu produk batako sudah cukup.
4.2.2. Perhitungan Waktu Baku
Setelah data waktu siklus memenuhi keseragaman data dan kecukupan data, maka selanjutnya dilakukan perhitungan waktu normal dan waktu baku untuk setiap tipe produk pada setiap stasiun kerja. Untuk menghitung waktu normal dan waktu baku tiap stasiun kerja diperlukan pemberian penyesuaian dan
92 kelonggaran supaya waktu yang diperoleh berasal dari kondisi dan cara kerja baku yang diselesaikan secara wajar. Setelah didapatkan waktu baku untuk membuat 1 buah produk, dihitung waktu baku untuk membuat 1 m3 produk dengan cara mengalikan waktu baku untuk membuat satu buah produk dengan jumlah produk dalam 1 m3. Jumlah produk dalam 1 m3 didapatkan dengan hasil dari brainstorming dengan manajer pabrik. Jumlah produk dalam 1 m3 bisa dilihat pada tabel berikut ini. Tabel 4.7. Jumlah produk dalam 1 m3 Produk BTK PB□ PB.S6 PB∆ U30
Jumlah 39 46 45 44 35
4.2.2.1.Penyesuaian
Metode yang digunakan dalam menentukan besarnya penyesuaian adalah metode Schumard. Metode ini dipilih karena di lantai produksi operator yang bekerja tidak membutuhkan skill tertentu, tingkat kesulitan pekerjaan rendah, dan tingkat ketelitian dalam bekerja juga tidak terlalu tinggi. Berdasarkan tabel penyesuaian Schumard, performa operator di lantai produksi adalah GOOD. Penilaian tersebut memberikan nilai 75 dan pekerja bekerja dengan normal memberikan nilai 60. Sehingga besar penyesuaian = 75/60 = 1,25. Uraian tabel penyesuaian dapat dilihat pada lampiran 3.
93 4.2.2.2.Kelonggaran
Besarnya setiap faktor kelonggaran ditentukan melalui pengamatan langsung pada lantai produksi dan melalui brainstorming dengan pihak perusahaan. Uraian tabel kelonggaran dapat dilihat pada lampiran 2.
4.2.2.3.Waktu Baku
Berdasarkan hasil perhitungan penyesuaian dan kelonggaran yang telah dilakukan sebelumnya, waktu baku dapat dihitung dengan menghitung waktu normal terlebih dahulu dimana waktu normal dapat diperoleh dengan mengalikan hasil perhitungan penyesuaian dengan waktu siklus. Bila waktu normal telah diperoleh maka waktu baku dapat dihitung dengan memberikan faktor kelonggaran pada waktu normal tersebut. Hasil perhitungan waktu baku untuk setiap tipe produk dapat dilihat pada lampiran 5. Berikut ini adalah contoh perhitungan waktu baku pada stasiun kerja satu untuk produk batako :
()
Waktu siklus = waktu rata-rata X = 123,17 detik. p = 1,25. Waktu normal (Wn) = Ws x p = 123,17 x 1,25 = 153,96 detik. Kelonggaran (a) = 17% Waktu baku (Wb) = Wn x (1+a) = 153,96 x (1+0,17) = 180,13 detik.
4.2.3. Perhitungan Jumlah Permintaan Produk
Perkiraan jumlah permintaan produk dapat dilakukan dengan peramalan. Dalam penentuan jumlah permintaan produk bahan bamgunan ini akan
94 digunakan dua metode peramalan untuk memperkirakan berapa besar jumlah permintaan pada periode mendatang. Sebelum melakukan peramalan, data penjualan diplot terlebih dahulu. Tujuannya adalah untuk mengetahui pola data yang terbentuk. Berdasarkan pola data yang terbentuk, dapat dipilih beberapa metode peramalan yang sesuai. Dari beberapa metode peramalan tersebut, dipilih metode peramalan terbaik berdasarkan statistik ketepatan peramalan (nilai kesalahan peramalan). Metode peramalan yang memiliki nilai kesalahan peramalan terkecil merupakan metode peramalan terbaik. Berdasarkan hasil perhitungan metode peramalan terbaik itulah perkiraan jumlah permintaan untuk periode mendatang diperoleh. Dua buah metode peramalan yang digunakan dalam perhitungan perkiraan jumlah permintaan ini adalah metode triple exponential smoothing dari Winter dan metode dekomposisi.
4.2.3.1.Peramalan Metode Triple Exponential Smoothing dari Winter
Peramalan permintaan dengan metode triple exponential smoothing dari Winter untuk setiap tipe produk. Permalan lengkap untuk tiap produk dapat dilihat pada lampiran 6. Berikut ini akan diberikan contoh perhitungan peramalan untuk produk batako.
95 Tabel 4.8. Peramalan Metode Triple Exponential Smoothing dari Winter produk batako L
α
β
γ
Xbar
12
0.1
0.9
0.1
32.92
Periode
Aktual
St
It
bt
1
31
0.94
2
34
1.03
3
18
0.55
4
30
0.91
5
29
0.88
6
45
1.37
7
54
1.64
8
53
1.61
9
57
1.73
10
32
0.97
11
38
1.15
12
37
13
32
32
0.97
-0.60
14
30
31.17
0.97
-0.62
15
29
32.79
0.85
16
23
31.68
17
30
31.50
18
36
19
abs Pet
m
Ft
et
abs et
et^2
Pet
-0.40
1
16.70
12.30
12.30
151.20
42.40
0.74
-0.47
1
29.53
-6.53
6.53
42.61
42.40 28.38
0.95
-0.44
1
27.50
2.50
2.50
6.25
8.33
30.59
1.20
-0.49
1
42.46
-6.46
6.46
41.74
43
29.71
1.47
-0.53
1
49.38
6.38
40.70
20
34
28.38
1.24
-0.61
1
46.99
12.99
168.83
21
38
27.19
1.43
-0.66
1
48.09
-6.38 12.99 10.09
10.09
101.87
22
21
26.03
0.82
-0.71
1
25.79
-4.79
4.79
22.92
8.33 17.95 14.84 38.22 26.56 22.80
23
29
25.30
1.15
-0.72
1
29.23
-0.23
0.23
0.05
-0.79
0.79
24
27
24.53
1.10
-0.72
1
27.63
-0.63
0.63
0.40
-2.35
2.35 3.57
1.12
28.38
17.95 14.84 38.22 26.56 22.80
25
24
23.89
1.00
-0.71
1
23.14
0.86
0.86
0.73
3.57
26
21
23.03
0.92
-0.73
1
22.48
-1.48
1.48
2.18
-7.04
7.04
27
29
23.48
1.20
-0.61
1
18.97
10.03
10.03
100.62
34.59
34.59
28
27
24.21
1.08
-0.48
1
17.03
9.97
9.97
99.44
36.93
36.93
29
24
23.90
1.00
-0.46
1
22.44
1.56
1.56
2.44
6.51
6.51
30
44
24.78
1.72
-0.33
1
28.04
15.96
15.96
254.85
36.28
36.28
31
51
25.48
1.95
-0.22
1
35.86
15.14
15.14
229.25
29.69
32
26
24.83
1.07
-0.27
1
31.30
-5.30
5.30
28.14
33
29
24.14
1.22
-0.31
1
35.16
-6.16
6.16
37.89
29.69 20.40 21.22
34
21
24.00
0.87
-0.29
1
19.62
1.38
1.38
1.92
6.59
6.59
20.40 21.22
35
33
24.21
1.34
-0.24
1
27.19
5.81
5.81
33.74
17.60
17.60
36
26
23.93
1.09
-0.24
1
26.44
-0.44
0.44
0.20
-1.70
1.70
1
23.71 14.03
137.00
1367.96
20.25
424.74
37 Σ MAE
MSE
SDE
MPE
MAPE
6.23
62.18
8.07
0.92
19.31
96 Contoh Perhitungan : S13 = X13 = 32 I 13 =
b13 =
X 13 X
32 = 0,97 32,92
=
1 [( X 13 − X 1 ) + ( X 14 − X 2 ) + ... + ( X 12+12 − X 12 )] = −0,60 L2
S14 = α
X 14 + (1 − α )(S13 + b13 ) I2
S14 = 0,1
30 + (1 − 0,1)(32 − 0,60) = 31,17 1,03
b14 = γ (S14 − S13 ) + (1 − γ )b13 b14 = 0,1(31,17 − 32 ) + (1 − 0,1) × (− 0,60 ) = −0,62
I 14 = β
X 14 30 + (1 − β )I 2 = 0,9 + (1 − 0,9 )1,03 = 0,97 S14 31,17
Periode ke 15 S15 = α
X 15 + (1 − α )(S14 + b14 ) I3
S15 = 0,1
29 + (1 − 0,1)(31,17 − 0,62 ) = 32,79 0,55
b15 = γ (S15 − S14 ) + (1 − γ )b14 b15 = 0,1(32,79 − 31,17 ) + (1 − 0,1) × (− 0,62) = −0,40 I 15 = β
X 15 29 + (1 − β )I 3 = 0,9 + (1 − 0,9 )0,55 = 0,85 S15 32,79
F15 = (S14 +b14 ×m )I 3 = (31,17 − (0,62 × 1))0,55 = 16,70
97 Statistik ketepatan peramalan : Nilai Tengah Galat Absolut (Mean Absolute Error)
MAE =
1 n 1 et = × 137 = 6,23 ∑ t =1 n 22
Nilai Tengah Galat Kuadrat (Mean Squarred Error)
MSE =
1 n 2 1 et = × 1367,96 = 62,18 ∑ t =1 n 22
Deviasi Standar Galat (Standard Deviation of Error) 1 n et 2 = ∑ t =1 n −1
SDE =
1 × 1367,96 = 8,07 22 − 1
Nilai Tengah Galat Persentase (Mean Percentage Error)
MPE =
1 n 1 PEt = × 20,25 = 0,92% ∑ t =1 n 22
Nilai Tengah Galat Persentase Absolute (Mean Absolute Percentage Error)
MAPE =
1 n 1 PEt = × 424,74 = 19,31% ∑ t =1 n 22
4.2.3.2.Peramalan Metode Dekomposisi
Permalan permintaan dengan metode dekomposisi untuk setiap produk dapat dilihat pada lampiran 7. Berikut ini akan diberikan contoh perhitungan peramalan untuk produk batako.
98 Tabel 4.9. Peramalan Metode Dekomposisi produk batako Seasonal Perio de (x)
x²
1
xy
31
0.81
31.00
34
0.75
18
0.89
30
Dema nd (y)
1
Juni
2
4
Juli
3
9
4
16
200 4
Agustu s Septe mber Oktobe r
25
Novem ber Desem ber
12 Month MovingTo tal
2 Year Moving Total
Cente red
0.79
54.00 120.0 0
36. 88 36. 62
32. 92 29. 00
0.85
145.0 0
36. 37
31. 09
36. 11 35. 85 35. 60 35. 34 35. 09 34. 83 34. 58 34. 32 34. 07
46. 55 49. 46 44. 07 47. 96 26. 41 33. 62 31. 89 27. 76 25. 48
38
459.00
919.00
38.29
0.99
0.97
460.00
911.00
37.96
0.97
0.92
Juni
32
451.00
891.00
37.13
0.86
0.81
Juli
30
440.00
861.00
35.88
0.84
0.75 0.89
435.0 0
33. 81
30. 18
33. 56 33. 30
26. 58 28. 47
64
9
14
81 10 0 12 1 14 4 16 9 19 6
15
22 5
Agustu s
17
25 6 28 9
Septe mber Oktobe r
18
32 4
Novem ber
19
36 1
Desem ber
20
40 0
Januari
21
44 1
Februa ri
38
355.00
710.00
29.58
22
48 4
Maret
21
355.00
714.00
23
52 9
April
29
359.00
712.00
24
57 6
25
62 5
16
30. 24 27. 77
37
8
200 5
68.00
37. 39 37. 13
Mei
49
13
Ft (TS )
April
36
12
Tre nd (T)
270.0 0 378.0 0 424.0 0 513.0 0 320.0 0 418.0 0 444.0 0 416.0 0 420.0 0
7
11
Seaso nal Index
29
6
10
Trend Ajuste d Index (S)
Bulan
5
Tah un
45
1.29
54
458.00
917.00
38.21
1.41
1.38
53
459.00
914.00
38.08
1.39
1.24
Januari Februa ri
57
455.00
921.00
38.38
1.49
1.36
Maret
32
466.00
925.00
38.54
0.83
0.75
Mei
29
421.00
823.00
34.29
0.85
23
402.00
793.00
33.04
0.70
0.79
30
391.00
773.00
32.21
0.93
0.85
368.0 0 510.0 0
1.29
648.0 0
33. 04
42. 60
1.38
817.0 0
32. 79
45. 23
1.24
680.0 0
32. 53
40. 27
1.28
1.36
798.0 0
32. 28
43. 80
29.75
0.71
0.75
462.0 0
32. 02
24. 10
29.67
0.98
0.97
667.0 0
31. 77
30. 66
0.92
648.0 0
31. 51
29. 06
0.81
600.0 0
31. 26
25. 28
546.0 0 783.0 0 756.0 0
31. 00 30. 75 30. 49
23. 19 27. 44 24. 15
1.38
696.0 0 1320. 00 1581. 00
30. 23 29. 98 29. 72
25. 85 38. 65 41. 00
29. 47
36. 48
36 43 34
27
382.00 372.00 364.00
353.00
754.00 736.00 719.00
714.00
31.42 30.67 29.96
29.75
1.15 1.40 1.13
0.91
200 6 Juni
24
361.00
730.00
30.42
0.79
67 6 72 9 78 4
Juli Agustu s Septe mber
31
84 1 90 0 96 1
Oktobe r Novem ber Desem ber
32
10 24
Januari
26
1.24
832.0 0
33
10 89
Februa ri
29
1.36
957.0 0
29. 21
39. 64
Maret
21
0.75
April
33
0.97
714.0 0 1155. 00
28. 96 28. 70
21. 79 27. 70
Mei
26
0.92
936.0 0
28. 45 28. 19 27. 94 27. 68
26. 23 22. 80 20. 89 24. 71
26 27 28 29 30
34 35 36 37 38 39
11 56 12 25 12 96 13 69 14 44 15 21
200 7
21
369.00
730.00
30.42
0.69
0.75
29
361.00
713.00
29.71
0.98
0.89
27
352.00
704.00
29.33
0.92
0.79
24
352.00
708.00
29.50
0.81
0.85
44
356.00
711.00
29.63
1.49
1.29
51
355.00
Juni
0.81
Juli Agustu s
0.75 0.89 1185
20930 .00
Err or 0.7 6 6.2 3 14. 92 1.0 0 2.0 9 1.5 5 4.5 4 8.9 3 9.0 4 5.5 9 4.3 8 5.1 1 4.2 4 4.5 2 1.1 8 3.5 8 1.5 3 6.6 0 2.2 3 6.2 7 5.8 0 3.1 0 1.6 6 2.0 6 1.2 8 2.1 9 1.5 6 2.8 5 1.8 5 5.3 5 10. 00 10. 48 10. 64 0.7 9 5.3 0 0.2 3
2.4 1
│et │
et2
0.76
0.57
6.23
38.77
14.9 2
222.4 9
1.00
0.99
2.09
4.37
PEt
0.79
0.63
5.30
28.08
0.23
0.05
2.4 4 18. 31 82. 87 3.3 2 7.2 1 3.4 4 8.4 1 16. 85 15. 85 17. 47 11. 53 13. 82 13. 24 15. 06 4.0 7 15. 55 5.1 0 18. 33 5.1 9 18. 45 15. 27 14. 77 5.7 2 7.6 3 5.3 5 10. 42 5.3 7 10. 56 7.7 0 12. 17 19. 61 40. 30 36. 70 3.7 8 16. 06 0.9 0
159. 43
1122. 18
98. 48
1.55
2.40
4.54
20.62
8.93
79.78
9.04
81.65
5.59
31.26
4.38
19.19
5.11
26.13
4.24
17.95
4.52
20.42
1.18
1.39
3.58
12.79
1.53
2.34
6.60
43.53
2.23
4.97
6.27
39.35
5.80
33.68
3.10
9.62
1.66
2.76
2.06
4.25
1.28
1.65
2.19
4.79
1.56
2.42
2.85
8.13
1.85
3.42
5.35 10.0 0
28.67
10.4 8
109.7 9
10.6 4
113.2 8
99.97
|PE|
2.44 18.3 1 82.8 7 3.32 7.21 3.44 8.41 16.8 5 15.8 5 17.4 7 11.5 3 13.8 2 13.2 4 15.0 6 4.07 15.5 5 5.10 18.3 3 5.19 18.4 5 15.2 7 14.7 7 5.72 7.63 5.35 10.4 2 5.37 10.5 6 7.70 12.1 7 19.6 1 40.3 0 36.7 0 3.78 16.0 6 0.90
508. 82
99 Contoh perhitungan : Perhitungan Index : Index = Jumlah total seasonal index bulan X / jumlah bulan X Multiplier = 12 / total index Adjusted index = Index x 12/sum Periode ke-7
Seasonal : 12 Month moving total = Demand1+Demand2+...+Demand12 = 31+34+18...+37 = 458 2 Year moving total = 12 Month moving totalx+12 Month moving totalx+1 = 458 + 459 = 917. Centered =
2Yearmovingtotalx 917 = = 38,21 24 24
Seasonalindex =
Demandx 54 = = 1,41 Centeredx 38,21
Adjusted index = 1,41 (diperoleh dari perhitungan index) Trend : xy = Periode x Demand = 7 x 54 = 378 b=
n∑ xy − ∑ x ∑ y n∑ x 2 − (∑ x )
b = −0,26
a = y − bx
2
100
a = 37,64 Trend (T) = a + bx = 37,64 + (-0,26 x 7) = 35,85 Ft = Trend x Adjusted index = 35,85 x 1,41 = 49,46
Statistik ketepatan Peramalan : Nilai Tengah Galat Absolut (Mean Absolute Error)
MAE = 4,43 Nilai Tengah Galat Kuadrat (Mean Squarred Error)
MSE = 31,17 Deviasi Standar Galat (Standard Deviation of Error)
SDE = 5,66 Nilai Tengah Galat Persentase (Mean Percentage Error)
MPE = −2,74% Nilai Tengah Galat Persentase Absolute (Mean Absolute Percentage Error)
MAPE = 14,13%
4.2.3.3.Jumlah Permintaan Produk
Berdasarkan hasil statistik ketepatan peramalan, dapat dilihat bahwa metode dekomposisi memberikan hasil yang lebih baik untuk seluruh produk dibandingkan dengan metode triple exponential smoothing dari Winter. Oleh karena itu, jumlah permintaan yang digunakan dalam perhitungan selanjutnya akan menggunakan hasil perhitungan dari peramalan dengan metode
101 dekomposisi. Perkiraan jumlah permintaan selama tiga bulan untuk seluruh produk dapat dilihat pada tabel berikut. Tabel 4.10. Perkiraan jumlah permintaan Bulan Juni Juli Agustus
Batako 22.80 20.89 24.71
Perkiraan jumlah permintaan PBS3 PBK PBS6 39.46 30.77 25.96 29.74 27.60 25.98 24.24 41.50 26.00
U30 27.92 34.53 25.80
4.2.4. Formulasi Model Optimalisasi
Dari data-data yang telah dikumpulkan dan berdasarkan perhitungan yang telah dilakukan, dibuat formulasi Integer Linear Programming untuk menentukan jumlah produksi optimal dari masing-masing tipe produk yang dapat memaksimumkan
laba
perusahaan.
Formulasi
model
Integer
Linear
Programming tersebut terdiri dari variabel keputusan, fungsi tujuan, dan fungsi pembatas. 4.2.4.1.Variabel Model
Model Integer Linear Programming untuk optimalisasi produksi terdiri dari beberapa variabel. Berikut ini adalah variabel-variabel yang digunakan dalam model Integer Linear Programming tersebut, yaitu: X = Produk yang dihasilkan perusahaan Z = Besarnya keuntungan yang dapat diperoleh perusahaan D = Besarnya permintaan untuk tiap produk di bulan bersangkutan S = Besarnya safety stock untuk tiap produk di bulan bersangkutan I = Besarnya persediaan barang jadi untuk tiap produk di bulan bersangkutan
102 4.2.4.2.Variabel Keputusan
Variabel keputusan yang diharapkan untuk menyelesaikan permasalahan adalah jumlah produksi optimal dari masing-masing tipe produk yang dihasilkan, yaitu : X1 = Jumlah produksi optimal batako X2 = Jumlah produksi optimal paving block segitiga X3 = Jumlah produksi optimal paving block kotak X4 = Jumlah produksi optimal paving block segienam X5 = Jumlah produksi optimal ubin type 30.
4.2.4.3.Fungsi Tujuan
Tujuan yang ingin dicapai dari permasalahan produksi pada pabrik ubin BN adalah pemaksimuman laba dari penjualan produk bahan bangunan dengan lima produknya yaitu batako, paving block segitiga, paving block kotak, paving block segienam, dan ubin type 30. Maka koefisien dari fungsi tujuan tersebut adalah : C1 = Keuntungan penjualan batako C2 = Keuntungan penjualan paving block segitiga C3 = Keuntungan penjualan paving block kotak C4 = Keuntungan penjualan paving block segienam C5 = Keuntungan penjualan ubin type 30 Dimana bentuk dari fungsi tujuannya adalah : Z = C1X1 + C2X2 + C3X3 + C4X4 + C5X5
103 4.2.4.4.Fungsi Pembatas
Dalam formulasi Integer Linear Programming terdapat fungsi pembatas. Fungsi pembatas adalah persamaan matematis yang akan membatasi solusi yang akan dihasilkan. Dalam permasalahan yang dihadapi perusahaan saat ini, pembatas yang dimiliki adalah dalam hal kapasitas produksi. Dimana pada fungsi pembatas tersebut terdiri dari ruas kiri dan ruas kanan pembatas. Ruas kiri dari fungsi pembatas terdiri dari : 1. Pemakaian waktu (jam tenaga kerja) untuk pembuatan 1 m3 batako, paving block segitiga, paving block kotak, paving block segienam, dan ubin type 30. 2. Komposisi bahan baku dalam 1 m3 batako, paving block segitiga, paving block kotak, paving block segienam, dan ubin type 30. 3. Jumlah produksi optimal untuk batako, paving block segitiga, paving block kotak, paving block segienam, dan ubin type 30. Sedangkan ruas kanan dari fungsi pembatas terdiri dari : 1. Kapasitas jam tenaga kerja, yaitu banyaknya waktu kerja tenaga kerja yang tersedia dalam satu bulan. 2. Jumlah stok bahan baku yang dimiliki perusahaan pada bulan yang bersangkutan. 3. Target produksi, yaitu jumlah batako, paving block segitiga, paving block kotak, paving block segienam, dan ubin type 30 yang ingin diproduksi supaya dapat memenuhi permintaan. a. Pembatas kapasitas jam tenaga kerja Ruas kiri pembatas produk didapatkan dengan menghitung waktu baku yang diperlukan untuk membuat 1 m3 produk. Sedangkan ruas kanan diperoleh
104 dari jumlah jam tenaga kerja yang tersedia dalam satu bulan. Jumlah ini diperoleh dari jumlah lini pabrik dikalikan dengan jumlah jam kerja yang tersedia dalam satu bulan. Jumlah jam kerja dalam satu bulan tergantung dari banyaknya hari kerja dalam satu bulan. Jumlah hari kerja dinotasikan dengan “Hk” sehingga pembatas kapasitas jam tenaga kerja bisa dirumuskan sebagai berikut : 7025,12 X1 + 8261,37 X2 + 8217,79 X3 + 8035,17 X4 + 6328,48 X5 ≤ jumlah lini produksi x jam kerja 7025,12 X1 + 8261,37 X2 + 8217,79 X3 + 8035,17 X4 + 6328,48 X5 ≤ 5 x 28800 detik x Hk 7025,12 X1 + 8261,37 X2 + 8217,79 X3 + 8035,17 X4 + 6328,48 X5 ≤ 144000 Hk b. Pembatas target produksi Target produksi yang ditetapkan perusahaan adalah jumlah permintaan yang diramalkan ditambah dengan safety stock kemudian dikurangi dengan persediaan barang jadi bulan yang bersangkutan. Maka fungsi pembatas target produksi adalah X1 ≤ D1 + S1 – I1 X2 ≤ D2 + S2 – I2 X3 ≤ D3 + S3 – I3 X4 ≤ D4 + S4 – I4 X5 ≤ D5 + S5 – I5
105 c. Pembatas bahan baku Ruas kiri pembatas diperoleh dari komposisi bahan baku yang dibutuhkan untuk membuat adonan untuk 1 m3 produk. Sedangkan ruas kanan diperoleh dari jumlah persediaan bahan baku pada bulan bersangkutan. Maka fungsi pembatas bahan baku adalah 0,3X1 + 0,5X2 + 0,5X3 + 0,5X4 + 0,4X5 ≤ 78 (semen) 0,3X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,2X5 ≤ 72 (pasir) 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 66 (abu splitt) 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 69 (mill)
4.2.5. Model Optimasi Jumlah Produksi
Dengan menggabungkan fungsi tujuan dan fungsi pembatas, maka bentuk dari model Integer Linear Programming untuk menentukan jumlah produksi optimal adalah : Maksimasi : Z = 24X1 + 26,8X2 + 27,2X3 + 27,4X4 + 26X5 Pembatas : 7025.12X1 + 8261.37X2 + 8217.79X3 + 8035.17X4 + 6328.48X5 ≤ 2880000 X1 ≤ 27,80 X2 ≤ 47,46 X3 ≤ 39,77 X4 ≤ 31,70 X5 ≤ 34,92 0,3X1 + 0,5X2 + 0,5X3 + 0,5X4 + 0,4X5 ≤ 78 0,3X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,2X5 ≤ 72
106 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 66 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 69 X1,X2,X3,X4,X5 >= 0
4.2.6. Perhitungan Optimasi Jumlah Produksi
Perhitungan optimasi jumlah produksi diawali dengan perhitungan linier
programming
dengan
metode
simpleks
kemudian
dilanjutkan
dengan
perhitungan integer linear programming dengan metode simpleks. Bentuk baku dari model optimasi jumlah produksi pada bulan Juni 2007 adalah Fungsi tujuan : Z - 24X1 - 26,8X2 - 27,2X3 - 27,4X4 - 26X5 - 0S1 - 0S2 - 0S3 - 0S4 - 0S5 - 0S6 - 0S7 - 0S8 - 0S9 - 0S10 = 0 Fungsi pembatas : 7025,12X1 - 8261,37X2 - 8217,79X3 - 8035,17X4 - 6328,48X5 + S1 = 2880000 X1 + S2 = 27,80 X2 + S3 = 47,46 X3 + S4 = 39,77 X4 + S5 = 31,70 X5 + S6 = 34,92 0,3X1 - 0,5X2 - 0,5X3 - 0,5X4 - 0,4X5 + S7 = 78 0,3X1 - 0,1X2 - 0,1X3 - 0,1X4 - 0,2X5 + S8 = 72 0,1X1 - 0,1X2 - 0,1X3 - 0,1X4 - 0,1X5 + S9 = 66 0,1X1 - 0,1X2 - 0,1X3 - 0,1X4 - 0,1X5 + S10 = 69
107
Tabel 4.11. Tabel simpleks awal Basis Z S1 S2 S3 S4 S5 S6 S7 S8 S9 S10
X1 -24.0 7025.12 1 0 0 0 0 0.3 0.3 0.1 0.1
X2 -26.8 8261.37 0 1 0 0 0 0.5 0.1 0.1 0.1
Keterangan : EV = Entering Variable LV = Leaving Variable
X3 -27.2 8217.79 0 0 1 0 0 0.5 0.1 0.1 0.1
X4 -27.4 8035.17 0 0 0 1 0 0.5 0.1 0.1 0.1 EV
X5 -26.0 6328.48 0 0 0 0 1 0.4 0.2 0.1 0.1
S1 0 1 0 0 0 0 0 0 0 0 0
S2 0 0 1 0 0 0 0 0 0 0 0
S3 0 0 0 1 0 0 0 0 0 0 0
S4 0 0 0 0 1 0 0 0 0 0 0
S5 0 0 0 0 0 1 0 0 0 0 0
S6 0 0 0 0 0 0 1 0 0 0 0
S7 0 0 0 0 0 0 0 1 0 0 0
S8 0 0 0 0 0 0 0 0 1 0 0
S9 0 0 0 0 0 0 0 0 0 1 0
108 Pertama kali dibandingkan terlebih dahulu nilai-nilai variabel non-basis (X1,X2,X3,X4,X5) yang paling negatif, nilai yang paling negatif adalah Entering Variable. Kemudian, dicari Leaving variable dengan membagi angka-angka pada kolom solusi dengan angka-angka pada kolom Entering Variable. Setelah itu, dibandingkan rasionya. Nilai rasio terkecil adalah Leaving Variable. Setelah itu, dilakukan perhitungan nilai-nilai dari elemen-elemen tabel untuk iterasi berikutnya. Pertama dicari terlebih dahulu persamaan pivotnya. Persamaan pivot didapat dari baris Leaving Variable dibagi dengan pivot point, yaitu nilai perpotongan antara Leaving Variable dengan Entering Variable. Untuk tabel simpleks awal di tabel 4.11. perhitungan persamaan pivotnya adalah sebagai berikut : Tabel 4.12. Perhitungan persamaan pivot Baris LV Dibagi dengan 1 Hasil
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
31.7
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
31.7
Untuk nilai-nilai elemen-elemen tabel baru dihitung dengan cara mengurangi nilai-nilai elemen-elemen tabel lama dengan hasil perkalian antara persamaan pivot dengan nilai elemen variabel pada kolom entering variable. Contoh perhitungan untuk variabel Z pada tabel simpleks awal.
109 Tabel 4.13. Contoh perhitungan nilai elemen-elemen variabel untuk tabel iterasi selanjutnya Nilai elemen Z di kolom entering variable pada tabel simpleks awal
-27
Nilai-nilai elemen Z pada tabel simpleks awal -24
-26.8
-27.2
-27.4
-26
0
0
0
0
0
0
0
0
0
0
0
Hasil perkalian persamaan pivot dengan nilai Z di kolom EV pada tabel ismpleks awal 0
0
0
-27.4
0
0
0
0
0
-27
0
0
0
0
0
-868.58
-26
0
0
0
0
27.4
0
0
0
0
0
868.58
Elemen Z tabel iterasi selanjutnya -24
-26.8
-27.2
0
Proses di atas terus berulang hingga dicapainya kondisi optimum. Yaitu nilai-nilai variabel non-basis pada tabel simpleks awal (X1,X2,X3,X4,X5) non negatif atau ≥ 0. Tabel – tabel iterasi selanjutnya secara lengkap dapat dilihat pada lampiran 8. Hasil dari perhitungan linier programming memberikan solusi : Tabel 4.14. Solusi linier programming Z X1 X2 X3 X4 X5
4495.53 15.22 47.46 39.77 31.70 34.92
Oleh karena solusi yang diberikan linier programming hasilnya belum bulat, maka perhitungan dilanjutkan ke integer programming dengan menggunakan metode branch and bound. Langkah-langkah metode branch and bound adalah sebagai berikut : 1. Masalah awal diselesaikan dengan LP. Jika hasilnya memenuhi batasan integer, selesai. Jika tidak, nilai ini memberikan batas atas awal.
110 2. Temukan semua solusi fisibel yang memenuhi batasan integer untuk digunakan seabagai batas bawah. Biasanya, pembulatan ke bawah setiap variabel akan memenuhi point ini. 3. Buat cabang dari salah satu variabel yang tidak memiliki nilai integer. Bagi masalah menjadi 2 submasalah berdasarkan nilai integer yang diperoleh dari pembulatan ke atas dan ke bawah dari nilai non integer. Contohnya : jika X2 = 3,75 adalah solusi akhir LP, buat batasan X2 ≥ 4 dalam submasalah pertama dan X2 ≤ 3 pada submasalah kedua. 4. Buat node pada percabangan baru ini dengan memecahkan masalah baru. 5.
•
Jika cabang menghasilkan solusi masalah LP yang tidak fisibel, akhiri cabang ini.
•
Jika cabang menghasilkan solusi masalah LP yang fisibel, tetapi bukan solusi integer, lanjutkan ke langkah 6.
•
Jika cabang menghasilkan solusi integer yang fisibel, periksa nilai fungsi tujuan. Jika nilai ini sama dengan batas atas, solusi optimal telah dicapai. Jika tidak sama dengan batas atas, tetapi melebih batas bawah, jadikan nilai ini menjadi batas bawah baru dan lanjutkan ke langkah 6. Jika nilai ini lebih kecil dari batas bawah, akhiri cabang ini.
6. Periksa kedua cabang lagi dan tentukan batas atas sesuai dengan nilai maksimum dari fungsi tujuan dari semua node akhir. Jika batas atas sama dengan batas bawah, berhenti. Jika tidak kembali ke langkah 3.
111 Tabel perhitungan iterasi dan alur dari metode branch and bound dapat dilihat pada lampiran 9. Bentuk baku dari formulasi linier programming yaitu : Fungsi tujuan : Z - 24X1 - 26,8X2 - 27,2X3 - 27,4X4 - 26X5 - 0S1 - 0S2 - 0S3 - 0S4 - 0S5 - 0S6 - 0S7 - 0S8 - 0S9 - 0S10 = 0 Fungsi pembatas : 7025,12X1 - 8261,37X2 - 8217,79X3 - 8035,17X4 - 6328,48X5 + S1 = 2880000 X1 + S2 = 27,80 X2 + S3 = 47,46 X3 + S4 = 39,77 X4 + S5 = 31,70 X5 + S6 = 34,92 0,3X1 - 0,5X2 - 0,5X3 - 0,5X4 - 0,4X5 + S7 = 78 0,3X1 - 0,1X2 - 0,1X3 - 0,1X4 - 0,2X5 + S8 = 72 0,1X1 - 0,1X2 - 0,1X3 - 0,1X4 - 0,1X5 + S9 = 66 0,1X1 - 0,1X2 - 0,1X3 - 0,1X4 - 0,1X5 + S10 = 69 Kemudian, setelah melalui 5 iterasi, linier programming memberikan solusi yang dapat dilihat pada tabel 4.10. Solusi tersebut memberikan batas atas untuk algoritma branch and bound. Masalah kemudian dibagi menjadi 2 sub masalah yaitu sub masalah 1 dan sub masalah 2. Variabel dengan nilai solusi pecah terbesar dipilih untuk menjadi 2 kendala baru yang dibagi ke dalam sub masalah 1 dan sub masalah 2. Pada solusi tabel 4.10, variabel yang memiliki solusi pecah
112 terbesar yaitu variabel X2, sehingga dalam sub masalah 1 ditambahkan kendala X2 ≤ 47 dan dalam sub masalah 2 ditambahkan kendala X2 ≥ 48. 1. Formulasi sub masalah 1 : Maksimasi : Z = 24X1 + 26,8X2 + 27,2X3 + 27,4X4 + 26X5 Pembatas : 7025.12X1 + 8261.37X2 + 8217.79X3 + 8035.17X4 + 6328.48X5 ≤ 2880000 X1 ≤ 27,80 X2 ≤ 47,46 (berlebih) X3 ≤ 39,77 X4 ≤ 31,70 X5 ≤ 34,92 0,3X1 + 0,5X2 + 0,5X3 + 0,5X4 + 0,4X5 ≤ 78 0,3X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,2X5 ≤ 72 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 66 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 69 X2 ≤ 47 X1,X2,X3,X4,X5 ≥ 0 Tabel Iterasi dapat dilihat pada lampiran 9.
2. Formulasi sub masalah 2 : Maksimasi : Z = 24X1 + 26,8X2 + 27,2X3 + 27,4X4 + 26X5 Pembatas : 7025.12X1 + 8261.37X2 + 8217.79X3 + 8035.17X4 + 6328.48X5 ≤ 2880000 X1 ≤ 27,80
113 X2 ≤ 47,46 X3 ≤ 39,77 X4 ≤ 31,70 X5 ≤ 34,92 0,3X1 + 0,5X2 + 0,5X3 + 0,5X4 + 0,4X5 ≤ 78 0,3X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,2X5 ≤ 72 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 66 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 69 X2 ≥ 48 X1,X2,X3,X4,X5 ≥ 0 Sub masalah 2 tidak dapat memberikan solusi yang feasible karena terdapat 2 pembatas yang membuat formulasi ini tidak bisa menemukan solusi feasiblenya yaitu X2 ≥ 48 dan X2 ≤ 47,46. Sub masalah 1 memberikan hasil : Tabel 4.15. Tabel solusi sub masalah 1 pada algoritma branch and bound Variabel Z X1 X2 X3 X4 X5
Nilai 4501.60 15.99 47.00 39.77 31.70 34.92
Solusi dari sub masalah 1 memberikan hasil yang bulat untuk variabel X2, tetapi variabel lainnya belum bulat. Sehingga sub masalah 1 dicabangkan lagi menjadi sub masalah 3 dan 4 dengan menambahkan kendala baru yaitu X3 ≤ 39 untuk sub masalah 3 dan X3 ≥ 40 untuk sub masalah 4.
114
3. Formulasi sub masalah 3 Maksimasi : Z = 24X1 + 26,8X2 + 27,2X3 + 27,4X4 + 26X5 Pembatas : 7025.12X1 + 8261.37X2 + 8217.79X3 + 8035.17X4 + 6328.48X5 ≤ 2880000 X1 ≤ 27,80 X2 ≤ 47,46 (berlebih) X3 ≤ 39,77 (berlebih) X4 ≤ 31,70 X5 ≤ 34,92 0,3X1 + 0,5X2 + 0,5X3 + 0,5X4 + 0,4X5 ≤ 78 0,3X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,2X5 ≤ 72 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 66 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 69 X2 ≤ 47 X3 ≤ 39 X1,X2,X3,X4,X5 ≥ 0 Tabel iterasi dapat dilihat pada lampiran 9.
4. Formulasi sub masalah 4 Maksimasi : Z = 24X1 + 26,8X2 + 27,2X3 + 27,4X4 + 26X5 Pembatas : 7025.12X1 + 8261.37X2 + 8217.79X3 + 8035.17X4 + 6328.48X5 ≤ 2880000 X1 ≤ 27,80
115 X2 ≤ 47,46 (berlebih) X3 ≤ 39,77 X4 ≤ 31,70 X5 ≤ 34,92 0,3X1 + 0,5X2 + 0,5X3 + 0,5X4 + 0,4X5 ≤ 78 0,3X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,2X5 ≤ 72 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 66 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 69 X2 ≤ 47 X3 ≥ 40 X1,X2,X3,X4,X5 ≥ 0 Sub masalah 4 tidak dapat memberikan solusi yang feasible karena terdapat 2 pembatas yang membuat formulasi ini tidak bisa menemukan solusi feasiblenya yaitu X3 ≥ 40 dan X3 ≤ 39,77. Sub masalah 3 memberikan hasil : Tabel 4.16. Tabel solusi sub masalah 3 pada algoritma branch and bound Variabel Z X1 X2 X3 X4 X5
Nilai 4511.46 17.27 47.00 39.00 31.70 34.92
Solusi dari sub masalah 3 memberikan hasil yang bulat untuk variabel X2 dan X3, tetapi variabel lainnya belum bulat. Sehingga sub masalah 3
116 dicabangkan lagi menjadi sub masalah 5 dan 6 dengan menambahkan kendala baru yaitu X5 ≤ 34 untuk sub masalah 5 dan X5 ≥ 35 untuk sub masalah 6.
5. Formulasi sub masalah 5 : Maksimasi : Z = 24X1 + 26,8X2 + 27,2X3 + 27,4X4 + 26X5 Pembatas : 7025.12X1 + 8261.37X2 + 8217.79X3 + 8035.17X4 + 6328.48X5 ≤ 2880000 X1 ≤ 27,80 X2 ≤ 47,46 (berlebih) X3 ≤ 39,77 (berlebih) X4 ≤ 31,70 X5 ≤ 34,92 (berlebih) 0,3X1 + 0,5X2 + 0,5X3 + 0,5X4 + 0,4X5 ≤ 78 0,3X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,2X5 ≤ 72 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 66 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 69 X2 ≤ 47 X3 ≤ 39 X5 ≤ 34 X1,X2,X3,X4,X5 ≥ 0 Tabel iterasi dapat dilihat pada lampiran 9.
6. Formulasi sub masalah 6 : Maksimasi : Z = 24X1 + 26,8X2 + 27,2X3 + 27,4X4 + 26X5
117 Pembatas : 7025.12X1 + 8261.37X2 + 8217.79X3 + 8035.17X4 + 6328.48X5 ≤ 2880000 X1 ≤ 27,80 X2 ≤ 47,46 (berlebih) X3 ≤ 39,77 (berlebih) X4 ≤ 31,70 X5 ≤ 34,92 0,3X1 + 0,5X2 + 0,5X3 + 0,5X4 + 0,4X5 ≤ 78 0,3X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,2X5 ≤ 72 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 66 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 69 X2 ≤ 47 X3 ≤ 39 X5 ≥ 35 X1,X2,X3,X4,X5 ≥ 0 Sub masalah 6 tidak dapat memberikan solusi yang feasible karena terdapat 2 pembatas yang membuat formulasi ini tidak bisa menemukan solusi feasiblenya yaitu X5 ≥ 35 dan X5 ≤ 34,92. Sub masalah 5 memberikan hasil : Tabel 4.17. Tabel solusi sub masalah 5 pada algoritma branch and bound Variabel Z X1 X2 X3 X4 X5
Nilai 4516.98 18.50 47.00 39.00 31.70 34.00
118
Solusi dari sub masalah 5 memberikan hasil yang bulat untuk variabel X2, X5 dan X3, tetapi variabel lainnya belum bulat. Sehingga sub masalah 5 dicabangkan lagi menjadi sub masalah 7 dan 8 dengan menambahkan kendala baru yaitu X4 ≤ 31 untuk sub masalah 7 dan X4 ≥ 32 untuk sub masalah 8. 7. Formulasi sub masalah 7 : Maksimasi : Z = 24X1 + 26,8X2 + 27,2X3 + 27,4X4 + 26X5 Pembatas : 7025.12X1 + 8261.37X2 + 8217.79X3 + 8035.17X4 + 6328.48X5 ≤ 2880000 X1 ≤ 27,80 X2 ≤ 47,46 (berlebih) X3 ≤ 39,77 (berlebih) X4 ≤ 31,70 (berlebih) X5 ≤ 34,92 (berlebih) 0,3X1 + 0,5X2 + 0,5X3 + 0,5X4 + 0,4X5 ≤ 78 0,3X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,2X5 ≤ 72 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 66 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 69 X2 ≤ 47 X3 ≤ 39 X5 ≤ 34 X4 ≤ 31 X1,X2,X3,X4,X5 ≥ 0 Tabel iterasi dapat dilihat pada lampiran 9.
119 8. Formulasi sub masalah 8 : Maksimasi : Z = 24X1 + 26,8X2 + 27,2X3 + 27,4X4 + 26X5 Pembatas : 7025.12X1 + 8261.37X2 + 8217.79X3 + 8035.17X4 + 6328.48X5 ≤ 2880000 X1 ≤ 27,80 X2 ≤ 47,46 (berlebih) X3 ≤ 39,77 (berlebih) X4 ≤ 31,70 X5 ≤ 34,92 (berlebih) 0,3X1 + 0,5X2 + 0,5X3 + 0,5X4 + 0,4X5 ≤ 78 0,3X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,2X5 ≤ 72 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 66 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 69 X2 ≤ 47 X3 ≤ 39 X5 ≤ 34 X4 ≥ 32 X1,X2,X3,X4,X5 ≥ 0 Sub masalah 8 tidak dapat memberikan solusi yang feasible karena terdapat 2 pembatas yang membuat formulasi ini tidak bisa menemukan solusi feasiblenya yaitu X4 ≥ 32 dan X4 ≤ 31,70. Sub masalah 7 memberikan hasil :
120 Tabel 4.18. Tabel solusi sub masalah 7 pada algoritma branch and bound Variabel Z X1 X2 X3 X4 X5
Nilai 4525.80 19.67 47.00 39.00 31.00 34.00
Solusi dari sub masalah 7 memberikan hasil yang bulat untuk variabel X2, X5, X4 dan X3, tetapi variabel lainnya belum bulat. Sehingga sub masalah 7 dicabangkan lagi menjadi sub masalah 9 dan 10 dengan menambahkan kendala baru yaitu X1 ≤ 19 untuk sub masalah 9 dan X1 ≥ 20 untuk sub masalah 10.
9. Formulasi sub masalah 9 : Maksimasi : Z = 24X1 + 26,8X2 + 27,2X3 + 27,4X4 + 26X5 Pembatas : 7025.12X1 + 8261.37X2 + 8217.79X3 + 8035.17X4 + 6328.48X5 ≤ 2880000 X1 ≤ 27,80 (berlebih) X2 ≤ 47,46 (berlebih) X3 ≤ 39,77 (berlebih) X4 ≤ 31,70 (berlebih) X5 ≤ 34,92 (berlebih) 0,3X1 + 0,5X2 + 0,5X3 + 0,5X4 + 0,4X5 ≤ 78 0,3X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,2X5 ≤ 72 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 66 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 69
121 X2 ≤ 47 X3 ≤ 39 X5 ≤ 34 X4 ≤ 31 X1 ≤ 19 X1,X2,X3,X4,X5 ≥ 0 Tabel iterasi dapat dilihat pada lampiran 9.
10. Formulasi sub masalah 10 : Maksimasi : Z = 24X1 + 26,8X2 + 27,2X3 + 27,4X4 + 26X5 Pembatas : 7025.12X1 + 8261.37X2 + 8217.79X3 + 8035.17X4 + 6328.48X5 ≤ 2880000 X1 ≤ 27,80 X2 ≤ 47,46 (berlebih) X3 ≤ 39,77 (berlebih) X4 ≤ 31,70 (berlebih) X5 ≤ 34,92 (berlebih) 0,3X1 + 0,5X2 + 0,5X3 + 0,5X4 + 0,4X5 ≤ 78 0,3X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,2X5 ≤ 72 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 66 0,1X1 + 0,1X2 + 0,1X3 + 0,1X4 + 0,1X5 ≤ 69 X2 ≤ 47 X3 ≤ 39 X5 ≤ 34
122 X4 ≤ 31 X1 ≥ 20 X1,X2,X3,X4,X5 ≥ 0 Tabel iterasi dapat dilihat pada lampiran 9. Berdasarkan alur perhitungan branch and bound, ada dua solusi yang memenuhi syarat, yaitu sub masalah 9 dan sub masalah 10. Masalah 10 dipilih karena memberikan nilai Z yaitu berupa keuntungan optimal yang lebih besar dari sub masalah 9. Hasil perhitungan integer programming dengan metode branch and bound memberikan solusi : Tabel 4.19. Solusi branch and bound Variabel Z X1 X2 X3 X4 X5
4.3.
Nilai 4533.80 20.00 47.00 39.00 31.00 34.00
Analisa Data dan Pembahasan
4.3.1. Analisa Perhitungan Jumlah Permintaan Produk
Perhitungan jumlah permintaan produk yang dilakukan dengan mengunakan metode peramalan tidak boleh sembarangan dilakukan bila ingin memperoleh hasil yang mendekati kenyataan (akurat). Diperlukan data penjualan atau permintaan produk dalam jangka waktu yang mencukupi untuk melakukan perhitungan. Disini digunakan data penjualan perusahaan selama tiga tahun. Pertimbangan dengan mengambil data sebanyak 36 data penjualan adalah karena
123 semakin banyak data peramalan yang digunakan dalam perhitungan akan dapat semakin akurat hasil perhitungannya serta semakin banyak data peramalan yang digunakan akan memperjelas bentuk dari pola data. Data penjualan diplot ke dalam bentuk grafik untuk mempermudah dalam melihat pola pergerakan data. Dari pola data yang terbentuk dapat disimpulkan bahwa data penjualannya membentuk pola musiman karena terjadi perulangan kenaikan dan penurunan di bulan-bulan tertentu setiap tahunnya. Setelah menyimpulkan pola data yang terbentuk dipilih metode peramalan yang sesuai untuk menghasilkan hasil peramalan yang akurat. Oleh karena itu dipilih metode peramalan triple exponential smoothing dari Winter dan metode dekomposisi yang cocok untuk pola data musiman. Penentuan α,β,γ untuk peramalan metode
triple exponential smoothing dari Winter dilakukan dengan cara trial and error untuk mencari nilai terbaiknya. Hasil dari kedua permalan tersebut dibandingkan dengan melihat statistika ketepatan peramalannya, tujuannya adalah untuk menentukan nilai dari hasil permalan mana yang akan dimasukkan ke dalam formulasi integer linier
programming. Statistika ketepatan peramalan yang dibandingkan terdiri dari : 1. MAE (Mean Absolute Error) 2. MSE (Mean Squarred Error) 3. SDE (Standard Deviation of Error) 4. MPE (Mean Percentage Error) 5. MAPE (Mean Absolute Percentage Error) Setelah membandingkan statiska ketepatan peramalan di atas, nilai-nilai error yang terkecil dimiliki oleh metode dekomposisi sehingga hasil peramalan
124 metode dekomposisilah yang digunakan dalam formulasi integer linier
programming.
4.3.2. Analisa Perhitungan Jumlah Produksi dan Laba Optimal
Dengan memasukkan data-data pada bulan Juni 2007, dapat disusun formulasi linier programming untuk bulan Juni 2007. Formulasi ini kemudian dihitung dengan menggunakan metode simpleks. Metode simpleks dari linier
programming menghasilkan solusi optimal tetapi nilai-nilai dari variabelnya belum bulat. Sedangkan dalam penentuan jumlah produk, jumlah yang harus diproduksi membutuhkan nilai yang bulat. Pembulatan dari hasil perhitungan
linier programming belum tentu menghasilkan solusi yang optimal, apalagi margin keuntungan yang diberikan tiap produk cukup signifikan sehingga pmbulatan yang salah bisa mengakibatkan kerugian yang cukup berarti buat perusahaan. Oleh karena itu, proses perhitungan solusi optimal perlu dilanjutkan dengan integer linier programming dengan algoritma branch and bound. Algoritma ini membuat percabangan-percabangan dengan menambahkan nilai batasan baru dari variabel yang belum bulat. Nilai dari hasil perhitungan linier
programming sebelumnya tidak mungkin melebihi nilai optimum dari hasil perhitungan simpleks awal, sehingga nilai tersebut akan menjadi batas atas. Batas bawah ditentukan dengan melakukan round down untuk semua variabel yang tidak bulat. Kedua batas ini dibutuhkan dalam penentuan nilai optimal. Pemecahan sub-sub masalah dalam algoritma branch and bound diselesaikan dengan metode simpleks biasa.
125 Dilihat dari tabel solusi optimum, maka didapat : Jumlah keuntungan maksimal yang didapat oleh perusahaan pada bulan Juni 2007 (z) yaitu sebesar Rp 4.533.800,- dengan memproduksi secara optimal sejumlah : Batako 20 m3 Paving block segitiga 47 m3 Paving block kotak 39 m3 Paving block segienam 31 m3 Ubin type 30 34 m3
4.3.3. Analisa Pengaruh Perubahan Margin Laba Terhadap Solusi Optimal
Analisa sensitivitas bertujuan menganalisa perubahan-perubahan apa yang terjadi jika parameter-parameter dari solusi optimum diubah nilainya. Dalam kasus ini perusahaan ingin mengetahui apakah jumlah produksi optimal mereka akan berubah jika margin keuntungan mereka naikkan. Maka, analisa sensitivitas yang digunakan di sini yaitu dengan merubah koefisien fungsi tujuan apakah jumlah produk optimal akan berubah. Dalam analisa ini pabrik ingin mengetahui produk mereka yang memiliki margin keuntungan terbesar yaitu paving block segienam, apakah jumlah paving block segienam akan berubah jika mereka menaikkan lagi margin keuntungannya. Analisa sensitivitas perubahan koefisien fungsi tujuan dari tabel optimum menggunakan inner product rule (perhitungan inner product rule dapat dilihat pada lampiran 10) memberikan hasil :
126 X4 pada tabel solusi optimum memiliki nilai baru yaitu -2. Dengan menggunakan metode simpleks kemudian dihitung kembali solusi optimumnya. Dari hasil perhitungan tabel solusi optimum analisa sensitivitas (dapat dilihat pada lampiran 10) memberikan hasil bahwa jumlah produk optimal paving block segienam tidak berubah, yaitu tetap 31 dan keuntungan yang masksimal yang bisa didapat pabrik berubah dari 4533,80 menjadi 4595,80. Hasil analisa menunjukkan bahwa jika pabrik mengubah margin keuntungan mereka, hasil produksi optimal tidak akan berubah.
127 4.4. Analisa dan Perancangan Sistem Informasi 4.4.1. Analisa Sistem yang Sedang Berjalan Selama ini dalam perencanaan dan penjadwalan produksi, manajer pabrik ubin BN tidak memiliki penjadwalan yang terencana dengan baik. Produksi dilakukan setiap hari secara rutin. Aktivitas produksi dimulai dari staff sales yang menerima pesanan dari pengguna langsung maupun dari toko bangunan. Kemudian staff sales akan memberi informasi jumlah pesanan yang harus dipenuhi ke manajer pabrik. Kemudian manajer pabrik menghitung berapa jumlah barang yang harus diproduksi dalam satu periode tertentu dilihat dari jumlah stok di gudang dan berdasarkan memo yang diterima dari staff sales. Setelah dihitung, jika jumlah pesanan yang harus dipenuhi tidak bisa ditutupi dari jumlah stok yang tersedia di gudang maka manajer pabrik akan membuat memo yang ditujukan kepada staff produksi yang berisi jumlah barang yang harus diproduksi dengan catatan jumlah yang akan diproduksi itu akan dibuat lebih untuk menambah stok. Sedangkan jika jumlah pesanan yang harus dipenuhi bisa ditutupi dari jumlah stok yang ada, manajer pabrik akan melihat jumlah stok sisa. Jika jumlah stok sisa yang ada tipis, maka manajer pabrik akan membuat memo untuk memproduksi barang yang harus dibuat untuk stok. Jika jumlah stok masih banyak, maka manajer pabrik tetap membuat memo untuk staff produksi, dengan catatan jumlah yang diproduksi tidak sebanyak jika stok yang masih ada tipis. Jika tidak ada pesanan pada bulan yang bersangkutan, manajer pabrik tetap membuat memo untuk staff produksi yang berisi jumlah barang yang harus diproduksi untuk distok. Setiap periode, staff sales memberikan laporan penjualan kepada manajer pabrik ubin BN.
128 Berikut ini merupakan rich picture dari sistem yang sedang berjalan tersebut:
Gambar 4.1. Rich Picture dari sistem berjalan
4.4.2. Permasalahan Sistem yang Sedang Berjalan Setelah mengamati dan menganalisa sistem yang sedang berjalan, permasalahan pada sistem yang sedang berjalan yaitu : 1. Dalam perencanaan produksi sekarang, parameter perhitungan yang digunakan hanya memperhitungkan jumlah pesanan dan jumlah stok barang jadi di gudang, tidak memperhitungkan kemampuan pabrik dalam memproduksi sehingga dapat mengakibatkan terjadinya lost sales dan penumpukan barang jadi di gudang. 2. Perhitungan perencanaan produksi optimal dengan metode lama kurang menguntungkan perusahaan, karena tidak memperhitungkan keterbatasan sumber daya yang dimiliki perusahaan sehingga berpotensi mengakibatkan
129 tidak efektifnya penggunaan jam tenaga kerja dan tidak efisiennya penggunaan bahan baku. 3. Perusahaan belum memiliki sistem yang mampu menghitung jumlah produksi optimal yang mempertimbangkan keterbatasan sumber daya yang dimiliki perusahaan secara cepat, akurat, dan mudah digunakan.
4.4.3. Analisis Kebutuhan Informasi Dalam memecahkan masalah yang terdapat pada sistem yang sedang berjalan, informasi yang dibutuhkan yaitu : 1. Agar tidak terjadi lost sales dan penumpukan barang jadi di gudang, perusahaan perlu membuat target produksi. Informasi yang dibutuhkan dalam membuat target produksi yaitu data historis penjualan bulan-bulan sebelumnya, data safety stock, dan data inventory barang jadi. 2. Agar
keterbatasan
sumber
daya
yang
dimiliki
perusahaan
juga
diperhitungkan dalam perhitungan produksi optimal, maka informasi yang dibutuhkan yaitu data waktu baku pembuatan produk, data jumlah hari kerja karyawan dalam satu periode produksi, data komposisi bahan baku, dan data inventory bahan baku. 3. Untuk memenuhi kebutuhan informasi dalam sistem yang akan digunakan perusahaan,
informasi
yang
dibutuhkan
yaitu
informasi
parameter
perhitungan jumlah produksi optimal yang meliputi data historis penjualan bulan-bulan sebelumnya, data safety stock, data inventory barang jadi, data waktu baku pembuatan produk, data jumlah hari kerja karyawan dalam satu periode produksi, data komposisi bahan baku, dan data inventory bahan baku.
130 4.4.4. Sistem Usulan Berdasarkan penjelasan di atas, maka manajer pabrik, staff sales, dan staff produksi membutuhkan sistem yang dapat membantu dalam membuat perencanaan produksi yang optimal. Dengan adanya sistem ini diharapkan staff produksi, manajer pabrik, dan staff sales bisa bekerja secara sinergis dalam membuat perencanaan produksi yang optimal. Selain itu, dengan sistem ini diharapkan manajer pabrik bisa dengan cepat mengambil keputusan dalam menentukan berapa jumlah barang yang harus diproduksi setiap periodenya. Perancangan
sistem
usulan
yaitu
sistem
informasi
optimalisasi
perencanaan produksi. Sistem informasi yang diusulkan adalah sistem dengan menggunakan prinsip OOAD(Object-Oriented Analysis and Design).
4.4.5. Definisi Sistem Setiap transaksi penjualan yang terjadi akan di-input oleh staff sales ke dalam database. Data penjualan ini akan berguna untuk membuat peramalan selama beberapa periode ke depan. Staff produksi bertugas meng-input data inventory bahan baku dan data inventory produk. Manajer pabrik bertugas menginput data produk, data bahan baku, konfigurasi produksi optimal, dan membuat perhitungan produksi optimal. Dari peramalan dan data-data pendukung lainnya, manajer
pabrik
dapat
membuat
perencanaan
produksi
yang
optimal
menggunakan formulasi Integer Linear Programming yang telah terintegrasi dalam sebuah aplikasi. Tujuan dari membuat perencanaan yang optimal ini adalah untuk memaksimalkan keuntungan yang bisa didapat. Selain itu juga bertujuan untuk mengefektifkan pekerjaan para karyawan, mengefisiensikan
131 penggunaan bahan baku, dan meminimalisir pemborosan lahan pabrik yang terpakai untuk stok yang berlimpah. Sistem yang akan dikembangkan ini membutuhkan investasi hardware baru berupa 3 unit komputer yang akan dipakai oleh masing-masing 1 unit oleh manajer pabrik, sales, dan staff produksi dalam membantu pekerjaannya. Sistem ini selain berfungsi dalam membantu membuat perencanaan produksi yang optimal, juga berfungsi dalam menyimpan data penjualan, data bahan baku, data produk, data inventory bahan baku, data inventory produk, data konfigurasi produksi optimal, dan data jumlah produksi optimal. Selain menyimpan, sistem ini juga bisa berfungsi mencetak laporan yang dibutuhkan oleh manajer pabrik dalam memperoleh informasi yang dibutuhkan untuk mendukung pengambilan keputusan. Berikut ini merupakan rich picture dari sistem informasi usulan :
Staff produksi
Informasi Inventory Bahan Baku dan Inventory Produk
Informasi Produksi Optimal
Sales
Manajer pabrik
Informasi Penjualan
Gambar 4.2. Rich Picture Sistem Usulan
132 Tabel 4.20. FACTOR Criterion Sistem
berfungsi
manajer
pabrik
memudahkan dalam
kerja
melakukan
optimalisasi perencanaan produksi. Selain itu sistem juga bisa menyimpan data penjualan, data bahan baku, data produk, Functionality
data inventory bahan baku, data inventory produk, data konfigurasi produksi optimal, dan data jumlah produksi optimal. Sistem juga berfungsi mencetak report yang berguna
bagi
manajer
pabrik
dalam
mengambil keputusan. Sistem digunakan oleh manajer pabrik, Application Domain
staff sales, dan staff produksi pabrik ubin BN. Sistem ini harus dapat digunakan oleh
Condition
SDM yang ada sekarang dan mampu mengolah data secara real-time dan akurat. Sistem berupa program aplikasi yang dijalankan di 3 komputer dengan 1 server.
Technology
1 komputer client digunakan oleh manajer pabrik ubin BN, 1 komputer client digunakan oleh staff produksi dan 1 komputer client digunakan staff sales.
Object
Manajer pabrik, staff sales, dan staff produksi pabrik ubin BN. Sistem optimalisasi perencanaan produksi
Responsibility
terintegrasi
yang
bisa
memenuhi
kebutuhan operasional perusahaan dan mendukung pengambilan keputusan.
133 4.4.6. Perancangan
Sistem
Informasi
Dengan
Metode
Object
Oriented
Menggunakan UML (Unified Modelling Language) Setelah tahapan analisa di atas, selanjutnya adalah memulai perancangan sistem informasi yang dimulai dari tahapan analisa problem domain, dilanjutkan dengan analisa application domain, dan diakhiri dengan tahap design.
4.4.6.1.Analisa Problem Domain 4.4.6.1.1. Class Diagram Tabel 4.21. Event Table Class Events dihitung dicetak dibuat dijual disimpan dibeli dipakai dilaporkan didiskontinu dihabiskan Keterangan : + : Sekali * : Berulang
Produksi Optimal
Produk
Inventory bahan baku
Bahan Baku
Penjualan
Inventory Produk
+ + + + +
+ + *
* +
+ + + +
+ +
134 ProduksiOptimal
Produk
-KdProduksi : String -Tahun : String -Bulan : String -NamaProduk : String -JmlProduksiOptimal : Integer -MaxProfit : Integer
-KdProduk : String -NamaProduk : String -WaktuBaku : Integer -Harga : Integer -SafetyStock : Integer -Workstations : Integer
1
1..*
1
1..* Bahan_baku Inventory_bahan_baku
1..* 1
-JmlInventory : Integer
-KdBahanBaku : String -NmBahanBaku : String -Harga : Integer -Supplier : Integer
1
1
1..*
1..*
Penjualan -TglPenjualan : Date -JmlPenjualan : Integer
Inventory_produk -JmlInventory : Integer
Gambar 4.3 Class Diagram
4.4.6.1.2. Behavioral Pattern Agar bisa melihat lebih jelas event dan attribute yang ada pada tiap class, berikut ini adalah statechart diagram dari masing-masing class. 1. ProduksiOptimal
Gambar 4.4. statechart diagram dari class ProduksiOptimal Tabel 4.22. Event dan Attributes pada class ProduksiOptimal Events /dihitung /dicetak
Attributes JmlProduksiOptimal MaxProfit KdProduksi Tahun Bulan NamaProduk JmlProduksiOptimal MaxProfit
135
2. Produk
Gambar 4.5 statechart diagram dari class Produk Tabel 4.23. Event dan Attributes pada class Produk Events /dibuat
/disimpan /dijual
Attributes KdProduk NamaProduk WaktuBaku Harga SafetyStock Workstations SafetyStock NamaProduk Harga
3. Inventory_bahan_baku
Gambar 4.6. statechart diagram dari class Inventory_bahan_baku Tabel 4.24. Event dan Attributes pada class Inventory_bahan_baku Events /disimpan /dipakai /dihabiskan
Attributes NamaBahanBaku JmlInventory NamaBahanBaku JmlInventory NamaBahanBaku JmlInventory
136
4. Bahan_baku
Gambar 4.7 statechart diagram dari class Bahan_baku Tabel 4.25. Event dan Attributes pada class Bahan_baku Events /dibeli
/disimpan /dipakai
Attributes KdBahanBaku NamaBahanBaku Harga Supplier NamaBahanBaku NamaBahanBaku
5. Penjualan
Gambar 4.8. statechart diagram dari class Penjualan Tabel 4.26. Events dan Attributes pada class Penjualan Events /dibuat /dilaporkan
Attributes TglPenjualan JmlPenjualan
6. Inventory_produk
Gambar 4.9 statechart diagram dari class Inventory_produk
137 Tabel 4.27. Events dan Attributes pada class Inventory_produk Events /disimpan
/dijual /didiskontinu
Attributes NamaProduk Bulan Tahun JmlInventory NamaProduk JmlInventory NamaProduk JmlInventory
138 4.4.6.2.Analisa Application Domain 4.4.6.2.1. Usecase Diagram
Sistem Informasi Perencanaan Produksi Optimal
Mendata_inventory_p roduk
Staff Produksi
Mendata_inventory_b ahan_baku
Mendata_bahan_baku
Mendata_produk
Membuat_konfigurasi_p roduksi_optimal
Membuat_rencana_pro duksi_optimal
Mendata_penjualan
Sales
Gambar 4.10 Use case diagram
Manajer Pabrik
139 Tabel 4.28. Use case description Mendata_inventory_produk Use case Name Brief Description Primary Actor Basic Flow
Sub Flow
Alternative Flow Pre Condition Post Condition
Mendata_inventory_produk Use case ini menjelaskan proses memasukkan data inventory produk ke dalam database sistem Staff produksi 1. Use case dimulai ketika user ingin memasukkan data inventory produk yang baru ke dalam system 2. User akan menginput data inventory produk pada akhir bulan untuk lima produk 3. User yang akan menyimpan data inventory poduk yang baru harus mengisi field tahun terlebih dahulu kemudian mangisi field jumlah inventory yang telah disediakan lalu klik save. (Sub flow s.3) 4. User yang ingin melihat data-data inventory di bulan-bulan pada tahun-tahun sebelumnya bisa mengisi tahun yang dikehendaki di field yang sudah ada lalu klik find. 5. User yang ingin menghapus data inventory yang sudah ada dapat memilih data yang ingin dihapus kemudian meng-klik tombol delete. (Sub flow s.5) 6. User ingin mengulang proses input, dapat meng-klik tombol cancel (Sub flow s.6) 7. Data yang ada dalam system akan berubah 8. Use case selesai s.3. Menambah data inventory produk s.5. Menghapus data inventory produk yang sudah ada s.6. Field-field input yang ada kembali kosong Staff produksi sudah login ke dalam sistem Data inventory produk terupdate dan disimpan dalam sistem
140 Tabel 4.29. Use case description Mendata_inventory_bahan_baku Use case Name Brief Description Primary Actor Basic Flow
Sub Flow
Alternative Flow Pre Condition Post Condition
Mendata_inventory_raw_materials Use case ini menjelaskan proses memasukkan data inventory bahan baku ke dalam database sistem Staff produksi 1. Use case dimulai ketika user ingin memasukkan data inventory bahan baku yang baru ke dalam sistem 2. User akan menginput data inventory bahan baku pada akhir bulan untuk semua bahan baku 3. User yang akan menyimpan data inventory bahan baku yang baru harus mengisi field tahun terlebih dahulu kemudian mangisi field jumlah inventory yang telah disediakan lalu klik save. (Sub flow s.3) 4. User yang ingin melihat data-data inventory di bulan-bulan pada tahun-tahun sebelumnya bisa mengisi tahun yang dikehendaki di field yang sudah ada lalu klik find. 5. User yang ingin menghapus data inventory yang sudah ada dapat memilih data yang ingin dihapus kemudian meng-klik tombol delete. (Sub flow s.5) 6. User ingin mengulang proses input, dapat meng-klik tombol cancel (Sub flow s.6) 7. Data yang ada dalam system akan berubah 8. Use case selesai s.3. Menambah data inventory bahan baku s.5. Menghapus data inventory bahan baku yang sudah ada s.6. Field-field input yang ada kembali kosong Staff produksi sudah login ke dalam sistem Data inventory bahan baku terupdate dan disimpan dalam sistem
141 Tabel 4.30. Use case description Membuat_konfigurasi_produksi_optimal Use case Name Brief Description Primary Actor Basic Flow
Sub Flow
Alternative Flow Pre Condition Post Condition
Membuat_konfigurasi_produksi_optimal Use case ini menjelaskan proses membuat konfigurasi produksi optimal lalu disimpan dalam database sistem Manajer Pabrik 1. Use case dimulai ketika user ingin membuat konfigurasi yang baru ke dalam sistem 2. User akan menginput margin keuntungan yang dikehendaki lalu mengisi field tahun yang tersedia kemudian memilih bulan lalu mengisi jumlah hari kerja pada bulan yang bersangkutan kemudian klik save.(Sub flow s.2) 3. User yang ingin mengedit data konfigurasi yang lama dapat memasukkan margin keuntungan yang dikehendaki kemudian tahun yang dikehendaki dan memilih bulan yang diinginkan kemudian klik find. (Sub flow s.3) 4. User yang ingin menghapus data konfigurasi yang ada dapat memilih data yang ingin dihapus kemudian meng-klik tombol delete. (Sub flow s.4) 5. User ingin mengulang proses input, dapat meng-klik tombol exit (Sub flow s.5) 6. Data yang ada dalam sistem akan berubah 7. Use case selesai s.2. Menambah data jumlah hari kerja yang ada s.3. Mengedit data yang sudah ada s.4. Menghapus data yang sudah ada s.5. Field-field input yang ada kembali kosong Manajer pabrik sudah login ke dalam sistem Data konfigurasi terupdate dan disimpan dalam sistem
142 Tabel 4.31. Use case description Membuat_rencana_produksi_optimal Use case Name Brief Description Primary Actor Basic Flow
Sub Flow Alternative Flow Pre Condition Post Condition
Membuat_rencana_produksi_optimal Use case ini menjelaskan proses membuat rencana produksi optimal lalu disimpan dalam database sistem. Manajer pabrik 1. Use case dimulai ketika user ingin melakukan analisa produksi optimal dalam sistem 2. User akan menginput bulan dan tahun yang dikehendaki kemudian memilih produk yang akan dianalisa. 3. User yang sudah menginput field-field yang diperlukan dalam melakukan analisa produksi optimal tinggal mengklik tombol analyze 4. User yang ingin menghapus produk yang akan dianalisa yang ada dapat memilih data yang ingin dihapus kemudian meng-klik tombol remove. (Sub flow s.4) 5. User yang ingin menyimpan analisa produksi optimal, dapat mengklik tombol save (Sub flow s.5) 6. User yang ingin melihat summary dari analisa yang baru saja dilakukan bisa memasukkan kode saat menyimpan tadi di field yang ada kemudian klik tombl preview. 7. Data yang ada dalam sistem akan berubah 8. Use case selesai s.4. Menghapus data yang sudah ada s.5. Menambah data analisa produksi optimal Manajer pabrik sudah login ke dalam sistem Data analisa produksi optimal terupdate dan disimpan dalam sistem
143 Tabel 4.32. Use case description Mendata_produk Use case Name Brief Description Primary Actor Basic Flow
Sub Flow
Alternative Flow Pre Condition Post Condition
Mendata_produk Use case ini menjelaskan proses memasukkan data produk ke dalam database sistem Manajer pabrik 1. Use case dimulai ketika user ingin memasukkan data produk yang baru ke dalam sistem 2. User akan menginput data produk untuk tiap jenis produk. 3. User yang akan menyimpan data produk yang baru dapat meng-klik tombol add kemudian menginput field-field yang ada kemudian meng-klik tombol simpan. (Sub flow s.3) 4. User yang ingin mengedit data produk yang lama dapat memilih data yang ingin diedit kemudian mengedit dalam field-field yang tersedia kemudian meng-klik tombol update. (Sub flow s.4) 5. User yang ingin menghapus data produk yang ada dapat memilih data yang ingin dihapus kemudian meng-klik tombol delete. (Sub flow s.5) 6. User ingin mengulang proses input, dapat meng-klik tombol cancel (Sub flow s.6) 7. Data yang ada dalam sistem akan berubah 8. Use case selesai s.3. Menambah data produk s.4. Mengedit data produk yang sudah ada s.5. Menghapus data produk yang sudah ada s.6. Field-field input yang ada kembali kosong Manajer pabrik sudah login ke dalam sistem Data produk terupdate dan disimpan dalam sistem
144 Tabel 4.33. Use case description Mendata_bahan_baku Use case Name Brief Description Primary Actor Basic Flow
Sub Flow
Alternative Flow Pre Condition Post Condition
Mendata_bahan_baku Use case ini menjelaskan proses memasukkan data bahan baku ke dalam database sistem Manajer pabrik 1. Use case dimulai ketika user ingin memasukkan data bahan baku yang baru ke dalam sistem 2. User akan menginput data bahan baku 3. User yang akan menyimpan data bahan baku yang baru dapat mengklik tombol simpan. (Sub flow s.3) 4. User yang ingin mengedit bahan baku yang lama dapat memilih data yang ingin diedit kemudian mengedit dalam field-field yang tersedia kemudian meng-klik tombol update. (Sub flow s.4) 5. User yang ingin menghapus data bahan baku yang ada dapat memilih data yang ingin dihapus kemudian meng-klik tombol delete. (Sub flow s.5) 6. User ingin mengulang proses input, dapat meng-klik tombol cancel (Sub flow s.6) 7. Data yang ada dalam sistem akan berubah 8. Use case selesai s.3. Menambah data bahan baku s.4. Mengedit data bahan baku yang sudah ada s.5. Menghapus data bahan baku yang sudah ada s.6. Field-field input yang ada kembali kosong Manajer pabrik sudah login ke dalam sistem Data bahan baku terupdate dan disimpan dalam sistem
145 Tabel 4.34. Use case description Mendata_penjualan Use case Name Brief Description Primary Actor Basic Flow
Sub Flow
Alternative Flow Pre Condition Post Condition
Mendata_penjualan Use case ini menjelaskan proses memasukkan data penjualan ke dalam database sistem Staff sales 1. Use case dimulai ketika user ingin memasukkan data penjualan yang baru ke dalam sistem 2. User akan menginput jumlah penjualan untuk tiap jenis produk dengan memilih jenis produk terlebih dahulu kemudian mengisi field tahun dan memilih bulan yang sesuai lalu user tinggal memasukkan data penjualan dengan mengisi field total sales yang tersedia. 3. User yang akan menyimpan data sales harian yang baru dapat mengklik tombol simpan. (Sub flow s.3) 4. User yang ingin mengedit data penjualan yang lama dapat memilih produk yang ingin diedit kemudian mengisi field tahun dan memilih bulan yang sesuai lalu meng-klik tombol find. Setelah itu user tinggal mengedit dari field-field yang sudah tersedia. (Sub flow s.4) 5. User yang ingin menghapus data penjualan yang ada dapat memilih data yang ingin dihapus kemudian meng-klik tombol delete. (Sub flow s.5) 6. User yang ingin mengulang proses input, dapat meng-klik tombol cancel (Sub flow s.6) 7. Data yang ada dalam sistem akan berubah 8. Use case selesai s.3. Menambah data penjualan s.4. Mengedit data penjualan yang sudah ada s.5. Menghapus data penjualan yang sudah ada s.6. Field-field input yang ada kembali kosong Staff sales sudah login ke dalam system Data penjualan terupdate dan disimpan dalam system
4.4.6.2.2. Function List Selanjutnya function didefinisikan dalam bentuk function list seperti yang terlihat pada tabel berikut ini. Function list ini berguna dalam mengetahui tingkat kerumitan dari function-function yang ada.
146 Tabel 4.35. Function List Function Complexity Mendata inventory produk Simple Add inventory Simple Edit inventory Simple Delete inventory Simple Mendata inventory bahan baku Simple Add inventory Simple Edit inventory Simple Delete inventory Simple Mendata bahan baku Simple Add bahan baku Simple Edit bahan baku Simple Delete bahan baku Simple Mendata produk Simple Add produk Simple Edit produk Simple Delete produk Simple Membuat konfigurasi produksi optimal Simple Add konfigurasi Simple Edit konfigurasi Simple Delete konfigurasi Simple Membuat rencana produksi optimal Complex Add rencana produksi optimal Simple Analyze rencana produksi optimal Complex Mendata penjualan Simple Add penjualan Simple Edit penjualan Simple Delete penjualan Simple
Type Update Update Read,Update Update Update Update Read,Update Update Update Update Read,Update Update Update Update Read,Update Update Update Update Read,Update Update Read,Compute Update Compute Update Update Read,Update Update
4.4.6.2.3. Sequence Diagram Dalam sequence diagram berikut ini dijelaskan urutan aktivitas masingmasing aktor dan apa saja yang bisa dilakukan aktor dalam menjalankan use case tersebut di sistem.
147
Staff Produksi create()
InventoryproductUI Listproduk
create()
Produk get
Pilihproduk
result get result Isitahun Pilihbulan Isiinventory Inventory
KlikSave update
Gambar 4.11. Sequence Mendata_Inventory_Produk
148
Staff Produksi create() InventoryrawmaterialsUI
Listbahanbaku
create() Pilihbahanbaku
Bahanbaku get
result get result Isitahun Pilihbulan Isiinventory Inventory
KlikSave update
Gambar 4.12. Sequence Mendata_Inventory_Bahan_baku
149
Gambar 4.13. Sequence Mendata_Bahan_Baku
150
Gambar 4.14. Sequence Mendata_Produk
151
Gambar 4.15. Sequence Membuat_Konfigurasi_Produksi_Optimal
152
Gambar 4.16. Sequence Membuat_Rencana_Produksi_Optimal
153
Staff Sales create()
SalesUI Listproduk
create()
Produk get result
create() Pilihproduk
Listbulan
Bulan get
get
result
result Isitahun Pilihbulan get result Isijumlahsales Penjualan
KlikSave update
Gambar 4.17. Sequence Mendata_Penjualan
154 4.4.6.2.4. Navigation Diagram Berikut ini akan digambarkan interface apa saja yang ada di dalam sistem dan digambarkan hubungan antara interface yang satu dengan yang lainya dalam navigation diagram. Interface yang dimaksud adalah form yang akan digunakan dalam sistem.
155
Gambar 4.18. Navigation Diagram
156
4.4.6.2.5. User Interface 1. UI Produk
Gambar 4.19. UI Produk Pada User Interface produk ini, user dapat melakukan penambahan produk baru, mengedit data produk yang sudah ada, dan menghapus data produk. Untuk melakukan penambahan produk baru, user dapat meng-klik
157 tombol add. Setelah itu akan muncul window baru yaitu window add produk, penjelasannya dapat dilihat di window add produk. Untuk mengedit data produk yang sudah ada, user dapat meng-klik salah satu produk yang terdapat pada data grid view yang di bawah kemudian secara otomatis data-data produk akan tertampil dalam textbox-textbox yang sudah ada. Dari situ user tinggal mengubah data yang perlu diubah kemudian user tinggal meng-klik tombol update. Untuk menghapus data yang sudah ada, user dapat meng-klik produk yang terdapat pada data grid view yang di bawah kemudian user dapat meng-klik tombol delete. Untuk keluar dari window ini, user dapat meg-klik tombol exit.
2. UI Bahan Baku
Gambar 4.20. UI Bahan Baku
158 Pada User Interface bahan baku ini, user dapat melakukan penambahan bahan baku baru, mengedit data bahan baku yang sudah ada, dan menghapus data bahan baku. Untuk menambah bahan baku baru, user dapat meng-klik tombol add, selanjutnya akan muncul window baru yaitu window add bahan baku. Penjelasan untuk add bahan baku ada di User Interface bahan baku. Untuk mengedit data bahan baku yang sudah ada, user dapat meng-klik bahan baku yang ada di data grid view kemudian secara otomatis data bahan baku akan tertampil di textbox-textbox yang tersedia. User dapat mengubah data yang diinginkan kemudian user dapat meng-klik tombol update. Untuk menghapus data yang ada, user dapat meng-klik bahan baku pada data grid view kemudian user dapat meng-klik tombol delete. 3. UI Konfigurasi Produksi Optimal
159
Gambar 4.21. UI Konfigurasi Produksi Optimal Pada User Interface ini user dapat meng-input konfigurasi margin keuntungan dan jumlah hari kerja pada field-field yang telah disediakan. Untuk menetapkan besarnya margin keuntungan, user dapat mengisi besar persentase pada field yang tersedia. Kemudian jika user ingin mengatur jumlah hari kerja pada tahun dan bulan saat ini, user dapat mengisi field tahun yang tersedia kemudian user dapat mengisi jumlah hari kerja dapa bulan yang bersangkutan pada field yang telah disediakan di sebelah kanan bulan yang ada. Kemudian user dapat meng-klik tombol save. Untuk
160 mengedit jumlah hari kerja yang sudah ada, user dapat mengisi tahun pada field yang tersedia kemudian user dapat meng-kilk tombol find. Setelah itu, hasilnya akan keluar pada data grid view di bawahnya. User dapat mengubah jumlah hari kerja pada bulan yang diinginkan, kemudian user dapat meng-klik tombol save. Untuk keluar dari window ini user dapat meng-klik tombol exit.
4. UI Inventory Produk
Gambar 4.22. UI Inventory Produk
161 Pada User Interface ini, user dapat mendata jumlah inventory produk pada tahun dan bulan yang bersangkutan, mengedit jumlah inventory yang ada, dan menghapus data inventory. Untuk mendata atau menambah jumlah inventory, user dapat memilih terlebih dahulu produk apa yang ingin ditambah atau didata inventorinya, kemudian user dapat memasukkan tahun yang diinginkan, kemudian user tinggal memesukkan jumlah inventory dalam data grid view yang ada di sebelah kanan bulan yang bersangkutan. Setelah itu user dapat meng-klik tombol save. Untuk mengubah jumlah inventory yang ada, user dapat memilih terlebih dahulu jumlah inventory produk apa yang akan diubah, kemudian user dapat memasukkan tahun yang diinginkan lalu user dapat meng-klik tombol find. Setelah itu, data akan tertampil pada data grid view yang tersedia, dari situ user dapat mengubah jumlah inventory yang diinginkan kemudian user dapat mengklik tombol save. Untuk menghapus jumlah inventory, user dapat meng-klik bulan apa data inventory yang akan dihapus pada data grid view kemudian user dapat meng-klik tombol delete. Untuk keluar dari window ini user dapat meng-klik tombol exit. 5. UI Inventory Bahan Baku
162
Gambar 4.23. UI Inventory Bahan Baku Pada User Interface ini, user dapat mendata jumlah inventory bahan baku pada tahun dan bulan yang bersangkutan, mengedit jumlah inventory yang ada, dan menghapus data inventory. Untuk mendata atau menambah jumlah inventory, user dapat memilih terlebih dahulu bahan baku apa yang ingin ditambah atau didata inventorinya, kemudian user dapat memasukkan tahun yang diinginkan, kemudian user tinggal memesukkan jumlah inventory dalam data grid view yang ada di sebelah kanan bulan yang bersangkutan. Setelah itu user dapat meng-klik tombol save. Untuk mengubah jumlah inventory yang ada, user dapat memilih terlebih dahulu
163 jumlah inventory produk apa yang akan diubah, kemudian user dapat memasukkan tahun yang diinginkan lalu user dapat meng-klik tombol find. Setelah itu, data akan tertampil pada data grid view yang tersedia, dari situ user dapat mengubah jumlah inventory yang diinginkan kemudian user dapat mengklik tombol save. Untuk menghapus jumlah inventory, user dapat meng-klik bulan apa data inventory yang akan dihapus pada data grid view kemudian user dapat meng-klik tombol delete. Untuk keluar dari window ini user dapat meng-klik tombol exit.
6. UI Sales
Gambar 4.24. UI sales
164 Pada User Interface ini, user dapat meng-input jumlah penjualan per hari dan menghapus data penjualan yang sudah ada. Untuk meng-input data penjualan, user dapat memilih terlabih dahulu produk apa yang mengalami penjualan, kemudian user memasukkan tahun pada field yang tersedia dan memilih bulan. Setelah itu user dapat meng-input jumlah penjualan dengan mengisi data grid yang tersedia lalu user dapat mengklik tombol save. Untuk menghapus data penjualan yang sudah ada, user terlebih dahulu memilih produk, kemudian memasukkan tahun dan memilih bulan yang dikehendaki, kemudian penjualan akan tertampil pada data grid yang tersedia kemudian user dapat meng-klik tombol delete. Selain itu, user dapat juga membuat report dengan memasukkan terlebih dahulu tahun dan memilih bulan yang akan dibuat reportnya kemudian user dapat meng-klik tombol preview. Selanjutnya akan muncul preview dari laporan yang akan dicetak. 7. UI Rencana Produksi Optimal
165
Gambar 4.25. UI Rencana Produksi Optimal Pada User Interface ini, user dapat melakukan perhitungan produksi optimal, menyimpan hasil perhitungan, dan mencetak hasil perhitungan. Untuk melakukan perhitungan produksi optimal, user dapat mengisi terlebih dahulu kode simulasi yang diinginkan lalu mengisi tahun dan memilih bulan yang dikehendaki, kemudian user dapat memilih produk yang akan dihitung produksi optimalnya kemudian user dapat meng-kilk tombol add. Setelah itu, produk yang dipilih tadi akan muncul pada list box di bawahnya. Kemudian user dapat meng-klik tombol analyze. Hasil perhitungan produksi optimal akan muncul pada data grid view yang tersedia. Untuk menyimpan haasil perhitungan, user dapat meng-klik tombol save. Untuk melihat hasil perhitungan dalam bentuk laporan dan mencetaknya, user dapat memasukkan kode simulasi yang di-input tadi kemudian user dapat meng-klik tombol preview. Lalu tampilan berbentuk
166 laporan untuk hasil perhitungan produksi optimal akan muncul dan user bisa mencetaknya. 8. UI Add Bahan Baku
Gambar 4.26. UI Add Bahan Baku Pada User Interface ini user dapat menambahkan data bahan baku ke dalam database bahan baku. User dapat mengisi field-field yang tersedia kemudian user dapat meng-klik tombol save. 9. UI Add Produk
167
Gambar 4.27. UI Add Produk Pada User Interface ini, user dapat menambahkan data produk ke dalam database produk. User dapat mengisi textbox-textbox yang ada, kemudian user dapat menentukan komposisi bahan baku dengan memilih bahan baku dan mengisi besar komposisinya pada data grid yang tersedia. Setelah komposisi bahan baku dan atribut produk terisi semua user dapat meng-klik tombol save. 10. UI Konfigurasi Waktu Baku
168
Gambar 4.28. UI Konfigurasi Waktu Baku Pada user interface ini, user dapat meng-input waktu siklus pada filed yang tersedia, kemudian dari list-list yang ada, user dapat memilih penyesuaian dan kelonggaran-kelonggaran sesuai dengan kategorinya masing-masing. User interface ini berhubungan dengan UI Add Produk. Ketika user sudah mengisi field-field yang tersedia, user meng-klik tombol OK dan user akan kembali ke UI Add Produk.
169 4.4.6.2.6. Architectural Design 4.4.6.2.6.1.Criteria Penentuan kriteria dalam suatu perancangan sistem diperlukan untuk mencapai perancangan sistem yang baik. Berdasarkan kebutuhan sistem yang dikembangkan, ada persyaratan yang harus dipenuhi dalam mencapai perancangan yang baik. Persyaratan tersebut dapat dilihat pada tabel di bawah ini : Tabel 4.36. Criteria Criterion
Very Important
Usable
√
Important
Secure
√
Efficient
√
Correct
√
Reliable
√
Maintainable
Less Important
Irrelevant
Easily Fulfilled
√
Testable
√
Flexible
√
Comprehensible
√
Reusable
√
Portable
√
Interoperable
√
4.4.6.2.6.2.Component Diagram Tahap selanjutnya adalah perancangan arsitektur komponen. Dalam tahap ini dilakukan perancangan terhadap struktur sistem yang terdiri dari komponen-komponen
yang
saling
berhubungan.
Sistem
yang
akan
170 dikembangkan berbentuk client-server. Model distribusi arsitektur clientserver yang digunakan adalah Centralized Data. <
> Client : Manajer Pabrik
<> Client : Staff Produksi
<> User Interface
<> User Interface
<> PenyimpananInventory
<> JumlahProduksiOptimal
<> Server
<> Client : Staff Sales
<> User Interface
<> Model
Gambar 4.29. Component diagram
4.4.6.2.6.3.Deployment Diagram Arsitektur fisik dari sistem yang akan dikembangkan bisa dijelaskan dengan deployment diagram. Berikut ini adalah deployment diagram dari sistem yang akan dikembangkan.
171
Client : Staff Produksi
User Interface
System Interface
Function
Client : Staff Sales
Server
User Interface
System Interface
Model
Function
Printer
Printer Control
Client : Manajer Pabrik
User Interface
System Interface
System Interface
Function
Printer Control
Printer
Gambar 4.30. Deployment diagram
172 4.4.6.2.7. Component Design 4.4.6.2.7.1.Revised Class Diagram Dari class diagram yang ada dilakukan analisa, analisa yang telah dibuat kemudian menghasilkan revised class diagram. Dalam revised class ini terdapat penambahan class. Class baru merupakan bagian dari class penjualan. Berikut ini adalah revised class diagram :
Gambar 4.31. Revised Class Diagram
4.4.6.2.7.2.Function Component Dalam revised class diagram terdapat penambahan class baru yaitu class peramalan. Untuk melakukan perhitungan peramalan dibutuhkan 1 function class yang memiliki operasi hitung peramalan. Selain itu dibutuhkan juga 1 function class untuk melakukan perhitungan jumlah produksi optimal.
173
Gambar 4.32. Function component
174 Tabel 4.37 Operation Specification pada Class JumlahProduksiOptimal Jumlah_Produksi_Optimal x Active _ Update _ Passive _ Read Category x Compute _ Signal Menghitung JumlahProduksiOptimal dari tiap produk yang dihasilkan pada Purpose periode tertentu Data penjualan bulan-bulan sebelumnya, data produk, data bahan baku, dan Input data inventory Data Data penjualan sudah di-input oleh staff sales, data bahan baku dan data Conditions produk sudah di-input oleh manajer pabrik, data inventory sudah di-input oleh staff produksi Jumlah produksi optimal berupa rincian jumlah dari tiap produk yang dihasilkan secara optimal dan maksimal laba yang dapat diperoleh muncul di Effect layar for initial_state to end_state for 1 to product_variant if xi < 0 then xi - pivot Algorithm next i next initial_state if end_state = optimal then profit = max Name
Data Structures Placement Involved objects Triggering events
ProduksiOptimal ProduksiOptimal, Produk, Bahan_Baku, Inventory_bahan_baku, Penjualan, Inventory_produk Target produksi, jumlah inventory, jam tenaga kerja
175 Tabel 4.38 Operation Specification pada Class PenyimpananInventory Jumlah_Produksi_Optimal x Active x Update _ Passive _ Read Category _ Compute _ Signal Mendata jumlah inventory dari tiap barang jadi dan bahan baku pada akhir Purpose periode tertentu Data jumlah barang jadi dan data jumlah bahan baku di gudang pada akhir Input periode tertentu Data Data jumlah barang jadi dan data jumlah bahan baku pada akhir periode Conditions tertentu belum di-input oleh user Data jumlah barang jadi dan data jumlah bahan baku pada akhir periode Effect tertentu tersimpan dalam database if current_inventory == 0 then Algorithm user_input = current_inventory else current_inventory = current_inventory Data Structures Placement inventory_produk, inventory_bahan_baku Inventory_produk, inventory_bahan_baku Involved objects Triggering Jumlah inventory bahan baku, jumlah inventory produk events Name
176 4.4.6.2.8. Specification Table Tabel 4.39 Specification Table Table
Produk
Bahan_baku
Inventoy_bahan_baku Inventory_produk
Penjualan
ProduksiOptimal
Field
Data Type
Panjang
Keterangan
KodeProduk
String
6
Primary Key
NamaProduk
String
20
Foreign Key
WaktuBaku
String
10
HargaProduk
Numeric
9
SafetyStock
Numeric
9
WorkStations
Numeric
9
KodeBahanBaku
String
6
Primary Key
NamaBahanBaku
String
20
Foreign Key
HargaBahanBaku
Numeric
9
Suplier
String
20
KodeBahanBaku
String
6
StokBahanBaku
Numeric
9
KodeProduk
String
20
StokProduk
Numeric
9
KodeProduk
String
6
TanggalPenjualan
String
10
JumlahPenjualan
Numeric
9
NilaiPenjualan
Numeric
9
KodeProduksi
String
6
Tahun
String
4
Bulan
String
10
KodeProduk
String
20
JumlahProduksi Optimal
Numeric
9
MaksProfit
Numeric
9
Primary Key Primary Key Primary Key
Primary Key
177 4.4.6.2.9. Technical Platform 4.4.6.2.9.1.Spesifikasi Hardware Kebutuhan peralatan dan perangkat hardware yang diperlukan untuk merancang sistem informasi perencanaan produksi optimal adalah 1. 1 unit server 2. 3 unit desktop PC dengan Processor minimum Intel Pentium IV 1,7 GHz 3. Memory 512 MB DDRAM 4. Hard Disk 80 GB 5. 3 unit LAN Card 6. 1 unit switch 7. Printer
4.4.6.2.9.2.Spesfikasi Software Sistem
operasi
bisa
menggunakan
Microsoft
Windows
XP
Professional edition Service Pack 2. Untuk bahasa pemrograman yang dipakai adalah visual studio.NET 2005 dengan .Net framework 2.0 yang terintegrasi. Untuk generate report menggunakan Crystal Reports 8.5. Database menggunaan Microsoft SQL SERVER 2000.