laporan kkp

83
IMPLEMENTASI ALGORITMA GENETIKA PADA SISTEM PENJADWALAN LAB ICT TERPADU LAPORAN KULIAH KERJA PRAKTEK Oleh : 1. 1211501075 Christian Yonathan S. 2. 1211501877 Eddo Careera Iriyanto Putra 3. 1211503568 Muhammad Kailani Ridwan FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS BUDI LUHUR JAKARTA SEMESTER GASAL 2014/2015

Upload: jonathan-christian

Post on 18-Jul-2015

172 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Laporan KKP

IMPLEMENTASI ALGORITMA GENETIKA PADA SISTEM

PENJADWALAN LAB ICT TERPADU

LAPORAN KULIAH KERJA PRAKTEK

Oleh :

1. 1211501075 Christian Yonathan S.

2. 1211501877 Eddo Careera Iriyanto Putra

3. 1211503568 Muhammad Kailani Ridwan

FAKULTAS TEKNOLOGI INFORMASI

UNIVERSITAS BUDI LUHUR

JAKARTA

SEMESTER GASAL

2014/2015

Page 2: Laporan KKP

i

IMPLEMENTASI ALGORITMA GENETIKA PADA SISTEM

PENJADWALAN LAB ICT TERPADU

LAPORAN KULIAH KERJA PRAKTEK

Oleh :

1. 1211501075 Christian Yonathan S.

2. 1211501877 Eddo Careera Iriyanto Putra

3. 1211503568 Muhammad Kailani Ridwan

FAKULTAS TEKNOLOGI INFORMASI

UNIVERSITAS BUDI LUHUR

JAKARTA

SEMESTER GASAL

2014/2015

Page 3: Laporan KKP

ii

Page 4: Laporan KKP

iii

SURAT KETERANGAN

Page 5: Laporan KKP

iv

ABSTRAKSI

Penulis ini bertujuan untuk Penjadwalan ruangan untuk setiap mata kuliah yang

berada di LAB untuk setiap sesi dalam satu hari yang telah ditentukan oleh pihak Fakultas.

Dengan menghitung jumlah mata kuliah yang sama dalam satu hari dan sesi waktu yang

sama. Kemudian setiap semester semakin terus bertambah mata kuliah yang diadakan di

LAB ICT. Pada kasus ini, penulis menggunakan metode algoritma genetika dengan

pengkodean integer, lalu panjang kromosom sebanyak 14. Pengujian dilakukan untuk

memudahkan pekerjaan supervisor dan dapat berupa solusi saran penjadwalan terbaik. Dari

penulis yang telah dilakukan terhadap hasil pengujian penjadwalan didapatkan dari setiap

sesi hari presentase keberhasilan sebesar 90.15%.

Kata Kunci : Genetic Algorithm, Penjadwalan LAB ICT Algoritma Genetika

Xiv+227 halaman; 47 gambar; 11 tabel; 1 lampiran

Page 6: Laporan KKP

v

KATA PENGANTAR

Dengan memanjatkan segala puji syukur Tuhan Yang Maha Esa, yang telah

melimpahkan Rahmat dan Hidayah-Nya serta nikmat sehat kepada Penulis, dan atas karunia-

Nya sehingga Penulis dapat menyelesaikan kegiatan Kuliah Kerja Praktek (KKP) mengenai

Implementasi Algoritma Genetika Pada Sistem Penjadwalan LAB ICT TERPADU.

Selain itu, dalam proses penyelesaian KKP ini tentunya tidak terbatas dari bimbingan,

peranan, dan bantuan berharga dari berbagai pihak. Pada kesempatan ini, penulis ingin

menyampaikan rasa hormat dan ungkapan terima kasih yang tulus kepada :

1. Tuhan Yang Maha Esa atas segala petunjuk dan kemudahan-Nya sehingga pada

akhirnya penulis dapat menyelesaikan Laporan Kuliah Kerja Praktek.

2. Kedua Orang Tua kami yang telah memberikan dorongan dan dukungan baik moral

maupun spiritual.

3. Bapak Prof Ir. Suryo Hapsoro Tri Utomo, PhD. Selaku Rektor, Universitas Budi Luhur.

4. Bapak Goenawan Brotosaputro, S.Kom, M.Sc. selaku Dekan Fakultas Teknologi

Informasi, Universitas Budi Luhur.

5. Bapak Muhammad Ainur Rony, S.Kom, M.T.I. selaku Ketua Program Studi Teknik

Informatika Universitas Budi Luhur dan Dosen Pembimbing KKP.

6. Teman KUTI 2012 yang berjasa dalam penyelesaian KKP ini.

7. Seluruh pihak yang turut membantu yang terlalu banyak bila disebutkan, yang ikut serta

memberikan semangat sehingga KKP ini dapat terselesaikan.

Semoga Tuhan yang maha esa melimpahkan anugerah-Nya atas segala bantuan yang telah

diberikan. Amin. Akhir kata, karena keterbatasan pengetahuan dan pengalaman yang

dimiliki, Penulis menyadari bahwa KKP ini masih jauh dari sempurna. Untuk itu Penulis

mengharapkan saran dan kritik yang membangun dari Pembaca guna kesempurnaan KKP ini.

Semoga KKP ini dapat bermanfaat dan memberikan sumbangan pikiran bagi para Pembaca.

Jakarta, Febuari 2015

Penulis

Page 7: Laporan KKP

vi

DAFTAR TABEL

Halaman Tabel 2.1. : Perbandingan Inilah Pada Sistem Alamiah Dan Algoritma Genetika ............. 3

Tabel 2.2. : Contoh populasi dengan 5 kromosom setelah dirangking .......................... 7

Tabel 3.1. : Spesifikasi Tabel Dosen ......................................................................... 17

Tabel 3.2. : Spesifikasi Tabel Hari ............................................................................ 17

Tabel 3.3. : Spesifikasi Tabel Jam ............................................................................ 17

Tabel 3.4. : Spesifikasi Tabel LAB ............................................................................ 18

Tabel 3.5. : Spesifikasi Tabel Mata kuliah.................................................................. 18

Tabel 3.6. : Spesifikasi Tabel Spesifikasi LAB ............................................................. 18

Tabel 3.7. : Spesifikasi Tabel tjadwal........................................................................ 19

Tabel 3.8. : Hasil Pengujian pertama ........................................................................ 64

Tabel 3.9. : Hasil Pengujian kedua ........................................................................... 65

Page 8: Laporan KKP

vii

DAFTAR GAMBAR

Halaman

Gambar 2.1 : Representasi kromosom dalam pengkodean Integer ............................. 5

Gambar 2.2 : Representasi Kromosom dalam pengkodean Biner ................................ 5

Gambar 2.3 : Contoh penggunaan seleksi dengan metode roulette wheel ................... 6

Gambar 2.4 : Contoh perkawinan silang 1 titik pada pengkodean biner ....................... 7

Gambar 2.5 : Contoh perkawinan silang 2-titik pada pengkodean biner ....................... 8

Gambar 2.6 : Contoh mutasi pada pengkodean Integer............................................. 9

Gambar 2.7 : Contoh mutasi pada pengkodean Biner ................................................ 9

Gambar 2.8 : Diagram alir algoritma genetik .......................................................... 12

Gambar 3.1 : Rancangan Entity Relationship Diagram ............................................. 14

Gambar 3.2 : Rancangan ER-Diagram Ke Logical Record Structure ........................... 15

Gambar 3.3 : Rancangan Logical Record Structure ................................................. 16

Gambar 3.4 : Form Rancangan Layar Form Menu ................................................... 20

Gambar 3.5 : Rancangan Layar Form Mata Kuliah .................................................. 21

Gambar 3.6 : Rancangan Layar Form PopUp Mata Kuliah ........................................ 22

Gambar 3.7 : Rancangan Layar Form Dosen .......................................................... 22

Gambar 3.8 : Rancangan Layar Form PopUp Dosen ................................................ 23

Gambar 3.9 : Rancangan Layar Form LAB.............................................................. 24

Gambar 3.10 : Rancangan Layar Form Hari ............................................................. 25

Gambar 3.11 : Rancangan Layar Form Jam ............................................................. 26

Gambar 3.12 : Rancangan Layar Form Spesifikasi LAB .............................................. 27

Gambar 3.13 : Rancangan Layar Form Input Jadwal ................................................. 28

Gambar 3.14 : Rancangan Layar Form Generate ...................................................... 29

Gambar 3.15 : Rancangan Layar Form Menu Utama ................................................. 30

Gambar 3.16 : Rancangan Layar Form Mata Kuliah .................................................. 32

Gambar 3.17 : Rancangan Layar Form MenuPopUp Mata Kuliah................................. 33

Gambar 3.18 : Rancangan Layar Form Dosen .......................................................... 36

Gambar 3.19 : Rancangan Layar Form MenuPopUp Dosen ........................................ 37

Gambar 3.20 : Rancangan Layar Form LAB.............................................................. 40

Gambar 3.21 : Rancangan Layar Form Hari ............................................................. 42

Gambar 3.22 : Rancangan Layar Form Jam ............................................................. 44

Gambar 3.23 : Rancangan Layar Form Spesifikasi LAB .............................................. 47

Page 9: Laporan KKP

viii

Gambar 3.24 : Rancangan Layar Form Input Jadwal ................................................. 49

Gambar 3.25 : Rancangan Layar Form Generate ...................................................... 51

Gambar 4.1 : Tampilan Layar Menu Utama ............................................................ 54

Gambar 4.2 : Tampilan Layar Form Mata Kuliah ..................................................... 55

Gambar 4.3 : Tampilan Layar Form PopUp Mata Kuliah ........................................... 56

Gambar 4.4 : Tampilan Layar Form Dosen ............................................................. 57

Gambar 4.5 : Tampilan Layar Form PopUp Dosen ................................................... 57

Gambar 4.6 : Tampilan Layar Form LAB ................................................................ 58

Gambar 4.7 : Tampilan Layar Form Hari ................................................................ 59

Gambar 4.8 : Tampilan Layar Form Jam ................................................................ 59

Gambar 4.9 : Tampilan Layar Form Spesifikasi LAB ................................................. 60

Gambar 4.10 : Tampilan Layar Form Input Jadwal ................................................... 61

Gambar 4.11 : Tampilan Layar Form Generate Jadwal .............................................. 62

Gambar 4.12 : Representasi Integer Pada LAB ......................................................... 63

Gambar 4.13 : Form Generate Hasil Pengujian Pertama ............................................ 63

Gambar 4.14 : Form Generate Hasil Pengujian Kedua ............................................... 65

Page 10: Laporan KKP

ix

DAFTAR SIMBOL

1. Diagram ERD

Entity (Entitas)

Merupakan sekumpulan orang, tempat obyek yang

menampilkan data dicatat atau disimpan

Relationship (Hubungan)

Menggambarkan hubungan yang terjadi pada dua

entitas atau lebih

Cardinality (Kardinalitas)

Menggambarkan tingkat hubungan yang terjadi pada

dua buah entitas

Weak Entity (Entitas Lemah)

Merupakan entitas yang tidak memiliki primary key

dan tergantung pada primary key entitas lain

Weak Relationship (Hubungan Lemah)

Menggambarkan hubungan yang terjadi pada dua

entitas atau lebih yang bersifat lemah

Garis

Menunjukkan garis penghubung

Page 11: Laporan KKP

x

2. Flowchart

Terminator

Digunakan untuk menggambarkan kegiatan awal

atau akhir dari suatu proses.

Process

Digunakan untuk menggambarkan suatu proses

Input /Output

Digunakan untuk menggambarkan suatu kegiatan

masukkan maupun keluaran.

Decision

Digunakan untuk menggambarkan suatu keputusan

atau tindakan yang harus diambil pada suatu kondisi

tertentu.

Predifined Process

Digunakan untuk menggambarkan suatu kegiatan

atau proses.

Line Connector

Digunakan untuk menghubungkan satu simbol

dengan simbol yang lain pada halaman modul yang

lainnya.

On – page Connector

Digunakan untuk menghubungkan satu simbol

dengan simbol yang lainnya pada halaman yang

sama

Off – page Connector

Digunakan untuk menghubungkan satu simbol

dengan simbol yang lainnya pada halaman yang

berbeda.

Page 12: Laporan KKP

xi

DAFTAR ISI

Halaman

HALAMAN JUDUL ...................................................................................................... i

LEMBAR PENGESAHAN .............................................................................................. ii

SURAT KETERANGAN ................................................................................................ iii

ABSTRAKSI .............................................................................................................. iv

KATA PENGANTAR .................................................................................................... v

DAFTAR TABEL ........................................................................................................ vi

DAFTAR GAMBAR ..................................................................................................... vii

DAFTAR SIMBOL ...................................................................................................... ix

DAFTAR ISI ............................................................................................................. xi

