Aplikasi penjadwalan mata kuliah menggunakan algoritma genetika : studi kasus Program Studi Pendidikan Guru Sekolah Dasar (PGSD) Universitas Sanata Dharma.

(1)

x

DAMAI KURNIA ADHI. Aplikasi Penjadwalan Mata Kuliah Menggunakan Algoritma Genetika (Studi Kasus : Program Studi Pendidikan Guru Sekolah Dasar (PGSD) Universitas Sanata Dharma). Dibimbing oleh Puspaningtyas Sanjoyo Adi, S.T., M.T.

Penjadwalan matakuliah merupakan pekerjaan rutin dalam kegiatan sistem akademik di Universitas. Dalam pelaksanaanya, seringkali jadwal yang telah dibuat tidak sesuai dengan yang diharapkan. Pada dasarnya dalam menentukan jadwal mata kuliah perlu diatur sedemikian rupa sehingga semua mahasiswa dapat mengikuti mata kuliah yang diambilnya tanpa bertabrakan dengan mata kuliah lain dan sesuai dengan jam dosen tersebut mengajar. Penyusunan Jadwal matakuliah perlu mempertimbangkan aturan – aturan tertentu. Apabila dalam penyusunan jadwal masih menggunakan cara manual, waktu yang dibutuhkan untuk menyelesaikan juga akan lebih banyak.

Penjadwalan matakuliah merupakan kombinasi dari hari, ruang, dan waktu terhadap kuliah dengan mempertimbangkan aturan tertentu dalam program studi. Algoritma Genetika digunakan sebagai pendekatan permasalahan yang ditemukan pada penjadwalan matakuliah. Dalam mencari solusi permasalahan, Algoritma Genetika menerapkan sistem sekelsi alam. Tujuan penelitian ini adalah merancang Algoritma Genetika dalam menyusun jadwal matakuliah dan mengukur tingkat keberhasilan pemetaan jadwal matakuliah menggunakan algoritma genetika.

Tahapan proses dalam Algoritma Genetika terdiri dari populasi awal, evaluasi fitness kromosom (jadwal kuliah), dan operator genetika yaitu crossover dan mutasi. Dari penelitian yang dilakukan, didapatkan hasil bahwa pembuatan jadwal matakuliah menggunakan Algoritma genetika dapat berjalan dengan baik dalam meminimalisir penggunaan ruang. Berkaitan dengan penerapan jumlah kromosom dalam Algoritma Genetika, semakin banyak jumlah kromosom dalam satu populasi maka penyelesaian pembuatan jadwal matakuliah jauh lebih cepat.


(2)

xi

ABSTRACT

DAMAI KURNIA ADHI. Application Of Scheduling Courses with Genetic Algorithm (Case Study : Primary School Teacher Education Study Program Sanata Dharma University). Mentored by Puspaningtyas Sanjoyo Adi, S.T., M.T.

Scheduling courses is routine work in the academic activities at the University. In the implementation, often schedules that have been made are not as expected. In determining the schedule of courses should be so arranged that all students can follow the courses he had taken without colliding with other course and in accordance with the teaching lecturer hours. Preparation of scheduling courses need to consider the certain rules. If in the preparation of the schedule is still using the manual method, the time it takes to complete will also be more.

Scheduling course is a combination of day, rooms, and time to lecture by considering certain rules in the study program. Genetic Algorithm is used as an approach to the problems found in the course scheduling. In searching for solutions to problems, Genetic Algorithm applying natural selection system. The purpose of this research is to design Genetic Algorithm to build scheduling courses and measure the success rate of the course schedule mapping using Genetic Algorithms.

Step of the process of Genetic Algorithm consists of initial population, fitness evaluation (class schedule), and genetic operators, are crossover and mutation. From the research conducted, showed that creating scheduling courses using Genetic Algorithm can work well in minimizing the use rooms. Related with the implementation of the number of chromosomes in a Genetic Algorithm, the more the number of chromosomes in the population of the completion of the course scheduling much faster.


(3)

i

APLIKASI PENJADWALAN MATA KULIAH MENGGUNAKAN ALGORITMA GENETIKA

(Studi Kasus : Program Studi Pendidikan Guru Sekolah Dasar (PGSD) Universitas Sanata Dharma)

SKRIPSI

Ditujukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

HALAMAN JUDUL

Disusun Oleh : Damai Kurnia Adhi

105314024

PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA


(4)

ii

APPLICATION OF SCHEDULING COURSES WITH GENETIC ALGORITHM

(Case Study : Primary School Teacher Education Study Program Sanata Dharma University)

A THESIS

Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Komputer Degree In Department of Informatics Engineering

By :

Damai Kurnia Adhi NIM : 105314024

INFORMATICS ENGINEERING STUDY PROGRAM DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY

YOGYAKARTA 2014


(5)

iii


(6)

iv


(7)

(8)

vi

HALAMAN PERSEMBAHAN

Karya tulis ini kupersembahkan untuk:

Ayah dan Ibuku tercinta yang selalu memberikan doa, kepercayaan dan dukungan yang sangat berarti untukku.

Kedua adikku yang kukasihi yang selalu memberikan semangat motivasi untuk terus berusaha mendapatkan hasil yang terbaik.


(9)

vii

HALAMAN MOTTO

“Berbahagialah orang yang membawa damai, karena mereka akan disebut anak-anak Allah” - Matius 5:9

"Barangsiapa setia dalam perkara-perkara kecil, ia setia juga dalam perkara-perkara besar. Dan barangsiapa tidak benar dalam perkara-perkara kecil, ia tidak benar juga dalam perkara-perkara

besar." - Lukas 16:10

“Karena itu, saudara-saudaraku yang kekasih, berdirilah teguh, jangah goyah, dan giatlah selalu dalam pekerjaan Tuhan! Sebab kamu tahu, bahwa dalam persekutuan dengan Tuhan jerih

payahmu tidak sia-sia” – 1 Korintus 15:58

“Dan segala sesuatu yang kamu lakukan dengan perkataan atau perbuatan, lakukanlah semuanya itu dalam nama Tuhan Yesus, sambil mengucap syukur oleh Dia kepada Allah, Bapa Kita” –

Kolose 3:17

"Karena aku senang dan rela di dalam kelemahan, di dalam siksaan, di dalam kesukaran, di dalam penganiayaan dan kesesakan oleh karena Kristus. Sebab jika aku lemah, maka aku kuat." -

2 Korintus 12:10

"Hendaklah kamu selalu rendah hati, lemah lembut, dan sabar. Tunjukkanlah kasihmu dalam hal saling membantu." - Efesus 4:2

“Banyak kegagalan dalam hidup ini dikarenakan orang-orang tidak menyadari betapa dekatnya mereka dengan keberhasilan saat mereka menyerah”. - Thomas Alva Edison


(10)

viii


(11)

ix


(12)

x

ABSTRAKSI

DAMAI KURNIA ADHI. Aplikasi Penjadwalan Mata Kuliah Menggunakan Algoritma Genetika (Studi Kasus : Program Studi Pendidikan Guru Sekolah Dasar (PGSD) Universitas Sanata Dharma). Dibimbing oleh Puspaningtyas Sanjoyo Adi, S.T., M.T.

Penjadwalan matakuliah merupakan pekerjaan rutin dalam kegiatan sistem akademik di Universitas. Dalam pelaksanaanya, seringkali jadwal yang telah dibuat tidak sesuai dengan yang diharapkan. Pada dasarnya dalam menentukan jadwal mata kuliah perlu diatur sedemikian rupa sehingga semua mahasiswa dapat mengikuti mata kuliah yang diambilnya tanpa bertabrakan dengan mata kuliah lain dan sesuai dengan jam dosen tersebut mengajar. Penyusunan Jadwal matakuliah perlu mempertimbangkan aturan – aturan tertentu. Apabila dalam penyusunan jadwal masih menggunakan cara manual, waktu yang dibutuhkan untuk menyelesaikan juga akan lebih banyak.

Penjadwalan matakuliah merupakan kombinasi dari hari, ruang, dan waktu terhadap kuliah dengan mempertimbangkan aturan tertentu dalam program studi. Algoritma Genetika digunakan sebagai pendekatan permasalahan yang ditemukan pada penjadwalan matakuliah. Dalam mencari solusi permasalahan, Algoritma Genetika menerapkan sistem sekelsi alam. Tujuan penelitian ini adalah merancang Algoritma Genetika dalam menyusun jadwal matakuliah dan mengukur tingkat keberhasilan pemetaan jadwal matakuliah menggunakan algoritma genetika.

Tahapan proses dalam Algoritma Genetika terdiri dari populasi awal, evaluasi fitness kromosom (jadwal kuliah), dan operator genetika yaitu crossover dan mutasi. Dari penelitian yang dilakukan, didapatkan hasil bahwa pembuatan jadwal matakuliah menggunakan Algoritma genetika dapat berjalan dengan baik dalam meminimalisir penggunaan ruang. Berkaitan dengan penerapan jumlah kromosom dalam Algoritma Genetika, semakin banyak jumlah kromosom dalam satu populasi maka penyelesaian pembuatan jadwal matakuliah jauh lebih cepat.


(13)

xi

ABSTRACT

DAMAI KURNIA ADHI. Application Of Scheduling Courses with Genetic Algorithm (Case Study : Primary School Teacher Education Study Program Sanata Dharma University). Mentored by Puspaningtyas Sanjoyo Adi, S.T., M.T.

Scheduling courses is routine work in the academic activities at the University. In the implementation, often schedules that have been made are not as expected. In determining the schedule of courses should be so arranged that all students can follow the courses he had taken without colliding with other course and in accordance with the teaching lecturer hours. Preparation of scheduling courses need to consider the certain rules. If in the preparation of the schedule is still using the manual method, the time it takes to complete will also be more.

Scheduling course is a combination of day, rooms, and time to lecture by considering certain rules in the study program. Genetic Algorithm is used as an approach to the problems found in the course scheduling. In searching for solutions to problems, Genetic Algorithm applying natural selection system. The purpose of this research is to design Genetic Algorithm to build scheduling courses and measure the success rate of the course schedule mapping using Genetic Algorithms.

Step of the process of Genetic Algorithm consists of initial population, fitness evaluation (class schedule), and genetic operators, are crossover and mutation. From the research conducted, showed that creating scheduling courses using Genetic Algorithm can work well in minimizing the use rooms. Related with the implementation of the number of chromosomes in a Genetic Algorithm, the more the number of chromosomes in the population of the completion of the course scheduling much faster.


(14)

xii

KATA PENGATAR

Puji dan syukur kepada Tuhan Yang Maha Esa yang telah mengaruniakan kasih karunia kepada hambaNya sehingga penulis dapat menyelesaikan tugas akhir ini.

Dalam proses penulisan tugas akhir ini ada begitu banyak pihak yang telah memberikan bantuan dan perhatian kepada saya sehingga tugas akhir ini dapat terselesaikan. Oleh karena itu penulis mengucapkan terima kasih diantaranya kepada :

1. Ibu P.H. Prima Rosa, S.Si., M.Sc. selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

2. Ridowati Gunawan, S.Kom., M.T. selaku Kaprodi Teknik Informatika Universitas Sanata Dharma.

3. Bapak Puspaningtyas Sanjoyo Adi, S.T., M.T. selaku dosen pembimbing tugas akhir yang telah banyak memberikan bimbingan dan masukkan dalam penyusunan tugas akhir ini.

4. Bapak Alb. Agung Hadhiatma, S.T., M.T. dan Bapak Eko Hari Parmadi, S.Si., M.Kom. selaku panitia penguji yang telah memberikan kritik dan saran untuk tugas akhir ini.

5. Ayah, Ibu, dan kedua Adikku tercinta yang sudah memberikan semangat, cinta, dan kasih sayang, serta doa sehingga penulis dapat menyelesaikan tugas akhir ini.

6. Seluruh staff dosen Teknik Informatika Universitas Sanata Dharma yang telah memberikan bekal ilmu kepada penulis selama penulis menempuh


(15)

xiii studi.

7. Putri Emilia Yusuf yang sudah memberikan semangat dan doa kepada penulis. Terima kasih atas kesabaran yang diberikan hingga penulis dapat menyelesaikan tugas akhir ini.

8. Keluarga besar Mbah Marto Darsono yang telah memberikan semangat serta doa hingga penulis dapat menyelesaikan tugas akhir ini. Terima kasih khususnya kepada Mbah Marto Darsono yang secara terus-menerus memberikan doa kepada cucu-cucunya hingga menjadi orang yang berhasil.

9. Teman seperjuangan skripsi penjadwalan matakuliah PGSD, Antonius Rianditya Putra, H. Roy Wiranata, dan Aweng yang telah membantu penulis dalam memberikan saran dan kritik terhadap dokumen dan program penulis.

10. Bapak Kartono, Kristopel, Agustinus Dwi, Tomi, Dita, Eko, Mas Yanuar, dan Theo yang telah memberikan semangat, bantuan, ide, masukkan, dan kritik yang membangun selama hingga penyelesaian skripsi ini.

