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

(1)

TESIS

Oleh:

PURWANTO SIMAMORA 097034013/MTE

FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA MEDAN


(2)

PENJADWALAN KULIAH DENGAN MENGGUNAKAN ALGORITMA GENETIKA STUDI KASUS FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA

TESIS

Tugas Akhir ini diajukan untuk melengkapi salah satu syarat untuk memperoleh gelar Magister Teknik (MT)

Oleh

PURWANTO SIMAMORA 097034013/MTE

FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA MEDAN


(3)

Judul Tesis : PENJADWALAN KULIAH DENGAN MENGGUNAKAN ALGORITMA GENETIKA STUDI KASUS FAKULTAS TEKNIK UNIVERSITAS SUMATERA UTARA

Nama Mahasiswa : Purwanto Simamora Nomor Induk : 097034013

Program Studi : Magister Teknik Elektro

Menyetujui Komisi Pembimbing,

(Prof. Drs. Tulus, M.Si., Ph.D.) (Fakhruddin R. Batubara, S.T., M.TI.)

Ketua Anggota

Sekretaris Program Studi, Dekan,

(Drs. Hasdari Helmi, M.T.) (Prof. Dr. Ir. Bustami Syam, MSME) Tanggal Lulus : 10 Oktober 2013


(4)

PENJADWALAN KULIAH DENGAN MENGGUNAKAN ALGORITMA GENETIKA STUDI KASUS FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA

Oleh:

PURWANTO SIMAMORA NIM: 097034013

Tugas Akhir ini diajukan untuk melengkapi salah satu syarat untuk memperoleh gelar Magister Teknik

PROGRAM STUDI MAGISTER TEKNIK ELEKTRO FAKULTAS TEKNIK

UNIVERSITAS SUMATERA UTARA MEDAN

Sidang meja hijau tanggal 10 bulan Oktober tahun 2013 di depan komisi penguji:

1. Prof. Drs. Tulus, M.Si., Ph.D. : Ketua Penguji : __________ 2. Fakhruddin R. Batubara, S.T., M.TI. : Anggota Penguji I : __________ 3. Dr. Benny B. Nasution., Dipl.Ing., M.Eng. : Anggota Penguji II : __________ 4. Fahmi, S.T., M.Sc. : Anggota Penguji III : __________ 5. Dr. Poltak Sihombing, M.Kom. : Anggota Penguji IV : __________

Diketahui Oleh: Sekretaris,

Program Studi Magister Teknik Elektro FT. USU

(Drs. Hasdari Helmi, M.T.) NIP. 195911301987011001


(5)

Telah Diuji pada

Tanggal : 10 Oktober 2013

PANITIA PENGUJI TESIS

Ketua : Prof. Drs. Tulus, M.Si., Ph.D

Anggota : 1. Fakhruddin R. Batubara, S.T., M.TI. 2. Dr. Benny B. Nasution., Dipl.Ing., M.Eng 3. Fahmi, S.T., M.Sc.


(6)

ABSTRAK

Penjadwalan kuliah merupakan suatu kegiatan untuk mengalokasikan sejumlah aktivitas perkuliahan ke dalam slot ruang dan waktu yang telah tersedia. Untuk menghasilkan suatu penjadwalan kuliah yang baik, maka diperlukan komponen penjadwalan antara lain dosen, mata kuliah, mahasiswa, kurikulum, ruang dan waktu. Keterbatasan ruang dan waktu kuliah sering menjadi permasalahan dalam penyusunan jadwal kuliah. Penambahan jumlah mahasiswa, penambahan mata kuliah akibat penerapan kurikulum baru, dan penambahan kegiatan lain di universitas mempengaruhi penggunaan jumlah ruang dan waktu. Sistem penjadwalan kuliah yang diinginkan adalah sistem penjadwalan yang optimal dan cepat untuk mengatasi tiap perubahan yang terjadi. Sistem penjadwalan yang dihasilkan nantinya harus tetap mengatasi keterbatasan pada komponen penjadwalan yaitu jumlah dosen, ruang dan waktu yang tersedia. Penelitian ini menggunakan dua metode dalam menyusun sistem penjadwalan kuliah, yaitu dengan menggunakan algoritma penjadwalan dan tanpa menggunakan algoritma penjadwalan. Kedua metode ini akan digabungkan ke dalam algoritma genetika sehingga diharapkan diperoleh suatu sistem penjadwalan kuliah yang dapat mengurangi jumlah pelanggaran ruang dan waktu. Dari hasil penelitian diperoleh bahwa tanpa menggunakan algoritma penjadwalan, terjadi 2 pelanggaran waktu dan jumlah ruang minimal yang digunakan ada sebanyak 9 ruangan serta konvergen pada generasi ke-127. Tetapi dengan menggunakan algoritma penjadwalan, jumlah pelanggaran yang terjadi tidak terjadi lagi dan penggunaan jumlah ruangan minimal menjadi 8 ruangan serta konvergen pada generasi ke-85. Dengan demikian penjadwalan mata kuliah dengan menggabungkan algoritma penjadwalan dan algoritma genetika merupakan metode yang lebih tepat untuk mengurangi jumlah pelanggaran waktu dan dapat lebih memanfaatkan penggunaan jumlah ruangan seminimal mungkin.

Katakunci : Penjadwalan Kuliah, Algoritma genetika, Konvergen, Pelanggaran Ruang, Pelanggaran Waktu


(7)

ABSTRACT

Scheduling courses is an activity of allocating a number of activities of giving lectures in an available slot of space and time. To yield good course scheduling, we need scheduling components such as instructors, subjects, students, curriculum, place, and time. The limited place and time for courses often become a problem in organizing course schedule. The addition of the number of students, the addition of subjects because of a new curriculum, and the addition of other activities at the university influence the use of place and time. The intended system of scheduling courses is an optimal and fast scheduling system to cope with every change. The outcome of the scheduling system should be able to cope with the limitation of scheduling components such as the available number of instructors, place, and time. This research used two methods in organizing the scheduling of courses, by using scheduling algorithm and without using scheduling algorithm. These two methods would be combined into genetic algorithm so that it was expected to obtain a system of course scheduling which could reduce a number of violations against place and time. The result of the research showed that scheduling algorithm was not used, two violations would occur and the number of minimal use of rooms would be nine rooms and the convergence at the 127th generation. On the other hand, scheduling logarithm was used, the number of violations would not occur and the use of minimal rooms became eight rooms at the 85th generation. Therefore, the scheduling of courses by combining scheduling algorithm with genetic algorithm was a correct method to reduce the number of violations of place and time and could be more beneficial for the use of the number of rooms as minimal as possible.

Keywords: Course Scheduling, Genetic Algorithm, Convergence, Violation of Place, Violation of Time


(8)

KATA PENGANTAR

Puji dan syukur kehadirat Tuhan Yang Maha Esa, atas berkat, rahmat dan karuniaNya sehingga penulis dapat menyelesaikan tesis dengan judul: Sistem Penjadwalan Kuliah dengan Menggunakan Algoritma Genetika Studi Kasus Fakultas Teknik Universitas Sumatera Utara.

Tesis ini merupakan salah satu syarat yang harus dipenuhi oleh mahasiswa untuk mendapatkan gelar Magister Teknik pada Program Studi Teknik Elektro Universitas Sumatera Utara.

Penulis banyak mendapat bantuan dan dukungan dari berbagai pihak dalam menyelesaikan tesis ini. Pada kesempatan ini, penulis mengucapkan terima kasih kepada Bapak Prof. Drs. Tulus, M.Si., Ph.D., selaku Ketua Komisi Pembimbing, Bapak Fakhruddin R. Batubara, S.T., M.TI., selaku Pembimbing yang dengan penuh sabar, arif dan bijaksana memberikan bimbingan, dorongan, petunjuk serta arahan kepada penulis. Bapak Dr. Benny B. Nasution, Dipl. Ing., M.Eng., Bapak Fahmi, S.T., M.Sc., dan Bapak Dr. Poltak Sihombing, M.Kom., selaku Pembanding Utama yang telah memberikan kritik dan masukan terhadap tesis.

Penulis juga mengucapkan terima kasih kepada orang tua penulis, Bapak Drs. Djamiandar Simamora, DFM., M.Pd. dan Ibu Alida Nurbetty Siregar atas doa dan dukungannya. Keluarga dan teman penulis yang telah banyak memberikan semangat dan perhatian serta toleransi sehingga tesis ini selesai. Terselesaikannya penelitian tesis ini juga melibatkan berbagai pihak yaitu: Ketua dan Sekretaris Program Studi


(9)

Magister Teknik Elektro, serta seluruh staf pengajar dan karyawan Program Studi Magister Teknik Elektro, untuk itu penulis mengucapkan terimakasih atas kontribusi dan bantuannya.

Penulis menyadari masih ada kekurangan dalam tulisan ini, namun penulis mengharapkan tulisan ini dapat memenuhi persyaratan yang diperlukan untuk suatu tesis dalam Program Studi Magister Teknik Elektro Fakultas Teknik Universitas Sumatera Utara.

Akhir kata penulis mengucapkan terima kasih dan semoga tesis ini dapat berguna bagi semua kita.

Medan, Oktober 2013 Hormat Saya,


(10)

D A F T A R I S I

Halaman

ABSTRAK ... i-ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR TABEL ... ix

DAFTAR GAMBAR ... xi

DAFTAR LAMPIRAN ... xii

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang Masalah ... 1

1.2. Rumusan Masalah ... 6

1.3. Batasan Masalah ... 6

1.4. Tujuan Penelitian ... 7

1.5. Manfaat Penelitian ... 7

1.6. Sistematika Penulisan ... 8

BAB II TINJAUAN PUSTAKA ... 10

2.1. Penelitian Terkait ... 10

2.2. Penjadwalan Kuliah ... 12

2.3. Masalah Penjadwalan Kuliah ... 14

2.4. Persyaratan Penjadwalan ... 15

2.5. Kesulitan dalam Menyusun Penjadwalan ... 16

2.6. Algoritma Genetika ... 17

2.6.1. Tahapan Algoritma Genetika ... 18

2.6.2. Komponen Utama Algoritma Genetika ... 19

2.7. Pengkodean ... 19


(11)

2.7.2. Pengkodean Nilai ... 20

2.7.3. Pengkodean Pohon ... 21

2.7.4. Pengkodean Permutasi ... 21

2.8. Inisialisasi Populasi ... 22

2.9. Operator dalam Algoritma Genetika ... 23

2.9.1. Seleksi ... 23

2.9.1.1.Seleksi Roda Roulette ... 23

2.9.1.2.Seleksi Ranking ... 25

2.9.1.3.Seleksi Turnamen ... 26

2.9.2. Kawin Silang ... 27

2.9.2.1.Kawin Silang 1 Titik ... 27

2.9.2.2.Kawin Silang 2 Titik ... 28

2.9.2.3.Kawin Silang Seragam ... 29

2.9.2.4.Kawin Silang Rekombinasi ... 30

2.9.3. Mutasi ... 31

2.9.3.1.Mutasi Biner ... 32

2.9.3.2.Mutasi Permutasi ... 32

2.9.3.3.Mutasi Nilai ... 32

2.10. Elitisme ... 33

2.11. Precedence Presservative Crossover (PPX) ... 33

2.12. Konvergen ... 34

BAB III METODE PENELITIAN ... 36

3.1. Sumber Data ... 36

3.1.1. Daftar Nama Dosen ... 37

3.1.2. Daftar Mata Kuliah ... 37

3.1.3. Daftar Jumlah Mahasiswa ... 38

3.1.4. Daftar Waktu Kuliah ... 38


(12)

3.2. Perancangan Penjadwalan Kuliah ... 39

3.3. Optimasi Penjadwalan dengan Algoritma Genetika ... 40