BAB I PENDAHULUAN .............................................................................................. 1

1. Latar Belakang ........................................................................................ 1

2. Masalah.................................................................................................. 1

3. Tujuan Penulisan ..................................................................................... 1

4. Batasan Permasalahan ............................................................................. 2

5. Metode Penelitian .................................................................................... 2

a. Studi Literatur .................................................................................... 2

b. Studi kasus ........................................................................................ 2

c. Pengembangan Sistem ........................................................................ 2

6. Sistematika Penulisan .............................................................................. 2

BAB II LANDASAN TEORI ......................................................................................... 3

1. Algoritma Genetika .................................................................................. 3

a. Pengkodean ....................................................................................... 4

1) Pengkodean Integer ....................................................................... 5

2) Pengkodean Biner .......................................................................... 5

b. Seleksi ............................................................................................... 6

1) Seleksi Roda Roulette (Roulette Wheel Selection). ............................. 6

2) Seleksi Rangking (Rank Selection) ................................................... 6

c. Perkawinan silang (Cross Over) ............................................................ 7

1) Perkawinan Silang Satu Titik ........................................................... 7

Page 13: Laporan KKP

xii

2) Perkawinan silang dua titik.............................................................. 8

d. Mutasi ............................................................................................... 8

1) Mutasi Untuk pengkodean Integer ................................................... 8

2) Mutasi Untuk pengkodean Biner ...................................................... 9

e. Update Generasi ................................................................................. 9

2. Paramater – parameter Algoritma Genetik .................................................. 10

a. Ukuran Populasi .................................................................................. 10

b. Jumlah Generasi ................................................................................. 10

c. Probabilitas kawin silang(Pc) ................................................................ 10

d. Probabilitas Mutasi(Pm) ....................................................................... 11

e. Probabilitas Elitisme ............................................................................ 11

BAB III ANALISIS DAN PERANCANGAN PROGRAM ....................................................... 13

1. Analisa Masalah....................................................................................... 13

2. Solusi ..................................................................................................... 13

3. Rancangan Basis Data .............................................................................. 13

a. ERD (Entity Relationship Diagram) ........................................................ 13

b. Transformasi ER-Diagram ke LRS (Logical Record Structure) .................... 15

c. LRS (Logical Record Structure) ............................................................. 15

d. Spesifikasi Basis Data .......................................................................... 17

1) Tabel Dosen .................................................................................. 17

2) Tabel Hari ..................................................................................... 17

3) Tabel Jam ..................................................................................... 17

4) Tabel LAB ..................................................................................... 18

5) Tabel Matkul ................................................................................. 18

6) Tabel Spek_LAB ............................................................................. 18

7) Tabel tjadwal ................................................................................ 19

4. Rancangan Layar Aplikasi ......................................................................... 19

a. Rancangan Layar Form Menu ............................................................... 19

b. Rancangan Layar Form Master ............................................................. 20

1) Form Mata Kuliah ........................................................................... 20

2) Form Dosen .................................................................................. 22

3) Form LAB ...................................................................................... 23

4) Form Hari ..................................................................................... 24

Page 14: Laporan KKP

xiii

5) Form Jam ..................................................................................... 25

c. Rancangan Layar Form Transaksi.......................................................... 26

1) Rancangan Layar Form Spesifikasi LAB ............................................. 26

2) Rancangan Layar Form Input Jadwal................................................ 27

d. Rancangan Layar Form Generate Jadwal ............................................... 28

1) Rancangan Layar Form Generate ..................................................... 28

5. Flowchart dan Algoritma........................................................................... 29

a. Flowchart dan Algoritma Form Menu Utama ........................................... 29

b. Flowchart dan Algoritma Form Mata kuliah ............................................. 32

c. Flowchart dan Algoritma Form Dosen .................................................... 36

d. Flowchart dan Algoritma Form LAB ....................................................... 40

e. Flowchart dan Algoritma Form Hari ....................................................... 42

f. Flowchart dan Algoritma Form Jam ....................................................... 44

g. Flowchart dan Algoritma Form Spesifikasi LAB ........................................ 46

h. Flowchart dan Algoritma Form Input Jadwal ........................................... 49

i. Flowchart dan Algoritma Form Generate ................................................ 51

j. Algoritma Pada Algoritma Genetika ....................................................... 52

BAB IV IMPLEMENTASI / PEMECAHAN MASALAH ........................................................ 53

1. Spesifikasi Hardware dan Software ............................................................ 53

a. Implementasi Algoritma pada Genetika Penjadwalan LAB ICT .................. 53

1) Hardware ...................................................................................... 53

2) Software ....................................................................................... 53

2. Tampilan Layar Program .......................................................................... 53

a. Tampilan Layar Menu .......................................................................... 53

b. Tampilan Layar Form Mata Kuliah ......................................................... 54

c. Tampilan Layar Form Dosen ................................................................. 56

d. Tampilan Layar Form LAB .................................................................... 57

e. Tampilan Layar Form Hari .................................................................... 58

f. Tampilan Layar Form Jam .................................................................... 59

g. Tampilan Layar Form Spesifikasi LAB ..................................................... 59

h. Tampilan Layar Form Input Jadwal ....................................................... 60

i. Tampilan Layar Form Generate Jadwal .................................................. 61

3. Hasil Pengujian ....................................................................................... 62

Page 15: Laporan KKP

xiv

a. Hasil Pengujian Pertama ...................................................................... 63

b. Hasil Pengujian Kedua ......................................................................... 64

4. Evaluasi Program ..................................................................................... 66

a. Kelebihan Program .............................................................................. 66

b. Kekurangan Program ........................................................................... 66

BAB V PENUTUP ...................................................................................................... 67

1. Kesimpulan ............................................................................................. 67

2. Saran ..................................................................................................... 67

DAFTAR PUSTAKA .................................................................................................... 68

Page 16: Laporan KKP

1

BAB I

PENDAHULUAN

1. Latar Belakang

Pada era modern ini, teknologi dan informasi semakin berkembang pesat. Oleh

sebab itu melalui bantuan setiap sistem yang ada diharapkan memudahkan pekerjaan

seseorang. Jadwal menurut kamus besar bahasa Indonesia merupakan pembagian

waktu berdasarkan rencana pengaturan urutan kerja, daftar atau tabel kegiatan atau

rencana waktu kegiatan dengan pembagian waktu pelaksanaan yang terperinci.

Sedangkan pengertian penjadwalan adalah proses, cara, perbuatan menjadwalkan atau

memasukan ke dalam jadwal.

Masalah penjadwalan merupakan masalah yang sangat kompleks dan tergolong

dalam kategori interactable program, yaitu sebuah masalah yang sulit untuk

diselesaikan (dipandang dari segi komputasi) karena tidak ditemukan adanya algoritma

yang efisien untuk menyelesaikannya. Penjadwalan praktikum tergolong masalah NP-Complete, dikarenakan melibatkan banyak komponen dan dalam proses penyusunannya

perlu memperhatikan kombinasi-kombinasi aturan dari komponen-komponen tersebut.

Pada umumnya masalah penjadwalan praktikum diselesaikan dengan cara membuat

tabel secara manual. Cara ini membutuhkan waktu yang cukup lama untuk

menyelesaikannnya dan seringkali menimbulkan beberapa kesalahan. Terdapat berbagai

metode untuk menyelesaikan masalah penjadwalan, salah satunya adalah algoritma

genetika. Algoritma genetika merupakan salah satu jenis dari algoritma evolusioner

yang diinspirasi oleh teori evolusi Darwin.

Metode yang digunakan ini terdapat proses perkawinan silang (cross over) dan

mutasi (mutation) dan update generasi. Algoritma genetika dimulai dengan memilih

himpunan penyelesaian digambarkan dengan kromosom, yang disebut dengan populasi.

Solusi dari satu populasi diambil untuk membentuk populasi baru, dimana pemilhannya

tergantung dari fitness terbaiknya. Hal ini dilakukan dengan harapan bahwa populasi

yang baru akan lebih baik dibandingkan populasi terdahulu. Proses ini dilakukan

berulang-ulang hingga terpenuhi kondisi tertentu.

2. Masalah

Berdasarkan latar belakang di atas, dapat dirumuskan masalah yang akan diteliti

seperti berikut :

a. Penjadwalan ruangan untuk setiap mata kuliah yang berada di LAB untuk setiap sesi

dalam satu hari yang telah ditentukan oleh pihak Fakultas.

b. Menghitung jumlah mata kuliah yang sama dalam satu hari dan sesi waktu yang

sama.

c. Setiap semester semakin terus bertambah mata kuliah yang diadakan di LAB.

3. Tujuan Penulisan

Tujuan penulisan ini adalah memberikan saran yang berupa solusi terhadap

masalah penjadwalan mata kuliah untuk setiap ruangan di Lab sehingga memudahkan

pekerjaan seorang supervisor LAB.

Page 17: Laporan KKP

2

4. Batasan Permasalahan

a. Pembuatan jadwal LAB ICT TERPADU ini dibatasi pada mata kuliah di Universitas

Budi luhur.

b. Kasus yang digunakan dalam penulisan ini adalah kasus penjadwalan LAB ICT

TERPADU pada tahun ajaran 2014/2015 untuk semester ganjil.

c. Pembuatan jadwal LAB ICT TERPADU hanya difokuskan untuk 4 sesi jam utama

yaitu 08:00, 10:40, 13:25 dan 16:10.

5. Metode Penelitian

a. Studi Literatur

Dilakukan untuk memperoleh kajian teoritis yang akan digunakan untuk

membangun sistem, berupa pengumpulan teori yang berkaitan tentang algoritma

genetika dan masalah penjadwalan.

b. Studi kasus

Mempelajari kasus-kasus penjadwalan LAB ICT TERPADU di Universitas Budi

Luhur, misalnya tentang aturan-aturan penjadwalan.

c. Pengembangan Sistem

Mencakup tahap analisa, perancangan, implementasi dan pengujian system.

Tahap analisa berguna untuk memperoleh gambaran kebutuhan dan batasan

system yang akan dibangun. informasi yang didapatkan dari tahap analisis

digunakan untuk merancang sistem. Implementasi merupakan tahap pembangunan

sistem berdasarkan analisis dan rancangan yang telah disusun pada tahapan

sebelumnya. Pengujian dilakukan dengan data yang ada, kemudian dilakukan

pengecekan apakah sesuai dengan kebutuhan sistem.

6. Sistematika Penulisan

Sistematika penulisan laporan kuliah kerja praktek ini adalah sebagai berikut:

Bab I : Pendahuluan.

Bab ini berisi latar belakang masalah, masalah, batasan masalah,

metodologi peneltian, sistematika penulisan.

Bab II : Landasan Teori.

Bab ini ini menerangkan tentang hasil studi pustaka mengenai teori-teori

yang diperlukan untuk penjadwalan LAB ICT TERPADU dengan algoritma

genetika.

Bab III : Analisis dan Perancangan sistem.

Berisi tentang analisa kebutuhan sistem, desain sistem, termasuk di

dalamnya desain antar muka, serta desain prosedural menggunakan

flowchart.

Bab IV : Implementasi dan Pengujian Sistem.

Memaparkan tentang hasil dari implementasi sistem penjadwalan

praktikum beserta pembahasannya.

Bab V : Kesimpulan dan Saran.

Berisi kesimpulan dari penelitian yang dilakukan dan saran untuk perbaikan

di penelitian berikutnya.

Page 18: Laporan KKP

3

BAB II

LANDASAN TEORI

1. Algoritma Genetika

Algoritma genetika merupakan algoritma pencarian berdasarkan mekanisme

seleksi alam dan genetika alam(Goldberg, 1989). Individu yang lebih kuat (fit) akan

memiliki tingkat survival dan tingkat reproduksi yang lebih tinggi jika dibandingkan

dengan individu yang kurang fit. Pada suatu waktu tertentu (atau lebih sering dikenal

dengan istilah generasi), populasi secara keseluruhan akan lebih banyak memuat

organisme yang fit.

Algoritma genetika mengkawinkan struktur string yang bertahan untuk

membentuk algoritma pencarian baru. Pada setiap generasi sejumlah individu baru

diciptakan melalui bagian yang kuat dari orang tuanya. Metode algoritma genetika

pertama kali dikembangkan oleh John Holland(1975) dan mahasiswanya di Universitas

Michigan. John Hollan mengatakan bahwa setiap masalah yang berbentuk adaptasi

(alami maupun buatan) dapat diformulasikan dalam terminologi genetika. Tujuan dari

penelitian yang dilakukan adalah untuk meneliti proses adaptasi dari sistem alam serta

mendesain perangkat lunak yang memliki kecerdasan buatan dengan mencontoh

mekanisme sistem alam tersebut.

Goldberg(1989) menjelaskan beberapa istilah yang digunakan dalam algoritma

genetika. Istilah strings dalam sistem genetika buatan analog dengan kromosom dalam

