36
BAB 2
LANDASAN TEORI
2.1
Pengurutan Pekerjaan (Job Sequencing)
2.1.1
Deskripsi Umum
Dalam
industri
manufaktur, tujuan
penjadwalan ialah
untuk
meminimasikan waktu
dan
biaya
produksi,
dengan
cara
mengatur
apa
yang
harus dibuat, kapan, dengan pekerja
yang
mana,
dan
menggunakan alat apa.
Penjadwalan
produksi
memiliki
objektif
untuk
memaksimalkan efisiensi
operasional
dan
mengurangi biaya.   Salah satu permasalahan
yang
menarik
dalam penjadwalan ialah Job Sequencing.
Job Sequencing adalah suatu pengurutan pekerjaan, dimana kombinasi
urutan-urutan tersebut diukur
berdasarkan performanya.  Job Sequencing
ini
merupakan  salah 
satu 
dari 
sekian 
banyak 
permasalahan  pada 
analisis
produksi.   
Permasalahan ini
sangatlah
rumit
dan
biasanya
jauh
dari
penyelesaian yang optimal, terutama untuk kasus dimana pekerjaan sangatlah
banyak.
Menurut
Cox et
al.,
Job
Sequencing
dapat
dianalogikan
seperti
ini:
Diberikan
sejumlah
n
Job
untuk diproses,
dan
tiap-tiap
Job
memiliki waktu
mulai,
waktu
proses,
dan
waktu
dimana
tanggal
pekerjaan tersebut
harus
selesai,  dan  setiap  pekerjaan  diproses  oleh  mesin,  dan  permasalahannya
adalah  bagaimana
mengurutkan
mesin-mesin
tersebut  agar  optimal  dalam
  
37
suatu
kondisi kriteria
tertentu. 
Hal
ini
menunjukkan kapan
pekerjaan
harus
selesai bila pesanan manufaktur ingin diselesaikan tepat waktu, dimana hal ini
dapat memberikan pengaruh yang besar bagi produktivitas sebuah proses.
Dua hal
yang
menjadi kunci
dalam Job
Sequencing,
menurut Wight,
adalah
prioritas dan
kapasitas.  Prioritas
berarti
“Apa
yang
harus dikerjakan
lebih dahulu?” dan kapasitas berarti “Siapa yang harus mengerjakannya?”.
Beberapa daftar dari kriteria performa untuk dioptimalkan dalam Job
Sequencing adalah sebagai berikut:
•   Rata-rata waktu produksi.
•   Waktu menganggur dari mesin.
•   Rata-rata perbedaan antara waktu selesai dengan waktu pengiriman.
•   Rata-rata pekerjaan yang selesai sebelum waktunya.
•   Rata-rata pekerjaan yang selesai melewati waktunya.
•   Rata-rata waktu menunggu.
•   Rata-rata pekerjaan di dalam system.
Persentase dari jumlah pekerjaan yang memiliki perbedaan antara waktu
selesai dengan waktu pengiriman.
Beberapa
faktor
yang
dideskripsikan dan
diklarifikasikan sebagai
permasalahan dalam penjadwalan:
•   Jumlah pekerjaan yang harus dijadwalkan.
•   Jumlah mesin.
  
38
Tipe manufaktur (Flow Shop atau Job Shop).
Aturan datangnya pekerjaan (Statis atau Dinamis).
Kriteria dimana alternatif jadwal lain akan dievaluasi.
Faktor
pertama
menjelaskan jumlah
pekerjaan
yang
akan
diproses,
waktu
untuk
memproses, dan
tipe mesin
yang diperlukan. 
Sementara faktor
kedua
menjelaskan mengenai
jumlah
mesin
yang
diperlukan. 
Faktor
ketiga
menjelaskan mengenai
jenis
dari
aliran
material,
jika
aliran
dari
material
kontinyu dan pekerjaan tersebut membutuhkan urutan mesin yang sama, maka
disebut Flow
Shop
Pattern.
Jika
dimana
aliran
material berbeda-beda tiap
pekerjaan, urutan mesin pun berbeda, maka disebut Job Shop Pattern.  Dudek
et
al.
melaporkan
bahwa sebanyak
57%
permasalahan pada
industri
adalah
permasalahan Job
Shop,
sementara
20%
adalah
permasalahan Flow
Shop.
Laporan
tersebut
menyatakan
bahwa
kebanyakan
dari
penelitian
mengenai
Job
Sequencing
berkutat
seputar
permasalahan Flow
Shop
dengan
kriteria
tujuan
meminimalkan total
keseluruhan
waktu
proses.  
Sementara
pada
penelitian
mengenai
Job
Shop
dihadapkan
dengan
permasalahan dimana
kriteria tidak hanya satu saja, melainkan lebih dari satu.
  
39
Pola kedatangan pekerjaan dideskripsikan sebagai statis atau dinamis.
Pada
pola statis,
ada
sejumlah
n
pekerjaan,
setiap
pekerjaan
harus
diproses
oleh
beberapa
mesin,
semua
pekerjaan
dapat
diproses
pada
inisialisasi
awal
periode penjadwalan, dan selama pemrosesan, tidak ada pekerjaan baru
yang
datang.
Pada pola dinamis, pekerjaan datang bergantung dari proses stokastik.
2.1.2
Job Shop Sequencing
Telah
dijelaskan
sebelumnya bahwa
pengurutan
pekerjaan
pada
produksi
sangatlah
rumit
berdasarkan
kombinasi-kombinasi yang
sulit
dipecahkan. 
Walaupun beberapa proses
telah dicoba
untuk
diterapkan pada
permasalahan Flow
Shop,
pada
permasalahan Job
Shop,
sangat
sedikit
perkembangan yang
terjadi. 
Hal
ini
bergantung
dari
kompleksnya
faktor-
faktor
yang ada pada
permasalahan Job
Shop,
seperti
permasalahan dimana
setiap Job
memiliki spesifikasi dan urutan
proses
yang
berbeda-beda. 
Oleh
karena itu, maka simulasi menjadi satu-satunya jalan yang digunakan sebagai
alat
dalam
penelitian mengenai
Job
Shop
Pada
landasan
teori
ini,
akan
dipaparkan
beberapa
aturan-aturan mengenai
pengurutan
pekerjaan,
dengan
permasalahan sebagai berikut:
  
