• Tidak ada hasil yang ditemukan

PROGRAM STUDI MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2018 M / 1439 H

N/A
N/A
Protected

Academic year: 2021

Membagikan "PROGRAM STUDI MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA 2018 M / 1439 H"

Copied!
62
0
0

Teks penuh

(1)

HALAMAN JUDU L

OPTIMISASI MODIFIED DISCRETE FIREFLY ALGORITHM – SMALLEST POSITION VALUE (MDFA–SPV)

UNTUK MEMINIMUMKAN MAKESPAN PADA PENJADWALAN JOB SHOP

Aisyah Nur Rahmah

PROGRAM STUDI MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA 2018 M / 1439 H

(2)

i

OPTIMISASI MODIFIED DISCRETE FIREFLY ALGORITHM – SMALLEST POSITION VALUE (MDFA–SPV)

UNTUK MEMINIMUMKAN MAKESPAN PADA PENJADWALAN JOB SHOP

SKRIPSI

Diajukan kepada

Universitas Islam Negeri Syarif Hidayatullah Jakarta Fakultas Sains dan Teknologi

Untuk Memenuhi Salah Satu Persyaratan Dalam Memperoleh Gelar Sarjana Matematika (S.Mat)

OLEH

AISYAH NUR RAHMAH NIM: 1112094000026

PROGRAM STUDI MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA 2018 M / 1439 H

(3)

ii

PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR BENAR HASIL KARYA SAYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN

TINGGI ATAU LEMBAGA MANAPUN.

Jakarta, 9 Agustus 2018

Aisyah Nur Rahmah 111209400026

(4)

iii

LEMBAR PENGESAHAN

Skripsi ini berjudul “Optimisasi Modified Discrete Firefly Algorithm – Smallest Position Value (MDFA–SPV) untuk Meminimumkan Makespan pada Penjadwalan Job Shop” yang ditulis oleh Aisyah Nur Rahmah, NIM 1112094000026 telah diuji dan dinyatakan lulus dalam siding Munaqosyah Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta pada hari Kamis, tanggal 9 Agustus 2018. Skripsi ini telah diterima untuk memenuhi salah satu persyaratan dalam memperoleh gelar Sarjana Strata Satu (S1) Program Studi Matematika.

Menyetujui,

Pembimbing I

Dr. Nur Inayah, M.Si NIP. 19740125 200312 2 001

Pembimbing II

Muhaza Liebenlito, M.Si NIDN. 2003098802

Penguji I

Yanne Irene, M.Si NIP. 19741231 200501 2 018 Penguji II Mahmudi, M.Si NIDN. 2029048801 Mengetahui,

Dekan Fakultas Sains dan Teknologi

Dr. Agus Salim, M.Si NIP. 19720816 199903 1 003

Ketua Program Studi Matematika

Dr. Nina Fitriyati, M.Kom NIP. 19760414 200604 2 001

(5)

iv

PERSEMBAHAN

Skripsi ini saya persembahkan untuk orang tua saya

Mochammad Sofian dan Susylawati, my twin

Asiyah Nur Jannah, adik-adik saya Mochammad

Abdullah Azzam dan Annisa Nur Aini yang

senantiasa memberikan dukungan baik moril

maupun materiil , doa, serta kasih sayang tanpa

mengenal lelah.

Semoga kalian selalu dilindungi dan diridhai oleh

Allah SWT serta diampuni semua dosanya. Aamiin.

(6)

v

MOTTO

“Sesungguhnya Allah SWT bersama orang–orang yang sabar.”

(7)

vi

KATA PENGANTAR

Assalamu’alaikum Warahmatullahi Wabarakatuh

Alhamdulillah, puji syukur kehadirat Allah SWT atas segala curahan rahmat dan hidayah-Nya. Shalawat serta salam senantiasa tercurah kepada Nabi

Muhammad SAW, para sahabat, keluarga, serta muslimin dan muslimat. Semoga kita mendapat syafa’at oleh Nabi Muhammad di akhirat kelak. Aamiin.

Penyusunan skripsi ini dapat terselesaikan atas kerjasama dan bantuan dari berbagai pihak. Untuk itu penulis ingin menyampaikan terima kasih kepada:

1. Bapak Dr. Agus Salim, M.Si, selaku Dekan Fakultas Sains dan Teknologi, Universitas Islam Negeri Syarif Hidayatullah Jakarta.

2. Ibu Dr. Nina Fitriyati, M.Kom, selaku Ketua Program Studi Matematika serta dosen penasihat akademik.

3. Bapak Muhaza Liebenlito, M.Si, selaku Sekretaris Program Studi Matematika serta Dosen Pembimbing II yang senantiasa memberikan waktu, pengarahan dan saran-saran dalam penyelesaian skripsi ini.

4. Ibu Dr. Nur Inayah, M.Si, selaku Dosen Pembimbing I yang senantiasa memberikan waktu, pengarahan dan saran-saran dalam penyelesaian skripsi ini.

5. Ibu Yanne Irene, M.Si dan Pak Mahmudi, M.Si selaku Dosen Penguji I dan Dosen Penguji II yang memberikan arahan untuk penyempurnaan skripsi ini.

6. Bapak Budi Harianto, M.Pd, M.Si, selaku Dosen Pembimbing II sebelumnya yang senantiasa memberikan waktunya untuk membantu penulis.

7. Seluruh Bapak dan Ibu Dosen Program Studi Matematika yang telah memberikan ilmu-ilmunya dan pengalaman yang bermanfaat.

(8)

vii

8. Orang tua penulis, Bapak Sofian dan Ibu Susylawati yang tanpa henti memotivasi dan memberikan dukungan berupa do’a, moril dan materil kepada penulis sehingga skripsi ini dapat terselesaikan.

9. Saudaraku Asiyah Nur Jannah, Mochammad Abdullah Azzam, dan Annisa Nur Aini serta seluruh keluarga besar penulis yang senantiasa mendo’akan. 10. Big thanks untuk mas Ario Widiatmoko yang membantu penulis dalam hal

program aplikasi.

11. Try Putra Ramadhan Ardiawan yang selalu mendampingi, memotivasi, dan meluangkan waktu untuk penulis.

12. Math Uin 2012 yang kusayangi, terutama para ciwi-ciwi yang memberi bantuan berupa tumpangan kost, pinjaman laptop, dll.

13. Teman terbaikku Nur Muhammad Imanuddin, Almh. Suwanah, Trisna Burhanudin, Mochammad Nata Dwiha, Syaikhah Melsarah, Mochammad Arief Setiawan.

14. Seluruh pihak yang telah membantu penulis dalam mengerjakan skripsi ini yang tidak dapat penulis sebutkan satu-persatu.

Penulis memohon maaf atas segala kesalahan yang kurang berkenan. Oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun untuk perbaikan di masa yang akan datang dan dapat disampaikan langsung melalui email [email protected]. Terakhir, penulis berharap semoga skripsi ini dapat bermanfaat. Aamiin.

Wassalamu’alaikumWarahmatullahi Wabarakatuh

Jakarta, Agustus 2018 Penulis

(9)

viii

DAFTAR ISI

HALAMAN JUDUL ... i

PERNYATAAN ... ii

LEMBAR PENGESAHAN ... iii

PERSEMBAHAN ... iv

MOTTO ... v

KATA PENGANTAR ... vi

DAFTAR ISI ... viii

DAFTAR TABEL ... x DAFTAR GAMBAR ... xi ABSTRAK ... xii ABSTRACT ... xiii BAB I PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Perumusan Masalah ... 3 1.3 Pembatasan Masalah ... 3 1.4 Tujuan Penelitian ... 4

BAB II LANDASAN TEORI ... 5

2.1 Graf ... 5

2.2 Penjadwalan ... 6

2.3 Job Shop Scheduling Problem ... 8

2.3.1 Contoh Penjadwalan Job-shop ... 10

2.3.2 Lawrence Problem ... 11

2.4 Optimisasi ... 12

2.4.1 Algoritma Optimisasi ... 12

2.4.2 Metaheuristik... 13

2.5 Firefly Algorithm ... 14

2.5.1 Intensitas Cahaya dan Keatraktifan ... 15

2.5.2 Contoh Firefly Algorithm Untuk Masalah Optimisasi Single Objektif ... 16

(10)

ix

2.6 Smallest Position Value ... 18

BAB III METODOLOGI PENELITIAN ... 21

3.1 Studi Literatur ... 21

3.2 Pengumpulan Data ... 21

3.3 Metode Modified Discrete Firefly Algorithm–Smallest Position Value ... 21

3.4 Analisis Performa MDFA–SPV ... 23

3.5 Alur Penelitian ... 24

BAB IV HASIL DAN PEMBAHASAN ... 25

4.1 Penerapan MDFA–SPV Untuk Meminimumkan Makespan Pada JSSP ... 25

4.2 Pengolahan Data dan Hasil ... 26

4.2.1 Hasil Penerapan Algoritma Bi-directional untuk Meminimumkan Makespan Pada JSSP ... 34

4.2.2 Hasil Penerapan Algoritma Tabu Search untuk Meminimumkan Makespan Pada JSSP ... 34

4.2.3 Hasil Penerapan Discrete Firefly Algorithm untuk Meminimumkan Makespan Pada JSSP ... 35

4.3 Hasil Perbandingan Kinerja MDFA-SPV dengan Algoritma Bi-directional, Tabu Search, dan Discrete Firefly Algorithm ... 36

4.3.1 Persentase Performa ... 38 BAB V PENUTUP ... 40 5.1 Kesimpulan ... 40 5.2 Saran ... 41 REFERENSI ... 42 LAMPIRAN ... 44

(11)

x

DAFTAR TABEL

Tabel 2.1 : Pseudocode FA Untuk Menentukan Nilai Minimum dari Masalah

Optimisasi Single Objektif ... 16

Tabel 2.2 : Algoritma Smallest Position Value ... 19

Tabel 2.3 : Contoh Penggunaan Smallest Position Value ... 19

Tabel 3.1 : Data yang Digunakan ... 21

Tabel 3.2 : Pseudocode MDFA-SPV untuk Meminimumkan Makespan ... 22

Tabel 4.1 : Hasil Pengujian Data JSSP Menggunakan MDFA-SPV ... 26