sistem biologi. Pada sistem biologi satu atau lebih kromosom dikombinasi untuk

membentuk resep genetika secara keseluruhan. Resep genetika ini digunakan untuk

pembentukan dan operasi beberapa organisme. Pada sistem alamiah, keseluruhan paket

genetik disebut genotip. Pada sistem buatan, Keseluruhan paket strings disebut sebuah

struktur. Pada sistem alamiah, organisme dibentuk oleh interaksi dari keseluruhan paket

genetik dengan lingkungannya yang disebut fenotip. Pada sistem genetik buatan,

struktur didekodekan untuk membentuk paket parameter, alternatif, solusi atau titik

pada ruang solusi. Pada sistem alamiah kromosom terdiri dari gen-gen, yang terdiri dari

sejumlah nilai yang disebut allel. Pada genetik, posisi(dari sebuah gen diidentifikasi

secara terpisah dari fungsi gen. Tabel 2.1 menjelaskan perbandingan istilah yang

digunakan oleh sistem alamiah dan algoritma genetika.

Tabel 2.1. : Perbandingan Inilah Pada Sistem Alamiah Dan Algoritma Genetika

Sistem Alamiah Algoritma Genetika Kromosom String

Gen Fitur karakter atau Detector Allel Nilai Fitur Locus Posisi String

Genotip Struktur Fenotip Set parameter, solusi alternatif, Struktur yang

didekodekan

Page 19: Laporan KKP

4

Goldberg (1989) mengemukakan ada beberapa perbedaan antara algoritma

genetika dengan teknik optimasi yang biasa digunakan yakni:

1. Algoritma Genetika Bekerja pada pengkodean dari solusi, bukan langsung pada

solusinya.

2. Pencarian pada algoritma genetika dilakukan pada sebuah populasi dari solusi, tidak

hanya pada sebuah solusi tunggal.

3. Algoritma Genetika menggunakan fungsi fitness

4. Algoritma genetika menggunakan aturan probabilistic, bukan deterministic secara

umum, langkah-langkah yang digunakan pada algoritma genetika dalam

penyelesaian masalah adalah :

a. Melakukan pengkodean

b. Membangkitkan populasi sejumlah n kromosom yang diambil secara random.

c. Mengevaluasi setiap kromosom yang ada di populasi awal dengan cara mencari

nilai fitness masing-masing kromosom

d. Membentuk populasi baru, dengan cara:

1) Seleksi, yakni memilih kromosom-kromosom untuk dijadikan parents

dengan melihat nilai fitnessnya pada langkah ke 2.

2) Setelah terpilih parents, dilakukan cross over. Tidak semua hasil seleksi

bercross over, tergantung nilai probabilitas cross overnya

3) Kemudian dilakukan mutasi

4) Hasil dari mutasi ini dianggap sebagai anggota dari populasi baru

5) Mengganti populasi lama dengan menggunakan populasi baru yang

dihasilkan dari langkah 3

6) Pengujian terhadap kondisi akhir

7) Ada beberapa kriteria penghentian yang biasa digunakan dalam algoritma

genetik, yakni :

a) Berhenti pada generasi tertentu.

b) Berhenti setelah dalam beberapa generasi berturut-turu mendapatkan

nilai fitness tertinggi tidak berubah(konvergen).

c) Berhenti bila dalam n generasi berikut tidak didapatkan nilai fitness

yang lebih tinggi.

e. Jika belum mencapai kondisi akhir, kembali ke no 2 sampai kondisi terakhir

terpenuhi, lalu diambil kromosom dengan nilai fitness terbaik.

a. Pengkodean

Pengkodean adalah suatu teknik untuk menyatakan populasi asal sebagai

kandidat solusi suatu masalah ke dalam suatu kromosom. Gen dan cheng (1997)

juga menjelaskan bahwa pengkodean merupakan kunci pokok persoalan, dalam

melakukan pengkodean harus diperhatikan apakah dapat membangun pencarian

genetik yang efektif menggunakan pengkodean.

Ada beberapa jenis pengkodean yang biasa digunakan dalam algoritma

genetik, yakni :

Page 20: Laporan KKP

5

1) Pengkodean Integer

Pada representasi integer, nilai gen bisa bernilai bilangan bulat.

bilangan bulat digunakan untuk merepresentasikan nomor urut posisi, atau

kualitas obyek

Gambar 2.1 : Representasi kromosom dalam pengkodean Integer

2) Pengkodean Biner

Yakni metode pengkodean yang menggunakan bilangan biner metode

ini banyak digunakan karena sederhana untuk diciptakan dan mudah

dimanipulasi. Dalam metode ini, kromosom direpresentasikan dalam bentuk

deretan bilangan biner 0 dan 1. Dalam pengkodean ini, setiap gen hanya

memiliki 2 kemungkinan nilai, yakni 0 atau 1.

Contoh permasalahan yang menggunakan pengkodean permutasi

yang terkenal adalah permasalahan knapsack. Disediakan sebuah ransel

dengan kapasitas tertentu dan beberapa barang yang memiliki bobot dan

nilai, permasalahannya adalah bagaimana memasukan barang–barang

tersebut ke dalam ransel dengan nilai barang–barang yang maksimal tanpa

melebihi kapasistas ransel. Pada permasalahan ini, setiap bit dalam

kromosom mewakili barang–barang yang akan masuk ke dalam ransel.

Barang yang masuk kedalam ransel diberi nilai 1, sedangkan yang tidak

masuk diberi nilai inversenya, yakni 0.

Gambar 2.2 : Representasi Kromosom dalam pengkodean Biner

Kromosom 1

Kromosom 2

2 5 6 8 9 7 1 4 3

1 4 5 7 8 9 3 2 6

Kromosom 1

Kromosom 2

1 0 0 0 1 0 1 0 0 1 1

1 0 0 0 1 0 1 0 0 1 1

Page 21: Laporan KKP

6

b. Seleksi

Seleksi yang digunakan dalam algoritma genetika merupakan adopsi dari

teori seleksi alam Darwin. Seleksi dalam algoritma genetika bertujuan untuk

menentukan individu-individu mana saja yang akan dipilih untuk dilakukan

rekombinasi dan bagaimana offspring berbentuk dari individu-individu terpilih

tersebut (sri Kusumadewi, 2003).

1) Seleksi Roda Roulette (Roulette Wheel Selection).

Merupakan metode seleksi yang paling sederhana dan mudah

diimplementasikan dalam program. Sesuai dengan namanya, metode ini

meniru permainan roulette wheel, dimana masing-masing kromosom

menempati potongan lingkaran pada roda roulette secara proporsional sesuai

dengan nilai fitnessnya. Kromosom yang memiliki nilai fitness lebih besar

menempati potongan lingkaran yang lebih besar dibandingkan dengan

kromosom yang memiliki nilai fitness lebih rendah.

Gambar 2.3 : Contoh penggunaan seleksi dengan metode roulette wheel

2) Seleksi Rangking (Rank Selection)

Kelemahan seleksi dengan metode roda roulette adalah ketika nilai

fitness yang tersebar dalam populasi tidak merata(berada sangat jauh).

Misalnya, jika nilai dari kromosom terbaik adalah 90% dari keseluruhan roda

roulette, maka kromosom yang lain akan mempunyai kesempatan yang kecil

untuk terpilih.

Pada seleksi rangking, hal pertama yang harus dilakukan adalah

merangkingkan kromosom dalam populasi berdasarkan fungsi fitness yang

telah ditentukan sebelumnya, baru kemudian memberikan urutan ranking

sesuai dengan nilai fitnessnya. Kromosom yang paling bagus mendapatkan

nilai/rangking 1. Kemudian kromosom yang tidak baik ke dua akan

mendapatkan nilai 2, begitu seterusnya. Setelah pengurutan dan pemberian

nilai baru, setiap kromosom memiliki kesempatan untuk terpilih. Kelemahan

dari metode ini adalah lambatnya konvergensi jika tidak ada perbedaan yang

Kromosom Fitness

A 15

B 5

C 10

D 5

E 5

(i) (ii)

Page 22: Laporan KKP

7

besar antara nilai fitness kromosom dalam populasi. Sebagai ilustrasi dapat

dilihat pada tabel berikut (data dari gambar 2.3).

Tabel 2.2. : Contoh populasi dengan 5 kromosom setelah dirangking

Kromosom Fitness Fitness Baru A 15 5

B 5 1 C 10 4

D 5 2 E 5 3

c. Perkawinan silang (Cross Over) Perkawinan silang (cross over) dilakukan pada 2 kromosom untuk

menghasilkan kromosom anak (offspring). Kromosom anak yang terbentuk akan

mewarisi sebagian sifat kromosom induknya. Prinsip dari perkawinan silang ini

adalah melakukan operasi pada gen–gen yang bersesuaian dari dua induk untuk

menghasilkan individu baru. Proses perkawinan silang ini dipengaruhi oleh

probabilitas perkawinan silang (Pc). Semakin besar nilai Pc, maka kemungkinan

variasi individu juga akan semakin besar. Operator perkawinan silang ini

bergantung pada representasi kromosom yang digunakan.

1) Perkawinan Silang Satu Titik

Ada persilangan satu titik. Posisi persilangan k ( k = 1, 2, , n-1).

Dengan n panjang kromosom diseleksi secara random. Variabel-variabel

ditukar antar kromosom pada titik tersebut untuk menghasilkan anak

(Kusumadewi, 2003).

Gambar 2.4 : Contoh perkawinan silang 1 titik pada pengkodean biner

Kromosom Orangtua 1 :

Kromosom Orangtua 2 :

Kromosom 1 :

Kromosom 2 :

0 0 0 0 0 0

1 1 1 1 1 1

0 0 0 0 1 1 1

1 1 1 1 0 0

Page 23: Laporan KKP

8

2) Perkawinan silang dua titik

Proses persilangan dua titik dimulai dengan memilih dua titik

perkawinan silang secara acak pada barisan bit kromosom orang tua.

Kromosom baru hasil perkawinan silang akan terbentuk dengan menyalin

barisan bit orang tuanya mulai dari barisan bit pertama sampai dengan titik

perkawinan silang ke dua sampai dengan bit terkhir. Sisanya yaitu dari titik

persilangan pertama sampai dengan titik perilangan kedua disalin dari orang

tua ke dua.

Gambar 2.5 : Contoh perkawinan silang 2-titik pada pengkodean biner

d. Mutasi

Setelah mengalami proses perkawinan silang, selanjutnya dikenakan proses

mutasi pada offspring, Probabilitas mutasi (Pm) yang mengendalikan banyaknya

gen baru yang akan dimunculkan untuk dievaluasi. Jika probabilitas mutasi terlalu

kecil, banyak gen yang mungkin berguna tidak pernah dievaluasi. Tetapi, bila

peluang mutasi ini terlalu besar, maka akan terlalu banyak gangguan acak,

sehingga anak akan kehilangan kemiripan dari induknya dan juga algoritma akan

kehilangan kemampuan untuk belajar dari histori pencariannya.

Kromosom hasil mutasi harus dicek ulang, apakah masih berada dalam

domain solusi, jika diluar domain lakukan perbaikan. Mutasi ini berperan untuk

menggantikan gen yang hilang dari populasi akibat proses seleksi yang

memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi

populasi.

1) Mutasi Untuk pengkodean Integer

Seperti halnya pada operator perkawinan silang, mutasi yang

dilakukan pada pengkodean Integer harus dipastikan dapat menjaga

konsistensi urutan nilai kromosomnya. Mutasi untuk jenis pengkodean ini

dilakukan dengan cara memilih dua posisi pada kromosom, kemudian

nilainya saling dipertukarkan.

Kromosom Orangtua 1 :

Kromosom Orangtua 2 :

Kromosom 1 :

Kromosom 2 :

0 0 0 0 0 0

1 1 1 1 1 1

0 0 1 1 0 0 1

1 1 0 0 1 1

Page 24: Laporan KKP

9

Gambar 2.6 : Contoh mutasi pada pengkodean Integer

2) Mutasi Untuk pengkodean Biner

Mutasi untuk pengkodean biner ini prosesnya sederhana. Bit pada

kromosom yang telah dipilih secara acak akan berganti nilainya menjadi nilai

sebaliknya(inverse).

Gambar 2.7 : Contoh mutasi pada pengkodean Biner

e. Update Generasi

Setelah Proses Seleksi, Crossover dan mutasi yang dilakukan terhadap suatu

populasi, proses berikutnya adalah pemilihan kromosom untuk membentuk

generasi selanjutnya. Menurut Gen dan Cheng (1997) ada dua macam bentuk

prosedur untuk membentuk populasi selanjutnya yaitu :

