proses optimasi menginginkan tidak terjadi lagi pelanggaran waktu dan penggunaan ruangan yang paling minimal.
Berdasarkan hasil akhir dari proses pencarian, f
1
merupakan jumlah pelanggaran waktu dan f
2
merupakan penggunaan jumlah ruangan, diperoleh hasil dengan Paretto Optimum jumlah populasi=20, proses elitisme dengan menghilangkan 50 dari total kromosom pada
populasi dan probabilitas mutasi sebesar P
m
= 0.1 pada pencarian hingga 127 generasi menghasilkan jadwal dengan jumlah pelanggaran waktu sebanyak 2 kali dan jumlah ruangan
maksimal yang digunakan sebanyak 9 ruangan dan waktu yang dibutuhkan untuk mencapai konvergen adalah 93 menit.
4.6. Proses Optimasi dengan Algoritma Penjadwalan dan Algoritma Genetika
Proses penjadwalan dengan metode penggabungan algoritma penjadwalan dan algoritma genetika dilakukan dalam dua tahap. Tahap pertama adalah kromosom yang
merupakan hasil pengkodean dari urutan kegiatan diolah dalam algoritma penjadwalan sehingga menghasilkan suatu jadwal yang utuh yang didalamnya terdapat nilai-nilai untuk
menghitung besarnya nilai fitness. Tahap kedua adalah tahapan penggunaan algoritma genetika dalam mengevaluasi setiap kromosom berdasarkan nilai fitness tiap kromosom.
Algoritma genetika akan bekerja untuk memperbaiki kromosom-kromosom melalui operasi genetika.
4.6.1. Pembentukan Gen dengan Algoritma Penjadwalan
Kromosom yang akan dimasukkan ke dalam algoritma penjadwalan merupakan representasi dari urutan mata kuliah. Kode mata kuliah pembentuk kromosom merupakan
Universitas Sumatera Utara
urutan mata kuliah dalam integer yang diubah ke dalam bentuk biner. Untuk mempercepat terbentuknya konvergensi melalui operasi genetika kode biner digunakan suatu metode gray
code. Proses pemberian kode dengan gray code ditunjukkan pada Gambar 4.3.
XOR
XOR 1
XOR
XOR 1
1
Kod e
Bine r
Gray Cod
e MSB
LSB LSB
MSB
Gambar 4.3 Proses perubahan kode biner ke bentuk gray code [12]
Urutan mata kuliah dengan pengkodean biner dalam gray code menghasilkan pengkodean prioritas seperti pada Tabel 4.15.
Tabel 4.15 Pengkodean prioritas mata kuliah
Urutan Kode
Biner Gray Code
1 0000001
0000001 2
0000010 0000011
3 0000011
0000010 4
0000100 0000110
5 0000101
0000111 6
0000110 0000101
7 0000111
0000100 8
0001000 0001100
Universitas Sumatera Utara
Urutan Kode
Biner Gray Code
9 0001001
0001101 10
0001010 0001111
11 0001011
0001110 12
0001100 0001010
13 0001101
0001011 14
0001110 0001001
15 0001111
0001000 16
0010000 0011000
17 0010001
0011001 18
0010010 0011011
19 0010011
0011010 20
0010100 0011110
21 0010101
0011111 22
0010110 0011101
23 0010111
0011100 24
0011000 0010100
25 0011001
0010101 26
0011010 0010111
27 0011011
0010110 28
0011100 0010010
29 0011101
0010011 30
0011110 0010001
31 0011111
0010000 32
0100000 0110000
33 0100001
0110001 34
0100010 0110011
35 0100011
0110010 36
0100100 0110110
37 0100101
0110111 38
0100110 0110101
39 0100111
0110100 40
0101000 0111100
41 0101001
0111101
Tabel 4.15 Pengkodean prioritas mata kuliah lanjutan
Universitas Sumatera Utara
Urutan Kode
Biner Gray Code
42 0101010
0111111 43
0101011 0111110
44 0101100
0111010 45
0101101 0111011
46 0101110
0111001 47
0101111 0111000
48 0110000
0101000 49
0110001 0101001
50 0110010
0101011 51
0110011 0101010
52 0110100
0101110 53
0110101 0101111
54 0110110
0101101 55
0110111 0101100
56 0111000
0100100 57
0111001 0100101
58 0111010
0100111 59
0111011 0100110
60 0111100
0100010 61
0111101 0100011
62 0111110
0100001 63
0111111 0100000
64 1000000
1100000 65
1000001 1100001
66 1000010
1100011 67
1000011 1100010
68 1000100
1100110 69
1000101 1100111
70 1000110
1100101 71
1000111 1100100
72 1001000
1101100
Universitas Sumatera Utara
Tabel 4.15 Pengkodean prioritas mata kuliah lanjutan
Urutan Kode
Biner Gray Code
73 1001001
1101101 74
1001010 1101111
75 1001011
1101110 76
1001100 1101010
77 1001101
1101011 78
1001110 1101001
79 1001111
1101000 80
1010000 1111000
81 1010001
1111001 82
1010010 1111011
83 1010011
1111010 84
1010100 1111110
85 1010101
1111111 86
1010110 1111101
87 1010111
1111100 88
1011000 1110100
89 1011001
1110101 90
1011010 1110111
91 1011011
1110110 92
1011100 1110010
93 1011101
1110011 94
1011110 1110001
95 1011111
1110000 96
1100000 1010000
97 1100001
1010001 98
1100010 1010011
99 1100011
1010010 100
1100100 1010110
101 1100101
1010111 102
1100110 1010101
103 1100111
1010100 104
1101000 1011100
105 1101001
1011101
Universitas Sumatera Utara
Sebuah kromosom dibentuk dari gabungan seluruh kode urutan mata kuliah. Mata kuliah dimasukkan ke dalam algoritma penjadwalan sesuai dengan susunan kode urutan pada
kromosom. Urutan yang berbeda akan membuat jadwal yang dimasukkan berbeda. Kualitas dari jadwal yang dihasilkan akan tergantung pada kualitas dari urutan tersebut. Proses
pembentukan kromosom berdasarkan urutan terlihat pada Gambar 4.4.
Kromosom 1
0000110 0000100 0011011 0111011 0101001 0111101 0101101 0011001
Gambar 4.4 Pembentukan kromosom berdasarkan urutan penjadwalan
Pada proses di atas terdapat enam buah gen dimana tiap gen terdiri dari tujuh bit. Setiap gen mewakili satu mata kuliah dengan urutan yang tetap seperti pada Gambar 4.4.
Proses menerjemahkan kode biner ke bentuk integer akan menghasilkan sebuah urutan penjadwalan dari keenam mata kuliah yang diwakili dalam gen-gen seperti pada Tabel 4.16.
Tabel 4.16 Urutan penjadwalan berdasarkan penerjemahan kromosom I
No. Nama Mata
Kuliah Dosen
Sem SKS
Kode Biner
Urutan Penjadwalan
1 Analisa Sistem
Tenaga I Ir. Masykur SJ., M.T.
5 2
0000110 4
2 Analisa Sistem
Tenaga I Yulianta, S.T., M.T.
5 2
0000100 7
3 Aplikasi Medan
Elektromagnetik Ir. Syahrawardi
P 2
0011011 18
4 Arsitektur Sist.
Komputer Ir. T. Ahri Bahriun,
M.Sc. 5
3 0111011
45 5
Bahasa Indonesia Dra. Nurhayati
L.,M.Hum 1
2 0101001
49 6
Bahasa Indonesia Dra. P. Sukapiring, SU
1 2
0111101 41
7 Dasar Elektronika
Drs. Hasdari Helmi,M.T. 3
2 0101101
54 8
Dasar Elektronika Maksum Pinem,S.T.,MT
3 2
0011001 17
gen-1 gen-2
gen-3 gen-4
gen-5 gen-6
gen-7 gen-8
Universitas Sumatera Utara
Berdasarkan urutan penjadwalan tersebut, kromosom diterjemahkan ke dalam bentuk jadwal kuliah melalui algoritma penjadwalan. Proses penerjemahan dimulai dari gen yang
memiliki urutan paling kecil hingga urutan gen yang paling besar. Langkah pertama yang dilakukan adalah pembentukan suatu tabel jadwal yang merupakan matriks waktu dan
ruangan seperti pada Gambar 4.5.
Gambar 4.5 Bentuk tabel jadwal sebagai matriks waktu dan ruang Pada tabel jadwal di atas penjadwalan mata kuliah pertama dimulai pada hari pertama,
jam paling awal dan ruangan pertama. Setiap kali mata kuliah dimasukkan ke dalam tabel tersebut, maka dilakukan konfirmasi untuk mengetahui apakah terdapat kegiatan kuliah pada
waktu dan ruangan tersebut. Jika ternyata ada perkuliahan pada waktu tersebut, maka terjadi pergeseran posisi waktu satu jam dari waktu semula. Namun jika tidak terjadi, maka mata
kuliah tersebut dijadwalkan untuk dimulai pada waktu tersebut dengan memberikan angka pada waktu dan ruang di tabel jadwal. Lamanya mata kuliah berlangsung sesuai dengan
jumlah beban SKS mata kuliah tersebut. Proses dilanjutkan pada mata kuliah selanjutnya. Mata kuliah pertama pada ruangan
yang sama dijadwalkan pada jam setelah mata kuliah pertama dilaksanakan. Langkah- langkah konfirmasi yang sama perlu dilakukan sebelum menjadwalkan suatu mata kuliah
ruangan
waktu: hari-
jam
Universitas Sumatera Utara
sehingga tidak terjadi pelanggaran penggunaan ruangan. Proses ini dilakukan secara terus menerus sesuai dengan urutannya sampai semua mata kuliah berhasil dijadwalkan.
Ada suatu kondisi dimana ruangan pertama telah terjadwalkan secara penuh sampai dengan hari jumat pada jam terakhir. Apabila kondisi ini terjadi maka penjadwalan akan
berpindah ke ruangan selanjutnya. Dalam melakukan penjadwalan ruangan selanjutnya perlu dilakukan konfirmasi terhadap mata kuliah yang sedang berlangsung di kelas lain. Apakah
mahasiswa yang sedang kuliah di ruangan yang lain merupakan mahasiswa pada semester yang sama dengan mahasiswa yang mata kuliahnya akan dijadwalkan. Kondisi lain adalah
dosen yang mengajar pada ruangan lain merupakan dosen yang sama dengan mata kuliah yang akan dijadwalkan. Apabila sama, maka dilakukan pencarian terhadap waktu lain untuk
kuliah k
n
hingga tidak terjadi pelanggaran waktu. Suatu kondisi dimana suatu jadwal mata kuliah tidak dimungkinkan untuk dijadwalkan
pada waktu kapanpun karena telah terisi dengan kuliah lain. Secara keseluruhan kondisi ini dinyatakan tidak mungkin menjadwalkan kuliah tanpa terjadinya pelanggaran waktu dosen
dan mahasiswa. Mata kuliah dijadwalkan pada waktu dan ruang secara acak dengan resiko pasti akan terjadi pelanggaran waktu baik dosen maupun mahasiswa. Sistem akan mencatat
sebagai pelanggaran waktu untuk kromosom tersebut. Selain mencatat jumlah pelanggaran waktu, tabel penjadwalan juga dapat terlihat jumlah ruangan maksimal yang digunakan
seperti pada Tabel 4.17.
Universitas Sumatera Utara
Tabel 4.17 Hasil penjadwalan dengan algoritma penjadwalan
Hari Jam
Ruangan 1
2 3
4 5 6 7
8 9
10 11 12 13
Senin 1
27 46 3
64 2
27 46 3
64 3
20 6
71 4
20 6
71 5
56 57 88
39 6
56 57 88
39 7
79 96 88
67 8
79 96 103 67
9 8
96 103 18 45
10 8
30 72
18 45 11
48 30 72
1 24
12 48 30
1 24
Selasa 1
11 9
7 13 50
2 11
9 7
13 50 3
51 38 41
84 4
51 38 41
84
Universitas Sumatera Utara
Tabel 4.17 Hasil penjadwalan dengan algoritma penjadwalan lanjutan
Hari Jam
Ruangan 1
2 3
4 5
6 7
8 9
10 11 12 13
5 51
38 23
6 86
89 43
23 7
86 89
43 8
86 95
97 9
66 95
97 76
10 66
95 97
76 11
65 80
12 65
80 Rabu
1 87
58 32
22 59
2 87
58 32
22 59
3 87
58 22
59 4
70 74
85 4
47 5
70 74
85 4
47 6
54 19
74 4
78 7
54 19
78 21
8 54
69 105 21
9 93
75 69
105 10
93 75
28 11
63 28 92
12 63
92 Kamis
1 52
15 29
44 16
53 2
52 15
29 44
16 53
3 52
98 100
42 53
4 17
98 100
42 5
17 94
60 101
6 82
94 60
10 101 7
82 94
10
Universitas Sumatera Utara
Tabel 4.17 Hasil penjadwalan dengan algoritma penjadwalan lanjutan
Hari Jam
Ruangan 1
2 3
4 5
6 7
8 9 10 11 12 13
8 37
31 91 40
35 9
37 31
91 40 35
10 14
68 73 55 11
14 68 73 55
12 55
Jumat 1
61 26
81 77
2 61
26 81
77 3
102 12
49 4
102 12
49 5
6 7
5 62
90 104 83 8
5 62
90 104 83 9
2 25
10 2
25 11
36 99 33
34 12
36 99 33
34
Bentrok 1
2
4.6.2. Perbaikan Kromosom dengan Algoritma Genetika
Hasil yang diperoleh dari proses penjadwalan melalui algoritma penjadwalan perlu diperbaiki melalui algoritma genetika. Algoritma genetika bekerja dengan mengganti
kromosom yang kurang baik dengan kromosom yang lebih baik melalui operasi genetika. Operasi genetika yang dilakukan sama dengan operasi genetika pada umumnya yaitu melalui
proses perhitungan nilai fitness, seleksi, elitisme, kawin silang dan mutasi. Proses algoritma
Universitas Sumatera Utara
genetika yang dilakukan bertujuan untuk memperbaiki kromosom dengan menggunakan teknik yang sama dengan metode penjadwalan menggunakan algoritma genetika secara
langsung. Proses optimasi dengan paretto optimum dilakukan untuk mendapatkan solusi optimum yang menjadi single solution untuk permasalahan yang dioptimasi.
Pada pelaksanaan optimasi dengan metode penggunaan algoritma genetika ini, satu gen berisi jumlah bit yang lebih sedikit dibandingkan dengan jumlah bit pada kromosom dengan
metode tanpa algoritma penjadwalan. Pada metode dengan menggunakan algoritma penjadwalan, jumlah bit yang terbentuk adalah 735 bit 105x7 bit. Panjang kromosom ini
digunakan sebagai dasar dalam mempertimbangkan jumlah bit yang akan dimutasi. Diharapkan bahwa tidak terlau besar perubahan pada kromosom yang akan mengarah pada
pencarian yang acak. Proses reproduksi dengan paretto optimum dilakukan melalui proses mutasi saja. Nilai
probabilitas mutasi ditetapkan berdasarkan panjang bit pembentuk kromosom dengan berbagai percobaan sebelumnya pada optimasi paretto optimum sebesar P
m
= 0.1. Mutasi yang digunakan adalah sama dengan mutasi pada metode sebelumnya yaitu metode banyak
titik dimana bit dipilih secara acak sejumlah 74 titik pembulatan dari 735 bit x 0.1.
4.6.3. Hasil Pengujian dengan Algoritma Penjadwalan
Dengan langkah yang sama, kromosom pada setiap generasi diperbaiki sampai diperoleh kromosom yang terbaik. Dari hasil pengujian, pencarian nilai fitness konvergen
pada generasi ke-85 dengan beberapa populasi akhir seperti pada Tabel 4.18.
Universitas Sumatera Utara
Tabel 4.18 Populasi akhir dari hasil optimasi dengan algoritma penjadwalan
Kromosom Fitness f
1
Fitness f
2
Ranking Fitness Total
1 9
1 1,9960
2 8
1 1,9968
3 9
1 1,9960
4 9
1 1,9960
5 8
1 1,9968
6 9
1 1,9960
7 8
1 1,9968
8 9
1 1,9960
9 9
1 1,9960
10 9
1 1,9960
11 8
1 1,9968
12 8
1 1,9968
13 9
1 1,9960
14 9
1 1,9960
15 9
1 1,9960
16 9
1 1,9960
17 9
1 1,9960
18 8
1 1,9968
19 9
1 1,9960
20 9
1 1,9960
Pada populasi akhir di atas terlihat bahwa konvergensi dengan nilai fitness f
1
menuju nilai nol tetapi nilai fitness f
2
masih beragam dengan nilai paling kecil sebesar 9. Perbedaan nilai fitness f
2
menyebabkan nilai fitness total tidak sama antara kromosom satu dengan kromosom yang lain. Hal ini menunjukkan bahwa nilai fitness total dalam percobaan ini
tidak dapat konvergen karena nilai fitness f
2
yang tidak konvergen menuju satu nilai tertentu. Seluruh kromosom dalam populasi tersebut merupakan solusi yang optimum karena
dalam Paretto Optimum tidak ada yang disebut single solution karena harus mempertimbangkan semua variabel dalam fitness. Tetapi jika proses pencarian harus
menentukan single solution dari kumpulan solusi, maka solusi yang dicari adalah solusi dengan tingkat pemenuhan terhadap seluruh variabel yang paling baik. Dalam hal ini, proses
Universitas Sumatera Utara
optimasi menginginkan tidak terjadi pelanggaran waktu dan penggunaan ruangan yang paling minimal.
Berdasarkan hasil akhir pencarian tersebut, pelanggaran waktu sebagai hard constraint telah berhasil dihilangkan dengan nilai f
1
sebesar nol. Jumlah penggunaan ruangan paling sedikit adalah 8 delapan ruangan. Hasil ini diperoleh berdasarkan optimasi dengan
menggunakan algoritma penjadwalan dan diperbaiki dengan algoritma genetika melalui metode paretto optimum dengan parameter yang digunakan antara lain: jumlah populasi
sebanyak 20 unit, proses elitisme dengan membuang 50 kromosom dari populasi dan probabilitas mutasi sebesar P
m
= 0.1. Konvergensi tercapai pada generasi ke- 85 dan waktu yang dibutuhkan adalah 134 menit.
4.7. Perbandingan Hasil Penjadwalan