Analisis Kinerja Greedy Crossover (Gx) Pada Algoritma Genetika Untuk Rostering

20

BAB 2
TINJAUAN PUSTAKA

2.1. Pengantar
Algoritma genetika merupakan algoritma yang lahir dari sebuah inspirasi teori evolusi
Darwin yang mengatakan anggota dari spesies yang lemah lambat laun akan
mengalami kepunahan sedangkan anggota dari spesies yang kuat akan tetap dapat
bertahan hidup dan berkembang biak untuk kelangsungan hidup spesies tersebut.
Algoritma genetika merupakan sebuah algoritma pencarian yang berdasarkan
mekanisme seleksi alam dan genetika alam (Goldberg, 1989).

2.1.1. Istilah-istilah dasar dalam algoritma genetika

Didalam algoritma genetika kita perlu mengetahui beberapa pengertian dari istilahistilah yang digunakan didalam algoritma tersebut, yaitu :
1. Gen (Genotype) adalah variabel dasar yang membentuk suatu kromosom, yang
dapat dinyatakan dalam bentuk biner, float, integer dan karakter.
2. Allele adalah nilai dari suatu gen, dapat berbentuk biner, float, integer maupun
karakter.
3. Kromosom adalah gabungan dari gen-gen yang membentuk arti tertentu.

Dalam algoritma genetika ada beberapa macam bentuk kromosom, yaitu :
a. Kromosom Biner : kromosom yang disusun dari gen-gen yang bernilai
biner, kromosom ini memiliki tingkat keberhasilan yang tinggi. Kromosom
ini baik digunakan untuk permasalahan yang parameter dan range nilainya
tertentu.
b. Kromosom Float : kromosom yang disusun dari gen-gen yang bernilai
pecahan dan yang bernilai bulat. Kromosom ini merupakan model yang
memiliki parameter yang banyak dan tingkat keberhasilan dari kromosom
ini rendah.
c. Kromosom String : kromosom yang disusun dari gen-gen yang bernilai
string.

Universitas Sumatera Utara

21

d. Kromosom Kombinatorial : kromosom yang disusun dari gen-gen yang
dinilai berdasarkan urutannya.
4. Individu adalah kumpulan dari beberapa kromosom yang membentuk satu
kesatuan, individu menyatakan salah satu kemungkinan solusi dari suatu

permasalahan.
5. Populasi adalah sekumpulan individu yang akan diproses secara bersama-sama
dalam satu siklus proses evolusi.
6. Generasi menyatakan satu kesatuan siklus proses evolusi.
7. Iterasi adalah bilangan yang menunjukkan tingkat generasi dan perulangan.
8. Nilai fitness menyatakan seberapa baik nilai dari suatu individu atau solusi
yang dihasilkan, dan nilai inilah yang dijadikan acuan untuk mencari nilai
optimal dari suatu permasalahan.
9. Fungsi pinalti : fungsi matematis yang dilibatkan dalam proses pencarian nilai
optimum pada masalah optimasi dengan kendala.
10. Probabilitas adalah peluang terjadinya sesuatu.

2.1.2. Siklus algoritma genetika.

David Golberg adalah orang yang pertama sekali yang memperkenalkan siklus
algoritma genetika, dimana siklus ini dimulai dengan membangkitkan sejumlah
individu sebagai populasi awal secara random/acak, populasi awal ini yang nantinya
akan disebut dengan populasi orang tua/induk (Parents), kemudian setiap individu
dihitung nilai fitnessnya. Proses selanjutnya adalah dengan menyeleksi individu yang
memiliki nilai fitness paling baik. Kromosom-kromosom yang terpilih pada proses

seleksi akan dilanjutkan ke proses selanjutnya yaitu proses reproduksi yang dikenal
dengan

proses crossover, kromosom yang dihasilkan dari proses crossover akan

dilanjutkan ke proses berikutnya yaitu proses mutasi. Pada proses mutasi akan
dilakukan penggantian gen yang kurang baik dengan gen yang dianggap baik,
kromosom yang dihasilkan dari proses mutasi ini nantinya yang akan menjadi
generasi baru (offspring), sehingga terbentuklah sebuah populasi baru. Pada setiap
generasi, kromosom akan dievaluasi berdasarkan suatu fungsi evaluasi (Golberg &
Richarson, 1997). Populasi baru yang telah dihasilkan akan mengalami siklus yang
sama dengan populasi sebelumnya, demikian prosesnya berlangsung secara terus-

Universitas Sumatera Utara

22

menerus hingga generasi ke-n yaitu menghasilkan generasi yang sesuai dengan
harapan.


Seleksi
Individu

Evaluasi
Fitness

Populasi
Awal

Reproduksi :
Crossover dan
Mutasi

Populasi
Baru

Gambar 2.1. Siklus Algoritma Genetika oleh David Goldberg (Sutojo T. et al. 2010)

Siklus yang diperkenalkan oleh david Goldberg kemudian diperbaiki oleh
Zbigniew Michalewicz yaitu dengan menambah satu proses lagi yaitu proses Elitisme

dan membalik proses reproduksi dahulu, kemudian proses seleksi.

Evaluasi
Fitness