40
Tabel 2.1 Contoh Soal Job Sequencing
Pekerjaan
Waktu Proses
Pengiriman
1
5
15
2
8
10
3
6
15
4
3
25
5
10
20
6
14
40
7
7
45
8
3
50
FCFS: Memilih pekerjaan berdasarkan yang datang dahulu, itu
yang
diproses.
Tabel 2.2 Contoh Penyelesaian FCFS
Pekerjaan
Mulai
Proses
Selesai
Pengiriman
Keterlambatan
1
0
5
5
15
-10
2
5
8
13
10
3
3
13
6
19
15
4
4
19
3
22
25
-3
5
22
10
32
20
12
6
32
14
46
40
6
7
46
7
53
45
8
8
53
3
56
50
6
Total Keterlambatan
39
Rata-rata Keterlambatan
6.5
Keterlambatan Maksimum
12
Jumlah Pekerjaan Terlambat
6
  
41
DDATE: Memilih pekerjaan berdasarkan tanggal
pengiriman 
yang
terdekat.
Tabel 2.3 Contoh Penyelesaian DDATE
Pekerjaan
Mulai
Proses
Selesai
Pengiriman
Keterlambatan
2
0
8
8
10
-2
1
8
5
13
15
-2
3
13
6
19
15
4
5
19
10
29
20
9
4
29
3
32
25
7
6
32
14
46
40
6
7
46
7
53
45
8
8
53
3
56
50
6
Total Keterlambatan
40
Rata-rata Keterlambatan
6.67
Keterlambatan Maksimum
9
Jumlah Pekerjaan Terlambat
6
SLACK:
Memilih
pekerjaan
berdasarkan selisih
waktu
terkecil antara
tanggal pengiriman dan waktu proses.
Tabel 2.4 SLACK Tiap Pekerjaan
Pekerjaan
Waktu Proses
Pengiriman
Slack
1
5
15
10
2
8
10
2
3
6
15
9
4
3
25
22
5
10
20
10
6
14
40
26
7
7
45
38
8
3
50
47
  
42
Tabel 2.5 Contoh Penyelesaian SLACK
Pekerjaan
Mulai
Proses
Selesai
Pengiriman
Keterlambatan
2
0
8
8
10
-2
9
8
6
14
15
-1
1
14
5
19
15
4
5
19
10
29
20
9
4
29
3
32
25
7
6
32
14
46
40
6
7
46
7
53
45
8
8
53
3
56
50
6
Total Keterlambatan
40
Rata-rata Keterlambatan
6.67
Keterlambatan Maksimum
9
Jumlah Pekerjaan Terlambat
6
SPT: Memilih pekerjaan berdasarkan waktu proses yang paling cepat.
Tabel 2.6 Contoh Penyelesaian SPT
Pekerjaan
Mulai
Proses
Selesai
Pengiriman
Keterlambatan
4
0
3
3
25
-22
8
3
3
6
50
-44
1
6
5
11
15
-4
3
11
6
17
15
2
7
17
7
24
45
-21
2
24
8
32
10
22
5
32
10
42
20
22
6
42
14
56
40
16
Total Keterlambatan
62
Rata-rata Keterlambatan
15.5
Keterlambatan Maksimum
22
Jumlah Pekerjaan Terlambat
4
  
43
Critical  Ratio: Memilih pekerjaan berdasarkan
faktor  kritis  terkecil,
yaitu perbandingan antara tanggal pengiriman dan waktu proses.
Tabel 2.7 Critical Ratio
Pekerjaan
Waktu Proses
Pengiriman
CR
1
5
15
3.00
2
8
10
1.25
3
6
15
2.50
4
3
25
8.33
5
10
20
2.00
6
14
40
2.86
7
7
45
6.43
8
3
50
16.67
Tabel 2.8 Contoh Penyelesaian Critical Ratio
Pekerjaan
Mulai
Proses
Selesai
Pengiriman
Keterlambatan
2
0
8
8
10
-2
5
8
10
18
20
-2
3
18
6
24
15
9
6
24
14
38
40
-2
1
38
5
43
15
28
7
43
7
50
45
5
4
50
3
53
25
28
8
53
3
56
50
6
Total Keterlambatan
76
Rata-rata Keterlambatan
15.2
Keterlambatan Maksimum
28
Jumlah Pekerjaan Terlambat
5
  
44
Selain
aturan-aturan yang
tertera
diatas,
terdapat
juga
beberapa
algoritma
yang
dapat
digunakan
untuk
permasalahan pengurutan pekerjaan.
Salah
satunya
adalah
algoritma Hodgson,
yang
memiliki tahapan sebagai
berikut:
1.
Urutkan
semua
pekerjaan dengan
aturan
DDATE,
jika
terdapat
suatu
pekerjaan dengan nilai keterlambatan nol atau
nilai keterlambatan positif,
hentikan.
Jika selain itu, lanjutkan ke langkah 2
2.   Dimulai dari
mula aturan DDATE, temukan task yang terlambat pertama
kali.  Jika tidak ada task yang terlambat, lanjutkan ke langkah 4, jika ada,
lanjutkan ke langkah 3
3.   Anggaplah suatu pekerjaan yang telat ada pada urutan ke
i
pada
urutan.
Maka
periksa
semua
pekerjaan
sampai
pada
urutan ke
i
dan
identifikasi
yang memiliki waktu proses terlama.  Ambil pekerjaan itu dan singkirkan.
Revisi semua perhitungan keterlambatan, dan kembali ke langkah 2.
4.   Semua pekerjaan yang telah disingkirkan dapat ditaruh ke urutan terakhir
dalam pekerjaan.
  