3.3.1. Pemilihan Representasi Masalah ... 40

3.3.2. Pembentukan Gen ... 41

3.3.3. Pembentukan Kromosom ... 41

3.4. Pembentukan Populasi Awal (Inisialisasi) ... 42

3.5. Pemilihan Operator Genetika ... 43

3.5.1. Seleksi dan Penetapan Fungsi Fitness ... 43

3.5.2. Crossover dan Mutasi ... 45

3.6. Perancangan Algoritma Genetika ... 46

3.7. Perbandingan dan Analisa Hasil Penjadwalan ... 48

3.8. Diagram Alir Penelitian ... 49

BAB IV HASIL DAN ANALISA ... 51

4.1. Pengumpulan Data ... 51

4.2. Komponen Penjadwalan ... 52

4.2.1. Daftar Mata Kuliah ... 53

4.2.2. Daftar Waktu Kuliah ... 54

4.2.3. Daftar Ruang Kuliah ... 55

4.3. Perancangan Sistem Penjadwalan Kuliah ... 56

4.3.1. Pengkodean Data ... 57

4.3.2. Pembentukan Kromosom ... 60

4.3.3. Pengembalian Kode (Decoding) ... 69

4.4. Fungsi fitness ... 77

4.5. Proses Optimasi dengan Algoritma Genetika ... 81

4.5.1. Penentuan Hard Constraint dan Soft Constraint ... 81

4.5.2. Pencarian Kromosom Dominated & Non-Dominated .... 83


(13)

4.5.4. Hasil Pengujian pada Metode Tanpa Algoritma

Penjadwalan ... 87

4.6. Proses Optimasi dengan Algoritma Penjadwalan dan Algoritma Genetika ... 89

4.6.1. Pembentukan Gen pada Metode dengan Algoritma Penjadwalan ... 89

4.6.2 Perbaikan Kromosom dengan Algoritma Genetika ... 99

4.6.3 Hasil Pengujian pada Metode Tanpa Algoritma Penjadwalan ... 100

4.7. Perbandingan Hasil Penjadwalan ... 103

4.8. Perbandingan Grafik Hasil Penjadwalan ... 105

BAB V KESIMPULAN DAN SARAN ... 107

5.1. Kesimpulan ... 107

5.2. Saran ... 108

DAFTAR PUSTAKA ... 109 LAMPIRAN ... A – J


(14)

D A F T A R T A B E L

Halaman

Tabel 2.1. Kromosom dengan Pengkodean Biner ... 20

Tabel 2.2. Kromosom dengan Pengkodean Nilai... 21

Tabel 2.3. Kromosom dengan Pengkodean Permutasi... 22

Tabel 2.4. Contoh proses seleksi ... 23

Tabel 2.5. Seleksi Ranking sebelum di-ranking... 25

Tabel 2.6. Seleksi Ranking setelah di-ranking ... 25

Tabel 2.7. Kawin Silang Rekombinasi ... 30

Tabel 2.8. Mutasi pada Pengkodean Biner... 32

Tabel 2.9. Mutasi pada Pengkodean Permutasi ... 32

Tabel 2.10 Contoh mutasi pada pengkodean nilai riil... 33

Tabel 3.1 Contoh Pengkodean Waktu Kuliah dengan Kode Biner ... 40

Tabel 3.2 Contoh Pengkodean Ruang Kuliah dengan Kode Biner ... 41

Tabel 3.3 Jadwal Hasil Penerjemahan Kromosom ... 42

Tabel 4.1 Daftar Mata Kuliah dan Dosen ... 53

Tabel 4.2 Daftar Waktu Kawin untuk Daftar Hari ... 55

Tabel 4.3 Daftar Waktu Kawin untuk Daftar Jam ... 55

Tabel 4.4 Daftar Ruang Kuliah ... 56

Tabel 4.5 Kode Biner untuk Waktu Kuliah ... 57

Tabel 4.6. Kode Biner untuk Ruang Kuliah ... 60

Tabel 4.7 Pembentukan Gen dari Kode Waktu dan Kode Ruang Kuliah ... 63

Tabel 4.8 Urutan Mata Kulih dalam Kromosom ... 60

Tabel 4.9 Tabel Jadwal Kuliah Hasil Decoding dari Kromosom 1 ... 70

Tabel 4.10 Jadwal Penggunaan Waktu dan Ruang Kuliah ... 79

Tabel 4.11 Pengurutan Kromosom berdasarkan Fitness f1 ... 82

Tabel 4.12 Pemberian Nilai Fitness pada Kromosom dalam Populasi ... 84

Tabel 4.13 Kromosom Terpilih untuk k = 3 ... 85

Tabel 4.14 Populasi Akhir dari Hasil Proses Optimasi ... 87

Tabel 4.15 Pengkodean Prioritas Mata Kuliah ... 90

Tabel 4.16 Urutan Penjadwalan Kuliah berdasarkan Penerjemahan Kromosom I ... 94

Tabel 4.17 Hasil Penjadwalan dengan Algoritma Penjadwalan ... 97

Tabel 4.18 Populasi Akhir sebagai Solusi Optimal dari Hasil Proses Optimasi dengan Metode Algoritma Genetika ... 101


(15)

Tabel 4.19 Perbandingan Hasil Akhir Proses Optimasi dari Metode dengan


(16)

D A F T A R G A M B A R

Halaman

Gambar 2.1. Flowchart Algoritma Genetika ... 18

Gambar 2.2. Seleksi Roda Roulette ... 24

Gambar 2.3. Kawin Silang 1 Titik ... 28

Gambar 2.4. Kawin Silang 2 Titik ... 29

Gambar 2.5. Kawin Silang seragam ... 30

Gambar 2.6. Operasi Mutasi Genetika ... 31

Gambar 2.7. Precedence Presservative Crossover (PPX) ... 34

Gambar 2.8. Nilai fitness dalam algoritma genetika ... 35

Gambar 3.1. Pembentukan Gen untuk Kode Waktu dan Kode Ruangan ... 41

Gambar 3.2. Kromosom yang Terbentuk dari Susunan Gen ... 42

Gambar 3.3 Proses Seleksi untuk Pencarian Pareto Optimal ... 45

Gambar 3.4 Proses Crossover ... 46

Gambar 3.5 Diagram Alir Penelitian ... 50

Gambar 4.1. Kromosom 1 yang terdiri dari 1050 Bit Biner ... 69

Gambar 4.2. Proses Reproduksi dengan Mutasi Banyak Titik ... 86

Gambar 4.3. Proses Perubahan Kode Biner ke Bentuk Gray Code ... 90

Gambar 4.4. Pembentukan Kromosom berdasarkan Urutan Penjadwalan Mata Kuliah ... 94

Gambar 4.5. Tabel Jadwal sebagai Matriks Waktu dan Ruangan... 95

Gambar 4.6. Grafik Hasil Penjadwalan Kuliah tanpa Menggunakan Algoritma Penjadwalan ... 105

Gambar 4.7. Grafik Hasil Penjadwalan Kuliah dengan Menggunakan Algoritma Penjadwalan ... 106


(17)

DAFTAR LAMPIRAN

Halaman

Lampiran 1. Daftar Dosen ... A – 1 Lampiran 2. Daftar Mata Kuliah ... B – 1 Lampiran 3. Daftar Gabungan Dosen dan Mata Kuliah ... C – 1 Lampiran 4. Daftar Jumlah Mahasiswa ... D – 1 Lampiran 5. Daftar Waktu Kuliah ... E – 1 Lampiran 6. Daftar Hari Kuliah ... F – 1 Lampiran 7. Daftar Ruang Kuliah ... G – 1 Lampiran 8. List Program Penjadwalan Kuliah tanpa Algoritma

Penjadwalan ... H – 1 Lampiran 9. List Program Penjadwalan Kuliah dengan

Algoritma Penjadwalan ... I – 1 Lampiran 10 Jadwal Kuliah Semester Ganjil... J – 1


(18)

ABSTRAK

Penjadwalan kuliah merupakan suatu kegiatan untuk mengalokasikan sejumlah aktivitas perkuliahan ke dalam slot ruang dan waktu yang telah tersedia. Untuk menghasilkan suatu penjadwalan kuliah yang baik, maka diperlukan komponen penjadwalan antara lain dosen, mata kuliah, mahasiswa, kurikulum, ruang dan waktu. Keterbatasan ruang dan waktu kuliah sering menjadi permasalahan dalam penyusunan jadwal kuliah. Penambahan jumlah mahasiswa, penambahan mata kuliah akibat penerapan kurikulum baru, dan penambahan kegiatan lain di universitas mempengaruhi penggunaan jumlah ruang dan waktu. Sistem penjadwalan kuliah yang diinginkan adalah sistem penjadwalan yang optimal dan cepat untuk mengatasi tiap perubahan yang terjadi. Sistem penjadwalan yang dihasilkan nantinya harus tetap mengatasi keterbatasan pada komponen penjadwalan yaitu jumlah dosen, ruang dan waktu yang tersedia. Penelitian ini menggunakan dua metode dalam menyusun sistem penjadwalan kuliah, yaitu dengan menggunakan algoritma penjadwalan dan tanpa menggunakan algoritma penjadwalan. Kedua metode ini akan digabungkan ke dalam algoritma genetika sehingga diharapkan diperoleh suatu sistem penjadwalan kuliah yang dapat mengurangi jumlah pelanggaran ruang dan waktu. Dari hasil penelitian diperoleh bahwa tanpa menggunakan algoritma penjadwalan, terjadi 2 pelanggaran waktu dan jumlah ruang minimal yang digunakan ada sebanyak 9 ruangan serta konvergen pada generasi ke-127. Tetapi dengan menggunakan algoritma penjadwalan, jumlah pelanggaran yang terjadi tidak terjadi lagi dan penggunaan jumlah ruangan minimal menjadi 8 ruangan serta konvergen pada generasi ke-85. Dengan demikian penjadwalan mata kuliah dengan menggabungkan algoritma penjadwalan dan algoritma genetika merupakan metode yang lebih tepat untuk mengurangi jumlah pelanggaran waktu dan dapat lebih memanfaatkan penggunaan jumlah ruangan seminimal mungkin.

Katakunci : Penjadwalan Kuliah, Algoritma genetika, Konvergen, Pelanggaran Ruang, Pelanggaran Waktu


(19)

ABSTRACT

Scheduling courses is an activity of allocating a number of activities of giving lectures in an available slot of space and time. To yield good course scheduling, we need scheduling components such as instructors, subjects, students, curriculum, place, and time. The limited place and time for courses often become a problem in organizing course schedule. The addition of the number of students, the addition of subjects because of a new curriculum, and the addition of other activities at the university influence the use of place and time. The intended system of scheduling courses is an optimal and fast scheduling system to cope with every change. The outcome of the scheduling system should be able to cope with the limitation of scheduling components such as the available number of instructors, place, and time. This research used two methods in organizing the scheduling of courses, by using scheduling algorithm and without using scheduling algorithm. These two methods would be combined into genetic algorithm so that it was expected to obtain a system of course scheduling which could reduce a number of violations against place and time. The result of the research showed that scheduling algorithm was not used, two violations would occur and the number of minimal use of rooms would be nine rooms and the convergence at the 127th generation. On the other hand, scheduling logarithm was used, the number of violations would not occur and the use of minimal rooms became eight rooms at the 85th generation. Therefore, the scheduling of courses by combining scheduling algorithm with genetic algorithm was a correct method to reduce the number of violations of place and time and could be more beneficial for the use of the number of rooms as minimal as possible.

Keywords: Course Scheduling, Genetic Algorithm, Convergence, Violation of Place, Violation of Time


(20)

BAB I PENDAHULUAN

1.1. Latar Belakang Masalah