11. Mas Arif dan Risko yang telah membantu meminjamkan perlengkapan sidang tugas akhir penulis.

12. Seluruh Staff Sekretariat Fakultas Sains dan Teknologi yang banyak membantu penulis dalam urusan administrasi akademik terutama menjelang tugas akhir dan yudisium.

13. Teman-teman seperjuangan Jurusan Teknik Informatika angkatan 2010. 14. Semua pihak yang turut membantu penulisan baik secara langsung


(16)

xiv

maupun tidak langsung, yang tidak dapat penulis sebutkan satu persatu. Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih jauh dari sempurna, oleh karena itu kritik dan masukkan saran untuk perbaikkan tugas akhir ini sangat penulis harapkan. Akhir kata semoga tugas akhir ini dapat bermanfaat bagi semua pihak. Terima Kasih.

Yogyakarta, Desember 2014 Penulis,


(17)

xv

DAFTAR ISI

HALAMAN JUDUL ... i

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN ... iv

PERNYATAAN KEASLIAN KARYA ... v

HALAMAN PERSEMBAHAN ... vi

HALAMAN MOTTO ... vii

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH viii LEMBAR PERNYATAAN PERSETUJUAN PENYERAHAN PERANGKAT LUNAK ... ix

ABSTRAKSI ... x

ABSTRACT ... xi

KATA PENGATAR ... xii

DAFTAR ISI ... xv

DAFTAR GAMBAR ... xviii

DAFTAR TABEL ... xxi

BAB I ... 1

PENDAHULUAN ... 1

1.1. Latar Belakang Masalah ... 1

1.2. Rumusan Masalah ... 3

1.3. Tujuan ... 3

1.4. Batasan Masalah... 3

1.5. Metodologi Penelitian ... 4

1.6. Sistematika Penulisan ... 5

BAB II ... 7

LANDASAN TEORI ... 7

2.1. Penjadwalan Matakuliah ... 7

2.2. Algoritma Genetika ... 7

2.2.1. Alur Dasar Algoritma Genetika ... 8

2.2.2. Kromosom ... 9


(18)

xvi

2.2.2.2. Pengkodean Bilangan Bulat. ... 11

2.2.2.3. Pengkodean Struktur Data. ... 11

2.2.3. Operator Algoritma Genetika ... 12

2.2.3.1. Seleksi ... 12

2.2.3.2. Perkawinan Silang (Crossover) ... 13

2.2.3.3. Mutasi ... 15

BAB III ... 17

ANALISIS DAN PERANCANGAN ... 17

3.1. Latar Belakang Masalah ... 17

3.2. Analisis Permasalahan ... 18

3.2.1. Analisis Algoritma Genetika Pada Penjadwalan ... 19

3.2.1.1. Perancangan Populasi Awal Penjadwalan ... 20

3.2.1.2. Evaluasi Fitness Pada Penjadwalan ... 26

3.2.1.3. Proses Regenerasi Pada Penjadwalan ... 35

3.3. Perancangan Proses ... 40

3.3.1. Spesifikasi Kebutuhan Perangkat Keras dan Perangkat Lunak .... 40

3.3.2. Use Case... 41

3.3.3. Perancangan Basisdata ... 51

3.3.3.1. ER Diagram ... 51

3.3.4. UML ... 51

3.3.5. Diagram Kelas Analisis ... 62

BAB IV ... 63

IMPLEMENTASI DAN ANALISA HASIL ... 63

4.1. IMPLEMENTASI PROGRAM ... 63

4.1.1. Progress Bar ... 63

4.1.2. Form Utama (Home) ... 63

4.1.3. Form Matakuliah ... 64

4.1.3.1. Simpan Matakuliah ... 64

4.1.3.2. Ubah Matakuliah... 65

4.1.3.3. Hapus Matakuliah ... 67

4.1.3.4. Upload Data Matakuliah ... 69


(19)

xvii

4.1.4.1. Simpan Dosen ... 70

4.1.4.2. Ubah Dosen ... 72

4.1.4.3. Hapus Dosen ... 73

4.1.4.4. Upload Data Dosen ... 74

4.1.5. Form Ruang ... 76

4.1.5.1. Simpan Ruang ... 76

4.1.5.2. Ubah Ruang ... 78

4.1.5.3. Hapus Ruang ... 79

4.1.5.4. Upload Data Ruang ... 80

4.1.6. Form Kelas Kuliah... 82

4.1.7. Form Penjadwalan ... 84

4.1.7.1. Membuat Kelas Permintaan ... 85

4.1.7.2. Penjadwalan ... 88

4.2. PENGUJIAN PROGRAM ... 92

4.2.1. Pengujian Program Terhadap Nilai Fitness, Waktu, dan Panjang Kromosom ... 92

4.2.2. Pengujian Program Terhadap Penggunaan Ruang ... 103

BAB V ... 109

PENUTUP ... 109

5.1. KESIMPULAN ... 109

5.2. SARAN ... 109

DAFTAR PUSTAKA ... 111


(20)

xviii

DAFTAR GAMBAR

Gambar 1-1 Definisi Kromosom ... 10

Gambar 1-2 Contoh Pengkodean Biner ... 11

Gambar 1-3 Contoh Pengkodean Bulat ... 11

Gambar 1-4 Contoh One Point Crossover ... 14

Gambar 1-5 Contoh Two Point Crossover ... 14

Gambar 1-6 Contoh Uniform Crossover ... 15

Gambar 1-7 Contoh Mutasi ... 15

Gambar 3. 1 Flowchart Algoritma Genetika ... 20

Gambar 3. 2 Pemetaan Ruang dalam Kromosom ... 21

Gambar 3. 3 Ilustrasi Pemetaan Kromosom 1 ... 23

Gambar 3. 4 Pemetaan Kromosom 2 ... 24

Gambar 3. 5 Pemetaan Populasi ... 25

Gambar 3. 6 Algoritma prosesRandom() ... 26

Gambar 3. 7 Flowchart Evaluasi Fitness ... 27

Gambar 3. 8 Algoritma Method eksekusiAturan ... 29

Gambar 3. 9 Algoritma HC2 (cekDosen) ... 31

Gambar 3. 10 Algoritma HC3 (cekMatakuliah) ... 32

Gambar 3. 11 Algoritma HC4 (cekJumlahMatakuliah) ... 33

Gambar 3. 12 Algoritma HC5 (cekDosenMengajar) ... 35

Gambar 3. 13 Flowchart Roulette Wheel Selection ... 36

Gambar 3. 14 Flowchart Crossover ... 37

Gambar 3. 15 Ilustrasi Crossover ... 38

Gambar 3. 16 Ilustrasi Mutasi Replace Duplikat ... 39

Gambar 3. 17 Use Case Diagram ... 41

Gambar 3. 18 ER Diagram ... 51

Gambar 3. 19 UML Kelas Dosen ... 51

Gambar 3. 20 UML Kelas Kromosom ... 52

Gambar 3. 21 UML Kelas Populasi ... 53

Gambar 3. 22 UML Kelas Pelanggaran ... 54

Gambar 3. 23 UML Kelas Genetika ... 55

Gambar 3. 24 UML Kelas Dosen ... 56

Gambar 3. 25 UML Kelas KelasKuliah ... 57

Gambar 3. 26 UML Kelas Matakuliah ... 57

Gambar 3. 27 UML Kelas Ruang ... 58

Gambar 3. 28 UML Kelas TabelPermintaan ... 58

Gambar 3. 29 UML Kelas Koneksi ... 59

Gambar 3. 30 UML Kelas DosenKontrol ... 59

Gambar 3. 31 UML Kelas MatakuliahKontrol ... 60

Gambar 3. 32 UML KelasMatkulKontrol ... 61


(21)

xix

Gambar 3. 34 UML Kelas RuangKontrol ... 62

Gambar 3. 35 Diagram Kelas Analisis ... 62

Gambar 4. 1 Tampilan Progress Bar... 63

Gambar 4. 2 Tampilan Home ... 63

Gambar 4. 3 Tampilan Form Matakuliah ... 64

Gambar 4. 4 Tampilan Form Matakuliah (Isian) ... 65

Gambar 4. 5 Tampilan Pesan Berhasil (Insert Matakuliah) ... 65

Gambar 4. 6 Tampilan Form Matakuliah (Tabel) ... 65

Gambar 4. 7 Tampilan Form Matakuliah 2 ... 66

Gambar 4. 8 Tampilan Form Matakuliah (label Edit) ... 66

Gambar 4. 9 Tampilan Pesan Berhasil dirubah (Matakuliah) ... 66

Gambar 4. 10 Tampilan Form Matakuliah (Tabel Matakuliah) ... 67

Gambar 4. 11 Tampilan Form Matakuliah (Hapus Matakuliah) ... 67

Gambar 4. 12 Pesan Konfirmasi Hapus ... 68

Gambar 4. 13 Pesan Matakuliah Berhasil Dihapus ... 68

Gambar 4. 14 Tabel Matakuliah (Setelah dihapus) ... 68

Gambar 4. 15 Tabel Format Pengisian data Matakuliah (Excel) ... 69

Gambar 4. 16 Tampilan FileChooser (matakuliah) ... 69

Gambar 4. 17 Pesan Konfirmasi Upload Matakuliah ... 70

Gambar 4. 18 Tampilan Form Dosen ... 70

Gambar 4. 19 Tampilan Form Dosen (Label) ... 71

Gambar 4. 20 Pesan Konfirmasi (Dosen) ... 71

Gambar 4. 21 Tampilan Form Dosen (Tabel Dosen) ... 71

Gambar 4. 22 Tampilan Form Dosen ... 72

Gambar 4. 23 Tampilan Form Dosen (Label) 2 ... 72

Gambar 4. 24 Pesan Konfirmasi 2 ... 73

Gambar 4. 25 Tampilan Form Dosen (Tabel Dosen) 2... 73

Gambar 4. 26 Tampilan Form Dosen (Label) 3 ... 74

Gambar 4. 27 Konfirmasi Hapus Dosen ... 74

Gambar 4. 28 Pesan Berhasil Hapus Dosen ... 74

Gambar 4. 29 Format Excel Dosen ... 75

Gambar 4. 30 Tampilan JFileChooser Dosen ... 75

Gambar 4. 31 Pesan berhasil Upload ... 76

Gambar 4. 32 Tampilan Form Ruang ... 76

Gambar 4. 33 Tampilan Form Ruang (Label) ... 77

Gambar 4. 34 Pesan Berhasil Tambah Ruang ... 77

Gambar 4. 35 Tampilan Form Ruang (Label) 2 ... 77

Gambar 4. 36 Tampilan Form Ruang 2 ... 78

Gambar 4. 37 Tampilan Form Ruang (Label) ... 78

Gambar 4. 38 Pesan Berhasil dirubah (ruang) ... 79

Gambar 4. 39 Tabel Ruang 2... 79

Gambar 4. 40 Tampilan Form Ruang 3 ... 79


(22)

xx

Gambar 4. 42 Pesan Ruang Berhasil dihapus ... 80 Gambar 4. 43 Tabel Ruang 3... 80 Gambar 4. 44 Format Tabel Excel Ruang ... 81 Gambar 4. 45 Tampilan FIleChooser Ruang ... 81 Gambar 4. 46 Pesan Upload Ruang Berhasil ... 82 Gambar 4. 47 Tampilan Form Kelas Kuliah ... 82 Gambar 4. 48 Tampilan Buat Kelas Kuliah ... 83 Gambar 4. 49 Tampilan Konfirmasi pembuatan kelas kuliah ... 83 Gambar 4. 50 Tampilan Form Kelas Kuliah (terisi kelas kuliah) ... 83 Gambar 4. 51 Tampilan tambah dosen kelas kuliah ... 84 Gambar 4. 52 Pesan Berhasil menambah dosen ... 84 Gambar 4. 53 Tampilan Form Penajdwalan ... 85 Gambar 4. 54 Tampilan Pencarian Dosen ... 85 Gambar 4. 55 Tampilan Form Penjadwalan 2 ... 86 Gambar 4. 56 Tampilan Pencarian Matakuliah ... 86 Gambar 4. 57 Tampilan Form Penjadwalan 3 ... 87 Gambar 4. 58 Pesan Konfirmasi Penambahan kelas permintaan ... 87 Gambar 4. 59 Tampilan Form Penjadwalan (Tabel permintaan) ... 87 Gambar 4. 60 Tampilan Form Penjadwalan 4 ... 88 Gambar 4. 61 Pesan Data Permintaan ... 88 Gambar 4. 62 Tampilan Proses Pembuatan Jadwal ... 88 Gambar 4. 63 Pesan Konfirmasi Jadwal ... 89 Gambar 4. 64 Tampilan Jadwal Matakuliah (Per semester) ... 89 Gambar 4. 65 Pesan Cetak Berhasil ... 89 Gambar 4. 66 Tampilan Cek file jadwal seluruh semester ... 90 Gambar 4. 67 Tampilan Rancangan Jadwal PGSD ... 90 Gambar 4. 68 Tampilan Jadwal Matakuliah (Dosen) ... 91 Gambar 4. 69 Pesan Cetak Berhasil ... 91 Gambar 4. 70 Tampilan Cek file jadwal dosen ... 91 Gambar 4. 71 Tampilan Rancangan Jadwal PGSD (Dosen) ... 92 Gambar 4. 72 Grafik Hasil ujicoba Fitness 0 ... 102 Gambar 4. 73 Grafik Perbandingan Jadwal Manual dan 12 Ruang ... 105 Gambar 4. 74 Grafik Perbandingan Jadwal Manual dan 10 Ruang ... 106 Gambar 4. 75 Grafik Perbandingan Jadwal Manual dan 8 Ruang ... 108