Populasi
Awal

Reproduksi :
Crossover
dan
Mutasi

Seleksi

Individu

Populasi
Baru


Elitisme

Gambar 2.2. Siklus Algoritma Genetika hasil perbaikan yang diperkenalkan
oleh Zbigniew Michalewicz (Sutojo T. et al. 2010)

Universitas Sumatera Utara

23

2.1.3. Struktur umum algoritma genetika.

Algoritma genetika memberikan suatu pilihan bagi penentuan nilai parameter dengan
meniru cara reproduksi genetika, pembentukan kromosom baru serta seleksi alam
seperti yang terjadi pada mahluk hidup. Algoritma genetika secara umum dapat
diilustrasikan dalam diagram alir berikut ini :

Start

Representasi kromosom


Inisialisasi populasi

Fungsi objektif

Seleksi

Crossover

Mutasi

Generasi Baru

Tidak
Kriteria
optimal ?
Ya
Finish
Gambar 2.3. Diagram Alir Algoritma Genetika

Universitas Sumatera Utara


24

Secara umum, Rexhepi et al. (2013) mengemukakan bahwa struktur umum dari
suatu algoritma genetika dapat didefenisikan dengan langkah-langkah sebagai berikut:
1. Membangkitkan populasi awal
Populasi awal dibangkitkan secara random sehingga didapat solusi awal.
Populasi itu sendiri terdiri atas sejumlah kromosom yang merepresentasikan
solusi yang diinginkan.
2. Membentuk generasi baru
Untuk membentuk generasi baru digunakan operator reproduksi yaitu seleksi,
crossover dan mutasi. Proses ini dilakukan secara berulang-ulang sehingga
didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru,
dimana generasi baru ini merupakan representasi dari solusi baru. Generasi
baru ini dikenal dengan istilah anak (offspring).
3. Evaluasi solusi
Pada setiap generasi, kromosom akan melalui proses evaluasi

dengan


menggunakan alat ukur yang dinamakan fitness. Nilai fitness suatu kromosom
menggambarkan kualitas kromosom dalam populasi tersebut. Proses ini akan
mengevaluasi setiap populasi dengan menghitung nilai fitness setiap
kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Jika
kriteria berhenti belum terpenuhi akan membentuk generasi baru dengan
mengulang langkah 2. Beberapa kriteria berhenti yang sering digunakan yaitu
berhenti pada generasi tertentu, berhenti setelah dalam beberapa generasi
berturut-turut didapatkan nilai fitness tertinggi tidak berubah dan berhenti bila
dalam n generasi berikut tidak didapatkan nilai fitness yang lebih tinggi.
Goldberg (1989) mengemukakan bahwa algoritma genetika memiliki beberapa
karakteristik yang harus diketahui sehingga dapat dibedakan dari prosedur pencarian
atau optimasi lainnya, yaitu :
1. Algoritma Genetika bekerja dengan pengkodean dari himpunan solusi
permasalahan dengan berdasarkan parameter yang telah ditetapkan dan bukan
parameter itu sendiri.

Universitas Sumatera Utara

25


2. Algoritma Genetika melakukan pencarian pada sebuah populasi dari sejumlah
individu-individu yang merupakan solusi permasalahan bukan hanya dari
sebuah individu.
3. Algoritma Genetika merupakan informasi fungsi obyektif (fitness), sebagai
cara untuk mengevaluasi individu yang mempunyai solusi terbaik, bukan
turunan dari suatu fungsi.
4. Algoritma Genetika menggunakan aturan-aturan transisi peluang, bukan
aturan-aturan deterministik.
Menurut Kuhn et al. (2013), variabel dan parameter yang digunakan pada
algoritma genetika adalah:
1. Fungsi fitness (fungsi tujuan) yang dimiliki oleh masing-masing individu
untuk menentukan tingkat kesesuaian individu tersebut dengan kriteria
yang ingin dicapai.
2. Populasi jumlah individu yang dilibatkan pada setiap generasi.
3. Probabilitas terjadinya persilangan (crossover ) pada suatu generasi.
4. Probabilitas terjadinya mutasi pada setiap individu.
5. Jumlah generasi yang akan dibentuk yang menentukan lama penerapan
dari algoritma genetika.

2.2. Pengkodean dalam Algoritma Genetika

Pengkodean merupakan suatu bagian yang paling penting apabila kita menggunakan
algoritma genetika. Apapun masalah optimasi yang akan diselesaikan dengan
Algoritma Genetika perlu dikodekan kedalam kromosom secara tepat. Hal ini
disebabkan dalam proses komputasi yang sebenarnya, kromosom-kromosom itulah
yang nantinya akan diproses ke dalam Algoritma Genetika. Pengkodean adalah suatu
teknik yang dipakai untuk menyatakan populasi awal sebagai calon solusi suatu
masalah kedalam suatu kromosom (Gen dan Cheng, 2000) sebagai suatu kunci utama
dari permasalahan ketika menggunakan algoritma genetika.
Pembentukan kromoson menghasilkan string yang kemudian disebut
kromosom. String terdiri dari sekumpulan bit yang dikenal sebagai gen, jadi satu
kromosom terdiri dari beberapa gen. Berdasarkan jenis symbol yang digunakan

