• Tidak ada hasil yang ditemukan

PENJADWALAN PERKULIAHAN MENGGUNAKAN ALGORITMA GENETIKA DI JURUSAN TEKNIK ELEKTRO UNIVERSITAS MATARAM

N/A
N/A
Malik Zuman

Academic year: 2023

Membagikan "PENJADWALAN PERKULIAHAN MENGGUNAKAN ALGORITMA GENETIKA DI JURUSAN TEKNIK ELEKTRO UNIVERSITAS MATARAM"

Copied!
67
0
0

Teks penuh

(1)

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

(2)

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

(3)

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

(4)

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

(5)

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

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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.

(15)

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.

(16)

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.

(17)

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

(18)

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 :

(19)

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

(20)

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.

(21)

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.

(22)

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

(23)

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

(24)

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.

(25)

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.

(26)

13 2.3. Flowchart Algoritma Genetika

Gambar 2.7 Flowchart Algoritma Genetika

(27)

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

(28)

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

(29)

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

(30)

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

(31)

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

(32)

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

(33)

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

(34)

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

(35)

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.

(36)

23 3.7. Diagram Blok Metode Penilitan

Gambar 3.1 Diagram Blok Metode Penelitian

(37)

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

(38)

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

(39)

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

(40)

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

(41)

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

(42)

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.

(43)

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

(44)

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

(45)

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

Gambar

Gambar 2.1 Definisi penting di Algoritma Genetika
Gambar 2.2 Contoh crossover 1-Titik  2.  Crossover 2- Titik
Gambar 2.3 Contoh crossover 2- Titik  3.  Crossover Seragam
Gambar 2.7 Flowchart Algoritma Genetika
+7

Referensi

Garis besar

Dokumen terkait

Penjadwalan produksi pada penelitian ini dilakukan dengan menggunakan dua metode metaheuristik, yaitu metode particle swarm optimization algorithm dan algoritma genetika..