(23)

xxi

DAFTAR TABEL

Tabel 3. 1 Tabel Penerapan Algoritma Genetika dalam Penjadwalan ... 19 Tabel 3. 2 Tabel Pengelompokan Jam ... 21 Tabel 3. 3 Tabel Aturan Penjadwalan Matakuliah ... 27 Tabel 3. 4 Narasi Tambah Matakuliah ... 41 Tabel 3. 5 Narasi Rubah Matakuliah ... 42 Tabel 3. 6 Narasi Hapus Matakuliah ... 42 Tabel 3. 7 Narasi Tambah Ruang ... 43 Tabel 3. 8 Narasi Rubah Ruang ... 44 Tabel 3. 9 Narasi Hapus Ruang ... 44 Tabel 3. 10 Narasi Tambah Dosen ... 45 Tabel 3. 11 Narasi Rubah Dosen ... 45 Tabel 3. 12 Narasi Hapus Dosen ... 46 Tabel 3. 13 Narasi Buat Kelas Kuliah... 46 Tabel 3. 14 Narasi Buat Kelas Permintaan ... 48 Tabel 3. 15 Narasi Penjadwalan ... 50 Tabel 4. 1 Tabel Ujicoba Kromosom 4 Fitness 5 ... 93 Tabel 4. 2 Tabel Ujicoba Kromosom 4 Fitness 3 ... 94 Tabel 4. 3 Tabel Ujicoba Kromosom 4 Fitness 0 ... 94 Tabel 4. 4 Tabel Ujicoba Kromosom 10 Fitness 5 ... 95 Tabel 4. 5 Tabel Ujicoba Kromosom 10 Fitness 3 ... 96 Tabel 4. 6 Tabel Ujicoba Kromosom 10 Fitness 0 ... 97 Tabel 4. 7 Tabel Ujicoba Kromosom 16 Fitness 5 ... 98 Tabel 4. 8 Tabel Ujicoba Kromosom 16 Fitness 3 ... 99 Tabel 4. 9 Tabel Ujicoba Kromosom 16 Fitness 0 ... 100 Tabel 4. 10 Tabel Rangkuman Kromosom 4 ... 101 Tabel 4. 11 Tabel Rangkuman Kromosom 10 ... 101 Tabel 4. 12 Tabel Rangkuman Kromosom 16 ... 101 Tabel 4. 13 Tabel Rangkuman Fitness 0 ... 102 Tabel 4. 14 Tabel Persentase Penggunaan Ruang Jadwal Manual ... 104 Tabel 4. 15 Tabel Persentase Penggunaan 12 Ruang ... 104 Tabel 4. 16 Tabel Persentase Penggunaan 10 Ruang ... 106 Tabel 4. 17 Tabel Persentase Penggunaan 8 Ruang ... 107 Tabel 5. 1 Tabel Matakuliah ... 112 Tabel 5. 2 Tabel Dosen... 113 Tabel 5. 3 Tabel Ruang ... 114 Tabel 5. 4 Tabel Kelas Kuliah ... 115 Tabel 5. 5 Tabel Permintaan Kelas ... 120 Tabel 5. 6 Hasil Jadwal K16F5 Ujicoba No 1 ... 122 Tabel 5. 7 Hasil Jadwal K16F3 Ujicoba No 15 ... 132


(24)

xxii

Tabel 5. 8 Hasil Jadwal K16F0 Ujicoba No 1 ... 142 Tabel 5. 9 Jadwal Manual PGSD Semester 1A ... 153 Tabel 5. 10 Jadwal Manual PGSD Semester 1B ... 154 Tabel 5. 11 Jadwal Manual PGSD Semester 1C... 156 Tabel 5. 12 Jadwal Manual PGSD Semester 1D... 157 Tabel 5. 13 Jadwal Manual PGSD Semester 1E ... 159 Tabel 5. 14 Jadwal Manual PGSD Semester 3A ... 161 Tabel 5. 15 Jadwal Manual PGSD Semester 3B ... 162 Tabel 5. 16 Jadwal Manual PGSD Semester 3C... 164 Tabel 5. 17 Jadwal Manual PGSD Semester 3D... 165 Tabel 5. 18 Jadwal Manual PGSD Semester 3E ... 167 Tabel 5. 19 Jadwal Manual PGSD Semester 5A ... 169 Tabel 5. 20 Jadwal Manual PGSD Semester 5B ... 170 Tabel 5. 21 Jadwal Manual PGSD Semester 5C... 172 Tabel 5. 22 Jadwal Manual PGSD Semester 5D... 174 Tabel 5. 23 Jadwal Manual PGSD Semester 5E ... 176 Tabel 5. 24 Jadwal Manual PGSD Semester 7A ... 178 Tabel 5. 25 Jadwal Manual PGSD Semester 7B ... 179 Tabel 5. 26 Jadwal Manual PGSD Semester 7C... 181 Tabel 5. 27 Jadwal Manual PGSD Semester 7D... 182 Tabel 5. 28 Jadwal Manual PGSD Semester 7E ... 184 Tabel 5. 29 Jadwal Manual PGSD Semester 7F ... 185 Tabel 5. 30 Jadwal Hasil Ujicoba Program PGSD 12 Ruang No 1 ... 188 Tabel 5. 31 Jadwal Hasil Ujicoba Program PGSD 10 Ruang No 1 ... 195 Tabel 5. 32 Jadwal Hasil Ujicoba Program PGSD 8 Ruang No 1 ... 202


(25)

1

BAB I

PENDAHULUAN

1.1. Latar Belakang Masalah

Penjadwalan mata kuliah merupakan pekerjaan rutin dalam kegiatan sistem akademik di Universitas. Dalam menyusun matakuliah terdapat berbagai jenis komponen yang diperlukan, diantaranya Mata kuliah, Dosen mengajar, ruang dan waktu. Penjadwalan mata kuliah dilakukan setiap semester. Dalam pelaksanaanya, seringkali jadwal yang telah dibuat tidak sesuai dengan yang diharapkan. Hal – hal yang mendukung bisa dikarenakan dosen yang melebihi batas mengajar, kesibukan dosen terhadap kepentingannya, jadwal mahasiswa yang bertabrakan, adanya dosen pengajar dari luar kampus, dan lain lain. Pada dasarnya dalam menentukan jadwal mata kuliah perlu diatur sedemikian rupa sehingga semua mahasiswa dapat mengikuti mata kuliah yang diambilnya tanpa bertabrakan dengan mata kuliah lain dan sesuai dengan jam dosen tersebut mengajar.

Penyusunan Jadwal matakuliah perlu mempertimbangkan aturan – aturan tertentu. Aturan tersebut antara lain : tidak adanya dosen yang mengajar dua atau lebih matakuliah di jam yang sama, satu ruang hanya dapat diisi oleh 1 matakuliah di jam tertentu, penggunaan ruang lab hanya untuk kelas praktikum, dan lain lain. Apabila dalam penyusunan jadwal masih menggunakan cara manual, waktu yang dibutuhkan untuk menyelesaikan juga akan lebih banyak. Waktu penyusunan tersebut belum termasuk ketidaktelitian user (human eror) serta banyaknya


(26)

matakuliah yang menyebabkan waktu penyusunan jadwal juga ikut bertambah.

Dalam penyusunan jadwal matakuliah menggunakan sistem komputerisasi dapat dilakukan dengan bantuan algoritma tertentu, salah satunya adalah Algoritma Genetika. Untuk mendapatkan hasil yang optimal dalam menyusun jadwal mata kuliah, diperlukan penambahan aturan-aturan yang lebih kompleks (Constrains) (Winoto, D. S., dkk, 2012). Constrains didapat berdasarkan aturan penjadwalan matakuliah yang berlaku pada Universitas. Semakin kompleks constrainsnya, maka Jadwal matakuliah yang dihasilkan akan semakin optimal. Algoritma Genetika cukup baik diimplementasikan sebagai algoritma untuk membuat sistem penjadwalan (Setemen. K, 2010). Hal ini dibuktikan dengan melakukan ujicoba sebanyak 3 kali dengan data pemetaan matakuliah yang berbeda. Untuk setiap kali ujicoba, nilai fitness yang dihasilkan sama dengan nol. Artinya tidak ada matakuliah yang terjadi bentrokan. Untuk ujicoba 1 (pemetaan 53 matakuliah), algoritma genetika dapat menghasilkan nilai fitness sama dengan nol hanya dengan 209 Iterasi dari target maksimal 5000 Iterasi. Ujicoba 2 (pemetaan 88 matakuliah) dapat diselesaikan algoritma genetika dengan 2161 Iterasi dari target maksimal 5000 Iterasi. Sedangkan ujicoba 3 (pemetaan 141 matakuliah), algoritma genetika mampu memperoleh fitness dengan 6623 Iterasi , tetapi dengan target maksimal iterasi sebanyak 10000.

Pada tugas akhir ini bertujuan untuk menerapkan sistem penjadwalan mata kuliah di Program Studi Guru Sekolah Dasar (PGSD) dengan menggunakan Algoritma Genetika. Dengan algoritma ini, data - data dan komponen yang berupa


(27)

Mata kuliah, Dosen mengajar, ruang dan waktu dapat diimplementasikan ke dalam sebuah jadwal sehingga dapat memberikan solusi bagi Sekretariat Prodi hingga akhirnya Jadwal tersebut dapat dicetak dan dapat digunakan. Yang akan dikembangkan adalah optimasi waktu pemrosesan progam (Timing) dan penambahan aturan – aturan (Constrains) yang sesuai dengan Prodi PGSD Universitas Sanata Dharma.

1.2. Rumusan Masalah

Berdasarkan permasalahan penjadwalan mata kuliah di PGSD, maka rumusan masalahnya adalah :

1. Bagaimana menyusun jadwal mata kuliah di PGSD dengan menggunakan Algoritma Genetika?

2. Seberapa tingkat keberhasilan pemetaan jadwal mata kuliah dengan menggunakan Algoritma Genetika?

1.3. Tujuan

1. Membuat aplikasi penjadwalan mata kuliah dengan menggunakan Algoritma Genetika.

2. Mengukur tingkat keberhasilan pemetaan jadwal mata kuliah dengan menggunakan Algoritma Genetika.

1.4. Batasan Masalah


(28)

matakuliah kelas teori Tahun Akademik 2013/2014 Semester Ganjil Program Studi Guru Sekolah Dasar (PGSD) Universitas Sanata Dharma. 2. Kelas kuliah yang masuk ke dalam penjadwalan adalah matakuliah yang

membutuhkan ruang untuk menjalankan proses belajar mengajar.

3. Informasi yang dihasilkan berupa jadwal mata kuliah untuk Program Studi Guru Sekolah Dasar (PGSD).

4. Mahasiswa hanya dapat mengambil mata kuliah di semester yang diajarkan.

5. Pengguna program dapat memasukkan input nama mata kuliah, dosen mengajar dan ruangan yang ditentukan. Hari dan Waktu sudah tersedia di dalam sistem.

6. Pemilihan induk dalam proses seleksi Kromosom adalah memilih dua Kromosom dengan nilai fitness terbaik untuk dijadikan orang tua.

7. Metode crossover yang diterapkan di dalam sistem adalah One Point Crossover.

8. Metode Mutasi yang diterapkan di dalam sistem adalah Mutasi Bebas. 9. Pembagian waktu dalam kuliah menerapkan sistem Timeslot, dimana 1

Timeslot berisi 3 Jam Pelajaran PGSD. Dalam sehari, satu ruang berisi 4 Timeslot (12 Jam Pelajaran).

1.5. Metodologi Penelitian

Metode yang digunakan dalam menyusun jadwal matakuliah PGSG adalah metode System Development Life Cycle (Paradigma Waterfall). Metode ini terdiri


(29)

dari berbagai tahap : 1. Analisis Kebutuhan

Pada tahap ini, akan dilakukan Identifikasi tentang kebutuhan system serta pengumpulan data – data yang diperlukan dalam proses penjadwalan. 2. Perancangan Sistem

Pada tahap ini, akan dilakukan penerjemahan rancangan sistem ke dalam perangkat lunak. Proses perancangan meliputi Perancangan Sistem, desain Basis Data, user interface dan rancangan implementasi program.

3. Penulisan Progam

Pada tahap ini, akan dilakukan penerjemahan dari perancangan sistem ke dalam bahasa pemrograman.

4. Pengujian

Pada tahap ini akan dilakukan pengujian program. Pengujian bertujuan untuk menemukan kesalahan – kesalahan hingga program dapat sesuai dengan yang diharapkan.