1) perkawinan silang dan mutasi yang dilakukan terhadap suatu populasi, proses berikutnya adalah pemilihan kromosom untuk membentuk generasi baru yang disebut update generasi. Dalam algoritma genetic Holland, proses update yang dilakukan adalah update secara generasi (generational update), yaitu menggantikan keseluruhan kromosom pada generasi sebelumnya dengan kromosom-kromosom yang didapat dari hasil seleksi, perkawinan silang dan mutasi. Penekanan selektif pada skema update ini seluruhnya berasal dari orangtua.

2) Selain itu terdapat skema update secara kontinu (continuous update) yang mengizinkan orangtua dan anak untuk bercampur dalam satu generasi. Mulanya dipilih k orangtua secara acak, kemudian dibuat anak sebanyak k dengan memilih orangtua tersebut secara seragam. Kromosom pada populasi baru merupakan pemilihan kromosom antara orangtua terpilih dan anak yang

Kromosom Sebelum Mutasi :

Kromosom Setelah Mutasi :

1 2 3 4 5 8 5 7

1 2 3 8 6 4 5 7

Kromosom Sebelum Mutasi :

Kromosom Setelah Mutasi :

Page 25: Laporan KKP

10

dihasilkan berdasarkan fitnessnya. Dengan cara ini penekanan selektif berasal seluruhnya dari pemilihan terhadap yang bertahan hidup (survivor).

3) Skema update lainnya adalah steady-state update, dimana dilakukan pemilihan dua orangtua dari populasi yang kemudian digunakan untuk membentuk 1 (atau 2) anak. Hasilnya digunakan untuk menggantikan: a) Orangtuanya. b) Kromosom terjelek dalam populasi. c) Kromosom tertua dalam populasi.

4) Suatu strategi bantuan yang baik untuk digunakan dengan skema continous update adalah elitism, yang berarti mempertahankan kromosom kromosom baik dalam populasi lama dengan menyertakannya lagi pada populasi baru. Sejumlah kromosom terbaik pada populasi lama dapat hilang karena proses perkawinan silang dan mutasi. Secara teori, elitism dapat meningkatkan kemampuan dari algoritma genetika karena mempertahankan kromosom yang baik dari populasi lama, tetapi kadangkala hal itu justru dapat menyebabkan konvergensi prematur karena nilai fitness terjebak pada optimum lokal.

2. Paramater – parameter Algoritma Genetik

a. Ukuran Populasi

Yakni banyak kromosom yang mendiami suatu populasi dalam satu generasi.

Semakin banyak dan beragam individu dalam populasi tersebut maka peluangnya

akan semakin besar untuk mendapatkan individu yang mendekati sempurna. Tetapi

di beberapa riset sebelumnya, ukuran populasi yang terlalu besar juga dikatakan

tidak terlalu baik, dikarenakan akan membutuhkan waktu yang lebih lama untuk

menyelesaikan masalah.

Ukuran populasi yang sering digunakan adalah antara 20–30, tetapi

terkadang jumlah 50–100 juga dilaporkan baik. Riset juga menunjukkan bahwa

ukuran populasi yang terbaik dtentukan dari jenis pengkodean, jika terdapat

ukuran kromosom 32 bit, maka ukuran populasi juga harusnya 32(Obitko, 1998).

b. Jumlah Generasi

Menunjukkan banyaknya generasi yang akan dibangkitkan selama proses

algoritma genetik.

Paramater ini juga dijadikan sebagai salah satu kriteria berhenti dalam

algoritma genetik. Jumlah generasi juga mempunyai andil yang besar dalam

menentukan individu yang lebih baik, meskipun tidak berarti semakin besar jumlah

generasi maka individu yang dihasilkan selalu baik. Hal ini disebabkan pada suatu

saat dimana nilai fitnes semua individu akan sama atau konvergen.

c. Probabilitas kawin silang(Pc)

Probabilitas kawin silang adalah angka menunjukkan seberapa sering akan

dilakukan perkawinan silang dalam satu generasi. Biasanya nilai Pc berkisar antara

0–1. Untuk menghasilkan offspring yang lebih baik, biasanya nilai Pc diset

mendekati 1.

Page 26: Laporan KKP

11

d. Probabilitas Mutasi(Pm)

Menujukkan rasio perbandingan banyaknya gen dalam setiap kromosom

yang akan bermutasi. Untuk menghasilkan individu yang lebih baik, nilai Pm

harusnya diset sekecil mungkin agar tidak mengganggu kromosom–koromsom

dengan nilai fitness baik yang telah diperoleh.

e. Probabilitas Elitisme

Probabilitas elitisme akan menentukan individu–individu yang pantas untuk

bertahan dalam generasi mendatang.

Page 27: Laporan KKP

12

Gambar 2.8 : Diagram alir algoritma genetik

Page 28: Laporan KKP

13

BAB III

ANALISIS DAN PERANCANGAN PROGRAM

1. Analisa Masalah

Pada penjadwalan LAB ICT TERPADU memiliki beberapa kendala, misalnya disaat

melakukan penjadwalan pada beberapa mata kuliah, dimana mata kuliah tersebut

dicocokan pada LAB IC TERPADU yang ditentukan untuk menghitung jumlah LAB yang

cocok terhadap mata kuliah tertentu. Sedangkan ada mata kuliah lain yang harus di

tempatkan pada hari jam yang sama. Maka dari itu seorang supervisor LAB mengatur

jadwal mata kuliah yang ada di LAB ICT TERPADU ditempatkan sehingga mata kuliah

tersebut tidak terjadi bentrok antara mata kuliah satu dengan yang lain pada hari jam

yang sama.

Dalam hal ini supervisor LAB membutuhkan waktu yang cukup lama dan kurang

efisien untuk melakukan proses penjadwalan mata kuliah. Sementara informasi yang

diperlukan secepatnya.

2. Solusi

Masalah yang terjadi diatas sebenarnya adalah bagaimana penjadwalan yang

dilakukan harus sesuai dengan mata kuliah yang ada di LAB ICT TERPADU. Maka dari

itu dibuatkanlah sebuah aplikasi untuk mengoptimalisasikan beberapa mata kuliah yang

di LAB ICT TERPADU untuk memungkinkan pada hari jam yang telah ditentukan oleh

pihak fakultas sebelumnya. Keuntungan yang dapat diperoleh dalam pembuatan aplikasi

ini adalah kita dapat melakukan penjadwalan mata kuliah secara efisien.

3. Rancangan Basis Data

a. ERD (Entity Relationship Diagram)

Entity Relationship Diagram (ERD) ini berisi komponen-komponen himpunan

entitas dan himpunan relasi. Masing-masing dilengkapi dengan atribut-atribut yang

mewakili seluruh data yang ada. Di bawah ini adalah gambar rancangan ERD:

Page 29: Laporan KKP

14

Gambar 3.1 : Rancangan Entity Relationship Diagram

Page 30: Laporan KKP

15

b. Transformasi ER-Diagram ke LRS (Logical Record Structure)

Berdasarkan ER-Diagram pada Gambar 3.2 maka didapatkan hasil

transformasi ER-Diagram ke Logical Record Structure sebagai berikut:

Gambar 3.2 : Rancangan ER-Diagram Ke Logical Record Structure

c. LRS (Logical Record Structure)

Dari transformasi ER-Diagram ke LRS yang dijabarkan pada Gambar 3.3,

maka di hasilkan bentuk Logical Record Structure (LRS) untuk aplikasi yang

diusulkan sebagai berikut:

Ada

M

Spekifikasi Lab

Lab

Matkul

Punya

AdaHari

Punya Dosen

Ada JamtJadwal

*Kd_DosenNama_dosenEmail_DosenTlp_Dosen

*Kd_MaktulNama_Matkul

sks_matkul

*Kode_spekKode_LabKode_Matkul

* Kode_jadwalTahun_ajaranSemesterKelompok

*Kode_Lab

Kapasistas

*Kode_hariNama_hari

*Kode_Lab*Kode_jadwal

*Kd_Matkul*Kode_Jadwal

*Kd_Dosen*Kode_Jadwal

*Kd_Jam*Kode_Jadwal

*Kd_JamNama_jam

*Kode_Hari

*Kode_jadwal

M

M 1

1

1

M

1

M 1M

1

Page 31: Laporan KKP

16

Gambar 3.3 : Rancangan Logical Record Structure

Page 32: Laporan KKP

17

d. Spesifikasi Basis Data

Berikut ini adalah struktur tabel yang digunakan dalam pembuatan database

untuk aplikasi ini :

1) Tabel Dosen

Nama Tabel : Dosen

Media : Harddisk

Primary Key : kode_dosen

Foreign Key : -

Tabel 3.1. : Spesifikasi Tabel Dosen

Field Type Length Keterangan

kode_dosen Char 8 Kode Dosen nama_dosen Varchar 55 Nama Dosen

email_dosen Varchar 30 Email Dosen tlp_dosen Varchar 20 Telepon Dosen

2) Tabel Hari

Nama Tabel : Hari

Media : Harddisk

Primary Key : kode_hari

Foreign Key : -

Tabel 3.2. : Spesifikasi Tabel Hari

Field Type Length Keterangan kode_hari Int 2 Kode Hari nama_hari Varchar 10 Nama Hari

3) Tabel Jam

Nama Tabel : Jam

Media : Harddisk

Primary Key : kode_jam

Foreign Key : -

Tabel 3.3. : Spesifikasi Tabel Jam

Field Type Length Keterangan kode_jam Int 5 Kode Jam

nama_jam Varchar 12 Detail Jam

Page 33: Laporan KKP

18

4) Tabel LAB

Nama Tabel : LAB

Media : Harddisk

Primary Key : kode_LAB

Foreign Key : -

Tabel 3.4. : Spesifikasi Tabel LAB

Field Type Length Keterangan

kode_LAB Char 6 Kode LAB kapasitas Char 2 Kapasistas LAB

5) Tabel Matkul

Nama Tabel : Matkul

Media : Harddisk

Primary Key : kode_matkul

Foreign Key : -

Tabel 3.5. : Spesifikasi Tabel Mata kuliah

Field Type Length Keterangan kode_matkul Char 8 Kode Mata Kuliah Nama_matkul Varchar 55 Nama Mata Kuliah

sks_matkul Enum(‘2’, ’3’, ’4’)

1 SKS mata kuliah

6) Tabel Spek_LAB

Nama Tabel : spek_LAB

Media : Harddisk

Primary Key : kode_spek

Foreign Key : kode_LAB, kode_matkul

Tabel 3.6. : Spesifikasi Tabel Spesifikasi LAB

Field Type Length Keterangan kode_spek Char 9 Kode spekifikasi kode_LAB Char 6 Kode LAB

kode_matkul Char 5 Kode Mata Kuliah

Page 34: Laporan KKP

19

7) Tabel tjadwal

Nama Tabel : kode_jadwal

Media : Harddisk

Primary Key : kode_jadwal

Foreign Key : kode_matkul, kode_dosen, kode_hari, kode_jam

Tabel 3.7. : Spesifikasi Tabel tjadwal

Field Type Length Keterangan

kode_jadwal Char 11 Kode Jadwal tahun_ajaran Varchar 9 Tahun Ajaran

semester Enum(‘Genap’, Ganjil’)

6 Semester

Kode_matkul Char 8 Kode Mata Kuliah

Kode_dosen Char 8 Kode Dosen Kode_hari Char 2 Kode Hari Kode_jam Char 2 Kode Jam

Kelompok Char 2 Kelompok Matkul

4. Rancangan Layar Aplikasi

Rancangan layar yang diberikan disini merupakan representasi dari aplikasi yang

dibuat penulis. Tampilan yang dibuat harus menarik, tidak membingungkan dan mudah

di mengerti bagi pengguna. Kemudahan itu sangat diperlukan agar pengguna aplikasi

merasa nyaman dalam menggunakan aplikasi. Berikut ini adalah rancangan layar

aplikasi yang dibuat.

a. Rancangan Layar Form Menu

Form Menu Utama merupakan form yang pertama dilakukan ketika

menjalankan sebuah aplikasi. Pada Form Menu Utama terdapat 3 menu yang dapat

dipilih yaitu:

1) Menu File Master, adalah menu yang memuat pada menu mata kuliah, menu

dosen, menu LAB, menu hari dan menu jam. Fungsi masing-masing dari menu

tersebut adalah :

Menu Mata Kuliah, berfungsi untuk menambah, mengubah, mengedit, a)

dan menghapus data mata kuliah.

Menu dosen, berfungsi untuk menampilkan menambah, mengubah, b)

mengedit dan menghapus data dosen.

Menu LAB, berfungsi untuk menampilkan, menambah, mengubah, c)

mengedit, dan menghapus data LAB.

Menu hari, berfungsi untuk menambah dan menampilkan data hari. d)

Menu jam, berfungsi untuk menampilkan, menambah, mengubah, e)

mengedit, dan menghapus data jam.

2) Menu File Transaksi, adalah menu yang memuat pada menu spesifikasi LAB