45
Berikut adalah contoh penyelesaian Algoritma Hodgson:
Tabel 2.9 Contoh Penyelesaian Algoritma Hodgson Iterasi 1
i
2
1
3
5
4
6
7
8
ti
8
5
6
10
3
14
7
3
ci
8
13
19
29
32
46
53
56
di
10
15
15
20
25
40
45
50
Li
-2
-2
4
9
7
6
8
6
Urutan Baru : …………………2
Tabel 2.10 Contoh Penyelesaian Algoritma Hodgson Iterasi 2
i
1
3
5
4
6
7
8
ti
5
6
10
3
14
7
3
ci
5
11
21
24
38
45
48
di
15
15
20
25
40
45
50
Li
-10
-4
1
-1
-2
0
-2
Urutan Baru: ……………..2 - 5
Tabel 2.11 Contoh Penyelesaian Algoritma Hodgson Iterasi 3
i
1
3
4
6
7
8
ti
5
6
3
14
7
3
ci
5
11
14
28
35
38
di
15
15
25
40
45
50
Li
-10
-4
-11
-12
-10
-12
Urutan Baru: 1 – 3 – 4 – 6 – 7 – 8 – 2 – 5
Pada  iterasi  pertama,  dicari 
pekerjaan  yang 
memiliki 
Li 
positif
pertama kali, didapat terjadi pada pekerjaan no. 3.  Setelah itu, dari pekerjaan
pada
urutan
paling
awal
sampai
pada
urutan
pekerjaan
yang
memiliki
Li
positif pertama kali, dicari ti paling besar, dan didapat pada pekerjaan no. 2,
  
46
sehingga no. 2 dihapus dari daftar, dan ditaruh paling belakang.  Pada iterasi
selanjutnya, pekerjaan no. 2 sudah tidak ada pada daftar, dan lakukan hal yang
sama,
hingga
terdapat
pekerjaan no.
5
yang
harus
dihapus dari daftar
dan
ditaruh di
paling belakang. 
Sehingga sampai pada
iterasi ke-3 dimana tidak
ada lagi pekerjaan yang memiliki Li positif, sehingga urutannya adalah urutan
pekerjaan
pada
iterasi
ke-3
ditambah
dengan
urutan
pekerjaan yang
sudah
dihapus pada iterasi-iterasi sebelumnya.
Selain
algoritma Hodgson, terdapat
juga algoritma Wilkerson-Irwin,
yang memiliki tahapan sebagai berikut:
1. 
Urutkan
pekerjaan
dengan
aturan
DDATE Bandingkan dua
pekerjaan
pertama pada urutan, anggap pekerjaan ini adalah a dan b.  Jika max (t
a
,t
b
)
=
dari max
(d
a
,
d
b
), masukkan
task
a
ke kolom a
dan
yang
lainnya ke
kolom ß. Jika tidak, maka masukkan pekerjaan dengan waktu pemrosesan
terpendek ke
kolom a
dan
yang lainnya ke
kolom ß
.Pekerjaan ketiga di
dalam urutan dimasukkan ke kolom ?.
2.   Bandingkan
ß
dan  ?  untuk  melihat  jika  ß  akan  dijadwalkan
bersama
dengan a pada urutan.  Jika tß = t? atau jika Fa + max (tß, t?) = max (dß,
d?), pindahkan pekerjaan di kolom ß ke a dan pekerjaan di kolom ? ke ß.
Pekerjaan selanjutnya dalam
urutan
DDATE
akan dimasukkan
ke
dalam
kolom ?.   Fa adalah nilai kumulatif dari waktu proses pekerjaan yang ada
pada kolom a Jika tidak ada lagi pekerjaan dari urutan DDATE, masukkan
  
47
pekerjaan
a
dan  ß  ke  dalam
urutan
lalu  hentikan.  
Selain
itu,  ulangi
langkah 2.  Jika dua kondisi diatas tidak terpenuhi, pergi ke langkah 3.
3. 
Taruh
ß
ke
dalam urutan
teratas
pada
DDATE
tersisa
dan
pindahkan
pekerjaan di ? ke kolom ß. 
Bandingkan a dan ß untuk
melihat apakah ß
akan dijadwalkan bersama dengan a pada urutan.  Jika ta = tß atau jika Fa
ta + max (ta, tß) = max (da, dß), pindahkan pekerjaan pada kolom ß ke
kolom a
dan
pilih
dua
pekerjaan
berikutnya pada
daftar
DDATE
untuk
menjadi ß dan ?
yang baru.   Kembali ke
langkah 2.   Jika kondisi tidak
terpenuhi, pergi ke langkah 4.
4.   Masukkan pekerjaan pada kolom a kembali ke daftar teratas DDATE dan
masukkan pekerjaan terakhir ke kolom
a.   Kembali ke
langkah 3.   Jika
tidak ada pekerjaan di dalam urutan, masukkan ß ke urutan dan pindahkan
dua pekerjaan pertama pada daftar
DDATE
menjadi ß dan ?. Kembali ke
langkah 2
Berikut adalah contoh penyelesaian Algoritma Wilkerson-Irwin:
Tabel 2.12 Contoh Penyelesaian Algoritma Wilkerson-Irwin
Step
a
ß
?
Step 2: Calculation
TB
Step 3: Calc
TA
Fa + max (tß, t?) =
max (dß, d?)
tß = t?
Fa – ta + max (ta,
tß) = max (da, dß)
ta = tß
2
2
1
3
8+6=15 Yes
5=6 Yes
2
1
3
5
13+10=20 No
6=10 Yes
2
3
5
4
19+10=25 No
10=3 No
3
3
4
19-6+6=25 Yes
6=3 No
2
4
5
6
22+14=40 Yes
10=14 Yes
2
5
6
7
32+14=45 No
14=7 No
  
48
Tabel 2.13 Contoh Penyelesaian Algoritma Wilkerson-Irwin (lanjutan)
Step
a
ß
?
Step 2: Calculation
TB
Step 3: Calc
TA
3
5
7
32-10+10=45 Yes
10=7 No
2
7
6
8
39+14=50 No
14=3 No
3
7
8
39-7+7=56 Yes
7=3 No
2
8
6
Urutan Baru: 2 – 1 – 3 – 4 – 5 – 7 – 8 – 6
Pada awalnya, urutan adalah 2 1 dan 3, dimasukkan ke kolom a, ß dan
?.  Pada iterasi selanjutnya, pekerjaan di kolom a dimasukkan ke dalam urutan
pekerjaan
yang baru,
hingga didapati untuk selanjutnya
urutan kolom kolom
a, ß dan ? berdasarkan pekerjaan yang tersisa pada DDATE.  Pada saat kedua
syarat  No,  yaitu  tidak  terpenuhi, 
maka  pekerjaan  pada  kolom  ß, 
yaitu
pekerjaan no. 5, disimpan sementara ke dalam urutan DDATE, sehingga pada
saat kembali ke step 2, urutan DDATE berikutnya lah yang memasuki kolom
a, ß dan ?, dimana ada pekerjaan no. 5 disitu, begitu seterusnya sampai tidak
ada lagi pekerjaan yang tersisa pada DDATE.
Pada umumnya, beberapa aturan yang ada terbukti lebih baik daripada
aturan
yang
lain.   Akan tetapi,
hal ini
juga dipengaruhi oleh banyak
faktor,
seperti kriteria performa, pola kedatangan pekerjaan, dan lainnya.
Ada aspek
dinamis dari
sebuah
permasalahan Job Shop Sequencing.
Sebuah
jadwal
dari
beberapa pekerjaan telah dibuat, dan sementara
jadwal
tersebut
dilaksanakan, pekerjaan
baru
akan
datang.  
Muhlemann
et
al.,
mengatakan bahwa ada dua kondisi ekstrim untuk menjadwalkan sebuah Job
  
