Anda di halaman 1dari 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

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

ii

SURAT KETERANGAN

iii

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

iv

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 karuniaNya 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

DAFTAR TABEL

Tabel 2.1. :
Tabel 2.2. :
Tabel 3.1. :
Tabel 3.2. :
Tabel 3.3. :
Tabel 3.4. :
Tabel 3.5. :
Tabel 3.6. :
Tabel 3.7. :
Tabel 3.8. :
Tabel 3.9. :

Halaman
Perbandingan Inilah Pada Sistem Alamiah Dan Algoritma Genetika ............. 3
Contoh populasi dengan 5 kromosom setelah dirangking .......................... 7
Spesifikasi Tabel Dosen ......................................................................... 17
Spesifikasi Tabel Hari ............................................................................ 17
Spesifikasi Tabel Jam ............................................................................ 17
Spesifikasi Tabel LAB ............................................................................ 18
Spesifikasi Tabel Mata kuliah.................................................................. 18
Spesifikasi Tabel Spesifikasi LAB ............................................................. 18
Spesifikasi Tabel tjadwal........................................................................ 19
Hasil Pengujian pertama........................................................................ 64
Hasil Pengujian kedua ........................................................................... 65

vi

DAFTAR GAMBAR

Gambar 2.1 :

Halaman
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

vii

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

viii

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

ix

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.

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

xi

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

xii

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

xiii

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

xiv

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 NPComplete, 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.

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.

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
Kromosom
Gen
Allel
Locus
Genotip
Fenotip

Algoritma Genetika
String
Fitur karakter atau Detector
Nilai Fitur
Posisi String
Struktur
Set parameter, solusi alternatif, Struktur yang
didekodekan

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 :

1)

Pengkodean Integer
Pada representasi integer, nilai gen bisa bernilai bilangan bulat.
bilangan bulat digunakan untuk merepresentasikan nomor urut posisi, atau
kualitas obyek

Kromosom 1

256897143

Kromosom 2

145789326

Gambar 2.1 :
2)

Representasi kromosom dalam pengkodean Integer

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 barangbarang
tersebut ke dalam ransel dengan nilai barangbarang yang maksimal tanpa
melebihi kapasistas ransel. Pada permasalahan ini, setiap bit dalam
kromosom mewakili barangbarang yang akan masuk ke dalam ransel.
Barang yang masuk kedalam ransel diberi nilai 1, sedangkan yang tidak
masuk diberi nilai inversenya, yakni 0.

Kromosom 1

10001010011

Kromosom 2

10001010011

Gambar 2.2 :

Representasi Kromosom dalam pengkodean Biner

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.

Kromosom

Fitness

A
B

15
5

C
D

10
5

5
(i)

Gambar 2.3 :
2)

(ii)

Contoh penggunaan seleksi dengan metode roulette wheel

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

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
A
B
C
D
E
c.

Fitness
15
5
10
5
5

Fitness Baru
5
1
4
2
3

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 gengen 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).

Kromosom Orangtua 1 :

Kromosom Orangtua 2 :

Kromosom 1

Kromosom 2

Gambar 2.4 :

Contoh perkawinan silang 1 titik pada pengkodean biner

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.

Kromosom Orangtua 1 :

Kromosom Orangtua 2 :

Kromosom 1

Kromosom 2

Gambar 2.5 :
d.

Contoh perkawinan silang 2-titik pada pengkodean biner

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
dilakukan pada pengkodean Integer
konsistensi urutan nilai kromosomnya.
dilakukan dengan cara memilih dua
nilainya saling dipertukarkan.

perkawinan silang, mutasi yang


harus dipastikan dapat menjaga
Mutasi untuk jenis pengkodean ini
posisi pada kromosom, kemudian

Kromosom Sebelum Mutasi

Kromosom Setelah Mutasi

Gambar 2.6 :

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).

Kromosom Sebelum Mutasi

Kromosom Setelah Mutasi

Gambar 2.7 :

e.

Contoh mutasi pada pengkodean Integer

