30 pada tabel 3.3 berikut ini :
Tabel 3.3 Waktu Pengecatan
No Mobil
Luas Body m
2
Waktu Basecoat menit
Waktu Clearcoat menit
Avanza 26,21
10,92 9,83 – 11.8
1 Toyota Agya
21,58 8,99
8,09 – 9,71 2
Honda Brio 21,78
9,08 8,17 – 9,81
3 Honda All Jazz
23,68 9,87
8,88 – 10,66 4
Nissan March 22,90
9,54 8,59 – 10.3
5 Suzuki Splash
23,70 9,88
8,89 – 10,67 6
Toyota Yaris 22,91
9,55 8,6 – 10,32
7 Mitsubishi Lancer
26,91 11,21
10,09 – 12,11 8
Fortuner 32,87
13,7 12,33 – 14,8
9 Innova
30,27 12,61
11,35 – 13,62 10 Camry
28,23 11,76
10,58 – 12,7 11 Land Cruiser
36,67 15,28
13,75 – 16,5 12 Rush
29,17 12,15
10,94 – 13,12 13 Vios
25,52 10,63
9,57 – 11,48 14 Corolla Altis
26,88 11,2
10,08 – 12,1 15 Alphard
34,44 14,35
12,92 – 15,5 16 CR-V
29,72 12,38
11,14 – 13,37 17 Civic
26,03 10,85
9,77 – 11,72 18 Hilux D-Cab
35,21 14,67
13,2 – 15,84 19 X-Trail
29,88 12,45
11,21 – 13,45
3.3. Penerapan Algoritma
Dalam penelitian ini akan menyelesaikan permasalahan penjadwalan flow shop pada proses pengecatan body mobil dengan menggunakan algoritma harmony search. Pada
penelitian terdahulu, algoritma harmony search sudah ada digunakan dalam menyelesaikan permasalahan penjadwalan flow shop dan hasilnya cukup efisien.
Proses cara kerja algoritma harmony search diawali dengan inisialisasi, yaitu
Universitas Sumatera Utara
31 pembangkitan nilai awal secara random dan dilanjutkan dengan proses improvisasi.
Improvisasi merupakan proses inti dari algoritma harmony search dengan cara menyesuaikan vektor tetangganya sehingga terbentuk vektor solusi yang baru. Seperti
permainan musik ketika mencari harmoni yang lebih baik untuk mendapatkan harmoni musik yang tepat, sebagaimana inspirasi dari algoritma ini dibuat.
Penerapan algoritma harmony search dalam proses penjadwalan flow shop dapat dilihat dari flowchart berikut ini :
Gambar 3.1 Flowchart Harmony Search Algorithm
Universitas Sumatera Utara
32
3.3.1. Input parameter
Untuk menyelesaikan permasalahan penjadwalan flow shop sehingga mendapatkan hasil yang optimum, maka dalam penerapan algoritma ini yang dilakukan pertama
sekali adalah penginputan parameter-parameter yang dibutuhkan, yaitu :
a Harmony Memory Size HMS HMS merupakan jumlah solusi vektor dalam harmoni memori.
b Jumlah Job Jumlah job dalam penelitian ini adalah jumlah mobil yang akan digunakan
dalam penjadwalan flow shop.
c Harmony Memory Consideration Rate HMCR HMCR merupakan nilai kontinu yang digunakan sebagai parameter
improvisasi harmoni dalam HSA. Nilai dari parameter ini adalah 0 ≤ HMCR ≤ 1. Dalam penelitian ini digunakan HMCR dengan nilai 0,9.
d Pitch Adjusment Rate PAR PAR merupakan nilai kontinu yang digunakan sebagai parameter improvisasi
harmoni setelah kriteria HMCR terpenuhi. Nilai dari parameter ini adalah 0 ≤ PAR ≤ 1. Dalam penelitian ini digunakan PAR dengan nilai 0,3.
e Kriteria Berhenti Kriteria berhenti merupakan nilai yang digunakan untuk menghentikan
pengulangan improvisasi harmoni baru.
3.3.2. Inisialisasi harmony memory
Dalam tahap inisialisasi Harmony Memory, vektor-vektor solusi akan mengisi harmoni memori sesuai dengan jumlah HMS. Vektor solusi dihasilkan dari variabel
keputusan yang dibangkitan secara random. Vektor solusi yang terbentuk secara random merupakan urutan job dalam flow shop. Kemudian masing-masing vektor
solusi akan dihitung nilai maskpannya. Sehingga akan menghasilkan vektor solusi dengan nilai makespannya masing-masing.
Universitas Sumatera Utara
33 Berikut ini merupakan contoh data yang akan diselesaikan berdasarkan
permasalahan flow shop, yaitu :
Tabel 3.4 Contoh Waktu Flow Shop Scheduling
MesinMobil 1 2
3 4
5 6
7 1
1 3
5 2
4 5
3 2
2 4
1 3
5 4
2 Dari data pada tabel 3.4, jumlah mesin adalah 2 dan jumlah mobil adalah 7.
Sehingga variabel keputusan yang tebentuk adalah
X
i
= {1,2,3,4,5,6,7}
Setelah dihasilkan variabel keputusan X
i
, selanjutnya tentukan jumlah HMS yang akan dibentuk untuk menampung jumlah vektor solusi dalam HM. Kemudian
dilakukan pembangkitan vektor solusi secara random dan dihitung makespan dari masing-masing vektor solusi.
3.3.3. Improvisasi new harmony
Tahap improvisasi merupakan tahapan inti dari algoritma harmony search yang akan menghasilkan solusi vektor baru serta objective function masing-masing vektor solusi.
Kemudian nilai dari objective function tersebut akan dibandingkan dengan objective function yang terdapat pada HMS. Jika objective function dari hasil improvisasi
merupakan yang terbaik, maka vektor solusi yang terdapat pada HMS akan digantikan dengan yang baru.
Untuk melakukan improvisasi ada aturan yang harus dipenuhi dalam proses penyelesaiannya, yaitu :
a Harmony Memory Consideration Di dalam harmony memory consideration ada beberapa proses yang harus
dilalui, yaitu :
Universitas Sumatera Utara
34 •
Membangkitkan bilangan acak secara random antara 0 dan 1. •
Bilangan acak yang diperoleh kemudian disesuaikan dengan HMCR yang sudah ditentukan nilainya.
• Jika bilangan acak tersebut lebih besar dari HMCR maka dibangkitkan
variabel keputusan yang baru dari variabel keputusan X
i
. •
Jika bilangan acak tersebut lebih kecil dari HMCR maka dibangkitkan variabel keputusan baru yang sifatnya sementara dari variabel keputusan
X
i
. Yang kemudian akan disesuaikan dengan aturan pitch adjusment. Selanjutnya variabel keputusan X
i
yang diperoleh dari harmony memory consideration akan disesuaikan dengan aturan pitch adjustment.
b Pitch Adjustment Pitch adjusment merupakan aturan yang harus dilalui setelah aturan harmony
memory consideration terpenuhi. Proses yang harus dilalui di dalam pitch adjusment adalah sebagai berikut :
• Membangkitkan bilangan acak secara random anatara 0 dan 1.
• Bilangan acak yang diperoleh kemudian disesuaikan dengan PAR yang
sudah ditentukan nilainya. •
Jika bilangan acak tersebut lebih besar dari PAR maka variabel keputusan yang diperoleh dari tahapan harmony memory consideration dipertahankan
sebagai variabel keputusan yang baru. •
Jika bilangan acak tersebut lebih kecil dari PAR maka variabel keputusan yang diperoleh dari tahapan harmony memory consideration disesuaikan
dengan variabel tetangganya. Berikut ini merupakan contoh proses improvisasi yang terjadi di dalam
algoritma harmony search.
• Iterasi 1
Bilangan acak yang dibangkitikan misalkan a
1
= 0,432. Kemudian bilangan acak tersebut disesuaikan dengan HMCR = 0,9. Karena a
1
HMCR, maka
Universitas Sumatera Utara
35 variabel keputusan dipilih secara random. Misalkan yang dipilih x
1
= 2. Selanjutnya bangkitkan bilangan acak yang akan dilakukan penyesuaian
dengan PAR = 0,3. Misalkan bilangan acak yang dibangkitkan adalah a
2
= 0,512. Karena a
2
PAR, maka variabel keputusan x
1
= 2 tetap dipertahankan.
• Iterasi 2
Bilangan acak yang dibangkitkan misalkan a
1
= 0,925. Kemudian bilangan acak tersebut disesuaikan dengan HMCR = 0,9. Karena a
1
HMCR, maka variabel keputusan dipilih secara random dari X
1
. Misalkan yang dipilih x
1
= 5. •
Iterasi 3 Bilangan acak yang dibangkitkan misalkan a
1
= 0,276. Kemudian bilangan
acak tersebut disesuaikan dengan HMCR = 0,9. Karena a
1
HMCR, maka variabel keputusan dipilih secara random. Misalkan yang dipilih x
1
= 3. Selanjutnya bangkitkan bilangan acak yang akan dilakukan penyesuaian
dengan PAR = 0,3. Misalkan bilangan acak yang dibangkitkan adalah a
2
= 0,114. Karena a
2
PAR, maka variabel keputusan x
1
= 3 dilakukan penyesuaian dengan variabel disebelahnya, yaitu x
2
= 4. •
Iterasi 4 Bilangan acak yang dibangkitkan misalkan a
1
= 0,456. Kemudian bilangan
acak tersebut disesuaikan dengan HMCR = 0,9. Karena a
1
HMCR, maka variabel keputusan dipilih secara random. Misalkan yang dipilih x
1
= 6. Selanjutnya bangkitkan bilangan acak yang akan dilakukan penyesuaian
dengan PAR = 0,3. Misalkan bilangan acak yang dibangkitkan adalah a
2
= 0,212. Karena a
2
PAR, maka variabel keputusan x
1
= 6 dilakukan penyesuaian dengan variabel disebelahnya, yaitu x
2
= 7. •
Iterasi 5 Bilangan acak yang dibangkitkan misalkan a
1
= 0,941. Kemudian bilangan acak tersebut disesuaikan dengan HMCR = 0,9. Karena a
1
HMCR, maka
Universitas Sumatera Utara
36 variabel keputusan dipilih secara random dari X
1
. Misalkan yang dipilih x
1
= 6. •
Iterasi 6 Bilangan acak yang dibangkitikan misalkan a
1
= 0,672. Kemudian bilangan acak tersebut disesuaikan dengan HMCR = 0,9. Karena a
1
HMCR, maka variabel keputusan dipilih secara random. Misalkan yang dipilih x
1
= 1. Selanjutnya bangkitkan bilangan acak yang akan dilakukan penyesuaian
dengan PAR = 0,3. Misalkan bilangan acak yang dibangkitkan adalah a
2
= 0,322. Karena a
2
PAR, maka variabel keputusan x
1
= 1 tetap dipertahankan.
• Iterasi 7
Bilangan acak yang dibangkitikan misalkan a
1
= 0,731. Kemudian bilangan acak tersebut disesuaikan dengan HMCR = 0,9. Karena a
1
HMCR, maka variabel keputusan dipilih secara random. Misalkan yang dipilih x
1
= 3. Selanjutnya bangkitkan bilangan acak yang akan dilakukan penyesuaian
dengan PAR = 0,3. Misalkan bilangan acak yang dibangkitkan adalah a
2
= 0,843. Karena a
2
PAR, maka variabel keputusan x
1
= 3 tetap dipertahankan.
Dari proses improvisasi di atas maka diperoleh solusi vektor yang baru, yaitu :
X = [2 5 4 7 6 1 3]
Selanjutnya dari urutan mobil tersebut, maka akan dihitung fungsi objektifnya untuk mengetahui waktunya.
3.3.4. Fungsi objektif
Fungsi objektif pada penelitian ini menggunakan makespan, yaitu jangka waktu penyelesaian suatu job yang merupakan penjumlahan dari seluruh waktu proses suatu
mesin. makespan terkecil merupakan pemanfaatan kombinasi mesin dan job yang
Universitas Sumatera Utara
37 terbaik dan memastikan job dari awal sampai akhir terselesaikan. makespan dihitung
dengan menggunakan persamaan berikut ini :
C
max
= max{C
i ,
, i = 1,2,.........,n}
Untuk menghitung makespan akan dijabarkan pada tabel 3.5 berikut ini :
Tabel 3.5 Penghitungan makespan
Mesin Mobil Durasi Waktu
Waktu Mulai Waktu Akhir 1
1 1
1 1
1 1
2 5
4 7
6 1
3 3
4 2
3 5
1 5
3 7
9
12 17
18 3
7 9
12 17
18 23
2 2
2 2
2 2
2 2
5 4
7 6
1 3
4 5
3 2
4 2
1 3
7 12
15 17
21 23
7 12
15 17
21 23
24
Dari tabel 3.5, di kolom mobil sudah tersusun urutan mobil yang akan diproses pada masing-masing mesin 1 dan mesin 2. Pada urutan mobil yang ke-1 mobil 2,
mula-mula waktu mulainya 0. Karena setiap mobil pada urutan ke-1 pasti dimulai dari menit ke 0. Untuk mengetahui waktu mulai pada urutan mobil yang ke-2 mobil 5,
yaitu durasi waktu dan waktu mulai pada urutan mobil ke-1 mobil 2 dijumlahkan. Sehingga hasil jumlah tersebut merupakan waktu mulai dari urutan mobil ke-2 mobil
5. Begitu seterusnya sampai mobil yang terakhir. Untuk mengisi waktu akhir, durasi waktu dan waktu mulai dijumlahkan pada setiap mobil.
Untuk mesin 2, waktu mulai pada urutan mobil ke-1 mobil 2 diambil dari waktu akhir mesin 1 dari urutan mobil ke-1 mobil 2. Kemudian untuk waktu mulai
Universitas Sumatera Utara
38 urutan mobil selanjutnya, didapat dari hasil perbandingan antara waktu akhir urutan
mobil ke-1 mobil 2 pada mesin 2 j dengan waktu akhir urutan mobil ke-2 mobil 5 i + 1. Yang diambil adalah waktu akhir yang paling besar. Sehingga didapat nilai
makespan adalah urutan terakhir mobil 3 pada urutan mobil ke-7 di mesin 2, yaitu 24.
3.3.5. Harmony memory update
Setelah proses improvisasi selesai maka akan didapat urutan mobil baru. Kemudian dari urutan mobil tersebut dihitung makespan. Setelah diperoleh nilai makespan,
kemudian nilai makespan tersebut dibandingkan dengan nilai makespan yang terdapat pada HM.
Jika makespan yang diperoleh pada tahapan improvisasi lebih kecil dari makespan yang terdapat pada HM, maka urutan mobil dan nilai makespan pada HM
akan diganti dengan urutan mobil dan makespan yang baru. Akan tetapi jika makespan yang diperoleh pada tahapan improvisasi tidak lebih kecil dari makespan
yang terdapat pada HM, maka urutan mobil dan makespan pada HM akan tetap dipertahankan.
3.3.6. Kriteria berhenti
Kriteria berhenti merupakan kondisi dimana proses improvisasi akan berhenti jika memenuhi ketetapan kriteria berhenti. Akan tetapi jika ketetapan kriteria berhenti
belum terpenuhi, maka proses improvisasi terus dilakukan berulang-ulang sampai memenuhi kriteria berhenti.
3.4. Analisis Sistem