1.6. Sistematika Penulisan

BAB I : PENDAHULUAN

Bab ini berisi penjelasan tentang latar belakang masalah, rumusan masalah, tujuan, batasan masalah, metodologi penelitian, dan sistematika penulisan.

BAB II : LANDASAN TEORI


(30)

pembuatan sitem penjadwalan mata kuliah PGSD. BAB III : ANALISA DAN PERANCANGAN SISTEM

Bab ini berisi tentang analisis dan perancangan sistem yang akan dibangun, serta meliputi analisis data penjadwalan, aturan dalam proses penjadwalan, dan penjelasan algoritma genetika dalam menyelesaikan permasalahan mata kuliah.

BAB IV : IMPLEMENTASI DAN ANALISA HASIL

Bab ini berisi tentang implementasi dari perancangan pada Bab III. Implementasi tersebut meliputi tampilan progam (input dan output) dan analisa dari progam yang dibuat.

BAB V : KESIMPULAN DAN SARAN

Bab ini berisi tentang kesimpulan dan saran dari sistem yang akan dibuat


(31)

BAB II

LANDASAN TEORI

2.1. Penjadwalan Matakuliah

Penjadwalan mata kuliah (lecture timetabling) adalah masalah menempatkan waktu dan ruangan kepada sejumlah kuliah, tutorial, dan kegiatan akademik sejenis, dengan memperhatikan sejumlah aturan yang berhubungan dengan kapasitas dan lokasi dari ruangan yang tersedia, waktu bebas yang diperlukan dan sejumlah aturan lain yang berkaitan dengan toleransi untuk dosen, dan hubungan antara mata kuliah khusus (Ross, P., dkk, 1994).

Penjadwalan matakuliah merupakan permasalahan yang sangat penting dan dihadapi oleh prodi di tiap semesternya. Dalam penyusunan jadwal, terdapat dua batasan yang bersifat mutlak (hard constraint) dan batasan lunak (soft constraint) (Oner,A., dkk, 2011).

2.2. Algoritma Genetika

Genetic Algorithms atau algoritma genetika adalah algoritma pencarian yang didasarkan pada proses seleksi alam (proses evolusi). Proses evolusi berarti individu (kromosom) yang secara terus menerus mengalami perubahan gen sehingga dapat menyesuaikan lingkungan hidupnya. Hanya individu yang kuat yang mampu bertahan (Setemen, K., 2010).


(32)

alamiah dengan melibatkan perubahan gen yang terjadi pada individu melalui proses perkembangbiakan. Proses perkembangbiakan menjadi proses dasar yang

penting. “Tujuan yang akan dicapai dari perkembangbiakan adalah bagaimana mendapatkan keturunan yang lebih baik” (Basuki, A., 2003). Untuk dapat menemukan keturunan baru, dapat dilakukan dengan perkawinan silang (crossover) dan mutasi (mutation). Perkawinan silang adalah proses pertukaran gen dari dua individu yang mempunyai karakteristik yang berbeda sehingga menghasilkan gen yang lebih baik dari induknya. Sedangkan Mutasi adalah proses perubahan gen dari satu individu karena individu tersebut melakukan adaptasi terhadap lingkungannya.

2.2.1. Alur Dasar Algoritma Genetika

Secara umum, alur dasar algoritma genetika dinyatakan sebagai berikut : (Bambrick, L., 1997).

1. [Start], Generasi populasi pertama secara random sebanyak n individu. 2. [Fitness], Evaluasi nilai fitness f(x) dari setiap individu x didalam

populasi.

3. [New Population], Bentuk populasi baru dengan melakukan pengulangan langkah – langkah dibawah ini sehingga didapatkan populasi baru.

a. [Selection], Pilih 2 individu sebagai induk dari sebuah populasi sesuai dengan fitness (Semakin baik fitness, maka semakin besar peluang untuk dipilih).


(33)

probabilitas crossover untuk membentuk sebuah keturunan baru. c. [Mutation], Mutasi setiap keturunan yang baru sesuai dengan

probabilitas mutasi di setiap gen.

d. [Accepting], tempatkan keturunan yang baru sesuai dengan populasi yang baru.

4. [Replace], Gunakan populasi yang baru dibentuk untuk menjalankan algoritma.

5. [Test], Jika kondisi akhir dipenuhi maka berhenti dan tampilkan solusi dari populasi.

6. [Loop], Lakukan lagi langkah 2.

2.2.2. Kromosom

Kromosom (individu) merupakan gabungan dari Gen yang membentuk nilai tertentu. Individu bisa dikatakan sama dengan kromosom, yang merupakan kumpulan gen. Gen ini bisa biner, float, dan kombinatorial. Beberapa definisi penting yang terdapat dalam kromosom adalah sebagai berikut (Yulyantari, L.M., 2011)

Genotype (Gen), sebuah nilai yang menyatakan satuan dasar yang

membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. Dalam algoritma genetika, gen ini bisa berupa nilai biner, float, integer maupun karakter, atau kombinatorial.

Allele, nilai dari gen.


(34)

Individu, menyatakan satu nilai atau keadaan yang menyatakan salah satu solusi yang mungkin dari permasalahan yang diangkat

Populasi, merupakan sekumpulan individu (kromosom) yang akan

diproses bersama dalam satu siklus proses evolusi.

Generasi, menyatakan satu siklus proses evolusi atau satu iterasi di dalam algoritma genetika.

Secara umum definisi Kromosom dapat diilustrasikan sebagai berikut :

Gambar 1-1 Definisi Kromosom

Untuk memetakan masalah ke dalam sebuah kromosom dapat dilakukan dengan berbagai cara.


(35)

2.2.2.1. Pengkodean Biner

Pengkodean biner merupakan pengkodean kromosom yang paling banyak digunakan. Dalam hal ini, parameter dikodekan dalam bentuk 0 dan 1. Keuntungan dari pengkodean ini adalah sederhana dan mudah dimanipulasi.

KROMOSOM KODE BINER

A 10110010100

B 11001001101

Gambar 1-2 Contoh Pengkodean Biner

2.2.2.2. Pengkodean Bilangan Bulat.

Pengkodean bilangan bulat adalah metode yang mengkodekan bilangan ke dalam bentuk bilangan bulat. Pengkodean ini sangat baik digunakan untuk masalah optimasi kombinatorial.

KROMOSOM KODE BULAT

A 50310020400

B 35001002406

Gambar 1-3 Contoh Pengkodean Bulat

2.2.2.3. Pengkodean Struktur Data.

Pengkodean Struktur Data adalah model pengkodean yang menggunakan struktur data. Pengkodean ini digunakan untuk masalah yang lebih kompleks, seperti perwarnaan Graph.


(36)

2.2.3. Operator Algoritma Genetika

2.2.3.1. Seleksi

Seleksi bertujuan untuk memberikan kesempatan individu dalam reproduksi bagi anggota populasi yang lebih unggul. Langkah pertama yang dilakukan dalam tahap seleksi adalah pencarian nilai fitness. Masing-masing individu dalam seleksi akan menerima probabilitas reproduksi yang tergantung pada nilai yang diperoleh dibandingkan dengan anggota individu lainnya. Nilai fitness inilah nantinya akan digunakan dalam tahap seleksi berikutnya (Kusumadewi, S., 2003)

Kemampuan algoritma genetika dalam menciptakan sebuah kromosom yang lebih unggul terganting dari penekanan selektif terhadap kromosom dalam populasi. Penekanan selektif diterapkan dengan dua cara. Cara pertama adalah menciptakan lebih banyak kromosom anak dalam populasi dan memilih hanya kromosom yang terbaik untuk generasi berikutnya. Metode ini menerapkan seleksi orangtua secara acak namun metode ini akan terus menghasilkan kromosom yang lebih baik.

Cara lain menerapkan penekanan selektif adalah memilih orangtua yang lebih baik untuk proses regenerasi. Dengan metode ini hanya kromosom sebanyak jumlah tertentu dalam satu populasi yang dipelihara untuk generasi berikutnya. Walaupun penekanan selektif tidak diterapkan di level keturunan, metode ini juga akan menghasilkan kromosom yang lebih baik karena penekanan selektif diterapkan kepada orangtua dari calon kromosom terpilih.


(37)

a. Seleksi Roulete Wheel

Pada seleksi ini akan dipilih calon orang tua berdasarkan fitnessnya. Semakin baik fitnessnya, maka semakin besar kemungkinan kromosom dipilih untuk dijadikan orang tua. Probabilitas suatu individu terpilih untuk crossover sebanding dengan fitnessnya.

b. Seleksi Rangking

Pada seleksi ini akan dilakukan sistem ranking (mengurutkan) dari fitness terkecil hingga fitness terbesar. Bobot fitness semula akan dirubah dengan nomor urut dari 1 hingga n kromosom dimana kromosom dengan bobot fitness n merupakan kromosom dengan nilai fitness terbesar dalam populasi.

2.2.3.2. Perkawinan Silang (Crossover)

Perkawinan silang merupakan operator yang berfungsi untuk membentuk sebuah keturunan baru. Operator ini membutuhkan 2 kromosom sebagai induk (parent) hingga menghasilkan anak (child). Perkawinan silang bertujuan untuk menciptakan kromosom baru yang memiliki bagian baik kromosom lama dan tidak menutup kemungkinan tercipta sebuah kromosom yang lebih baik. Ada beberapa jenis perkawinan silang :

a. One Point Crossover


(38)

kromosom induk. Sehingga akan menghasilkan anak yang memiliki gen dari kedua induk tersebut. Contoh :

Gambar 1-4 Contoh One Point Crossover

b. Two Point Crossover

Proses crossover ini dilakukan dengan memilih dua titik crossover. Kromosom keturunan dibentuk dengan barisan gen awal dari induk pertama, kemudian disalin dengan gen induk kedua, lalu selebihnya disalin dengan gen induk pertama.

Gambar 1-5 Contoh Two Point Crossover

c. Uniform Crossover

Uniform Crossover menghasilkan kromosom keturunan dengan menyalin bit secara acak dari kedua orangtuanya.


(39)

Gambar 1-6 Contoh Uniform Crossover

2.2.3.3. Mutasi

Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam satu kromosom. Perubahan gen dilakukan dengan berbagai cara : mengubah gen 1 menjadi 0 dan sebaliknya, melakukan pertukaran gen pada suatu posisi dengan gen pada posisi lain, mengubah gen dengan batasan tertentu, dan sebagainya bergantung pada representasi individunya (Suyanto, 2010). Tujuan dari mutasi adalah mempercepat perbedaan diantara semua kromosom dalam populasi sehingga pencarian dapat dipetakan ke seluruh ruang. Selain itu mutasi bertujuan untuk mengembalikan komponen penting yang hilang ketika proses crossover.

Contoh :

Gambar 1-7 Contoh Mutasi

Ada beberapa jenis operator Mutasi :


(40)

Mutasi terarah sangat bergantung pada informasi gen. Informasi gen berupa nilai pelanggaran gen (bagian dari nilai fitness). Hal ini berarti bahwa adanya kemungkinan untuk gen yang berbeda akan di mutasi. Mutasi akan dilakukan jika pelanggaran gen tersebut lebih besar dari gen yang lain dalam satu kromosom.

b. Mutasi Biasa

Mutasi biasa tidak memperhitungkan informasi gen. Hal ini berarti setiap gen memiliki peluang yang sama untuk terjadi mutasi.


(41)

BAB III

ANALISIS DAN PERANCANGAN

3.1. Latar Belakang Masalah

Sebagian besar proses penjadwalan kuliah di PGSD Universitas Sanata Dharma masih menggunakan cara manual. Program penjadwalan yang ada untuk penjadwalan tidak mampu dalam menyusun data matakuliah di PGSD yang banyak. Jika digunakan, sistem tidak menghasilkan jadwal bahkan sering terjadi crash dalam aplikasinya. Apabila masih menggunakan cara manual akan berdampak pada pekerjaan lain selain penjadwalan matakuliah, misalnya waktu yang dibutuhkan dalam menyusun jadwal (timing).

Dalam proses pembuatan jadwal kuliah akan menyangkut penempatan matakuliah yang ditawarkan pada hari, ruang, dan jam tertentu. Permasalahan yang dihadapi adalah bagaimana menyusun jadwal matakuliah dengan mempertimbangkan hari, jam dan ruangan yang tepat sehingga tidak terjadi bentrok antar kelas dan matakuliah yang ditawarkan. Selain itu, sistem juga mempertimbangkan dosen yang mengajar sehingga tidak ada hari dan jam yang sama untuk 1 dosen mengajar lebih dari 1 matakuliah. Dalam penyusunan jadwal dapat dilakukan dengan cara manual namun dalam proses pengerjaannya akan mengalami banyak hamabtan terutama dalam hal ketelitian dan permasalahan waktu.


(42)

3.2. Analisis Permasalahan

Masalah yang akan dibahas melalui tulisan ini adalah bagaimana sebuah Prodi dapat mengatur jadwal mata kuliah tanpa bentrok sehingga dapat digunakan selama 1 semester. Masalah penjadwalan merupakan masalah yang klasik. Hingga saat ini telah berkembang banyak metode yang dapat digunakan untuk menyelesaikan masalah tersebut. Umumnya masalah ini sangat sulit untuk diselesaikan karena suatu proses penjadwalan diperlukan hard constraint dan soft constraint.