Tabel 4.2 : Hasil Makespan Menggunakan Algoritma Bi-directional ... 34

Tabel 4.3 : Hasil Makespan Menggunakan Tabu Search ... 35

Tabel 4.4 : Hasil Makespan Menggunakan Discrete Firefly Algorithm ... 36

Tabel 4.5 : Hasil Makespan Terbaik Menggunakan MDFA-SPV, Bidir, TS, dan DFA ... 37

(12)

xi

DAFTAR GAMBAR

Gambar 2.1 : Graf G... 5

Gambar 2.2 : Graf Berarah H ... 5

Gambar 2.3 : Pola Aliran Contoh Flow shop ... 7

Gambar 2.4 : Pola Aliran Contoh Job shop ... 8

Gambar 2.5 : Representasi Job Shop dalam Graf ... 11

Gambar 2.6 : Grafik Fungsi Michalewicz dengan Dua Variabel dan Nilai 𝒎 = 𝟏𝟎 ... 17

Gambar 2.7 : Posisi Kunang-kunang Ketika Mencapai Nilai Minimum ... 18

Gambar 2.8 : Representasi Penjadwalan dalam Graf ... 20

Gambar 3.1 : Diagram Alur Penelitian ... 24

Gambar 4.1 : Gantt Chart Lawrence 5 ... 29

Gambar 4.2 : Gantt Chart Lawrence 9 ... 30

Gambar 4.3 : Gantt Chart Lawrence 10 ... 31

Gambar 4.4 : Gantt Chart Lawrence 11 ... 32

Gambar 4.5 : Gantt Chart Lawrence 14 ... 33

(13)

xii

ABSTRAK

Aisyah Nur Rahmah, Optimisasi Modified Discrete Firefly Algorithm–Smallest

Position Value (MDFA–SPV) untuk Meminimumkan Makespan Pada Penjadwalan Job Shop. Dibawah bimbingan Dr. Nur Inayah, M.Si dan Muhaza Liebenlito,

M.Si.

Job shop scheduling problem (JSSP) adalah penjadwalan dengan urutan

mesin berbeda untuk setiap job yang dikategorikan ke dalam masalah non

polynomial deterministic hard karena kompleksitasnya. Tujuan dari penelitian ini

adalah untuk menemukan makespan minimum JSSP dari 5 (dari 25 Lawrence problems) menggunakan firefly algorithm (FA) yang terinspirasi dari karakteristik dan tingkah laku kunang-kunang. FA yang umumnya digunakan untuk menyelesaikan masalah optimisasi kontinu dimodifikasi dengan menambahkan

Smallest Position Value agar sesuai dengan JSSP yang bersifat diskrit, bernama Modified Discrete Firefly Algorithm–Smallest Position Value (MDFA-SPV).

Algoritma ini menggunakan parameter 𝛼 = 0.5, 𝛾 = 0.1, 𝛽0 = 1, dan 𝛿 = 0,97.

Makespan minimum yang dihasilkan oleh MDFA-SPV kemudian dibandingkan

dengan hasil dari Discrete Firefly Algorithm, Bi-directional dan Tabu Search. MDFA-SPV menghasilkan makespan minimum yang sama baik dengan algoritma

Tabu Search dimana persentase performa terhadap Lawrence benchmark keduanya

adalah 100%, dan MDFA-SPV lebih baik dari Discrete Firefly Algorithm dan

Bi-directional dimana persentase performa Discrete Firefly Algorithm adalah

99.95356% dan Bi-directional adalah 97.97546%.

Kata kunci: Penjadwalan job shop, Kunang-kunang, Smallest position value, Makespan, Benchmark.

(14)

xiii

ABSTRACT

Aisyah Nur Rahmah, Optimization of Modified Discrete Firefly Algorithm– Smallest Position Value to Minimizing Makespan on Job Shop Scheduling Problem. Under The Guidance of Dr. Nur Inayah, M.Si dan Muhaza Liebenlito, M.Si.

Job shop scheduling problem (JSSP) is a scheduling problem with different machine sequences for each job which is categorized into non polynomial deterministic hard problem because of its complexity. The objective of this research is to find the minimum makespan of JSSP from 5 of 25 Lawrence problems using firefly algorithm (FA) inspired by characteristic and behavior of fireflies. FA generally is used to solve continuous optimization problem is modified by adding Smallest Positin Value to fit the JSSP which is discrete, named Modified Discrete

Firefly Algorithm–Smallest Position Value (MDFA-SPV). This algorithm using

parameters 𝛼 = 0.5, 𝛾 = 0.1, 𝛽0 = 1, dan 𝛿 = 0,97. Minimum makespan from MDFA-SPV is compared with Discrete Firefly Algorithm, Bi-directional, and Tabu

Search. MDFA-SPV obtain minimum makespan as good as Tabu Search where

both of their percentage of performance are 100% toward Lawrence benchmark, and MDFA-SPV is better than Discrete Firefly Algorithm and Bi-directional algorithm where Discrete Firefly Algorithm’s and Bi-directional’s percentage of performance are is 99.95356% and 97.97546%.

Keywords: Job shop scheduling problem, Firefly, Smallest position value, Makespan, Benchmark.

(15)

1

BAB I PENDAHULUAN 1.1 Latar Belakang

Waktu adalah salah satu nikmat yang agung dari Allah SWT. Bahkan dalam firman-Nya di dalam surat al ‘Ashr yang artinya

“Demi Masa. Sesungguhnya manusia itu berada dalam kerugian. Kecuali orang-orang yang beriman dan beramal shaleh dan nasihat menasihati supaya mentaati kebenaran dan nasihat menasihati supaya menetapi kesabaran.” [al ‘Ashr: 1-3].

Ayat-ayat di atas menunjukkan betapa pentingnya waktu dalam kehidupan manusia, karena Allah SWT tidak bersumpah kecuali untuk menunjukkan kelebihan yang dimiliki-Nya. Oleh karena itu, memiliki manajemen waktu yang baik sangat penting. Salah satu yang berhubungan dengan manajemen waktu yaitu penjadwalan.

Dalam sebuah perusahaan industri, adanya suatu proses penjadwalan yang baik sangat diperlukan karena akan menghasilkan output yang maksimal dengan waktu pengerjaan dan biaya yang minimal. Penjadwalan adalah pengurutan pembuatan atau pengerjaan produk secara menyeluruh yang dikerjakan pada beberapa buah mesin [6]. Secara teori maupun prakteknya, proses penjadwalan sangat sulit untuk dibuat. Hal ini dikarenakan banyaknya parameter yang harus diperhatikan. Diantaranya tenggat waktu yang diberikan (due-date) berbeda-beda tiap konsumen, sementara perusahaan memiliki keterbatasan dalam hal mesin, kapasitas produksi, dan tenaga kerja.

Salah satu masalah penjadwalan yang sering ditemui oleh industri manufaktur adalah penjadwalan job-shop atau Job-shop scheduling problem (JSSP). JSSP merupakan pengurutan pembuatan atau pengerjaan job secara menyeluruh dengan urutan mesin yang dilalui setiap job berbeda. JSSP dikategorikan sebagai permasalahan nondeterministic polynomial hard (np-hard) [5], yaitu permasalahan yang pencarian solusinya akan naik secara eksponensial seiring dengan naiknya ukuran permasalahan. Karena itu, dibutuhkan suatu pendekatan yang baik agar pencarian solusi tidak membutuhkan waktu yang lama akibat karena rumitnya

(16)

2

permasalahan. Salah satu pendekatan yang dilakukan dalam beberapa penelitian sebelumnya mengenai JSSP adalah dengan algoritma metaheuristik, seperti Tabu

Search dan Particle Swarm Optimization. Amico dan Trubian yang menggunakan

algoritma Tabu Search untuk menyelesaikan JSSP dalam meminimumkan

makespan dan membandingkan dengan algoritma Bi-directional [1], Pisut dan

Voratas menggunakan Particle Swarm Optimization pada JSSP dengan

multi-purpose machine untuk meminimumkan makespan [11], Zhigang Lian, dkk

memodifikasi Particle Swarm Optimization dengan metode pendiskritan pada JSSP untuk memaksimalkan produksi [10]. Meminimumkan makespan pada JSSP adalah tujuan yang ingin dicapai pada penelitian ini. Makespan adalah banyaknya waktu yang dibutuhkan untuk menyelesaikan seluruh job [6].

Pada akhir 2007, Xin She Yang mengembangkan sebuah algoritma yang terinspirasi dari perilaku hidup sekawanan kunang-kunang, yaitu firefly algorithm (FA). Sesuai dengan namanya, algoritma ini didasarkan pada perilaku kunang-kunang ketika mereka menjerat mangsa [15]. Proses pencariannya dilakukan dengan cara menghitung secara terus menerus calon solusi dengan menggunakan suatu acuan kualitas. FA mengoptimisasi permasalahan dengan cara menggerakkan partikel (dalam hal ini kunang-kunang) di ruang permasalahan menggunakan fungsi tertentu untuk posisi dan pergerakan dari kunang. Pergerakan kunang-kunang dipengaruhi oleh solusi terbaik kunang-kunang-kunang-kunang tersebut, dan solusi terbaik secara umum yang didapatkan dari kunang lain. Pada akhirnya kunang-kunang ini akan bergerak menuju kepada solusi terbaik. Lebih jauh, FA menggunakan persamaan pembaruan nonlinier yang dapat menghasilkan konvergensi lebih tinggi dibandingkan dengan persamaan pembaruan linier pada algoritma particle swarm optimization (PSO) dan differential evolution (DE) [15]. Sehingga FA dapat melampaui algoritma lain dalam berbagai penyelesaian masalah diantaranya multimodal optimization dan image processing [15].

Selain mampu menyelesaikan permasalahan yang variabel keputusannya bersifat kontinu, FA telah terbukti dapat menyelesaikan permasalahan yang bersifat diskrit dengan sedikit modifikasi. Durkota dapat membuktikan bahwa Discrete

(17)

3

