• Tidak ada hasil yang ditemukan

SISTEM PENJADWALAN MATA KULIAH DENGAN ALGORITMA GENETIKA

N/A
N/A
Protected

Academic year: 2021

Membagikan "SISTEM PENJADWALAN MATA KULIAH DENGAN ALGORITMA GENETIKA"

Copied!
17
0
0

Teks penuh

(1)

i

SISTEM PENJADWALAN MATA KULIAH DENGAN

ALGORITMA GENETIKA

JUDUL

TUGAS AKHIR

Diajukan guna memenuhi sebagian persyaratan

Dalam rangka menyelesaikan pendidikan sarjana strata satu (S1) Jurusan Teknik Elektro

Oleh :

I PUTU BAYU DHARMAPUTRA NIM. 0504405013

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK UNIVERSITAS UDAYANA

JIMBARAN-BALI

(2)

ii

LEMBAR PERNYATAAN

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 juga 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 pustaka.

Denpasar, 15 Juli 2012

(3)

iii

JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK UNIVERSITAS UDAYANA

LEMBAR PENGESAHAN TUGAS AKHIR

JUDUL : SISTEM PENJADWALAN MATA KULIAH DENGAN ALGORITMA GENETIKA

NAMA : I PUTU BAYU DHARMAPUTRA NIM : 0504405013

FAKULTAS : TEKNIK

JURUSAN : TEKNIK ELEKTRO

BIDANG STUDI : SISTEM KOMPUTER DAN INFORMATIKA DIUJI TANGGAL : 11 JULI 2012

Menyetujui,

Dosen Pembimbing I,

(Dr. I K G Darma Putra, S.Kom., MT.)

NIP. 19740424 199903 1 003

Dosen Pembimbing II,

(A. A. K. Oka Sudana, S.Kom, MT.)

NIP. 19750612 199903 1 002

Mengetahui,

Ketua Jurusan Teknik Elektro Fakultas Teknik Universitas Udayana,

(Ir. I Nyoman Setiawan, MT.)

(4)

iv

ABSTRAK

Penjadwalan mata kuliah merupakan salah satu kegiatan dalam universitas yang membutuhkan banyak waktu untuk menyelesaikannya. Jadwal mata kuliah yang baik adalah jadwal yang memperhatikan semua komponen dasar penyusunnya. Komponen dasar terdiri atas dosen, mata kuliah, ruangan, dan jam kuliah.

Salah satu algoritma yang muncul untuk menyelesaikan persoalan ini adalah algoritma genetika, Pada peneletian ini akan dibuat program algoritma genetik untuk membuat penjadwalan mata kuliah. Sistem algoritma genetik didesain menggunakan representasi kromosom, inisialisi populasi, reproduksi dan seleksi, crossover, mutasi dan evaluasi fitness.

Berdasarkan hasil analisa diperoleh bahwa parameter kontrol AG pada nilai-nilai tertentu dapat memberikan pengaruh positif atau negatif terhadap hasil optimalisasi

(5)

v

ABSTRACT

Scheduling is one of the courses in university activities that require a lot of time to complete. A good schedule of courses is scheduled to take into account all the basic components of the constituent. The basic components consist of faculty, courses, rooms, and lecture hours.

One algorithm that appears to solve this problem is a genetic algorithm, the program will be made peneletian genetic algorithm to create a course schedule. The system is designed using a genetic algorithm chromosome representation, inisialisi population, reproduction and selection, crossover, mutation and fitness evaluation.

Analysis of the results obtained that the Genetic Algorithm control parameters on the specific values can be positive or negative influence on the results of the optimization.

(6)

vi

KATA PENGANTAR

Puji dan syukur penulis panjatkan kehadapan Ida Sang Hyang Widi Wasa/Tuhan Yang Maha Esa, karena atas asung wara nugraha-Nya, akhir penulis dapat menyelesaikan laporan tugas akhir ini. Laporan tugas akhir yang berjudul “SISTEM PENJADWALAN MATA KULIAH DENGAN ALGORITMA

GENETIKA” ini disusun sebagai syarat untuk memenuhi sebagian persyaratan