49
Shop:
yang pertama
yaitu
membuat ulang
jadwal
setiap
kali
ada
pekerjaan
baru,
atau
langsung
menyelesaikan jadwal
yang
ada
sebelum
menyelesaikan
pekerjaan
yang baru datang. 
Pada kasus kedua,
ini
mengubah permasalahan
Job Shop dari dinamis
menjadi
statis.   Sementara
itu,
hal
yang baik adalah
menggunakan sebuah
komputer
yang
senantiasa
online
dan
cepat
tanggap
terhadap setiap perubahan yang terjadi.  Sebuah program komputer yang baik
akan
menganalisa status
aktual
saat
sebuah
jadwal
berlangsung, dan
mengaplikasikan
berbagai
macam
kriteria,
hingga
menyusun
ulang
jadwal
yang sedang berlangsung.
Akan tetapi, membutuhkan suatu biaya yang mahal
untuk
menyusun
sebuah
program
komputer
yang
efektif,
dan
ini
menjadi
suatu hambatan bagi banyak perusahaan maupun peneliti pada masa ini
2.2
Algoritma Genetika
2.2.1
Deskripsi Umum Algoritma Genetika
Algoritma Genetika
adalah
suatu
algoritma
yang
didasarkan pada
konsep evolusi dan perubahan gen pada makhluk hidup.  Algoritma Genetika
(AG)
diciptakan
oleh
John
Holland
dari
Universitas
Michigan
pada
tahun
1975. 
Algoritma Genetika adalah sebuah teknik yang
bersifat stokastik dan
berbasis pada ide-ide evolusi dari seleksi alam dan genetika.
  
50
Pada
dasarnya
ada
4
kondisi
yang
sangat
mempengaruhi proses
evaluasi, yaitu:
Kemampuan organisme untuk melakukan reproduksi
Keberadaaan populasi organisme yang bisa melakukan reproduksi
Keberagaman organisme dalam suatu populasi
Perbedaan kemampuan untuk survive
Sesuatu yang
stokastik
adalah sebuah
kejadian yang
bersifat acak,
dimana
munculnya suatu kejadian
tidak
dapat
diramalkan, akan
tetapi,
jika
diukur dari seluruh distribusi observasi, biasanya akan mengikuti sebuah pola.
Algoritma Genetika
sangat
tepat
digunakan untuk
berbagai
macam
permasalahan yang
kompleks
dan
sulit
diselesaikan
dengan
metode
konvensional.  Metode ini dikategorikan sebagai pencari solusi global secara
heuristik.  AG
merupakan
metode
yang terinspirasi oleh biologi evolusioner
seperti
kawin
silang
atau
rekombinasi,
mutasi,
dan
seleksi, khususnya
pada
seleksi, sesuai
dengan prinsip-prinsip yang dicetuskan oleh Charles
Darwin,
yaitu
Survival
of
the
fittest”. 
Dikarenakan di
alam
ini,
kompetisi
antar
individu
untuk
sumber
daya
yang
terbatas
mengakibatkan individu
yang
kuatlah
yang akan
bertahan
dan
mendominasi
yang
lemah.  
Individu
yang
lebih kuat (fit) akan memiliki tingkat survival dan reproduksi yang lebih tinggi
daripada individu yang kurang fit.  Pada kurun waktu tertentu, populasi secara
keseluruhan akan lebih banyak memuat organisme yang fit.
  
51
AG
diimplementasikan dengan
bantuan
simulasi
komputer
dalam
sebuah populasi, dimana sebuah solusi, yakni sebuah individu, diwakili secara
abstrak
oleh
apa
yang
disebut
kromosom.   
Beberapa cara
untuk
menginterpretasikan solusi ke dalam sebuah kromosom, salah satunya adalah
secara binary code,
yaitu sebuah kromosom yang
terdiri dari angka 0 dan 1.
Akan tetapi, pemberian kode yang lain juga memungkinkan.
Walaupun
menggunakan angka
acak,
AG
sama
sekali
tidak
menghasilkan nilai
yang
acak,
sebaliknya
mereka
menggunakan informasi
historis untuk mengarahkan pencarian ke daerah dengan performa yang
lebih
baik.
Perincian proses encoding
dan decoding (yaitu proses dimana sebuah
solusi dikodekan
menjadi sebuah kromosom, dan sebaliknya) tidak dipahami
sepenuhnya, namun beberapa teori yang dicetuskan oleh John Holland adalah
sebagai berikut:
Evolusi merupakan sebuah proses yang beroperasi pada kromosom.
Seleksi alamiah adalah
hubungan antara kromosom dengan performa dari
struktur
yang
dikodekan. 
Proses seleksi alami
menyebabkan kromosom
yang
lebih
baik
untuk
memiliki kemampuan
reproduksi
yang
lebih baik
daripada mereka yang kurang baik.
Proses    reproduksi    ialah    titik    dimana    evolusi    berjalan.    Mutasi
menyebabkan  kromosom-kromosom 
menjadi 
berbeda 
dari 
induknya,
  