Penjadwalan merupakan kegiatan administrasi utama di berbagai institusi. Masalah penjadwalan merupakan masalah penugasan sejumlah kegiatan dalam periode waktu tertentu. Penjadwalan kuliah merupakan kegiatan mengalokasikan sejumlah aktivitas kuliah dan batasan mata kuliah ke dalam slot ruang dan waktu yang telah tersedia. Untuk menghasilkan suatu penjadwalan kuliah, diperlukan beberapa komponen penjadwalan yaitu dosen, mata kuliah, mahasiswa, kurikulum, ruang dan waktu [1]. Penyusunan jadwal kuliah dapat dilakukan secara manual tetapi membutuhkan waktu yang lama untuk menemukan solusinya karena melibatkan banyak faktor yang saling mempengaruhi, terlebih lagi bila jumlah perkuliahan yang dijadwalkan semakin bertambah dengan jumlah dosen dan ruangan yang terbatas. Untuk mengatasi kesulitan dalam menyusun penjadwalan kuliah, maka digunakan suatu sistem penjadwalan yang dapat mengolah seluruh data masukan seperti komponen penjadwalan, aturan dan batasan tertentu yang berhubungan dengan pencarian solusi dalam penjadwalan.

Keterbatasan sumber daya dalam menyusun jadwal merupakan dasar untuk melakukan optimasi penjadwalan. Jumlah mahasiswa yang semakin banyak, jumlah


(21)

dosen dan jumlah ruang yang terbatas mengharuskan sistem yang disusun nantinya dapat memanfaatkan sumber daya yang ada dengan sebaik mungkin.

Secara umum, pencarian solusi terhadap permasalahan yang muncul dapat dilakukan dengan beberapa pendekatan. Pendekatan tersebut menggunakan empat metode yaitu: Sequential Methods, Cluster Methods, Constraint Based Methods, dan Meta-heuristic Methods [1]. Dari keempat metode tersebut, algoritma genetika dikelompokkan dalam meta-heuristic methods.

Algoritma genetika merupakan teknik pencarian berdasarkan seleksi alami yang dikembangkan oleh John Holland di University of Michigan. Algoritma ini dapat menemukan solusi global yang optimal untuk menyelesaikan persoalan data yang kompleks. Algoritma genetika menggunakan teknik evolusi biologi seperti mutasi, kawin silang dan seleksi. Metode dalam algoritma genetika sama dengan teori Darwin yang mengikuti pola seleksi alami sederhana pada pertumbuhan dan reproduksi. Proses diawali dengan menentukan suatu objek populasi (inisialisasi). Selanjutnya dilakukan evaluasi fitness dari tiap objek (analisa). Ketika populasi yang diperoleh tidak cukup fit, maka objek tersebut akan dibuang. Bila jumlah populasi sudah memenuhi harapan, maka mulai dilakukan proses seleksi untuk dua populasi terbaik. Proses pemilihan dilakukan dengan mutasi acak. Setelah seluruh proses terpenuhi, maka dilakukan evaluasi dan penempatan dalam populasi [2].

Penelitian tentang penjadwalan kuliah menggunakan algoritma genetika dengan metode pencarian beragam telah banyak dilakukan. Penelitian dilakukan dengan


(22)

mengubah-ubah operator genetika (seleksi, crossover, mutasi) dan jenis pengkodean serta metode yang dilakukan.

Sam’ani [3] melakukan penelitian tentang penjadwalan kuliah dengan algoritma genetika di STMIK Palangkaraya. Penelitian menggunakan 8 (delapan) prosedur antara lain: teknik pengkodean menggunakan string bit/varchar, populasi awal dan kromosom secara acak (random), fungsi fitness untuk meminimalkan jumlah bentrok antar jadwal, metode seleksi roulette-wheel, pindah silang satu titik potong (one-point-crossover), mutasi pengkodean nilai, elitismn dan kondisi selesai bila iterasi maksimum telah dicapai. Hasil output dari sistem berupa susunan penjadwalan perkuliahan dan ujian akhir semester dalam format file Microsoft Excel. Dari 3 (tiga) kali pengujian terhadap data yang dilakukan terhadap 5-10 generasi dan populasi serta probabilitas pindah silang dan mutasi yang berbeda, didapatkan hasil terbaik dengan semua nilai fitness tiap generasi bernilai 1 dan waktu tercepat adalah pada jumlah generasi 5, populasi 5, probabilitas pindah silang 25% dan mutasi 2%.

Kazarlis, S. [4] melakukan penelitian tentang penjadwalan dengan mengkombinasikan hasil penjadwalan secara manual dan menggunakan algoritma genetika sebagai alat optimasi. Untuk mendapatkan suatu tingkat kesesuaian, batasan (constraint) dibagi ke dalam dua bagian yaitu hard constraint dan soft constraint. Dalam penelitian ini, algoritma penjadwalan secara terbatas melakukan penjadwalan berdasarkan urutan tertentu. Keterbatasan dari algoritma tersebut akan dioptimasi dengan algoritma genetika. Penggunaan algoritma genetika lebih lanjut telah dilakukan untuk menyelesaikan masalah penjadwalan kuliah di universitas. Metode


(23)

algoritma yang dimaksud menggunakan representasi tidak langsung meliputi pemberian prioritas peristiwa, dan timetable builder untuk menghasilkan penjadwalan yang lengkap. Teknik ini menggabungkan sejumlah operator standar dan khusus untuk meningkatkan efisiensi pencarian. Penggunaan algoritma genetika telah digunakan pada masalah penjadwalan kuliah di universitas yang selama ini dilakukan secara manual. Perbandingan langsung solusi yang dihasilkan oleh algoritma genetika dengan penjadwalan manual menunjukkan bahwa meskipun menggunakan metode evolusi masih tidak memenuhi seluruh hard constraint, dan yang justru hasil yang diperoleh adalah suatu nilai kepuasan soft constraint yang lebih baik. Algoritma genetika tidak mampu memuaskan seluruh hard constraint yang ada sehingga tidak dapat digunakan pada permasalahan yang lebih sulit lagi. Pada penelitian ini, pencarian sebanyak 5000 generasi masih belum dapat mencapai zero hard maupun soft constraint.

Dari kedua penelitian di atas diperoleh dua perbedaan yang mendasar pada teknik penjadwalan yang digunakan. Pada penelitian pertama proses optimasi dilakukan dalam satu tahap yaitu langsung melalui algoritma genetika. Kromosom secara langsung berisi kode waktu kuliah yang akan dilaksanakan. Pada penelitian kedua, kromosom berisi urutan kuliah. Urutan kuliah ini diterjemahkan ke dalam kode waktu melalui algoritma penjadwalan. Selanjutnya dilakukan proses optimasi dengan dua tahap yaitu menggunakan algoritma penjadwalan dan algoritma genetika. Algoritma penjadwalan terlebih dahulu melakukan proses optimasi melalui algoritma


(24)

yang mencegah terjadinya pelanggaran jadwal. Tahap selanjutnya melakukan optimasi dengan algoritma genetika untuk memilih jadwal yang lebih baik.

Penggunaan jumlah ruang merupakan hal yang penting untuk diteliti, karena hasil optimasi yang digunakan akan memberikan gambaran jumlah ruang minimal yang harus ada apabila terjadi penambahan jumlah mahasiswa, penambahan jumlah mata kuliah akibat penerapan kurikulum baru, dan penambahan konsentrasi bidang keahlian atau sebagai masukan dalam rencana pengembangan kegiatan di universitas. Penggunaan ruangan di Fakultas Teknik Universitas Sumatera Utara saat ini dinilai belum efektif. Hal ini terlihat dari seringnya menggunakan beberapa ruang tertentu secara terus menerus sementara ada ruang lain yang jarang digunakan sehingga distribusi pemakaian ruangan tidak merata.

Sistem penjadwalan kuliah yang diinginkan adalah sistem penjadwalan yang otimal dan cepat untuk mengatasi tiap perubahan yang terdapat pada data masukan, tetapi sistem yang dihasilkan harus tetap mengikuti aturan penjadwalan yang berlaku. Sistem penjadwalan nantinya harus dapat mengatasi keterbatasan pada komponen penjadwalan yaitu jumlah dosen, ruang dan waktu yang tersedia.

Berdasarkan latar belakang di atas, penelitian ini akan membandingkan proses penyusunan jadwal kuliah dengan menggunakan algoritma genetika yang menggunakan dua metode, yaitu dengan menggunakan algoritma penjadwalan dan tanpa menggunakan algoritma penjadwalan. Kedua algoritma nantinya harus dapat menemukan solusi yang lebih tepat dalam mengoptimalkan penggunaan jumlah ruangan. Pada kesempatan ini, penulis melakukan penelitian dengan judul


(25)

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

1.2. Rumusan Masalah

Berdasarkan latar belakang tersebut, maka yang menjadi rumusan masalah dalam penelitian ini adalah membandingkan proses penjadwalan kuliah dengan menggunakan algoritma genetika tanpa algoritma penjadwalan dan dengan algoritma penjadwalan untuk mendapatkan hasil yang optimal sehingga waktu yang diperlukan dalam proses pencarian solusi lebih cepat.

1.3. Batasan Masalah

Adapun yang menjadi batasan masalah dalam penelitian ini antara lain:

a. Penjadwalan kuliah dibatasi pada mahasiswa reguler S1 Fakultas Teknik Universitas Sumatera Utara pada semester ganjil Tahun Ajaran 2011/2012. b. Data penelitian dibatasi hanya Teknik Elektro, tetapi sistem penjadwalan

kuliah yang dihasilkan dapat diaplikasikan untuk seluruh departemen. c. Sistem perkuliahan menggunakan satuan kredit semester (SKS) dan alokasi

waktu yang diberikan tiap SKS adalah 50 menit. Waktu kuliah untuk setiap fakultas sama yaitu 5 hari kerja, dilaksanakan pada hari Senin s.d Kamis mulai pukul 08.00 s.d 18.00 WIB. Khusus hari Jumat pukul 08.00 s.d 11.20 WIB dan dilanjutkan kembali pukul 14.00 s.d 18.00 WIB.


(26)

d. Dosen hanya dapat mengajar sesuai dengan ruang dan waktu yang telah ditentukan. Apabila suatu hari dosen berhalangan mengajar, maka dosen diharuskan menjadwalkan ulang kegiatan perkuliahan ke bagian akademik. e. Membangun aplikasi sistem penjadwalan kuliah dengan algoritma genetika

dengan algoritma penjadwalan dan tanpa algoritma penjadwalan.

f. Pengembangan aplikasi menggunakan bahasa pemrograman visual basic yang dihubungkan dengan Macro Excel.

1.4. Tujuan Penelitian

Tujuan dari penelitian ini adalah menghasilkan suatu sistem penjadwalan kuliah yang optimal pada penggunaan jumlah ruangan sehingga waktu yang dibutuhkan untuk pencarian solusi lebih cepat.

1.5. Manfaat Penelitian

Hasil penelitian ini diharapkan dapat bermanfaat bagi Fakultas Teknik Universitas Sumatera Utara, bagi peneliti selanjutnya dan bagi ilmu pengetahuan.

a. Bagi fakultas, penelitian ini dapat dikembangkan lebih lanjut untuk membantu menyelesaikan masalah penjadwalan kuliah dengan seoptimal mungkin.

b. Dapat dijadikan sebagai acuan bagi peneliti berikutnya yang ingin merancang suatu sistem penjadwalan dengan menggunakan algoritma genetika.


(27)

c. Penelitian ini diharapkan dapat memberikan alternatif dalam menyelesaikan penjadwalan kuliah di perguruan tinggi atau universitas dengan menyempurnakan hasil dari penelitian ini sehingga dapat memperluas penggunaan algoritma genetika.

1.6. Sistematika Penulisan

Adapun sistematika penulisan yang dirancang adalah sebagai berikut:

BAB I PENDAHULUAN

BAB ini berisi Latar Belakang, Rumusan Masalah, Batasan Masalah, Tujuan Penelitian, Manfaat Penelitian, dan Sistematika Penulisan.

BAB II LANDASAN TEORI

BAB ini berisi Penelitian Terkait, Penjadwalan Kuliah, Masalah Penjadwalan Kuliah, Persyaratan Penjadwalan, Kesulitan dalam Penjadwalan Kuliah, Algoritma Genetika, Pengkodean, Inisialisasi Populasi, Operator dalam Algoritma Genetika, Elitisme, PPX dan Konvergen.

BAB III METODE PENELITIAN

BAB ini berisi Sumber Data, Perancangan Sistem Penjadwalan Kuliah, Optimalisasi Penjadwalan dengan Algoritma Genetika, Pembentukan Populasi Awal, Pemilihan Operator Genetika, Perancangan Algoritma Penjadwalan, Perbandingan dan Analisa Hasil Penjadwalan, dan Diagram Alir Penelitian.


(28)

BAB IV HASIL DAN ANALISA

BAB ini berisi Pengumpulan Data, Komponen Penjadwalan, Perancangan Sistem Penjadwalan Kuliah, Fungsi Fitness, Proses Optimasi dengan Algoritma Genetika, Proses Optimasi dengan Algoritma Penjadwalan dan Algoritma Genetika, Perbandingan Hasil Penjadwalan dan Perbandingan Grafik Hasil Penjadwalan.

BAB V KESIMPULAN DAN SARAN


(29)

BAB II

LANDASAN TEORI

2.1. Penelitian Terkait

Penelitian terkait yang menggunakan algoritma genetika untuk menemukan solusi dalam menyelesaikan permasalahan penjadwalan kuliah telah banyak dilakukan. Sam’ani [3] melakukan penelitian tentang penjadwalan kuliah dan ujian akhir semester program studi Diploma III Manajemen Informatika STMIK Palangkaraya dengan menggunakan algoritma genetika. Teknik pengkodean dalam penelitian tersebut menggunakan string bit atau varchar untuk teknik pengkodean, populasi awal dibentuk secara acak (random), fungsi fitness digunakan untuk meminimalkan jumlah pelanggaran antar jadwal, metode seleksi dengan roulette-wheel, pindah silang satu titik potong (one-point crossover), mutasi dengan pengkodean nilai, menggunakan elitisme dan kondisi selesai ditentukan bila iterasi maksimum telah tercapai. Hasil output dari sistem berupa susunan penjadwalan kuliah dan ujian akhir semester dan didapatkan hasil terbaik dengan semua nilai fitness tiap generasi bernilai satu dan waktu tercepat dicapai pada generasi ke-5, populasi ke-5, probabilitas pindah silang 25% dan mutasi 2%.

Kazarlis, S. [4] melakukan penelitian tentang penjadwalan dengan membagi batasan (constraint) ke dalam dua bagian yaitu hard constraint dan soft constraint. Untuk mendapatkan suatu sistem penjadwalan kuliah, peneliti menyusun suatu


(30)

algoritma penjadwalan tersendiri yang berbeda dengan agoritma genetika. Proses penjadwalan pertama sekali dilakukan dengan algoritma penjadwalan dengan menjadwalkan kuliah berdasarkan urutan tertentu yang dapat mengatasi hard constraint dan soft constraint. Algoritma penjadwalan terbatas pada pencarian solusi yang paling optimum dari masalah yang dihadapi di dalam proses penjadwalan. Untuk mengatasi keterbatasan tersebut, jadwal yang dihasilkan nantinya akan dievaluasi berdasarkan kesesuaiannya dan dijadikan sebagai dasar dalam operasi algoritma genetika. Dalam penelitian ini, pencarian solusi dengan menggunakan 5000 generasi tidak dapat menghasilkan zero hard maupun soft constraint. Dari hasil diperoleh bahwa dengan algoritma genetika tidak dapat mengatur kepuasan seluruh hard constraint, meskipun hubungan hasil yang diperoleh berdekatan, masih saja ditemukan dua kesalahan. Dengan kata lain, apabila hanya mengandalkan algoritma genetika saja, maka hasil yang diperoleh adalah hanya berupa soft constraint saja dan hasilnya lebih baik dibandingkan penjadwalan yang dibuat admin.

Edmund Burke [5] melakukan penelitian terhadap penjadwalan dengan algoritma genetika pada lembaga pendidikan di Inggris. Penelitian tersebut dilakukan karena pada saat itu terjadi perkembangan dalam dunia pendidikan yang memperbolehkan mahasiswa untuk memilih mata kuliah yang akan diambilnya. Hal ini menyebabkan proses penjadwalan diharuskan lebih fleksibel terhadap perubahan jumlah mahasiswa, jumlah dosen, dan kebutuhan ruang kuliah. Pada sistem penjadwalan kuliah yang dilakukan, pemilihan ruang dilakukan berdasarkan kapasitas ruang yang digunakan. Jadwal dievaluasi berdasarkan jenis jadwal yang dihasilkan


(31)

dan kursi yang tersisa untuk setiap ruang. Penjadwalan dimulai dari jumlah mata kuliah yang sedikit sehingga dihasilkan beberapa pilihan jadwal.

2.2. Penjadwalan Kuliah

Penjadwalan merupakan kumpulan kebijakan dan mekanisme dalam sistem operasi yang berkaitan dengan disain sistem, urutan kerja, daftar atau rencana kegiatan dengan pembagian waktu pelaksanaan yang terperinci. Penjadwalan digunakan untuk memutuskan prioritas yang harus dijalankan, waktu pelaksanaan pekerjaan dan teknik pelaksanaan pekerjaan [6].

Penjadwalan kuliah merupakan kegiatan administrasi yang mengalokasikan sejumlah aktivitas perkuliahan tertentu pada slot waktu dan ruang yang tersedia [7]. Dalam menyusun penjadwalan kuliah, terdapat beberapa pertimbangan penting yang harus diperhatikan, antara lain jumlah mata kuliah yang ditawarkan dalam satu semester, jenis mata kuliah (teori dan praktikum), jumlah dosen yang mengajar dalam satu semester, waktu kuliah dan ruang yang tersedia.

Konsep penjadwalan kuliah diawali dengan penugasan seluruh mata kuliah yang disusun dalam satu semester untuk diberikan kepada dosen pengajar. Selanjutnya mata kuliah dijadwalkan menurut waktu dan ruang yang tersedia dengan mempertimbangkan ketersediaan waktu mengajar dosen, sehingga nantinya diperoleh sistem penjadwalan kuliah yang baik.

Secara matematis, penyusunan penjadwalan kuliah dapat diilustrasikan sebagai berikut [8]:


(32)

a. Himpunan mata kuliah C = {c1c2,c3,….cn} yang merupakan kegiatan (peristiwa).

b. Himpunan waktu T={t1,t2,t3,….tN}. c. Himpunan ruang P={p1,p2,p3,…pN}. d. Himpuan dosen A={a1,a2,a3,….aN}.

Jika diimplementasikan dalam empat duplex (e,t,p,a), sedemikian sehingga e € E, t € T, p € P, dan a € A. Hal ini berarti bahwa peristiwa (e) berlangsung pada waktu (t), yang terjadi pada tempat (p), dilakukan oleh dosen (a).

Apabila penjadwalan ditentukan oleh satu himpunan dosen {a1,a2,…}, satu set mata kuliah {c1,c2,…}, satu himpunan ruang {p1,p2,…}, dan satu set himpunan waktu {t1,t2,…}, maka dapat ditulis satu set rangkap tiga {ai,cj,pk} mewakili keperluan {dimana i=1,….n; j=1,….m; dan k=1,….q}. Setiap himpunan menunjukkan dosen ai, mengajar mata kuliah cj di dalam kelas pk. Demikian seterusnya, jika set rangkap tiga ini ditambah elemen t1 {dimana l=1, ...s}, maka membentuk set rangkap empat yaitu {ai,cj,pk,tl} yang dapat diartikan bahwa dosen (ai) mengajar mata kuliah (cj) di kelas (pk) pada waktu (tl). Tiap dua set rangkap berempat misalnya {ai,cj,pk,tl} dan {aw,cx,py,tz} harus memenuhi persyaratan berikut:

Bila ai = aw, maka tl≠tz ……… (2.1) Bila ai = aw, maka pk≠py ……….. (2.2) Bila cj = cx, maka tl≠tz ……… (2.3) Bila cj = cx, maka pk≠ty ……… (2.4) Bila pk=py, maka tl≠tz ……… (2.5)


(33)

Dari ketiga persamaan tersebut, maka persamaan (2.1) menyatakan tidak ada dosen dijadwalkan lebih dari satu kali pada waktu yang bersamaan. Persamaan (2.2) menyatakan bahwa tidak ada dosen dijadwalkan lebih dari satu kali pada ruang yang bersamaan. Persamaan (2.3) menyatakan tidak ada mata kuliah yang dijadwalkan lebih dari satu kali pada waktu yang bersamaan. Persamaan (2.4) menyatakan bahwa tidak ada mata kuliah yang dijadwalkan lebih dari satu kali pada ruang yang bersamaan. Persamaan (2.5) menyatakan bahwa tidak ada ruang yang dijadwalkan lebih dari satu kali dalam satu waktu.

Secara umum suatu penjadwalan kuliah sebaiknya berdasarkan ketentuan sebagai berikut:

a. Kegiatan perkuliahan dirancang selama satu semester yang diimplementasikan dalam bentuk kurikulum.

b. Seluruh beban mengajar didistribusikan secara adil dan merata untuk tiap dosen tanpa adanya perlakuan khusus kepada dosen tertentu.

c. Mengoptimalkan seluruh sarana dan prasarana penunjang perkuliahan. d. Melakukan evaluasi dan montioring dari tiap pencapaian kegiatan

perkuliahan selama satu semester.

2.3. Masalah Penjadwalan Kuliah

Masalah penjadwalan kuliah merupakan masalah keterbatasan dalam menggunakan sumber daya yang tersedia. Sumber daya tersebut merupakan


(34)

komponen utama yang menjadi pertimbangan penting dalam penyusunan jadwal kuliah. Komponen tersebut dibagi dalam lima kelompok besar, yaitu:

a. Kelompok dosen. b. Kelompok mata kuliah. c. Kelompok kurikulum. d. Kelompok waktu. e. Kelompok ruang.

Dosen, mata kuliah dan kurikulum disusun membentuk suatu aktivitas perkuliahan. Apabila ketiga kelompok ini ditempatkan ke dalam slot waktu dan ruang, maka akan timbul permasalahan. Permasalahan tersebut antara lain sulitnya mendapatkan alokasi waktu yang tepat terhadap ketersediaan waktu dosen dengan mata kuliah yang ditawarkan. Selain itu penggunaan ruang yang terbatas untuk menampung aktivitas perkuliahan turut menjadi pertimbangan penting sebelum menyusun jadwal. Solusi dikatakan optimal jika seluruh aktivitas perkuliahan dapat disusun dalam waktu singkat sehingga pelanggaran terhadap persyaratan-persyaratan yang ada dapat ditekan sekecil mungkin.

2.4. Persyaratan Penjadwalan

Penjadwalan berhubungan erat dengan persyaratan atau batasan yang harus ditentukan oleh perguruan tinggi sebelum melaksanakan kegiatan perkuliahan. Persyaratan atau batasan yang diberikan nantinya akan dipergunakan sebagai acuan dalam menyusun penjadwalan kuliah. Persyaratan tersebut antara lain:


(35)

a. Seluruh mata kuliah terjadwal dan dinyatakan dalam waktu yang jelas. b. Kelas yang terjadwal harus memberikan kemungkinan gabungan dari