menyelesaikan Program Sarjana S-1 pada Jurusan Teknik Elektro Universitas Udayana.

Dalam penyusunan tugas akhir ini, penulis mendapatkan petunjuk dan bimbingan dari berbagai pihak. Sehubungan dengan hal tersebut pada kesempatan ini penulis menyampaikan ucapan terima kasih kepada :

1. Bapak Dr. I K G Darma Putra, S.Kom, M.T. sebagai Pembimbing I yang telah banyak memberi bimbingan dan masukan.

2. Bapak A. A. K. Oka Sudana, S.Kom, MT. sebagai Pembimbing II yang telah banyak memberi bimbingan dan masukan.

3. Teman-teman angkatan 2005 Jurusan Teknik Elektro yang telah memberikan kontribusi yang luar biasa besar kepada penulis, yang tidak dapat penulis sebutkan satu persatu.

Karya manusia tidak akan pernah sempurna karena manusia memiliki kelebihan serta kekurangan masing-masing. Demikian halnya dengan karya ini yang telah diusahakan dibuat dengan segenap kemampuan yang ada, jika masih ada kekurangan, penulis akan bertanggung jawab sepenuhnya.

Denpasar, Mei 2012 Penulis

(7)

vii

DAFTAR ISI

JUDUL ... i

LEMBAR PERNYATAAN ... ii

LEMBAR PENGESAHAN ... iii

ABSTRAK ... iv

ABSTRACT ...v

KATA PENGANTAR ... vi

DAFTAR ISI ... vii

DAFTAR GAMBAR ... xi

DAFTAR TABEL ... xiv

DAFTAR SINGKATAN ... xvi

BAB I PENDAHULUAN ...1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 1

1.3 Tujuan ... 2

1.4 Manfaat ... 2

1.5 Ruang Lingkup dan Batasan Masalah ... 3

1.6 Sistematika Pembahasan ... 3

BAB II TINJAUAN PUSTAKA ...5

2.1 Algoritma Genetika ... 5

2.1.1 Pengertian Algoritma Genetika ... 5

2.1.2 Sejarah Algoritma genetika ... 5

2.1.3 Pengertian Populasi AG ... 7

2.1.4 Operasional AG ... 9

2.1.4.1 Membangun Generasi Awal ... 10

2.1.4.2 Representasi kromosom ... 10

2.1.4.3 Fungsi fitness ... 11

2.1.4.4 Seleksi ... 12

(8)

viii

2.1.4.6 Mutasi ... 15

2.1.4.7 Kondisi Berhenti ... 16

2.1.5 Kontrol Parameter Algoritma Genetika ... 16

2.2 Perkembangan Metode Penjadwalan ... 18

2.2.1 Ant Colony Optimization ... 18

2.2.2 Tabu Search ... 18

2.2.2 Colloring Search ... 18

2.3 Perangkat Permodelan Sistem ... 19

2.3.1 Diagram konteks ... 19

2.3.2 Data flow diagram (DFD) ... 19

2.3.3 Flowchart ... 20

2.4 Konsep Database Management System (DBMS) ... 22

2.4.1 Definisi DBMS dan database ... 22

2.4.2 Bahasa DBMS ... 22

2.4.3 Komponen DBMS ... 24

2.4.4 Kegunaan DBMS ... 25

2.5 Bahasa Pemrograman Microsoft Visual C# ... 26

2.6 Database SQL Server ... 27

2.6.1 Komponen SQL Server ... 27

2.6.2 Keunggulan SQL Server ... 29

2.6.3 Tipe Data SQL Server ... 29

BAB III METODE DAN PERANCANGAN SISTEM ...33

3.1 Tempat dan Waktu Penelitian ... 33

3.2 Data ... 33

3.2.1 Sumber data ... 33

3.2.2 Jenis data ... 33

3.2.3 Cara pengumpulan data ... 33

3.3 Deskripsi Masalah ... 34

3.3.1 Representasi Individu ... 36

3.3.2 Rekombinasi ... 38

(9)

ix

3.3.4 Fungsi Fitness ... 39

3.4 Analisis Data ... 40

