Anda di halaman 1dari 9

BAB 2

TINJAUAN PUSTAKA

2.1 PENJADWALAN SIDANG TUGAS AKHIR


Dalam penjadwalan sidang tugas akhir ini terdapat beberapa batasan yang disebut dengan
constrain. Constraint ini dibagi menjadi dua, yaitu hard constraint dan soft constraint.

2.1.1 Hard Constrain


Hard constraint adalah batasan yang tidak boleh dilanggar sama sekali. Hard Constrain
dari permasalahan penjadwalan tugas akhir ini yaitu
H1. Jadwal sidang tugas akhir mahasiswa tidak boleh bentrok dengan jadwal dosen penguji
maupun dosen pembimbing
H2. Dosen pembimbing tidak boleh menjadi dosen penguji
H3. Mahasiswa hanya ditempatkan dalam 1 slot jadwal

2.1.1 Soft Constrain


Soft constraint merupakan batasan yang masih boleh dilanggar tetapi dianjurkan untuk
tidak dilanggar agar solusi yang dihasilkan baik. Soft Constrain dari permasalahan ini yaitu
S1. Keahlian dosen penguji sesuai dengan topic dari tugas akhir mahasiswa

2.2 FUZZY RELATION


Fuzzy relation merupakan suatu metode untuk menyatakan relasi berupa fuzzy antara dua entity
dalam sebuah wilayah/domain. Relasi ini dinyatakan dalam interval [0,1] yang menyatakan derajat
asosiasi dari dua entity tersebut [13].
Misalkan R adalah fuzzy relation antara dua set X = {Hijau, Kuning, Merah} dan Y = {Mentah,
Semi Matang, Matang } , yang melambangkan konsep relasi Warna Kematangan pada Tomat . Relasi
dapat ditulis sebagai berikut

R ( X ,Y )=

1
0.3
0
0.5
1
+
+
+
+
+
Mentah , Hijau Mentah , Kuning Mentah , Merah SemiMatang , Hijau SemiMatang , Kuning S
(2.1)

Atau dalam bentuk representasi matriks 2 dimensi nya sebagai berikut


R(X,Y)
Hijau
Kuning
Merah

Mentah
Semi Matang
1
0.5
0.3
1
0
0.2
Tabel 2.1 Matriks relasi antara warna tomat dengan kematangan

Matang
0
0.4
1

Konsep fuzzy relation dapat diperluas menjadi relasi antara dua fuzzy set dalam sebuah
domain. Relasi ini dapat dihitung dengan menggunakan konsep fuzzy conditional probabillty
relation [13].
Misalkan x dan y adalah dua membership function dalam domain D, unttuk fuzzy set X
dan Y dari fuzzy power set F(D) [13]. R adalah fuzzy conditional probability relation antara dua
fuzzy set X dan Y, yang dinyatakan R: F(D) x F(D) [0, 1] dan didefinisikan sebagai

min {x ( d ) , y (d )}
Y =
y ( d)
d D

d D

X Y

R ( X , Y )=

Dimana R(X,Y) adalah derajat asosiasi Y terhadap X dan |Y| =

(2.2)

y (d )

d D

yang

merupakan cardinality dari Y [13].


Contoh misalkan terdapat 3 buah partisi fuzzy set dalam Domain D = {d1, d2, d3, d4, d5,
d6} dengan nilai
P 1 = {1/d 1 , 0.8/d 2 , 0.2/d 3 },
P 2 = {0.2/d 2 , 0.8/d 3 , 0.4/d 4 },
P 3 = {0.6/d 4 , 1/d 5 , 1/d 6 },
Perhitungan derajat kemiripan P1 terhadap P2 adalah sebagai berikut

R ( P 1, P2 ) =

min ( p 1 ( d 2 ) , p 1 ( d 3 ) ) +min (p 2 ( d 2 ) , p 2 ( d 3 ))
p 2(d )