Contoh mutasi pada pengkodean Biner

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

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 2030, tetapi
terkadang jumlah 50100 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
01. Untuk menghasilkan offspring yang lebih baik, biasanya nilai Pc diset
mendekati 1.

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 kromosomkoromsom
dengan nilai fitness baik yang telah diperoleh.

e.

Probabilitas Elitisme
Probabilitas elitisme akan menentukan individuindividu yang pantas untuk
bertahan dalam generasi mendatang.

12

Gambar 2.8 :

Diagram alir algoritma genetik

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:

13

14

Gambar 3.1 :

Rancangan Entity Relationship Diagram

15

b.

Transformasi ER-Diagram ke LRS (Logical Record Structure)


Berdasarkan ER-Diagram pada Gambar 3.2 maka didapatkan
transformasi ER-Diagram ke Logical Record Structure sebagai berikut:

hasil

M
Ada

Matkul
*Kd_Maktul
Nama_Matkul
sks_matkul

*Kd_Matkul
*Kode_Jadwal
*Kd_Dosen
Nama_dosen
Email_Dosen
Tlp_Dosen

*Kd_Dosen
*Kode_Jadwal
*Kode_spek
Kode_Lab
Kode_Matkul

Spekifikasi Lab

1
Punya

1
M

Lab

Punya

1
M

tJadwal

Dosen

1
Ada

Jam

1
*Kode_Lab
Kapasistas

M
*Kode_Lab
*Kode_jadwal

*Kd_Jam
*Kode_Jadwal

*Kd_Jam
Nama_jam

1
Hari

*Kode_hari
Nama_hari

Gambar 3.2 :
c.

Ada

*Kode_Hari
*Kode_jadwal

* Kode_jadwal
Tahun_ajaran
Semester
Kelompok

Rancangan ER-Diagram Ke Logical Record Structure

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:

16

Gambar 3.3 :

Rancangan Logical Record Structure

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. :

2)

Type

Length

kode_dosen
nama_dosen
email_dosen
tlp_dosen

Char
Varchar
Varchar
Varchar

8
55
30
20

Tabel Hari
Nama Tabel
Media
Primary Key
Foreign Key

:
:
:
:

Spesifikasi Tabel Hari

Field

Type

Length

kode_hari
nama_hari

Int
Varchar

2
10

Tabel Jam
Nama Tabel
Media
Primary Key
Foreign Key

:
:
:
:

Keterangan
Kode Dosen
Nama Dosen
Email Dosen
Telepon Dosen

Hari
Harddisk
kode_hari
-

Tabel 3.2. :

3)

Spesifikasi Tabel Dosen

Field

Keterangan
Kode Hari
Nama Hari

Jam
Harddisk
kode_jam
-

Tabel 3.3. :

Spesifikasi Tabel Jam

Field

Type

Length

kode_jam
nama_jam

Int
Varchar

5
12

Keterangan
Kode Jam
Detail Jam

18

4)

Tabel LAB
Nama Tabel
Media
Primary Key
Foreign Key

:
:
:
:

LAB
Harddisk
kode_LAB
-

Tabel 3.4. :

5)

Field

Type

Length

kode_LAB
kapasitas

Char
Char

6
2

Tabel Matkul
Nama Tabel
Media
Primary Key
Foreign Key

:
:
:
:

Keterangan
Kode LAB
Kapasistas LAB

Matkul
Harddisk
kode_matkul
-

Tabel 3.5. :

6)

Spesifikasi Tabel LAB

Spesifikasi Tabel Mata kuliah

Field

Type

Length

kode_matkul
Nama_matkul
sks_matkul

Char
Varchar
Enum(2, 3,
4)

8
55
1

Keterangan
Kode Mata Kuliah
Nama Mata Kuliah
SKS mata kuliah

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

kode_spek
kode_LAB
kode_matkul

Char
Char
Char

9
6
5

Keterangan
Kode spekifikasi
Kode LAB
Kode Mata Kuliah