3.4.1 Data Flow Diagram (DFD) ... 41

3.4.1.1 Diagram konteks ... 41

3.4.1.2 Diagram berjenjang (Hierarchy chart) ... 41

3.4.1.3 DFD level 0 ... 43

3.4.1.4 DFD level 1 ... 44

3.4.1.5 DFD level 2 ... 47

3.4.2 Struktur data ... 50

3.4.3 Entitas dan himpunan entitas ... 57

3.4.4 Hubungan antar tabel ... 57

3.4.5 Flowchart ... 58

3.4.5.1 Flowchart membuat populasi awal ... 58

3.4.5.2 Flowchart input mata kuliah ... 61

3.4.5.3 Flowchart hitung fitness ... 61

3.4.5.4 Flowchart hitung jumlah bentrok... 64

3.4.5.5 Flowchart crossover ... 68

3.4.5.6 Flowchart mutasi ... 70

3.5 Alur Analisis ... 72

3.6 Jadwal Kegiatan Penelitian ... 72

BAB IV PENGUJIAN DAN ANALISIS HASIL PENGUJIAN ...74

4.1 Implementasi Sistem ... 74

4.1.1 Inisialisasi populasi awal... 74

4.1.2 Evaluasi fitness ... 76 4.1.3 Seleksi ... 83 4.1.4 Crossover ... 85 4.1.5 Mutasi ... 87 4.1.6 Populasi baru ... 89 4.2 Pengujian Sistem ... 92

(10)

x 4.2.1.1 Pengujian GA dengan metode seleksi Generational Replacement

... 92

4.2.1.2 Pengujian GA dengan metode seleksi Steady-State Selection .. 94

4.2.1.3 Pengujian GA dengan Metode Seleksi Elitism ... 97

4.2.2 Pengujian GA Terhadap Bobot Pelanggaran ... 100

4.2.3 Pengujian GA Terhadap Sering Tidaknya Terjadi Crossover dan Mutasi ... 101

4.2.3.1 Nilai Pc dan Pm Rendah ... 101

4.2.3.2 Nilai Pc dan Pm Tinggi ... 102

4.2.4 Pengujian GA Terhadap Parameter Hari yang digunakan ... 103

4.2.4.1 Pengujian GA dengan Parameter Hari Senin sampai dengan Kamis………. ... 104

4.2.4.2 Pengujian GA dengan Parameter Hari Senin sampai dengan Jumat……… ... 105

4.3 Analisis Kekurangan dan Kelebihan Aplikasi ... 106

BAB V PENUTUP ...108

5.1 Simpulan ... 108

5.2 Saran ... 109

DAFTAR PUSTAKA ...110

(11)

xi

DAFTAR GAMBAR

Gambar 2.1 Susunan dari Populasi ... 8

Gambar 2.2 Siklus Algoritma Genetika ... 10

Gambar 2.3 Representasi Kromosom Menggunakan Binary Encoding ... 11

Gambar 2.4 Seleksi Orang Tua Menggunakan Algoritma Roulette-Wheel ... 13

Gambar 2.5 Contoh Rekombinasi Satu Titik ... 14

Gambar 2.6 Contoh Rekombinasi Dua Titik ... 14

Gambar 2.7 Notasi kesatuan luar di DFD ... 20

Gambar 2.8 Notasi proses di DFD ... 20

Gambar 2.9 Arus Data dari kesatuan luar ke proses ... 20

Gambar 3.1 Representasi Kuliah untuk Masalah Penjadwalan Kuliah... 36

Gambar 3.2 Konversi Kromosom dari Matriks 3 menjadi Matriks 2 ... 37

Gambar 3.3 Rekombinasi Order Crossover pada Kromosom 2 Dimensi ... …… 38

Gambar 3.4 Swap Mutation pada kromosom 2dimensi ... 38

Gambar 3.5 Mutasi Kromosom dengan Mengubah Suatu Gen dalam Kromosom39 Gambar 3.6 Flowchart Algoritma Genetika ... 40