R ( P 1, P2 ) =

min ( 0.8, 0.2 ) +min( 0.2,0.8) 0.2+0.2


=
=0.29
0.2+0.8+0.4
1.4

(2.3)

(2.4)

Sedangkan untuk derajat P1 terhadap P2 nya sebagai berikut

R ( P 2, P1 ) =

min ( p 2 ( d 2 ) , p 2 ( d 3 ) ) + min ( p 1 ( d 2 ) , p 1 ( d 3 ) )
p 1 ( d )

R ( P 1, P2 ) =

(2.5)

min ( 0.2, 0.8 ) +min (0.8, 0.2) 0.2+0.2


=
=0.20
1+0.2+0.8
2

(2.6)

Bentuk representasi matriksnya sebagai berikut


X/Y
P1
P2
P3

P1

P2

1
0.29
0.20
1
0
0.29
Tabel 2.2 Matriks Relasi antara P1, P2, P3

P3
0
0.15
1

Dapat dilihat dari table diatas bahwa nilai R(P1,P2) tidak sama dengan nilai R(P2,P1)

3.2 GENETIC ALGORITHM


Genetic algorithm adalah algoritma pencarian heuristic yang didasarkan pada mekanisme
seleksi dan evolusi genetika secara alami [2]. Genetic Algorithm pertama kali dikembangkan
oleh John Holland dari Universitas Michigan pada tahun 1975 di Amerika Serikat [3]. Algoritma
ini terinspirasi dari Teori Evolusi yang dicetuskan oleh Charles Darwin. Genetic algorithm

merupakan algoritma yang berbasis pada pendekatan genetika dan proses seleksi untuk
mendapatkan suatu solusi.
Beberapa istilah yang digunakan pada algoritma genetika diantaranya :
1. Gen
2.
3.
4.
5.

Allele
Kromosom
Populasi
Fitness

6. mating pool
7. Generasi

: sebuah nilai yang menyatakan satuan dasar yang membentuk suatu arti
Tertentu dalam kesatuan gen. biasanya berupa biner, float integer [4]
: nilai dari gen [4]
: kumpulan dari gen yang membentuk nilai tertentu [4]
: Sekumpulan dari individu [4]
: Sebuah nilai yang mengindikasikan baik tidaknya sebuah kromosom [5].
Dengan kata lain kualitas dari sebuah individu
: sebuah tempat untuk menyimpan orang tua
: siklus dari proses evolusi atau iterasi dalam proses algoritma [4]

Solusi dari permasalahan dikodekan dalam bentuk kromosom yang terdiri atas komponen
gen. Gen ini dapat berbentuk biner, float, dan kombinatorial. Pada akhrinya solusi yang
dihasilkan kelak bisa saja banyak bahkan tak berhingga.
Secara umum skema dari algoritma genetika yaitu [6]:
Input

Representas
i
Individu
Inisialisasi
Populasi

Tidak

Evaluasi
fitness

Seleksi

Iterasi
Sudah Terpenuhi ?

Cross Over

Mutasi

Ya

Output

Gambar 2.1 Skema Umum Genetic Algorithm

Bentuk Pseudocode nya yaitu [7]:


procedure AlgoritmaGenetika
begin
t 0
inisialisasi P(t); //orang tua
evaluasi P(t);
while (bukan kondisi berhenti) do
kombinasi P(t) C(t); //anak
evaluasi C(t);
pilih P(t+1) dari P(t) dan C(t);
t t + 1;
endwhile
end
Prosedur genetic algorithm terdiri dari :
1. Pengkodean (encoding) suatu individu/solusi. Yang di kodekan disini yaitu gen dari
kromosom. Algoritma genetika mengkodekan gen sebagai bilangan real, decimal, biner,
atau yang lain sesuai dengan permasalahan.
2. Inisialisasi jumlah individu, lalu pembangkitan secara acak pada generasi ke - 0
3. Evaluasi masing masing kromosom dengan menghitung nilai fitness
4. Seleksi individu individu yang akan dijadikan sebagai orang tua dengan memilih nilai
fitness yang terbaik
5. Rekombinasi masing masing individu dengan melakukan penyilangan (cross over)
6. Mutasi , dengan mengubah beberapa nilai dari gen pada kromosom. Dengan tujuan untuk
menghasilkan individu yang lebih baik dari pada sebelumnya
7. Update jumlah generasi dan ulangi langkah 2 sampai jumlah generasi maksimum tercapai