digunakan untuk menyelesaikan masalah QAP [4]. Selain itu, Jati dan Suyanto mendiskritkan FA dan menunjukkan bahwa metode itu efektif dalam menyelesaikan kasus traveling salesman problem [7]. Jati dan Suyanto mendiskritkan FA dengan memodifikasi jarak antara kunang-kunang terbaik dengan kunang-kunang lain, dan menggunakan konsep Evolution Strategies untuk pergerakannya. K.C. Udaiyakumar dan M. Chandrasekaran membuktikan bahwa DFA dapat digunakan untuk menyelesaikan JSSP dalam meminimumkan

makespan, namun terdapat 4 dari 25 kasus yang diuji belum memenuhi nilai

optimum [13]. Berdasarkan hal tersebut, penulis memodifikasi DFA dengan metode pendiskritan yang diperkenalkan oleh Zhigang Lian, Weitian Lin, Yejun Gao, dan Bin Jiao (2013) yang kemudian dinamakan Modified Discrete Firefly Algorithm–

Smallest Position Value (MDFA-SPV). Penerapan MDFA-SPV pada JSSP untuk

meminimumkan makespan akan dilakukan menggunakan data Lawrence

benchmark. Selanjutnya, hasil makespan MDFA-SPV akan dibandingkan dengan

hasil makespan dari algoritma lainnya yaitu Bi-directional, Tabu Search, dan

Discrete Firefly Algorithm.

1.2 Perumusan Masalah

Berdasarkan latar belakang diatas, maka perumusan masalah pada penulisan ini:

1. Bagaimana makespan yang dihasilkan menggunakan Modified Discrete Firefly

Algorithm–Smallest Position Value (MDFA-SPV) pada Job Shop Scheduling Problem dengan data Benchmark?

2. Bagaimana perbandingan hasil makespan menggunakan Modified Discrete

Firefly Algorithm–Smallest Position Value (MDFA-SPV) dengan Bi-directional Algorithm, Tabu Search, dan Discrete Firefly Algorithm?

1.3 Pembatasan Masalah

Untuk mendapatkan hasil penelitian yang spesifik dan terarah, maka ruang lingkup permasalahan dari penelitian ini:

(18)

4

1. Algoritma yang digunakan adalah Modified Discrete Firefly Algorithm–

Smallest Position Value (MDFA-SPV).

2. Fungsi tujuan adalah untuk meminimumkan makespan.

3. Data yang digunakan merupakan data waktu produksi yang diperoleh dari Lawrence benchmark.

4. Algoritma yang akan digunakan sebagai pembanding yaitu Bi-directional

Algorithm, Tabu Search, dan Discrete Firefly Algorithm.

5. Program yang digunakan untuk membantu proses komputasi adalah

Microsoft Visual C++.

1.4 Tujuan Penelitian

Penelitian penulisan ini bertujuan:

1. Menjelaskan makespan yang dihasilkan menggunakan Modified Discrete

Firefly Algorithm–Smallest Position Value (MDFA-SPV) pada Job Shop Scheduling Problem dengan data Benchmark.

2. Menjelaskan perbandingan hasil makespan menggunakan Modified

Discrete Firefly Algorithm–Smallest Position Value (MDFA-SPV) dengan Bi-directional Algorithm, Tabu Search, dan Discrete Firefly Algorithm.

(19)

5

BAB II LANDASAN TEORI 2.1 Graf

Sebuah graf 𝐺 merupakan himpunan terurut (𝑉(𝐺), 𝐸(𝐺), 𝜓𝐺) yang terdiri

dari himpunan tak kosong 𝑉(𝐺) yang elemennya disebut titik, himpunan 𝐸(𝐺) yang elemennya merupakan sisi, dan fungsi incidence 𝜓𝐺 yang merupakan pasangan tidak terurut (tidak harus berbeda) dari titik-titik di 𝐺 [3]. Berikut ini, diberikan ilustrasi sebuah graf.

v

1

v

2

v

3

v

4

v

5

e

2

e

3

e

4

e

5

e

6

e

1 Gambar 2.1 Graf G

Gambar 2.1 merupakan contoh graf 𝐺 dengan 𝑉(𝐺) = {𝑣1, 𝑣2, 𝑣3,𝑣4, 𝑣5}, 𝐸(𝐺) = {𝑒1, 𝑒2, 𝑒3,𝑒4, 𝑒5, 𝑒6}, dan fungsi incidence 𝜓𝐺 yang didefinisikan sebagai

𝜓𝐺(𝑒1) = 𝑣4𝑣5 𝜓𝐺(𝑒2) = 𝑣2𝑣4 𝜓𝐺(𝑒3) = 𝑣1𝑣2 𝜓𝐺(𝑒4) = 𝑣1𝑣3 𝜓𝐺(𝑒5) = 𝑣1𝑣3 𝜓𝐺(𝑒6) = 𝑣3𝑣4 Graf dengan sisi-sisi yang memiliki arah disebut graf berarah [3]. Sisi yang memiliki arah tersebut dinamakan busur. Beberapa istilah yang digunakan dalam graf berarah adalah lintasan, predecessor, dan successor. Lintasan adalah jalan yang dilalui dari satu titik ke titik lainnya dengan sisi atau busur yang dilalui tidak lebih dari satu kali [3]. Predecessor adalah titik dimana busur bermula, sedangkan

successor adalah titik yang dituju oleh busur [2].

(20)

6

Pada gambar 2.2 menunjukkan contoh graf berarah 𝐻 dengan 𝑉(𝐻) = {𝑤1, 𝑤2, 𝑤3, 𝑤4, 𝑤5} dan 𝐸(𝐻) = {𝑎1, 𝑎2, 𝑎3, 𝑎4, 𝑎5}. Predecessor dari titik 𝑤5 dan

𝑤2 adalah 𝑤1 karena busur 𝑎1 mengarah dari titik 𝑤1 ke 𝑤5 dan busur 𝑎5 mengarah dari titik 𝑤1 ke 𝑤2. Successor dari titik 𝑤1 dan 𝑤4 adalah 𝑤2 karena

busur 𝑎5 mengarah dari titik 𝑤1 ke 𝑤2 dan busur 𝑎4 mengarah dari titik 𝑤4 ke 𝑤2. Lintasan dari titik 𝑤1 ke 𝑤3 adalah melalui titik 𝑤5 ke 𝑤4 dan berakhir di 𝑤3.

2.2 Penjadwalan

Penjadwalan adalah pengurutan pembuatan produk atau pengerjaan job secara menyeluruh yang dikerjakan pada beberapa buah mesin [6]. Pengurutan pengerjaan job sendiri merupakan aplikasi dari graf berarah [3]. Job merupakan komposisi dari sejumlah elemen–elemen dasar yang disebut aktivitas atau operasi. Tiap aktivitas atau operasi ini membutuhkan alokasi sumber daya tertentu selama periode waktu tertentu yang sering disebut dengan waktu proses. Penjadwalan dibagi menjadi 4 model berdasarkan jenis keadaan [6]:

1. Mesin yang digunakan

Mesin dibedakan atas mesin tunggal dan mesin majemuk. Mesin tunggal adalah mesin yang hanya dapat mengerjakan satu jenis job dan biasanya dapat diterapkan pada kasus mesin majemuk.

2. Pola Aliran Proses

Berdasarkan pada pola aliran proses, penjadwalan dibagi menjadi penjadwalan

flow-shop dan penjadwalan job-shop. Penjadwalan flow-shop memiliki pola

atau urutan mesin yang sama. Sedangkan job shop memiliki urutan mesin yang berbeda antara satu job dengan job lainnya.

(21)

7

Gambar 2.3 Pola Aliran Contoh Flow shop

Berdasarkan Gambar 2.3, dapat dikatakan job 1 diproses pertama kali pada mesin 1, kemudian di mesin 2, dan seterusnya mesin 3 dan mesin 4. Begitu juga untuk job 2, job 3, dan job 4, ketiganya memiliki urutan proses mesin yang sama dengan job 1.

3. Kedatangan pekerjaan

Dibagi menjadi penjadwalan statis dan penjadwalan dinamis. Penjadwalan statis adalah penjadwalan dimana pekerjaan dianggap telah datang secara bersamaan dan siap dikerjakan pada mesin. Sedangkan penjadwalan dinamis kedatangan pekerjaannya tidak menentu.

4. Sifat informasi yang diterima

Dibagi menjadi penjadwalan stokastik dan deterministik. Dikatakan penjadwalan stokastik jika mengandung unsur ketidakpastian dalam beberapa aspek, yaitu karakteristik pekerjaan dari segi kedatangan, jumlah pekerjaan, batas saat penyelesaian, perbedaan kepentingan antar pekerjaan, banyaknya operasi, susunan mesin, waktu proses; serta karakteristik mesin dari segi jumlah dan kapasitasnya, kemampuan dan kecocokan tiap mesin dengan pekerjaan yang diberikan. Sedangkan penjadwalan deterministik adalah keadaan dimana informasi yang diperoleh sudah pasti.

Job 1 Mesin 1 Mesin 2

Mesin 3 Mesin 4

Job 3 Mesin 1 Mesin 2

Mesin 3 Mesin 4

Job 2 Mesin 1 Mesin 2

Mesin 3 Mesin 4

Job 4 Mesin 1 Mesin 2

Mesin 3 Mesin 4

(22)

8

2.3 Job Shop Scheduling Problem

Berdasarkan pola aliran prosesnya, penjadwalan dibagi menjadi flow-shop dan job-shop. Berbeda dengan flow-shop, job-shop adalah penjadwalan dimana seluruh job dikerjakan pada urutan mesin yang berbeda.

Gambar 2.4 Pola Aliran Contoh Job shop

Pada gambar 2.4 menunjukkan contoh pola aliran JSSP. Job 1 diproses pertama kali pada mesin 1, selanjutnya di mesin 2, mesin 3, dan mesin 4. Sedangkan

job 2 diproses pertama kali pada mesin 2, dilanjutkan ke mesin 1, kemudian

diproses di mesin 4 dan berakhir di mesin 3. Begitu juga job 3 dan job 4 memiliki urutan proses mesin yang berbeda dengan job 1 dan job 2.

Menurut Rosnani Ginting, terdapat beberapa asumsi yang digunakan dalam JSSP [6], yaitu

1. Terdapat sejumlah 𝑟 mesin dan 𝑠 job.

2. Urutan mesin yang dilewati setiap job berbeda. 3. Setiap job independent satu dengan lainnya.