dan menu input jadwal. Fungsi masing-masing dari menu tersebut adalah :

Page 35: Laporan KKP

20

Menu Spesifikasi LAB, berfungsi untuk menambah, menampilkan, a)

mengubah, menghapus dan mengedit.

Menu Input Jadwal, berfungsi untuk menambah, menampilkan, b)

mengubah, menghapus, dan mengedit.

3) Menu File Generate Jadwal, adalah menu yang memuat pada menu generate

jadwal fungsi masing-masing dari menu tersebut adalah :

Menu Generate jadwal, berfungsi untuk melakukan optimasi penjadwalan a)

dan juga menampilkan hasil yang sudah dilakukan pada tabel.

Gambar 3.4 : Form Rancangan Layar Form Menu

b. Rancangan Layar Form Master

Dalam rancangan layar form master dibagi menjadi 5 yaitu :

1) Form Mata Kuliah

Form Mata Kuliah bagian dari sub menu dari form file master. Menu

yang terdapat form mata kuliah sebagai berikut :

a). Field Kode Mata Kuliah, adalah field yang digunakan untuk mengisi kode

mata kuliah.

b). Field Nama Mata Kuliah, adalah field yang digunakan untuk mengisi mata

kuliah yang ingin diinputkan.

c). Field SKS mata kuliah, adalah field yang digunakan untuk mengisi jumlah

SKS yang diambil.

d). Button Simpan, adalah tombol yang berfungsi untuk menyimpan data

yang telah diinputkan pada field kode mata kuliah, nama mata kuliah,

SKS mata kuliah.

e). Button Ubah, adalah tombol yang berfungsi untuk mengubah dari sebuah

data yang ada di record database dari form tersebut.

f). Button Hapus, adalah tombol yang berfungsi untuk menghapus dari

sebuah data yang ada di record database dari form tersebut.

Page 36: Laporan KKP

21

g). Button Tambah, adalah tombol yang berfungsi untuk menambahkan

sebuah data yang diinputkan di field ke dalam database.

h). Button Batal, adalah tombol yang berfungsi untuk membatalkan kegiatan

yang dilakukan dan mengosongkan sebuah field.

i). Button Cari, adalah tombol yang berfungsi tombol yang berfungsi untuk

mencari data yang pernah disimpan di database dalam Form PopUp Mata

Kuliah.

Gambar 3.5 : Rancangan Layar Form Mata Kuliah

Page 37: Laporan KKP

22

Gambar 3.6 : Rancangan Layar Form PopUp Mata Kuliah

2) Form Dosen

Form Dosen bagian dari sub menu dari form file master. Menu yang

terdapat form Dosen sebagai berikut :

a). Field Kode Dosen adalah field yang digunakan untuk mengisi kode dosen.

b). Field Nama Dosen adalah field yang digunakan untuk mengisi nama

dosen yang ingin diinputkan.

c). Field Email adalah field yang digunakan untuk mengisi email dosen.

d). Field Telepon adalah Field yang digunakan untuk mengisi nomor telepon.

e). Button Simpan, adalah tombol yang berfungsi untuk menyimpan data

yang telah diinputkan pada field kode Dosen, nama Dosen, Email,

telepon. f). Button Ubah, adalah tombol yang berfungsi untuk mengubah dari sebuah

data yang ada di record database dari form tersebut. g). Button Hapus, adalah tombol yang berfungsi untuk menghapus dari

sebuah data yang ada di record database dari form tersebut. h). Button Tambah, adalah tombol yang berfungsi untuk menambahkan

sebuah data yang diinputkan di field ke dalam database. i). Button Bersih, adalah tombol yang berfungsi untuk mengosongkan

sebuah field. j). Button Cari, adalah tombol yang berfungsi tombol yang berfungsi untuk

mencari data yang pernah disimpan di database dalam Form PopUp

Dosen. Gambar 3.7 : Rancangan Layar Form Dosen

Page 38: Laporan KKP

23

Gambar 3.8 : Rancangan Layar Form PopUp Dosen

3) Form LAB

Form LAB bagian dari sub menu dari Form File Master. Menu yang

terdapat form LAB sebagai berikut :

a). Field Kode LAB adalah field yang digunakan untuk mengisi kode LAB.

b). Field Kapasitas LAB adalah field yang digunakan untuk mengisi jumlah

kapasitas.

c). Button Simpan, adalah tombol yang berfungsi untuk menyimpan data

yang telah diinputkan pada field kode LAB, Kapasitas LAB.

d). Button Ubah, adalah tombol yang berfungsi untuk mengubah dari sebuah

data yang ada di record database dari form tersebut.

e). Button Hapus, adalah tombol yang berfungsi untuk menghapus dari

sebuah data yang ada di record database dari form tersebut.

f). Button Tambah, adalah tombol yang berfungsi untuk menambahkan

sebuah data yang diinputkan di field ke dalam database.

g). Button Batal, adalah tombol yang berfungsi untuk mengosongkan sebuah

field.

Page 39: Laporan KKP

24

Gambar 3.9 : Rancangan Layar Form LAB

4) Form Hari

Form Hari bagian dari sub menu dari form file master. menu yang

terdapat form Hari sebagai berikut :

a). Field Nama Hari adalah field yang digunakan untuk mengisi Nama Hari.

b). Button Simpan, adalah tombol yang berfungsi untuk menyimpan data

yang telah diinputkan pada Combobox Nama Hari.

c). Button Tambah, adalah tombol yang berfungsi untuk menambahkan

sebuah data yang diinputkan di field ke dalam database.

d). Button Bersih, adalah tombol yang berfungsi untuk mengosongkan

sebuah field.

Page 40: Laporan KKP

25

Gambar 3.10 : Rancangan Layar Form Hari

5) Form Jam

Form Jam bagian dari sub menu dari form file master. menu yang

terdapat form Jam sebagai berikut :

a). Field Jam adalah field yang digunakan untuk mengisi Jam.

b). Button Simpan, adalah tombol yang berfungsi untuk menyimpan data

yang telah diinputkan pada field jam.

c). Button Ubah, adalah tombol yang berfungsi untuk mengubah dari sebuah

data yang ada di record database dari form tersebut.

d). Button Hapus, adalah tombol yang berfungsi untuk menghapus sebuah

data yang ada di record database dari form tersebut.

e). Button Tambah, adalah tombol yang berfungsi untuk menambahkan

sebuah data yang diinputkan di field ke dalam database.

f). Button Bersih, adalah tombol yang berfungsi untuk mengosongkan

sebuah field.

Page 41: Laporan KKP

26

Gambar 3.11 : Rancangan Layar Form Jam

c. Rancangan Layar Form Transaksi

Dalam rancangan layar form transaksi dibagi menjadi 2 yaitu :

1) Rancangan Layar Form Spesifikasi LAB

Form Spesifikasi LAB bagian dari sub menu dari form File Transaksi.

menu yang terdapat form Spesifikasi LAB sebagai berikut :

a). Field Kode LAB adalah field yang digunakan untuk menampilkan Kode

LAB.

b). Field Mata Kuliah adalah field yang digunakan untuk menampilkan mata

kuliah.

c). Button Simpan, adalah tombol yang berfungsi untuk menyimpan data

yang telah diinputkan pada field jam.

d). Button Ubah, adalah tombol yang berfungsi untuk mengubah dari sebuah

data yang ada di record database dari form tersebut.

e). Button Hapus, adalah tombol yang berfungsi untuk menghapus sebuah

data yang ada di record database dari form tersebut.

Page 42: Laporan KKP

27

f). Button Tambah, adalah tombol yang berfungsi untuk menambahkan

sebuah data yang diinputkan di field ke dalam database.

g). Button Bersih, adalah tombol yang berfungsi untuk mengosongkan

sebuah field

h). Button Refresh, adalah tombol yang berfungsi untuk menampilkan data

pada tabel.

Gambar 3.12 : Rancangan Layar Form Spesifikasi LAB

2) Rancangan Layar Form Input Jadwal

Form Input Jadwal bagian dari sub menu dari Form File Transaksi. menu yang terdapat form Spesifikasi LAB sebagai berikut :

a). Field Kode Jadwal adalah field yang digunakan untuk menampilkan Kode

Jadwal.

b). Field Tahun Ajaran adalah field yang digunakan untuk menampilkan

Tahun Ajaran.

c). Field Semester adalah field yang digunakan untuk menampilkan

semester.

d). Field Dosen adalah field yang digunakan untuk menampilkan dosen.

e). Field hari adalah field yang digunakan untuk menampilkan hari.

f). Field Jam adalah field yang digunakan untuk menampilkan Jam.

g). Field Kelompok adalah field yang digunakan untuk menampilkan

kelompok mata kuliah.

h). Button Simpan, adalah tombol yang berfungsi untuk menyimpan data

yang telah diinputkan pada field Input Jadwal.

i). Button Ubah, adalah tombol yang berfungsi untuk mengubah dari sebuah

data yang ada di record database dari form tersebut.

Page 43: Laporan KKP

28

j). Button Hapus, adalah tombol yang berfungsi untuk menghapus sebuah

data yang ada di record database dari form tersebut.

k). Button Tambah, adalah tombol yang berfungsi untuk menambahkan

sebuah data yang diinputkan field ke dalam database.

l). Button Bersih, adalah tombol yang berfungsi untuk mengosongkan

sebuah field.

Gambar 3.13 : Rancangan Layar Form Input Jadwal

d. Rancangan Layar Form Generate Jadwal

1) Rancangan Layar Form Generate

Form Generate Jadwal bagian dari sub menu dari form File Generate

Jadwal. Menu yang terdapat form Generate Jadwal sebagai berikut :

a). Field Tahun Ajaran adalah field yang digunakan untuk menampilkan

Tahun ajaran perkuliahan.

b). Field Semester adalah field yang digunakan untuk menampilkan

semester.

c). Field Min Individu adalah field yang digunakan untuk menampilkan

Minimal Individu.

d). Field hari adalah field yang digunakan untuk menampilkan hari.

e). Field Probabilitas Pm adalah field yang digunakan untuk menampilkan

Probabilitas Mutasi.

f). Field Probabilitas Pc adalah field yang digunakan untuk menampilkan

Probabilitas Crossover.

Page 44: Laporan KKP

29

g). Field Iterasi adalah field yang digunakan untuk menampilkan Jumlah

Iterasi.

h). Button Start Generate, adalah tombol yang berfungsi untuk menjalankan

proses generate Jadwal.

i). Button Bersih, adalah tombol yang berfungsi untuk membersihkan pada

form inputan.

Gambar 3.14 : Rancangan Layar Form Generate

5. Flowchart dan Algoritma

Beberapa urutan-urutan proses yang harus dilalui digambarkan dalam bentuk

flowchart dan diikuti dengan algoritma. Di bawah ini akan digambarkan beberapa

Flowchart untuk masing-masing proses pada Sistem Penjadwalan LAB ICT TERPADU.

a. Flowchart dan Algoritma Form Menu Utama

1) Flowchart Form Menu Utama

Flowchart merupakan gambaran alur proses dari form menu utama.

Proses ini akan terus berjalan selama menu utama tampil di layar.

Page 45: Laporan KKP

30

Start

Tampilan Desktop

Tampilan Menu Utama

Pilih = Menu File Master

Input Pilih

Pilih = Menu File Transaksi

Pilih = Menu Generate Jadwal

1

1

Tampilkan Semua Menu File Master

Tampilkan Semua Menu File Transaksi

Tampilkan Semua Menu File Generate Jadwal

Input Pilih

Input Pilih

Input Pilih

Pilih = mata kuliah

Pilih = Dosen

Pilih = Hari

Pilih = Lab

Pilih = Jam

Pilih = Spesifikasi Lab

Pilih = Input Jadwal

Pilih = Generate

2

2

3

3

4

4

G

IJ

SL

J

H

L

D

MK

Tidak

Tidak

Tidak

Ya

Ya

Ya

Ya

Tidak

Ya

Ya

Tidak

Tidak

Ya

Tidak

Ya

Tidak

Ya

Tidak

Ya

Tidak

Ya

Tidak

Gambar 3.15 : Rancangan Layar Form Menu Utama

Page 46: Laporan KKP

31

2) Algoritma Form Menu Utama

Algoritma ini menjelaskan bagaimana proses pada Menu Utama. Pada

proses ini Admin dapat menampilkan form-form dari menu-menu yang ada

hingga keluar dari aplikasi.

1. Tampilkan Form Menu Utama

2. Input Pilih

3. If Pilih = file Master Then

4. Tampilkan semua menu File kecuali Login

5. Input Pilih

6. If Pilih = Master Mata Kuliah Then

7. Jalankan Form Mata Kuliah

8. Else If Pilih = Master dosen Then

9. Jalankan Form dosen

10. Else If Pilih = Master lab Then

11. Jalankan Form Master lab