2.2.1 REPRESENTASI INDIVIDU


Individu merupakan bentuk solusi dari permasalahan. Individu bisa dikatakan sama dengan
kromosom, yang merupakan kumpulan dari gen. Dalam genetic algorithm classical, kromosomnya

diwakili sebagai biner [6]. Misalkan suatu individu x 1 = 7 dan x2 = 5 dikodekan menjadi kromosom
01110101. Sebaliknya kromosom 01110101 dikodekan menjadi individu x 1 = 7 dan x2 = 5. Untuk lebih
jelasnya bisa dilihat digambar berikut :
Pengkodean
(encoding)

x1 = 7 dan x2 = 5

x1 = 6 dan x2 = 4

Pengkodean
(decoding)

2.2.2 NILAI FITNESS

Gambar 2.2 Proses Encoding dan Decoding Kromosom

Nilai fitness merupakan ukuran baik tidaknya sebuah individu. Dalam dunia nyata, individu
dengan nilai fitness yang tinggi memiliki potensi bertahan hidup yang lebih tinggi , dibandingkan dengan
individu yang memiliki nilai fitness yang rendah [11]. Dalam genetic algorithm ini nilai fitness berupa
sebuah fungsi. Fungsi tersebut berbeda beda untuk setiap permasalahan, bergantung pada orang
inginnya yang seperti apa. Untuk secara umumnya fungsi fitness adalah sebagai berikut

f=

1
a+ x

(2.7)

Dimana a adalah bilangan yang dianggap sangat kecil untuk mencegah membagi dengan bilangan
nol. Nilai x disini sebagai nilai penalty.Penalty merupakan nilai pelanggaran dari kendala pada suatu
kromosom. Biasanya nilai penalty ini sudah ditentukan.

2.2.3 SELEKSI ORANG TUA


Pemilihan kromosom sebagai calon orang tua dilakukan secara proporsional berdasarkan nilai
nilai fitnessnya [7]. Seleksi ini bertujuan untuk memperoleh calon orang tua yang baik, karena calon
orang tua yang baik akan menghasilkan anak yang baik. Pada permasalahan ini semakin besar nilai fitness
maka semakin besar pula peluang dia terpilih. Salah satu algoritma seleksi umum yang digunakan yaitu
roulette-wheel. Masing masing kromosom menempati lingkaran pada roda roulette-wheel sesuai dengan
nilai fitnessnya . Ilustrasinya sebagai berikut

Kromosom

Fitness

Peluang

K1
K2
K3
K4

2
1
1
4

1/4
1/8
1/8
1/8

K1
K4
K2

Jumlah

1
K

Tabel 2.3 Fitness dan Peluang Kromosom

Gambar 2.3 Roulette-wheel

Seleksi dengan menggunakan roulette-wheel, kromosom yang memiliki fitness yang


besar menempati ruangan yang lebih besar dalam roda, sehingga memiliki peluang lebih besar
untuk terpilih sebagai orang tua [7]. Dalam algoritma ini tidak ada fitness yang memiliki peluang 0,
dikarenakan mungkin saja kromosom yang fitness nya rendah jika dikombinasikan dengan kromosom
yang fitness nya tinggi kelak akan menghasilkan kromosom yang jauh lebih tinggi dibandingkan dengan
orang tuanya [7] . setelah diperoleh orang tua nya, kromosom tersebut dipindahkan ke sebuah tempat
yang dinamakan dengan mating pool.

