IMPLEMENTASI ALGORITMA GENETIKA DALAM PENJADWALAN PERKULIAHAN DAN PRAKTIKUM (STUDI KASUS : FASILKOM-TI DAN FMIPA USU) SKRIPSI YAKHDI PERARI PINEM 131421088
IMPLEMENTASI ALGORITMA GENETIKA DALAM
PENJADWALAN PERKULIAHAN DAN PRAKTIKUM
(STUDI KASUS : FASILKOM-TI DAN FMIPA USU)
SKRIPSI
YAKHDI PERARI PINEM
131421088
PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2015
IMPLEMENTASI ALGORITMA GENETIKA DALAM PENJADWALAN PERKULIAHAN DAN PRAKTIKUM (STUDI KASUS : FASILKOM-TI DAN FMIPA USU) SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer YAKHDI PERARI PINEM 131421088 PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015
PERSETUJUAN
Judul : IMPLEMENTASI ALGORITMA GENETIKA DALAM PENJADWALAN PERKULIAHAN DAN PRAKTIKUM
(STUDI KASUS : FASILKOM-TI DAN FMIPA USU) Kategori : SKRIPSI Nama : YAKHDI PERARI PINEM Nomor Induk Mahasiswa : 131421088 Program Studi : EKSTENSI S1 ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA Diluluskan di
Medan, 29 Agustus 2015 Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Dian Rachmawati, S.Si., M.Kom Dr. Poltak Sihombing, M.Kom NIP. 19830723 200912 2 004 NIP. 19620317 199103 1 001 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom.
NIP. 19620317 199103 1 001
PERNYATAAN
IMPLEMENTASI ALGORITMA GENETIKA DALAM PENJADWALAN PERKULIAHAN DAN PRAKTIKUM (STUDI KASUS : FASILKOM-TI DAN FMIPA USU)
SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 29 Agustus 2015 Yakhdi Perari Pinem NIM. 131421088
PENGHARGAAN
Puji Syukur ke hadirat Allah Subhanahu Wa Ta’ala atas rahmat dan hidayah- Nya sehingga penulis dapat menyelesaikan penelitian dan penyusunan skripsi yang berjudul ” Implementasi Algoritma Genetika dalam Penjadwalan Perkuliahan dan Praktikum (Studi Kasus : Fasilkom-TI dan FMIPA USU)”. Tulisan ini masih jauh dari sempurna, hal ini disebabkan oleh keterbatasan dan kemampuan penulis.
Dalam menyelesaikan skripsi ini penulis banyak mendapatkan masukan dan dukungan dari berbagai pihak. Oleh karena itu pada kesempatan ini penulis mengucapkan terima kasih yang sebesar-besarnya kepada : 1.
Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
2. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara dan Dosen Pembimbing I yang telah banyak memberikan ilmu, bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.
3. Ibu Maya Silvi Lydia, B.Sc., M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
4. Ibu Dian Rachmawati, S.Si., M.Kom selaku Dosen Pembimbing II yang telah memberikan ilmu, bimbingan, saran, dan masukan kepada penulis dalam pengerjaan skripsi ini.
5. Bapak Drs. Agus Salim Harahap, M.Si. selaku Dosen Pembanding I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
6. Bapak M. Andri Budiman, ST,M.Comp.Sc., MEM selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
7. Seluruh staf pengajar dan pegawai di Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
8. Teristimewa kepada kedua orang tua penulis yang selalu senantiasa mencurahkan kasih sayang serta doa kepada penulis.
9. Abang dan Adik penulis, Ikhsan Perdana Pinem dan Makhraini Pehulisa Pinem, yang selalu memberi semangat kepada penulis.
10. Kawan-kawan seperjuangan Leli Dahliana, Yohana Sitepu dan Sherly Melisa
Sembiring yang selalu memberi semangat kepada penulis dalam mengerjakan skripsinya.
11. Sahabatku Yudho Murphy Harahap dan Dara Juwita yang selalu memberi semangat kepada penulis dalam mengerjakan skripsinya.
12. Teman-teman Ekstensi S1 Ilmu Komputer stambuk 2013 tanpa terkecuali, terima kasih buat kebersamaannya di kala suka maupun duka.
13. Serta semua pihak yang telah ikut membantu penulis namun tidak tercantum namanya.
Penulis menyadari bahwa dalam penulisan maupun penyajian dalam tulisan ini masih jauh dari kesempurnaan. Oleh karena itu dengan segala kerendahan hati penulis menerima kritik dan saran yang bersifat membangun. Kiranya skripsi ini dapat memberi manfaat bagi para pembaca.
Medan, 29 Agustus 2015 Penulis, Yakhdi Perari Pinem
ABSTRAK
Penjadwalan kuliah dan praktikum merupakan salah satu kegiatan dalam universitas yang membutuhkan banyak waktu untuk menyelesaikannya. Penjadwalan umumnya masih dilakukan dengan cara manual. Cara ini memiliki keakuratan yang kurang baik dan menyebabkan terjadinya jadwal bentrok. Jadwal yang baik adalah jadwal yang memperhatikan semua komponen dasar penyusunnya. Oleh karena itu, penelitian ini bertujuan untuk menciptakan sebuah penjadwalan perkuliahan dan praktikum yang baik. Algoritma yang digunakan dalam penelitian ini adalah algoritma genetika. Algoritma genetika adalah algoritma pencarian heuristik yang menggunakan prinsip dasar seleksi alam sesuai proses evolusi biologis. Proses yang terjadi dalam algoritma genetika adalah inisialisasi populasi, evaluasi fitness, seleksi, crossover dan mutasi. Hasil dari aplikasi penjadwalan perkuliahan dan praktikum akan didapat setelah salah satu syarat berhenti terpenuhi, berupa sebuah jadwal mengajar untuk setiap dosen yang terdaftar di Fakultas Ilmu Komputer dan Teknologi Informasi dengan mempertimbangkan jadwal dosen di Fakultas Matematika dan Ilmu Pengetahuan Alam.
Kata Kunci : optimisasi, heuristik, genetika, penjadwalan, wheel roulette,
crossover satu titik, mutasi swap
IMPLEMENTATION OF GENETIC ALGORITHM
IN SCHEDULING LECTURES AND PRACTICUM (CASE STUDY: FASILKOM-TI AND FMIPA USU) ABSTRACT
At universities, scheduling a lecture and practicum is one of the tasks that take a lot of time to be completed. Scheduling in general is still done manually. This method had a poor accuracy and could cause a clashing schedule. A good schedule notices all the basic components. Therefore, the purpose of this study is to create a good scheduling system. The algorithm that used on this study is the genetic algorithm. The genetic algorithm is a heuristic search algorithm that mimics the process of natural evolution, such as population initialization, fitness evaluation, selection, crossover and mutation. The results of scheduling lectures and practicum applications will be obtained after one
of the stop conditions being met, in the form of a teaching schedule for each lecturer enrolled in the Faculty of Computer Science and Information Technology by considering the schedule of a lecturer at the Faculty of Mathematics and Natural Sciences.
Keywords : optimization, heuristics, genetic, scheduling, roulette wheel, one-point crossover, swap mutation.
DAFTAR ISI Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract
vii Daftar Isi viii
Daftar Tabel xi
Daftar Gambar xiii
BAB 1 PENDAHULUAN
1
2.3.4 Evaluasi fitness
2.3.1 Struktur dasar algoritma genetika
12
2.3.2 Syarat berhenti dan parameter algoritma genetika
13
2.3.3 Teknik pengkodean
15
18
2.3 Algoritma Genetika
2.3.5 Operator algoritma genetika
18
2.3.6 Schema algoritma genetika
25
2.3.7 Kelebihan dan kelemahan algoritma genetika
27
10
10
1.2 Rumusan Masalah
5
3
1.3 Batasan Masalah
3
1.4 Tujuan Penelitian
5
1.5 Manfaat Penelitian
1.6 Metodologi Penelitian
2.2 Penjadwalan
5 `
1.7 Sistematika Penulisan
6 BAB 2 LANDASAN TEORI
1.1 Latar Belakang Masalah
8
2.1.1 Klasifikasi optimisasi
8
2.1 Optimisasi
BAB 3 ANALISIS DAN PERANCANGAN SISTEM
90
86
4.1.1 Form splash screen
86
4.1.2 Form login
87
4.1.3 Form lupa password
88
4.1.4 Form menu utama
88
4.1.5 Form program studi
89
4.1.6 Form input dosen
4.1.7 Form input jadwal sibuk
76 BAB 4 IMPLEMENTASI DAN PENGUJIAN
90
4.1.8 Form input kelas
91
4.1.9 Form input ruangan
92
4.1.10 Form input matakuliah
92
4.1.11 Form input hari dan waktu
93
4.1.12 Form algortima genetika
94
4.2 Pengujian Sistem
95
4.1 Implementasi Sistem
3.1 Batasan-Batasan pada Penjadwalan
28
3.4.2 Evaluasi fitness
3.1.1 Batasan pokok penjadwalan (hard constraints)
28
3.1.2 Batasan tambahan penjadwalan (soft constraints)
29
3.2 Analisis Sistem
29
3.3 Komponen Utama Penjadwalan
30
3.4 Proses Algoritma Genetika pada Penjadwalan
53
3.4.1 Membangkitkan populasi awal
53
58
73
3.4.3 Seleksi
61
3.4.4 Crossover
62
3.4.5 Mutasi
63
3.5 Perancangan Sistem
63
3.5.1 Rancangan data
64
3.5.2 Rancangan arsitektural
67
3.5.3 Rancangan prosedural
3.5.4 Rancangan interface
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan
97
5.2 Saran
97 DAFTAR PUSTAKA
98 LAMPIRAN-A
A-1 LAMPIRAN-B
DAFTAR TABEL Halaman
Tabel 3.11 Representasi Sebuah Individu pada Prodi Ilmu Komputer65 Tabel 3.24 Struktur Tabel Ruang
65 Tabel 3.23 Struktur Tabel Matkul
65 Tabel 3.22 Struktur Tabel Jadwal
64 Tabel 3.21 Struktur Tabel Kelas
64 Tabel 3.20 Struktur Tabel Hari
61 Tabel 3.19 Struktur Tabel Dosen
60 Tabel 3.18 Persentase Fitness pada Prodi Ilmu Komputer
60 Tabel 3.17 Evaluasi Fitness pada Individu-3
59 Tabel 3.16 Evaluasi Fitness pada Individu-2
58 Tabel 3.15 Evaluasi Fitness pada Individu-1
57 Tabel 3.14 Inisialisasi Populasi pada Program Studi Teknologi Informasi
55 Tabel 3.13 Inisialisasi Populasi pada Program Studi Ilmu Komputer
54 Tabel 3.12 Representasi Sebuah Individu pada Prodi Teknologi Informasi
45 Informasi
Tabel 2.1 Contoh Pengkodean BinerTabel 3.10 Daftar Matakuliah dan Praktikum di Program Studi Teknologi37 Komputer
36 Tabel 3.9 Daftar Matakuliah dan Praktikum di Program Studi Ilmu
35 Tabel 3.8 Daftar Kelas pada Program Studi Teknologi Informasi
35 Tabel 3.7 Daftar Kelas pada Program Studi Ilmu Komputer
34 Tabel 3.6 Daftar Ruangan pada Program Studi Teknologi Informasi
34 Tabel 3.5 Daftar Ruangan pada Program Studi Ilmu Komputer
33 Tabel 3.4 Daftar Waktu Masuk Perkuliahan dan Praktikum di Fasilkom-TI
Tabel 3.3 Daftar Hari Masuk Perkuliahan dan Praktikum di Fasilkom-TI32 Informasi
30 Tabel 3.2 Daftar Dosen dan Asisten pada Program Studi Teknologi
18 Tabel 3.1 Daftar Dosen dan Asisten pada Program Studi Ilmu Komputer
16 Tabel 2.3 Contoh Pengkodean Permutasi
15 Tabel 2.2 Contoh Pengkodean Nilai
66
Tabel 3.25 Struktur Tabel Sibuk66 Tabel 3.26 Struktur Tabel Waktu
66 Tabel 3.27 Kamus Data Penjadwalan
72 Tabel 4.1 Pengujian Algoritma Genetika dalam Penjadwalan Perkuliahan
95 Dan Praktikum
DAFTAR GAMBAR Halaman
25 Gambar 2.16 Contoh Penggunaan Algoritma Genetika
77 Gambar 3.13 Rancangan Tampilan Form Login
75 Gambar 3.12 Rancangan Tampilan Splash Screen
74 Gambar 3.11 Flowchart Sistem Penjadwalan
71 Gambar 3.10 Flowchart algoritma genetika
70 Gambar 3.9 DFD Level 2 Proses 3
69 Gambar 3.8 DFD Level 2 Proses 2
68 Gambar 3.7 DFD Level 1
67 Gambar 3.6 Diagram Konteks
63 Gambar 3.5 Skema Relasi Database Penjadwalan
62 Gambar 3.4 Ilustrasi Swap Mutation
62 Gambar 3.3 Ilustrasi Crossover Satu Titik
53 Gambar 3.2 Probabilitas Seleksi Roulette Wheel
26 Gambar 3.1 Representasi Kromosom
25 Gambar 2.15 Mutasi Penggantian
Gambar 2.1 Diagran Optimisasi Fungsi atau Optimisasi Proses24 Gambar 2.14 Mutasi Penukaran
24 Gambar 2.13 Mutasi Pemindahan
23 Gambar 2.12 Mutasi Penyisipan
22 Gambar 2.11 Mutasi Pembalikan
22 Gambar 2.10 Penyilangan OX
21 Gambar 2.9 Penyilangan PMX
21 Gambar 2.8 Penyilangan Dua Titik
19 Gambar 2.7 Penyilangan Satu Titik
19 Gambar 2.6 Seleksi Metode Ranking
17 Gambar 2.5 Seleksi Metode Roullete Wheel
16 Gambar 2.4 Pengkodean Pohon Tipe Vertex Encoding
Gambar 2.3 Pengkodean Pohon Tipe Edge Encoding12 Menyelesaikan Suatu Masalah Optimisasi
8 Gambar 2.2 Struktur Dasar Penerapan Algoritma Genetika untuk
77
Gambar 3.14 Rancangan Tampilan Form Lupa Password88 Gambar 4.4 Tampilan Menu Utama
95 Gambar 4.14 Grafik perubahan nilai fitness dalam pengujian Algoritma
94 Gambar 4.13 Tampilan Laporan Algoritma Genetika
93 Gambar 4.12 Tampilan Form Genetika
93 Gambar 4.11 Tampilan Form Isian Hari dan Waktu
92 Gambar 4.10 Tampilan Form Isian Mata Kuliah
91 Gambar 4.9 Tampilan Form Isian Ruangan
91 Gambar 4.8 Tampilan Form Isian Kelas
90 Gambar 4.7 Tampilan Form Isian Jadwal Sibuk/Tak Sedia
89 Gambar 4.6 Tampilan Form Isian Dosen
89 Gambar 4.5 Tampilan Pilih Program Studi
87 Gambar 4.3 Tampilan Form Lupa Password
78 Gambar 3.15 Rancangan Tampilan Menu Utama
87 Gambar 4.2 Tampilan Form Login
85 Gambar 4.1 Tampilan Splash Screen
84 Gambar 3.23 Rancangan Tampilan Form Genetika
83 Gambar 3.22 Rancangan Tampilan Form Isian Hari dan Waktu
82 Gambar 3.21 Rancangan Tampilan Form Isian Mata Kuliah
82 Gambar 3.20 Rancangan Tampilan Form Isian Ruangan
81 Gambar 3.19 Rancangan Tampilan Form Isian Kelas
80 Gambar 3.18 Rancangan Tampilan Form Isian Jadwal Sibuk/Tak Sedia
79 Gambar 3.17 Rancangan Tampilan Form Isian Dosen
79 Gambar 3.16 Rancangan Tampilan Pilih Program Studi
96 Genetika