Hard Constraint disebut juga Hard Requirement, merupakan salah satu kebutuhan dari suatu penjadwalan yang jika kebutuhan ini dilanggar, maka akan mengakibatkan penjadwalan yang dibentuk tidak dapat digunakan. Hard Constraint merupakan prioritas utama yang harus dipenuhi dalam menyusun jadwal kuliah. Hard Requirement dapat dijabarkan sebagai berikut :

1. Satu ruang hanya dapat digunakan oleh satu matakuliah di hari dan jam tertentu.

2. Satu dosen hanya dapat mengajar satu matakuliah di hari dan jam yang sama.

3. Matakuliah untuk satu semester tertentu tidak boleh berada di jam yang sama kecuali untuk matakuliah yang sama dan dosen berbeda.

4. Jumlah matakuliah di dalam satu semester yang sama tidak boleh lebih dari 3 di hari yang sama.


(43)

Soft Constraint disebut juga Soft Requirement merupakan salah satu persyaratan dalam penjadwalan jika syarat ini tidak dipenuhi, penjadwalan dapat terus dilakukan. Soft requirements umumnya merupakan kebijakan – kebijakan yang sudah diputuskan oleh prodi. Contoh soft constrains adalah :

1. Dosen luar dapat memilih jam mengajar yang diinginkan.

3.2.1. Analisis Algoritma Genetika Pada Penjadwalan

Untuk menyusun sebuah jadwal dengan menggunakan Algoritma Genetika, hal yang harus dilakukan adalah merepresentasikan mata kuliah kedalam bentuk yang dimengerti oleh Algoritma Genetika. Dalam Genetika terdapat kata kunci Gen, Allele, Kromosom, dan Populasi. Jika diterapkan ke dalam penjadwalan matakuliah maka :

Tabel 3. 1 Tabel Penerapan Algoritma Genetika dalam Penjadwalan

Kata Kunci Definisi

Gen Gen mewakili hari, jam, dan ruang tertentu untuk kelas kuliah tersebut.

Allele Representasi dari Kelas Matakuliah.

Kromosom Kumpulan dari Gen. Dengan kata lain, Kromosom adalah Jadwal matakuliah selama seminggu.

Populasi Kumpulan dari Jadwal matakuliah.

Proses yang dapat dilakukan adalah membangun populasi awal, evaluasi fitness, seleksi, crossover, dan mutasi.Secara umum Diagram Flowchart algoritma


(44)

genetika yang akan diterapkan pada penjadwalan matakuliah adalah :

Start

Populasi Awal

Evaluasi Fitness Mutasi

Crossover

Seleksi Kriteria Berhenti

Terpenuhi?

Hasil (jadwal)

Selesai

Gambar 3. 1 Flowchart Algoritma Genetika

3.2.1.1. Perancangan Populasi Awal Penjadwalan

Penjadwalan matakuliah terdiri dari komponen mata kuliah, dosen, hari, jam, dan ruang. Yang akan dijadikan model kromosom adalah komponen mata kuliah, hari, jam dan ruang. Pembentukan populasi awal penjadwalan matakuliah adalah N kromosom, dengan N merupakan kandidat banyaknya matakuliah. Setiap gen dalam kromosom mewakili satu kuliah. Populasi awal dibangkitkan


(45)

secara random untuk selanjutnya dilakukan proses evaluasi setiap kromosomnya. Panjang 1 kromosom adalah N gen, dimana N merupakan hasil perkalian antara jumlah hari, jumlah ruang, dan jumlah waktu.

Pemetaan kromosom akan menerapkan time slot pada jam matakuliah. Setiap time slot terdiri dari 3 jam matakuliah. Berikut tabel penjelasan pengelompokan jam :

Tabel 3. 2 Tabel Pengelompokan Jam

Pada Tabel 3.2 menjelaskan deskripsi singkat mengenai pengelompokan waktu dalam 1 hari. Jika setiap ruang yang dipakai adalah 12 jam pelajaran, maka pemetaan Ruang dalam kromosom adalah 4 untuk setiap Ruangnya. Jika digambarkan pemetaan ruang yang dikaitkan dengan waktu akan menjadi sebagai berikut :

Gambar 3. 2 Pemetaan Ruang dalam Kromosom

Gambar 3.2 Setiap 1 time slot waktu akan direpresentasikan dengan 1 Gen. Gen merupakan kandidat Kelas kuliah tertentu. Pemetaan untuk menentukan panjang sebuah Kromosom adalah dengan menggunakan rumus berikut :


(46)

Ngen = (H * R * W) / 3

Keterangan :

Ngen = jumlah gen dalam 1 kromosom H = jumlah hari dalam perkuliahan R = jumlah ruang dalam perkuliahan W = jumlah waktu dalam perkuliahan

Berdasarkan data yang diperoleh, Prodi PGSG Universitas Sanata Dharma menerapkan jadwal dengan 156 Kelas kuliah, 5 hari, 14 ruang teori, dan 12 waktu (jam) untuk perkuliahan semester Ganjil Tahun Akademik 2013/2014. Maka jumlah gen yang terbentuk untuk 1 kromosom adalah :

Ngen = (5 * 14 * 12) / 3 = 280

Dalam perancangan sistem, Ngen merupakan representasi dari panjang 1 kromosom. Kromosom tersebut merupakan jadwal matakuliah di PGSD selama 1 minggu. Setiap Gen nya memiliki makna Hari, Ruang dan Jam tertentu.

Kelas kuliah merupakan komponen penting dalam penyusunan jadwal matakuliah. Kombinasi Matakuliah dan Dosen akan membentuk sebuah Kelas Kuliah. Kelas Kuliah akan berbeda setiap semesternya. Data Matakuliah ditawarkan oleh PGSD terdapat pada Tabel 5.1, data dosen pengampu terdapat pada Tabel 5.2, dan data ruang yang dipakai terdapat pada Tabel 5.3. Data Kelas


(47)

Kuliah PGSD berdasarkan data Semester Ganjil Tahun Ajaran 2014/2015 terdapat pada Tabel 5.4.

Tabel Kelas Kuliah terdiri dari kode kelas kuliah, kode matakuliah, kode dosen pengampu dan kelas. Data tersebut akan diimplementasikan ke dalam Algoritma Genetika. Dalam menyusun tabel kelas kuliah ke dalam kromosom, masing-masing kelas kuliah akan ditempatkan secara random index Gen nya. Hal ini berarti setiap kelas kuliah memiliki index (slot) Gen yang berbeda. Index Gen yang tidak ditempati oleh kelas kuliah manapun akan dikodekan dengan 0, yang berarti tidak ada kelas kuliah di hari, jam, dan ruang tersebut.

Pemetaan kromosom yang terbentuk dan digabungkan dengan kelas kuliah dapat diilustrasikan sebagai berikut :

Gambar 3. 3 Ilustrasi Pemetaan Kromosom 1

Berikut pemetaan Kromosom secara keseluruhan dengan menggabungkan Hari, Ruang, Dan Waktu dalam seminggu waktu kuliah:


(48)

Gambar 3. 4 Pemetaan Kromosom 2

Berikut sebagian penjelasan pemetaan Kromosom Gambar 3.4 :

 Gen[0]  Kelas Kuliah ke 2 (PDW 2106 – Logika, Semester 1,Kelas B, Dosen Pengampu G. Ari Nugraha, S.J., M.A.) Hari Senin, Ruang 1, Time Slot 1 (Jam 07.00-09-59).

 Gen[67]  Kelas Kuliah ke 17 (PDW 2122 - Bahasa dan Sastra Indonesia, Semester 1, Kelas B, Dosen Pengampu Apri Damai SK, S.S., M.Pd.) Hari Selasa, Ruang 3, Time Slot 4 (Jam 16.00-18.59).

 Gen[234]  Tidak ada kelas kuliah di hari Jumat, Ruang 3, Time Slot 3 (13.00-15.59).


(49)

Populasi merupakan kumpulan dari kromosom. Dengan kata lain, populasi merupakan kumpulan dari jadwal matakuliah. Dalam perancangan program, 1 populasi terdiri dari 4 kromosom. Jika digambarkan maka rancangan populasi yang dibangun untuk Iterasi 1 (populasi awal) adalah :

Gambar 3. 5 Pemetaan Populasi

Membangun populasi awal juga mempertimbangkan aturan soft constraint yang berlaku. Pada saat membangun populasi awal, kelas kuliah permintaan akan dimasukkan terlebih dahulu ke dalam sistem sesuai dengan Hari, Ruang, dan Waktu yang sesuai dengan permintaan. kemudian kelas kuliah lainnya akan dimasukkan secara random. Berikut algoritma ProsesRandom.

method prosesRandom()

1. Buat variabel r bertipe random.

2. Buat variabel hari bertipe int. Set nilai dengan 5. 3. Buat variabel waktu bertipe int. Set nilai dengan 12.

4. Buat variabel matkul bertipe int set dengan panjang kelas kuliah. 5. Buat Gen bernama data sepanjang (hari*ruang*waktu)/3.

6. Buat variabel boolean bernama cek yang berfungsi untuk mengecek apakah kelas kuliah telah berada di dalam kromosom atau tidak.


(50)

7. Buat variabel N bertipe int set dengan matkul. 8. Untuk i = 0 hingga panjang data lakukan langkah 9.

9. Buat gen kosong baru set matakuliah sama dengan kosong dan hari ruang waktu sesuai dengan lokasi gen.

10. Untuk i = 0 hingga matkul lakukan langkah 11.

11. Set seluruh cek dengan false. Menandakan matakuliah belum berada di dalam kromosom.

12. Untuk i = 0 hingga panjang data permintaan lakukan langkah 13-15

13. Masukkan seluruh kelas kuliah ke Gen yang sesuai dengan permintaan Hari, Ruang, dan Waktu.

14. Set cek kelaskuliah permintaan dengan true. Menandakan matakuliah telah ada di dalam kromosom.

15. Kurangi N sebanyak matakuliah permintaan. 16. Buat variabel index bertipe int set dengan 0.

17. Ketika N tidak sama dengan 0. Lakukan langkah 18-22

18. Buat variabel tangkap bertipe int set dengan nilai acak panjang data.

19. Cek apakah cek ke index sama dengan true. Jika ya, maka penambahan nilai index dengan 1. Jika tidak, lakukan langkah 20-22.

20. Cek apakah slot gen posisi tangkap kosong. Jika ya, masukkan kelasMatakuliah ke dalam Gen.

21. Tambahkan nilai index dengan 1. 22. Kurangi nilai N dengan 1.

23. Kembalikan data sebagai nilai balik. 24. Selesai.

Gambar 3. 6 Algoritma prosesRandom()

3.2.1.2. Evaluasi Fitness Pada Penjadwalan

Setelah kromosom terbentuk, langkah selanjutnya adalah menentukan Nilai Fitness untuk masing masing kromosom. Nilai fitness merupakan penentu


(51)

kromosom tersebut baik atau tidak. Nilai fitness didapat dari banyaknya pelanggaran Hard Constraint yang dilakukan pada 1 kromosom.

Diagram Flowchart evaluasi fitness adalah sebagai berikut :

Gambar 3. 7 Flowchart Evaluasi Fitness

Adapun aturan (constraint) dan bobot fitness yang diterapkan dalam Prodi PGSG Universitas Sanata Dharma adalah sebagai berikut :

Tabel 3. 3 Tabel Aturan Penjadwalan Matakuliah

HC Aturan Nilai Fitness

1.

Satu ruang hanya dapat digunakan oleh satu matakuliah di hari dan jam tertentu.

Pelanggaran = 1 jika terdapat dua matakuliah di ruang, jam, dan hari yang sama.


(52)

2. Satu dosen hanya dapat mengajar satu matakuliah di jam yang sama.

Pelanggaran = 1 jika ada dua atau lebih matakuliah dosen tersebut berada di jam yang sama.

3. Matakuliah untuk satu semester tertentu tidak boleh berada di jam yang sama kecuali untuk matakuliah yang sama dan dosen berbeda.

Pelanggaran = 1 jika ada dua atau lebih matakuliah sama untuk dosen yang sama di jam yang sama.

4. Jumlah matakuliah di dalam satu semester yang sama tidak boleh lebih dari 3 di hari yang sama.

Pelanggaran = 1, jika jumlah matakuliah yang berada di hari yang sama berjumlah > 3.

5. Dosen mengajar dalam sehari tidak boleh lebih dari 3 matakuliah.

Pelanggaran = 1, jika terdapat lebih dari 3 matakuliah dalam sehari yang diampu dosen yang sama

Dalam penentuan nilai fitness, kromosom dikatakan optimal atau merupakan sebuah solusi jika nilai fitnessnya sama dengan 0 (nol). Pada flowchart akan memulai dengan mengeksekusi semua kromosom. Setiap kromosom akan dieksekusi untuk mencari nilai fitness dengan menjalankan method eksekusiAturan(). Method ini merupakan representasi dari kelima aturan Hard Constraint pada Tabel 3.7.