Universitas Sumatera Utara

26

sebagai nilai suatu gen atau disebut dengan allele. Adapun metode pengkodean dalam
algoritma genetika dapat diklasifikasikan sebagai berikut : pengkodean biner, bilangan
rill, bilangan bulat dan struktur data (Gen dan Cheng, 2000). Sedangkan menurut
(Kumar, 2012) ada bermacam-macam teknik encoding yang dapat dilakukan dalam
algoritma genetika. Beberapa teknik encoding itu antara lain adalah binary encoding,
permutation encoding, value encoding serta tree encoding.

Menurut Varnamkasthi & Lee (2012), beberapa macam encoding pada algoritma
genetika adalah :
1.

Binary Encoding
Encoding jenis ini sering digunakan. Kromosom dari binary encoding ini

berupa kumpulan dari nilai biner 0 dan 1.
Contohnya:
Chromosome1 : 0101010100110110
Chromosome2 : 1011011100011110

Dalam Binary Encoding kemungkinkan dihasilkan suatu kromosom yang
memiliki nilai allele yang lebih sedikit atau kecil, keuntungan pengkodean
biner ini adalah sederhana untuk diciptakan dan mudah dimanipulasi (Davis,
1991). Di pihak lain pengkodean biner ini memiliki kekurangan yaitu tidak
dapat digunakan untuk beberapa permasalahan dan terkadang pengkoreksian
harus dilakukan setelah proses crossover dan mutasi dilakukan. Salah satu
permasalahan yang menggunakan encoding adalah menghitung nilai maksimal
dari suatu fungsi.
2.

Permutation Encoding/ pengkodean bilangan Riil

Kromosom dari permutation encoding ini berupa kumpulan dari nilai integer
yang mewakili suatu posisi dalam sebuah urutan. Biasanya digunakan pada
permasalahan TSP, penjadwalan dan masalah optimasi lainnya.
Contohnya:
Chromosome 1 : 1 2 3 4 5 6 7 8 9
Chromosome 2 : 4 7 1 2 5 9 3 6 0

Universitas Sumatera Utara

27

3.

Value Encoding

Kromosom dari value encoding berupa kumpulan dari suatu nilai, yang bisa
berupa macam-macam nilai sesuai dengan permasalahan yang dihadapi,
seperti bilangan real, char atau objek yang lain. Encoding ini merupakan
pilihan yang bagus untuk beberapa permasalahan khusus, biasanya diperlukan
metode khusus untuk memproses crossover dan mutasinya sesuai dengan
permasalahan yang dihadapi.
Contohnya:
Chromosome 1 : A B C D E F G
Chromosome 2 : H I J K LM N

4.

Tree Encoding
Tree Encoding biasanya digunakan pada genetic programming. Kromosom

yang digunakan berupa sebuah tree dari beberapa objek, seperti fungsi atau
command pada genetic programming.

Pengkodean bilangan riil adalah suatu pengkodean bilangan dalam bentuk riil.
Masalah optimalisasi fungsi (Gen & Cheng, 2000) dan optimalisasi kendala
(Eshelman & Schaffer, 1993) lebih tepat jika diselesaikan dengan pengkodean
bilangan riil karena struktur topologi ruang genotif untuk pengkodean bilangan riil
identik dengan ruang fenotifnya, sehingga sangat mudah untuk membentuk operator
genetika yang efektif dengan cara menggunakan teknik yang berasal dari metode
konvensional.

2.3. Operator dalam Algoritma Genetika
Algoritma genetika adalah merupakan suatu proses pencarian yang heuristik dan acak
sehingga penekanan pemilihan operator yang digunakan sangat menentukan
keberhasilan

algoritma

genetika

dalam

menemukan

solusi

optimum

suatu

masalah yang diberikan. Hal yang harus diperhatikan adalah menghindari
terjadinya konvergensi premature, yaitu mencapai solusi optimum yang belum
waktunya, dalam arti bahwa solusi yang diperoleh adalah hasil optimum lokal.

Universitas Sumatera Utara

28

Operator genetika yang digunakan setelah proses evaluasi tahap pertama
membentuk populasi baru dari generasi sekarang. Operator-operator tersebut
adalah operator seleksi, crossover dan mutasi (Malhotra et al. 2011).

2.3.1. Operator Seleksi

Seleksi memegang peranan yang sangat penting dalam keberhasilan algoritma
genetika yaitu memilih kromosm-kromosom dalam populasi hingga didapatkan
kromosom terbaik yang memiliki peluang yang lebih besar untuk dijadikan populasi
awal. Seleksi bertujuan memberikan kesempatan reproduksi yang lebih besar bagi
anggota populasi yang paling fit. Langkah pertama dalam seleksi ini adalah
pencarian nilai fitness. Masing-masing individu dalam suatu wadah seleksi akan
menerima probabilitas reproduksi yang tergantung pada nilai objektif dirinya
sendiri terhadap nilai objektif dari semua individu dalam wadah seleksi tersebut.
Kemampuan algoritma genetika untuk memproduksi kromosom yang
lebih baik secara progresif tergantung pada penekanan selektif (selective
pressure) yang diterapkan ke populasi. Penekanan selektif dapat diterapkan