12. Else IF Pilih = Master hari Then

13. Jalankan Form Master hari

14. Else Pilih = Master Jam Then

15. Jalankan Form Jam

16. End IF

17. Else If Pilih = Menu File Transaksi Then

18. Tampilkan Menu File Transaks

19. Input Pilih

20. IF Pilih = Form spekifikasi lab Then

21. Tampilkan Form spekifikasi lab

22. Else Pilih = Form input jadwal Then

23. Tampilkan Form input jadwal lab

24. Else Pilih = Menu File Generate Jadwal Then

25. Tampilkan Menu Generate Jadwal

26. Input Pilih

27. If Pilih = Form Generate Then

28. Jalankan Form Generate

29. End If

30. End If

Page 47: Laporan KKP

32

b. Flowchart dan Algoritma Form Mata kuliah

1) Flowchart Form Mata Kuliah

Gambar 3.16 : Rancangan Layar Form Mata Kuliah

MK

Tampilkan Mata Kuliah

1

Input Pilih

Pilih = Form Input Mata Kuliah

Tampilan Panel Form Input Mata

Kuliah

2

Input Data Mata Kuliah

Pilih = SimpanTampilan

Pean Konfirmasi

Input Pilih

Pilih = YesSimpan Data

Ke Tabel Mata Kuliah

Bersihkan Form Input Data Mata

Kuliah

2

Pilih = No

3

3

2

Pilih = UbahTampilan

Pean Konfirmasi

Input Pilih

Pilih = YesSimpan Data

Ke Tabel Mata Kuliah

Bersihkan Form Input Data Mata

KuliahPilih = No

4

4

3 Pilih = HapusTampilan

Pean Konfirmasi

Input Pilih

Pilih = YesSimpan Data

Ke Tabel Mata Kuliah

Pilih = No

2

5

5

Pilih = BersihBersihkan Form Input Data Mata

Kuliah

2 Bersihkan Form Input Data Mata

Kuliah

2Pilih = Exit

2

Pilih = Data Mata Kuliah

1

Tampilkan Data Mata

Kuliah

Input Kriteria Pencarian

Input Pilih Pilih = Cari

6

Ya

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Ya

Ya

Tidak

Ya

Ya

Tidak

Ya

Ya

Tidak

Ya

Ya

Tidak

Ya

Ya

Ya

MU

PM

6

2

Page 48: Laporan KKP

33

Kemudian pada proses pencarian menggunakan Form MenuPopUp Mata Kuliah

Gambar 3.17 : Rancangan Layar Form MenuPopUp Mata Kuliah

2) Algoritma Form Mata Kuliah

Algoritma berikut menjelaskan proses yang terjadi jika admin

menjalankan Form Mata Kuliah.

Page 49: Laporan KKP

34

1. Tampilkan Form Mata Kuliah

2. Input Pilih

3. If Pilih = Form Input Mata Kuliah Then

4. Tampilkan Form Input Mata Kuliah

5. Tampilkan Kode Mata Kuliah

6. Input nama matakul, SKS Matkul

7. Input Pilih

8. If Pilih = Simpan Then

9. Tampil pesan konfirmasi

10. Input Pilih

11. If Pilih = Yes Then

12. Simpan data ke tabel Mata Kuliah

13. Bersihkan Form Input Data Mata Kuliah

14. Else If Pilih = No Then

15. Kembali ke baris 4

16. End If

17. Else If Pilih = Ubah Then

18. Tampil pesan konfirmasi

19. Input Pilih

20. If Pilih = Yes Then

21. Ubah data di tabel Mata Kuliah

22. Bersihkan Form Input Data Mata Kuliah

23. Else If Pilih = No Then

24. Kembali ke baris 4

25. End If

26. Else If Pilih = Hapus Then

27. Tampil pesan konfirmasi

28. Input Pilih

29. If Pilih = Yes Then

30. Hapus data di tabel Mata Kuliah

31. Bersihkan Form Input Data Mata Kuliah

32. Else If Pilih = No Then

33. Kembali ke baris 4

34. End If

35. Else If Pilih = Bersih Then

36. Bersihkan Form Input Data Mata Kuliah

37. End If

38. Else If Pilih = Exit Then

39. Kembali ke Menu Utama

40. End If

41. Else If Pilih = Data Mata Kuliah Then

42. Tampilkan Data Mata Kuliah

43. Input kriteria pencarian

44. Input Pilih

Page 50: Laporan KKP

35

3) Algoritma PopUp Dosen

1. Tampilan PopUp Dosen

2. Input Pilih

3. IF Pilih = Input Form PopUP Dosen THEN

4. Input Kriteria Pencarian

5. IF Pilih = Cari

6. proses pencarian data dari tabel dosen

7. tampilkan ke dosen

8. End If

45. If Pilih = Cari Then

46. Tampilkan Form PopUp Mata Kuliah

47. Else

48. Kembali ke Form Mata Kuliah

49. End If

50. End If

Page 51: Laporan KKP

36

c. Flowchart dan Algoritma Form Dosen

1) Flowchart Form Dosen

Gambar 3.18 : Rancangan Layar Form Dosen

Page 52: Laporan KKP

37

Kemudian pada proses pencarian menggunakan Form MenuPopUp Dosen

Gambar 3.19 : Rancangan Layar Form MenuPopUp Dosen

2) Algoritma Form Dosen

Algoritma berikut menjelaskan proses yang terjadi jika admin

menjalankan Form Dosen.

Page 53: Laporan KKP

38

1. Tampilkan Form Dosen

2. Input Pilih

3. If Pilih = Form Input Dosen Then

4. Tampilkan Form Input Mata Kuliah

5. Tampilkan Kode Dosen

6. Input Nama Dosen, Email Dosen, Telp Dosen

7. Input Pilih

8. If Pilih = Simpan Then

9. Tampil pesan konfirmasi

10. Input Pilih

11. If Pilih = Yes Then

12. Simpan data ke tabel Dosen

13. Bersihkan Form Input Data Dosen

14. Else If Pilih = No Then

15. Kembali ke baris 4

16. End If

17. Else If Pilih = Ubah Then

18. Tampil pesan konfirmasi

19. Input Pilih

20. If Pilih = Yes Then

21. Ubah data di tabel Dosen

22. Bersihkan Form Input Data Dosen

23. Else If Pilih = No Then

24. Kembali ke baris 4

25. End If

26. Else If Pilih = Hapus Then

27. Tampil pesan konfirmasi

28. Input Pilih

29. If Pilih = Yes Then

30. Hapus data di tabel Dosen

31. Bersihkan Form Input Data Dosen

32. Else If Pilih = No Then

33. Kembali ke baris 4

34. End If

35. Else If Pilih = Bersih Then

36. Bersihkan Form Input Data Dosen

37. End If

38. Else If Pilih = Exit Then

39. Kembali ke Menu Utama

40. End If

41. Else If Pilih = Panel Data DosenThen

42. Tampilkan Data Dosen

43. Input kriteria pencarian

44. Input Pilih

Page 54: Laporan KKP

39

3) Algoritma Form PopUp Dosen

45. Input Pilih

46. If Pilih = Cari Then

47. Tampilkan Form PopUp Dosen

48. Else

49. Kembali ke Form Dosen

50. End If

51. End If

1. Tampilan PopUp Dosen

2. Input Pilih

3. IF Pilih = Input Form PopUP Dosen THEN

4. Input Kriteria Pencarian

5. IF Pilih = Cari

6. proses pencarian data dari tabel dosen

7. tampilkan ke dosen

8. End IF

9. End If

Page 55: Laporan KKP

40

d. Flowchart dan Algoritma Form LAB

1) Flowchart Form LAB

Gambar 3.20 : Rancangan Layar Form LAB

L

Tampilkan Mata Lab

1

Input Pilih

Pilih = Form Input Lab

Tampilan Panel Form Input Lab

2

Input Data Lab

Pilih = SimpanTampilan

Pean Konfirmasi

Input Pilih

Pilih = YesSimpan Data Ke Tabel Lab

Bersihkan Form Input Data Lab

2

Pilih = No

3

3

2

Pilih = UbahTampilan

Pean Konfirmasi

Input Pilih

Pilih = YesSimpan Data Ke Tabel Lab

Bersihkan Form Input Data Lab

Pilih = No

4

4

3 Pilih = HapusTampilan

Pean Konfirmasi

Input Pilih

Pilih = YesSimpan Data Ke Tabel Lab

Pilih = No

2

5

5

Pilih = BersihBersihkan Form

Input Lab2 Bersihkan Form

Input Data Lab

2Pilih = Exit

2

1

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Tidak

Ya

Ya

Ya

Tidak

Ya

Ya

Tidak

Ya

Ya

Tidak

Ya

Ya

Ya

MU

2

Page 56: Laporan KKP

41

2) Algoritma Form LAB

Algoritma berikut menjelaskan proses yang terjadi jika admin

menjalankan Form LAB.

1. Tampilkan Form Lab

2. Input Pilih

3. If Pilih = Form Lab Then

4. Tampilkan Form Input Lab

5. Tampilkan Kode Lab

6. Input Kapasistas

7. Input Pilih

8. If Pilih = Simpan Then

9. Tampil pesan konfirmasi

10. Input Pilih

11. If Pilih = Yes Then

12. Simpan data ke Tabel Lab

13. Bersihkan Form Input Lab

14. Else If Pilih = No Then

15. Kembali ke baris 4

16. End If

17. Else If Pilih = Ubah Then

18. Tampil pesan konfirmasi

19. Input Pilih

20. If Pilih = Yes Then

21. Ubah data di tabel Lab

22. Bersihkan Form Input Data Lab

23. Else If Pilih = No Then

24. Kembali ke baris 4

25. End If

26. Else If Pilih = Hapus Then

27. Tampil pesan konfirmasi

28. Input Pilih

29. If Pilih = Yes Then

30. Hapus data di tabel Lab

31. Bersihkan Form Input Data Lab

32. Else If Pilih = No Then

33. Kembali ke baris 4

34. End If

35. Else If Pilih = Bersih Then

36. Bersihkan Form Input Data Lab

37. End If

38. Else If Pilih = Exit Then

39. Kembali ke Menu Utama

40. End If

41. End If

Page 57: Laporan KKP

42

e. Flowchart dan Algoritma Form Hari

1) Flowchart Form Hari

Gambar 3.21 : Rancangan Layar Form Hari

Page 58: Laporan KKP

43

2) Algoritma Form Hari

Algoritma berikut menjelaskan proses yang terjadi jika admin

menjalankan Form Hari.

1. Tampilkan Form Hari

2. Input Pilih

3. If Pilih = Form Hari Then

4. Tampilkan Form Input Hari

5. Tampilkan Kode Hari

6. Input Nama Hari

7. Input Pilih

8. IF Pilih = Tambah Then

9. Aktifkan Form Input Hari

10. If Pilih = Simpan Then

11. Tampil pesan konfirmasi

12. Input Pilih

13. If Pilih = Yes Then

14. Simpan data ke Tabel Hari

15. Bersihkan Form Input Hari

16. Else If Pilih = No Then

17. Kembali ke baris 4

18. End If

19. Else If Pilih = Bersih Then

20. Bersihkan Form Input Data Hari

21. End If

22. Else If Pilih = Exit Then

23. Kembali ke Menu Utama

24. End If

25. End If

Page 59: Laporan KKP

44

f. Flowchart dan Algoritma Form Jam

1) Flowchart Form Jam

Gambar 3.22 : Rancangan Layar Form Jam

Page 60: Laporan KKP

45

2) Algoritma Form Jam

Algoritma berikut menjelaskan proses yang terjadi jika admin

menjalankan Form Jam.

1. Tampilkan Form Jam

2. Input Pilih

3. If Pilih = Form Jam Then

4. Tampilkan Form Input Jam

5. Tampilkan Kode Jam

6. Input Nama Jam

7. Input Pilih

8. If Pilih = Simpan Then

9. Tampil pesan konfirmasi

10. Input Pilih

11. If Pilih = Yes Then

12. Simpan data ke Tabel Jam

13. Bersihkan Form Input Jam

14. Else If Pilih = No Then

15. Kembali ke baris 4

16. End If

17. Else If Pilih = Ubah Then

18. Tampil pesan konfirmasi

19. Input Pilih

20. If Pilih = Yes Then

21. Ubah data di tabel Jam

22. Bersihkan Form Input Data Jam

23. Else If Pilih = No Then

24. Kembali ke baris 4

25. End If

26. Else If Pilih = Hapus Then

27. Tampil pesan konfirmasi

28. Input Pilih

29. If Pilih = Yes Then

30. Hapus data di tabel Jam

31. Bersihkan Form Input Data Jam

32. Else If Pilih = No Then

33. Kembali ke baris 4

34. End If

35. Else If Pilih = Bersih Then

36. Bersihkan Form Input Data Jam