Algoritma Method eksekusiAturan(Kromosom x)


(53)

2. Panggil method cekDosen dengan parameter x. Hasilnya disimpan ke dalam parent.

3. Panggil method cekMatakuliah dengan parameter parent. Hasilnya disimpan ke dalam parent.

4. Panggil method cekJumlahMatakuliah dengan parameter parent. Hasilnya disimpan ke dalam parent.

5. Panggil method cekDosenMengajar dengan parameter parent. Hasilnya disimpan ke dalam parent.

6. Kembalikan nilai parent; 7. Selesai.

Gambar 3. 8 Algoritma Method eksekusiAturan

Method eksekusiAturan merupakan method yang bertujuan untuk mendapatkan nilai fitness total di setiap gen nya. Nilai fitness setiap gen akan ditambahkan berdasarkan kelima aturan hard constrans (HC). Method eksekusiAturan hanya mengecek HC 2 hingga HC 5 saja. HC 1 secara otomatis sudah dapat dipenuhi oleh program karena setiap slot gen hanya dapat berisi 0 hingga 1 kelas matakuliah.

Pada method eksekusiAturan, kromosom akan dievaluasi tiap gennya. Ada 5 method yang merepresentasikan aturan penjadwalan matakuliah yang berlaku dalam Prodi PGSD Universitas Sanata Dharma. Berikut penjelasan ke 5 method :

HC 2 : method cekDosen (parameter x bertipe kromosom)

1. Buat variabel posisi_jam bertipe array of int dengan panjangnya sesuai dengan jumlah_ruang kuliah.

2. Buat variabel hari bertipe array of String dengan input Hari Senin sampai Jumat.


(54)

3. Buat variabel jam bertipe int dengan nilai awal 1. 4. Buat variabel count bertipe int dengan nilai awal 0.

5. Untuk i sama dengan 0 hingga panjang posisi jam, lakukan langkah 6. 6. jika i sama dengan 0 maka set posisi_jam ke i sama dengan 0. Selain itu set

posisi_jam ke i bernilai posisi_jam ke [i-1] ditambah 4. 7. Ketika true, maka lakukan langkah 8.

8. Jika Gen ke count pada kromosom x harinya sama dengan hari yang ke 0 (senin), maka menambahkan nilai count dengan 1. Selain itu hentikan looping.

9. Untuk i = 1 hingga panjang hari, lakukan langkah 10-22. 10. Untuk b = 0 sampai kurang dari 4 lakukan langkah 11-19.

11. Untuk j = 0 sampai kurang dari jumlah ruang, lakukan langkah 12-17. 12. Untuk k = j +1 hingga jumlah ruang, lakukan langkah 13-17.

13. Buat variabel banding1 dan banding2 bertipe String. Dimana banding1 menyimpan idDosen dari gen ke posisi_jam ke j dan banding 2 menyimpan idDosen dari gen ke posisi_jam ke k.

14. Cek apakah banding1 sama dengan “-”. Jika ya maka program tidak melakukan apapun. jika tidak, lakukan langkah 15.

15. Cek apakah banding1 sama dengan banding2. Jika ya maka lakukan langkah 16-17.

16. Buat variabel fitness_awal bertipe int yang berisi nilai fitness dari data gen ke posisi_jam ke k.

17. Set nilai fitness gen ke posisi)jam ke k dengan fitness_awal +1; 18. Untuk l = 0 hingga panjang posisi_jam, lakukan langkah 19. 19. Set posisi_jam ke l sama dengan posisi_jam ke l +1.

20. Untuk l = 0 hingga panjang posisi_jam, lakukan langkah 21.

21. Cek apakah l sama dengan 0. Jika ya makan posisi_jam ke l = count. jika tidak maka posisi_jam ke l sama dengan posisi_jam ke l-1 ditambah 4. 22. Set count sama dengan count + count;


(55)

24. Selesai.

Gambar 3. 9 Algoritma HC2 (cekDosen)

HC 3 : method cekMatakuliah (parameter x bertipe kromosom) 1. Buat variabel array of int posisi_jam sepanjang jumlah_ruang.

2. Buat variabel hari bertipe array of String dengan isian adalah Hari kuliah (senin-jumat)

3. Buat variabel jam bertipe int set dengan nilai 1. 4. Buat variabel count bertipe int set dengan 0;

5. Untuk i sama dengan 0 hingga panjang posisi jam lakukan langkah 6

6. Cek apakah i sama dengan 0, Jika ya maka set posisi_jam ke i sama dengan 0.Jika tidak maka set posisi_jam ke i sama dengan posisi jam ke i-1 ditambah 4.

7. Ketika true, maka lakukan langkah 8.

8. Cek apakah Hari gen kromosom x ke count sama dengan hari ke 0 (hari senin). Jika ya maka count ditambah 1. Jika tidak maka berhenti looping. 9. Untuk i = 1 hingga panjang hari lakukan langkah 10-27

10. Untuk b = 0 hingga 4 lakukan langkah 11-24

11. Untuk j = 0 hingga jumlah_ruang, lakukan langkah 12-21 12. Untuk k = j +1 hingga jumlah_ruang, lakukan langkah 13-21

13. Buat variabel banding1 bertipe String set dengan idMk kromosom x gen ke posisi_jam ke j.

14. Buat variabel banding2 bertipe String set dengan idMk kromosom x gen ke posisi_jam ke k.

15. Buat variabel banding3 bertipe String set dengan semester kromosom x gen ke posisi_jam ke j.

16. Buat variabel banding4 bertipe String set dengan semester kromosom x gen ke posisi_jam ke k.


(56)

posisi_jam ke j.

18. Buat variabel banding8 bertipe String set dengan kelas kromosom x gen ke posisi_jam ke k.

19. Cek apakah banding1 sama dengan “-”. Jika ya, maka tidak menjalankan apapun. Jika tidak, lakukan langkah 20-21.

20. Cek apakah banding3 sama dengan banding4, Jika ya cek juga apakah banding7 sama dengan banding8, jika ya maka buat variabel fitness_awal set dengan nilai fitness kromosom x gen ke posisi_jam ke k.

21. Set gen kromosom x data ke posisi_jam ke k dengan nilai_fitness +1. 22. Untuk l = 0 hingga panjang posisi_jam, lakukan langkah 22.

23. Cek apakah l sama dengan 0. Jika ya makan posisi_jam ke l = count. jika tidak maka posisi_jam ke l sama dengan posisi_jam ke l-1 ditambah 4. 24. Set count sama dengan count + count.

25. Untuk l = 0 hingga posisi_jam lakukan langkah 26.

26. Cek apakah l sama dengan 0, jika ya maka posisi_jam ke l sama dengan count. Jika tidak maka posisi_jam ke l sama dengan posisi jam ke l+1 ditambah 4.

27. Set count sama dengan count+count; 28. Kembalikan nilai x.

29. Selesai.

Gambar 3. 10 Algoritma HC3 (cekMatakuliah)

HC 4 : method cekJumlahMatakuliah(parameter x bertipe kromosom) 1. Buat variabel hari bertipe array of hari yang berisi hari senin - jumat. 2. Buat variabel jam bertipe int set dengan nilai 0.

3. Buat variabel count bertipe int set dengan nilai 0. 4. Buat variabel temp_count bertipe int set dengan nilai 0. 5. Buat variabel kel bertipe List<String> set dengan nilai null.

6. Membuat kelompok kelas dalam 1 semester kemudian masukkan kelompok kelas ke dalam kel.


(57)

7. Ketika true maka lakukan langkah 8.

8. Cek apakah hari di Gen ke count sama dengan hari ke 0 (hari senin). Jika ya maka lakukan penambahan count dengan 1. Jika tidak, maka hentikan looping.

9. Set temp_count = count.

10. Untuk i = 0 hingga panjang hari, lakukan langkah 11-24

11. Untuk jam sama dengan jam hingga temp_count, Lakukan langkah 12-20. 12. Buat variabel banding2 bertipe String set dengan semester Data ke jam. 13. Buat variabel banding3 bertipe String set dengan kelas Data ke jam. 14. Untuk j = 0 hingga panjang kel, Lakukan langkah 15-20.

15. Buat variabel banding1 bertipe array String set dengan semester dan kelas yang didapat dari kel.

16. Cek apakah banding1 ke 0 sama dengan banding2 dan banding1 ke 1 sama dengan banding3. Jika ya, maka lakukan langkah 17-20

17. Buat variabel temp bertipe int set dengan banding1 ke2. 18. Set temp sama dengan temp+1.

19. Tambahkan nilai temp dan masukkan ke dalam kel sebagai penunjik banyaknya kelas dengan semester sama dalam 1 hari.

20. Cek apakah temp lebih besar dari 3. Jika ya maka pelanggaran ditambahkan di data ke jam.

21. Untuk j sama dengan 0 hingga panjang kel. Lakukan langkah 22-23. 22. Buat variabel temp. Pisahkan semester dan Kelas yang ada di kel ke j, 23. Set kel ke j dengan temp ke 0 dan temp ke 1 beserta angka 0 sebagai

penentu matakuliah semester yang berada dalam sehari. 24. Set temp_count sama dengan temp_count ditambah count. 25. Kembalikan nilai x.

26. Selesai

Gambar 3. 11 Algoritma HC4 (cekJumlahMatakuliah)


(58)

1. Buat variabel hari ebrtippe Array String dengan inputan Hari Senin hingga Jumat.

2. Buat variabel jam bertipe int set dengan 0. 3. Buat variabel count bertipe int set dengan 0. 4. Buat variabel temp_count bertipe int set dengan 0. 5. Buat variabel kel bertipe List<String> set dengan null.

6. Set kel dengan idDosen beserta angka 0 untuk semagai penyimpan dosen mengajar dalam sehari.

7. Lakukan looping untuk mencari rentang hari Senin pada kromosom dengan menambahkan count bernilai 1 setiap kali looping.

8. Set temp_count sama dengan count.

9. Untuk i = 0 hingga panjang hari, Lakukan langkah 10-20 10. Untuk jam = jam hingga temp_count lakukan langkah 11-18

11. Buat variabel banding2 bertipe String set dengan idDosen data ke jam. 12. Untuk j = 0 hingga panjang kel Lakukan langkah 13-18

13. Pisahkan kel ke j (idDosen dan jumlah dosen mengajar) dan masukkan ke dalam variabel banding1 bertipe Array String.

14. Cek apakah banding1 ke 0 sama dengan banding2. Jika ya maka lakukan langkah 15-18

15. buat variabel temp bertipe int. Simpan banding1 ke 1. 16. set temp sama dengan temp +1.

17. Masukkan temp ke dalam kel ke j. Menandakan bahwa idDosen ke j mengajar sebanyak tenp kali dalam seminggu.

18. Cek apakah temp lebih besar dari 3. Jika ya maka tambahkan nilai Pelanggaran ke dalam data ke jam.

19. Untuk j = 0 hingga panjang kel. Lakukan set jumlah dosen mengajar menjadi 0 tiap masing - masing idDosen.

20. Set temp_count sama dengan temp_Count ditambah count yang berfungsi untuk mengecek hari lainnya.


(59)

22. Selesai.

Gambar 3. 12 Algoritma HC5 (cekDosenMengajar)

3.2.1.3. Proses Regenerasi Pada Penjadwalan

Proses regenerasi adalah proses perubahan gen-gen generasi sekarang ke gen generasi berikutnya. Proses Regenerasi meliputi Seleksi, Crossover, dan Mutasi.

1. Seleksi

Seleksi merupakan proses penentuan dua kromosom yang akan menjadi calon kandidat orang tua untuk membentuk kromosom baru. Pada proses seleksi dilakukan model seleksi Roulette Wheel Selection dengan mengacu pada nilai fitness tersebut. Semakin kecil nilai fitnessnya, maka kromosom tersebut dipilih sebagai orang tua untuk populasi selanjutnya. Dalam program akan menggunakan 4 kromosom dalam 1 populasi. Semakin kecil jumlah fitness yang dimiliki kromosom tersebut, maka akan berdampak pada pergeseran kromosom ke slot teratas. Semakin banyak nilai fitness nya maka akan menduduki posisi terendah. Pada proses seleksi akan menentukan 2 Kromosom terbaik untuk dijadikan orang tua. Berikut algoritma mengurutan Kromosom berdasarkan nilai fitnessnya.


(60)

Gambar 3. 13 Flowchart Roulette Wheel Selection

2. Perkawinan Silang (Crossover)

Crossover merupakan proses penggabungan dua kromosom yang berasal dari dua orang tua terpilih. Hasil dari penggabungan ini akan membentuk kromosom baru. Program aplikasi yang dibuat oleh penulis menggunakan 4 Kromosom dalam 1 populasi dimana kromosom ke-1 dan ke-2 adalah slot yang dikhususkan untuk kandidat orang tua terpilih. Seleksi kromosom berdasarkan seleksi Roulette Wheel Selection. Sedangkan untuk kromosom ke-3 dan ke-4 adalah slot kromosom yang akan digunakan untuk slot kandidat anak. Kromosom anak (3 dan 4) pada iterasi sebelumnya akan