dalam dua cara. Cara pertama adalah membuat lebih banyak kromosom anak
yang dipelihara dalam populasi dan memilih hanya kromosom-kromosom
terbaik bagi generasi berikut. Walaupun orang tua dipilih secara acak, metode
ini akan terus menghasilkan kromosom yang lebih baik berhubungan dengan
penekanan selektif yang diterapkan pada individu anak tersebut.
Menurut Sharma et al. (2014), ada beberapa metode untuk memilih kromosom
yang sering digunakan antara lain adalah seleksi roda rolet (roulette wheel selection),
seleksi ranking (rank selection) dan seleksi turnamen (tournament selection). Dalam
penelitian ini, metode yang digunakan adalah seleksi roda rolet (roulette wheel
selection), Pada seleksi ini, orang tua dipilih berdasarkan fitness mereka. Semakin

baik kualitas suatu kromosom akan lebih besar peluangnya untuk terpilih. Probabilitas
suatu individu terpilih untuk proses crossover sebanding dengan fitness-nya . Cara
penyeleksian ini merupakan peniruan dari permainan roda rolet.

Universitas Sumatera Utara

29

2.3.2. Operator Crossover
Crossover (perkawinan silang) bertujuan menambah keanekaragaman string dalam

populasi dengan penyilangan antar string yang diperoleh dari sebelumnya. Beberapa
jenis crossover tersebut adalah:
1. Crossover satu titik / one point crossover
Pada crossover dilakukan dengan memisahkan suatu string menjadi dua
bagian dan selanjutnya salah satu bagian dipertukarkan dengan salah satu
bagian dari string yang lain yang telah dipisahkan dengan cara yang
sama. Proses yang demikian dinamakan operator crossover satu titik
seperti terlihat pada gambar 2.1.
Tabel 2.1 Contoh Crossover satu titik
Kromosom Orangtua 1

10101010

Kromosom Orangtua 2

11000111

Keturunan

10100111

2. Crossover dua titik/ two point crossover
Proses crossover ini dilakukan dengan memilih dua titik crossover .
Kromosom keturunan kemudian dibentuk dengan barisan bit dari awal
kromosom sampai titik crossover pertama disalin dari orang tua pertama,
bagian dari titik crossover pertama dan kedua disalin dari orang tua
kedua, kemudian selebihnya disalin dari orangtua pertama lagi seperti
terlihat pada gambar 2.2.
Tabel 2.2 Contoh Crossover dua titik
Kromosom Orangtua 1

10101010

Kromosom Orangtua 2

11000111

Keturunan

10100110

Universitas Sumatera Utara

30

3. Crossover seragam
Crossover

seragam

manghasilkan

kromosom

keturunan

dengan

menyalin bit-bit secara acak dari kedua orang tuanya seperti terlihat pada
gambar 2.3.
Tabel 2.3 Contoh Crossover seragam
Kromosom Orangtua 1

10101010

Kromosom Orangtua 2

11000111

Keturunan

11101111

2.3.3. Operator Mutasi

Mutasi merupakan operator dalam algoritma genetika yang bertujuan untuk mengubah
gen-gen tertentu dari sebuah kromosom. Mutasi merupakan sebuah proses dengan
cara

mengubah

nilai

dari

satu

atau

beberapa

gen

dalam

suatu kromosom. Operasi crossover yang dilakukan pada kromosom dengan
tujuan untuk memperoleh kromosom-kromosom baru sebagai kandidat solusi
pada generasi mendatang dengan fitness yang lebih baik, dan lama-kelamaan
menuju solusi optimum yang diinginkan. Akan tetapi, untuk mencapai hal ini,
penekanan selektif juga memegang peranan yang penting. Jika dalam proses
pemilihan kromosom-kromosom cenderung

pada kromosom

yang memiliki

fitness yang tinggi saja, konvergensi premature, yaitu mencapai solusi yang

optimal lokal sangat mudah terjadi. Probabilitas mutasi dari suatu gen biasanya dipilih
sangat kecil.
Operasi mutasi merupakan operasi yang menyangkut satu kromosom tertentu.
Beberapa cara operasi mutasi diterapkan dalam algoritma genetika menurut jenis
pengkodean terhadap phenotype, antara lain :
1. Mutasi dalam pengkodean biner
Mutasi pada pengkodean biner merupakan operasi yang sangat sederhana.
Proses

yang

posisi

tertentu

dilakukan
yang

terpilih

adalah

menginversi

secara acak

atau

nilai

bit

pada

menggunakan

skema

Universitas Sumatera Utara

31

tertentu pada kromosom, yang disebut inversi bit seperti terlihat pada tabel 2.4
dibawah ini.
Tabel 2.4 Contoh Mutasi dalam pengkodean biner
Kromosom sebelum mutasi

10101010

Kromosom setelah mutasi

11101010

2. Mutasi dalam pengkodean permutasi
Proses

mutasi

yang

dilakukan

dalam

pengkodean

biner

dengan

mengubah langsung bit-bit pada kromosom tidak dapat dilakukan pada
pengkodean