37. End If

38. Else If Pilih = Exit Then

39. Kembali ke Menu Utama

40. End If

41. End If

Page 61: Laporan KKP

46

g. Flowchart dan Algoritma Form Spesifikasi LAB

1) Flowchart Form Spesifikasi LAB

Page 62: Laporan KKP

47

Gambar 3.23 : Rancangan Layar Form Spesifikasi LAB

2) Algoritma Form Spesifikasi LAB

Algoritma berikut menjelaskan proses yang terjadi jika admin

menjalankan Form Spesifikasi LAB.

1. Tampilkan Form Spesifikasi Lab

2. Input Pilih

3. If Pilih = Form Jam Then

4. Tampilkan Form Spesifikasi Lab

5. Tampilkan Kode Jam

6. Input Kode Lab, Kode Matkul

7. Input Pilih

8. If Pilih = Simpan Then

9. Tampil pesan konfirmasi

10. Input Pilih

11. If Pilih = Yes Then

12. Simpan data ke Tabel Spesifikasi Lab

13. Bersihkan Form Input Spesifikasi Lab

14. Else If Pilih = No Then

15. Kembali ke baris 4

16. End If

17. Else If Pilih = Ubah Then

18. Tampil pesan konfirmasi

19. Input Pilih

20. If Pilih = Yes Then

21. Ubah data di tabel Spesifikasi Lab

22. Bersihkan Form Input Data Spesifikasi Lab

23. Else If Pilih = No Then

24. Kembali ke baris 4

25. End If

26. Else If Pilih = Hapus Then

27. Tampil pesan konfirmasi

28. Input Pilih

29. If Pilih = Yes Then

30. Hapus data di tabel Spesifikasi Lab

31. Bersihkan Form Input Data Spesifikasi Lab

32. Else If Pilih = No Then

33. Kembali ke baris 4

34. End If

35. Else If Pilih = Refresh Then

36. Refresh Form Input Spesifikasi Lab

37. End If

38. Else If Pilih = Bersih Then

Page 63: Laporan KKP

48

39. Bersihkan Form Input Data Spesifikasi Lab

40. End If

41. Else If Pilih = Exit Then

42. Kembali ke Menu Utama

43. End If

44. End If

Page 64: Laporan KKP

49

h. Flowchart dan Algoritma Form Input Jadwal

1) Flowchart Form Input Jadwal

Gambar 3.24 : Rancangan Layar Form Input Jadwal

Page 65: Laporan KKP

50

2) Algoritma Form Input Jadwal

Algoritma berikut menjelaskan proses yang terjadi jika admin

menjalankan Form Input Jadwal.

1. Tampilkan Form Input Jadwal

2. Input Pilih

3. If Pilih = Form Input Jadwal Then

4. Tampilkan Form Input Jadwal

5. Tampilkan Kode Jadwal

6. Input Tahun Ajaran, Semester, Mata Kuliah, Dosen, Hari,

Jam, Kelompok, Skala Prioritas

7. Input Pilih

8. If Pilih = Simpan Then

9. Tampil pesan konfirmasi

10. Input Pilih

11. If Pilih = Yes Then

12. Simpan data ke Tabel Tjadwal

13. Bersihkan Form Input Jadwal

14. Else If Pilih = No Then

15. Kembali ke baris 4

16. End If

17. Else If Pilih = Ubah Then

18. Tampil pesan konfirmasi

19. Input Pilih

20. If Pilih = Yes Then

21. Ubah data di tabel Tjadwal

22. Bersihkan Form Input Data Jadwal

23. Else If Pilih = No Then

24. Kembali ke baris 4

25. End If

26. Else If Pilih = Hapus Then

27. Tampil pesan konfirmasi

28. Input Pilih

29. If Pilih = Yes Then

30. Hapus data di tabel Tjadwal

31. Bersihkan Form Input Data Jadwal

32. Else If Pilih = No Then

33. Kembali ke baris 4

34. End If

35. Else If Pilih = Bersih Then

36. Bersihkan Form Input Data Jadwal

Page 66: Laporan KKP

51

i. Flowchart dan Algoritma Form Generate

1) Flowchart Form Generate

Gambar 3.25 : Rancangan Layar Form Generate

37. End If

38. Else If Pilih = Exit Then

39. Kembali ke Menu Utama

40. End If

41. End If

Page 67: Laporan KKP

52

2) Algoritma Form Generate

Algoritma berikut menjelaskan proses yang terjadi jika admin

menjalankan Form Generate.

j. Algoritma Pada Algoritma Genetika

1. Tampilkan Generate

2. Input Pilih

3. If Pilih = Form Input Generate Then

4. Tampilan Form Input Generate

5. Masukan Tahun Ajaran

6. Masukan Hari

7. Masukan Individu

8. Inputkan Semester

9. Masukan Pc

10. Masukan Pm

11. Masukan Iterasi

12. IF Pilih = Start Generate

13. Proses Algoritma Genetika

14. Tampilkan Hasil Ke Tabel Form Generate

15. End IF

16. End If

1. Proses Algoritma Genetika

2. Pembangkitan Sebanyak N individu untuk Setiap Sesi

3. If cek = Bentrok matkul then

4. Simpan Ke dalam bentrok + 1 (untuk setiap individu)

5. Masukan nilai bentrok kedalam fitness dengan 1/(JB)+1

6. Sorting individu berdasarkan nilai fitness dari desc ke asc

7. Bangkitkan sebanyak N individu untuk sesi 08:00, 10:40, 13:25,

16:10

8. Pilih individu yang kurang dari pc

9. Lalu dapatkan index yang kurand dari pc

10. Bangkitkan titik random untuk mengetahui titik mana saja untuk

cross over 11. Lalu lakukan CrossOver 12. Hitung Fitness lagi

13. Hitung Jumlah titik dengan = Pgen * Bindividu * Pm

14. Penggantian nilai mutasi diganti dengan nilai acak berdasarkan

mata kuliah pada setiap sesi

15. Update generasi (Eletism).

16. Sorting Fitness Asc

17. Ambil sebanyak jumlah individu hasil sorting fitness. 18. End IF

Page 68: Laporan KKP

53

BAB IV

IMPLEMENTASI / PEMECAHAN MASALAH

Aplikasi Penjadwalan LAB ICT TERPADU yang dirancang ini, ditujukan untuk

memudahkan penjadwalan pada LAB ICT TERPADU yang dapat memberikan solusi dalam

menyusun sebuah mata kuliah yang ada di LAB ICT TERPADU. Adanya aplikasi penjadwalan

LAB ICT TERPADU adalah untuk melakukan pengoptimalan dalam mengatur jadwal mata

kuliah yang ada di LAB secara lebih efisien sehingga mata kuliah yang ada di LAB ICT

TERPADU tidak terjadi bentrok dalam mata kuliah lainnya yang ada di LAB ICT TERPADU.

Untuk mengimplementasikan aplikasi ini sudah pasti tidak terlepas dari hardware dan

software pendukung lainnya, berikut ini adalah hardware dan software pendukung yang

dibutuhkan.

1. Spesifikasi Hardware dan Software a. Implementasi Algoritma pada Genetika Penjadwalan LAB ICT

1) Hardware Adapun spesifikasi hardware yang harus terpenuhi agar aplikasi

Penjadwalan LAB ICT TERPADU dapat berjalan dengan baik adalah sebagai

berikut:

a). Processor Intel Core i5 + 1,68GHz

b). RAM / Memory 2 GB

c). Keyboard dan Mouse

d). Monitor

e). Hardisk

2) Software Dibawah ini merupakan spesifikasi software yang dibutuhkan agar

aplikasi dapat berjalan dengan maksimal:

a). Sistem Operasi Microsoft Windows 7

b). Java Development Kit (JDK 7u1-windows-i586)

c). MySQL Front 5.2 + XAMPP

d). Jtatoo-1.6.10

e). Netbeans 7.4.

2. Tampilan Layar Program

a. Tampilan Layar Menu

Pada Menu Utama terdapat 3 menu pilihan, yaitu “File Master”, “File

Transaksi”, “File Generate Jadwal”. Apabila admin memilih menu “File Master” terdapat submenu ”Mata Kuliah”, ”Dosen”, ”LAB”, ”Hari”, ”Jam”. Apabila admin memilih menu “File Transaksi” terdapat submenu “spesifikasi LAB”, ”Input Jadwal”.

Apabila admin memilih menu “File Generate Jadwal” terdapat submenu “Generate

Jadwal”. Tampilan layar menu Utama dapat dilihat pada Gambar 4.1 berikut ini:

Page 69: Laporan KKP

54

Gambar 4.1 : Tampilan Layar Menu Utama

b. Tampilan Layar Form Mata Kuliah

Tampilan ini akan muncul ketika admin memilih menu file master lalu ke

submenu Mata Kuliah. Didalam Form Mata Kuliah, admin dapat melakukan kegiatan

CRUD(Create Read Update Delete) berdasarkan dari data Mata Kuliah. Admin dapat

menginputkan data mata kuliah lainnya, karena kode mata kuliah sudah diatur

sebagai auto increment dan auto number. Data Mata Kuliah yang dapat diinput

meliputi kode mata kuliah, nama mata kuliah, SKS.

Page 70: Laporan KKP

55

Gambar 4.2 : Tampilan Layar Form Mata Kuliah

Kemudian di dalam Form mata kuliah ada Button cari yang terdapat sebuah

Form PopUp Mata Kuliah yang berisikan tabel dari mata kuliah yang pernah di

inputkan oleh Admin. Form PopUp Mata Kuliah dilengkapi sebuah field kode atau

nama mata kuliah untuk mempermudah mencari data mata kuliah yang pernah

diinputkan di dalam database untuk ditampilkan ke sebuah Form Mata Kuliah.

Page 71: Laporan KKP

56

Gambar 4.3 : Tampilan Layar Form PopUp Mata Kuliah

c. Tampilan Layar Form Dosen

Tampilan ini akan muncul ketika admin memilih menu file master lalu ke

submenu Dosen. Didalam Form Dosen, admin dapat melakukan kegiatan CRUD (Create Read Update Delete) berdasarkan dari data Dosen. Admin dapat

menginputkan data dosen lainnya, karena kode dosen sudah diatur sebagai auto increment dan auto number. Data Mata Kuliah yang dapat diinput meliputi kode

dosen, nama dosen.

Page 72: Laporan KKP

57

Gambar 4.4 : Tampilan Layar Form Dosen

Kemudian di dalam Form Dosen ada Button cari yang terdapat sebuah Form PopUp Dosen yang berisikan tabel dari Dosen yang pernah diinputkan oleh Admin.

Form PopUp Dosen dilengkapi sebuah field kode atau nama dosen untuk

mempermudah mencari data dosen yang pernah diinputkan didalam database untuk ditampilkan ke sebuah Form Dosen.

Gambar 4.5 : Tampilan Layar Form PopUp Dosen

d. Tampilan Layar Form LAB Tampilan ini akan muncul ketika admin memilih menu file master lalu ke

submenu LAB. Didalam Form LAB, admin dapat melakukan kegiatan CRUD (Create Read Update Delete) berdasarkan dari data LAB. Admin dapat menginputkan data

LAB lainnya, karena kode LAB sudah diatur sebagai auto increment dan auto number. Data LAB yang dapat diinput meliputi kode LAB, kapasitas LAB.

Page 73: Laporan KKP

58

Gambar 4.6 : Tampilan Layar Form LAB

e. Tampilan Layar Form Hari

Tampilan ini akan muncul ketika admin memilih menu file master lalu ke

submenu Hari. Didalam Form Hari, admin dapat melakukan kegiatan Simpan,

Tambah dan Batal berdasarkan dari data Hari. Admin dapat menginputkan data

nama hari lainnya, karena nama hari akan mengisi kode hari sebagai auto increment. Data Hari yang dapat diinput meliputi kode Hari, nama Hari.

Page 74: Laporan KKP

59

Gambar 4.7 : Tampilan Layar Form Hari

f. Tampilan Layar Form Jam

Tampilan ini akan muncul ketika admin memilih menu file master lalu ke

submenu Jam. Didalam Form Jam, admin dapat melakukan kegiatan CRUD (Create Read Update Delete) berdasarkan dari data Jam. Admin dapat menginputkan data

Jam Mata Kuliah lainnya, karena kode Jam sudah diatur sebagai auto increment. Data Jam yang dapat diinput meliputi Detail Jam.

Gambar 4.8 : Tampilan Layar Form Jam

g. Tampilan Layar Form Spesifikasi LAB

Tampilan ini akan muncul ketika admin memilih menu file transaksi lalu ke

submenu Spesifikasi LAB. Didalam Form Spesifikasi LAB, admin dapat melakukan

kegiatan CRUD (Create Read Update Delete) berdasarkan dari data spesifikasi LAB.