19

7)

Tabel tjadwal
Nama Tabel
Media
Primary Key
Foreign Key

:
:
:
:

kode_jadwal
Harddisk
kode_jadwal
kode_matkul, kode_dosen, kode_hari, kode_jam

Tabel 3.7. :

4.

Spesifikasi Tabel tjadwal

Field

Type

Length

kode_jadwal
tahun_ajaran
semester

11
9
6

Kode_matkul

Char
Varchar
Enum(Genap,
Ganjil)
Char

Kode_dosen
Kode_hari
Kode_jam
Kelompok

Char
Char
Char
Char

8
2
2
2

Keterangan
Kode Jadwal
Tahun Ajaran
Semester
Kode Mata
Kuliah
Kode Dosen
Kode Hari
Kode Jam
Kelompok
Matkul

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 :
a) Menu Mata Kuliah, berfungsi untuk menambah, mengubah, mengedit,
dan menghapus data mata kuliah.
b) Menu dosen, berfungsi untuk menampilkan menambah, mengubah,
mengedit dan menghapus data dosen.
c) Menu LAB, berfungsi untuk menampilkan, menambah, mengubah,
mengedit, dan menghapus data LAB.
d) Menu hari, berfungsi untuk menambah dan menampilkan data hari.
e) Menu jam, berfungsi untuk menampilkan, menambah, mengubah,
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 :

20

a)

Menu Spesifikasi LAB, berfungsi untuk menambah, menampilkan,

mengubah, menghapus dan mengedit.


Menu Input Jadwal, berfungsi untuk menambah, menampilkan,
mengubah, menghapus, dan mengedit.
Menu File Generate Jadwal, adalah menu yang memuat pada menu generate
jadwal fungsi masing-masing dari menu tersebut adalah :
a) Menu Generate jadwal, berfungsi untuk melakukan optimasi penjadwalan
dan juga menampilkan hasil yang sudah dilakukan pada tabel.
b)

3)

Gambar 3.4 :
b.

Form Rancangan Layar Form Menu

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.

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

22

Gambar 3.6 :
2)

Rancangan Layar Form PopUp Mata Kuliah

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

23

Gambar 3.8 :
3)

Rancangan Layar Form PopUp Dosen

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.

24

Gambar 3.9 :
4)

Rancangan Layar Form LAB

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.

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.

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.

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.

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.

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.

30

Start

1
Ya
Tampilan Desktop

MK

Pilih = mata kuliah

Tidak
Ya
Tampilan Menu
Utama

Pilih = Dosen

Tidak
Ya

Input Pilih

Pilih = Lab

Tidak

2
Ya
Tampilkan Semua
Menu File Master

Pilih = Menu File Master

Ya
Input Pilih

Pilih = Hari

Tidak

Tidak

Ya
J

Pilih = Jam

Tidak
2

3
Ya

Tampilkan Semua
Menu File
Transaksi

Pilih = Menu File Transaksi

Ya
Input Pilih

SL

Pilih = Spesifikasi Lab

Tidak

Tidak

Ya
Pilih = Input Jadwal

Tidak

4
Ya
Pilih = Menu Generate
Jadwal

Tampilkan Semua Menu


File Generate Jadwal

3
Input Pilih

Tidak

Ya
Pilih = Generate

Tidak
1
4

Gambar 3.15 : Rancangan Layar Form Menu Utama

IJ

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

32

Flowchart dan Algoritma Form Mata kuliah


1) Flowchart Form Mata Kuliah

b.

MK

Tampilkan
Mata Kuliah

Input Pilih

Ya

3
Tampilan Panel
Form Input Mata
Kuliah

Pilih = Form Input


Mata Kuliah

Input Data
Mata Kuliah

Tampilan
Pean
Konfirmasi

Pilih = Simpan

Input Pilih

Tidak
Tidak

Ya

Tampilan
Pean
Konfirmasi

Input Pilih

Ya

Simpan Data
Ke Tabel
Mata Kuliah

Pilih = Ubah