permutasi

diperhatikan.

Salah

karena

konsistensi

cara

yang dapat

satu

urutan

permutasi

dilakukan

adalah

harus
dengan

memilih dua posisi (locus) dari kromosom dan kemudian nilainya saling
dipertukarkan seperti terlihat pada tabel 2.5 dibawah ini.
Tabel 2.5 Contoh Mutasi dalam pengkodean permutasi
Kromosom sebelum mutasi

123456789

Kromosom setelah mutasi

153457789

3. Mutasi dalam pengkodean nilai
Mutasi pada pengkodean nilai hampir sama dengan yang dilakukan pada
pengkodean biner, tetapi yang dilakukan bukan menginversi nilai bit.
Penerapannya

bergantung

pada

jenis

nilai

yang

digunakan.

Sebagai

contoh untuk nilai rill, proses mutasi dapat dilakukan seperti yang
dilakukan pada pengkodean permutasi, dengan saling mempertukarkan
nilai dua gen pada kromosom.
Tabel 2.6 Contoh Mutasi dalam pengkodean nilai
Kromosom sebelum mutasi

1,43 1,09 4,51 9,11 6,94

Kromosom setelah mutasi

1,43 1,19 4,51 9,11 6,84

Universitas Sumatera Utara

32

4. Mutasi dalam pengkodean pohon
Mutasi dalam pengkodean pohon dapat dilakukan antara lain dengan
cara mengubah operator (+, -, *, /) atau nilai yang terkandung pada suatu
verteks pohon yang dipilih atau dapat juga dilakukan dengan memilih
dua

verteks

dari

pohon

dan

saling

mempertukarkan

operator

atau

nilainya.

2.4.

Kontrol Parameter dalam Algoritma Genetika

Kontrol parameter dalam algoritma genetika merupakan salah satu bagian paling
penting dalam penerapan algoritma genetika. Parameter ini diperlukan untuk
mengendalikan operator-operator dalam algoritma genetika. Pemilihan parameter
genetika menentukan penampilan kinerja algoritma genetika dalam memecahkan
persoalan.
Parameter dalam algoritma

genetika yang disarankan menurut De Jong

(Hopgood, 2001) adalah :
1. Probabilitas penyilangan cukup besar (berkisar 60 % sampai 70 %).
2. Probabilitas Mutasi cukup kecil (sebuah gen untuk sebuah kromosom).
3. Ukuran populasi berkisar antara 50 sampai 500 kromosom.

2.4.1. Probabilitas persilangan (crossover probability)

Probabilitas crossover menyatakan seberapa sering proses crossover akan terjadi
antara dua kromosom induk/orang tua. Dari hasil penelitian yang telah dilakukan
sebelumnya menyatakan bahwa angka probabilitas crossover sebaiknya cukup tinggi,
yaitu antara 80 % sampai dengan 95 % untuk memberikan hasil yang baik. Untuk
beberapa masalah tertentu probabilitas crossover 60 % memberikan hasil yang lebih
baik (Marek, 1998). Probability Crossover dapat digunakan dengan rumus sebagai
berikut :
Pc = Jumlah % x Banyaknya individu yang ada

Universitas Sumatera Utara

33

2.4.2. Probabilitas mutasi (mutation probability)

Probabilitas mutasi menunjukkan seberapa sering gen-gen yang menyusun sebuah
kromosom akan dimutasikan. Jika tidak terjadi mutasi atau probabilitas mutasi 0 %
maka keturunan yang dihasilkan setelah crossover tidak akan berubah, dan jika terjadi
mutasi pada bagian kromosom yang telah dipilih akan mengalami perubahan. Jika
probabilitas 100 %, semua kromosom akan dilakukan mutasi dan keseluruhan
kromosom akan berubah.
Probabilitas dalam mutasi sebaiknya diberi nilai yang kecil. Probabilitas mutasi
digunakan untuk mendapatkan rata-rata satu mutasi per kromosom yaitu angka/allele
= 1 / (panjang kromosom). Dari hasil yang sudah pernah dicoba para peneliti yang
menunjukkan bahwa angka probabilitas terbaik adalah 0,5 % - 1 % hal ini disebabkan
oleh karena untuk menjaga perbedaan kromosom dalam populasi agar terhindar dari
konvergensi premature. Probability Mutasi dapat digunakan dengan rumus sebagai
berikut :
Pm = Jumlah % x (Jumlah Individu x Banyaknya gen dalam 1 Individu)

2.4.3. Jumlah individu

Jumlah individu yaitu banyaknya jumlah kromosom yang terdapat dalam satu
populasi. Jika satu populasi hanya memiliki kromosom dengan junlah yang sedikit
menyebabkan algoritma akan memiliki variasi yang akan diberikan pada proses
crossover, sebaliknya jika terdapat jumlah kromosom dalam satu populasi yang terlalu
banyak maka algoritma genetika akan berjalan lambat untuk menemukan solusi yang
diharapkan. Ukuran populasi yang sering digunakan oleh para peneliti sebelumnya
antara 20 – 30 kromosom, tetapi ada juga peneliti yang menggunakan 50 - 100
kromosom dengan hasil yang baik. Ukuran populasi yang terbaik adalah tergantung
dari pengkodean yang dilakukan yaitu ukuran dari barisan yang dienkodekan.