4. Masing-masing mesin dapat memproses paling banyak satu job pada satu waktu.

5. Setiap job harus diproses pada suatu mesin selama suatu periode waktu tertentu tanpa adanya interupsi.

6. Setiap mesin dalam keadaan siap dipakai dan selalu tersedia (tidak rusak) selama periode proses produksi. Waktu set up termasuk dalam waktu proses, dengan kata lain diabaikan.

Job 1 Mesin 1 Mesin 2

Mesin 3 Mesin 4

Job 3 Mesin 4 Mesin 3

Mesin 1 Mesin 2

Job 2 Mesin 2 Mesin 1

Mesin 4 Mesin 3

Job 4 Mesin 3 Mesin 2

Mesin 4 Mesin 1

(23)

9

7. Setiap tipe mesin diasumsikan hanya memiliki 1 buah mesin.

Berdasarkan beberapa asumsi diatas maka kasus JSSP dengan fungsi tujuan untuk meminimumkan makespan dapat dirumuskan kedalam model matematis berikut: min(𝐶𝑚𝑎𝑥) (2.1) 𝐶𝑚𝑎𝑥 = max(𝐶𝑝) , 𝑝 = 1,2, … , 𝑟 (2.2) 𝐶𝑝 = ∑𝑠𝑞=1𝑡𝑝𝑞+ 𝑤𝑞 (2.3) Parameter : 𝑟 : Banyaknya mesin 𝑠 : Banyaknya job 𝑝 : Indeks mesin (𝑝 = 1, 2, 3, … , 𝑟) 𝑞 : Indeks job (𝑞 = 1, 2, 3, … , 𝑠)

𝑡𝑝𝑞 : Waktu proses dari job 𝑞 pada mesin 𝑝

𝑤𝑞 : Waktu tunggu jika job 𝑞 masih diproses pada mesin lain (𝑤𝑞 = 0 jika job

𝑞 telah siap untuk diproses di mesin 𝑝 atau dengan kata lain job 𝑞 tidak sedang diproses di mesin lain)

Pada persamaan 2.3, 𝐶𝑝 adalah waktu selesai seluruh job dikerjakan pada mesin ke-p dengan menjumlahkan waktu proses job q di mesin p dengan waktu tunggu bila job q masih diproses di mesin lain. Persamaan 2.2 menunjukkan

makespan, yaitu nilai maksimum dari waktu selesai seluruh job di mesin p.

Persamaan 2.1 adalah fungsi tujuan dari penelitian ini, yaitu meminimumkan

(24)

10

2.3.1 Contoh Penjadwalan Job-shop

Misalkan suatu perusahaan mendapatkan order beberapa produk dan produk-produk tersebut dibuat terdiri dari 2 job (𝑞 = 1,2) . Ke-2 job tersebut dikerjakan pada 3 mesin (𝑀1, 𝑀2, 𝑀3) dengan urutan 𝑘 (𝑘 = banyaknya mesin) dan waktu proses yang telah pasti. Urutan mesin suatu job (𝑂𝑞𝑘) disajikan pada matriks berikut:

𝑂𝑞𝑘 = (𝑀1 𝑀2 𝑀3 𝑀2 𝑀3 𝑀1)

Dengan waktu prosesnya

𝑡𝑝𝑞= (

4 25

2 38

20 14 )

Matriks 𝑂𝑞𝑘 adalah matriks berisi urutan mesin suatu job. 𝑂11= 𝑀1 adalah

job 1 urutan ke-1 di mesin 𝑀1. 𝑂12= 𝑀2 adalah job 1 urutan ke-2 di mesin 𝑀2.

𝑂13 = 𝑀3 adalah job 1 urutan ke-3 di mesin 𝑀3.𝑂21= 𝑀2 adalah job 2 urutan

ke-1 di mesin 𝑀2. Sedangkan matriks 𝑡𝑝𝑞 adalah matriks berisi waktu proses suatu job

dalam setiap mesin. 𝑡22= 38 adalah job 2 dikerjakan di mesin 𝑀2 selama 38 menit. 𝑡31= 20 adalah job 1 dikerjakan di mesin 𝑀3 selama 20 menit.

Menurut Jacek, Erwin, dan Malgorzata dalam jurnal berjudul “The Disjunctive Graph Machine Representation of The Job Shop Scheduling Problem”, graf model disjunctive merupakan bentuk representasi mendasar dari makespan minimum pada JSSP [2]. Menggunakan contoh di atas, berikut diberikan contoh graf model disjunctive untuk makespan minimum yang mengacu pada [9]. Misalkan 𝐺 = (𝑉(𝐺), 𝐴(𝐺), 𝐸(𝐺)) dengan operasi ke-𝑘 dari job 𝑞 yang dinotasikan oleh titik (𝑘/𝑞) ∈ 𝑉(𝐺) dan ditambahkan dengan dua titik buatan yang dinamakan titik awal 0 dan titik akhir 1. Busur dari titik (𝑘/𝑞) ke titik (𝑘 + 1/𝑞) adalah elemen dari 𝐴(𝐺). Untuk setiap job 𝑞, terdapat satu busur yang mengarah dari titik awal 0 ke titik (1/𝑞) dan satu busur yang mengarah dari titik (𝑠/𝑞) ke titik akhir 1. Setiap busur yang mengarah dari titik (𝑘/𝑞) ke titik (𝑘 + 1/𝑞) diberikan bobot yang merepresentasikan waktu proses dari operasi ke-𝑘 pada job 𝑞 . Busur yang

(25)

11

mengarah dari titik awal 0 ke titik (1/𝑞) memiliki bobot 0 dan busur yang mengarah dari titik (𝑠/𝑞) ke titik akhir 1 memiliki bobot yang mereprsentasikan waktu proses dari operasi ke-𝑟 pada job 𝑞 . 𝐸(𝐺) adalah himpunan sisi yang menghubungkan antara titik (𝑘/𝑞) ∈ 𝑉(𝐺) dari setiap job yang berbeda yang diproses pada mesin yang sama.

Gambar 2.5 Representasi Job Shop dalam Graf

Pada gambar 2.5, terdapat 3 sisi yang merupakan elemen dari 𝐸(𝐺). Ketiga sisi tersebut berupa garis putus-putus. Sisi 𝑒1 menghubungkan titik (1/1) dengan

titik (3/2) karena operasi ke-1 pada job 1 diproses di mesin yang sama dengan operasi ke-3 dari job 2 yaitu mesin 𝑀1. Garis putus-putus tersebut nantinya akan diubah menjadi busur sesuai dengan penjadwalan yang dimiliki kemudian jumlah bobot yang dari lintasan terpanjang yang dilalui dari titik awal 0 ke titik akhir 1 adalah makespan.

2.3.2 Lawrence Problem

Lawrence problem merupakan salah satu kasus berjenis job shop. Pertama kali diperkenalkan oleh Lawrence pada tahun 1984. Lawrence problem seluruhnya berjumlah 40 kasus dengan dibagi ke dalam 3 kelompok besar berdasarkan banyaknya mesin. Kelompok pertama adalah untuk jumlah mesin sama dengan 5, dibagi lagi ke dalam 3 kelompok, yaitu 10 job 5 mesin, 15 job 5 mesin, dan 20 job 5 mesin. Kelompok kedua adalah kelompok dengan jumlah mesin sama dengan 10, yang dibagi menjadi 4 kelompok lagi diantaranya 10 job 10 mesin, 15 job 10 mesin, 20 job 10 mesin, dan 30 job 10 mesin. Kelompok ketiga yaitu kelompok dengan 15 mesin dan tidak dibagi lagi, hanya 15 job 15 mesin. Masing-masing kelompok tersebut memiliki 5 kasus. Pada penelitian kali ini menggunakan 5 dari 40 Lawrence

(26)

12

problem yang diambil dari kelompok pertama. Lawrence 5 dari kelompok 10 job 5 mesin, Lawrence 9 dan Lawrence 10 dari kelompok 15 job 5 mesin, Lawrence 11 dan Lawrence 14 dari kelompok 20 job 5 mesin.

2.4 Optimisasi

Optimisasi bertujuan untuk mencari suatu solusi yang optimal dari suatu permasalahan. Terdapat banyak cara penamaan dan pengelompokkan masalah optimisasi, karena masing-masing permasalahan memiliki teknik optimisasi yang berbeda. Kompleksitas dari sebuah masalah optimisasi bergantung pada bentuk fungsi tujuan dan fungsi kendalanya, sehingga pendekatan yang sama tidak mungkin dilakukan. Masalah optimisasi secara umum ditulis [14]

Minimisasi fungsi 𝑓𝑖(𝑥), 𝑥 ∈ ℜ𝑛(𝑖 = 1,2, … , 𝑀),

Fungsi kendala: 𝜙𝑗(𝑥) = 0, (𝑖 = 1,2, … , 𝐽), 𝜓𝑘(𝑥) ≤ 0, (𝑖 = 1,2, … , 𝐾),

Dengan 𝑓𝑖(𝑥), 𝜙𝑗(𝑥), dan 𝜓𝑘(𝑥) adalah fungsi dari vektor

𝑥 = (𝑥1, 𝑥2, … , 𝑥𝑛)𝑇

Variabel 𝑥𝑖 dari 𝑥 dapat berupa variabel kontinu, diskrit, atau gabungan keduanya. Variabel tersebut membentang sepanjang ruang pencarian ℜ𝑛. Fungsi 𝑓𝑖(𝑥), (𝑖 = 1,2, … , 𝑀) disebut fungsi objektif dan merupakan fungsi single objektif apabila 𝑀 = 1 , sedangkan jika 𝑀 ≥ 2 merupakan fungsi multi objektif.Persamaan 𝜙𝑗 dan pertidaksamaan 𝜓𝑘 disebut fungsi kendala.Berdasarkan tipe variabel, optimisasi dikelompokkan menjadi optimisasi diskrit jika variabelnya berbentuk diskrit dan optimisasi kontinu jika variabelnya berbentuk kontinu. 2.4.1 Algoritma Optimisasi

Secara umum, algoritma optimisasi dibagi menjadi dua kategori, yaitu algoritma deterministik dan algoritma stokastik. Algoritma deterministik mengikuti aturan tetap dimana jalur pencarian dan nilai dari variabel dan fungsinya berulang [14]. Sebagai contoh, metode Newton-Raphson merupakan algoritma deterministik