Pilih = Yes
Tidak

Tidak
Ya

Pilih = Yes

Simpan Data
Ke Tabel
Mata Kuliah

Bersihkan Form
Input Data Mata
Kuliah

Tidak

Pilih = No

Tidak
Tidak
Ya
4

Bersihkan Form
Input Data Mata
Kuliah

Pilih = No

2
2

Tidak
Ya

Pilih = Hapus

3
2

5
Tampilan
Pean
Konfirmasi

Input Pilih

Tidak

Ya

Simpan Data
Ke Tabel
Mata Kuliah

Pilih = Yes
Tidak

Ya
2

Bersihkan Form
Input Data Mata
Kuliah

Pilih = Bersih

Ya

Bersihkan Form
Input Data Mata
Kuliah

Pilih = No

Tidak
Tidak
Tidak

Ya
MU

Pilih = Exit

Tidak
2
6
Ya
Pilih = Data Mata
Kuliah

Tampilkan
Data Mata
Kuliah

Input Kriteria
Pencarian

Input Pilih

Pilih = Cari
Tidak

Tidak
1

Ya

Gambar 3.16 : Rancangan Layar Form Mata Kuliah

PM

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.

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

35

45.
46.
47.
48.
49.
50. End

3)

If Pilih = Cari Then


Tampilkan Form PopUp Mata Kuliah
Else
Kembali ke Form Mata Kuliah
End If
If

Algoritma PopUp Dosen


1.
2.
3.
4.
5.
6.
7.
8.

Tampilan PopUp Dosen


Input Pilih
IF Pilih = Input Form PopUP Dosen THEN
Input Kriteria Pencarian
IF Pilih = Cari
proses pencarian data dari tabel dosen
tampilkan ke dosen
End If

36

c.

Flowchart dan Algoritma Form Dosen


1) Flowchart Form Dosen

Gambar 3.18 : Rancangan Layar Form Dosen

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.

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

39

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
3) Algoritma Form PopUp Dosen
1.
2.
3.
4.
5.
6.
7.
8.
9.

Tampilan PopUp Dosen


Input Pilih
IF Pilih = Input Form PopUP Dosen THEN
Input Kriteria Pencarian
IF Pilih = Cari
proses pencarian data dari tabel dosen
tampilkan ke dosen
End IF
End If

40

Flowchart dan Algoritma Form LAB


1) Flowchart Form LAB

d.
L

Tampilkan
Mata Lab

Input Pilih

Ya

Pilih = Form Input


Lab

Tampilan Panel
Form Input Lab

Input Data
Lab

Tampilan
Pean
Konfirmasi

Pilih = Simpan

Input Pilih

Tidak
Tidak

Ya

Tampilan
Pean
Konfirmasi

Input Pilih

Ya

Simpan Data
Ke Tabel Lab

Pilih = Ubah

Pilih = Yes
Tidak

Tidak
Ya

Simpan Data
Ke Tabel Lab

Pilih = Yes

Bersihkan Form
Input Data Lab

Tidak

Pilih = No

Tidak
Tidak
Ya
4

Bersihkan Form
Input Data Lab

Pilih = No

Tidak
Ya

Pilih = Hapus

3
2

5
Tampilan
Pean
Konfirmasi

Input Pilih

Tidak

Simpan Data
Ke Tabel Lab

Ya

Pilih = Yes
Tidak

Ya
2

Bersihkan Form
Input Lab

Pilih = Bersih

Ya

Bersihkan Form
Input Data Lab

Pilih = No

Tidak
Tidak
Tidak

Ya
MU

Pilih = Exit

Tidak
2

Gambar 3.20 : Rancangan Layar Form LAB

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

42

e.

Flowchart dan Algoritma Form Hari


1) Flowchart Form Hari

Gambar 3.21 : Rancangan Layar Form Hari

43

2)

Algoritma Form Hari


Algoritma berikut
menjalankan Form Hari.

menjelaskan

proses

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

yang

terjadi

jika