aktivitas perkuliahan yaitu dosen, mata kuliah dan mahasiswa.

c. Seorang dosen hanya boleh mengajar pada satu kelas untuk waktu yang bersamaan.

d. Seorang mahasiswa hanya boleh mengambil mata kuliah pada satu kelas untuk waktu yang bersamaan.

e. Kegiatan perkuliahan hanya boleh dilaksanakan sebanyak satu kali dalam satu ruang dalam satu waktu tertentu.

f. Satu ruang disesuaikan dengan daya tampung mahasiswa yang akan mengikuti perkuliahan.

g. Setiap dosen diberi batasan minimum dan maksimum untuk mengajar dalam satu minggu (Senin s.d Jumat).

h. Selang waktu tiap pergantian mata kuliah agar diusahakan sekecil mungkin.

i. Seorang dosen tidak diperbolehkan melakukan perpindahan ruang untuk mata kuliah yang sama jika dosen yang bersangkutan berhalangan hadir.

2.5. Kesulitan dalam Penjadwalan Kuliah

Beberapa kesulitan yang sering dihadapi saat penjadwalan kuliah adalah:

a. Adanya permohonan oleh beberapa dosen untuk mengajar menurut ketersediaan waktunya.


(36)

b. Merancang suatu penjadwalan kuliah yang efektif bukanlah suatu pekerjaan yang mudah untuk dilakukan. Penempatan dosen, mata kuliah, kurikulum dan waktu pada ruang yang terbatas menjadi masalah yang menarik dalam penjadwalan kuliah.

c. Adanya persyaratan tertentu yang ditambahkan dapat mempengaruhi lama waktu penyelesaian sehingga masalah penjadwalan kelihatannya lebih kompleks dan sulit untuk diselesaikan.

d. Masalah penjadwalan sering terkendala oleh persyaratan nyata ketika diaplikasikan dilapangan, seperti dosen mengajar satu kali pertemuan maksimum 3 SKS.

2.6. Algoritma Genetika

Algoritma genetika merupakan teknik heuristik atau pendekatan algoritma yang didasarkan pada seleksi alamiah dan evolusi. Teori seleksi alamiah dan evolusi dipekenalkan pertama kali oleh Charles Darwin. Proses evolusi dalam algoritma genetika dimulai dengan memilih himpunan penyelesaian secara acak, digambarkan dengan kromosom yang disebut populasi. Ketika populasi awal tidak mencapai solusi yang baik, maka dilakukan proses kawin silang (crossover) dan mutasi. Kawin silang dibutuhkan untuk mendapatkan solusi dan kombinasi terbaik dari populasi sekarang ke dalam populasi baru, dimana pemilihannya tergantung pada fitness terbaiknya. Mutasi merupakan tampilan acak yang merubah kromosom individu. Pengaruh mutasi biasanya hanya berdampak pada beberapa gen [9].


(37)

2.6.1. Tahapan Algoritma Genetika

Beberapa tahapan penting dalam proses algoritma genetika antara lain [10] [11]: a. Inisialisasi populasi.

b. Evaluasi populasi.

c. Memilih anggota populasi yang terbaik untuk membentuk populasi baru atau disebut dengan proses seleksi.

d. Membentuk kromosom baru dengan cara rekombinasi dan mutasi. e. Evaluasi kromosom yang baru dan memasukkan ke dalam populasi.

f. Jika memenuhi kriteria termination, proses berhenti dan mengembalikan kromosom terbaik, jika belum maka kembali ke tahap dua.

Contoh penggunaan algoritma genetika yang dibandingkan dengan algoritma optimasi sederhana ditunjukkan pada Gambar 2.1.

Gambar 2.1. Flowchart Algoritma Genetika

ya tidak

Lakukan inisialisasi populasi

seleksi individu yang akan dikawinkan

mutasikan keturunan

masukkan keturunan ke dalam populasi

Selesai kriteria kepuasan


(38)

2.6.2. Komponen Utama Algoritma Genetika

Algoritma Genetika harus memiliki lima komponen antara lain [12]:

a. Representasi genetik dari setiap solusi yang mungkin dari suatu permasalahan.

b. Cara pembentukan populasi awal atau inisialisasi populasi.

c. Fungsi evaluasi yang berperan menilai fitness dari solusi yang mungkin. d. Operator genetika yang mengubah komposisi kromosom.

e. Nilai parameter yang digunakan dalam Algoritma Genetika, meliputi ukuran populasi, nilai probabilitas yang ditetapkan dalam operator genetika (seleksi, crossover, mutasi).

2.7. Pengkodean

Pengkodean merupakan teknik penyederhanaan masalah ke dalam bentuk bilangan tertentu. Bilangan yang terbentuk merupakan gambaran dari susunan kromosom. Pada pengkodean, terdapat beberapa teknik atau cara yang seluruhnya bergantung dari masalah yang diselesaikan [13].

2.7.1. Pengkodean Biner

Sebelum algoritma genetika digunakan untuk memecahkan masalah, terlebih dahulu diperlukan suatu metode untuk mengkodekan solusi yang mungkin dari suatu permasalahan ke dalam bentuk tertentu sehingga dapat diproses [13]. Salah satu pendekatan yang mungkin adalah dengan mengkodekan solusi ke dalam kode biner,


(39)

yang ditulis dalam bit 1 dan 0 seperti ditunjukkan pada Tabel 2.1, dimana angka tiap posisi menunjukkan nilai dari beberapa masalah.

Tabel 2.1. Kromosom dengan pengkodean biner Kromosom 1 101010101100110011100 Kromosom 2 111111000000011111100

Holland mengkodekan kromosom dalam bentuk bilangan biner. Sejumlah properti pada pengkodean biner bekerja menyederhanakan algoritma genetika. Selain itu, terdapat beberapa cara pembuatan gen, dimana masing-masing cara tersebut memiliki keunggulan tersendiri. Langkah penyederhanaan masalah ke dalam bentuk gen dilakukan dengan mengumpulkan informasi yang menunjukkan kebenaran dari masalah. Sebagai contoh, menyusun suatu penjadwalan kuliah dalam satu semester melibatkan sejumlah item yang ditampilkan dalam sejumlah kolom.

2.7.2. Pengkodean Nilai

Teknik pengkodean nilai digunakan bila data yang ada merupakan gabungan dari nilai-nilai yang kompleks, dimana nilai yang dikodekan merupakan representasi langsung terhadap masalah yang ada. Apabila pengkodean biner digunakan pada masalah yang kompleks, maka teknik penyelesaiannya membutuhkan waktu yang lama dan lebih rumit. Pada teknik ini, tiap kromosom terdiri dari beberapa nilai berupa bilangan biasa, bilangan riil, karakter sampai kombinasi dari beberapa objek yang cukup banyak. Pengkodean nilai sering digunakan pada jaringan saraf tiruan


(40)

(neural network). Penggunaannya berawal dari adanya masukan yang diberikan kepada neuron untuk membiasakan jaringan supaya menghasilkan keluaran yang sesuai [13]. Tabel 2.2. menunjukkan contoh kromosom dengan pengkodean nilai.

Tabel 2.2. Kromosom dengan pengkodean nilai Kromosom A 1.3532, 6.566, 2.9234, 4.3241 Kromosom B P, Q, R, S, T, U, V,

Kromosom C (atas), (bawah), (depan), (belakang)

2.7.3. Pengkodean Pohon

Pengkodean ini banyak digunakan pada pemrograman genetika. Kromosom digambarkan sebagai pohon dari seluruh objek, seperti fungsi atau perintah dalam bahasa pemrograman. Pengkodean ini digunakan untuk mencari fungsi berdasarkan nilai-nilai yang diberikan untuk mendapatkan nilai keturunan terbaik (sesuai dengan keinginan) untuk seluruh masukan. Masalah ini dapat dikodekan ke dalam pengkodean pohon dimana kromosom merupakan fungsi-fungsi yang dinyatakan dalam pengkodean pohon. Sebagai contoh, perhitungan fungsi berdasarkan nilai-nilai yang diberikan. Perhitungan tersebut nantinya harus menghasilkan nilai keluaran yang berbaik terhadap seluruh masukan yang diberikan [13].

2.7.4. Pengkodean Permutasi

Pengkodean ini memerlukan urutan data dan banyak ditemukan dalam masalah pemasaran produk dan masalah pemesanan tugas (task ordering problem) [13].


(41)

Seluruh kromosom pada pengkodean ini terdiri dari barisan angka yang disusun dalam urutan tertentu seperti yang ditunjukkan pada Tabel 2.3.

Tabel 2.3. Kromosom dengan pengkodean permutasi Kromosom 1 1 5 3 2 6 4 7 9 8

Kromosom 2 8 5 6 7 2 3 1 4 9

Proses kawin silang dan mutasi pada pengkodean ini menghasilkan kromosom yang memiliki konsistensi tertentu. Teknik pengkodean ini sering ditemui pada masalah wiraniaga. Untuk dapat melalui sejumlah kota dengan jarak yang telah ditetapkan dalam satu kota, maka seorang wiraniaga tidak harus berkunjung ke seluruh kota, melainkan hanya melakukan beberapa kunjungan dengan cara menyusun urutan kota yang akan dikunjungi dengan jumlah jarak seminimal mungkin. Dengan demikian tiap kota diwakili dengan kromosom untuk setiap kota yang akan dikunjungi secara berurutan.

2.8. Inisialisasi Populasi

Inisialisasi populasi merupakan tahapan yang sangat penting dalam algoritma genetika untuk mendapatkan solusi yang optimal. Inisialisasi populasi memberikan salinan individu yang lebih baik. Akan tetapi, proses ini tidak selamanya menghasilkan gen yang baik. Proses ini dimulai dengan membangkitkan sejumlah individu secara acak. Untuk mendapatkan solusi, diperlukan suatu kriteria tertentu yang harus dipenuhi dengan membangkitkan individu [14].


(42)

2.9. Operator dalam Algoritma Genetika

Algoritma genetika memiliki operator genetika yang sering digunakan, antara lain seleksi, crossover dan mutasi. Operator ini sangat berperan untuk mengubah komposisi suatu kromosom.

2.9.1. Seleksi

Seleksi merupakan proses pemilihan calon induk. Proses seleksi merupakan teknik pemilihan kromosom yang akan dikawinsilangkan dari bakal induk yang baik pada proses evolusi selanjutnya. Perubahan tiap individu dari satu generasi sangat ditentukan oleh nilai fitness. Tujuannya adalah menghasilkan keturunan yang terbaik dari suatu popuasi untuk diproses melalui rekombinasi dan mutasi. Dengan dasar inilah seleksi dilakukan dengan menggunakan tiga teknik, yaitu seleksi roda roullete (fitness based selection), seleksi rangking (rank selection) dan seleksi turnamen (tournament selection). [15] Sebagai contoh, diberikan individu a dipasangkan dengan individu b seperti ditunjukkan pada Tabel 2.4.

Tabel 2.4. Contoh proses seleksi Individu Kromosom Fitness

a 1011 3

b 0101 2

2.9.1.1. Seleksi Roda Roullete

Pada proses seleksi Roullete, induk ditentukan menurut nilai fitness. Untuk fitness yang tinggi, harapan untuk terpilih semakin besar. Untuk mendapatkan solusi


(43)

yang terbaik, maka program sebaiknya melakukan seleksi dengan nilai fitness yang terendah [16]. Seleksi roda roulette merupakan metode seleksi yang paling disukai. Prosesnya ditunjukkan pada Gambar 2.2.

Gambar 2.2 Seleksi roda roulette [16]

