Proses Optimasi dengan Algoritma Penjadwalan dan Algoritma Genetika

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

Dokumen yang terkait

Penjadwalan Perkuliahan Dengan Menggunakan Algoritma Genetika (Studi Kasus: S-1 Ilmu Komputer Universitas Sumatera Utara)

7 85 140

Sistem Penjadwalan Dinamis Mahasiswa Baru Menggunakan Algoritma Genetika (Studi Kasus: Registrasi Ulang Mahasiswa Baru Universitas Sumatera Utara)

0 0 11

Sistem Penjadwalan Dinamis Mahasiswa Baru Menggunakan Algoritma Genetika (Studi Kasus: Registrasi Ulang Mahasiswa Baru Universitas Sumatera Utara)

0 0 2

Sistem Penjadwalan Dinamis Mahasiswa Baru Menggunakan Algoritma Genetika (Studi Kasus: Registrasi Ulang Mahasiswa Baru Universitas Sumatera Utara)

0 0 6

Sistem Penjadwalan Dinamis Mahasiswa Baru Menggunakan Algoritma Genetika (Studi Kasus: Registrasi Ulang Mahasiswa Baru Universitas Sumatera Utara)

0 0 21

Sistem Penjadwalan Kuliah dengan Menggunakan Algoritma Genetika Studi Kasus Fakultas Teknik Universitas Sumatera Utara

0 3 44

BAB II LANDASAN TEORI 2.1. Penelitian Terkait - Sistem Penjadwalan Kuliah dengan Menggunakan Algoritma Genetika Studi Kasus Fakultas Teknik Universitas Sumatera Utara

0 0 27

BAB I PENDAHULUAN 1.1. Latar Belakang Masalah - Sistem Penjadwalan Kuliah dengan Menggunakan Algoritma Genetika Studi Kasus Fakultas Teknik Universitas Sumatera Utara

0 0 9

Sistem Penjadwalan Kuliah dengan Menggunakan Algoritma Genetika Studi Kasus Fakultas Teknik Universitas Sumatera Utara

0 0 17

SKRIPSI SISTEM PENJADWALAN MATA KULIAH MENGGUNAKAN ALGORITMA GENETIKA (STUDI KASUS PENJADWALAN MATA KULIAH KELAS R1 PROGRAM STUDI TEKNIK INFORMATIKAUMBY)

2 9 19