implementasi algoritma genetika pada sistem penjadwalan lab ict terpadu

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 04-Oct-2015

69 views

Category:

Documents


5 download

DESCRIPTION

IMPLEMENTASI ALGORITMA GENETIKA PADA SISTEM PENJADWALAN LAB ICT TERPADU

TRANSCRIPT

  • 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

  • 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

  • ii

  • iii

    SURAT KETERANGAN

  • 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

  • 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

  • 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

  • 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

  • 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

  • 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

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

  • 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

  • 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

  • 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

  • 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

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

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

  • 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

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

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

    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

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

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

    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

  • 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

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

  • 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

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

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

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

  • 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

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

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

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

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

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

  • 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

    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

  • 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

    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

  • 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

    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

  • 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

    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

  • 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

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

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

  • 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

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

  • 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

  • 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

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

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

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

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

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

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

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

  • 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 s