52
sedangkan
proses  
kawin   silang  
atau  
biasa  
disebut  
rekombinasi
menghasilkan kromosom yang berbeda namun
masih
membawa sifat dari
induknya.
Evolusi biologis tidak memiliki ingatan, apapun yang diketahui oleh suatu
individu
terdapat dalam
gen
dan
kromosom yang
dibawa oleh
individu
tersebut.
2.2.2
Terminologi Algoritma Genetika
Didalam AG,
terdapat
banyak
sekali
istilah
yang
perlu
diketahui.
Istilah-istilah ini diambil dari istilah biologis, mengingat kesamaan proses dari
AG
ini terhadap proses
yang terjadi pada makhluk hidup. 
Adapun beberapa
persamaan istilahnya adalah sebagai berikut:
Tabel 2.14 Terminologi Algoritma Genetika
Terminologi AG
Arti
Gen/Locust
Bit yang ada di dalam sebuah string
Chromosome/Phenotype
Susunan dari banyak bit yang membentuk suatu string
Genotype
Parameter atau vektor solusi dari Phenotype
Parent
Kromosom orang tua
Offspring
Kromosom anak yang dihasilkan oleh proses operasi AG
Crossover
Kawin silang antara kedua kromosom orang tua
Mutation
Mutasi dari sebuah kromosom hingga menghasilkan kromosom yang
berbeda
Fitness
Nilai kesesuaian dari sebuah kromosom
  
53
2.2.3
Struktur Umum Algoritma Genetika
Pada algoritma ini, teknik pencarian dilakukan sekaligus atas sejumlah
solusi
yang
mungkin yang
dikenal dengan
istilah populasi. 
Individu yang
terdapat
dalam satu
populasi
dikenal dengan
istilah
kromosom. 
Kromosom
ini
merupakan suatu
solusi
yang
masih
berbentuk
simbol.
Populasi
awal
dibangun secara acak, sedangkan populasi berikutnya merupakan hasil evolusi
kromosom-kromosom melalui
iterasi
yang
disebut
dengan
istilah
generasi.
Pada
setiap
generasi,
kromosom akan
melalui
proses
evaluasi
dengan
menggunakan alat ukur yang disebut dengan fungsi fitness.  Nilai fitness dari
suatu
kromosom
akan
menunjukkan kualitas
kromosom
dalam
populasi
tersebut. 
Generasi
berikutnya dikenal dengan
istilah anak atau biasa disebut
offspring,
terbentuk
dari
gabungan
2
kromosom generasi
sekarang
yang
bertindak sebagai induk atau biasa disebut parent dengan menggunakan teknik
penyilangan atau disebut juga crossover.  Selain operator penyilangan, suatu
kromosom
dapat
juga
dimodifikasi
dengan
menggunakan operator
mutasi.
Populasi
generasi
yang
baru
digenbuk
dengan
cara
menyeleksi
nilai
fitness
dari
kromosom
induk dan
nilai
fitness
dari
kromosom anak,
serta
menolak
kromosom-kromosom yang
lainnya
hingga
ukuran
populasi
akan
konstan.
Setelah
melalui
beberapa
generasi,
maka
algoritma ini
akan
konvergen
ke
kromosom terbaik.
  
54
Adapun langkah-langkah dasar Algoritma Genetika adalah:
1.   Membangkitkan inisialisasi awal dari populasi secara acak.
2.   Mencari kesesuaian fitness dari populasi.
3.   Pilih induk dari populasi.
4.   Lakukan kawin silang antara induk yang menghasilkan populasi.
5.   Lakukan mutasi pada individu dalam populasi.
6.   Mencari kesesuaian fitness dari populasi.
7.   Buang individu-individu yang kurang baik.
8.   Kembali ke no. 3.
2.2.4
Komponen-Komponen Utama Algoritma Genetika
2.2.4.1
Teknik Penyandian
Teknik penyandian disini meliputi penyandian gen dari kromosom.
Gen merupakan bagian dari kromosom. Satu gen biasanya akan mewakili
satu  variabel.    Gen dapat  direpresentasikan
dalam  bentuk:  string bit,
pohon,
array,
bilangan
real,
daftar
aturan,
elemen
permutasi, elemen
program,
atau representasi
lainnya
yang dapat diimplementasikan
untuk
operator genetika.
  
55
Gambar 2.1 Contoh Struktur Data Algoritma Genetika
Demikian
juga,
kromosom
dapat
direpresentasikan
dengan
menggunakan:
String Bit
:
10011, 01101, 1101, dst
Bilangan real
:
65.65, -67.98, 562.88, dst
Elemen permutasi
:
E2, E10, E5, dst
Daftar aturan
:
R2, R3, R1, dst
Elemen program
:
Pemrograman genetika
Struktur lainnya
  
56
2.2.4.2
Inisialisasi
Ukuran
populasi
tergantung pada
masalah
apa
yang
akan
dipecahkan dan
jenis
operator
genetika
yang
akan
diimplementasikan.
Setelah ukuran populasi ditentukan, kemudian harus dilakukan inisialisasi
terhadap
kromosom yang
terdapat
pada
populasi
tersebut.  
Inisialisasi
kromosom dilakukan secara
acak,
namun
demikian
harus
tetap
memperhatikan domain solusi dan kendala permasalahan yang ada.
Penyelesaian menggunakan Algoritma Genetika membutuhkan dua
hal yang harus di definisikan:
1.   Sebuah representasi genetika dari solusi dari individu atau kromosom
2.   Sebuah fungsi kesesuaian (fitness function) untuk mengevaluasi individu
Representasi standar
dari
solusi
ialah sebuah array
of
bits, atau
serangkaian    angka
atau
simbol
yang
mewakili
sesuatu
dalam
permasalahannya.
Sifat
utama
yang
membuat
representasi
genetika
ini
mudah   ialah   karena   bagian-bagian 
mereka   mudah   disusun   karena
ukurannya
yang
tetap,
yang
memungkinkan
operasi
persilangan
sederhana.
   Representasi 
dengan 
ukuran   yang   variatif   juga   dapat
digunakan, akan tetapi implementasi persilangan akan lebih sulit.
Fungsi
kesesuaian
didefinisikan untuk
representasi
genetika
dan
mengukur kualitas dari solusi yang diwakilkan.  Fungsi kesesuaian selalu
bergantung pada
permasalahan. 
Contohnya,  pada
permasalahan
sebuah
tas, 
kami 
ingin 
memaksimalkan 
nilai 
total 
dari  obyek 
yang 
dapat
  