admin

44

f.

Flowchart dan Algoritma Form Jam


1) Flowchart Form Jam

Gambar 3.22 : Rancangan Layar Form Jam

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

46

g.

Flowchart dan Algoritma Form Spesifikasi LAB

1)

Flowchart Form Spesifikasi LAB

47

Gambar 3.23 : Rancangan Layar Form Spesifikasi LAB


2) Algoritma Form Spesifikasi LAB
Algoritma berikut menjelaskan
menjalankan Form Spesifikasi LAB.

proses

yang

terjadi

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

jika

admin

48

39.
40.
41.
42.
43.
44.

Bersihkan Form Input Data Spesifikasi Lab


End If
Else If Pilih = Exit Then
Kembali ke Menu Utama
End If
End If

49

h. Flowchart dan Algoritma Form Input Jadwal


1) Flowchart Form Input Jadwal

Gambar 3.24 : Rancangan Layar Form Input Jadwal

50

2)

Algoritma Form Input Jadwal


Algoritma berikut menjelaskan
menjalankan Form Input Jadwal.

proses

yang

terjadi

jika

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

admin

51

37.
38.
39.
40.
41.
i.

End If
Else If Pilih = Exit Then
Kembali ke Menu Utama
End If
End If

Flowchart dan Algoritma Form Generate


Flowchart Form Generate
1)

Gambar 3.25 : Rancangan Layar Form Generate

52

2)

Algoritma Form Generate


Algoritma berikut menjelaskan proses yang terjadi jika admin
menjalankan Form Generate.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.

j.

Tampilkan Generate
Input Pilih
If Pilih = Form Input Generate Then
Tampilan Form Input Generate
Masukan Tahun Ajaran
Masukan Hari
Masukan Individu
Inputkan Semester
Masukan Pc
Masukan Pm
Masukan Iterasi
IF Pilih = Start Generate
Proses Algoritma Genetika
Tampilkan Hasil Ke Tabel Form Generate
End IF
End If

Algoritma Pada Algoritma Genetika


1.
2.
3.
4.
5.
6.
7.

Proses Algoritma Genetika


Pembangkitan Sebanyak N individu untuk Setiap Sesi
If cek = Bentrok matkul then
Simpan Ke dalam bentrok + 1 (untuk setiap individu)
Masukan nilai bentrok kedalam fitness dengan 1/(JB)+1
Sorting individu berdasarkan nilai fitness dari desc ke asc
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.
12.
13.
14.
15.
16.
17.
18.

Lalu lakukan CrossOver


Hitung Fitness lagi
Hitung Jumlah titik dengan = Pgen * Bindividu * Pm
Penggantian nilai mutasi diganti dengan nilai acak berdasarkan
mata kuliah pada setiap sesi
Update generasi (Eletism).
Sorting Fitness Asc
Ambil sebanyak jumlah individu hasil sorting fitness.
End IF

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:

53

54

Gambar 4.1 :
b.

Tampilan Layar Menu Utama

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.

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.

56

Gambar 4.3 :
c.

Tampilan Layar Form PopUp Mata Kuliah

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.

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 :
d.

Tampilan Layar Form PopUp Dosen

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.

58

Gambar 4.6 :
e.

Tampilan Layar Form LAB

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.

59

Gambar 4.7 :
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 :
g.

Tampilan Layar Form Hari

Tampilan Layar Form Jam

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.

60

Gambar 4.9 :
h.

Tampilan Layar Form Spesifikasi LAB

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.

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.

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.

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

64

Tabel 3.8. :
LAB ICT

LAB 2
LAB 3

08:00 10:40
Pemrograman
Web
pemvis-03
Pemvis-02

LAB 4

Pemvis-02

Pemvis-02

Pemvis-01

LAB 5

Pemvis-03

Pemvis-01

Pemvis-01

LAB 6

Pemvis-03

DPW-02

Pemvis-01

LAB 7

Oracle PL/SQL

Oracle PL/SQL

DPW-02

LAB 8