Cara kerja roda tersebut adalah sebagai berikut: pertama, individu-individu dipetakan pada segmen garis yang berdekatan, sehingga masing-masing individu berukuran sama sesuai dengan fitness. Kedua, nomor acak dibangkitkan dan seluruh individu berada pada daerah nomor acak yang telah dipilih. Ketiga, proses kemudian diulangi sampai ditemukan nomor individu yang sesuai keinginan. Kromosom dalam kelompok yang terpilih disusun dalam roda roulette berdasarkan pada nilai fitness. Kemudian roda diputar ke sejumlah kromosom yang ada dalam populasi, kromosom dengan fitness tertinggi memiliki kesempatan terbesar untuk terpilih selama kawin silang dan mutasi [10][16].


(44)

2.9.1.2. Seleksi Ranking

Seleksi roda roullete ternyata memiliki kekurangan. Hal ini akan nampak bila selisih yang terjadi pada nilai fitness cukup jauh. Misalkan, bila fitness kromosom terbaik menjadi 95% dari percobaan roda roullete, maka mengakibatkan kormosom lain memiliki kesempatan sangat kecil untuk dapat dipilih. Dengan dasar inilah lalu diperkenalkan teknik seleksi lain yaitu seleksi ranking. Prinsip kerja dari seleksi ini adalah melakukan ranking terlebih dahulu seluruh kromosom yang akan diseleksi berdasarkan nilai fitnes untuk mendapatkan nilai fitness baru. Seleksi ini memiliki prioritas tertentu mulai dari fitness terburuk yang bernilai 1, terburuk kedua bernilai 2, dan seterusnya sampai diperoleh fitness terbaik. Kromosom dengan nilai fitness terbaik akan memiliki nilai fitness ke N, dimana N merupakan jumlah kromosom di dalam suatu populasi [13].Proses sebelum di-ranking ditunjukkan pada Tabel 2.5.

Tabel 2.5. Seleksi ranking sebelum di-ranking Kromosom Fitness

P 12

Q 5

R 15

S 3


(45)

Proses seleksi setelah di-ranking ditunjukkan pada Tabel 2.6. Tabel 2.6. Seleksi ranking setelah di-ranking

Kromosom Fitness Fitnes Baru

S 3 1

Q 5 2

T 9 3

P 12 4

R 15 5

2.9.1.3. Seleksi Turnamen

Algoritma genetika menggunakan mekanisme seleksi untuk mendapatkan individu dari kumpulan populasi. Individu yang dikawinkan digunakan untuk membangkitkan keturunan baru (offspring) dan menjadi dasar membentuk generasi selanjutnya. Jika individu dalam kelompok dikawinkan, maka seluruh sifat gen baru akan diturunkan ke generasi selanjutnya. Hasil kawin ini diharapkan dapat menghasilkan individu yang baik. Mekanisme seleksi dalam algoritma genetika merupakan proses sederhana yang membantu seleksi individu yang lebih baik dalam populasi pada kelompok pasangan [17].

Seleksi turnamen memberikan tekanan seleksi dengan mengatur turnamen selama saingan s menurut ukuran turnamennya. Tekanan seleksi dengan meningkatkan individu yang lebih baik lagi disebut tekanan seleksi lanjutan. Tekanan seleksi ini mengatur algoritma genetika untuk memperbaiki hasil fitness dari suatu populasi. Pemenang dari turnamen adalah individu dengan nilai fitness tertinggi kemudian dimasukkan ke dalam kumpulan kawin silang. Kumpulan pasangan yang


(46)

terdiri dari pemenang turnamen, memiliki nilai rata-rata fitness yang lebih tinggi dibandingkan dengan rata-rata fitness populasinya. Perbedaan dari nilai fitness ini memberikan tekanan seleksi, yang mengatur algoritma genetika untuk memperbaiki nilai fitness dari masing-masing generasi yang berhasil. Seleksi turnamen mirip dengan seleksi kedudukan (rank selection), tetapi perhitungannya lebih efisien dan lebih dapat dipertanggungjawabkan pada kasus yang lebih kompleks. Kedua individu dipilih secara acak dari populasi [13].

2.9.2. Kawin Silang

Kawin silang (crossover) sering digunakan untuk menghasilkan keturunan baru berdasarkan induk yang terpilih. Aturan kawin silang dalam algoritma genetika adalah mengkombinasikan bit dari solusi yang fit. Proses pengulangan banyak digunakan oleh operator crossover untuk mendapatkan gen populasi. Operator crossover merupakan teknik yang sering digunakan dalam algoritma genetika dengan harapan bahwa kromosom baru berubah menjadi kromosom yang lebih baik [18].

2.9.2.1. Kawin Silang 1 titik

Selama fase reproduksi, individu dipilih dari populasi dan rekombinasi, kemudian menghasilkan keturunan baru (offspring). Induk diseleksi secara acak dari populasi dengan menggunakan suatu skema pendukung individu. Individu yang baik harus dipilih beberapa kali dalam satu generasi, karena sekali seleksi saja tidak dapat mewakili seluruhnya. Salah satu teknik yang diperkenalkan adalah crossover satu


(47)

titik, dimana prinsip kerjanya adalah dengan mengambil dua induk, kemudian memotong kromosom string-nya beberapa posisi secara acak untuk menghasilkan dua bagian utama dan pendukung. Bagian pendukung kemudian ditukar untuk menghasilkan dua kromosom baru (lihat Gambar 2.3). Kedua induk yang dihasilkannya masing-masing mewarisi beberapa gen dari induknya. Teknik ini disebut kawin silang satu titik [19][20].

induk 1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 0 1 0

keturunan 1 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 Gambar 2.3. Kawin silang 1 titik

2.9.2.2. Kawin Silang 2 Titik

Perkawinan silang 2 titik merupakan perkembangan dari cara sebelumnya dengan memilih secara acak untuk melakukan pertukaran bit kromosom. Dalam kawin silang dua titik (two point crossover), kromosom ditampilkan sebagai loop yang dibentuk berdasarkan penggabungan bersama. Untuk menukar bagian satu loop dengan loop lain dibutuhkan seleksi dua titik potong, seperti yang ditunjukkan oleh


(48)

Gambar 2.4. Dalam hal ini, kawin silang satu titik ditampilkan sebagai kawin silang dua titik dengan satu titik potong pada string awal. Secara umum, kawin silang dua titik menunjukkan fungsi yang sama seperti kawin silang satu titik. Selain itu cara lain adalah dengan menyalin barisan bit kromosom orang tua pertama dari bit pertama sampai dengan titik perkawinan silang pertama dan dari titik perkawinan silang kedua sampai dengan bit terakhir. Perkawinan silang dengan dua titik lebih disukai daripada kawin silang satu titik [11] [14].

Gambar 2.4. Kawin silang 2 titik [14]

2.9.2.3. Kawin Silang Seragam

Kawin silang seragam (crossover uniform) sangat berbeda dengan kawin silang satu titik. Tiap gen dalam keturunan dihasilkan dengan menyalin gen yang bersesuaian dari satu atau lebih induk dan terpilihlah gen yang sesuai dengan kawin silang terlindung (crossover mask) yang dibangkitkan. Jika hasil yang didapat dari


(49)

kawin silang tertutup bernilai 1, maka gen merupakan hasil salinan dari induk yang pertama, sebaliknya jika kawin silang terlindung bernilai 0, maka gen yang disalin merupakan hasil dari induk kedua. Proses diulangi dengan induk yang bergantian untuk menghasilkan keturunan yang kedua. Hasil kawin silang terlindung yang baru dibangkitkan secara acak pada pasangan dari tiap induk [18]. Untuk lebih jelasnya perhatikan Gambar 2.5.

crossover mask 1 0 0 1 0 1 1 1 0 0 induk 1 1 0 1 0 0 0 1 1 1 0 keturunan 1 1 1 0 0 0 0 1 1 1 1 induk 2 0 1 0 1 0 1 0 0 1 1

Gambar 2.5. Kawin silang seragam

2.9.2.4. Kawin Silang Rekombinasi

Kawin silang rekombinasi memilih secara acak dari semua gen yang ada pada induk untuk mendapatkan gen anak [11]. Contoh kawin silang rekombinasi diperlihatkan Tabel 2.7.

Tabel 2.7 Kawin silang rekombinasi Kromosom

Kromosom induk 1 1 5 9 12 14 Kromosom induk 2 1 3 4 16 2 Keturunan 1 1 5 4 16 14 Keturunan 2 1 4 9 12 1


(50)

2.9.3. Mutasi

Mutasi merupakan operator algoritma yang digunakan untuk menentukan perbedaan genetika dari satu generasi ke generasi lainnya. Setelah hasil kawin silang terbentuk tetapi sebelum keturunan terbentuk, terlebih dahulu harus menjalani tahap mutasi. Peristiwa ini mengacu pada perhitungan mutasi. Mutasi tidak selamanya menghasilkan gen baru, dan dapat merupakan hasil salinan gen induk. Tujuan dilaksanakannya mutasi adalah untuk menekan gangguan dan menghasilkan allele baru dalam populasi [4]. Pemutaran mutasi ditetapkan jika dua allele diputar merubah susunan penjadwalan seperti pada Gambar 2.6. Jika perhitungan mutasi terlalu tinggi, dapat mengakibatkan keturunan yang baik akan hilang dan mengurangi harapan nilai fitness yang tinggi dari ruang solusi. Beberapa sistem tidak menggunakan operator mutasi. Sebagai gantinya, sistem mempercayakan gangguan (noise) untuk mengacak populasi yang dihasilkan pada inisialisasi sehingga diperoleh gen yang dapat melakukan penggabungan ulang.

sebelum mutasi Allele 1 Allele 2 Allele 3 Allele 4 Allele 5 Allele 6 Allele 7 Allele 8 setelah mutasi Allele 1 Allele 6 Allele 3 Allele 4 Allele 5 Allele 2 Allele 7 Allele 8

Gambar 2.6. Operasi mutasi dalam Algoritma Genetika keturunan


(51)

Pada Gambar 2.6 terlihat bahwa ketika gen telah diseleksi melalui mutasi, lalu gen hasilnya diubah menjadi angka. Pada kasus representasi biner, mutasi sederhana pada gen tunggal menyebabkan nilai gen menjadi komplit dari 1 menjadi 0 dan sebaliknya [14].

2.9.3.1. Mutasi Biner

Mutasi ini termasuk jenis yang paling sederhana. Cara kerjanya berdasarkan bit pada kromosom yang dipilih secara acak, lalu nilainya diinversi dan diubah menjadi lawannya [11]. Untuk jelasnya perhatikan Tabel 2.8.

Tabel 2.8. Mutasi pada pengkodean biner Kromosom sebelum mutasi 1 1 1 0 0 0 1 1 Kromosom setelah mutasi 1 1 1 0 0 0 0 1

2.9.3.2. Mutasi Permutasi

Salah satu teknik yang dilakukan pada pengkodean permutasi adalah dengan memilih dua posisi pada kromosom lalu posisinya saling dipertukarkan. Tetapi perlu diingat bahwa proses mutasi pada pengkodean permutasi harus konsisten dalam mengurutkannya [11]. Untuk lebih jelasnya, perhatikan Tabel 2.9.

Tabel 2. 9. Mutasi pada pengkodean permutasi Kromosom sebelum mutasi 9 8 7 6 5 4 3 2 Kromosom setelah mutasi 9 3 7 6 5 4 8 2


(52)

2.9.3.3. Mutasi Nilai

Mutasi pada pengkodean biner dapat diaplikasikan pada pengkodean nilai karena urutan kromosomnya tidak perlu dijaga. Dalam hal ini prosesnya tidak menginversi bit. Sebagai contoh, nilai yang dinyatakan dalam bilangan nyata dimutasi dengan cara menukarkan nilai dari dua gen yang terdapat pada kromosom. Cara ini kurang efektif untuk mendapatkan nilai yang sama. Oleh karena itu ada cara lain yang lebih efektif yaitu dengan memilih posisi gen secara acak pada kromosom, kemudian menambah atau menguranginya dengan suatu nilai yang kecil secara acak [11]. Lebih jelasnya perhatikan Tabel 2.10.