(61)

digantikan dengan kromosom baru pada iterasi selanjutnya. Proses ini terjadi karena seleksi alam. Untuk kasus Penjadwalan matakuliah prodi PGSD, penulis akan menerapkan One Point Crossover. Berikut algoritma crossover yang diterapkan pada Aplikasi penjadwalan :

Gambar 3. 14 Flowchart Crossover

Algoritma diatas menjelaskan bahwa setiap kromosom anak (kromosom 2 dan 3) merupakan perpaduan gen kedua orang tuanya (kromosom 0 dan 1). Pada One Point Crossover, Titik penenentu keturunan adalah point dimana nilai point merupakan setengah dari panjang tiap


(62)

kromosom. Pada kasus penjadwalam PGSD, nGen pada tiap kromosom adalah 280. Sehingga point setiap kromosom adalah :

point = nGen / 2 = 280 / 2 = 140

Sehingga ilustrasi crossover adalah sebagai berikut :

Gambar 3. 15 Ilustrasi Crossover

Gambar diatas menjelaskan bahwa kromosom (parent) 2 dan 3 terjadi seleksi alam. Seleksi alam tersebut mengubah nilai allele (kelas mata kuliah) dari nilai allele parent. Sehingga memungkinkan child memiliki allele dari kedua induk.

3. Mutasi (Mutation)

Mutasi merupakan penukaran gen yang satu ke gen yang lain dalam satu kromosom. Mutasi yang dipakai dalam aplikasi adalah mutasi biasa.


(1)

M.Psi.

5 82 2

PDW 2343F

-Pendidikan IPA(Fisika) 3 B

M. Melani Ika

S., M.Pd. 12 Senin 10:00-12:59

6 127 3

PDW 2553-Pengembangan Kurikulum dan Pembelajaran

5 B Drs. Puji P.,

M.Si. 12 Senin 13:00-15:59

7 65 2 PDW 2334-PKn 3 E

Drs. P. Wahana, M.Hum.

12 Senin 16:00-18:59

8 78 2 PDW 2343B-Pendidikan IPA(Biologi) 3 C

Wahyu Wido S., S.Si., M.Biotech

13 Senin 07:00-09:59

9 131 2 PDW 2554-Manajemen

Kelas 5 A

Th. Yunia S.,

S.Pd., M.Hum. 13 Senin 10:00-12:59 10 145 3 PDW 2557II-Metopen 2 5 E Eny Winarti,

Ph.D. 13 Senin 13:00-15:59 11 133 2 PDW 2554-Manajemen

Kelas 5 C

Th. Yunia S.,

S.Pd., M.Hum. 13 Senin 16:00-18:59 12 89 3 PDW 2344-Pendidikan

Matematika 1 3 D

Andri Anugrahana, M.Pd.

21 Senin 07:00-09:59

13 130 3

PDW 2553-Pengembangan Kurikulum dan Pembelajaran

5 E Eny Winarti,

Ph.D. 21 Senin 10:00-12:59

14 75 2 PDW 2336-Permainan

Anak 3 E

Irine Kurniastuti, M.Psi.

21 Senin 13:00-15:59

15 35 3 PDW 2125-Matematika

1 1 E

M. Agustina

Amelia, M.Si. 21 Senin 16:00-18:59 16 5 2 PDW 2106-Logika 1 E

Drs. YB Adimassana, M.A.

22 Senin 07:00-09:59

17 142 3 PDW 2557II-Metopen 2 5 B

E. Desiana Mayasari, S.Psi., M.A.

22 Senin 10:00-12:59

18 66 3 PDW 2335-IPS 3 A Rusmawan,

S.Pd., M.Pd. 22 Senin 13:00-15:59 19 88 3 PDW 2344-Pendidikan

Matematika 1 3 C

Andri Anugrahana, M.Pd.

22 Senin 16:00-18:59

20 16 2 PDW 2122-Bahasa dan

Sastra Indonesia 1 A

Apri Damai

SK, S.S., M.Pd 24 Senin 07:00-09:59 21 104 2 USD 123-Pendidikan

Pancasila 3 D

Imma Indra D.W., S.H., M.Hum

24 Senin 10:00-12:59

22 18 2 PDW 2122-Bahasa dan

Sastra Indonesia 1 C

Apri Damai

SK, S.S., M.Pd 24 Senin 13:00-15:59 23 19 2 PDW 2122-Bahasa dan

Sastra Indonesia 1 D

Galih K. S.Pd.

M.Pd. 24 Senin 16:00-18:59 24 0 0 --- 0 - - L.LIS Senin 07:00-09:59

25 93 3

PDW 2345-Pendidikan Bahasa dan Sastra Indonesia 1

3 C Galih K. S.Pd. M.Pd. L.LIS Senin 10:00-12:59

26 97 2 PDW 2356-Statistik

Pendidikan 3 B

Catur Rismiati,

M.A., Ed.D. L.LIS Senin 13:00-15:59 27 135 2 PDW 2554-Manajemen

Kelas 5 E

Dra. Ignatia Esti S., M.Hum.

L.LIS Senin 16:00-18:59

28 8 2

PDW 2107-Pendidikan Keterampilan Menulis dan Kerajinan Tangan

1 C Esther M.,

M.Pd. L.SBK Senin 07:00-09:59 29 10 2 PDW 2107-Pendidikan 1 E Esther M., L.SBK Senin 10:00-12:59


(2)

Keterampilan Menulis dan Kerajinan Tangan

M.Pd.

30 7 2

PDW 2107-Pendidikan Keterampilan Menulis dan Kerajinan Tangan

1 B Esther M.,

M.Pd. L.SBK Senin 13:00-15:59

31 72 2 PDW 2336-Permainan

Anak 3 B

E. Desiana Mayasari, S.Psi., M.A.

L.SBK Senin 16:00-18:59

32 155 2 USD 325-Filsafat Ilmu

Pengetahuan 7 E

Drs. P. Wahana, M.Hum.

11 Selasa 07:00-09:59

33 156 2 USD 325-Filsafat Ilmu

Pengetahuan 7 F

Drs. P. Wahana, M.Hum.

11 Selasa 10:00-12:59

34 63 2 PDW 2334-PKn 3 C

Drs. P. Wahana, M.Hum.

11 Selasa 13:00-15:59

35 74 2 PDW 2336-Permainan

Anak 3 D

Irine Kurniastuti, M.Psi.

11 Selasa 16:00-18:59

36 118 2 PDW 2510-Kesehatan

Sekolah 5 C

Song Kyu Hee,

M.Pd. 12 Selasa 07:00-09:59 37 106 3

PDP 25x1-Matakuliah Pilihan 1 (International Curr.1)

5 A

Irine Kurniastuti, M.Psi.

12 Selasa 10:00-12:59

38 141 3 PDW 2557II-Metopen 2 5 A Catur Rismiati,

M.A., Ed.D. 12 Selasa 13:00-15:59 39 150 2 USD 224-Pendidikan

Kewarganegaraan 5 E

Johannes

Sabari 12 Selasa 16:00-18:59 40 59 2

PDW 2319-Perkembangan dan Belajar Peserta Didik 2

3 D

E. Desiana Mayasari, S.Psi., M.A.

13 Selasa 07:00-09:59

41 120 2 PDW 2510-Kesehatan

Sekolah 5 E

Song Kyu Hee,

M.Pd. 13 Selasa 10:00-12:59 42 24 3 PDW 2123-IPA Biologi 1 D

Wahyu Wido S., S.Si., M.Biotech

13 Selasa 13:00-15:59

43 123 3 PDW

2552-Pembelajaran Terpadu 5 C

Drs. Puji P.,

M.Si. 13 Selasa 16:00-18:59 44 13 2

PDW 2119-Perkembangan dan Belajar Peserta Didik 1

1 C

Brigitta Erlita TA., S.Psi., M.Psi.

21 Selasa 07:00-09:59

45 114 2

PDP 25x3-Matakuliah Pilihan 3 (International Curr.3)

5 D Laurentia Aptik E., S.Psi., M.A. 21 Selasa 10:00-12:59

46 33 3 PDW 2125-Matematika

1 1 C

Christiyanti A.,

S.Si., M.Pd. 21 Selasa 13:00-15:59 47 61 2 PDW 2334-PKn 3 A DR. H.

Purwanta 21 Selasa 16:00-18:59 48 147 2 USD 224-Pendidikan Kewarganegaraan 5 B Johannes Sabari 22 Selasa 07:00-09:59 49 40 2 PDW 2126-Bahasa

Inggris 1 1 E

Th. Laksmi W.,

M.Hum 22 Selasa 10:00-12:59 50 80 2 PDW 2343B-Pendidikan

IPA(Biologi) 3 E

Agnes Herlina

DH, MT., M.Si. 22 Selasa 13:00-15:59 51 31 3 PDW 2125-Matematika 1 1 A Christiyanti A., S.Si., M.Pd. 22 Selasa 16:00-18:59 52 20 2 PDW 2122-Bahasa dan

Sastra Indonesia 1 E

Galih K. S.Pd.

M.Pd. 24 Selasa 07:00-09:59 53 14 2

PDW 2119-Perkembangan dan Belajar Peserta Didik 1

1 D

Brigitta Erlita TA., S.Psi., M.Psi.

24 Selasa 10:00-12:59

54 55 2 USD 120-Pendidikan

Agama 1 E

Dra. Ignatia Esti S., M.Hum.

24 Selasa 13:00-15:59

55 149 2 USD 224-Pendidikan Kewarganegaraan 5 D

Drs. YB Adimassana, M.A.


(3)

56 44 2 PDW 2126P-Bahasa

Inggris 1(Prakt) 1 D

AG. Sujatmiko

BS., M.Hum. L.LIS Selasa 07:00-09:59 57 91 3

PDW 2345-Pendidikan Bahasa dan Sastra Indonesia 1

3 A Galih K. S.Pd.

M.Pd. L.LIS Selasa 10:00-12:59

58 92 3

PDW 2345-Pendidikan Bahasa dan Sastra Indonesia 1

3 B Galih K. S.Pd.

M.Pd. L.LIS Selasa 13:00-15:59 59 42 2 PDW 2126P-Bahasa

Inggris 1(Prakt) 1 B

AG. Sujatmiko

BS., M.Hum. L.LIS Selasa 16:00-18:59 60 6 2

PDW 2107-Pendidikan Keterampilan Menulis dan Kerajinan Tangan

1 A Esther M.,

M.Pd. L.SBK Selasa 07:00-09:59 61 26 3 PDW 2124-IPA Fisika 1 A M. Melani Ika

S., M.Pd. L.SBK Selasa 10:00-12:59 62 132 2 PDW 2554-Manajemen Kelas 5 B Th. Yunia S., S.Pd., M.Hum. L.SBK Selasa 13:00-15:59 63 121 3 PDW

2552-Pembelajaran Terpadu 5 A

Rusmawan,

S.Pd., M.Pd. L.SBK Selasa 16:00-18:59 64 86 3 PDW 2344-Pendidikan

Matematika 1 3 A

Andri Anugrahana, M.Pd.

11 Rabu 07:00-09:59

65 56 2

PDW 2319-Perkembangan dan Belajar Peserta Didik 2

3 A Laurentia Aptik

E., S.Psi., M.A. 11 Rabu 10:00-12:59 66 27 3 PDW 2124-IPA Fisika 1 B M. Melani Ika

S., M.Pd. 11 Rabu 13:00-15:59 67 68 3 PDW 2335-IPS 3 C Rusmawan,

S.Pd., M.Pd. 11 Rabu 16:00-18:59 68 115 2

PDP 25x3-Matakuliah Pilihan 3 (International Curr.3)

5 E Laurentia Aptik

E., S.Psi., M.A. 12 Rabu 07:00-09:59

69 134 2 PDW 2554-Manajemen

Kelas 5 D

Dra. Ignatia Esti S., M.Hum.

12 Rabu 10:00-12:59

70 1 2 PDW 2106-Logika 1 A

G. Ari Nugraha, S.J.,M.A.

12 Rabu 13:00-15:59

71 119 2 PDW 2510-Kesehatan

Sekolah 5 D

Song Kyu Hee,

M.Pd. 12 Rabu 16:00-18:59 72 108 3

PDP 25x1-Matakuliah Pilihan 1 (International Curr.1)

5 C

E. Desiana Mayasari, S.Psi., M.A.

13 Rabu 07:00-09:59

73 25 3 PDW 2123-IPA Biologi 1 E Agnes Herlina

DH, MT., M.Si. 13 Rabu 10:00-12:59 74 77 2 PDW 2343B-Pendidikan

IPA(Biologi) 3 B

Wahyu Wido S., S.Si., M.Biotech

13 Rabu 13:00-15:59

75 107 3

PDP 25x1-Matakuliah Pilihan 1 (International Curr.1)

5 B

Wahyu Wido S., S.Si., M.Biotech

13 Rabu 16:00-18:59

76 15 2

PDW 2119-Perkembangan dan Belajar Peserta Didik 1