2.2.2 REKOMBINASI
Setelah kromosom kromosom terpilih sebagai orang tua dilakukanlah rekombinasi untuk
menghasilkan anak. Istilah rekombinasi ini bisa disebut juga dengan cross-over. Rekombinasi ini
memiliki probabilitas sehingga tidak semua orang tua melalui proses ini . probabilitas ini dinyatakan
dengan variable Pc yang telah ditentukan. Terdapat 3 jenis rekombinasi yang biasa digunakan, yaitu
rekombinasi satu titik (1-point cross-over), rekombinasi banyak titik (N-point cross-over), dan
rekombinasi seragam (uniform cross-over) [7]. Untuk lebih jelasnya bisa dilihat pada gambar dibawah ini
Titik

Orangtua
1

0
`

Orangtua
2

0
`

Anak
1

Anak
2

(a)
Titik 1

Titik 2

Orangtua
1

0
`

0
`

Anak
1

Orangtua
2

Anak
2

(b)

Orangtua
1
Pola
Orangtua
2

0
`

0
`

Anak
1

Anak
2

(c)

Gambar 2.4 Tiga Jenis Rekombinasi pada Genetic


Algorithm

(a) Rekombinasi satu titik (1-point cross-over), ditentukan suatu titik rekombinasi, misalkan
titik ke-2. Rekombinasi menghasilkan 2 anak, anak pertama memiliki gen 1 dan gen 2
dari orang tua 1, dan gen 3 samapi gen 8 berasal dari orangtua 2 [7]. Begitupun
sebaliknya untuk anak kedua.
(b) Rekombinasi banyak titik (N-point cross-over), ditentukan beberapa titik rekombinasi,
misalkan disini rekombinasinya pada titik ke-2 dan ke-5. Maka gen gen orang tua
diwariskan secara menyilang (zigzag) kepada 2 anaknya, berdasarkan posisi titik tersebut
[7]. Rekombinasi banyak titik ini biasanya disesuaikan dengan jumlah gen yang ada pada
kromosom [7].
(c) Rekombinasi seragam (uniform cross-over), dilakukan berdasasarkan pola acak.

2.2.2 MUTASI
Proses mutasi ini mengubah nilai gen dari kromosom. Mutasi ini terjadi secara acak pada setiap
gen dan bersifat bebas [7]. Dengan artian tidak mempengaruhi gen gen yang lain . Seperti proses
rekombinasi, proses mutasi ini terdapat probabilitas yang dinyatakan dengan P m yang telah ditentukan.
Jika terdapat kromosom yang nilainya kurang dari P m yang telah ditentukan, maka dilakukanlah proses
mutasi. Misalnya dengan mengubah semua atau beberapa nilai gen 0 menjadi 1 ataupun sebaliknya, jika

nilai gen tersebut adalah biner. Jika jumlah gen adalah L, maka diperlukan pembangkitan acak nilai gen
sebanyak L kali [7]. Probabilitas mutasi (P m) biasanya ditentukan antara 1/NL sampai 1/L [7]. Dimana N
adalah jumlah kromosom dalam populasi dan L adalah jumlah gen dalam satu kromosom [7].

2.2.2 SELEKSI SURVIVOR


Pada seleksi survivor ini dilakukan penggantian kromosom lama dengan kromosom yang baru
yang dihasilkan dari proses rekombinasi dan mutasi. Terdapat 2 macam seleksi survivor, yaitu steady
state dan general replacement.
(a) Steady State yaitu dilakukan pergantian kromosom setiap dihasilkan 2 anak rekombinasi.
Kedua anak ini menggantikan kromosom yang nilai fitnessnya paling rendah atau kriteria
lainnya.
(b) general replacement yaitu pergantian semua kromosom setiap kali dihasilkan populasi baru.
Semua kromosom baru menggantikan kromosom yang sebelumnya.