Pemrograman
Web

Oracle PL/SQL

DPW-02

LAB 9

Pemvis-02

Pemvis-01

Pemvis-01

LAB 10

Pemvis-03

PASI

DPW-02

Pemvis-03

PBOL

PASI

BASIS DATA

Design Grafis
Design Grafis
Mobile
Programming
Mobile
Programming
Aplikom
Akuntasi
Oracle
PL/SQL
Oracle
PL/SQL
Oracle
PL/SQL
Oracle
PL/SQL
Mobile
Programming
BASIS DATA

Pemvis-01

DPW-02

Design Grafis

Pemvis-03

Pemvis-01

Design Grafis

LAB 1

LAB 11
LAB 12
LAB 13
LAB 14
b.

Hasil Pengujian pertama


Jam
10:45-13:20
13:25-16:05

Pemrograman
Web
PTI
Pemrograman
Web
Pemvis-03

16:10-18:50

pemvis 01

pemvis 01

design grafis

PBO
Pemvis-02

Pemvis-01
Pemvis-01

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.

65

Gambar 4.14 : Form Generate Hasil Pengujian Kedua


Tabel 3.9. :
LAB ICT

Hasil Pengujian kedua


Jam
10:45-13:20
13:25-16:05

LAB 5

08:00 10:40
Pemrograman
Web
Pemrograman
Web
PBO
Pemrograman
Web
Pemvis-03

LAB 6

Pemvis-03

Pemvis-01

Pemvis-01

LAB 7

Pemvis-03
Pemrograman
Web
Komputer
Grafik
PASI
Komputer
Grafik
Basis Data
Pemvis-03
Pemvis-03

DPW-02

Oracle PL/SQL
Pemrograman
Web

LAB 1
LAB 2
LAB 3
LAB 4

LAB 8
LAB 9
LAB 10
LAB 11
LAB 12
LAB 13
LAB 14

Design Grafis

Pemvis-01

Pemvis-01

Pemvis-01

Pemvis-01

Pemvis-03

OP
Pemrograman
Web
Pemvis-01

DPW-02

OP

16:10-18:50
Design
Grafis
Design
Grafis
OP
OP
Zahir Acc
Aplikom
Akuntansi
PASI
OP

Pemvis-01

Pemvis-01

Zahir Acc

Pemvis-01
Mobile
Programming
PASI
PASI
Pemvis-01

Pemvis-01

PASI

PASIA

PASI

OP
Pemvis-01
Pemvis-01

PASI
PASI
PASI

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.

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:
a. Dengan aplikasi Penjadwalan LAB ICT TERPADU ini, memudahkan supervisor LAB
untuk mengatur sebuah penjadwalan mata kuliah yang ada di LAB ICT.
b. Dengan aplikasi penjadwalan LAB ICT TERPADU ini, mata kuliah yang ada di LAB
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.
c. Aplikasi ini masih membutuhkan administrator untuk generate sebuah jadwal mata
kuliah.

2.

Saran
Penulis juga mengajukan saran-saran yang mungkin bisa dijadikan pertimbangan
dalam pengembangan sistem, antara lain :
a. Aplikasi ini dibuat hanya untuk mengoptimalkan sebuah penjadwalan Mata Kuliah
pada LAB ICT.
b. Tanpa adanya perawatan dan pengawasan dari pihak yang bertanggung jawab
dalam pemeliharan aplikasi ini, maka aplikasi ini tidak akan dapat berjalan dengan
baik dan lancar.
c. Spesifikasi kebutuhan program harus dipenuhi sehingga aplikasi bekerja dengan
benar dan dengan waktu proses yang cepat.
d. Diharapakan berbasis web sehingga, proses pem

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.

67

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-algoritmagenetika.html.[Accessed 23 Januari 2015].
Goldberg, David E.1989.Genetic Algorithms in Search,
Learning.Canada:Addison-wesley Publisihng Company.

Optimization, and Machine

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.
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
Januari 2015].

:
24

Yulius,

68