(27)

13

dengan rumus pencariannya adalah 𝑥𝑛+1 = 𝑥𝑛− 𝑓(𝑥𝑛)

𝑓′(𝑥𝑛) yang digunakan untuk

mencari hampiran akar fungsi riil. Contoh lainnya adalah metode BFGS, hill

climbing, steepest descent, dan sebagainya. Sedangkan algoritma stokastik

memiliki jalan dan nilai yang random.

Algoritma stokastik terbagi menjadi 2, yaitu heuristik dan metaheuristik dimana keduanya hanya memiliki sedikit perbedaan [14]. Heuristik dapat diartikan ‘untuk mencari’ atau ‘untuk menemukan dengan trial and error’. Solusi yang ditemukan dalam waktu proses tertentu belum menjamin bahwa solusi optimum telah dicapai. Algoritma ini baik hanya ketika kita ingin menemukan solusi yang mudah dicapai, bukan solusi terbaik. Sedangkan metaheuristik adalah pengembangan dari heuristik dimana meta diartikan sebagai ‘melebihi’ atau ‘level yang lebih tinggi’ dan secara umum dapat bekerja lebih baik dari heuristik yang sederhana. Algoritma ini menggunakan randomisasi dan pencarian lokal. Randomisasi tersebut berguna untuk mengubah pencarian lokal menjadi pencarian dalam skala global, sehingga memungkinkan untuk mendapatkan optimisasi secara global [14].

2.4.2 Metaheuristik

Sebagian besar algoritma metaheuristik terinspirasi dari perilaku alami [14]. Dua komponen utamanya adalah randomisasi dan pemilihan solusi terbaik. Solusi terbaik tersebut menjamin bahwa solusi akan mencapai keoptimalan, selama randomisasi menghindari solusi yang terjebak di optimum lokal dan dalam waktu yang sama meningkatkan keberagaman solusi. Algoritma metaheuristik dapat dikelompokkan dalam banyak cara. Salah satunya berdasarkan basis lintasan dan basis populasi. Sebagai contoh, simulated annealing adalah algoritma metaheuristik berbasis lintasan, dan Particle Swarm Optimization (PSO) berbasis populasi.

Particle Swarm Optimization (PSO) terinspirasi dari perilaku gerakan

kawanan hewan seperti ikan dan burung yang kemudian tiap objek hewan disederhanakan menjadi sebuah partikel [15]. Suatu partikel dalam ruang memiliki posisi yang dikodekan sebagai vektor koordinat. Vektor posisi ini dianggap sebagai keadaan yang sedang ditempati oleh suatu partikel di ruang pencarian. Setiap posisi

(28)

14

dalam ruang pencarian merupakan alternatif solusi yang dapat dievaluasi menggunakan fungsi objektif. Setiap partikel bergerak dengan kecepatan 𝑣. 2.5 Firefly Algorithm

Firefly algorithm pertama kali dipublikasikan oleh Xin She Yang pada 2008

dan termasuk ke dalam algoritma metaheuristik yang terinspirasi dari tingkah laku kunang-kunang [15]. Terdapat lebih dari 2000 spesies kunang-kunang, sebagian besarnya dapat memproduksi cahaya. Pola dari cahaya tersebut bersifat unik untuk beberapa kunang-kunang. Dua fungsi utama cahaya itu adalah untuk menarik lawan jenis sebagai pasangan kawin, dan menarik mangsa. Juga sebagai mekanisme pertahanan diri untuk memberikan kesan kepada predator bahwa kunang-kunang memiliki rasa tidak enak untuk dimakan atau pahit.

Kunang-kunang betina akan tertarik pada kunang-kunang jantan dalam spesies yang sama, meskipun beberapa spesies seperti Photuris memiliki perilaku berbeda, yaitu sang kunang-kunang betina dapat meniru pola perkawinan dari spesies lain sehingga dapat memancing kemudian memakan kunang-kunang jantan yang mungkin melakukan kesalahan dalam memberikan sinyal.

Intensitas cahaya kunang-kunang berbanding terbalik dengan kuadrat jaraknya, yaitu semakin jauh jarak maka intensitas cahaya semakin kecil atau dapat ditulis 𝐼 ≅ 1

𝑟2. Selain itu, cahaya yang diserap dari udara juga berangsur-angsur

melemah seiring semakin jauhnya jarak. Kedua faktor tersebut membuat banyak kunang-kunang hanya dapat dilihat dalam jarak yang terbatas, yaitu beberapa ratus meter pada waktu malam.

Tingkah laku kunang-kunang yang disebutkan di atas menghasilkan formulasi algoritma optimisasi dimana cahaya kunang-kunang didefinisikan sebagai fungsi objektif yang akan dioptimisasi. Untuk memudahkan pendeskripsian

Firelfy Algorithm gunakan tiga aturan dasar [15]:

1. Semua kunang-kunang itu uniseks yang berarti kunang-kunang akan tertarikpada kunang-kunang yang lain tanpa memandang jenis kelamin.

2. Daya tarik sebanding dengan tingkat kecerahan kunang-kunang, kunang-kunang dengan tingkat kecerahan lebih rendah akan tertarik dan bergerak ke

(29)

kunang-15

kunang dengan tingkat kecerahan lebih tinggi, kecerahan dapat berkurang seiring dengan bertambahnya jarak dan adanya penyerapan cahaya akibat faktor udara. 3. Kecerahan atau intensitas cahaya kunang-kunang ditentukan oleh nilai fungsi

obyektif dari masalah yang diberikan. Untuk masalah maksimisasi, intensitas cahaya sebanding dengan nilai fungsi tujuan.

Ada dua hal yang berkaitan dan sangat penting dalam Firelfy Algorithm yaitu intensitas cahaya dan fungsi keatraktifan. Dalam hal ini keatraktifan dipengaruhi oleh tingkat intensitas cahaya. Untuk kasus yang paling sederhana contohnya masalah mencari nilai maksimum global, tingkat intensitas cahaya pada sebuah kunang-kunang 𝑥 dapat dilihat sebagai,

𝐼(𝑥) = 𝑓(𝑥) (2.4)

dengan nilai 𝐼 merupakan tingkat intensitas cahaya pada kunang-kunang 𝑥 yang sebanding terhadap fungsi obyektif.

2.5.1 Intensitas Cahaya dan Keatraktifan

Kecerahan atau intensitas cahaya di sebuah lokasi atau titik 𝑥 dapat ditulis 𝐼(𝑥) ≅ 𝑓(𝑥). Dan sebagaimana yang telah dijelaskan pada subbab 2.4, bahwa intensitas cahaya akan semakin berkurang dari sebelumnya seiring semakin jauh jarak yang ditempuh.

𝐼(𝑟) = 𝐼𝑠

𝑟2

(2.5)

dengan 𝐼𝑠 merupakan intensitas cahaya sumber atau intensitas cahaya ketika

jaraknya sama dengan 0. Kemudian jika kita tambahkan faktor penyerapan cahaya di udara, persamaannya akan menjadi

𝐼(𝑟) = 𝐼0𝑒−𝛾𝑟

2

(2.6) Karena keatraktifan kunang-kunang sebanding dengan intensitas cahaya yang dilihat kunang-kunang lain, maka dapat didefinisikan keatraktifan 𝛽 sebagai

𝛽 = 𝛽0𝑒−𝛾𝑟2 (2.7)

(30)

16

Jarak antara kedua kunang-kunang 𝑖 di titik 𝑥𝑖 dan kunang-kunang 𝑗 di titik

𝑥𝑗 adalah

𝑟𝑖𝑗 = ‖𝑥𝑖− 𝑥𝑗‖ = √∑𝑑 (𝑥𝑖,𝑘 − 𝑥𝑗,𝑘)2

𝑘=1 (2.8)

dengan 𝑥𝑖,𝑘 dan 𝑥𝑗,𝑘 adalah posisi kunang-kunang 𝑖 dan 𝑗 pada dimensi 𝑘.

Pergerakan kunang-kunang 𝑖 yang bergerak menuju tingkat intensitas cahaya yang terbaik dapat dilihat dari persamaan berikut

𝑥𝑖𝑡+1 = 𝑥 𝑖𝑡+ 𝛽0𝑒−𝛾𝑟𝑖𝑗 2 (𝑥𝑗𝑡− 𝑥 𝑖𝑡) + 𝛼 (𝑟𝑎𝑛𝑑 − 1 2) (2.9)

dengan 𝑥𝑖𝑡+1 adalah posisi kunang-kunang i pada iterasi ke- (𝑡 + 1) yang

merupakan penjumlahan vector dari posisi kunang-kunang pada iterasi ke-t, nilai keatraktifan pada antara kunang-kunang i dan j, dan nilai stepsize atau seberapa jauh kunang-kunang i bergerak.

2.5.2 Contoh Firefly Algorithm Untuk Masalah Optimisasi Single Objektif Pada subbab ini akan diberikan contoh pengujian mengenai penggunaan FA untuk menyelesaikan masalah optimisasi single objektif. Menggunakan algoritma pada tabel 2.1 [15], akan dicari nilai minimum suatu fungsi kontinu.

Tabel 2.1 Pseudocode FA Untuk Menentukan Nilai Minimum dari Masalah Optimisasi Single Objektif

Fungsi obyektif 𝑓(𝑥), 𝑥 = (𝑥1, 𝑥2, … , 𝑥𝑑)𝑇.

Bangkitkan inisial populasi 𝑛 kunang-kunang 𝑥𝑖 (𝑖 = 1,2, … , 𝑛). Intensitas cahaya 𝐼𝑖 pada 𝑥𝑖 ditentukan oleh 𝑓(𝑥𝑖).

Definisikan bilangan random𝛼 , nilai keatraktifan awal 𝛽0 dan koefisien

penyerapan cahaya 𝛾.

while (𝑡 < 𝑀𝑎𝑥𝐺𝑒𝑛𝑒𝑟𝑎𝑡𝑖𝑜𝑛), for 𝑖 = 1: 𝑛

(31)

17

for 𝑗 = 1: 𝑛 if (𝐼𝑖 > 𝐼𝑗)