1 E

Brigitta Erlita TA., S.Psi., M.Psi.

21 Rabu 07:00-09:59

77 84 2

PDW 2343F

-Pendidikan IPA(Fisika) 3 D

M. Melani Ika

S., M.Pd. 21 Rabu 10:00-12:59

78 53 2 USD 120-Pendidikan

Agama 1 C

Dra. Ignatia Esti S., M.Hum.

21 Rabu 13:00-15:59

79 140 3 PDW 2557I-Metopen 1 5 E Th. Yunia S.,

S.Pd., M.Hum. 21 Rabu 16:00-18:59 80 38 2 PDW 2126-Bahasa

Inggris 1 1 C

AG. Sujatmiko

BS., M.Hum. 22 Rabu 07:00-09:59 81 148 2 USD 224-Pendidikan

Kewarganegaraan 5 C

Drs. YB Adimassana, M.A.


(4)

82 99 2 PDW 2356-Statistik

Pendidikan 3 D

Laurentia Aptik

E., S.Psi., M.A. 22 Rabu 13:00-15:59 83 2 2 PDW 2106-Logika 1 B

G. Ari Nugraha, S.J.,M.A.

22 Rabu 16:00-18:59

84 17 2 PDW 2122-Bahasa dan Sastra Indonesia 1 B Apri Damai SK, S.S., M.Pd 24 Rabu 07:00-09:59 85 116 2 PDW 2510-Kesehatan

Sekolah 5 A

Song Kyu Hee,

M.Pd. 24 Rabu 10:00-12:59

86 128 3

PDW 2553-Pengembangan Kurikulum dan Pembelajaran

5 C Drs. Puji P.,

M.Si. 24 Rabu 13:00-15:59

87 90 3 PDW 2344-Pendidikan

Matematika 1 3 E

Christiyanti A.,

S.Si., M.Pd. 24 Rabu 16:00-18:59 88 9 2

PDW 2107-Pendidikan Keterampilan Menulis dan Kerajinan Tangan

1 D Esther M.,

M.Pd. L.LIS Rabu 07:00-09:59

89 95 3

PDW 2345-Pendidikan Bahasa dan Sastra Indonesia 1

3 E Apri Damai

SK, S.S., M.Pd L.LIS Rabu 10:00-12:59

90 73 2 PDW 2336-Permainan

Anak 3 C

E. Desiana Mayasari, S.Psi., M.A.

L.LIS Rabu 13:00-15:59 91 0 0 --- 0 - - L.LIS Rabu 16:00-18:59 92 117 2 PDW 2510-Kesehatan

Sekolah 5 B

Song Kyu Hee,

M.Pd. L.SBK Rabu 07:00-09:59 93 0 0 --- 0 - - L.SBK Rabu 10:00-12:59

94 110 3

PDP 25x1-Matakuliah Pilihan 1 (International Curr.1)

5 E Dra. Haniek

SP, M.Pd. L.SBK Rabu 13:00-15:59

95 49 2

PDW

2155-Keterampilan Menulis Ilmiah

1 D

Drs. St. Kartono, M.Hum.

L.SBK Rabu 16:00-18:59

96 48 2

PDW

2155-Keterampilan Menulis Ilmiah

1 C Galih K. S.Pd.

M.Pd. 11 Kamis 07:00-09:59 97 29 3 PDW 2124-IPA Fisika 1 D M. Melani Ika

S., M.Pd. 11 Kamis 10:00-12:59 98 67 3 PDW 2335-IPS 3 B Rusmawan,

S.Pd., M.Pd. 11 Kamis 13:00-15:59 99 151 2 USD 325-Filsafat Ilmu

Pengetahuan 7 A

Dr.C. Teguh

Dalyono, M.S. 11 Kamis 16:00-18:59 100 54 2 USD 120-Pendidikan

Agama 1 D

Lathifatul

Izzah, M.Ag. 12 Kamis 07:00-09:59 101 87 3 PDW 2344-Pendidikan

Matematika 1 3 B

Dra. Haniek

SP, M.Pd. 12 Kamis 10:00-12:59 102 96 2 PDW 2356-Statistik

Pendidikan 3 A

M. Agustina

Amelia, M.Si. 12 Kamis 13:00-15:59 103 136 3 PDW 2557I-Metopen 1 5 A

Brigitta Erlita TA., S.Psi., M.Psi.

12 Kamis 16:00-18:59

104 69 3 PDW 2335-IPS 3 D Rusmawan, S.Pd., M.Pd. 13 Kamis 07:00-09:59 105 36 2 PDW 2126-Bahasa

Inggris 1 1 A

Th. Laksmi W.,

M.Hum 13 Kamis 10:00-12:59 106 11 2

PDW 2119-Perkembangan dan Belajar Peserta Didik 1

1 A

Brigitta Erlita TA., S.Psi., M.Psi.

13 Kamis 13:00-15:59

107 113 2

PDP 25x3-Matakuliah Pilihan 3 (International Curr.3)

5 C Eny Winarti,

Ph.D. 13 Kamis 16:00-18:59

108 126 3

PDW 2553-Pengembangan Kurikulum dan Pembelajaran

5 A Drs. Puji P.,


(5)

109 129 3

PDW 2553-Pengembangan Kurikulum dan Pembelajaran

5 D Eny Winarti,

Ph.D. 21 Kamis 10:00-12:59

110 12 2

PDW 2119-Perkembangan dan Belajar Peserta Didik 1

1 B

Brigitta Erlita TA., S.Psi., M.Psi.

21 Kamis 13:00-15:59

111 47 2

PDW

2155-Keterampilan Menulis Ilmiah

1 B Galih K. S.Pd.

M.Pd. 21 Kamis 16:00-18:59

112 51 2 USD 120-Pendidikan

Agama 1 A

Dra. Ignatia Esti S., M.Hum.

22 Kamis 07:00-09:59

113 70 3 PDW 2335-IPS 3 E Rusmawan,

S.Pd., M.Pd. 22 Kamis 10:00-12:59 114 37 2 PDW 2126-Bahasa

Inggris 1 1 B

Th. Laksmi W.,

M.Hum 22 Kamis 13:00-15:59 115 0 0 --- 0 - - 22 Kamis 16:00-18:59 116 64 2 PDW 2334-PKn 3 D

Drs. P. Wahana, M.Hum.

24 Kamis 07:00-09:59

117 143 3 PDW 2557II-Metopen 2 5 C

Irine Kurniastuti, M.Psi.

24 Kamis 10:00-12:59

118 23 3 PDW 2123-IPA Biologi 1 C Agnes Herlina

DH, MT., M.Si. 24 Kamis 13:00-15:59

119 85 2

PDW 2343F

-Pendidikan IPA(Fisika) 3 E

M. Melani Ika

S., M.Pd. 24 Kamis 16:00-18:59

120 43 2 PDW 2126P-Bahasa

Inggris 1(Prakt) 1 C

Th. Laksmi W.,

M.Hum L.LIS Kamis 07:00-09:59 121 112 2

PDP 25x3-Matakuliah Pilihan 3 (International Curr.3)

5 B Eny Winarti,

Ph.D. L.LIS Kamis 10:00-12:59 122 139 3 PDW 2557I-Metopen 1 5 D Th. Yunia S.,

S.Pd., M.Hum. L.LIS Kamis 13:00-15:59 123 125 3 PDW

2552-Pembelajaran Terpadu 5 E

Agnes Herlina

DH, MT., M.Si. L.LIS Kamis 16:00-18:59 124 146 2 USD 224-Pendidikan

Kewarganegaraan 5 A

Johannes

Sabari L.SBK Kamis 07:00-09:59 125 94 3

PDW 2345-Pendidikan Bahasa dan Sastra Indonesia 1

3 D Apri Damai

SK, S.S., M.Pd L.SBK Kamis 10:00-12:59

126 4 2 PDW 2106-Logika 1 D

Drs. YB Adimassana, M.A.

L.SBK Kamis 13:00-15:59

127 58 2

PDW 2319-Perkembangan dan Belajar Peserta Didik 2

3 C Laurentia Aptik

E., S.Psi., M.A. L.SBK Kamis 16:00-18:59

128 3 2 PDW 2106-Logika 1 C

G. Ari Nugraha, S.J.,M.A.

11 Jumat 07:00-09:59

129 50 2

PDW

2155-Keterampilan Menulis Ilmiah

1 E

Drs. St. Kartono, M.Hum.

11 Jumat 10:00-12:59

130 30 3 PDW 2124-IPA Fisika 1 E

Ir. Sri Agustiningsih S., M.Si.

11 Jumat 13:00-15:59

131 81 2

PDW 2343F

-Pendidikan IPA(Fisika) 3 A M. Melani Ika S., M.Pd. 11 Jumat 16:00-18:59

132 46 2

PDW

2155-Keterampilan Menulis Ilmiah

1 A Galih K. S.Pd.


(6)

133 79 2 PDW 2343B-Pendidikan

IPA(Biologi) 3 D

Agnes Herlina

DH, MT., M.Si. 12 Jumat 10:00-12:59 134 111 2

PDP 25x3-Matakuliah Pilihan 3 (International Curr.3)

5 A Eny Winarti,

Ph.D. 12 Jumat 13:00-15:59

135 21 3 PDW 2123-IPA Biologi 1 A

Wahyu Wido S., S.Si., M.Biotech

12 Jumat 16:00-18:59

136 34 3 PDW 2125-Matematika

1 1 D

M. Agustina

Amelia, M.Si. 13 Jumat 07:00-09:59 137 62 2 PDW 2334-PKn 3 B DR. H.

Purwanta 13 Jumat 10:00-12:59 138 57 2

PDW 2319-Perkembangan dan Belajar Peserta Didik 2

3 B Laurentia Aptik

E., S.Psi., M.A. 13 Jumat 13:00-15:59 139 124 3 PDW 2552-Pembelajaran Terpadu 5 D Agnes Herlina DH, MT., M.Si. 13 Jumat 16:00-18:59 140 32 3 PDW 2125-Matematika

1 1 B

Christiyanti A.,

S.Si., M.Pd. 21 Jumat 07:00-09:59 141 105 2 USD 123-Pendidikan

Pancasila 3 E

Widi Astutik,

M.Pd. 21 Jumat 10:00-12:59 142 76 2 PDW 2343B-Pendidikan IPA(Biologi) 3 A

Wahyu Wido S., S.Si., M.Biotech

21 Jumat 13:00-15:59

143 122 3 PDW

2552-Pembelajaran Terpadu 5 B

Dra. Maslichah

A., M.Pd. 21 Jumat 16:00-18:59

144 83 2

PDW 2343F

-Pendidikan IPA(Fisika) 3 C

M. Melani Ika

S., M.Pd. 22 Jumat 07:00-09:59

145 137 3 PDW 2557I-Metopen 1 5 B Laurentia Aptik

E., S.Psi., M.A. 22 Jumat 10:00-12:59 146 41 2 PDW 2126P-Bahasa

Inggris 1(Prakt) 1 A

AG. Sujatmiko

BS., M.Hum. 22 Jumat 13:00-15:59 147 39 2 PDW 2126-Bahasa

Inggris 1 1 D

Th. Laksmi W.,

M.Hum 22 Jumat 16:00-18:59 148 138 3 PDW 2557I-Metopen 1 5 C Catur Rismiati,

M.A., Ed.D. 24 Jumat 07:00-09:59 149 144 3 PDW 2557II-Metopen 2 5 D

G. Ari Nugraha, S.J.,M.A.

24 Jumat 10:00-12:59

150 109 3

PDP 25x1-Matakuliah Pilihan 1 (International Curr.1)

5 D

Andri Anugrahana, M.Pd.

24 Jumat 13:00-15:59

151 102 2 USD 123-Pendidikan

Pancasila 3 B

Drs. P. Wahana, M.Hum.

24 Jumat 16:00-18:59

152 45 2 PDW 2126P-Bahasa

Inggris 1(Prakt) 1 E

AG. Sujatmiko

BS., M.Hum. L.LIS Jumat 07:00-09:59 153 101 2 USD 123-Pendidikan

Pancasila 3 A

Drs. P. Wahana, M.Hum.

L.LIS Jumat 10:00-12:59

154 22 3 PDW 2123-IPA Biologi 1 B Agnes Herlina

DH, MT., M.Si. L.LIS Jumat 13:00-15:59 155 103 2 USD 123-Pendidikan

Pancasila 3 C

Imma Indra D.W., S.H., M.Hum

L.LIS Jumat 16:00-18:59

156 60 2

PDW 2319-Perkembangan dan Belajar Peserta Didik 2

3 E

E. Desiana Mayasari, S.Psi., M.A.

L.SBK Jumat 07:00-09:59

157 28 3 PDW 2124-IPA Fisika 1 C M. Melani Ika

S., M.Pd. L.SBK Jumat 10:00-12:59 158 98 2 PDW 2356-Statistik

Pendidikan 3 C

Catur Rismiati,

M.A., Ed.D. L.SBK Jumat 13:00-15:59 159 52 2 USD 120-Pendidikan

Agama 1 B

Jonsa