Tabel 2.10 Contoh mutasi pada pengkodean nilai riil Kromosom sebelum dimutasi 1,43 1,09 4,51 9,11 6,94 Kromosom setelah dimutasi 1,43 1,19 4,51 9,01 6,94

2.10.Elitisme

Elitisme merupakan satu teknik dalam algoritma genetika untuk mempertahankan kromosom yang memiliki nilai fitness terbaik untuk tetap bertahan hidup pada generasi selanjutnya. Elitisme dilakukan dengan menyalin satu kromosom untuk jumlah populasi ganjil dan menyalin dua kromosom untuk jumlah populasi genap [2] [8].


(53)

2.11.Precedence Preservative Crossover (PPX)

Precedence preservative crossover (PPX) merupakan pengembangan dari masalah vehicle routing yang dijelaskan oleh Blanton dan Wainwright. Operator melewati hubungan operasi yang lebih dahulu diberikan dalam dua permutasi induk menjadi satu anak pada tingkatan yang sama, ketika tidak satupun hubungan yang lebih dahulu diperkenalkan. Metode ini sesungguhnya memberikan jawaban atas urutan gen dalam kromosom induk. Pertama-tama kromosom anak yang akan diinisialisasi bernilai kosong. Kemudian suatu vektor sepanjang n diisi secara acak pada sekumpulan elemen {1,2}. Vektor menggambarkan urutan yang dihasilkan oleh induk 1 dan 2. Setelah gen diwaliki oleh satu induk dan yang lainnya dihilangkan, maka hasilnya diberikan kepada kromosom anak. Langkah tersebut diulangi sampai kedua kromosom induk hilang dan kromosom anak berisi seluruh gen anak yang dimasukkan. Dalam hal ini gen dari induk dapat merupakan bilangan acak 1 dan 2 yang mewakili induk 1 dan induk 2 dan prosesnya ditunjukkan oleh Gambar 2.7 [19][20].

Gambar 2.7 Precedence Presservative Crossover (PPX) induk 1 3 2 2 2 3 1 1 1 3

induk 2 1 1 2 2 2 1 2 3 3 gen dari induk 1 1 2 2 2 2 1 1 1 PPX anak 3 2 1 1 2 1 2 3 3


(54)

2.12.Konvergen

Jika algoritma genetika telah diimplementasikan dengan benar, maka populasi akan menyusun generasi secara berturut-turut sehingga menghasilkan nilai fitness terbaik dan individu rata-rata dalam tiap generasi bertambah mencapai hasil yang optimal. Konvergen merupakan pergerakan menuju keseragaman pertambahan secara berturut-turut. Gen pembawa sifat dikatakan konvergen jika kesamaan populasi mencapai 95%. Populasi disebut konvergen jika seluruh gen telah konvergen. Dikatakan proses akan mendekati konvergen apabila hasil yang diperoleh mengikuti grafik yang ada dan seluruh proses dapat ditampilkan dalam bentuk grafik. Pada Gambar 2.8 menunjukkan bagaimana grafik fitness dengan beberapa tipe pada algoritma genetika. Jika populasi konvergen, rata-rata fitness mendekati nilai terbaiknya. Selain itu nilai terbaik biasanya lebih tinggi dibandingkan nilai rata-rata yang dihasilkan oleh proses [17].


(55)

(56)

BAB III

METODOLOGI PENELITIAN

3.1. Sumber Data

Data yang digunakan dalam penelitian ini disusun dalam bentuk daftar. Data berasal dari enam departemen yang ada di Fakultas Teknik Universitas Sumatera Utara untuk semester ganjil Tahun Ajaran 2011/2012. Keenam departemen tersebut adalah:

a. Departemen Teknik Elektro. b. Departemen Teknik Mesin. c. Departemen Teknik Sipil. d. Departemen Teknik Industri. e. Departemen Teknik Kimia. f. Departemen Arsitektur.

Data tersebut meliputi daftar nama dosen, daftar nama mata kuliah, daftar jumlah mahasiswa, dan daftar ruang kuliah yang ada. Data diambil sesuai dengan jumlah departemen yang ada. Dalam penelitian ini, data yang diambil adalah data teknik elektro, tetapi sistem yang akan dirancang nantinya dapat digunakan untuk seluruh departemen di Fakultas Teknik Universitas Sumatera Utara sesuai dengan data masukan yang diberikan.


(57)

3.1.1. Daftar Nama Dosen

Daftar nama dosen untuk tiap departemen berbeda-beda. Daftar dosen dan mata kuliah yang diampu untuk satu semester dapat dilihat pada Lampiran A. Daftar ini dibutuhkan untuk mengetahui ketersediaan jumlah dosen yang akan mengajar dan mata kuliah yang ditawarkan dalam satu semester. Jumlah dosen yang tersedia di fakultas teknik ada sebanyak 256 orang. Jumlah dosen yang ada menentukan jumlah kelas paralel yang akan dibuka untuk satu mata kuliah. Pengaturan waktu mengajar perlu diperhatikan apabila seorang dosen mengajar lebih dari satu mata kuliah dalam satu semester. Seorang dosen tidak boleh mengajar lebih dari satu mata kuliah pada waktu yang sama.

3.1.2. Daftar Mata Kuliah

Daftar mata kuliah meliputi nama mata kuliah, kode mata kuliah, jumlah SKS dan semester. Nama mata kuliah dan kode mata kuliah merupakan identitas mata kuliah yang membedakan satu mata kuliah dengan mata kuliah yang lain. Jumlah SKS dalam penjadwalan kuliah berfungsi untuk mengetahui bobot suatu mata kuliah yang berhubungan dengan pemberian alokasi waktu kuliah antara dosen dan mahasiswa. Semester berfungsi untuk mengelompokkan mata kuliah dan mahasiwa yang seharusnya mengambil mata kuliah tersebut berdasarkan kurikulum yang telah ditetapkan. Jumlah seluruh mata kuliah yang ditawarkan dalam satu semester


(58)

sebanyak 178 mata kuliah. Daftar mata kuliah yang ditawarkan dalam satu semester dapat dilihat pada Lampiran B.

3.1.3. Daftar Jumlah Mahasiswa

Daftar mahasiswa merupakan data jumlah mahasiswa tiap semester yang akan mengambil satu mata kuliah tertentu. Daftar ini dibutuhkan dalam proses pengalokasikan ruang kuliah. Ruang kuliah harus dialokasikan dengan tepat berdasarkan jumlah mahasiswa peserta mata kuliah. Jumlah mahasiswa tidak boleh melebihi kapasitas ruang kuliah yang tersedia agar perkuliahan dapat berlangsung dengan baik. Dengan asumsi tiap semester terdapat 60 orang mahasiswa untuk tiap departemen, maka jumlah mahasiswa yang ada sebanyak 2.880 orang. Daftar mahasiswa tiap departemen dapat dilihat pada Lampiran D.

3.1.4. Daftar Waktu Kuliah

Daftar waktu merupakan alokasi waktu yang tersedia dalam satu hari perkuliahan. Diharapkan seluruh kegiatan perkuliahan dapat diselesaikan dalam alokasi waktu yang telah disediakan. Pembagian waktu yang jelas antara waktu istirahat dan pergantian antar waktu harus diperhatikan untuk menghindari terjadinya pelanggaran waktu.

Jumlah alokasi waktu yang disediakan dalam satu hari adalah sebanyak 12 kali pertemuan. Kegiatan perkuliahan dimulai pukul 08.00 WIB dan berakhir pada pukul 18.00 WIB dengan waktu satu pertemuan selama 50 menit. Alokasi waktu ini adalah


(59)

sama untuk setiap departemen. Data alokasi waktu akan dibuat ke dalam bentuk daftar waktu seperti pada Lampiran E.

3.1.5. Daftar Ruang Kuliah

Daftar ruang kuliah meliputi nama ruang kuliah dan kapasistas tiap ruang kuliah. Nama ruang kuliah dibutuhkan untuk membedakan ruang kuliah yang satu dengan ruang kuliah yang lain. Kapasitas ruang kuliah disesuaikan dengan jumlah mahasiswa yang mengambil mata kuliah tersebut. Daftar ruang kuliah akan dibuat ke dalam bentuk daftar ruang kuliah kuliah seperti pada Lampiran G.

3.2. Perancangan Sistem Penjadwalan Kuliah

Sistem penjadwalan yang dirancang harus dapat menghindari beberapa pelanggaran dalam proses penjadwalan kuliah Pelanggaran tersebut antara lain dosen mengajar lebih dari satu mata kuliah pada waktu yang sama dan mahasiswa mengambil lebih dari satu mata kuliah pada waktu yang sama. Sistem penjadwalan kuliah yang akan dirancang nantinya merupakan sistem yang dapat mengelola seluruh data masukan yaitu data dosen, data mata kuliah, data mahasiswa, data waktu dan data ruang kuliah untuk menghasilkan output yang dapat mengatasi seluruh pelanggaran-pelanggaran yang mungkin terjadi.


(60)

3.3. Optimasi Penjadwalan dengan Algoritma Genetika

Penjadwalan kuliah yang dihasilkan dari proses penjadwalan selanjutnya dioptimasi untuk mengurangi atau menghilangkan pelanggaran yang terjadi dan mengurangi penggunaan jumlah ruang kuliah. Penjadwalan dikatakan optimal apabila pelanggaran yang dihasilkan mendekati nol atau tidak terjadi pelanggaran.

Dalam perancangan penjadwalan kuliah dengan menggunakan algoritma genetika, ada empat tahapan penting yang harus diperhatikan yaitu: pemilihan representasi masalah, pemilihan operator genetika, penetapan fungsi fitness, dan penetapan parameter genetika. Penggunaan jenis atau metode yang berbeda tiap tahapan menghasilkan keluaran yang berbeda. Pada penelitian ini dilakukan pengujian pada parameter yang berbeda-beda untuk setiap tahapan untuk menemukan hasil yang paling optimal.

3.3.1. Pemilihan Representasi Masalah

Representasi masalah dengan menggunakan algoritma genetika merupakan gambaran dari keadaan yang akan dioptimasi ke dalam bentuk yang dapat diproses dengan mudah. Ada beberapa model yang dapat digunakan untuk merepresentasikan masalah. Salah satunya adalah representasi masalah ke dalam bentuk biner. Kode biner yang terdiri dari bilangan 0 dan 1 digunakan untuk mewakili indeks waktu dan kode ruang. Pengkodean waktu dilakukan dengan cara mengurutkan waktu yang tersedia kemudian diberikan kode biner dengan bit maksimum sesuai dengan waktu yang tersedia seperti pada Tabel 3.1.


(61)

Tabel 3.1 Contoh pengkodean waktu kuliah dengan kode biner

Hari Jam Kode Biner

Senin 08.00-08.50 000001 Senin 08.50-09.40 000010 Senin 09.40-10.30 000011

Kode ruang memiliki tipe pengkodean yang sama dengan pengkodean waktu, yaitu dengan bilangan biner. Jumlah maksimum bit yang disediakan adalah sebanyak jumlah ruang seperti pada Tabel 3.2

Tabel 3.2 Contoh pengkodean ruang kuliah dengan kode biner Ruang Kode Biner

K1 0001

K2 0010

LAB 0011

3.3.2. Pembentukan Gen

Sebuah gen merupakan perwakilan dari suatu tawaran jadwal mata kuliah. Gen akan berisi kode waktu dan kode ruang dari mata kuliah yang ditawarkan. Jumlah maksimum bit yang disediakan dalam satu buah gen merupakan gabungan dari bit kode waktu dan kode ruang seperti ditunjukkan pada Gambar 3.1.