Gerakan kunang-kunang 𝑖 menuju 𝑗. end if

Hitung fungsi keatraktifan dengan jarak 𝑟 menggunakan exp[−𝛾𝑟2].

Evaluasi solusi baru dan perbarui intensitas cahaya. end for j

end for i

Urutkan kunang-kunang berdasarkan tingkat intensitas cahaya yang terkecil; end while

Tampilkan hasil dan visualisasinya.

Pengujian menggunakan fungsi Michalewicz dengan dua variabel dan nilai 𝑚 = 10. Fungsi tersebut dituliskan

𝑓(𝑥, 𝑦) = − {sin(𝑥) [sin (𝑥 2 𝜋)] 2𝑚 + sin(𝑦) [sin (2𝑦 2 𝜋 )] 2𝑚 }

dengan𝑥 = [0,4] dan 𝑦 = [0,4] . Fungsi Michalewicz mencapai nilai minimum −1.8013 di titik (2.20319,1.57049) [15]. Grafik dari fungsi tersebut adalah sebagai berikut.

(32)

18

Hasil running program menggunakan MATLAB R 2011a dengan parameter FA yaitu 𝑑 = 2, 𝛼 = 0.2, 𝛾 = 1, 𝛿 = 0.97, 𝛽0 = 1, banyaknya populasi adalah

100 dan iterasi adalah 270 didapatkan nilai minimumnya adalah −1.8010 di titik (2.20320 , 1.57050) dengan tampilan posisi kunang-kunang setelah 270 iterasi sebagai berikut.

Gambar 2.7 Posisi Kunang-kunang Ketika Mencapai Nilai Minimum Karena nilai minimum yang didapat dari hasil running program memiliki selisih yang sangat kecil dengan nilai minimum berdasarkan referensi, maka dapat dikatakan bahwa FA baik digunakan untuk optimisasi fungsi kontinu.

2.6 Smallest Position Value

Smallest Position Value (SPV) adalah cara yang digunakan untuk

pendiskritan FA dalam penelitian ini. Lian, Zhigang, et al. (2014) memperkenalkan

Discrete Particle Swarm Optimization (DPSO) untuk menyelesaikan JSSP. DPSO

adalah algoritma Particle Swarm Optimization yang dimodifikasi dengan pendiskritan yang dinamakan SPV. Cara kerja SPV adalah mengurutkan bilangan acak yang dibangkitkan dari yang terkecil ke terbesar, kemudian ubah bilangan-bilangan yang telah diurutkan tersebut ke angka sesuai dengan posisi bilangan-bilangan semula sebelum diurutkan, setelah itu melakukan perhitungan sederhana dari angka yang baru tersebut untuk menyesuaikan dengan masalah JSSP [10].

(33)

19

Tabel 2.2 Algoritma Smallest Position Value SPV (Y, 𝑟, 𝑠) 1. 𝑚 = 𝑟 × 𝑠 2. 𝑌′ = {𝑦𝑖′= sort(𝑦𝑖), 𝑦𝑖 ∈ 𝑌} 3. 𝑋′= index_sort(𝑌) 4. 𝑋 = {𝑥𝑖 = (𝑥𝑖mod 𝑠) + 1; 𝑖 = 1,2, … , 𝑚, 𝑠 = banyaknya 𝑗𝑜𝑏, 𝑥 𝑖′∈ 𝑋′}

Tabel 2.2 merupakan algoritma dari metode Smallest Position Value (SPV) dengan 𝑌 adalah bilangan acak yang dibangkitkan sebanyak 𝑚 , 𝑠 adalah banyaknya job, dan 𝑟 adalah banyaknya mesin. Pada langkah 2 mengurutkan bilangan acak pada 𝑌 dari terkecil ke terbesar. Pada langkah 3, variabel 𝑋’ merupakan index semula bilangan atau index bilangan dalam variabel 𝑌 yang diurutkan. Berikut diberikan contoh penggunaan SPV pada tabel 2.3 dengan 𝑟 = 3 dan 𝑠 = 2.

Tabel 2.3 Contoh Penggunaan Smallest Position Value

𝒀 0.9755 0.4326 0.0397 0.1821 0.7702 0.6918

𝒀’ 0.0397 0.1821 0.4326 0.6918 0.7702 0.9755

𝑿’ 3 4 2 6 5 1

𝑿 2 1 1 1 2 2

Pada kasus flow shop scheduling problem, pendiskritan berhenti sampai di langkah 3 dalam Tabel 2.2 dengan variabel𝑋’ merupakan urutan job yang dikerjakan [12]. Sedangkan pada kasus JSSP, dilanjutkan ke langkah 4 dan didapatkan variabel 𝑋 sebagai urutan proses operasi. Mengacu pada contoh dalam subbab 2.2.1, maka variabel 𝑋 dapat ditulis 𝑂21− 𝑂11− 𝑂12− 𝑂13− 𝑂22− 𝑂23

yaitu job 2 urutan ke-1 (di mesin 𝑀2), kemudian job 1 urutan ke-1 (di mesin 𝑀1),

(34)

20

Gambar 2.8 Representasi Penjadwalan dalam Graf

Pada gambar 2.8, titik (1/1) adalah predecessor dari titik (3/2) karena operasi ke-1 pada job 1 dikerjakan sebelum operasi ke-3 pada job 2. Successor dari (1/2) adalah (2/1) karena operasi ke-2 pada job 1 dikerjakan setelah operasi ke-1 pada job 2. Lintasan terpanjang dari titik awal 0 ke titik akhir 1 adalah melalui titik (1/2) → (2/1) → (3/1) → (2/2) → (2/3) → 1 dengan jumlah bobot adalah 0 + 38 + 2 + 20 + 14 + 25 = 99, maka makespan untuk penjadwalan tersebut adalah 99 menit.

(35)

21

BAB III

METODOLOGI PENELITIAN 3.1 Studi Literatur

Tahapan awal adalah mencari sumber bacaan yang terkait. Sumber-sumber bacaan yang dimaksud disini adalah suatu paper, buku, maupun jurnal yang membahas tentang Graf, Penjadwalan Job Shop (JSSP), Algoritma Metaheuristik,

Firefly Algorithm (FA), Algoritma Bi-directional, Tabu Search,Smallest Position Value (SPV), serta informasi lainnya yang menunjang penulisan dan pembuatan

skripsi ini.

3.2 Pengumpulan Data

Data yang digunakan dalam penelitian ini adalah data Lawrence benchmark dari OR-Library J. E. Beasley yang diambil dari website

http://people.brunel.ac.uk/~mastjjb/jeb/orlib/files/jobshop1.txt. Data tersebut berupa waktu proses suatu job dalam suatu mesin beserta urutan proses operasinya. Tabel 3.1 menunjukan data yang digunakan pada penelitian ini. Kolom job dan mesin masing-masing menunjukan banyaknya job dan mesin pada kasus yang akan digunakan, sedangkan kolom nama kasus menunjukan nama file dari masalah yang akan diuji.

Tabel 3.1 Data yang Digunakan

Job Mesin Nama Kasus

10 5 La05

15 5 La09, La10

20 5 La11, La14

3.3 Metode Modified Discrete Firefly Algorithm–Smallest Position Value Pada penelitian ini, penulis menggabungkan firefly algorithm (FA) yang dikembangkan oleh Xin She Yang dengan metode pendiskritan bernama Smallest

Position Value (SPV) yang diperkenalkan oleh Zhigang Lian, et al sehingga

penggabungan keduanya dinamakan Modified Discrete Firefly Algorithm–Smallest

Position Value (MDFA–SPV). Menggunakan bilangan random yang dibangkitkan

(36)

22

didiskritkan menggunakan SPV. Hasil dari pendiskritan tersebut merupakan urutan proses operasi yang selanjutnya akan digunakan untuk menghitung makespan (𝐶𝑚𝑎𝑥). Sehingga intensitas cahaya untuk setiap kunang-kunang i didefinisikan

sebagai makespan yang merupakan fungsi tujuan dari algoritma ini, dapat ditulis 𝐼(𝑥𝑖) ∝ 𝐶𝑚𝑎𝑥. Langkah-langkah penyelesaian JSSP menggunakan MDFA-SPV

dapat dilihat melalui tabel 3.2.

Tabel 3.2 Pseudocode MDFA-SPV untuk Meminimumkan Makespan 1. Input data: Banyaknya job (𝑞 = 1,2, … , 𝑠)

Banyaknya mesin (𝑝 = 1,2, … , 𝑟)

Parameter 𝛼, parameter 𝛿, nilai keatraktifan awal 𝛽0, koefisien

penyerapan cahaya 𝛾, dan banyaknya iterasi 𝑀𝑎𝑥𝐺𝑒𝑛𝑒𝑟𝑎𝑡𝑖𝑜𝑛. 2. Bangkitkan bilangan acak sebanyak proses operasi (𝑟 × 𝑠)

3. Bangkitkan inisial populasi 𝑛 kunang-kunang 𝑥𝑖 (𝑖 = 1,2, … , 𝑛) dengan setiap kunang-kunang memiliki bilangan acak sebanyak proses operasi. 4. Lakukan Metode SPV

5. Tentukan intensitas cahaya 𝐼𝑖 pada 𝑥𝑖. 6. t = 0

7. while (𝑡 < 𝑀𝑎𝑥𝐺𝑒𝑛𝑒𝑟𝑎𝑡𝑖𝑜𝑛), 8. for 𝑖 = 1: 𝑛

9. for 𝑗 = (𝑖 + 1): 𝑛 10. if (𝐼𝑖 > 𝐼𝑗)

Hitung jarak antar kunang-kunang (2.8); Hitung keatraktifan kunang-kunang (2.7); Gerakan kunang-kunang 𝑖 menuju 𝑗 (2.9); end if

end for j

11. Lakukan langkah 4. 12. Lakukan langkah 5.

end for i

13. Urutkan kunang-kunang berdasarkan tingkat intensitas cahaya yang terkecil;

end while

(37)

23

Tabel 3.2 merupakan pseudocode MDFA–SPV sebagai metode yang digunakan untuk menyelesaikan JSSP dalam meminimumkan makespan. Pada langkah 1, menginput data berupa urutan mesin (𝑂𝑞𝑘) dan waktu proses produksi

