Penerapan Algoritma Permasalahan Penjadwalan Flow Shop Dalam Proses Pengecatan Body Mobil Dengan Menggunakan Harmony Search Algorithm

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