57
dimasukkan  ke 
dalam
tas 
dengan
sebuah
kapasitas
yang  tetap.
Representasi solusi dapat berupa bits, dimana setiap
bit mewakili sebuah
objek,
dan
nilai
dari
setiap
bit
yaitu 0
atau
1
mengartikan apakah
objek
tersebut akan
dimasukkan
ke
dalam
tas
atau
tidak.   Tidak
setiap
saat
representasi seperti
ini
dapat digunakan, dimana ukuran dari objek dapat
melebihi ukuran tas.
Oleh karena itu diperlukan yang namanya kesesuaian
dari solusi, yaitu ialah jumlah nilai dari seluruh objek di dalam tas fisibel,
bila tidak maka tidak sesuai.  Dalam beberapa permasalahan, bahkan sulit
untuk
mendefinisikan kesesuaian,
dan
dalam
kasus-kasus
seperti
ini
digunakan Algoritma Genetika interaktif.
Setelah 
mendefinisikan  representasi 
genetika 
dan 
fungsi
kesesuaian, AG berlanjut
untuk menginisialisasi
sebuah populasi.   Pada
awalnya
beberapa
solusi
dari
permasalahan yang
terkait
dikumpulkan
secara acak, kelompok solusi ini akan membentuk sebuah populasi.  Pada
kasus pengurutan pekerjaan pada Job Shop, solusi berupa beberapa urutan
kombinasi
pekerjaan.  
Ukuran
populasi
bergantung pada
sifat
dari
permasalahan, tetapi
biasanya
mengandung
banyak
sekali
solusi
yang
mungkin
diangkat. 
Secara
tradisional, solusi
dibangkitkan secara
acak,
menutupi seluruh
jangkauan
kemungkinan
lingkup
penyelesaian (search
space). 
Namun
terkadang,
solusi
permasalahan dapat
dibibitkan
pada
bagian-bagian tertentu dimana solusi optimal dapat ditemukan.
  
58
2.2.4.3
Pemilihan Operator
Setelah
sebuah
populasi
awal
dibangkitkan, algoritma
melewati
beberapa operator, yakni:
Seleksi, yang memberikan hasil kromosom terkuat
Genetika, berupa kawin silang (crossover) dan mutasi (mutation)
2.2.4.4
Operator Seleksi
Operator ini memiliki beberapa sifat dasar yaitu:
1.   Ide  kunci:  memberikan
preference  kepada  solusi  yang  lebih  baik,
hingga
memungkinkan mereka
untuk
menurunkan
gen-gen
mereka
kepada generasi yang berikutnya
2.   Tingkat kebaikan setiap individu bergantung pada kesesuaiannya
3.   Kesesuaian dapat ditetapkan oleh sebuah
fungsi obyektif atau sebuah
penilaian subyektif
Pada  setiap  generasi,  sebuah  proporsi  dari  populasi  yang  ada
dipilih
untuk
menurunkan generasi
yang
baru.  
Solusi
individu
dipilih
melalui
proses
yang
berbasis
kesesuaian (fitness-based),
dimana
solusi
yang
lebih
sesuai
atau
kuat
diukur
dengan
fungsi
kesesuaian cenderung
lebih mudah untuk terpilih.  Beberapa metode seleksi mengukur tingginya
kesesuaian dari setiap solusi dan
lebih
memilih yang
terbaik. 
Beberapa
  
59
metode lainnya hanya mengukur sampel acak dari populasi, karena proses
ini dapat memakan waktu banyak.
Kebanyakan
fungsi 
yang  digunakan
bersifat
stokastik
dan
dirancang sehingga
proporsi
kecil
dari
mereka yang
kurang sesuai
tetap
dapat
kemungkinan untuk
terpilih.  
Hal
ini
dilakukan
untuk
menjaga
supaya
perbedaan
populasi
tetap
besar,
yang
menghindari konvergensi
premature pada solusi yang buruk.
Beberapa metode seleksi adalah:
1.   Roulette-Wheel Selection
Induk 
dipilih 
menurut  kesesuaiannya.    
Semakin  baik
kromosom, semakin tinggi kesempatannya untuk terpilih. 
Bila semua
kromosom dari
populasi
diletakkan
pada
sebuah
roda
rolet,
setiap
kromosom memiliki
luas
bagian
yang
berdasarkan fungsi
kesesuaiannya, seperti
pada
gambar
dibawah.   
Angka
acak
dibangkitkan untuk
memilih kromosom. 
Kromosom
yang
memiliki
kesesuaian lebih besar
memiliki probabilitas terpilih yang lebih besar.
Kekurangan metode
ini
ialah
bila
kromosom
terbaik
memiliki
kesesuaian yang
sangat
besar
dari
seluruh
roda,
maka
kromosom
lainnya akan memiliki kesempatan yang sangat kecil untuk terpilih.
  
60
Gambar 2.2 Roulette Wheel Selection
2.   Rank-based fitness assignment
Pertama 
populasi 
diurutkan,  lalu 
setiap 
kromosom
mendapatkan ranking
dari
urutan
kesesuaiannya.  
Makin
besar
kesesuaiannya, maka rankingnya makin baik.  Setelah itu dimasukkan
ke dalam roda rolet.  Bedanya dengan metode roda rolet diatas adalah
jika metode roda rolet sebelumnya tidak diurutkan, maka metode rank
ini
mengurutkan, sehingga
roda
rolet
yang
terdapat
akan
teratur
urutannya.   Namun
metode
ini
akan menuntun ke konvergensi
yang
lebih  lambat,  karena  kromosom  yang  terbaik  tidak  jauh  berbeda
dengan yang lain.
Gambar 2.3 Rank-Based Fitness Assignment
  
61
3.   Steady-state selection
Bukan
merupakan metode
seleksi,
tetapi
tujuan
utama
dari
metode
ini
ialah
sebagian
besar
dari
kromosom harus
bertahan
ke
generasi
berikutnya.  
Dalam
setiap
generasi, beberapa kromosom
dengan
kesesuaian
yang
tinggi
dipilih
untuk
menghasilkan turunan
baru.  
Lalu
beberapa
kromosom dengan
kesesuaian
yang
rendah
dikeluarkan
dan
turunan-turunan baru
menggantikannya. 
Sisa
dari
populasi bertahan ke generasi berikutnya.
4.   The Elitism
Bila
membuat
populasi
baru
dengan
persilangan dan
mutasi,
kita  memiliki
kesempatan
yang  besar  untuk
kehilangan
kromosom
yang
terbaik. 
Metode
ini
menyalin
beberapa
kromosom terbaik
ke
populasi baru, sisanya dilakukan dengan cara biasa.  The Elitism dapat
meningkatkan 
kinerja 
AG   karena 
menghindari 
hilangnya 
solusi
terbaik.
5.   Tournament Selection
Metode
ini
menjalankan sebuah
persaingan diantara beberapa
individu yang
dipilih
secara
acak
dari
populasi
dan
memilih
pemenangnya untuk disilangkan.
  