2.4.4. Jumlah populasi

Universitas Sumatera Utara

34

Jumlah populasi yaitu banyaknya populasi atau banyaknya generasi yang akan
dihasilkan yang digunakan sebagai batas akhir dari semua proses dalam algoritma
genetika yaitu proses seleksi, proses crossover dan proses mutasi.

2.5.

Greedy Crossover

Metode Greedy Crossover (GX) adalah salah satu metode crossover atau perkawinan
silang yang sangat spesifik yang diterapkan pada Algoritma Genetika selain dari
metode-metode crossover klasik yang ada pada algoritma genetika tersebut. Metode
Greedy Crossover ini pertama kali ditemukan oleh Grefenstette et al. (1985). Metode
Greedy Crossover dapat diterapkan apabila semua gen yang terdapat dalam sebuah

kromosom tersebut berbeda, dan susunan seluruh gen untuk kedua kromosom harus
sama atau identik dan hanya bisa di order pada gen kromosom yang bervariasi, kedua
kondisi tersebut selalu benar dan dapat diterapkan berkali-kali. Greedy crossover ini
bekerja dengan membuang gen yang tidak sesuai atau tidak memenuhi kondisi yang
diinginkan pada kromosom induk pertama / father dan menggantinya dengan gen
yang lain pada kromosom induk kedua / mother .
Metode Greedy Crossover memiliki prinsip yang sama dengan algoritma
Greedy dan sesuai dengan namanya greedy dalam bahasa Indonesia berarti tamak atau
rakus dan algoritma ini memiliki prinsip “ Take what you can get now” yang berarti
“ mengambil apa yang bisa anda dapatkan sekarang” . Algoritma greedy adalah

algoritma untuk menyelesaikan permasalahan secara bertahap (Brassard G, 1996).
Tahap penyelesaiannya adalah:
1. Mengambil pilihan yang terbaik yang dapat diperoleh pada saat itu tanpa
memperhatikan konsekuensi ke depan.
2. Berharap bahwa dengan memilih optimum lokal pada setiap langkah akan berakhir
dengan optimum global.
Sehingga dengan kata lain, dapat disimpulkan bahwa langkah dari algoritma
greedy ini adalah mengambil pilihan yang terbaik yang dapat diperoleh pada saat itu

tanpa memperhatikan konsekuensi ke depan, atau dengan prinsip “take what you can
get now”, berharap bahwa dengan memilih optimum lokal pada setiap langkah akan

berakhir dengan optimum global.

Universitas Sumatera Utara

35

Metode Greedy Crossover yang digunakan adalah dengan memilih kromosom
pertama sebagai langkah awal dan melihat seluruh gen yang terdapat pada kromosom
tersebut dari salah satu orang tua dan membandingkannya dengan orang tua kedua.
Jika salah satu gen dalam kromosom orang tua pertama ada yang tidak baik atau tidak
memenuhi syarat maka akan dipilih gen pada orang tua kedua. Pertukaran gen ini
hanya terjadi pada posisi yang sama dengan gen yang rusak tersebut, proses seperti ini
akan dilakukan secara berulang-ulang sampai kondisi berhenti terpenuhi. Prosedur
dari greedy crossover ini merupakan prosedur penyesuaian lokal dan perbaikan pada
sebuah kromosom .
Dalam

pengimplementasiannya

metode greedy crossover menggunakan

beberapa elemen yaitu :
1. Himpunan Kandidat, (C).
Himpunan ini berisi elemen-elemen pembentuk solusi
2. Himpunan Solusi, (S).
Himpunan ini berisi kandidat yang terpilih sebagai solusi persoalan, atau
himpunan bagian dari himpunan kandidat.
3. Fungsi seleksi
Fungsi seleksi merupakan fungsi yang ada pada setiap langkah memilih kandidat
yang paling memungkinkan guna mencapai solusi optimal.
4. Fungsi Kelayakan (Feasible)
Fungsi kelayakan adalah fungsi yang memeriksa apakah suatu kandidat yang
telah terpilih dapat memberikan solusi yang layak dan tidak melanggar batasan
atau constraints yang ada.

2.6. Optimalisasi Rostering Mata Pelajaran
2.6.1. Pengertian Optimalisasi

Optimalisai merupakan suatu upaya sistematis untuk memilih elemen terbaik dari
suatu kelompok atau kumpulan yang ada. Optimalisasi didalam konteks matematika
dapat dinyatakan sebagai usaha sistematis untuk mencari nilai minimum atau

Universitas Sumatera Utara

36