Gambar 3.7 Diagram Konteks Sistem Penjadwalan dengan Algoritma Genetika 41 Gambar 3.8 Diagram Berjenjang Sistem Penjadwalan dengan Algoritma Genetika ... 42

Gambar 3.9 DFD Level 0 Sistem Penjadwalan dengan Algoritma Genetika ... 43

Gambar 3.10 DFD Level 1 Proses Login ... 44

Gambar 3.11 DFD Level 1 Proses Pengolahan Data Penjadwalan ... 45

Gambar 3.12 DFD Level 1 Proses Algoritma genetika ... 46

Gambar 3.13 DFD Level 2 Proses Mengolah Data Dosen ... 47

Gambar 3.14 DFD Level 2 Proses Mengolah Data Mata Kuliah ... 47

Gambar 3.15 DFD Level 2 Proses Mengolah Data Ruangan ... 48

Gambar 3.16 DFD Level 2 Proses Mengolah Data Waktu ... 48

Gambar 3.17 DFD Level 2 Proses Request Dosen ... 49

Gambar 3.18 Hubungan Antar Tabel ... 58

(12)

xii Gambar 3.20 Flowchart Isi slot jadwal dengan Kombinasi Hari, Ruang, Waktu 60

Gambar 3.21 Flowchart Input Data Mata Kuliah Ke Dalam Slot ... 61

Gambar 3.22 Flowchart Menghitung Fitness ... 63

Gambar 3.23 Flowchart Menghitung Jumlah Mata Kuliah dengan Bentrok Dosen ... 65

Gambar 3.24 Flowchart Menghitung Jumlah Mata Kuliah dengan Bentrok Mahasiswa………..66

Gambar 3.25 Flowchart Menghitung Kesalahan Kapasitas Ruangan ... 67

Gambar 3.26 Flowchart Menghitung Kesalahan Request Dosen ... 68

Gambar 3.27 Flowchart Proses Crossover ... 69

Gambar 3.28 Flowchart Mutasi ... 71

Gambar 3.29 Flowchart Alur Analisis ... 72

Gambar 4.1 Proses Input Inisialisasi Populasi Awal ... 74

Gambar 4.2 Proses Pemilihan Individu Awal ... 76

Gambar 4.3 Show Individu Awal ... 76

Gambar 4.4 List Bentrok dari Sisi Dosen ... 77

Gambar 4.5 View Bentrok dari Sisi Dosen... 78

Gambar 4.6 List Bentrok dari Sisi Mahasiswa ... 79

Gambar 4.7 View Bentrok dari Sisi Mahasiswa ... 79

Gambar 4.8 List Bentrok Karena Kapasitas Ruangan Tidak Sesuai ... 80

Gambar 4.9 View Bentrok Karena Kapasitas Ruangan Tidak Sesuai dengan Peserta Perkuliahan ... 81

Gambar 4.10 List Request Dosen Tidak Terpenuhi ... 82

Gambar 4.11 ViewRequest Dosen yang Tidak Terpenuhi ... 82

Gambar 4.12 Form Bobot Pelanggaran ... 83

Gambar 4.13 Menampilkan Fitness masing-masing Individu ... 83

Gambar 4.14Metode Roulette Wheel ... 84

Gambar 4.15 Pencarian Parent ... 84

Gambar 4.16 Parent Satu Sebelum Proses Crossover ... 85

Gambar 4.17 Parent Dua Sebelum Proses Crossover ... 86

(13)

xiii

Gambar 4.19 Parent Dua Sesudah Proses Crossover ... 87

Gambar 4.20 Parent Sebelum di Mutasi ... 88

Gambar 4.21 Parent Sesudah di Mutasi ... 89

Gambar 4.22 Perhitungan Fitness dari Offspring yang tercipta ... 90

Gambar 4.23 Individu Baru... 90

Gambar 4.24 Grafik Fitness Seluruh Iterasi ... 91

Gambar 4.25 Jadwal Mata Kuliah Dalam Excel ... 91

Gambar 4.26 Proses Pemilihan Hari ... 93

Gambar 4.27 Proses Pemilihan Ruangan ... 93

Gambar 4.28 Grafik Fitness AG dengan Metode Generational Replacement ... 94