62
Tekanan
persaingan dapat
dirubah
dengan
mengubah ukuran
persaingan.     Jika  lebih  besar, 
maka  individu 
yang 
lebih  lemah
memiliki
kesempatan yang
lebih
kecil
untuk
terpilih.  
Kelebihan
metode
ini
adalah
bekekerja
pada
arsitektur
yang
berbeda-beda dan
mengizinkan tekanan persaingan untuk mudah diubah.
2.2.4.5
Operator Genetika
Langkah berikutnya ialah membangkitkan populasi solusi generasi
kedua dari
mereka yang terpilih dengan menggunakan operator genetika,
yaitu
persilangan dan
mutasi.  
Untuk
setiap
solusi
yang
dihasilkan,
sepasang
solusi
induk
dipilih
untuk
member
keturunan
dari
kumpulan
yang
dipilih sebelumnya. 
Dengan
menghasilkan sebuah
solusi
turunan
menggunakan persilangan
dan
mutasi,
sebuah
solusi
baru
akan
muncul
yang
memiliki
sifat-sifat dari
induknya. 
Induk-induk baru
dipilih
untuk
setiap
turunan,
dan
proses
ini
berlanjut hingga
sebuah
solusi
populasi
dengan
ukuran
yang
sesuai
telah didapatkan. 
Proses
ini
akhirnya akan
menghasilkan populasi
kromosom
generasi
berikutnya
yang
berbeda
dengan
generasi awal.  Secara umum, rata-rata kesesuaian populasi akan
meningkat  dengan  prosedur 
ini,  karena 
hanya 
individu 
terbaik  dari
generasi pertama telah dipilih
untuk
member keturunan, bersama dengan
mereka
yang
kurang
baik.  
Beberapa
parameter Algoritma Genetika
berdasarkan para ahli:
  
63
Menurut De Jong, untuk permasalahan dengan solusi besar, digunakan
Pop; Pc; P
m
:
50; 0.6; 0.001
Menurut
Grefenstette,
untuk jika
fitness
dari
individu
yang
terbaik
yang diambil, digunakan Pop; Pc; P
m
:
80; 0.45; 0.01
Jika  rata-rata 
fitness 
tiap 
generasi  digunakan 
sebagai 
indikator,
digunakan Pop; Pc; P
m
:
30; 0.95; 0.01
Beberapa dari sekian banyak operator genetika akan dijelaskan di
bawah ini:
1.   Crossover
a.   One Point Crossover (Rekombinasi satu titik)
Penyilangan satu titik adalah penyilangan yang terjadi pada
gen
antara
dua
invididu
kromosom induk setelah
satu
titik
dari
kromosom mereka.
Gambar 2.4 One Point Crossover
  
64
Pada
gambar
diatas,
terlihat bahwa
kawin
silang
terjadi
setelah
bit
ke-5
pada
kromosom.  
Dimana bit
ke
6,
7,
8
dari
kromosom induk saling ditukar, sehingga menghasilkan kromosom
anak.
b.   Two Point Crossover (Rekombinasi dua titik)
Rekombinasi
dua 
titik 
terjadi
pada  dua  titik 
pada
kromosom. 
Sehingga
yang
ditukar
hanyalah gen-gen
yang
ada
diantara titik-titik tersebut.
Gambar 2.5 Two Point Crossover
Pada gambar diatas dapat dilihat bahwa rekombinasi terjadi
setelah bit ke – 3 dan sebelum bit ke -7, sehingga yang ditukar
hanyalah gen ke 4, 5, dan 6.
  
65
c.   Partially Matched Crossover
Pada
beberapa
kasus,
jenis-jenis
rekombinasi diatas
tidak
dapat   diaplikasikan,   karena   kromosom   akan   menjadi   suatu
individu yang
tidak
fisibel.  
Sebagai contoh
pada
kasus
TSP
(Travelling Salesman Problem) dan pada kasus Job Sequencing.
Jika
menggunakan metode
diatas,
maka
akan
terjadi
pengulangan pada
kota-kota
atau
Job
yang
diurutkan,
sehingga
banyak
terjadi kromosom yang
tidak fisibel. Oleh karena
itu,
ada
suatu metode yang namanya PMX (Partially Matched Crossover).
  
66
Gambar 2.6 Partially Matched Crossover
Pada
PMX, pertama-tama dilakukan Two Point Crossover.
Setelah itu, setiap gen
yang ada diluar zona Two Point Crossover
yang  memiliki  kembaran  di  dalam  area  Two Point Crossover,
saling ditukarkan antara kromosom orang tua masing masing.
  
67
Ciri-ciri operator persilangan adalah:
Faktor 
cirri 
utama 
dari 
AG  dibandingkan  dengan 
teknik
optimasi lainnya.
Untuk
menentukan
seberapa banyak
dari
populasi
yang
akan
disilangkan, ditetapkan sebuah peluang persilangan (crossover
probability).
Dua  individu  diambil  dari  populasi  menggunakan
operator
seleksi untuk menjadi induk dan dikawinkan.
Sebuah atau beberapa titik pada kromosom dipilih secara acak,
atau menurut aturan.
Dua
turunan
yang dihasilkan dari
perkawinan
ini dimasukkan
ke dalam populasi dari generasi berikutnya.
Dengan
menggabungkan
beberapa bagian
dari
individu
yang
baik, proses
ini cenderung akan
membuat
individu yang
lebih
baik lagi.
2.   Mutation
Untuk
operasi
mutasi,
hanya
satu
kromosom yang
diseleksi.
Penelitian
ini
menggunakan operator
mutasi
bernama
Order-Based
Mutation.
Dimana
gen-gen
didalam kromosom hanya
akan
ditukar
posisinya.
  