maksimum dari suatu fungsi. Optimalisasi ini dipakai hampir disemua bidang
keilmuan antara lain bidang teknik, ilmu sosial, sains, ekonomi, bisnis maupun
dibidang pendidikan. Banyak permasalahan dalam bidang-bidang tersebut yang dapat
dinyatakan sebagai permasalahan optimalisassi seperti meminimalkan biaya,
mempersingkat waktu, memaksimalkan keuntungan dan kualitas.
Optimalisasi merupakan proses dalam mencari nilai yang terbaik berdasarkan
fungsi tujuan dengan daerah asal yang telah didefenisikan. Pengertian Optimalisasi
menurut Kamus Besar Bahasa Indonesia (Depdikbud, 1995) yaitu optimalisasi berasal
dari kata optimal yang berarti terbaik, tertinggi jadi optimalisasi adalah suatu proses
meninggikan atau meningkatkan. Optimalisai banyak juga diartikan sebagai ukuran
dimana semua kebutuhan dapat dipenuhi dari kegiatan-kegiatan yang dilaksanakan.
Berdasarkan uraian diatas optimalisasi dapat diartikan sebagai serangkaian proses
secara sistematis yang dilakukan dengan metode yang paling baik dalam suatu
pekerjaan dengan harapan dapat meningkatkan kualitas dari pekerjaan tersebut secara
efektif dan efisien.

2.6.2. Rostering/Penjadwalan Mata Pelajaran

Pembuatan jadwal mata pelajaran merupakan salah satu bagian yang paling penting
agar terlaksananya proses belajar mengajar dengan baik, efektif dan efisien pada suatu
lembaga pendidikan formal. Penjadwalan adalah kegiatan pengalokasian sumbersumber atau mesin-mesin yang ada untuk menjalankan sekumpulan tugas dalam
jangka waktu tertentu (Baker, 1974). Penjadwalan juga didefinisikan sebagai rencana
pengaturan urutan kerja serta pengalokasian sumber, baik waktu maupun fasilitas
untuk setiap operasi yang harus diselesaikan (Vollman, 1998).
Penjadwalan mata pelajaran merupakan proses penyusunan jadwal pelaksanaan
yang menginformasikan sejumlah mata pelajaran, guru yang mengajar, ruang, serta
waktu kegiatan belajar mengajar. Pada umumnya penyusunan jadwal mata pelajaran
dilakukan secara manual, yaitu dengan mencari kolom mana saja yang masih kosong,
kemudian menempatkan jadwal pada kolom tersebut. Suatu jadwal di sekolah akan
sulit untuk dibuat dengan cara seperti ini jika jumlah kelas dan siswa yang tersedia
dalam sekolah tersebut terbatas dan jumlah tenaga pengajar/guru yang tersedia sangat

Universitas Sumatera Utara

37

banyak. Untuk menyusun jadwal mata pelajaran yang baik, pembuat jadwal perlu
memperhatikan berbagai aspek yang mempengaruhi jadwal mata pelajaran tersebut.
Dari aspek guru, pembuat jadwal perlu memperhatikan kemungkinan guru yang
bersangkutan hanya ingin mengajar suatu mata pelajaran pada hari dan jam tertentu.
Pembuat jadwal juga harus memperhatikan keterbatasan guru pengajar yang dimiliki
oleh sekolah. Pembuat jadwal juga perlu memperhatikan dari aspek mata pelajaran
yang diajarkan. Sebagai contoh, mata pelajaran matematika seharusnya diajarkan 4
jam dalam seminggu dengan maskimal 2 jam dalam satu hari. Selain itu, pembuat
jadwal juga perlu memperhatikan bahwa jadwal yang dibuat tidak ada bentrokan jam
antar pengajar satu dengan pengajar yang lain dalam satu waktu dan kelas tertentu,
atau satu pengajar yang berada di lebih dari satu kelas pada satu waktu tertentu.
Berdasarkan aspek-aspek di atas, seharusnya jadwal yang disusun dapat menjadi
solusi sehingga tidak ada bentrokan jadwal pengajar, mata pelajaran, atau kelas yang
terjadi, dan tentunya memenuhi persyaratan kegiatan belajar yang sudah ditentukan.
Oleh karena itu dibutuhkan metode optimasi yang dapat diterapkan untuk menyusun
jadwal mata pelajaran.
Dalam penelitian ini akan dilakukan optimalisai penjadwalan mata pelajaran
dengan menggunakan dan menganalisa metode-metode yang heuristik, dimana
permasalahan yang akan dijadikan objek penelitian yaitu masalah optimalisasi pada
penjadwalan mata pelajaran di SMP Negeri 5 Pematangsiantar, dimana penyusunan
jadwal mata pelajaran di sekolah tersebut yang dilakukan setiap memasuki tahun
ajaran baru selalu mengalami beberapa kendala terkait dengan pengelolaan
penjadwalan yang masih dilakukan secara manual menggunakan program Microsoft
Excel, hal tersebut sangat tidak efektif karena prosesnya membutuhkan waktu yang
lama dan informasi yang dihasilkan tidak akurat, sehingga banyak para guru yang
merasa kecewa atas jadwal mengajar mereka oleh karena banyak terjadi kesalahan
didalam jadwal tersebut, seperti seorang guru masuk dikelas yang berbeda pada hari
dan jam yang sama, seorang guru masuk di kelas yang sama pada hari yang berbeda.
Hal seperti ini selalu terjadi pada saat tahun ajaran atau diawal semester. Peristiwa ini
terjadi karena beberapa faktor yaitu banyaknya jumlah tenaga pendidik yang tersedia
sementara jumlah ruangan kelas dan peserta didik yang terbatas serta banyaknya

