Tugas Akhir
Untuk memenuhi sebagian persyaratan mencapai derajat S-1 Jurusan Teknik Elektro
Oleh:
Muhammad Dzaky Al Munir Asri F1B 014 062
BIDANG ELEKTRONIKA DAN DIGITAL JURUSAN TEKNIK ELKTRO
FAKULTAS TEKNIK UNIVERSITAS MATARAM
2020
i TUGAS AKHIR
PENJADWALAN PERKULIAHAN MENGGUNAKAN ALGORITMA GENETIKA DI JURUSAN TEKNIK ELEKTRO
UNIVERSITAS MATARAM
Oleh:
MUHAMMAD DZAKY AL MUNIR ASRI F1B 014 062
Telah diperiksa dan disetujui oleh Tim Pembimbing 1. Pembimbing Utama,
Giri Wahyu Wiriasto, ST., MT Tanggal: 22 Juli 2020 NIP. 19820904 201012 1 001
2. Pembimbing Pendamping,
Lalu A. Syamsul Irfan Akbar, ST.,M.Eng Tanggal : 22 Juli 2020 NIP. 19830310 200912 1 004
Mengetahui,
Ketua Jurusan Teknik Elektro Fakultas Teknik Universitas Mataram
Muhamad Syamsu Iqbal, ST., MT., Ph.D.
NIP: 19720222 199903 1 002
ii TUGAS AKHIR
PENJADWALAN PERKULIAHAN MENGGUNAKAN ALGORITMA GENETIKA DI JURUSAN TEKNIK ELEKTRO
UNIVERSITAS MATARAM
Oleh:
MUHAMMAD DZAKY AL MUNIR ASRI F1B 014 062
Telah diujikan di depan tim penguji Pada 10 Juni 2020
dan dinyatakan telah memenuhi syarat mencapai derajat Sarjana S-1 Jurusan Teknik Elektro
Susunan Tim Penguji 1. Penguji Pertama,
Abdul Natsir, ST., MT. Tanggal: 21 Juli 2020 NIP. 19720509 199803 1 002
Penguji Kedua,
Syafarudin Ch, ST., MT. Tanggal :20 Juli 2020 NIP. 19690612 199702 1 001
2. Penguji Ketiga,
Budi Darmawan, ST., M.Eng. Tanggal: 22 Juli 2020 NIP.19850526 201504 1 002
Mataram, 22 Juli 2020 Dekan Fakultas Teknik Universitas Mataram
Akmaluddin, ST., MSc(Eng)., Ph.D NIP: 19681231 199412 1 001
iii SURAT PERNYATAAN KEASLIAN
Dengan ini saya menyatakan bahwa dalam Tugas Akhir ini tidak terdapat karya yang pernah diajukan untuk memperoleh Gelar Kesarjanaan di suatu Perguruan Tinggi, dan sepanjang pengetahuan saya, tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis diacu dalam naskah ini dan disebutkan dalam daftar acuan.
Demikian surat pernyataan ini saya buat tanpa tekanan dari pihak manapun dan dengan kesadaran penuh terhadap tanggung jawab dan konsekuensi serta menyatakan bersedia menerima sanksi terhadap pelanggaran dari pernyataan tersebut.
Mataram, Juli 2020
Muhammad Dzaky Al Munir Asri
F1B 014 062
iv PRAKATA
Puji Syukur peneliti haturkan kehadirat Allah SWT atas segenap kasih sayang dan anugerah yang telah diberikan kepada peneliti dan selawat dan salam semoga senantiasa tercurahkan kepada Baginda Rasulullah SAW sebagai soko guru peradaban, selanjutnya peneliti mengucapkan banyak terima kasih kepada semua pihak yang ikut membantu sehingga dapat menyelesaikan tugas akhir dengan judul “Penjadwalan Perkuliahan Menggunakan Algoritma Genetika Di Jurusan Teknik Elektro Universitas Mataram”
Tugas akhir ini dikhususkan untuk mempermudah proses pembuatan jadwal di Jurusan Teknik Elektro Universitas Mataram, namun tidak menutup kemungkinan untuk dikembangkan ke arah yang lebih luas lagi dengan dengan memanfaatkan secara optimal penjadwalan perkuliahan yang telah dibuat oleh peneliti.
Kekurangan dan kealpaan adalah hal lumrah yang terdapat dalam diri segenap manusia, karenanya peneliti mohon maaf jika terdapat hal-hal tersebut tadi di dalam penyusunan tugas akhir ini. Saran dan kritik sangat diharapkan demi pembelajaran dan membangun semangat peneliti untuk dapat menjadi lebih baik lagi.
Akhirnya peneliti ucapkan terima kasih kepada semua pihak atas bantuanya selama menyelesaikan tugas akhir ini. Semoga tugas akhir ini dapat bermanfaat bagi khalayak banyak.
Mataram, Juli 2020
Peneliti
v UCAPAN TERIMA KASIH
Dapat terselesaikanya tugas akhir ini tak luput dari bantuan banyak pihak, karenanya pada kesempatan ini izinkan peneliti mengucapkan terima kasih kepada:
1. Allah SWT
2. Kedua Orang Tua tercinta, atas dukungan moril dan materil serta kesabaran yang tidak pernah habis menunggu kelulusan peneliti.
3. Bapak Akmaluddin, ST., MSc(Eng)., Ph.D. selaku Dekan Fakultas Teknik Universitas Mataram.
4. Bapak Muhamad Syamsu Iqbal, ST., MT. Ph.D. selaku Ketua Jurusan Teknik Elektro Fakultas Teknik Universitas Mataram.
5. Bapak Giri Wahyu Wiriasto, S.T., MT., selaku dosen pembimbing pertama, yang telah membimbing peneliti dalam proses penyusunan tugas akhir ini.
6. Bapak Lalu A. Syamsul Irfan A., S.T., M.Eng., selaku dosen pembimbing kedua, yang telah memberikan saran-saran dan ilmu demi menghasilkan tugas akhir yang berkualitas.
7. Bapak Abdul Natsir, S.T., M.T. , Bapak Syafarudin Ch, S.T., M.T. , dan Bapak Budi Darmawan, S.T., M.Eng., selaku Dosen Penguji atas bantuan dan masukannya dalam penyempurnaan tugas akhir ini.
8. Bapak dan Ibu Dosen serta seluruh staf Jurusan Teknik Elektro Universitas Mataram.
9. Didik Hadumi Setiaji, S.T. selaku yang memberi banyak masukan dan arahan selama mengerjakan tugas akhir ini.
Peneliti menyadari bahwa penyusunan tugas akhir ini masih jauh dari kata sempurna oleh karena itu peneliti selalu terbuka terhadap masukan dan saran dari semua pihak yang sikapnya membangun untuk menyempurnakan tugas akhir ini. Tidak lupa peneliti menyampaikan permohonan maaf apabila dalam tugas akhir ini terdapat kesalahan dan kekeliruan.
Mataram, Juli 2020
Peneliti
vi DAFTAR ISI
LEMBAR PENGESAHAN ... i
LEMBAR PENGESAHAN ... ii
SURAT PERNYATAAN KEASLIAN ... iii
PRAKATA ... iv
UCAPAN TERIMA KASIH ... v
DAFTAR ISI ... vi
DAFTAR GAMBAR ... ix
DAFTAR TABEL ... x
ABSTRAK ... xi
BAB I PENDAHULUAN ... 1
1.1. Latar Belakang ... Error! Bookmark not defined. 1.2. Rumusan Masalah ... 2
1.3. Batasan Masalah ... 2
1.4. Tujuan Penelitian ... 2
1.5. Manfaat Penelitian ... 2
1.6. Sistematika Penulisan ... 3
BAB II TINJAUAN PUSTAKA DAN DASAR TEORI ... 4
2.1. Penelitian yang terkait ... 4
2.2. Algoritma Genetika ... 5
1. Definisi Algoritma Genetika ... 5
2. Dekode Kromosom ... 7
3. Nilai Fitness ... 7
4. Seleksi ... 8
5. Crossover ... 9
6. Mutasi ... 10
7. Elitisme ... 11
vii
8. Pergantian Populasi ... 12
2.3. Flowchart Algoritma Genetika ... 13
BAB III METODE PENELITIAN ... 14
3.1. Metode Penelitian ... 14
3.2. Lokasi Penelitian ... 14
3.3. Peralatan Penunjang ... 14
3.4. Langkah – Langkah Penelitian ... 14
3.4.1 Pengindentifikasian Permasalahan dan Membangun Ide ... 14
3.4.2 Studi Literatur Dasar Teori Penelitian ... 15
3.4.3 Perumusan Masalah ... 15
3.4.4 Penentuan Topik Penelitian ... 15
3.4.5 Penentuan Tujuan Penelitian ... 15
3.4.6 Pengumpulan Data ... 15
3.4.7 Pengolahan Data ... 21
3.4.8 Pemodelan Penjadwalan Perkuliahan Pada Jurusan Teknik Elektro UNRAM Menggunakan Algoritma Genetika... 21
3.5 Pengalokasian Kelas ... 22
3.6 Hubungan Antara Dosen , dan Mata kuliah ... 22
3.7. Diagram Blok Metode Penilitan ... 23
BAB IV HASIL DAN PEMBAHASAN ... 24
4.1. Implementasi Algoritma Genetika ... 24
4.2. Pengujian Algoritma Genetika ... 25
4.2.1. Analisis Metode ... 26
4.2.2. Analisis Parameter... 27
4.2.3. Analisis Hasil ... 29
4.3. Hasil Pengujian ... 36
viii
4.4. Perbandingan Pengujian ... 39
4.5. Evaluasi Pengujian ... 40
BAB V PENUTUP ... 41
5.1. Kesimpulan ... 41
5.2 Saran ... 42
DAFTAR PUSTAKA ... 43
LAMPIRAN ... 45
ix DAFTAR GAMBAR
Gambar 2.1 Definisi penting di algoritma genetika ... 6
Gambar 2.2 Contoh Crossover 1 titik ... 9
Gambar 2.3 Contoh Crossover 2 titik ... 9
Gambar 2.4 Contoh Crossover seragam ... 9
Gambar 2.5 Contoh mutasi dalam pengkodean biner ... 10
Gambar 2.6 Contoh mutasi dalam pengkodean mutasi ... 11
Gambar 2.7 Flowchart algoritma genetika ... 13
Gambar 3.1 Diagram Blok Metode Penelitian ... 36
Gambar 4.1 Proses mencari nilai fitness terbaik ... 42
Gambar 4.2 Ilustrasi crossover dan mutasil di kromosom dalam 1 populasi ... 43
Gambar 4.3 Ilustrasi crossover dan Mutasi di populasi dalam 1 generasi ... 44
Gambar 4.4 Hasil generasi terbaik dengan nilsi fitness 1.0 ... 45
Gambar 4.5 Ilustrasi bentrok populasi (schedule) 9 ... 46
Gambar 4.6 Tampilan Program Penjadwlan perkuliahan menggunakan Python IDLE ... 49
Gambar 4.7 Tampilan program melakukan proses mencari solusi ... 50
Gambar 4.8 Tampilan keluaran jadwal dari program ... 51
x DAFTAR TABEL
Tabel 3.1 Data dosen dan mata kuliah yang diajarkan pada semester ganjil tahun
2018/2019 di Jurusan Teknik Elektro UNRAM ... 16
Tabel 3.2 Data mata kuliah wajib semester ganjil pada Jurusan Teknik Elektro UNRAM ... 18
Tabel 3.3 Data mata kuliah konsentrasi wajib semester ganjil pada Jurusan Teknik Elektro UNRAM ... 19
Tabel 3.4 Data mata kuliah konsentrasi pilihan semester ganjil pada Jurusan Teknik Elektro UNRAM ... 20
Tabel 3.5 Data ruangan pada Jurusan Teknik Elektro UNRAM ... 20
Tabel 3.6 Data waktu perkuliahan pada Jurusan Teknik Elektro UNRAM ... 21
Tabel 4.1 Representasi Kromosom ... 25
Tabel 4.2 Data hasil kombinasi parameter ... 27
Tabel 4.3 Perbandingan sistem lama dan sistem baru dengan algoritma genetika ... 33
xi ABSTRAK
Proses kegiatan belajar mengajar pada perguruan tinggi merupakan rutinitas yang sering dilakukan setiap semesternya terdapat berbagai masalah yang timbul ketika proses pembuatan penjadwalan perkuliahan. Penjadwalan berasal dari kata jadwal yang mendapat imbuhan pen- yang memiliki arti pembagian waktu berdasarkan secara urutan, tetapi dalam permasalahan penjadwalan perkuliahan termasuk yang cukup sulit dibuat. Dalam penelitian ini untuk membuat penjadwalan secara cepat dan optimal digunakan algoritma genetika, suatu algoritma pencarian yang meniru dari genetika alam yang dapat dipakai menyelesaikan masalah multi-kriteria dan multi-objektif yang dimodelkan dengan proses biologi dan evolusi. Perancangan penjadwalan ini menggunakan python IDLE 3.8 dan implementasi algoritma genetika yang dikembangkan melakukan dalam pengujian kombinasi parameter untuk mendapatkan nilai fitness terbaik dari setiap pengujian. Pengujian kombinasi parameter didapatkan nilai yang mendekati nilai fitness yang dicari dan tidak ada bentrok yang didapatkan yang menandakan bahwa algoritma genetika dapat digunakan sebagai algoritma untuk membuat penjadwalan perkuliahan
Kata Kunci : Penjadwalan Perkuliahan , Algoritma Genetika, Nilai Fitness
xii ABSTRACT
The process of teaching and learning activities in university is a routine that is often done every semester there are various problem that arise during the process of making the scheduling of lectures. Secheduling comes from a word of schedule thet gets a pen- meaning that has a share of time based on a sequence, but in the case of scheduling lectures including those that are quite difficult to crate. In this study to make scheduling in a fast and optimal use of genetic algorithms, a search algorithms mimics from natural genetics that can be used to solve multi – criteria and multi – objective problems modeled with biological and evolutionary processes. This scheduling design uses python idle 3.8 and a genetic algorithm implementation developed in the parameter combination testing to get the best fitness value from each test. The test combination of parameters obtained value close to the fitness value sought and no conflicts were obtained that indicates that the genetic algorithm can be used as an algorithm to make the scheduling of lectures.
Keywords: Lecture Scheduling, Genetic Algorithm, fitness value
1
BAB I
PENDAHULUAN
1.1. Latar Belakang
Proses kegiatan belajar mengajar pada perguruan tinggi merupakan rutinitas yang sering dilakukan setiap semesternya. Terdapat berbagai masalah timbul ketika proses pembuatan jadwal, keterbatasan ruangan, dan juga beberapa dosen mengajar dengan beberapa mata kuliah, terdapat juga beberapa mahasiswa yang mengambil mata kuliah yang berbeda dalam waktu yang sama, dan pihak akademik proses pembuatan jadwal masih dilakukan secara manual melakukan perbaikan berkali-kali sehingga menjadikan kekurangan dalam proses manual dalam pembuatan penjadwalan
Penjadwalan berasal dari kata jadwal yang mendapat imbuhan Pen- yang memiliki arti pembagian waktu berdasarkan rencana pengaturan urutan kerja. tetapi permasalahan yang terpenting dalam lembaga pendidikan terdapat kendala dalam penjadwalan yaitu cukup sulit dibuat. Sedangkan dalam membuat jadwal harus dilakukan dengan cepat dan optimal dikarenakan akan dipergunakan untuk perkuliahan.
Algoritma Genetika adalah suatu algoritma pencarian yang meniru mekanisme dari genetika alam, pertama kali dikemukakan oleh John Holland awal tahun 1975.
Algoritma genetika ini banyak dapat dipakai menyelesaikan masalah multi-kriteria dan multi-objektif dan dimodelkan dengan proses biologi dan evolusi.
Sebagai solusi dari permasalahan di atas, implementasi algoritma genetika pada penjadwalan perkuliahan ini diharapkan dapat mengurangi permasalahan tersebut, dan juga ingin membuktikan bahwa algoritma genetika sebagai metode heuristik dapat memberikan pemecahan permasalahan pada penjadwalan perkuliahan di Jurusan Teknik Elektro Universitas Mataram. Pada penelitian ini akan membangun penjadwalan perkuliahan dengan menggunakan bahasa Python. Dengan penelitian ini penjadwalan perkuliahan di Jurusan Teknik Elektro Universitas Mataram menjadi banyak literasi dalam melakukan penjadwalan perkuliahan.
2 1.2. Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan rumusan masalah pada tugas akhir ini adalah:
1. Kemungkinan bentrok, mata kuliah, jam ruangan, dan dosen, sehingga diperlukan suatu pendekatan secara komputasi menggunakan metode heuristic salah satunya algoritma genetika.
2. Belum terencananya media yang terintegrasi sehingga mendapatkan Efesiensi waktu dan optimalisasi penjadwalan perkuliahan di Jurusan Teknik Elektro Universitas Mataram.
1.3. Batasan Masalah
Permasalahan yang dibahas dalam penelitian ini terbatas pada pokok pembahasan sebagai berikut:
1. Penjadwalan untuk perkuliahan ini akan dibuat hanya disesuaikan dengan kebutuhan Jurusan Teknik Elektro Universitas Mataram.
2. Data yang digunakan diperoleh dari Jurusan Teknik Elektro Universitas Mataram semester ganjil Tahun 2018-2019.
1.4. Tujuan Penelitian
Berdasarkan latar belakang yang dijabarkan, tujuan dari penelitian ini adalah:
1. Membuat sistem penjadwalan perkuliahan secara otomatis dengan menerapkan metode algoritma genetika
2. Membantu pihak admin Jurusan Teknik Elektro dalam membuat jadwal perkuliahan
1.5. Manfaat Penelitian
Penyusunan tugas akhir ini diharapkan dapat memberi manfaat sebagai berikut:
1. Menambah literasi Jurusan Teknik Elektro dalam melakukan penjadwalan kegiatan perkuliahan.
2. Mengetahui keberhasilan algoritma genetika sebagai metode heuristik dalam membuat jadwal.
3 1.6. Sistematika Penulisan
Untuk mencapai tujuan penelitian ini, maka sistematika penulisan yang disusun dalam tugas akhir ini adalah sebagai berikut:
BAB I PENDAHULUAN
Bab ini menjelaskan tentang latar belakang, rumusan masalah, tujuan, manfaat, batasan masalah, serta sistematika penulisan yang digunakan untuk menyusun laporan tugas akhir.
BAB II TINJAUAN PUSTAKA DAN DASAR TEORI
Bab ini berisikan teori-teori dasar atau penunjang yang diperoleh dari referensi yang dipublikasikan secara resmi dan berisi landasan teori yang nantinya digunakan sebagai referensi dan penunjang proses pembuatan tugas akhir.
BAB III METODE PENELITIAN
Bab ini berisi tentang Tempat Penelitian dan juga Pengumpulan data yang di butuhkan untuk melakukan penelitian ini. data – data tersebut adalah Data Mata Kuliah yang berupa nama dan jumlah SKS dan Semester diperuntukannya, Data dosen yang berupa nama dan Mata kuliah yg diajarkannya, dan data ruangan berupa nama dan lokasi
BAB IV HASIL DAN PEMBAHASAN
Pada bab ini berisi tentang hasil dari penelitian yang telah dilakukan, pengujian menggunakan metode algoritma genetika
BAB V PENUTUP
Pada bab ini berisi tentang kesimpulan dari penelitian yang telah dilakukan, beserta saran yang diharapkan bermanfaat dalam pengembangan penelitian ini
DAFTAR PUSTAKA
Bagian ini berisi sumber-sumber yang menjadi acuan dalam penulisan Tugas Akhir.
4
BAB II
TINJAUAN PUSTAKA DAN DASAR TEORI
2.1. Penelitian Yang Terkait
Beberapa penelitian yang terkait dengan penjadwalan dan algoritma genetika diantaranya penelitian yang dilakukan oleh Ferawaty, Evi (2010) dengan penelitiannya yang berjudul Optimasi Penjadwalan Mata Kuliah di Perguruan Tinggi Menggunakan Algoritma Genetika dari penelitian ini dihasilkan sebuah kesimpulan bahwa Penjadwalan mata kuliah pada perguruan tinggi menggunakan metode algoritma genetika ini menghasilkan jadwal baru yang layak dengan nilai fitness terbaik. Jadwal yang dihasilkan mendekati kondisi ideal yang diinginkan dengan jumlah penalti kendala hard sebesar 0 dan jumlah penalti kendala soft sebesar 8. Setelah Melakukan analisis Parameter Bahkan menjalakan Program dengan perangkat computer berbeda- beda tetap memberikan hasil yang sama. Hal ini berarti bahwa perangkat komputer yang digunakan dimanapun bisa dilakukan.
Aziz (2014) dengan penelitian yang berjudul Pemodelan Algoritma Genetika Pada Sistem Penjadwalan Perkuliahan Prodi Ilmu Komputer Universitas Lambung Mangkurat dari penelitian ini dapat ditarik kesimpulan secara teori bantuan Algoritma Genetika dalam penyusunan penjadwalan perkuliahan dapat digunakan. Dengan beberapa tahapan pengujian yang telah dilakukan didapatkan hasil terbaik dengan semua nilai fitness tiap generasi bernilai 1 dan, pemodelan AG ini dapat diterapkan pada sistem pendukung keputusan penjadwalan perkuliahan pada prodi Ilmu Komputer FMIPA UNLAM.
Silitonga dan Pasaribu (2016). Dengan penelitian berjudul Optimasi Penjadwalan Mata Kuliah Fakultas Ilmu Komputer Universitas Katolik Santo Thomas Sumatera Utara dengan Menggunakan Algoritma Genetika, Pada penelitian ini dilakukan pengembangan sistem aplikasi penjadwalan mata kuliah dengan mengimplementasikan algoritma genetika. Sebagai ujicoba kemampuan sistem yang dikembangkan untuk
pembuatan jadwal mata kuliah, digunakan data mata
kuliah pada Fakultas Ilmu Komputer Universitas Katolik Santo Thomas. Implementasi perangkat lunak yang dikembangkan, diujicobakan pada tiga kelompok data dengan
5 jumlah mata kuliah setiap kelompok data berbeda-beda. Dari uji coba ketiga kelompok
data didapatkan hasil yakni, algoritma genetika cukup baik digunakan sebagai algoritma membuat jadwal mata kuliah.
Putra Suwija (2018) dengan penelitian yang berjudul Penerapan Algoritma Genetika dan Implementasi Dalam MATLAB dari penelitian ini menghasilkan suatu kesimpulan bahwa Algoritma Genetika itu tidak harus membutuhkan waktu yang lama karena semua kemungkinan dicoba dan juga kan menghasilkan solusi lebih optimal pada setiap generasinya dan tergantung pada kriteria berakhirnya.
Tujuan dari peneletian ini yaitu : mengimplementasikan algoritma genetika dalam penjadwalan Perkuliahan, mengidentifikasi tingkat efektifitas yang dalam hal ini nilai fitness terbaik yang dihasilkan dalam implementasi algoritma genetika untuk penjadwalan perkuliahan dan efisiensi membuat jadwal perkuliahan dengan algoritma genetika dibandingkan dengan cara manual.
2.2. Algoritma Genetika
Algoritma Genetika diinspirasi dari teori-teori dalam bidang ilmu biologi, sehingga istilah dan konsep Evolusi biologi digunakan dalam AG. Sesuai dengan namanya, proses-proses dalam AG sama dengan apa yang terjadi dalam evolusi biologi.
1. Definisi Algoritma Genetika
Algoritma ini ditemukan di Universitas Michigan, Amerika Serikat oleh John Holland (1975) melalui sebuah penelitian dan dipopulerkan oleh salah satu muridnya, David Goldberg (1989). Dimana mendefinisikan algoritma genetik ini sebagai metode algoritma pencarian berdasarkan pada mekanisme seleksi alam dan gentetik alam.
Algoritma genetika adalah algoritma yang berusaha menerapkan pemahaman mengenai evolusi alamiah pada tugas-tugas pemecahan masalah (problem solving).
Pendekatan yang diambil oleh algoritma ini dengan menggabungkan secara acak berbagai pilihan solusi terbaik di dalam suatu kumpulan untuk mendapatkan generasi solusi terbaik berikutnya yaitu pada suatu kondisi yang memaksimalkan kecocokannya atau lazim disebut fitness. Generasi ini akan mempresentasikan perbaikan – perbaikan pada populasi awalnya. Dengan melakukan proses ini secara berulang, algoritma ini diharapkan dapat mensimulasikan proses evolusioner. Beberapa definisi penting dalam algoritma genetika, yaitu :
6 1. Genotype ( Gen) adalah sebuah nilai yang menyatakan satuan dasar yang
membentuk suatu arti tertentu. Dalam algoritma genetika, gen ini bisa berupa nilai biner, float, integer, maupun karakter.
2. Allel adalah nilai dari gen.
3. Kromosom adalah gabungan gen-gen yang membentuk nilai tertentu.
4. Individu menyatakan suatu nilai atau keadaan yang menyatakan salah satu solusi yang mungkin dari permasalahan yang diangkat.
5. Populasi merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus evolusi.
6. Generasi menyatakan satu-satuan siklus proses evolusi.
7. Nilai Fitness menyatakan seberapa baik nilai dari suatu individu atau solusi yang didapatkan.
Gambar 2.1 Definisi penting di Algoritma Genetika
7 2. Dekode Kromosom
Dekode kromosom merupakan suatu cara pengkodean isi kromosom menjadi suatu nilai tertentu yang mana hasil dekodenya mewakili tiap variabel dan terdiri dari beberapa jumlah bit yang ada. Hal ini dilakukan guna untuk merepresentasikan sifat genotip dan fenotip yang ada dari suatu populasi. Sifat genotip dari populasi ini dilambangkan sebagai suatu deret biner yang ada pada kromosom, sedangkan sifat fenotipnya merupakan nilai hasil dekode dari kromosom yang ada. Sifat genotip ini dipakai saat pada proses pindah silang, mutasi, maupun tindakan genetis lainnya.
Sedangkan sifat fenotip digunakan untuk mengetahui nilai mutu atau kualitas dari kromosom.
Pada umumnya dikenal dengan beberapa contoh skema pengkodean kromosom, yaitu antara lain :
a. Real Number Encoding, pada skema ini nilai gen berapa pada {x I 0<x<1,xER(+)},yang mana berarti nilai gen x terletak dimana x terletak diantara 0 sampai dengan 1, dimana x berupa elemen bilangan real positif, dan biasanya R=1.
b. Discrete Decimal Encoding, pada skema pengkodean ini setiap gen bernilai salah satu bilangan bulat dalam interval 0 sampai dengan 9, {x I 0<x<9,xEB}
c. Binary Encoding, pada skema pengkodean ini setiap gen bernilai 1 dan 0
3. Nilai Fitness
Pada tiap generasi, Kromosom akan melalui proses evaluasi dengan menggunakan alat ukur yang dinamakan fitness. Nilai fitness suatu kromosom akan menggambarkan kualitas kromosom dalam populasi tersebut. Proses ini akan mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Bila kriteria berhenti belum terpenuhi maka akan dibentuk lagi generasi baru dengan mengulang langkah dekode kromosom. Beberapa kriteria berhenti sering digunakan antara lain: berhenti pada generasi tertentu , berhenti setelah dalam beberapa generasi berturut-turut didapatkan nilai fitness tertinggi tidak berubah, berhenti dalam n generasi tidak didapatkan nilai fitness yang lebih tinggi.
8 Fungsi fitness tersebut sebagai berikut :
Fitness = 𝟏
𝟏 𝒙 𝑷𝒆𝒏𝒂𝒍𝒕𝒊 + 𝟏
( 2.1)
Dimana : Penalti : Bentrok antara waktu, hari, dosen, ruangan,
Dari persamaan diatas nilai fitness ditentukan oleh nilai penalti Tersebut menunjukan jumlah pelanggaran kendala pada suatu kromosom. Semakin tinggi nilai fitness akan semakin besar kemungkinan kromosom itu terpilih ke generasi berikutnya.
Jadi nilai penalti berbanding terbalik dengan nilai fitness, semakin kecil nilai penaliti (Jumlah Pelanggaran) semakin besar nilai fitnessnya.
4. Seleksi
Seleksi bertujuan memberikan kesempatan reproduksi yang lebih besar lagi anggota populasi yang paling fit. Langkah pertama dalam seleksi ini adalah mencari nilai fitness. Masing – masing individu dalam suatu wadah seleksi akan menerima probabilitas reproduksi yang tergantung pada nilai objektif diri sendiri terhadap nilai objektif dari semua individu dalam wadah seleksi tersebut. Nilai fitness inilah yang nantinya akan digunakan pada tahap seleksi berikutnya (Kusumadewi, 2003)
Kemampuan Algoritma genetika ini untuk memproduksi kromosom yang lebih baik secara progresif tergantung pada penekanan selektif yang di terapkan pada populasi. Penekanan selektif dapat diterapkan dalam dua cara. Cara pertama adalah membuat banyak kromosom anak yang dipelihara dalam populasi dan memilih hanya kromosom–kromosom terbaik generasi berikut. Cara berikutnya menerapkan penekanan selektif adalah memilih orang tua yang lebih baik ketika membuat keturunan baru. Dengan metode ini, hanya kromosom banyak yang dipelihara dalam populasi yang perlu dibuat bagi generasi berikutnya. Walaupun penekanan selektif tidak diterapkan ke level keturunan, metode ini akan terus menghasilkan kromosom yang lebih baik, karena adanya penekanan selektif yang di terapkan ke orang tua.
9 5. Crossover
Crossover (perkawinan silang) bertujuan menambah keanekaragaman string dalam populasi dengan penyilangan antar-string yang diperoleh dari sebelumnya. Beberapa jenis crossover tersebut adalah:
1. Crossover1-titik
Pada crossover dilakukan dengan memisahkan suatu string menjadi dua bagian dan selanjutnya salah satu bagian dipertukarkan dengan salah satu bagian dari string yang lain yang telah dipisahkan dengan cara yang sama. Proses yang demikian dinamakan operator crossover satu titik.
Kromosom Orangtua 1 11001011
Kromosom Orangtua 2 11011111
Keturunan 11011111
Gambar 2.2 Contoh crossover 1-Titik 2. Crossover 2- Titik
Proses crossover ini dilakukan dengan memilih dua titik crossover.
Kromosom keturunan kemudian dibentuk dengan barisan bit dari awal kromosom sampai titik crossover pertama disalin dari orangtua pertama, bagian dari titik crossover pertama dan kedua disalin dari orangtua kedua, kemudian selebihnya disalin dari orangtua pertama lagi.
Kromosom Orangtua 1 11001011
Kromosom Orangtua 2 11011111
Keturunan 11011111
Gambar 2.3 Contoh crossover 2- Titik 3. Crossover Seragam
Crossover seragam manghasilkan kromosom keturunan dengan menyalin bit-bit secara acak dari kedua orangtuanya.
Kromosom Orangtua 1 11001011
Kromosom Orangtua 2 11011111
Keturunan 11011111
Gambar 2.4 Contoh crossover Seragam
10 6. Mutasi
Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam suatu kromosom. Operasi crossover yang dilakukan pada kromosom dengan tujuan untuk memperoleh kromosom-kromosom baru sebagai kandidat solusi pada generasi mendatang denga fitness yang lebih baik, dan lama-kelamaan menuju solusi optimum yang diinginkan. Akan tetapi, untuk mencapai hal ini, penekanan selektif juga memegang peranan yang penting. Jika dalam proses pemilihan kromosom-kromosom cenderung pada kromosom yang memiliki fitness yang tinggi saja, konvergensi premature, yaitu mencapai solusi yang optimal lokal sangat mudah terjadi.
Untuk menghindari konvergensi premature tersebut dan tetap menjaga perbedaan (diversity) kromosom-kromosom dalam populasi, selain melakukan penekanan selektif yang lebih efisien, operator mutasi juga dapat digunakan Proses mutasi dalam system biologi berlangsung dengan mengubah isi allele gen pada suatu locus dengan allele yang lain. Proses mutasi ini bersifat acak sehingga tidak selalu menjamin bahwa setelah proses mutasi akan diperoleh kromosom dengan fitness yang lebihbaik. Operator mutasi merupakan operasi yang menyangkut satu kromosomtertentu. Beberapa cara operasi mutasi diterapkan dalam algoritma genetikmenurut jenis pengkodean terhadap phenotype, antara lain:
a. Mutasi dalam Pengkodean Biner
Mutasi pada pengkodean biner merupakan operasi yang sangat sederhana. Proses yang dilakukan adalah menginversi nilai bit pada posisi tertentu yang terpilih secara acak (atau menggunakan skema tertentu) pada kromosom, yang disebut inverse bit.
Kromosom sebelum mutasi 10010111 Kromosom setelah mutasi 10010011 Gambar 2.5 Contoh Mutasi Dalam Pengkodean Biner b. Mutasi Dalam Pengkodean Permutasi
Proses mutasi yang dilakukan dalam pengkodean biner dengan mengubah langsung bit-bit pada kromosom tidak dapat dilakukan pada pengkodean permutasi karena konsistensi urutan permutasi harus
11 diperhatikan. Salah satu cara yang dapat dilakukan adalah dengan
memilih dua posisi (locus) dari kromosom dan kemudian nilainya saling dipertukarkan.
Kromosom sebelum mutasi 1 2 3 4 6 5 8 7 9 Kromosom setelah mutasi 1 2 7 4 6 5 8 3 9 Gambar 2.6 Contoh Mutasi Dalam Pengkodean Permutasi
c. Mutasi Dalam Pengkodean Nilai
Mutasi pada pengkodean nilai hampir sama dengan yang dilakukan pada pengkodean biner, tetapi yang dilakukan bukan menginversi nilai bit.
Penerapannya bergantung pada jenis nilai yang digunakan. Sebagai contoh untuk nilai riil, proses mutasi dapat dilakukan seperti yang dilakukan pada pengkodean permutasi, dengan saling mempertukarkan nilai dua gen pada kromosom.
d. Mutasi Dalam Pengkodean Pohon
Mutasi dalam pengkodean pohon dapat dilakukan antara lain dengan cara mengubah operator (+, -, *, /) atau nilai yang terkandung pada suatu verteks pohon yang dipilih. Atau, dapat juga dilakukan dengan memilih dua verteks dari pohon dan saling mempertukarkan operator ataunilainya.
Tidak setiap gen selalu dimutasi tetapi mutasi dikontrol dengan probabilitas tertentu yang disebut dengan mutation rate (probabilitas mutasi) dengan notasi Pm.
7. Elitisme
Karena seleksi dilakukan secara random, maka tidak ada jaminan bahwa suatu individu bernilai fitness tertinggi akan selalu terpilih. Kalaupun individu bernilai fitness tertinggi terpilih, mungkin saja individu tersebut akan rusak (nilai fitness-nya menurun) karena proses pindah silang. Untuk menjaga agar individu bernilai fitness tertinggi tersebut tidak hilang selama evolusi, maka perlu dibuat satu atau beberapa kopinya.
Prosedur ini disebut sebagai elitisme.
12 8. Pergantian Populasi
Dalam algoritma genetika dikenal skema penggantian populasi yang disebut general replacement, yang berarti semua individu (misal N individu dalam satu populasi). Skema penggantian ini tidak realistis dari sudut pandang biologi. Di dunia nyata, individu-individu dari generasi berbeda bisa berada dalam waktu yang bersamaan. Fakta lainnya adalah individu-individu muncul dan hilang secara konstan, tidak pada generasi tertentu. Terdapat beberapa prosedur penghapusan individu, yaitu penghapusan individu yang bernilai fitness paling rendah atau penghapusan individu yang paling tua. Penghapusan bisa berlaku hanya pada individu orang tua saja atau bisa juga berlaku pada semua individu dalam populasi.
13 2.3. Flowchart Algoritma Genetika
Gambar 2.7 Flowchart Algoritma Genetika
14
BAB III
METODE PENELITIAN
3.1. Metode Penelitian
Metode Penelitian yang dilakukan adalah sistem yang akan dikembangkan untuk penjadwalan mata kuliah ini menggunakan algoritma genetika, dimana proses penjadwalannya dilakukan secara Acak dan otomatis. Bila terjadi tabrakan jadwal, algoritma genetika dikembangkan akan mencari secara otomatis dan terus menerus sampai jadwal yang di dapat paling optimal.
3.2. Lokasi Penelitian
Penelitian ini dilaksanakan di Jurusan Teknik Elektro, Fakultas Teknik, Universitas Mataram Jalan Majapahit No.62, Gomong, Kecamatan Selaparang, Kota Mataram, Provinsi Nusa Tenggara Barat.
3.3. Peralatan Penunjang
Perangkat keras yang digunakan pada penelitian ini adalah : 1. Laptop dengan Spesifikasi
Processor : Intel® Core™ i7-8550U CPU @ 1.80 GHz 1,99 GHz RAM : 8,00 GB
2. Microsoft Office 2010 digunakan untuk penulisan dan penyusunan laporan 3. Program Python IDLE 3.8 (32 bit ) digunakan untuk melakukan proses
penjadwalan secara otomatis menggunkan algoritma genetika
4. Program Microsoft Office Visio 2007 digunakan untuk melakukan pembuatan diagram-diagram pada laporan
3.4. Langkah – Langkah Penelitian
Langkah–langkah penelitian yang di gunakan dalam penelitian ini secara sistematis dapat dilihat pada Gambar 3.1 dengan uraian sebagai berikut :
3.4.1 Pengindentifikasian Permasalahan dan Membangun Ide
Pada tahap pertama, dilakukan pencarian untuk diangkat, baik dari pencarian
15 pada situs-situs internet, jurnal, maupun buku.
3.4.2 Studi Literatur Dasar Teori Penelitian
Dilakukan studi literatur untuk menentukan landasan teori yang berhubungan dengan topik penelitian ini sebagai dasar dalam pelaksanaan penelitian. Landasan teori ini kemudian akan dijadikan acuan dalam pelaksanaan tugas akhir. Adapun landasan teori yang terkait dengan penelitian ini diantaranya adalah teori algoritma genetika.
3.4.3 Perumusan Masalah
Berdasarkan identifikasi masalah dan studi literatur teori, dapat dirumuskan masalah dalam penelitian ini, yaitu perlu dilakukannya. Optimasi jadwal mata kuliah pada perguruan tinggi yang dapat diaplikasikan pada perguruan tinggi manapun.
3.4.4 Penentuan Topik Penelitian
Adapun topik dari penelitian ini adalah Penjadwalan Perkuliahan Menggunakan Algoritma Genetika di Jurusan Teknik Elektro Universitas Mataram
3.4.5 Penentuan Tujuan Penelitian
Adapun tujuan penelitian ini adalah membuat dan mengaplikasikan algoritma genetika dalam penjadwalan perkuliahan di Jurusan Teknik Elektro Universitas Mataram secara Efisien.
3.4.6 Pengumpulan Data
Dalam melakukan penelitian ini, data yang dibutuhkan adalah : 1. Data Nama Dosen
Data dosen digunakan untuk melihat hubungan antar mata kuliah yang satu dan yang lain. Mata kuliah diajarkan oleh dosen tidak boleh sama saat yang bersamaan untuk menghindarin bentrok, jika bentrok terjadi mata kuliah tersebut harus diganti pada waktu yang lain . Data digunakan dalam penelitian ini berupa nama dosen yang mengajar di Jurusan Teknik Elektro UNRAM pada perkuliahan Semester Ganjil dapat dilihat pada tabel berikut
16
Tabel 3.1 Data Dosen dan Mata kuliah diajarkan Pada Semester Ganjil Tahun 2018/2019 di Jurusan Teknik Elektro Universitas Mataram
No Nama Dosen Mata Kuliah
1 A. Sjamsjiar Rachman, ST., MT.
Dasar Elektronika B Matematika Diskrit Rangkaian Listrik I
2 Abdul Natsir, ST., MT
Bahan Listrik B AI Dalam STL Pembangkit Tenaga Listrik 3 Abdullah Zainuddin ST., MT Transmisi Gel. Elektromagnetik
4 Agung Budi Muljono, ST., MT
Dasar Tenaga Listrik C Ekonomi Teknik A Transmisi Tenaga Listrik 5 Bagdawansyah Al Qadri S.Pd., M.Pd Pancasila dan Kewarganegaraan
6 Budi Dermawan, ST., MT
Dasar Elektronika C Elektronika Analog Sistem Mikroprosesor B
7 Bulkis Kanata, ST., MT
Jaringan Syaraf Tiruan Matematika Teknik I A Pengolahan Citra Digital
8 Cahyo Mustiko O. M, ST., MSc ., Ph.D
Antena dan Propagasi Elektromagnetik Lanjut
Telemetri
9 Cipta Ramadhani, ST., M.Eng
Gambar Teknik A Gambar Teknik B Pemograman Berorientasi Obyek 10 Djulfikry Budiman, ST., MT Sistem Mikroprosesor A
11 Dr. I Made Ginarsa, ST., MT
Pengukuran Besaran Listrik Pra Tugas Akhir D
Sistem SCADA 12 Dr. Ida Ayu Sri Adnyani, ST., M.Erg Probabilitas Dan Statistika
Ekonomi Teknik B
13 Dr.Misbahuddin, ST.,MT
Algoritma dan Genetika A Dasar Teknologi Informasi A Konsep Sains dan Teknologi B
Pra Tugas Akhir B 14 Dr. Rismon H.Sianipar, ST., M.Eng Proyek Perangkat Lunak 15 Dr. Rer.Nat . Teti Zubaidah,ST.,MT Fisika I A
Pra Tugas Akhir A
16 Drs.Udin, M.Pd Bahasa Inggris Akademik A
Bahasa Inggris Akademik B 17 Giri Wahyu Wiriasto, ST.,MT Algoritma dan Genetika B
Rekayasa Perangkat Lunak
17
Sistem Informasi Manajemen
18 I Ketut Wiryajati,ST.,MT Sistem Kendali A
Sistem Mikroprosesor 19 I Made Ari Nratha,ST.,MT Analisa Sistem Tenaga I
Manajemen Sistem Tenaga
20 I Made Budi Suksmadana, ST., MT
Elektronika Digital
Teknik Interfacing dan Sistem Embedded
21 I Nyoman Wahyu S., ST., MSc,.Ph.D
Elektronika Daya Rangkaian Listrik II
Sistem Kendali B 22 Ida Bagus Fery Citarsa, ST., MT Dasar Tenaga Listrik B
Mesin Listrik I 23 Lalu A. Syamsul Irfan Akbar, ST.,M.Eng Basis Data A
Dasar Teknologi Informasi B
24 Made Sutha Yadnya,ST.,MT
Fisika I B
Pengukuran Sistem Telekomunikasi Sistem Komunikasi
25 Muhammad Irwan, ST ., MT
Instrumentasi Biomedis Logika Fuzzy Piranti Mikroelektronika 26 Muh.Syamsu Iqbal,ST.,MT.,Ph.D Jaringan Telekomunikasi
Pra Tugas Akhir C 27 Ni Made Seniari, ST.,MT Pengukuran Besaran Listrik B
Rangkaian Listrik I A
28 Paniran,ST.,MT
Dasar Elektronika A Perancangan Sistem Elektronika
Rangkaian Elektronika
29 Sabar Nababan,ST.,MT Kalkulus I B
Rangkaian Listrik I B
30 Sudi M.Al Sasongko,ST., MT
Kalkulus I A Proses Stokastik Rekayasa Trafik
31 Sultan,ST.,MT Bahan Listrik A
Pengukuran Besaran Listrik C
32 Supriono,ST.,MT Matematika Teknik I B
Teknik Kendali Digital
33 Supriyatna,ST.,MT
Dasar Teknik Listrik A Konsep Sains dan Teknologi A
Proteksi Sistem Tenaga 34 Suthami Ariessaputra,ST.,M.Eng Agama Islam A
Agama Islam B
18
35 Syafaruddin Ch, ST., MT Matematika Teknik I C
2. Data Mata kuliah
Data mata kuliah yang digunakan dalam penelitian ini berdasarkan kurikulum Fakultas Teknik UNRAM. Semua mata kuliah yang diajarkan dikelompokkan menurut semester , dan semua kuliah wajib beserta jumlah sks mata kuliah. Susunan mata kuliah yang diajarkan pada semester ganjil pada Jurusan Teknik Elektro UNRAM dapat dilihat di tabel
Tabel 3.2. Data Mata Kuliah wajib Semester Ganjil Pada Jurusan Teknik Elektro UNRAM Semester I
No. Kode Nama Mata Kuliah SKS
1 ES1101 Agama 2
2 ES1102 Bahasa Inggris Akademik 2
3 ES1103 Fisika I 3
4 ES1104 Kalkulus I 3
5 ES1105 Bahan Listrik 2
6 ES1106 Konsep Sains dan Teknologi 2
7 ES1107 Gambar Teknik 2
8 ES1108 Dasar Teknologi Informasi 3
Jumlah 19
Semester III
No. Kode Nama Mata Kuliah SKS
18 ES2118 Matematika Teknik I 3
19 ES2119 Probabilitas dan Statistik 2
20 ES2120 Prak. Fisika 1
21 ES2121 Rangkaian Listrik II 3
22 ES2122 Pengukuran Besaran Listrik 2 23 ES2123 Prak. Pengukuran Besaran Listrik 1
24 ES2124 Dasar Elektronika 3
25 ES2125 Dasar Tenaga Listrik 3
26 ES2126 Prak. Dasar Telekomunikasi 1
Jumlah 19
Semester V
No. Kode Nama Mata Kuliah SKS
1 ES3137 Ilmu Sosial Budaya Dasar 2
2 ES3138 Sistem Mikroprosesor 3
3 ES3139 Sistem Kendali 3
4 ES3140 Prak. Sistem Kendali 1
Jumlah 9
Semester VII
No. Kode Nama Mata Kuliah SKS
1 ES4142 Pancasila dan Kewarganegaraan 2
2 ES4143 Praktek Kerja Lapangan 2
3 ES4144 Pra Tugas Akhir 2
19
Jumlah 6
Tabel 3.3. Data Mata Kuliah Konsentrasi wajib Semester Ganjil Pada Jurusan Teknik Elektro UNRAM
Sistem Tenaga Listrik
No Nama Mata Kuliah SKS
1 Pembangkit Tenaga Listrik 2
2 Elektronika Daya 2
3 Mesin Listrik I 3
4 Analisis Sistem Tenaga I 3
5 Proteksi Sistem Tenaga 2
6 Transmisi Tenaga Listrik 2
7 Manajemen Operasi Sistem Tenaga 2
Elektronika
No Nama Mata Kuliah SKS
1
Teknik Interfacing dan Sistem
Embedded 3
2 Rangkaian Elektronika 3
3 Elektronika Digital 2
4 Teknik Kendali Digital 2
5 Elektronika Analog 2
6 Perancangan Sistem Elektronika 3
7 Piranti Mikroelektronika 2
Telekomunikasi
No Nama Mata Kuliah SKS
1 Sistem Telekomunikasi 3
2 Jaringan Telekomunikasi 3
3 Transmisi Gel.Elektromagnetik 3
4 Rekayasa Trafik 2
5 Antena dan Propagasi 2
6 Pengukuran Sistem telkomunikasi 3
7 Elektromagnetik Lanjut 2
Informatika
No Nama Mata Kuliah SKS
1 Matematika Diskrit 3
2 Basis Data 3
3 Pemograman Berorientasi Obyek 2
4 Rekayasa Perangkat Lunak 2
5 Sistem Informasi Manajemen 2
20 Tabel 3.4. Data Mata Kuliah Konsentrasi Pilihan Semester Ganjil Pada Jurusan Teknik Elektro
UNRAM Sistem Tenaga Listrik
No Nama Mata Kuliah SKS
1 AI Dalam STL 2
2 Sistem SCADA 2
3. Data Ruang Kuliah
Ruang kegiatan perkuliahan di Jurusan Teknik Elektro bisa dilihat pada tabel 3.5 yang berisi nama ruangan dan lokasi ruang
Tabel 3.5. Data Ruangan Pada Jurusan Teknik Elektro UNRAM
No Nama Ruangan Lokasi
1 Studio Gedung B
2 D2 Gedung B
3 Lab. Informatika Gedung B
4 Lab. Kendali Gedung B
5 Lab. ELKA Gedung B
6 Lab. Telkomunikasi Gedung B
7 Lab. Listrik Dasar Gedung B
8 Lab.STL Gedung B
9 E Gedung C
10 F Gedung C
Elektronika
No Nama Mata Kuliah SKS
1 Logika Fuzzy 2
2 Instrumentasi Biomedis 2
3 Jaringan Syaraf Tiruan 2
4 Pengolahan Citra Digital 2
Telekomunikasi
No Nama Mata Kuliah SKS
1 Telemetri 2
2 Pengolahan Citra Digital 2
3 Jaringan Syaraf Tiruan 2
Informatika
No Nama Mata Kuliah SKS
1 Proyek Perangkat Lunak 2
2 Pengolahan Citra 2
3 Pemograman Platform Independen 2
21
11 I Gedung C
4. Data Waktu Perkuliahan
Data Waktu untuk melakukan pengalokasian selama senin sampai jumat waktu sesuai dengan jumlah sks mata kuliah tersebut yang di jelaskan pada Tabel 3.4
Tabel 3.6. Data Waktu Perkuliahan Pada Jurusan Teknik Elektro UNRAM
Jam Waktu
1 07.30 - 08.10 2 08.10 - 08.50 3 09.00 - 09.40 4 09.40 - 10.20 5 10.30 - 11.10 6 11.10 - 11.50 7 13.00 – 13.40 8 13.40 – 14.20 9 14.25 – 15.05 10 15.05 – 15.45 11 16.00 – 16.40 12 16.40 – 17.20 3.4.7 Pengolahan Data
Pada tahapan ini, dilakukan pengolahan data dari data yang sudah diperoleh.
Pengolahan data ini dilakukan dengan membuat matrik-matrik yang memperlihatkan hubungan antar variabel yang ingin diteliti. tersebut akan digunakan sebagai input bagi pembuatan model penjadwalan.
3.4.8 Pemodelan Penjadwalan Perkuliahan Pada Jurusan Teknik Elektro UNRAM Menggunakan Algoritma Genetika
Setelah pemantapan studi terhadap dasar teori dan pengolahan data, maka dapat dibuat penjadwalan dengan menggunakan algoritma genetika di perangkat lunak Python IDLE 3.8 (32 bit ) , yaitu dengan merangkai kode-kode logika
22 pemrograman yang dapat mengaplikasikan algoritma genetika
3.5 Pengalokasian Kelas
Setelah pengumpulan kelas data selesai dilakukan, data-data tersebut dihubungkan untuk membuat hubungan data yang dibutuhkan penelitian ini.
3.6 Hubungan Antara Dosen , dan Mata kuliah
Dalam hal seperti ini hubungan dosen dan mata kuliah sangat harus diperhatikan dalam penjadwalan secara otomatis dan melakukan semua secara acak jadi , dalam melakukan proses algoritma genetika ini yang tidak dilakukan secara acak adalah dosen dan mata kuliah yang dimana sudah diatur dosen dengan mata kuliah yang diajar.
23 3.7. Diagram Blok Metode Penilitan
Gambar 3.1 Diagram Blok Metode Penelitian
24
BAB IV
HASIL DAN PEMBAHASAN
4.1. Implementasi Algoritma Genetika
Pengembangan pembuatan penjadwalan dengan metode algoritma genetika, melakukan tahapan dalam pembuatan penjadwalan perkuliahan di Jurusan Teknik Elektro Universitas Mataram , Pertama dilakukan Analisis permasalahan bertujuan untuk mengetahui permasalahan yang ada pada sistem penjadwalan di Jurusan Teknik Elektro Universitas Mataram, terbatasnya ruangan yang berjumlah 11 ruang , jumlah dosen yang tersedia 35 orang dan waktu perkuliahan selama 5 hari yakni senin dan sampai dengan jumat dan dimulai dari pukul 07.30 WITA sampai dengan 17.40 WITA , dan mata kuliah sebanyak 82 mata kuliah sudah termasuk mata kuliah wajib semua , mata kuliah wajib konsentrasi , mata kuliah konsentrasi pilihan, kendala tersebut proses perkuliahan sering terganggu karena banyaknya jadwal yang bentrok.
Hasil dari analisis permasalahan diatas dijadikan data awal untuk mencari solusi agar pejadwalan perkuliahan dapat dibentuk dengan menggunakan algoritma genetika, harus diperhatikan :
1. Dosen dan mata kuliah tidak bisa diacak karena sudah menjadi kesatuan 2. Tidak ada dosen yang mengajar dalam hari, waktu, dan ruangan yang sama 3. Mata kuliah 3 sks harus dalam 1 hari dan waktu yang sama
Setelah memperhatikan tiga poin penting diatas yang diperlukan untuk mendapatkan solusi yang diinginkan penjadwalan dengan menggukan algoritma genetika
25 4.2. Pengujian Algoritma Genetika
Permasalahan penjadwalan perkuliahan pada perguruan tinggi adalah kurang optimalnya penjadwalan yang dihasilkan karena banyak bentrok mata kuliah dengan ketersediaan ruang kelas tidak sesuai dengan beban mahasiswa, maka dari pada itu mencoba penyelesaian dengan menggunakan algoritma genetik karena sebagai metode heuristik yang dimaksudkan adalah dengan meminimalisasi bentrok dalam penjadwalan, maka dilakukan penelitian dengan menggunakan algoritma genetika yang akan dibuat dengan bantuan perangkat lunak python IDLE 3.8. dan berikut langkah- langkah dalam membuat algoritma genetika untuk penjadwalan perkuliahan dan juga analisis metode , parameter dan hasil yang digunakan dalam pembuatan jadwal perkuliahan menggunakan algoritma genetika :
1. Menentukan Parameter atau variabel yang digunakan seperti : ukuran populasi, probabilitas mutasi.
2. Inisialisasi yaitu merupakan proses yang melakukan pembentukan populasi awal atau bisa dikatakan dengan melakukan pembentukan kromosom acak karena menggunakan operator genetika, berikut representasi kromosom secara acak yang digunakan dalam program python :
Tabel 4.1. Representasi Kromosom
1…83 1…35 1….11 1….5 1…12
Mata Kuliah Dosen Ruangan Hari Waktu
Setelah melakukan representasi kromosom diatas algoritma genetika baru dilakukan ketahap selanjutnya, sangat perlu diperhatikan adalah yang diberi tanda dengan warna merah , mata kuliah dan dosen adalah satu kesatuan yang tidak bisa diacak oleh fungsi dari algoritma genetika.
3. Evaluasi individu yaitu fase dimana proses ini akan menghitung nilai fitness dari setiap kromosom yang telah dibangkitkan secara acak pada tahap inisialisasi ditahap awal. Nilai setiap fitness dari setiap kromosom dihitung berdasarkan nilai konflik dari masing – masing gen.
4. Nilai Fitness adalah komponen yang menjadi parameter jadwal, semakin bagus nilai fitness yang dihasilkan populasi tersebut semakin bagus yang dihasilkan, jika
26 nilai fitness tidak sesuai atau bagus dimana ada konflik terjadi antara gen yang
terdapat pada kromosom yang di bentuk. Dimana nilai fitness yang digunakan
𝟏
𝟏𝒙𝑲𝒐𝒏𝒇𝒍𝒊𝒌+𝟏 nilai ditambahkan 1 supaya menghindari hasil tidak terhingga ketika Fitness = 0 yaitu kondisi dimana tidak adanya pelanggaran atau pinalti dalam solusi.
5. Crossover atau pindah silang adalah salah satu komponen algoritma genetika yang berfungsi untuk mendapatkan solusi dengan melakukan pindah silang dari dua buah kromosom atau yang biasa di sebut orang tua (Parents) yang mempunyai nilai fitness didapat dari evaluasi individu ini dipindah silang orang tua 1(parents 1) dan orang tua 2 (parents 2) untuk mendapatkan nilai fitness yang lebih bagus lagi dari parents 1 dan 2 , hasil dari pindah silang kedua orang tua (parents) akan mengahasilkan anak (Child) atau solusi yang memiliki nilai bagus dari orang tua (Parents).
6. Mutasi yaitu operator dalam algoritma genetika yang bertujuan untuk merubah gen –gen tertentu dari sebuah kromosom. Mutasi ini berperan untuk mengganti gen yang hilang dari populasi tersebut akibat dari seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi.
7. Syarat berhenti yaitu jika setelah beberapa generasi berturut-turut tidak mengalami perubahan kembali, atau dengan kata lain solusi tidak memiliki bentrok dengan nilai fitness = 1 , maka diambil calon solusi dengan nilai fitness terbaik untuk membentuk suatu jadwal perkuliahan.
4.2.1. Analisis Metode
Prinsip dasar dari algoritma genetika adalah menggunakan evolusi yang dikemukakan oleh Darwin, yaitu yang kuat akan bertahan, sedangkan individu lemah akan musnah. Untuk mendapatkan populasi awal dilakukan secara acak , selanjutnya individu mengalami kawin silang dan mutasi yang lagi dipilih secara acak dengan membandingkan sesame bilangan acak yang dihasilkan oleh proses sebelumnya.
Apabila bilangan acak hasil sebelumnya itu lebih kecil dari probabilitas mutasi akan dihilangkan ditambah dengan titik mutasi yang ditentukan secara acak. Proses ini yang akan membuat perbedaan urutan jadwal setiap kali run dilakukan . jadi proses kombinasi parameter menjadi bagian terpenting, karena setiap melakukan penjadwalan
27 membutuhkan konfigurasi yang tepat untuk mendapat jadwal yang stabil sesuai yang
diinginkan. Penggunaan algoritma genetika dalam menyelesaikan masalah dengan solusi yang mendekati optimal, dan juga memungkinkan memberikan jadwal yang tidak stabil atau tidak dapat solusi yang diinginkan.
4.2.2. Analisis Parameter
Analisa ini dapat ditentukan dengan melakukan beberapa percobaan dengan mengganti parameter-parameter yang telah kita tentukan sebelum diuji. Parameter- parameter yang menghasilkan nilai fitness yang terbaik akan digunakan seterusnya dalam program dibuat. Parameter –parameter yang akan diuji terdiri dari ukuran populasi, dan probabilitas mutasi, pengujian dilakukan dengan mengganti parameter satu per satu. Berikut hasil pengujian dari pergantian parameter :
Tabel 4.2. Data Hasil Kombinasi Parameter Ukuran
Populasi
Probabilitas Mutasi
Jumlah
Generasi Nilai Fitness Waktu Komputasi
10 0,2
578692 0,345 49 menit
434526 0,564 34 menit
291216 0,753 45 menit
195542 0,467 57 menit
215343 0,556 39 menit
100 0,5
63728 0,08553 47 menit
29543 0,04326 55 menit
57734 0,04198 44 menit
12342 0,05299 52 menit
23345 0,03571 58 menit
1000 0,7
3628 0,05821 63 menit
3824 0,03126 59 menit
6798 0,02267 68 menit
5644 0,00153 77 menit
6745 0,03016 65 menit
28 Setelah melakukan kombinasi parameter dengan terus menaikkan nilai
dari jumlah populasi dan nilai probabilitas mutasi. Hasil yang didapatkan dari kombinasi parameter yang dilakukan pada Tabel 4.1 dapat disimpulkan : 1. Dalam kombinasi parameter, nilai dari ukuran populasi dan probabilitas
mutasinya terus dinaikkan dengan melakukan 5 kali percobaan, dan didapatkan hasil yaitu generasi yang besar,dan waktu komputasi cepat dengan semakin kecilnya jumlah populasi dan probabilitas mutasinya begitupun sebaliknya semakin besar nilai populasi dan probabilitasnya hasil dari generasi kecil dan membutuhkan waktu komputasi yang lama 2. Komputasi dengan ukuran populasi = 10, probabilitas mutasi = 0,2
didapatkan rata-rata waktu komputasi sebanyak 5 percobaan yaitu 45 menit, dan ukuran populasi = 100, probabilitas mutasi = 0,5 didapatkan rata-rata waktu komputasi sebanyak 5 kali percobaan yaitu 51 menit, sedangkan untuk ukuran populasi = 100, probabilitas mutasi = 0,7 didapatkan rata-rata waktu komputasi sebanyak 5 kali percobaan yaitu 66 menit.
3. Perubahan probabilitas mutasi yang dirubah makin besar dalam 3 kali percobaan kombinasi didapatkan hasil walaupun sebenarnya nilai probabilitas mutasi besar belum tentu bisa menjamin hasil lebik baik, dan probabilitas mutasi juga tidak berpengaruh terhadap lamanya komputasi 4. Waktu rata – rata yang dibutuhkan untuk melakukan komputasi program
adalah 162 menit yang merupakan waktu program melakukan komputasi sampai mendapatkan nilai fitness yang terbaik
Setelah melakukan kombinasi parameter dapat diambil kesimpulan bahwa ukuran populasi = 10 dengan probabilitas mutasi = 0,2 dengan hasil generasi = 291216 memiliki nilai fitness = 0,753 yang mendekati dengan solusi yang diinginkan
29 4.2.3. Analisis Hasil
Pada tahap analisis sebelumnya telah dijelaskan cara membuat penjadwalan perkuliahan dengan menggunakan algoritma genetika dan pada analisis hasil ini akan dijelaskan bagaimana cara mendapatkan nilai yang tertera pada gambar berikut :
Gambar 4.1 Proses mencari nilai fitness terbaik
Pada Gambar 4.1 adalah gambar diatas adalah salah satu proses pencarian solusi dalam melakukan penjadwalan, dimana disetiap generasi memliki nilai fitness yang berbeda. Sebagai contoh ada dua macam generasi dengan nilai fitness berbeda dan juga jumlah konflik yang berbeda , karena dalam program melakukan proses crossover, mutasi, dan seleksi terjadi pada gen –gen tiap 83 kromosom yang ada di setiap populasi.
30
Pembangkitan Kromosom secara Acak
Hasil Crossover
Hasil Mutasi
Gambar 4.2 Ilustrasi Crossover dan Mutasi kromosom dalam 1Populasi
Penjelasan gambar diatas adalah proses crossover dan Mutasi yang terjadi pada kromosom- kromosom yang membentuk suatu populasi(schedule) yang tediri dari 5 gen, tetapi gen yang diacak adalah waktu , ruang, hari. Dikarenakan dosen dan mata kuliah dihitung menjadi satu kesatuaan yang tidak dapat diacak. Jadi yang dipindah silang adalah 3 gen yang dapat dirubah secara acak, sedangkan kondisi mutasi dilakukan dengan memilih dua mata kuliah berbeda dari hasil pindah silang dan kemudian bertukar dengan dua mata kuliah sebelumnya.
DATA
31 Generasi 0
Populasi 0
83 Kromosom dengan 5 Gen (Jadwal Selama Senin – Jumat ) Populasi 1
Jadwal 1 Populasi 2
Jadwal 2 Populasi 3
Jadwal 3 Populasi 4
Jadwal 4
Populasi 5 .. 9
Gambar 4.3 Ilustrasi Crossover dan Mutasi populasi (schedule) dalam 1Generasi Penjelasan gambar diatas adalah bahwa dalam program melakukan proses crossover dan mutasi kepada semua populasi (schedule) yang ada pada generasi itu, jadi sebagai contoh populasi 2 dan 3 di lakukan proses Crossover dan mutasi pada kromosom yang memiliki nilai fitness tinggi dan yang mengalami bentrok akan di seleksi atau dengan kata lain di gugurkan jadi sebuah solusi dan di ganti dengan hasil crossover dan mutasi yang telah dilakukan antara dua populasi ( Schedule).
Karena dalam sekali generate dapat membuat banyak solusi jadwal diperkecil dengan melewati tahapan crossover dan mutasi, tetapi nilai konfliknya akan mengecil seiring dengan semakin banyaknya generate yang dilakukan program. Dalam program tidak
32 diatur batas generate jadi selama setiap masih ada bentrok atau nilai fitnessnya belum
bernilai 1, program akan terus melakukan generate.
Selanjutnya pada Gambar 4.3 Merupakan Generate dengan memiliki nilai fitness yang bernilai 1, jadi proses generate selesai dan akan menampilkan solusi jadwal yang dibuat oleh algoritma genetika .
Gambar 4.4 Hasil Generasi terbaik dengan nilai fitness 1.0
Setelah Penjelasan tentang perubahan nilai fitness dan jumlah konflik yang terjadi pada setiap generasi, sekarang Pada gambar 4.2 diatas adalah generasi yang memiliki nilai fitness bernilai 1 karena tidak ada lagi konflik. Di setiap Populasi ( schedule) atau calon solusi memiliki nilai fitness yang berbeda – beda dan juga konfliknya jadi diambil pada contoh pada Populasi 9 (schedule 9) untuk mengetahui yang dimaksud dengan konfliknya adalah :
Kromosom 1
Dosen Mata kuliah Hari Waktu Ruang
ASR 1 Senin P02 3
Kromosom 2 - 13
ASR 2 Senin P01 5