Nama Mata

Kuliah Waktu Ruang

Kode Biner Yang Digunakan Fisika Dasar Senin, Jam

08.00

K1 000001 0001

Kode Waktu Kode Ruang


(62)

3.3.3. Pembentukan Kromosom

Kromosom dibentuk dari susunan gen mata kuliah yang akan diwakili. Panjang satu kromosom adalah banyaknya gen yang dapat dibentuk oleh jumlah mata kuliah yang dijadwalkan. Panjang bit maksimum adalah jumlah gen dikali jumlah bit penyusun gen. Apabila terdapat m mata kuliah dan n bit penyusun gen maka akan terbentuk m x n bit dalam suatu kromosom. Misalkan satu kromosom berisi 105 mata kuliah dan satu gen terdiri dari 10 bit. Dengan demikian untuk membentuk satu kromosom dibutuhkan 1050 bit biner. Sebuah kromosom mewakili satu bentuk jadwal seperti terlihat pada Gambar 3.2.

Gen 1 Gen 2 Gen N Gambar 3.2 Kromosom yang terbentuk dari susunan gen

Dari Gambar 3.2 misalkan gen 1 mewakili mata kuliah Fisika Dasar I, gen 2 mewakili mata kuliah Kimia Elektro I, maka susunan kromosom ditunjukkan pada Tabel 3.3.

Tabel 3.3 Jadwal hasil penerjemahan kromosom Nama Mata

Kuliah Waktu Ruang

Kode Biner yang Digunakan Fisika Dasar I Senin,

08.00-08.50 K1


(63)

3.4. Pembentukan Populasi Awal (Inisialisasi)

Proses Algoritma Genetika dimulai dengan membentuk populasi awal secara acak. Proses pembentukan ini dimulai dengan membentuk bilangan acak antara 0 dan 1 sebanyak Npop x Nbit, dimana Npop adalah jumlah kromosom pada populasi awal dan

Nbit adalah jumlah bit maksmimal dalam satu kromosom [9]. Misalkan ditentukan bahwa jumlah populasi awal Npop = 20, maka jumlah biner acak yang harus dibentuk adalah 105 x 20 = 3100 bit sebagai populasi awal.

3.5. Pemilihan Operator Genetika

Pemilihan operator genetika dilakukan untuk menentukan jenis operasi yang digunakan untuk mendapatkan kromosom baru yaitu melalui seleksi, crossover, dan mutasi. Pemilihan operator yang tepat akan mempengaruhi hasil penurunan sifat.

3.5.1. Seleksi dan Penetapan Fungsi fitness

Seleksi bertujuan untuk menemukan kromosom terbaik dari setiap generasi untuk dijadikan pasangan induk untuk diturunkan pada generasi selanjutnya. Baik atau tidaknya suatu kromosom ditentukan melalui nilai fitness. Fungsi fitness ditentukan dengan melihat kesesuaian antara kromosom yang dihasilkan dengan kromosom yang diinginkan. Kromosom merupakan gambaran dari jadwal yang dihasilkan. Dalam penelitian ini jadwal yang diinginkan adalah jadwal yang dapat meminimalkan penggunaan jumlah ruang dan mencegah terjadinya pelanggaran waktu dosen dan mahasiswa. Dengan demikian, fungsi fitness yang digunakan terdiri


(64)

dari dua fungsi yaitu f1 dan f2 dimana f1 adalah jumlah ruang yang digunakan dan f2

adalah besar frekuensi terjadinya pelanggaran waktu dosen dan mahasiswa.

………. (3.1) ………. (3.2) Untuk optimasi dengan menggunakan dua buah fungsi fitness, Haupt [9] menyatakan kondisi ini sebagai sebuah Multi Objective Optimization. Untuk optimasi jenis ini solusi tunggal terbaik tidak dapat dicapai. Paretto Optimization merupakan gambaran suatu batas optimum yang dapat tercapai untuk kedua fungsi fitness. Suatu optimasi akan tercapai apabila perubahan nilai f1 tidak menyebabkan nilai f2 berubah, dan sebalinya perubahan nilai f2 tidak menyebabkan nilai f1 berubah. Setelah nilai f1

dan f2 ditentukan, maka terlebih dahulu kita harus menentukan kromosom mana yang

paling mendominasi. apabila dimisalkan kromosom yang mendominasi adalah kromosom x1, maka ranking dilakukan pada kromosom x1.

Pencarian solusi untuk Pareto Optimal dilakukan dengan menemukan kromosom yang mendominasi dalam suatu populasi. Kromosom x1 dikatakan mendominasi kromosom x2 apabila:

……… (3.3) atau

……… (3.4) Proses seleksi dilakukan dengan memberi ranking pertama untuk semua kromosom yang mendominasi, kemudian menghilangkan kromosom tersebut dari


(1)

22 TKK 215 Praktikum Kimia Analitik 3 1 Kepala Laboratorium 23 TKK 217 Praktikum Kimia Organik 3 1 Kepala Laboratorium

24 TKK 213 Teknologi Bahan dan Korosi 3 2 Dr. Hamidatuddhliana, S.T., M.Sc. Ir. Nurhsmawati Pohan, M.T. 25 TKK 209 Termodinamika Teknik Kimia I 3 3 Dr.Ir. Iriany, M.Si.

Ir. Indra Surya, M.Sc. 26 TKK 210 Termodinamika Teknik Kimia I (S) 4 3 Ir. Renita Manurung, M.T. 27 TKK 313 Praktikum Bioproses 5 1 Kepala Laboratorium 28 TKK 311 Praktikum Operasi Teknik Kimia 5 2 Kepala Laboratorium

Teknik Kimia (lanjutan)

No KODE MK MATA KULIAH SEM SKS DOSEN PENGAJAR

29 TKK 309 Statistik 5 2 Prof.Dr.Ir. Muhammad Turmuzi,M.S. Ir. Renita Manurung, M.T.

30 TKK 325 Teknologi Pangan (P1) 5 2 Dr.Ir. Iriani, M.Si.

31 TKK 421 Teknologi Pengeringan (P3) 5 2 Dr.Ir. Rosdanelli Hasibuan, M.T. 32 TKK 315 Teknologi Polimer (P1) 5 2 Dr. Hamidatuddhliana, S.T., M.Sc. 33 TKK 321 Teknologi Pulp dan Kertas (P1) 5 2 Dr.Ir. Taslim, M.Si.

34 TKK 305 Kinetika Reasi Kimia dan Katalisis 5 3 Dr.Ir. Taslim, M.Si. Ir. Bambang Trisakti, M.T. 35 TKK 307 Komputasi Proses 5 3 Dr.Eng. Irvan, M.Si.

Farida Hanum, S.T., M.T. 36 TKK 301 Perpindahan Panas 5 3 Dr.Ir. Iriany, M.Si.

Dr. Zuhrina Masyitinah, S.T., M.Sc. 37 TKK 303 Proses Industri Kimia 5 3 Prof.Dr.Ir. Setiaty Pandia

Dr.Ir. Rosdanelli Hasibuan, M.T. 38 TKK 304 Teknik Reaktor (S) 6 3 Ir. Bambang Trisakti, M.T. 39 TKK 409 Evaluasi Ekonomi Pabrik Kimia 7 2 Ir. Syahrul Fauzi Siregar, M.T.

Ir. Nurhsmawati Pohan, M.T. 40 TKK 411 Kewirausahaan 7 2 Buchari, S.T., M.Kes

Dr.Ir. Rosdanelli Hasibuan, M.T. 41 UNI 106 Pendidikan Kewarganegaraan 7 2 Hemat Tarigan, S.H., M.Hum 42 TKK 423 Teknik Bloseparasi (P3) 7 2 Mersi Suriani Sinaga, S.T., M.T. 43 TKK 413 Teknologi Karet (P3) 7 2 Dr.Ir. Hamidah Harahap, M.Sc. 44 TKK 425 Teknologi Pengolahan Limbah (P3) 7 2 Prof.Dr.Ir. Setiaty Pandia 45 TKK 407 Perancangan Pabrik Kimia 7 3 Dr.Ir. Taslim, M.Si.

Dr.Ir. M. Yusuf Ritonga, M.T. 46 TKK 403 Proses Pemisahan II 7 3 Dr.Ir. Iriany, M.Si.

Dr.Eng. Irvan, M.Si. 47 TKK 405 Teknologi Air dan Buangan

Industri

7 3 Prof.Dr.Ir. Setiaty Pandia Dr.Ir. Fatimah, M.T.


(2)

LAMPIRAN D: DAFTAR MAHASISWA

No

Jurusan

Jumlah mahasiswa

dalam satu kelas

Jumlah maksimum kursi yang

tersedia dalam satu kelas

Jumlah

kelompok kelas

1

Teknik Elektro

120

60

2

2

Teknik Mesin

120

60

2

3

Teknik Sipil

120

60

2

4

Teknik Industri

120

60

2

5

Teknik Kimia

120

60

2

6

Arsitektur

120

60

2

LAMPIRAN E : DAFTAR WAKTU KULIAH

Daftar waktu kuliah berlaku untuk seluruh departemen di Fakultas Teknik USU

No

Awal

Selesai

1

08.00

08.50

2

08.50

09.40

3

09.40

10.30

4

10.30

11.20

5

11.20

12.10

6

12.10

13.00

7

13.00

13.50

8

13.50

14.40

9

14.40

15.30

10

15.30

16.20


(3)

11

16.20

17.10

12

17.10

18.00

LAMPIRAN F: DAFTAR HARI KULIAH

Daftar hari kuliah berlaku untuk seluruh departemen di Fakultas Teknik USU

No

Hari

1

Senin

2

Selasa

3

Rabu

4

Kamis

5

Jumat

LAMPIRAN G: DAFTAR RUANGAN KULIAH

1.

Teknik Elektro

No

Ruang

Kapasitas

1

K1

60


(4)

3

LAB

60

4

T3

60

5

J09 107

60

6

1312

60

7

3209

60

8

3210

60

9

3303

60

10

3305

60

11

3307

60

12

3309

60

13

3310

60

2.

Teknik Mesin

No

Ruang

Kapasitas

1

J17 201

60

2

J17 202

60

3

J17 203

60

4

J14 311

60

5

J14 312

60

6

J17 209

60

7

J17 201

60

8

J17 201

60

9

J17 202

60

10

J17 203

60

11

J17 207

60

12

J17 208

60


(5)

3.

Teknik Sipil

No

Ruang

Kapasitas

1

A 110

60

2

A 208

60

3

A 209

60

4

A 210

60

5

A 211

60

6

A 212

60

7

A 213

60

8

A 310

60

9

A 311

60

10

A 312

60

11

A 313

60

12

A210

60

13

A211

60

14

A212

60

15

Depart.

60

16

Ged. G

60

17

IKATSI

60

18

Jurusan

60

19

Lab IUT

60

20

Lab Beton

60

21

Lab. Hidro

60

22

Lab.Hidro

60

23

Lab. JR

60

24

Lab. JR

60

25

Lab.Mektan

60

4.

Teknik Industri

No

Ruang

Kapasitas

1

J09 107

60

2

J14 309

60


(6)

4

J14 312

60

5

J14 310

60

6

J15 102

60

7

J15 103

60

8

J15 202

60

9

J15 207

60

10

J15 302

60

11

J17 202

60

5.

Teknik Kimia

No

Ruang

Kapasitas

1

J09 105

60

2

J09 106

60

3

J09 107

60

4

J09 108

60

5

J09 110

60

6

J09 111

60

7

Lab

60

6.

Arsitektur

No

Ruang

Kapasitas

1

J07 101

60

2

J07 102

60

3

J07 103

60

4

J07 104

60

5

J07 105

60

6

J07 106

60

7

Studio

60


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