(𝑡𝑝𝑞) setiap job serta beberapa parameter yang dibutuhkan. Kemudian setelah melakukan langkah 4, akan didapatkan urutan proses operasi untuk setiap kunang-kunang. Proses operasi tersebut akan menghasilkan makespan yang didefinisikan sebagai intensitas cahaya tiap kunang-kunang.

Selain pendiskritan dengan SPV, terdapat perbedaan lain antara MDFA– SPV dengan algoritma FA secara umum. Pada FA yang terinspirasi dari tingkah laku kunang-kunang dalam menjerat mangsa, kunang-kunang dengan intensitas cahaya rendah akan bergerak menuju kunang-kunang dengan intensitas cahaya tinggi [15]. Namun karena MDFA–SPV digunakan untuk meminimumkan fungsi tujuan, maka pengandaian yang dilakukan adalah 𝐼𝑖 > 𝐼𝑗 dimana kunang-kunang dengan fungsi tujuan lebih tinggi akan bergerak menuju kunang-kunang dengan fungsi tujuan lebih rendah.

Langkah 4 dilakukan kembali pada langkah 11, dengan kata lain SPV dilakukan untuk setiap kunang-kunang pada iterasi. Begitu juga dengan langkah 5 yang dilakukan kembali pada langkah 12. Setelah iterasi berulang sampai banyaknya iterasi yang diinput (𝑀𝑎𝑥𝐺𝑒𝑛𝑒𝑟𝑎𝑡𝑖𝑜𝑛), dilanjutkan ke langkah terakhir yaitu menampilkan hasil berupa kunang-kunang dengan nilai makespan paling minimum.

3.4 Analisis Performa MDFA–SPV

Hasil analisis sistem yang dilakukan pada pengujian ini adalah untuk 1. Menganalisis solusi (makespan minimum) yang diperoleh dari pengujian

menggunakan data seperti yang ditunjukan pada Tabel 3.1 menggunakan MDFA-SPV.

2. Menganalisis performa MDFA-SPV, algoritma Bi-directional, Discrete

Firefly Algorithm, dan Tabu Search jika dibandingkan dengan solusi terbaik

yang diperoleh dari referensi. Untuk mengukur performa digunakan rumus sebagai berikut

(38)

24

100% − (|𝐶max (𝑏)−𝐶max (𝑎)

𝐶max (𝑏) | × 100%) (3.1)

Dengan 𝐶max (𝑎) adalah hasil perhitungan makespan menggunakan algoritma Bi-directional, Tabu Search, Discrete Firefly Algorithm, atau MDFA–SPV dan 𝐶max (𝑏) adalah hasil perhitungan makespan Lawrence benchmark yang diambil dari [1].

3.5 Alur Penelitian

Adapun flowchart dari alur penelitian ini adalah

Gambar 3.1 Diagram Alur Penelitian

Pengumpulan data job shop berupa waktu proses dan urutan proses operasi

Mulai

Implementasi MDFA–SPV untuk meminimumkan makespan pada JSSP

Hasil dan pembahasan

Kesimpulan dan Saran

Selesai

Representasi waktu proses dalam bentuk matriks berdimensi banyaknya job × banyaknya mesin

(39)

25

BAB IV

HASIL DAN PEMBAHASAN

4.1 Penerapan MDFA–SPV Untuk Meminimumkan Makespan Pada JSSP Penjadwalan Job shop (JSSP) merupakan permasalahan yang sering dialami perusahaan industri skala besar karena seluruh job yang datang tidak memiliki urutan pengerjaan yang sama satu dengan lainnya, sedangkan jumlah sumber daya dan mesin yang dimiliki terbatas. Agar perusahaan tidak mengalami kerugian akibat denda yang harus dikeluarkan ketika pengerjaan job mengalami keterlambatan, maka diperlukan metode penjadwalan yang efisien. Salah satu dari metode penjadwalan itu adalah yang bertujuan untuk meminimumkan waktu pengerjaan seluruh job pada seluruh mesin (makespan). Beberapa penelitian telah dilakukan untuk menemukan metode penjadwalan yang sesuai dengan tujuan meminimumkan

makespan pada JSSP, diantaranya oleh Mauro Dell’ Amico dan Marco Trubian

pada jurnal yang berjudul “Applying Tabu Search to the Job-Shop Scheduling

Problem” (1993) yang membandingkan algoritma Bi-directional dan Tabu Search

dalam menyelesaikan JSSP [1]. Selain itu K.C. Udaiyakumar dan M. Chandrasekaran pada tahun 2012 membuktikan bahwa Discrete Firefly Algorithm dapat digunakan untuk menyelesaikan JSSP dalam meminimumkan makespan [13].

Berbekal penelitian sebelumnya mengenai FA yang dapat menyelesaikan JSSP dan penggunaan FA yang dimodifikasi agar dapat menyelesaikan masalah diskrit, maka penulis menerapkan metode Modified Discrete Firefly Algorithm–

Smallest Position Value (MDFA-SPV) untuk meminimumkan makespan pada

JSSP. Parameter yang digunakan dalam metode ini mengacu pada [8], yaitu 𝛼 = 0.5, 𝛾 = 0.1, 𝛽0 = 1, dan 𝛿 = 0,97.

(40)

26

4.2 Pengolahan Data dan Hasil

Penerapan MDFA-SPV untuk meminimumkan makespan pada JSSP dilakukan dengan software Microsoft Visual C++ yang dijalankan dengan perangkat komputer berspesifikasi Intel(R) Celeron(R) N2840 @ 2.16GHz 2.16 GHz. Data yang digunakan adalah yang tercantum pada Tabel 3.1. Pengujian dilakukan sebanyak 30 kali dan hasil pengujian (makespan terbaik) ditampilkan pada tabel 4.1 sebagai berikut.

Tabel 4.1 Hasil Pengujian Data JSSP Menggunakan MDFA-SPV

Pengujian ke 10 job 5 mesin 15 job 5 mesin 20 job 5 mesin

La05 La09 La10 La11 La14

1 593 951 𝟗𝟓𝟖 1227 𝟏𝟐𝟗𝟐 2 593 951 958 1227 1292 3 593 𝟗𝟓𝟏 958 1222 1292 4 593 952 958 1223 1292 5 593 952 958 1224 1292 6 593 951 958 1224 1292 7 593 952 958 1222 1292 8 593 952 958 1225 1292 9 593 952 958 1223 1292 10 𝟓𝟗𝟑 951 958 1222 1292 11 593 952 958 1224 1292 12 593 952 958 1222 1292 13 593 951 958 1222 1292

(41)

27 14 593 951 958 1225 1292 15 593 952 958 1225 1292 16 593 951 958 1223 1292 17 593 952 958 1223 1292 18 593 951 958 1223 1292 19 593 951 958 1225 1292 20 593 951 958 1223 1292 21 593 956 958 1223 1292 22 593 952 958 1223 1292 23 593 951 958 1227 1292 24 593 952 958 1227 1292 25 593 951 958 1222 1292 26 593 951 958 1222 1292 27 593 952 958 1230 1292 28 593 952 958 1222 1292 29 593 952 958 1229 1292 30 593 951 958 1222 1292 Mean 593 951.63 958 1224.03 1292 StDev 0 0.9643 0 2.2358 0 Modus 593 951 958 1222 1292

Pada tabel 4.1 menunjukkan hasil running dengan angka bercetak tebal mewakili nilai makespan paling minimum yang didapat. Mean adalah nilai rata-rata dari keseluruhan running, StDev adalah standar deviasinya, dan Modus merupakan nilai yang paling banyak muncul. Pada kasus Lawrence 5, Lawrence 10, dan

(42)

28

Lawrence 14 menggunakan 𝑛 = 500 dan 𝑀𝑎𝑥𝐺𝑒𝑛𝑒𝑟𝑎𝑡𝑖𝑜𝑛 = 125 sebagai populasi kunang-kunang dan banyaknya iterasi, dan menghasilkan nilai makespan yang sama secara keseluruhan sehingga memiliki StDev= 0. Menggunakan 𝑛 dan 𝑀𝑎𝑥𝐺𝑒𝑛𝑒𝑟𝑎𝑡𝑖𝑜𝑛 yang sama, running pada kasus Lawrence 9 dan Lawrence 11 menghasilkan StDev yang besar sehingga penulis menambah populasi kunang-kunang dan banyaknya iterasi hingga mencapai 𝑛 = 600 dan 𝑀𝑎𝑥𝐺𝑒𝑛𝑒𝑟𝑎𝑡𝑖𝑜𝑛 = 150 . Penulis melanjutkan percobaan dengan menambahkan lagi 𝑛 dan 𝑀𝑎𝑥𝐺𝑒𝑛𝑒𝑟𝑎𝑡𝑖𝑜𝑛 namun menghasilkan StDev yang tidak lebih baik. Oleh karena itu, untuk kasus Lawrence 9 dan Lawrence 11 menggunakan populasi kunang-kunang sebanyak 600 dan iterasi sebanyak 150.

Berdasarkan tabel 4.1, kasus Lawrence 5 dengan job sebanyak 10 dan 5 mesin didapat hasil makespan terbaiknya adalah 593 menit dengan urutan proses operasinya 2 − 3 − 5 − 6 − 4 − 8 − 7 − 10 − 2 − 5 − 4 − 9 − 10 − 8 − 1 − 7 − 7 − 6 − 1 − 9 − 3 − 2 − 10 − 2 − 3 − 9 − 4 − 6 − 4 − 5 − 3 − 8 − 1 − 5 − 6 − 9 − 10 − 1 − 7 − 8 − 3 − 2 − 5 − 8 − 10 − 4 − 7 − 6 − 1 − 9 . Keseluruhan running mencapai nilai makespan minimum yaitu 593, sehingga menghasilkan Mean, StDev, dan Modus berturut-turut adalah 593, 0, dan 593.

Pada gambar 4.1 menunjukkan gantt chart dengan urutan pengerjaan job yang memiliki makespan minimum pada kasus Lawrence 5. Garis horizontal merupakan waktu pengerjaan dalam satuan menit. Garis vertikal merupakan mesin.

Job 2 sebagai yang paling pertama pengerjaannya, berada di Mesin 5 selama 5