Gambar 4.29 Proses Pemilihan Hari ... 95

Gambar 4.30 Proses Pemilihan Ruangan ... 96

Gambar 4.31 Grafik Fitness AG dengan Metode Seleksi Steady-State Selection 96 Gambar 4.32 Proses Pemilihan Hari ... 98

Gambar 4.33 Proses Pemilihan Ruangan ... 98

Gambar 4.34 Grafik Fitness AG dengan Metode Seleksi Elitism ... 99

Gambar 4.35 Grafik Fitness AG dengan Pc dan Pm Rendah ... 102

Gambar 4.36 Grafik Fitness AG dengan Pc dan Pm Tinggi ... 103

Gambar 4.37 Grafik Fitness AG dengan Parameter Hari (Senin-Kamis) ... 104

(14)

xiv

DAFTAR TABEL

Tabel 2.1 Contoh perintah Data Definition Language (DDL) ... 23

Tabel 2.2 Contoh perintah Data Manipulation Language (DML) ... 23

Tabel 2.3 Katagori Tipe Data ... 29

Tabel 2.4 Tipe Data Exact Numeric ... 30

Tabel 2.5 Tipe Data Approximate Numeric... 30

Tabel 2.6 Tipe Data Monetary ... 30

Tabel 2.7 Tipe Data Date and Time ... 31

Tabel 2.8 Tipe Data Character... 31

Tabel 2.9 Tipe Data Binary ... 31

Tabel 3.1 Basis Data Pertemuan Kuliah ... 36

Tabel 3.2 Field dari tb_mk ... 50

Tabel 3.3 Contoh isi dari tb_mk ... 50

Tabel 3.4 Field dari tb_dosen ... 51

Tabel 3.5 Contoh isi dari tb_dosen ... 51

Tabel 3.6 Field dari tb_konsentrasi ... 51

Tabel 3.7 Contoh isi dari tb_konsentrasi ... 52

Tabel 3.8 Field dari tb_hari ... 52

Tabel 3.9 Contoh isi dari tb_hari ... 52

Tabel 3.10 Field dari tb_ruang ... 52

Tabel 3.11 Contoh isi dari tb_ruang ... 52

Tabel 3.12 Field dari tb_waktu ... 53

Tabel 3.13 Contoh isi dari tb_waktu ... 53

Tabel 3.14 Field dari tb_mk_ditawarkan ... 53

Tabel 3.15 Contoh isi dari tb_mk_ditawarkan ... 53

Tabel 3.16 Field dari tb_request... 54

Tabel 3.17 Contoh isi dari tb_request ... 54

Tabel 3.18 Field dari tb_jadwal ... 54

Tabel 3.19 Contoh isi dari tb_jadwal ... 55

(15)

xv

Tabel 3.21 Contoh isi dari tb_bentrok ... 55

Tabel 3.22 Field dari tb_bobot ... 55

Tabel 3.23 Contoh isi dari tb_bobot ... 56

Tabel 3.24 Field dari tb_history_fitness ... 56

Tabel 3.25 Contoh isi dari tb_history_fitness ... 56

Tabel 3.26 Field dari tb_user ... 56

Tabel 3.27 Contoh isi dari tb_user ... 57

Tabel 3.28 Jadwal Kegiatan Penelitian ... 73

Tabel 4.1 Variabel GA untuk Proses Seleksi Generational Replacement ... 92

Tabel 4.2 Bobot Kesalahan untuk Proses Seleksi Generational Replacement ... 92

Tabel 4.3 Perbandingan Antara Jumlah Kromosom dengan Waktu Pada Proses Seleksi Generational Replacement ... 94

Tabel 4.4 Variabel GA untuk Proses Seleksi Steady-State Selection... 95

Tabel 4.5 Bobot Kesalahan untuk Proses Seleksi Steady-State Selection ... 95

Tabel 4.6 Perbandingan Antara Jumlah Kromosom dengan Waktu Pada Proses Seleksi Steady-State Selection ... 97

Tabel 4.7 Variabel GA untuk Proses Seleksi Elitism ... 97

