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
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