menit. Job 3 meskipun berada di urutan setelah job 2 dikerjakan, tetapi karena job 3 diproses pertama kali pada Mesin 2 dan keadaan Mesin 2 sedang kosong, maka

job 3 dapat langsung diproses di Mesin 2 pada waktu ke-0. Begitu juga dengan job

6 di Mesin 4, job 10 di Mesin 3, dan job 4 di Mesin 1. Pada Mesin 2 terdapat ruang kosong yang cukup besar dimana mesin tersebut berhenti memproses setelah job 1 selesai di menit ke-118. Hal itu dikarenakan 𝑂73 di Mesin 2 segera diproses setelah 𝑂72 di Mesin 4. Job 7 selesai diproses di Mesin 4 pada menit ke-183, maka job 7 di Mesin 2 baru dapat diproses mulai dari menit ke-183. Seluruh job selesai dikerjakan pada menit ke-593 yaitu job 8 di Mesin 1.

(43)

29

Gambar 4.1 Gantt Chart Lawrence 5

Selanjutnya, kasus Lawrence 9 dengan job sebanyak 15 dan 5 mesin memiliki hasil nilai makespan terbaik 951 dengan urutan proses operasi 2 − 3 − 4 − 6 − 5 − 7 − 10 − 11 − 8 − 9 − 13 − 12 − 14 − 15 − 6 − 7 − 4 − 1 − 2 − 3 − 8 − 5 − 10 − 9 − 13 − 14 − 12 − 11 − 15 − 5 − 2 − 1 − 3 − 8 − 7 − 4 − 6 − 10 − 9 − 15 − 11 − 14 − 12 − 13 − 1 − 2 − 9 − 4 − 3 − 13 − 7 − 5 − 15 − 6 − 2 − 11 − 1 − 8 − 10 − 12 − 3 − 14 − 4 − 9 − 11 − 7 − 5 − 6 − 8 − 10 − 13 − 12 − 14 − 15 − 1. Berbeda dengan kasus Lawrence 5, running untuk kasus Lawrence 9 tidak seluruhnya mencapai nilai makespan terbaik, namun nilai 951 merupakan nilai modusnya karena muncul sebanyak 15 kali. Mean dan yang dihasilkan adalah 951.63 dan StDev adalah 0.9643.

Pada gambar 4.2 menunjukkan gantt chart dengan urutan pengerjaan job yang memiliki makespan minimum pada kasus Lawrence 9. Job 2 sebagai yang paling pertama pengerjaannya, berada di Mesin 4 selama 59 menit. Job 3 meskipun berada di urutan setelah job 2 dikerjakan, tetapi karena job 3 diproses pertama kali pada Mesin 5 dan keadaan Mesin 5 sedang kosong, maka job 3 dapat langsung diproses di Mesin 5 pada waktu ke-0. Begitu juga dengan job 10 di Mesin 3, job 12 di Mesin 2, dan job 4 di Mesin 1. Seperti gantt chart Lawrence 5, pada Mesin 1 terdapat ruang kosong yang cukup besar dimana mesin tersebut berhenti

0 30 60 90 120 150 180 210 240 270 300 330 360 390 420 450 480 510 540 570 600 Mesin 1 Mesin 2 Mesin 3 Mesin 4 Mesin 5

LAWRENCE 5

4 4 7 6 1 2 10 3 9 5 8 3 1 7 9 4 5 6 8 2 10 5 9 8 2 3 1 10 4 7 6 6 2 410 7 9 3 5 8 1 2 5 8 6 1 10 7 3 9

(44)

30

memproses setelah job 12 selesai di menit ke-221. Hal itu dikarenakan 𝑂92 selesai

diproses pada Mesin 5 di menit ke-372, sehingga 𝑂93 di Mesin 1 baru dapat diproses mulai dari menit ke-372. Seluruh job selesai dikerjakan pada menit ke-951 yaitu job 5 di Mesin 2.

Gambar 4.2 Gantt Chart Lawrence 9

Selanjutnya, kasus Lawrence 10 dengan job sebanyak 15 dan 5 mesin memiliki hasil nilai makespan terbaik 958 dengan urutan proses operasi 4 − 2 − 9 − 11 − 3 − 5 − 7 − 8 − 10 − 6 − 2 − 1 − 15 − 14 − 3 − 5 − 12 − 13 − 4 − 11 − 6 − 13 − 7 − 8 − 14 − 1 − 9 − 12 − 5 − 4 − 10 − 2 − 15 − 3 − 6 − 9 − 10 − 7 − 8 − 14 − 15 − 5 − 13 − 4 − 7 − 2 − 12 − 1 − 11 − 8 − 11 − 3 − 13 − 6 − 9 − 15 − 6 − 10 − 14 − 10 − 5 − 2 − 3 − 8 − 12 − 12 − 11 − 1 − 7 − 4 − 9 − 13 − 14 − 15 − 1 . Sama halnya dengan kasus Lawrence 5, keseluruhan running mencapai nilai makespan minimum yaitu 958, sehingga menghasilkan Mean, StDev, dan Modus berturut-turut adalah 958, 0, dan 958.

Pada gambar 4.3 menunjukkan gantt chart dengan urutan pengerjaan job yang memiliki makespan minimum pada kasus Lawrence 10. Job 4 sebagai yang paling pertama pengerjaannya, berada di Mesin 4 selama 57 menit. Job 2 meskipun berada di urutan setelah job 4 dikerjakan, tetapi karena job 2 diproses pertama kali

0 60 120 180 240 300 360 420 480 540 600 660 720 780 840 900 960 Mesin 1 Mesin 2 Mesin 3 Mesin 4 Mesin 5

LAWRENCE 9

3 11 13 5 10 9 7 2 15 8 12 4 6 1 14 2 7 14 4 3 13 11 1 8 10 12 9 5 15 10 8 9 7 5 2 4 15 14 11 1 3 6 13 12 6 12 4 1 2 8 14 15 3 6 9 13 7 10 11 5 4 6 5 1512 9 13 2 11 1 3 14 7 8 10

(45)

31

pada Mesin 2 dan keadaan Mesin 2 sedang kosong, maka job 2 dapat langsung diproses di Mesin 2 pada waktu ke-0. Begitu juga dengan job 5 di Mesin 3 dan job 9 di Mesin 1. Namun kali ini berbeda dengan sebelumnya, Mesin 5 tidak mulai beroperasi pada menit ke-0 karena job 11 di Mesin 5 diproses setelah pengerjaan

job 11 pada Mesin 1 selesai, yaitu pada menit ke-116. Seluruh job selesai dikerjakan

pada menit ke-958 yaitu job 15 di Mesin 2.

Gambar 4.3 Gantt Chart Lawrence 10

Selanjutnya, kasus Lawrence 11 dengan job sebanyak 20 dan 5 mesin memiliki hasil nilai makespan terbaik 1222 dengan urutan proses operasi 4 − 3 − 2 − 6 − 8 − 9 − 5 − 10 − 11 − 7 − 12 − 14 − 13 − 17 − 15 − 16 − 3 − 18 − 4 − 19 − 20 − 1 − 2 − 7 − 8 − 13 − 14 − 9 − 5 − 12 − 18 − 15 − 6 − 11 − 16 − 10 − 3 − 20 − 2 − 6 − 17 − 19 − 5 − 7 − 1 − 8 − 4 − 10 − 12 − 13 − 9 − 11 − 1 − 3 − 20 − 2 − 10 − 15 − 16 − 17 − 16 − 14 − 5 − 4 − 10 − 18 − 12 − 6 − 8 − 7 − 13 − 19 − 15 − 11 − 20 − 9 − 3 − 16 − 2 − 1 − 14 − 4 − 17 − 8 − 7 − 10 − 9 − 6 − 5 − 13 − 11 − 14 − 12 − 17 − 16 − 15 − 18 − 19 − 20 − 1. Sama halnya dengan kasus Lawrence 9, running untuk kasus Lawrence 11 tidak seluruhnya mencapai nilai makespan terbaik, namun nilai 1222

0 60 120 180 240 300 360 420 480 540 600 660 720 780 840 900 960 Mesin 1 Mesin 2 Mesin 3 Mesin 4 Mesin 5

LAWRENCE 10

3 14 6 10 2 9 11 7 8 13 15 5 1 4 12 4 6 15 13 8 9 10 5 2 1 3 11 12 71 5 8 10 12 13 14 1 4 15 3 6 7 11 2 9 2 7 1 14 3 4 5 8 13 12 9 6 10 11 15 9 11 3 2 5 12 7 15 4 6 10 1481 13

Gambar

Gambar  2.1  merupakan  contoh  graf
Gambar 2.3 Pola Aliran Contoh Flow shop
Gambar 2.4 Pola Aliran Contoh Job shop
Gambar 2.5 Representasi Job Shop dalam Graf
+7

Referensi

Garis besar

Dokumen terkait

Analisis terhadap data kredit diperlukan dengan tujuan untuk meminimalisasi risiko nasabah yang terlambat membayar kredit, kegiatan ini sangatlah penting karena salah satu

Alhamdulillahirobbil’alamin, segala puji dan syukur penulis panjatkan atas kehadirat Allah Subhanahu Wa Ta’ala, karena atas rahmat dan karunia-Nya penulis dapat menyelesaikan

Kesesuain kualitas produk, kesesuaian harga produk dan kesesuaian kualitas pelayanan berpengaruh secara simultan terhadap kepuasan konsumen tahu UMKM ADN Bambu Apus Pamulang

Penelitian dilakukan dengan melihat pengaruh variabel independen terhadap variabel dependen, dalam hal ini melihat pengaruh Persepsi tentang Status Sosial Ekonomi yang melingkupi

Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan

Gujarati (2006) mendefinisikan analisis regresi sebagai kajian terhadap hubungan satu variabel yang disebut sebagai variabel yang diterangkan (the explained

Analisis korelasi stabilitas membran sel dengan produktivitas tubuh buah dilakukan dengan menggunakan data nilai Kerusakan Relatif/Relative Injury (RI) pada suhu 30 o C

Ekstrak dari tanaman tersebut mengandung flavonoid, alkaloid, steroid, dan saponin (Silalahi, Purba, &amp; Mustaqim 2019).. Bryophillum pinnatum berupa herba menahun dengan