• Tidak ada hasil yang ditemukan

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

N/A
N/A
Protected

Academic year: 2016

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

Copied!
180
0
0

Teks penuh

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

(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

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

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

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

(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.SeleksiTurnamen ... 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

(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 UrutanPenjadwalan Kuliah berdasarkan Penerjemahan Kromosom I ... 94

Tabel 4.17 Hasil Penjadwalan dengan Algoritma Penjadwalan ... 97

(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

(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

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

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

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

(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].

(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%.

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

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

(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

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

(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

(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%.

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

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

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

(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

(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

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

(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

(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

(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

(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

(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

(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

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

(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].

(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

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

(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

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

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.

(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

(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].

Gambar2.7 Precedence Presservative Crossover (PPX) induk 1 3 2 2 2 3 1 1 1 3

(54)

2.12.Konvergen

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

(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

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

(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

(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

(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

(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

(65)

populasi. Dari kromosom yang tersisa kemudian dipilih kembali kromosom yang mendominasi untuk diberi ranking dua. Demikian seterusnya sampai kromosom dalam populasi habis dan kromosom mendapatkan ranking seluruhnya. Selanjutnya seleksi dilakukan dengan menggunakan seleksi turnamen untuk mendapatkan kromosom yang dijadikan induk. Langkah-langkah dalam mendapatkan induk dengan pencarian paretooptimal ditunjukkan pada Gambar 3.3.

Gambar 3.3 Proses seleksi untuk pencarian pareto optimal Fitness 1= f1fitness 2 = f2

tentukan kromosom yang mendominasi, x1

ranking, x1= 1

untuk tiap kromosom yang mendominasi

fitness=ranking

hilangkan kromosom yang mendominasi

lakukan pencarian terhadap kromosom yang mendominasi lainnya, xn

ranking = ranking +1

(66)

3.5.2.Crossover dan Mutasi

Operasi crossover menggunakan metode crossover beberapa titik. Metode ini dipilih dengan pertimbangan bahwa panjang kromosom dan gen terdiri dari dua jenis data yang berbeda yaitu indeks waktu dan ruang. Proses crossover didisain untuk dapat menjangkau kedua data tersebut. Proses crossover dilakukan dengan menentukan beberapa titik secara acak pada barisan bit kromosom. Kromosom baru akan dibentuk dengan cara menyalin barisan bit induk pertama sampai titik perkawinan silang, dan sisanya disalin dari induk kedua sepanjang jumlah perkawinan silang yang lain. Proses pindah silang dapat dilihat pada Gambar 3.4.

Induk I 001100 0001

001100 0010 Anak I 000110 0001 Anak II Induk II 000110 0010

Gambar 3.4 Proses crossover

(67)

3.6. Perancangan Algoritma Penjadwalan

Algoritma Penjadwalan merupakan proses menerjemahkan suatu kromosom ke dalam bentuk jadwal. Dalam proses tersebut digunakan suatu algoritma yang telah mempertimbangkan hal-hal yang menjadi batasan dalam proses penjadwalan. Dengan demikian, diharapkan algoritma genetika akan memilih jadwal yang lebih baik untuk dijadikan solusi yang paling optimum.

Pada algoritma penjadwalan, yang menjadi masukan adalah data mata kuliah dan dosen, data mahasiswa dan data waktu kuliah. Sedangkan yang menjadi batasan adalah penggunaan jumlah ruang dan pelanggaran waktu mengajar dosen. Proses perubahan dari kromosom ke dalam bentuk jadwal dengan algoritma sebagai berikut:

a. Mulai.

b. Dimulai dari gen pada posisi paling kiri kromosom yaitu mata kuliah Kn. Pada tabel jadwal dimulai pada hari pertama, jam paling awal dan ruang pertama, R1 konfirmasi apakah terdapat kuliah pada waktu dan ruang tersebut.

c. Jika terdapat maka jam kuliah dimajukan satu jam dari waktu yang dituju. d. Jika tidak, maka kuliah Kn dijadwalkan untuk dimulai pada waktu tersebut

dan berakhir sesuai dengan jumlah sks untuk mata kuliah tersebut.

(68)

selanjutnya. Untuk ruang selanjutnya dalam melakukan penjadwalan perlu melakukan konfirmasi terhadap mata kuliah yang sedang berlangsung di kelas lain. Hal yang perlu di konfirmasi antara lain: Apakah mahasiswa yang sedang kuliah di ruang yang lain merupakan mahasiswa pada semester yang sama dengan mahasiswa dengan mata kuliah yang akan dijadwalkan atau dosen yang mengajar pada ruang lain merupakan dosen yang sama dengan mata kuliah yang akan dijadwalkan.

1. Apabila sama, maka lakukan pencarian terhadap waktu lain untuk kuliah kn hingga tidak terjadi pelanggaran waktu.

2. Apabila berbeda maka mata kuliah kn tersebut dapat dijadwalkan pada jam dan ruang tersebut.

f. Akan terdapat kondisi dimana suatu jadwal mata kuliah padat sehingga tidak memungkinkan untuk menjadwalkan mata kuliah pada waktu manapun secara keseluruhan tanpa terjadinya pelanggaran waktu dosen dan mahasiswa. Untuk kondisi ini maka mata kuliah akan dijadwalkan pada waktu dan ruang sembarang dengan resiko bahwa pasti akan terjadi pelanggaran waktu baik dosen maupun mahasiswa. Bila hal ini terjadi maka sistem akan mencatat sebagai pelanggaran waktu untuk gen tersebut.

g. Lakukan langkah 3 hingga gen paling kanan dalam kromosom.

Gambar

Gambar 2.1. Flowchart Algoritma Genetika
Tabel 2.4. Contoh proses seleksi
Gambar 2.2 Seleksi roda roulette [16]
Tabel 2.6.  Seleksi ranking setelah di-ranking
+7

Referensi

Dokumen terkait

AODV+PGB lebih unggul pada routing overhead jika dibandingkan dengan AODV biasa dikarenakan node yang melakukan penyebaran paket RREQ menjadi lebih sedikit dari

Pada studi ini menggunakan metode Quadratically Constrained Quadratic Program (QCQP) untuk menghitung biaya minimum pembangkitan energi listrik terhadap permintaan beban

dilakukan dalam analisis secara spektrofotometri UV-Vis karena pada panjang gelombang maksimum dihasilkan absorbansi tertinggi yang menunjukkan kepekaan

Kebijakan umum mengacu pada agenda pemerintah Jawa Barat 2003-2008 yaitu: “Akselerasi Peningkatan Kesejahteraan Rakyat guna mendukung pencapaian Visi Jawa Barat

Dalam memperkuat karakteristik dan mempertahankan keunggulan bangunan lama terhadap bangunan baru diterapkan 5 konsep dasar yang terdapat pada tema adaptive reuse,

Berdasarkan kenyataan dilapangan sasaran produksi yang dicapai saat ini adalah114.566 BCM/bulan.Peningkatan efisiensi kerja serta keserasian kerja antara alat gali muat

Penelitian ini bertujuan untuk mengetahui kadar unsur dan senyawa kimia limbah cangkang kerang Totok (Geloina sp.) hasil tangkapan masyarakat desa Bulupayung Cilacap di

Sekiranya Kementerian Kewangan Malaysia mendapati syarikat telah melanggar syarat-syarat yang ditentukan di atas, ataupun telah menyerahkan pengurusan syarikat dan kontrak