Admin dapat menginputkan data spekifikasi LAB lainnya, karena kode LAB sudah

diatur sebagai auto increment dan auto number. Data spesifikasi LAB yang dapat

diinput meliputi kode LAB, Mata Kuliah.

Page 75: Laporan KKP

60

Gambar 4.9 : Tampilan Layar Form Spesifikasi LAB

h. Tampilan Layar Form Input Jadwal

Tampilan ini akan muncul ketika admin memilih menu file transaksi lalu ke

submenu Input Jadwal. Didalam Form Input Jadwal, admin dapat melakukan

kegiatan CRUD (Create Read Update Delete) berdasarkan dari data Input Jadwal.

Admin dapat menginputkan data Jadwal lainnya, karena kode dosen Jadwal sudah

diatur sebagai auto increment dan auto number. Data Jadwal mata kuliah yang

dapat diinput meliputi tahun ajaran, semester, mata kuliah, dosen, hari, jam,

kelompok.

Page 76: Laporan KKP

61

Gambar 4.10 : Tampilan Layar Form Input Jadwal

i. Tampilan Layar Form Generate Jadwal

Tampilan ini akan muncul ketika admin memilih menu file master lalu ke

submenu Dosen. Didalam Form Generate Jadwal, admin dapat melakukan kegiatan

pengoptimalan jadwal mata kuliah dengan cara melakukan start Generate dan

untuk membersihkan pada form input Generate Jadwal dengan menggunakan

Button Bersih. Admin dapat menginputkan data lainnya, seperti meliputi tahun

ajaran, semester, min individu, hari, probabilitas pc, probabilitas pm, min iterasi

pada form tersebut.

Page 77: Laporan KKP

62

Gambar 4.11 : Tampilan Layar Form Generate Jadwal

3. Hasil Pengujian

Pada hasil pengujian yang penulis lakukan adalah untuk mengetahui apakah

program yang telah dibuat dapat berjalan secara maksimal, untuk itu maka program

tersebut harus diuji dahulu mengenai kemampuannya agar dapat berjalan sesuai

dengan yang diharpkannya pada saat implementasi nantinya.

Pada aplikasi yang dibuat penulis ini terdapat tahap implementasi program

Penjadwalan LAB ICT TERPADU yang terinstall pada komputer untuk digunakan sebagai

pengoptimalan data oleh user.

Dalam hal ini penulis melakukan sebuah penjadwalan dengan implementasi

algoritma genetika dengan panjang kromosom 14 gen. Dalam merepresentasikan

pembangkitan ini, penulis menggunakan representasi integer melalui jumlah LAB yang

ada pada setiap mata kuliah untuk sesi yang ditentukan oleh penulis ini. Seperti gambar

dibawah ini.

Page 78: Laporan KKP

63

Gambar 4.12 : Representasi Integer Pada LAB

Setelah melakukan sebuah pembangkitan sebanyak N individu dan pencocokan

pada LAB setiap mata kuliah, penulis melakukan sebuah uji coba program dengan

memasukan tahun ajaran, semester, jumlah banyaknya individu, hari yang sesuai

dengan jadwal mata kuliah dari fakultas, lalu Probabilitas pc (crossover) dan pm(Mutasi) secara defaultnya 0, 5 (pc) lalu pm 0, 05 sesuai iterasi yang ditentukan oleh pihak

Surpervisor LAB. Seperti hasil pengujian dibawah ini :

a. Hasil Pengujian Pertama

Penulis menginputkan tahun ajaran 2014/2015, kemudian menginputkan

semester ganjil, kemudian menginputkan individu sebanyak 20, kemudian

menginputkan Hari “Selasa” dengan probabilas pc 0.65, kemudian probabilitas pm

0.35 dan iterasi sebanyak 100 didapatkan sebuah hasil seperti gambar berikut.

Gambar 4.13 : Form Generate Hasil Pengujian Pertama

Page 79: Laporan KKP

64

Tabel 3.8. : Hasil Pengujian pertama

LAB ICT Jam

08:00 – 10:40 10:45-13:20 13:25-16:05 16:10-18:50

LAB 1 Pemrograman Web

pemvis 01 pemvis 01 design grafis

LAB 2 pemvis-03 PBO Pemvis-01 Design Grafis LAB 3 Pemvis-02 Pemvis-02 Pemvis-01 Design Grafis

LAB 4 Pemvis-02 Pemvis-02 Pemvis-01 Mobile Programming

LAB 5 Pemvis-03 Pemvis-01 Pemvis-01 Mobile Programming

LAB 6 Pemvis-03 DPW-02 Pemvis-01 Aplikom Akuntasi

LAB 7 Oracle PL/SQL Oracle PL/SQL DPW-02 Oracle PL/SQL

LAB 8 Pemrograman Web

Oracle PL/SQL DPW-02 Oracle PL/SQL

LAB 9 Pemvis-02 Pemvis-01 Pemvis-01 Oracle PL/SQL

LAB 10 Pemvis-03 PASI DPW-02 Oracle PL/SQL

LAB 11 Pemrograman Web

Pemvis-03 PBOL Mobile Programming

LAB 12 PTI PASI BASIS DATA BASIS DATA

LAB 13 Pemrograman Web

Pemvis-01 DPW-02 Design Grafis

LAB 14 Pemvis-03 Pemvis-03 Pemvis-01 Design Grafis

b. Hasil Pengujian Kedua

Penulis menginputkan tahun ajaran 2014/2015, kemudian menginputkan

semester ganjil, kemudian menginputkan individu sebanyak 50, kemudian

menginputkan Hari “Rabu” dengan probabilas pc 0.62, kemudian probabilitas pm

0.25 dan iterasi sebanyak 25 didapatkan sebuah hasil seperti gambar berikut.

Page 80: Laporan KKP

65

Gambar 4.14 : Form Generate Hasil Pengujian Kedua

Tabel 3.9. : Hasil Pengujian kedua

LAB ICT Jam

08:00 – 10:40 10:45-13:20 13:25-16:05 16:10-18:50

LAB 1 Pemrograman Web

Design Grafis Pemvis-01 Design Grafis

LAB 2 Pemrograman Web

Pemvis-01 Pemvis-01 Design Grafis

LAB 3 PBO Pemvis-01 OP OP

LAB 4 Pemrograman Web

DPW-02 Pemrograman Web

OP

LAB 5 Pemvis-03 Pemvis-03 Pemvis-01 Zahir Acc

LAB 6 Pemvis-03 Pemvis-01 Pemvis-01 Aplikom Akuntansi

LAB 7 Pemvis-03 DPW-02 Oracle PL/SQL PASI

LAB 8 Pemrograman Web

OP Pemrograman Web

OP

LAB 9 Komputer Grafik

Pemvis-01 Pemvis-01 Zahir Acc

LAB 10 PASI Pemvis-01 Pemvis-01 PASI

LAB 11 Komputer Grafik

Mobile Programming

PASIA PASI

LAB 12 Basis Data PASI OP PASI

LAB 13 Pemvis-03 PASI Pemvis-01 PASI LAB 14 Pemvis-03 Pemvis-01 Pemvis-01 PASI

Page 81: Laporan KKP

66

4. Evaluasi Program

Evaluasi Program ini dimaksudkan untuk menganalisa hasli yang telah dicapai

oleh program yang dikembangkan. Program ini tentu saja mempunyai kekurangan dan

kelebihan.Tentunya hal ini ditinjau dari kebutuhan pemakai dalam bermacam-macam

kondisi dan situasi. Adapun kekurangan dan kelebihan program yang dikembangkan

adalah sebagai berikut :

a. Kelebihan Program

Ada beberapa kelebihan yang dapat dijadikan catatan, diantaranya adalah :

1) Program ini hanya dapat mengenerate jadwal yang merupakan jam utama

seperti jam 08:00, 10:40, 13:25 dan 16:10.

2) Program ini mampu memberikan saran berupa solusi terbaik.

b. Kekurangan Program

Ada beberapa hal yang menjadi kendala jika aplikasi ini dijalankan,

diantaranya adalah :

1) Program ini hanya dapat mengenerate jadwal yang merupakan jam utama

seperti jam 08:00, 10:40, 13:25 dan 16:10. Selain dari keempat jam utama

tersebut tidak bisa. Karena program ini meprioritaskan ke empat jam utama

tersebut.

2) Program ini terjadi lambat apabila semakin banyak iterasi yang inputkan akan

tetapi hasil solusi yang disarankan jauh lebih baik berdasarkan fitnessnya.

Page 82: Laporan KKP

67

BAB V

PENUTUP

Berdasarkan analisis yang telah dilakukan terhadap permasalahan yang ada, maka

dapat ditarik kesimpulan dan saran yang mungkin diperlukan dalam pengembangan sistem

yang lebih kompleks.

1. Kesimpulan

Dari hasil analisis terhadap masalah dan aplikasi yang dikembangkan, maka dapat

ditarik beberapa kesimpulan, sebagai berikut:

Dengan aplikasi Penjadwalan LAB ICT TERPADU ini, memudahkan supervisor LAB a.

untuk mengatur sebuah penjadwalan mata kuliah yang ada di LAB ICT.

Dengan aplikasi penjadwalan LAB ICT TERPADU ini, mata kuliah yang ada di LAB b.

secara otomatis akan menyesuaikan LAB yang disediakan sehingga tidak perlu

mengatur mata kuliah yang bentrok pada hari itu atau memprioritaskan sebuah

mata kuliah di LAB tertentu.

Aplikasi ini masih membutuhkan administrator untuk generate sebuah jadwal mata c.

kuliah.

2. Saran

Penulis juga mengajukan saran-saran yang mungkin bisa dijadikan pertimbangan

dalam pengembangan sistem, antara lain :

Aplikasi ini dibuat hanya untuk mengoptimalkan sebuah penjadwalan Mata Kuliah a.

pada LAB ICT.

Tanpa adanya perawatan dan pengawasan dari pihak yang bertanggung jawab b.

dalam pemeliharan aplikasi ini, maka aplikasi ini tidak akan dapat berjalan dengan

baik dan lancar.

Spesifikasi kebutuhan program harus dipenuhi sehingga aplikasi bekerja dengan c.

benar dan dengan waktu proses yang cepat.

Diharapakan berbasis web sehingga, proses pem d.

Demikianlah kesimpulan dan saran yang kami sampaikan. Semoga apa yang telah

kami buat bisa bermanfaat bagi LAB ICT TERPADU tempat kami untuk melakukan riset, serta

bisa mendapatkan keuntungan dari sistem yang kami rancang ini. Dan dapat memberikan

nilai tambah dalam kinerja pada Implementasi Algoritma Genetika Pada Sistem Penjadwalan

LAB ICT TERPADU.

Page 83: Laporan KKP

68

DAFTAR PUSTAKA

Afif, Abdul., 2010. Pengertian Dari Mutasi Genetik pada Organisme. [Online] Available at :

http://zalink4.blogspot.com/p/pengertian-dari-mutasi-genetik-pada.html [Accessed 23 Januari 2015].

Arkeman, Yandra., Gunawan, Hendra., Seminar, Kudang Boro.2012.Algoritma Genetika Teori

dan Aplikasinya untuk Bisnis dan Industri.Seri Artificial Intelligence, Jakarta:IPB Press.

Andi Wibowo, M., 2009. Makalah Seleksi. [Online] Available at :

eprints.undip.ac.id/5197/1/BAB_I_%26_BAB_II.pdf [Accessed 23 Januari 2015].

Budi, F., 2013. Cara Pengkodean Dalam Algoritma Genetika. [Online] Available at:

http://infokitabersama123.blogspot.com/2013/12/cara-pengkodean-dalam-algoritma-genetika.html.[Accessed 23 Januari 2015].

Goldberg, David E.1989.Genetic Algorithms in Search, Optimization, and Machine

Learning.Canada:Addison-wesley Publisihng Company.

Mulyanto, Eddy., Sutojo, T. & Suhartono, Dr.Vincent.2011. Kecerdasan Buatan, Yogyakarta : ANDI Yogyakarta dan UDINUS Semarang.

Naftali, Y., 2007. Algoritma Genetik. [Online] Available at: https://yohanli.wordpress.com/2007/11/16/algoritma-genetik/[Accessed 12 Desember 2014].

Siswanto, 2010, Kecerdasan Tiruan, Edisi Pertama, Cetakan Kedua, Yogyakarta : Graha Ilmu.

ST, Suyanto.2014.Artificial Intelligence. Jakarta : INFORMATIKA.

Yulius, Rina., 2010. Algoritma Genetik. [Online]Available at : https://yuriena.wordpress.com/2010/08/24/72/[Accessed 23 Januari 2015].

Yunus, Muhajir., 2013. Gudang Ilmu [Online] Available at :

https://muhajiryunus.wordpress.com/2013/11/29/algoritma-genetik/[Accessed 24 Januari 2015].