Universitas Sumatera Utara

38

permintaan guru yang tidak bisa masuk untuk mengajar di hari-hari tertentu. Sehingga
hal ini sangat menyulitkan bagi pegawai yang bekerja dibagian kurikulum.

2.7. Penelitian Terdahulu
Dalam melakukan penelitian, penulis menggunakan beberapa penelitian yang relevan
dengan permasalahan yang diteliti yang digunakan sebagai acuan agar penelitian ini
berjalan dengan lancar.
Algoritma genetika sering terjadi konvergen prematur dalam mencari daerah
global optimum (Xinyang, 2011). Algoritma genetika memiliki kelemahan dalam
menyelesaikan penjadwalan mata kuliah yaitu sering terjebak pada nilai optimum
lokal (Sivanandan, 2008). Ongko (2015) melakukan analisis keterkaitan jumlah gen
yang mengalami crossover terhadap kinerja algoritma genetika. Penelitian dilakukan
dengan membandingkan whole arithmetic crossover, simple arithmetic dan single
arithmatic crossover. Hasil penelitian menunjukkan bahwa semakin banyak gen yang

terlibat dalam proses crossover akan meningkatkan kinerja algoritma genetika. hasil
lainnya menyatakan bahwa whole arithmetic crossover lebih baik daripada simple
arithmetic dan single arithmatic crossover.

Ismkhan & Zamanifar (2012) melakukan penelitian dengan dilatarbelakangi
bahwa metode greedy crossover klasik lambat dan tidak begitu akurat. Penelitiannya
dilakukan dengan pengembangan atas metode greedy crossover untuk meningkatkan
kinerja algoritma genetika. Hasil yang diperoleh menunjukkan peningkatan kinerja
algoritma

dengan

kompleksitas

waktu

O(n).

Algoritma

greedy

yang

diimplementasikan ke dalam perangkat lunak dapat digunakan untuk menyelesaikan
knapsack problem pada dunia transportasi dengan waktu yang lebih cepat
dibandingkan dengan menggunakan perhitungan manual dan algoritma brute force
(Rachmawati & Candra, 2013). Algoritma greedy adalah salah satu metode yang
praktis dalam mencari solusi yang baik pada masalah Traveling Salesman Problem,
algoritma ini menghasilkan semua daftar titik dalam grafik dari biaya yang terkecil
sampai dengan biaya terbesar (Zoubi & Salam, 2014).

Universitas Sumatera Utara

39

Tabel. 2.7. Penelitian yang relevan
No

1.

Nama dan

Metode yang

Tahun Peneliti

Digunakan

Hasil Penelitian

Sallabi dan

Genetic

Mereka

melakukan

El-Haddad

Algorithmn

metode crossover yang disebut dengan

(2009)

hybrid

swapped

inverted

modifikasi

pada

(SIC),

crossover

kemudian melakukan multi mutation
operation dan terakhir menambahkan

metode partial local mutation operation.
Hasil

yang

diperoleh

menunjukkan

peningkatan kinerja algoritma genetika.
2.

3.

Ismkhan

dan Genetic

Zamanifar

Algorithmn

(2012)

and

Penelitiannya
pengembangan

dilakukan
atas

metode

dengan
greedy

Greedy crossover untuk meningkatkan kinerja

Crossover

algoritma genetika pada kasus TSP.

Rachmawati

Greedy

Algoritma

dan

Algorithmn

diimplementasikan ke dalam perangkat

(2013)

Candra,

lunak

greedy

dapat

digunakan

yang

untuk

menyelesaikan knapsack problem pada
dunia transportasi dengan waktu yang
lebih cepat.

Universitas Sumatera Utara

40

Tabel. 2.7. Penelitian yang relevan (Lanjutan)
No

4.

Nama dan

Metode yang

Tahun Peneliti

Digunakan

Zoubi

dan Genetic

Salam (2014)

Hasil Penelitian

Dari hasil penerapannya Algoritma

Algorithmn and GA-Greedy digunakan sangat praktis
Greedy

dalam mencari pendekatan dinamis dan

Algorithmn

statis

pada

crossover

dalam

masalah

Traveling

menyelesaikan

Salesman Problem.
5.

Ongko (2015)

Genetic

Penelitian

dilakukan

Algorithmn

membandingkan

whole

dengan
arithmetic

crossover, simple arithmetic dan single
arithmatic crossover. Hasil penelitian

menunjukkan bahwa semakin banyak
gen

yang

terlibat

dalam

proses

crossover akan meningkatkan kinerja
algoritma

genetika.

hasil

lainnya

menyatakan bahwa whole arithmetic
crossover lebih baik daripada simple
arithmetic

dan

single

arithmatic

crossover.

6.

Otman

dan Genetic

Jaafar (2011)

Algorithmn

Penelitian

yang

dilakukan

dengan

membandingan enam metode crossover
pada

dataset

TSPBERLIN52

yang

menyatakan bahwa metode ordered
crossover merupakan metode yang lebih

baik dari pada metode crossover klasik.

Universitas Sumatera Utara