68
Tujuan  dari  mutasi  adalah  untuk  menjaga  keanekaragaman
dalam populasi,
dan
menghindari terjadinya
konvergensi premature,
atau dikenal juga dengan local optimum.
Gambar 2.7 Order-Based Mutation
Menggunakan operator-operator genetika akan memiliki beberapa
efek, yakni:
Menggunakan
seleksi
saja
akan
cenderung
mengisi
populasi dengan
salinan dari individu yang terbaik dalam populasi.
Menggunakan
operator
seleksi
dan
persilangan saja akan cenderung
mengakibatkan algoritma untuk berkonvergensi pada solusi
yang baik
namun sub-optimal.
Menggunakan
mutasi saja
akan
memberikan sifat acak
dalam search
space.
Menggunakan  seleksi  dan  seleksi  dan 
mutasi  akan  menghasilkan
sebuah algoritma yang bersifat parallel, dan hill climbing.
  
69
2.2.4.6
Terminasi
Proses
generasional ini diulangi sampai sebuah kondisi terminasi
sudah tercapai.
Kondisi terminasi yang umum adalah:
Solusi yang memuaskan kriteria sudah ditemukan.
Jumlah generasi tetap sudah tercapai.
Anggaran yang dialokasikan (waktu/uang komputasi) sudah tercapai.
Kesesuaian solusi
yang terbaik sedang
mencapai atau telah
mencapai
sebuah
plateau,
atau
dataran
tinggi
ynag
rata, sehingga
iterasi-iterasi
berikutnya tidak lagi menghasilkan nilai yang lebih baik.
Inspeksi manual.
Kombinasi dari yang diatas.
2.2.5
Kelebihan dan Kekurangan Algoritma Genetika
Beberapa kelebihan dari metode ini adalah:
Proposal
atau solusi yang buruk tidak mempengaruhi solusi akhir karena
langsung dibuang.
Sifat induktif dari AG berarti metode ini tidak perlu mengetahui peraturan
apapun
dari
permasalahan,
ia
bekerja berdasarkan
peraturan
internalnya
sendiri.
Dapat memberikan informasi mengenai stabilitas dari solusi.
  
70
Dapat     digunakan     untuk    
memberikan     solusi     optimasi     yang
multidimensional.
Beberapa kekurangan dari metode ini adalah:
Tidak selalu menemukan global optimum yang pasti.
Karena
proses
evolusi
induktif,
pada
alam
hidup
tidak
berputar
menuju
solusi
yang
baik,
tetapi
berputar menjauhi
yang
buruk.  
Ini
dapat
mengakibatkan sebuah spesies berputar menuju kebuntuan evolusioner.
Membutuhkan jumlah evaluasi yang besar dari fungsi kesesuaian.
Memerlukan komputer untuk penanganannya.
2.2.6
Simulasi Sederhana Permasalahan Algoritma Genetika
Sebuah contoh permasalahan. 
Carilah sebuah
nilai variabel x dan
y
dengan fungsi x + y = 15.  Dengan beberapa parameter AG sebagai berikut:
Ukuran populasi = 4
Crossover probability (Pc) = 0.7
Mutation probability (Pm) = 0.1
Max Generation = 3
Struktur data biner, dengan perincian sebagai berikut:
o
0:      
0000
o
1:      
0001
o
2:      
0010
  
71
o
3:
0011
o
4:
0100
o
5:
0101
o
6:
0110
o
7:
0111
o
8:
1000
o
9:
1001
Fungsi kesesuaian
?
?
?
?
?
Selanjutnya, tahapan tahapan dibagi dalam beberapa iterasi / generasi:
1.   Generasi 0 (Inisialisasi awal)
o
Bangkitkan populasi acak
Tabel 2.15 Populasi Kromosom pada Generasi 0
Kromosom
Genotip
Nilai Fitness
10000101
4 5
9/15
00000001
0 1
1/15
00110101
3 5
8/15
10000000
8 0
8/15
o
Seleksi dan kawin silang
P1: 10000000
P2: 00110101
  
72
One Point Crossover setelah bit ke 3
C1: 10010101
C2: 00100000
o
Seleksi dan mutasi
P: 00000001
Flip Mutation pada bit ke 4
C: 00010001
o
Populasi baru bertambah
Tabel 2.16 Total Populasi Kromosom pada Generasi 0
Kromosom
Genotip
Nilai Fitness
10000101
4 5
9/15
00000001
0 1
1/15
00110101
3 5
8/15
10000000
8 0
8/15
10010101
9 5
14/15
00100000
4 0
4/15
00010001
1 1
2/15
o
Kromosom-kromosom yang nilai fitnessnya rendah dibuang
Tabel 2.17 Populasi Baru Kromosom pada Generasi 0
Kromosom
Genotip
Nilai Fitness
10000101
4 5
9/15
00110101
3 5
8/15
10000000
8 0
8/15
10010101
9 5
14/15
  
73
2.   Generasi 1
o
Populasi berdasarkan generasi sebelumnya
Tabel 2.18 Populasi Kromosom pada Generasi 1
Kromosom
Genotip
Nilai Fitness
10000101
4 5
9/15
00110101
3 5
8/15
10000000
8 0
8/15
10010101
9 5
14/15
o
Seleksi dan kawin silang
P1: 00110101
P2: 10000000
One Point Crossover setelah bit ke 4
C1: 00110000
C2: 10000101
o
Seleksi dan mutasi
P: 10000101
Flip Mutation pada bit ke 7
C: 10000111
  
74
o
Populasi baru bertambah
Tabel 2.19 Total Populasi Kromosom pada Generasi 1
Kromosom
Genotip
Nilai Fitness
10000101
4 5
9/15
00110101
3 5
8/15
10000000
8 0
8/15
10010101
9 5
14/15
00110000
3 0
3/15
10000101
8 5
13/15
10000111
8 7
15/15
o
Kromosom-kromosom yang nilai fitnessnya rendah dibuang
Tabel 2.20 Populasi Baru Kromosom pada Generasi 1
Kromosom
Genotip
Nilai Fitness
10000101
4 5
9/15
10010101
9 5
14/15
10000101
8 5
13/15
10000111
8 7
15/15
o
Didapatkan bahwa kromosom yang
memiliki
nilai kesesuaian
paling
tinggi adalah kromosom 1000 0111, dengan genotip 8 dan 7.  Hal ini
berarti nilai X = 8 dan Nilai Y = 7