PERBANDINGAN MODEL ALGORITMA PARTICLE SWARM OPTIMIZATION DAN ALGORITMA GENETIKA PADA PENJADWALAN PERKULIAHAN TESIS SAYID AIDHIL PUTRA NIM. 127038071 PROGRAM STUDI S2 TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015
PERBANDINGAN MODEL ALGORITMA PARTICLE SWARM OPTIMIZATION DAN ALGORITMA GENETIKA PADA PENJADWALAN PERKULIAHAN TESIS Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika SAYID AIDHIL PUTRA NIM. 127038071 PROGRAM STUDI S2 TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2015
PERSETUJUAN Judul : PERBANDINGAN MODEL ALGORITMA PARTICLE SWARM OPTIMIZATION DAN ALGORITMA GENETIKA PADA PENJADWALAN PERKULIAHAN Kategori : TESIS Nama : SAYID AIDHIL PUTRA NIM : 127038071 Program Studi : MAGISTER (S2) TEKNIK INFORMATIKA Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing: Pembimbing 2 Pembimbing 1 Prof. Dr. Drs. Iryanto, M.Si. Prof. Dr. Muhammad Zarlis Diketahui/disetujui oleh Program Studi Magister Teknik Informatika Ketua, Prof. Dr. Muhammad Zarlis NIP. 19570701 198601 1 003 i
PERNYATAAN PERBANDINGAN MODEL ALGORITMA PARTICLE SWARM OPTIMIZATION DAN ALGORITMA GENETIKA PADA PENJADWALAN PERKULIAHAN TESIS Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya. Medan, Mei 2015 Sayid Aidhil Putra Nim. 127038071 ii
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan di bawah ini: Nama : Sayid Aidhil Putra NIM : 127038071 Program Studi : Teknik Informatika Jenis Karya Ilmiah : Tesis Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty Free Right) atas tesis saya yang berjudul: PERBANDINGAN MODEL ALGORITMA PARTICLE SWARM OPTIMIZATION DAN ALGORITMA GENETIKA PADA PENJADWALAN PERKULIAHAN Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non- Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan tesis saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta Demikian pernyataan ini dibuat dengan sebenarnya. Medan, Mei 2015 Sayid Aidhil Putra Nim. 127038071 iii
Telah diuji pada Tanggal : 15 Mei 2015 PANITIA PENGUJI TESIS Ketua : Prof. Dr. Muhammad Zarlis Anggota : 1. Prof. Dr. Drs. Iryanto, M.Si. 2. Prof. Dr. Herman Mawengkang 3. Dr. Erna Budhiarti Nababan, M.IT. 4. Dr. Poltak Sihombing, M.Kom. iv
RIWAYAT HIDUP DATA PRIBADI Nama Lengkap : Sayid Aidhil Putra,S.Pd.,S.Kom Tempat/Tgl Lahir : Medan, 19 Juni 1985 Alamat Rumah : Jl. Garu VI Gg. Merbuk No. 27F Medan 20147 HP : 0852 7590 1437 E-mail : putra_27f@yahoo.com / putra.lp3@gmail.com Instansi Tempat Kerja : SMP Negeri 17 Medan Alamat Kantor : Jl. Kapten M. DJamil Lubis No.108 Medan DATA PENDIDIKAN SD : SDN 060924 Medan Tamat: 1997 SMP : SMP N 36 Medan Tamat: 2000 SMK : SMK Multi Karya Medan Tamat: 2003 D1 : LP3BIMA Medan Tamat: 2005 S1 : Pend. Teknik Mesin UNIMED Tamat: 2009 S1 : Teknik Informatika Budidarma Tamat: 2012 S2 : Teknik Informatika USU Tamat: 2015 v
KATA PENGANTAR Bismillahhirrahmanirrohim. Puji Syukur kepada Allah SWT dan Nabi Besar Muhammad SAW, segala puji bagi Allah SWT Sang Maha Pencipta, yang semua jiwa dalam genggaman-nya, karena atas limpahan Rahmad dan karunia-mu, penulis bisa menyelesaikan Tesis ini yang berjudul: Perbandingan Model Algoritma Particle Swarm Optimization Dan Algoritma Genetika Pada Penjadwalan Perkuliahan Penyusunan Tesis ini merupakan salah satu syarat untuk dapat memperoleh gelar Magister Komputer (S2) Pada Universitas Sumatera Utara. Penulis menyadari apa yang penulis tuangkan dalam Tesis ini tidak terlepas dari peranan seluruh dosen, temanteman dan seluruh keluarga yang turut memberikan bantuan moril maupun materil. Untuk itu penulis menyampaikan terima kasih kepada: 1. Plt Rektor Universitas Sumatera Utara Bapak Prof. Subhilhar, Ph.D atas kesempatan yang diberikan kepada penulis untuk dapat mengikuti dan menyelesaikan program studi Magister. 2. Dekan Fakultas Ilmu Komputer dan Teknologi Informasi (Fasilkom-TI) Universitas Sumatera Utara Bapak Prof. Dr. Muhammad Zarlis atas kesempatan yang diberikan kepada penulis untuk dapat mengikuti dan menyelesaikan program studi Magister Teknik Informatika. 3. Ketua Program Studi Magister Teknik Informatika Universitas Sumatera Utara Bapak Prof. Dr. Muhammad Zarlis dan Bapak Muhammad Andri Budiman, ST., M.Comp.Sc.,M.E.M selaku Sekertaris Prodi Magister Teknik Informatika Universitas Sumatera Utara dan sekaligus sebagai Dosen Pembimbing Akademik (PA) yang telah banyak memberikan masukan dalam penyusunan Tesis ini. 4. Bapak Prof. Dr. Muhammad Zarlis selaku Pembimbing I yang tak terhingga dan penghargaan yang setingi-tingginya atas bimbingan, pengarahan dan dorongan kepada penulis selama mengerjakan Tesis ini. 5. Bapak Prof. Dr. Drs. Iryanto, M.Si selaku Pembimbing II yang tak terhingga dan penghargaan yang setingi-tingginya juga atas bimbingan, pengarahan dan dorongan kepada penulis selama mengerjakan Tesis ini. vi
6. Bapak Prof. Dr. Herman Mawengkang selaku Pembanding I yang telah banyak memberikan masukan kepada penulis dalam penyusunan Tesis ini. 7. Ibu Dr. Erna Budhiarti Nababan, M.IT selaku Pembanding II yang telah banyak memberikan masukan kepada penulis dalam penyusunan Tesis ini. 8. Bapak Dr. Poltak Sihombing, M.Kom selaku Pembanding III yang telah banyak memberikan masukan kepada penulis dalam penyusunan Tesis ini. 9. Semua Bapak dan Ibu dosen dosen yang namanya tidak disebutkan dalam Tesis ini yang telah banyak mendidik, mengajar dan membimbing penulis selama mengerjakan Tesis ini. 10. Kepada Orang Tua Tercinta (Drs. H Sayid Usman Z) dan (Dra. Hj. Ermanelis) yang telah banyak memberikan motivasi moril dan materil kepada penulis selama mengerjakan Tesis ini. 11. Kepada Istri tercinta (Tri Wahyuningsih, S.Kom) yang juga telah banyak memberikan motivasi dan saran yang membangun kepada penulis selama mengerjakan Tesis ini. 12. Kepada Adik-adik penulis (Syarifah Widya Ulfa, S.Pd., M.Pd. & Suami dan Syarifah Fadrina, SKM) yang juga banyak memberikan motivasi dan saran yang membangun dalam proses penyusunan Tesis ini. Dan kepada seluruh keluarga tercinta penulis yang juga banyak memberikan motivasi dan arahan kepada penulis dalam penyusunan Tesis ini. 13. Kepada seluruh pegawai Pascasarjana Magister Teknik Informatika USU dan teman-teman seperjuangan (Angkatan 2012 Kom-C) yang tidak bisa disebutkan namanya satu persatu, yang telah banyak memberikan saran kepada penulis dalam penyusunan Tesis ini. 14. Kepada semua yang telah membantu penulis dalam mengejakan Tesis ini, semoga semua arahan, bimbingan, saran dan kritiknya yang membangun mendapat pahala yang setimpal di sisi Allah Swt. Amin Medan, Juli 2015 Penulis, Sayid Aidhil Putra NIM. 127038071 vii
ABSTRAK Pada penelitian ini dibahas penggunaan model algoritma particle swarm optimization dan algoritma genetika pada kasus penjadwalan perkuliahan. Penelitian ini bertujuan untuk mengetahui tingkat kestabilan (stability) algoritma particle swarm optimization dan algoritma genetika dalam mencapai generasi (iterasi) terbaik, kemudian menganalisis proses kerja algoritma particle swarm optimization dan algoritma genetika terhadap penjadwalan perkuliahan. Berdasarkan hasil penelitian maka didapat bahwa cara kerja algoritma genetika lebih stabil dalam mendapatkan generasi (iterasi) terbaik dibandingkan dengan algoritma particle swarm optimization. Pada algoritma PSO solusi yang didapatkan dalam mencapai nilai fitness terbaik pada saat stabil dalam setiap iterasinya membutuhkan waktu yang lebih lama, karena semakin besar iterasinya maka akan semakin lama pula waktu yang dibutuhkan. Penjadwalan yang dihasilkan diharapkan memenuhi 5 kriteria yakni: 1. Tersedianya ruangan untuk setiap perkuliahan, 2. Apakah ruangan yang tersedia memenuhi kapasitas jumlah mahasiswa yang akan mengikuti perkuliahan atau tidak, 3. Tersedianya laboratorium untuk setiap perkuliahan yang memerlukan laboratorium, 4. Tidak terjadi tabrakan jadwal pengajar (seorang pengajar tidak diijinkan memiliki lebih dari satu perkuliahan pada hari dan jam yang sama), 5. Tidak terjadi tabrakan jadwal mahasiswa pada setiap perkuliahan (mahasiswa tidak diijinkan memiliki lebih dari satu perkuliahan pada hari dan jam yang sama). Kata kunci: Algoritma Particle Swarm Optimization, Algoritma Genetika, Penjadwalan Perkuliahan viii
COMPARISON MODEL THE PARTICLE SWARM OPTIMIZATION ALGORITHM AND GENETIC ALGORITHM AT THE LECTURING SCHEDULING ABSTRACT At this research is studied by using of model particle swarm optimization algorithm and genetic algorithm at case of lecturing scheduling. This research aim to know the level stability of particle swarm optimization algorithm and genetic algorithm in reaching of the best generation (iteration), then analyse the work process of the particle swarm optimization algorithm and genetic algorithm to lecturing scheduling. Base on research result is got that way of job genetic algorithm more stable in getting the best generation (iteration) than particle swarm optimization algorithm. At particle swarm optimization algorithm, got solution in reaching the best value fitness in each iteration require the longer time, because the greater becomes of iteration so will longer time is required. The scheduling result to be expected to fulfill 5 criterion that is: 1. The available of rooms to each lecturing, 2. Whether available rooms fulfill the capacities sum up the student to follow the lecturing or not, 3. The available of laboratory to each lecturing needing laboratory, 4. Is not happened by the collision of instructor schedule (a instructor is not permitted to own more than one lecturing on and same clock), 5. Is not happened by the collision of student schedule in each lecturing ( student is not permitted to own more than one lecturing on and same clock). Keyword: Particle Swarm Optimization Algorithm, Genetic Algorithm, Lecturing Scheduling. ix
DAFTAR ISI hal Halaman Judul Pengesahan... i Pernyataan Orisinalitas... ii Persetujuan Publikasi... iii Panitia Penguji... iv Riwayat Hidup... v Ucapan Terima Kasih... vi Abstrak... viii Abstract... ix Daftar Isi... x Daftar Tabel... xii Daftar Gambar... xiii Bab 1 Pendahuluan... 1 1.1 Latar Belakang Masalah... 1 1.2 Rumusan Masalah... 3 1.3 Tujuan Penelitian... 4 1.4 Batasan Masalah... 4 1.5 Manfaat Penulisan... 4 Bab 2 Tinjauan Pustaka... 5 2.1 Dasar Teori Particle Swarm Optimization (PSO)... 5 2.2 Proses Algoritma PSO... 9 2.3 Menentukan Parameter Algoritma PSO... 10 2.4 Algoritma Genetika... 12 2.5 Proses Algoritma Genetika... 14 2.5.1 Kondisi Berhenti... 17 2.5.2 Penggunaan Algoritma Genetika... 17 2.5.3 Istilah Dalam Algoritma Genetika... 19 2.6 Komponen-komponen Algoritma Genetika... 20 x
2.6.1 Teknik Pengkodean... 20 2.6.2 Membangkitkan Populasi Awal dan Kromosom... 21 2.6.3 Seleksi... 21 2.6.4 Crossover... 23 2.6.5 Mutasi... 24 2.6.6 Elitisme... 26 2.7 Penjadwalan... 27 2.8 Penelitian yang terkait... 30 Bab 3 Metodologi Penelitian... 32 3.1 Kerangka Berpikir... 32 3.2 Tahapan Penelitian... 33 3.3 Bahan Penelitian... 35 3.4 Langkah-langkah Penelitian... 35 3.5 Analisis Model... 36 3.6 Pengolahan Data... 37 3.7 Penjadwalan Dengan Algoritma Genetika... 38 3.7.1 Teknik Pengkodean... 38 3.7.2 Menentukan Populasi Awal Dan Inisialisasi Kromosom... 38 3.7.3 Fungsi Fitness... 40 3.7.4 Seleksi... 43 3.7.5 Pindah Silang (Crossover)... 43 3.7.6 Mutasi... 45 3.8 Penjadwalan Dengan Algoritma PSO... 46 3.8.1 Koefisien Akselerasi... 46 3.8.2 Inertia Weight... 46 Bab 4 Hasil dan Pembahasan... 53 4.1 Hasil... 53 4.2 Pembahasan... 60 4.2.1 Algoritma Genetika... 60 4.2.2 Algoritma PSO... 63 Bab 5 Kesimpulan dan Saran... 67 xi
5.1 Kesimpulan... 67 5.2 Saran... 67 Daftar Pustaka... 69 Lampiran 1 Daftar Publikasi Ilmiah... 74 Lampiran 2 Hasil Percobaan Penjadwalan Menggunakan GA... 75 Lampiran 3 Hasil Percobaan Penjadwalan Menggunakan Algoritma PSO... 95 Lampiran 4 File *.Txt Sebagai Data Masukan Pada Penjadwalan Menggunakan Model Algoritma Genetika... 103 Lampiran 5 File *.Txt Sebagai Data Masukan Pada Penjadwalan Menggunakan Model Algoritma PSO... 116 xii
DAFTAR TABLE hal Tabel 2.1 Contoh Jadwal Perkuliahan... 27 Tabel 3.1 Contoh Slot Penjadwalan Perkuliahan... 39 Tabel 3.2 Contoh Distribusi Perkuliahan... 39 Tabel 3.3 Contoh Penjadwalan... 40 Tabel 3.4 Contoh Jadwal Perkuliahan... 42 Tabel 3.5 Perhitungan Nilai Fitness Tiap Individu... 42 Tabel 3.6 Kondisi Kromosom Sebelum Mengalami Crossover... 43 Tabel 3.7 Kromosom Setelah Mengalami Crossover... 45 Tabel 3.8 Kondisi Kromosom Sebelum Proses Mutasi... 45 Tabel 3.9 Kondisi Kromosom Setelah Proses Mutasi... 46 Tabel 3.10 Slot Perkuliahan... 47 Tabel 3.11 Contoh Distribusi Perkuliahan... 47 Tabel 3.12 Contoh Inisialisasi Partikel... 48 Tabel 3.13 Contoh Slot Yang Terpilih... 49 Tabel 3.14 Contoh Penjadwalan Awal... 49 Tabel 3.15 Contoh Kombinasi Partikel... 50 Tabel 3.16 Perhitungan Nilai Fitness Partikel PSO... 51 Tabel 3.17 Nilai PBest dan GBest... 51 Tabel 3.18 Velocity Partikel Pada Iterasi k+1... 52 Tabel 3.19 Posisi Partikel Pada Iterasi k+1... 52 Tabel 3.20 Contoh Jadwal Kuliah yang Terbentuk Berikutnya... 52 Tabel 4.1 Daftar Pengajar... 53 Tabel 4.2 Daftar Mata Kuliah... 54 Tabel 4.3 Daftar Ruangan... 55 Tabel 4.4 Daftar Grup Mahasiswa... 55 Tabel 4.5 Daftar Hari Perkuliahan... 56 xiii
Tabel 4.6 Daftar Waktu Perkuliahan Dalam WIB... 56 Tabel 4.7 Daftar Distribusi Mata Kuliah... 57 Tabel 4.8 Hasil Uji Coba Algoritma Genetika Pada Saat Stabil... 62 Tabel 4.9 Hasil Uji Coba Algoritma PSO Pada Saat Stabil... 65 xiv
DAFTAR GAMBAR hal Gambar 2.1 Flowchart Algoritma PSO... 11 Gambar 2.2 Contoh Penggunaan Algoritma Genetika... 19 Gambar 2.3 Ilustrasi Istilah dalam Algoritma Genetika... 20 Gambar 2.4 Ilustrasi Seleksi dengan Roulette Wheel... 22 Gambar 2.5 Flowchart Algoritma Genetika... 26 Gambar 3.1 Langkah-langkah Penelitian... 35 Gambar 3.2 Struktur Analisis Model... 36 Gambar 3.3 Flowchart Pembentukan Kromosom... 38 Gambar 4.1 Hasil Penjadwalan Menggunakan Model Program Algoritma Genetika... 59 Gambar 4.2 Proses Penjadwalan Menggunakan Model Program Algoritma PSO... 60 Gambar 4.3 Contoh Susunan Kromosom Pada Penjadwalan dengan Menggunakan Algoritma Genetika... 61 Gambar 4.4 Grafik Hasil Percobaan Menggunakan Algoritma Genetika... 63 Gambar 4.5 Contoh Susunan Partikel Pada Penjadwalan dengan Algoritma PSO... 64 Gambar 4.6 Grafik Hasil Percobaan Menggunakan Algoritma PSO... 65 Gambar 4.7 Grafik Perbandingan Algoritma Genetika dan Algoritma PSO Dalam Mendapatkan Generasi (Iterasi) Terbaik Terhadap Penjadwalan Perkuliahan... 66 xv