Tabel 4.8 Bobot Kesalahan untuk Proses Seleksi Elitism ... 98

Tabel 4.9 Perbandingan Antara Jumlah Kromosom dengan Waktu Pada Proses Seleksi Elitism ... 99

Tabel 4.10 Perbandingan antara bobot pelanggaran dengan nilai fitness... 100

Tabel 4.11 Variabel GA untuk Proses Pengujian Pc dan Pm Rendah ... 101

Tabel 4.12 Variabel GA untuk Proses Pengujian Pc dan Pm Tinggi ... 102

Tabel 4.13 Variabel GA untuk Proses Pengujian Parameter Hari ... 103

Tabel 4.14 Nilai Pinalti untuk Setiap Kesalahan ... 104 Tabel 4.15 Tabel Hasil Nilai Fitness dengan Parameter Hari (Senin-Jumat) 105

(16)

xvi

DAFTAR SINGKATAN

ACO : Ant Colony Optimization

AG : Algoritma Genetika

CLR : Common Language Runtime

DBMS : Database Management System

DCL : Data Control Language

DDL : Data Definition Language

DFD : Data Flow Diagram

DML : Data Manipulation Language

DTS : Data Transformation Service

GA : Genetic Algoritm

IC : Integrated Circuit

MMAS : Max Min Ant System

OLAP : Online Analytical Processing

Pc : Probabilitas Crossover

Pm : Probabilitas Mutasi

SQL : Structured Query Language

TSP : Traveling Salesman Problem

(17)

BIODATA

Nama : I Putu Bayu Dharmaputra

Jenis Kelamin : Laki-laki

Tempat/Tanggal Lahir : Tabanan, 20 Maret 1987

Alamat : Jl. Batas Dukuh Sari Gg Garuda

No.18 Denpasar Selatan

Agama : Hindu

Golongan Darah : B

Nomor Induk Mahasiswa : 0504405013

Fakultas : Teknik

Jurusan : Teknik Elektro

Konsentrasi : Sistem Komputer dan Informatika

Nama Orang Tua

 Ayah : I Wayan Pastika

 Ibu : Ni Nyoman Wiratni

Riwayat Pendidikan

1. TK Kumara Adi (1992 – 1993) 2. SDN 18 Sesetan (1993 - 1999) 3. SLTPK 1 Harapan (1999 - 2002) 4. SMAN 5 Denpasar (2002 - 2005)

5. Fakultas Teknik Jurusan Teknik Elektro Universitas Udayana (2005 - Sekarang)

Referensi

Dokumen terkait

Gen dari parents digabung untuk menghasilkan keturunan yang merupakan generasi baru dari proses evolusi ini diharapkan kromosom yang lebih baik akan menghasilkan jumlah

Berdasarkan hasil pengujian yang dilakukan terhadap nilai parameter, jumlah generasi dan nilai fitness algoritma genetika yaitu 157 individu, jumlah generasi 11,

Algoritma ini dimulai dengan membangun beberapa kombinasi populasi, yang terdiri dari kromosom-kromosom yang berisi data kelas, waktu, ruangan dan dosen, dan kemudian

Gen dalam kasus ini adalah urutan tabel mahasiswa, jadwal ruangan dan waktu telah dikodekan terlebih dahulu sehingga membentuk suatu kromosom, berarti bahwa panjang kromosom

tidak ada waktu perkuliahan yang lewat dari jam 18.00, tidak ada proses belajar mengajar pada waktu 12.10 sampai 13.00 karena waktu tersebut dialokasikan untuk

Gambar 2 memperlihatkan proses crossover yang dilakukan pada populasi minimum 1 (satu). Pada proses ini terlihat bahwa proses seleksi menghasilkan dua kromosom orang tua

Masalah penyusunan jadwal mata kuliah yang ada saat ini seringkali terdapat satu dosen harus mengajar banyak kelas dalam satu waktu atau jam yang sama, pemakaian ruang kelas/

Hard constraint yang umum dalam penjadwalan mata kuliah adalah sebagai berikut:  Tidak terdapat bentrok dosen terhadap waktu mengajar  Tidak terdapat bentrok antar dosen pada ruang