Rusdiana Fst

Embed Size (px)

Citation preview

  • 8/16/2019 Rusdiana Fst

    1/117

    OPTIMASI PENJADWALAN KULIAH

    MENGGUNAKAN METODE ALGORITI\1A GENETIKA

    RUSDIANA

    100091020205)

    JURUSAN TEKNIK INFORMATIKA

    FAI ULTAS SAINS DAN TEKNOLOGI

    UNIVERSIT

    S

    ISLAl\tl NEGE.RI

    SY ARIF HIDAYATULLAH

    JAKARTA

    2 4MI1425 H

  • 8/16/2019 Rusdiana Fst

    2/117

  • 8/16/2019 Rusdiana Fst

    3/117

    OPTIM SI PENJ DW L N KULI H

    MENGGUN K N METODE L G O R I T ~ v l GENETIK

    Skripsi

    Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer

    Fakultas Sains dan Teknologi

    Universitas Islam Negeri Syarif Hidayatullah Jakarta

    Oleh:

    RUSDIANA

    100091020205)

    Mengetahui

    Pembimbing II,

    Victor Amrizal, M.Kom

    Khodijah lulliyah, S.Kom

    Mengetahui,

    Ketua Jurusan Teknik Informatika

    < . . _ _ . . ~ ~ - - ~ ~ ~ ~ ~

    Ir. Bakri La Katjong MT.M.Kom

    NIP. 470 035 764

  • 8/16/2019 Rusdiana Fst

    4/117

  • 8/16/2019 Rusdiana Fst

    5/117

    PERNY T N

    DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR

    ASLI HASIL I ARYA SENDJRI YSNG BELUM PERNAH DIAJUKAN SEBAGAI

    SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU

    LEMBAGA MANAPUN.

    Jakarta, Juli 2004

    Rusdiana

    100091020205

  • 8/16/2019 Rusdiana Fst

    6/117

    ABSTRAK

    RUSDIANA (10001920205),

    Optimasi Penjadwalan Kuliah Menggunakan

    Metode Algoritma Genetika. (Di bawah bimbingan VICTOR AMRIZAL

    M.Kom dan KHODIJAH

    HULLIYAH S.Kom).

    Pembuatan jadwal kuliah yang selama ini masih bersifat manual

    mcnggunakan file-file excel dirasakan sangat sulit oleh pihak Fakultas Sains dan

    Teknologi. al ini disebabkan terbatasnya kesiapan waktu mengajar dosen

    (khususnya dosen luar) dan terbatasnya lokal yang tersedia, yang mengakibatkan

    adanya jadwal kuliah yang bentrok sehingga menghambat proses belajar

    mengajar.

    Untuk mengatasi hal tersebut, penulis melakukan penelitian pada Fakultas

    Sains dan Teknologi dengan menggunakan metode observasi, metode interview,

    metode studi pustaka dan metode RAD (Rapid Application

    D 1 ~ v e l o p m e n t

    untuk

    membuat suatu sistem (perangkat lunak) sebagai fasilitas yang membantu dalam

    pembuatan jadwal kuliah yang diharapkan mampu menempatkan kesiapan

    mengajar dosen pada lokal yang tersedia secara optimal.

    Optimalisasi pembuatan jadwal kuliah tersebut penulis lakukan

    menggunakan konsep lgoritm genetik yang dikembangkan oleh John Holland

    dari Universitas Michigen (1975), ia mengatakan bahwa setiap masalah yang

    berbentuk adaptasi (alami maupun buatan) dapat diformulasikan dalam

    terminologi genetika yang merupakan simulasi dari proses evolusi Darwin dan

  • 8/16/2019 Rusdiana Fst

    7/117

    Operasi Genetika atas kromosom. Konsep

    lgoritm genetik

    ini penulis

    interpretasikan kedalam sebuah bahasa pemrograman Borland Delphi 6.0 dan

    database paradox melalui proses pembentukan populasi, evaluasi, seleksi,

    rekombinasi, dan mutasi yang menghasilkan sistem optimasi penjadwalan kuliah.

    Kata Kunci : Metode Algoritma Genetika, GAs Genetic Algoritma Sistem)

  • 8/16/2019 Rusdiana Fst

    8/117

    K T PENG NT R

    Assalamu alaikum Wr. Wb.

    Segala puji bagi Allah yang telah melimpahkan rahmat, hidayah serta inayah

    Nya sehingga penulis dapat menyelesaikan skripsi ini. Selanjutnya shalawat beserta

    salam penulis sampaikan kepada Rasulullah SAW, yang telah membawa umatnya

    dari zaman kebodohan menjadi zaman yang penuh dengan ilmu pengetahuan.

    Dalarn penyusunan skripsi ini penulis rnenyadari sepenuhnya bahwa

    penyelesaian skripsi ini tidak akan berhasil dengan baik tanpa bimbingan serta

    dukungan yang pcnuh kctulusan dari berbagai pihak. Untuk itu penulis ingin

    mengucapkan terima kasih yang sedalam-dalarnnya kepada:

    1

    Bapak DR. Syopyansyah Jaya Putra, M.Sis, selaku dekan Fakultas Sains dan

    Telmologi.

    2 Bapak Viktor Amrizal, M.Korn dan Ibu Khodijah Hulliyah, S.Kom, selaku

    pembimbing skripsi yang secara kooperatif telah rnernberikan bimbingan dan

    saran-saran yang sangat berharga.

    3. Ayahanda Yusuf Arifin dan ibunda Julaeha yang telah rnemberikan dukungan

    baik rnoril maupun rnateril dalam menyelesaikan skripsi

    ini

    4 Kakak dan adik tercinta yang

    telea11

    memberikan bantuan, dukungan dan saran

    saran yang sangat berharga bagi penulis.

    5 Naily Ulva Sa adah, yang telah mernberikan motivasi dan bantuan yang sangat

    berharga baik moril rnaupun materil.

  • 8/16/2019 Rusdiana Fst

    9/117

    6

    Riza Abdul Aziz dan Ary Adithya, yang telah memberikan bantuan fasilitas

    clalam

    mengerjakan skripsi ini.

    7 bu Ovah clan Bapak Gunacli, yang telah memberikan bantuan dalam

    menyelesaikan skripsi ini.

    8

    Teman-teman KPA, Anas Dainuri, Alhacli Mustakim, Dedi Ahmad Dinuri, Luthfy

    Burhanudin, Ujang Husni , Dadan Luthfi Firdaus, Dade dan Iman yang telah

    membantu dan mendukung dalam pengerjaan skripsi ini.

    9 teman- teman kelas yang tak

    clapat

    penulis sebutkan satu persatu yang telah

    memberikan dukungan dan saran dalam mengerjakan skripsi ini.

    "Tidak ada gading yang retak'', penulis menyadari bahwa masih perlu

    penyempumaan dalam skripsi ini. Segala saran dan kritik untuk penyempumaan

    skripsi ini sangat diharapkan penulis. Akhir kata penulis berharap semoga skripsi ini

    dapat memberikan manfaat bagi yang membutuhkan.

    Wassalam

    Jakarta, Juli 2004

    Penulis

  • 8/16/2019 Rusdiana Fst

    10/117

    D FT RISI

    Halam

    an

    Halaman Sampul

    i

    Halaman Judul

    ii

    Halaman Persetujuan

    Pembimbing

    iii

    Halaman

    Pengesahan iv

    Halaman

    Pernyataan v

    Abstraksi vi

    Kata

    Pengantar

    vii

    Daftar Isi x

    Daftar Lampiran

    xv

    BAB I PEND HULU N 1

    1 1

    Latar

    Belakang

    I

    1 2 Perumusan

    Masalah 2

    1 3 Batasan Masalah 2

    1 5 Tujuan dan

    Manfaat

    Penelitian 3

    1 6 Metode

    Penelitian 4

    1 6 1

    Metode

    Studi Pusataka 4

    1 6 2

    Metode

    Interview 4

    1 6 3

    Metode

    Observasi 4

    1 6 4 Metode

    Pengembru1gan Sistem 4

  • 8/16/2019 Rusdiana Fst

    11/117

    1.6.4 Metode Pengembangan Sistem ................................................ 4

    1.7 Kerangka Pemikiran .......................................................................... 5

    1 8

    Sistematika Penulisan ....................................................................... 8

    BAB TINJAUAN PUSTAKA .......................................................................

    10

    2 1

    Pengertian Algoritma Genetika .........................................................

    11

    2.1.1 Pembangkitan dan Pengujian ................................................... 11

    2.1.2 Pendakian Bukit .......................................................................

    11

    2.1.3 Pencarian Terbaik Pertama ......................................................

    12

    2.1.4 Simulated Annealing ................................................................ 14

    2.2 Struktur Umum Algoritma Genetika ................................................

    15

    2.3 Komponen Komponen Utama Algoritma Genetika ......................... 16

    2.3.1 Teknik Penyandian ................................................................... 16

    2.3 .2 Prosedur Inisialisasi .................................................................

    17

    2.3.3 Fungsi Evaluasi ........................................................................

    17

    2.3.4 Seleksi ......................................................................................

    17

    2.3.5 Operator Genetika ....................................................................

    18

    2.3.6 Penentuan Parameter ................................................................

    18

    2.4 Seleksi ............................................................................................... 19

    2.4. l Rank Based Fitnees .................................................................. 19

    2.4.2 Seleksi Roda Roulette ..............................................................

    19

    2.4.3 Stochastic Universal Sampling ................................................ 20

  • 8/16/2019 Rusdiana Fst

    12/117

    2.4.4 Seleksi Lokal ............................................................................ 20

    2.4.5 Seleksi Dcngan Pemotongan .................................................... 20

    2.4.6 Seleksi Dengan Tournament ....................................................

    21

    2.5 Rekombinasi ......................................................................................

    21

    2.5. I Rekombinasi Diskret.. .............................................................. 21

    2.5.2 Rekombinasi Menengah ........................................................... 22

    2.5.3 Rekombinasi Garis .................................................................. 23

    2.5.4 Penyilangan Satu Titik ............................................................. 24

    2.5.5 Penyilangan Banyak Titik ........................................................ 24

    2.5.6 Penyilangan Seragam ............................................................... 25

    2.5.7 Penyilangan Dengan Permutasi.. .............................................. 26

    2.6 Alat Perancangan Sistem .................................................................. 26

    2.6.1 STD State Transition Diagram) .............................................. 27

    2.6.2 Spesipikasi Proses .................................................................... 29

    2.6.3 Struktur Program ...................................................................... 29

    2.7 Sekilas Tentang Delphi 6.0 ............................................................... 30

    2. 7 1 Sejarah Delphi .......................................................................... 30

    2.7.2 Mengenal IDE Delphi .............................................................. 31

    2.8 Sekilas Tentang Paradox ................................................................... 36

    2.8. I Menu ........................................................................................ 36

    2.8.2 Tool Bar ................................................................................... 36

  • 8/16/2019 Rusdiana Fst

    13/117

    BAB METODE PENELITIAN ................................................................... 38

    3.1 Tahapan Pendekatan Sistem ........................................................... 38

    3.2 Tahapan Pengembangan Sistem .................................................... 39

    BAB IV ANALISA DAN PERANCANGAN SISTEM ........................•.•.•..... 41

    4.1

    Analisa Kebutuhan Sistem .............................................................

    41

    4.2 Konsep Penjadwalan Kuliah Menggunakan

    Algoritma Genetika ........................................................................

    41

    4.2.1 Prosedur Inisialisasi ............................................................... 42

    4.2.2 Pembangkitan Populasi Awai ............................................... 45

    1.2.3

    Evaluasi ................................................................................. 46

    4.2.4 Seleksi ................................................................................... 46

    4.2.5 Rekombinasi .......................................................................... 47

    4.2.6 Mutasi .................................................................................... 48

    4.3 Perancangan Sistem ....................................................................... 50

    4.3. l Rancangan Proses ................................................................. 50

    4.3 .2 Rancangan Basis Data ........................................................... 52

    4.3.3 Rancangan Menu .................................................................. 56

    BAB V IMPLEMENTASI ................................................................................ 63

    5.1

    Sarana Sarana Pendukung Sistem Penjadwalan Kuliah ................

    63

    5

    1.1

    Perangkat Keras .................................................................... 63

    5 1.2 Perangkat Lunak .................................................................... 63

  • 8/16/2019 Rusdiana Fst

    14/117

    5.2

    Gambaran Dan

    Fungsi Modul Modul Program ............................. 6

    5.3 Rancangan Modul ..........................................................................

    66

    B B VI PENUTUP

    ............................................................................................ 72

    6.1 Kesimpulan .................................................................................... 76

    6.2

    Saran

    .............................................................................................. 77

    DAFTAR PUST

    AKA

    ......................................................................................... 78

    LAMPIRAN ........................................................................................................79

  • 8/16/2019 Rusdiana Fst

    15/117

    D FT R LAMPIRAN

    A

    Lampiran Source Code 76

    1 Modul Data Dosen 76

    2 Modul Data Mata Kuliah 80

    3

    Modul Set Data Lokal 84

    4 Modul Data Kesiapan Mengajar 86

    5 Modul Data Kesiapan Waktu Mengajar 89

    6

    Modul Proses Pembuatan Jadwal Kuliah 90

    7 Modul Jadwal Kuliah

    96

  • 8/16/2019 Rusdiana Fst

    16/117

    1 1 Latar Belalrnng

    B BI

    PEND HULU N

    Universitas Islam Negeri UIN) Syarif Hidayatullah Jakarta, merupakan

    salah satu institusi pendidikan tinggi agama 1slam terbesar

    di

    Indonesia sejak

    tahun 1963 yang kemudian berubah statusnya menjadi sebuah universitas pada

    tahun 2002. Perubahan status ini memunculkan program-program studi baru yang

    bersifat umum seperti teknik informatika, sistem informasi, agribisnis, MIPA,

    ekonomi, manajemen, dan lain-lain. Program studi baru tersebut memerlukan

    dosen-dosen yang berkualitas dalam

    ha

    belajar mengajar, yang saat ini masih

    menggunakan dosen-dosen dari luar. Adanya dosen-dosen :tuar ini menyebabkan

    sulitnya menentukan jadwal kuliah yang tepat sesuai dengan kesiapan waktu

    mereka dan lokal yang tersedia, dimana kesiapan waktu mengajar dosen dosen

    luar) dan lokal sangatlah terbatas.

    Kesulitan menentukan jadwal kuliah tersebut dikarenakan proses

    pembuatan jadwal kuliah yang masih bersifat manual dalam bentuk arsip dan file

    file micro>oft excel. Proses seperti ini sangat membutuhkan ketelitian dan waktu

    yang banyak, sehingga sering kali terjadi jadwal yang bentrok yang menyebabkan

    proses belajar mengajar terhan1bat.

    Untuk mengatasi kesulitan tersebut, salah satu fakultas yang memiliki

    program studi barn, Fakultas Sains dan Teknologi, merasa pt:rlu dibuatnya sistem

  • 8/16/2019 Rusdiana Fst

    17/117

    2

    yang dapat memudahkan pembuatan jadwal kuliah

    ym1g

    secara otomatis

    menempatkan kesiapan mengajar dosen pada lokal yang tersedia secara optimal.

    Optimalisasi kesiapan mengajar dosen ini penulis lakukan menggunakmi metode

    lgoritm genetik

    yang selmna ini banyak digunakmi untuk menyelesaikmi

    masalah optimasi, Orvosh dan Davis 1997, 202).

    Berdasarkan latar belakang permasalahan tersebut, maka dilakukan

    penelitian terhadap jadwal kuliah Fakultas Sains dm1 Teknologi untuk membuat

    fasilitas yang mmnpu mengatasi masalah-masalah diatas

    clengmi

    mengmnbil judul

    OPTIMASI PENJADWALAN KULIAH MENGGUNAKAN METODE

    ALGORITMA

    GENETIKA

    1.2 Perumusan

    Masalah

    Permasalahan penelitian ini di runrnskmi sebagai berikut :

    a

    Bagaimana mernbuat jadwal dosen agar tidak terjadi bentrok.

    b Bagaimmia membuat jadwal kuliah

    ym1g

    secara otomatis menempatkmi

    kesiapan mengajar dosen pada lokal yang terseclia secara optimal.

    c Bagaimmia menampilkan jadwal kuliah yang clapat dilihat oleh pihak

    akaclemik, closen, dan mahasiswa.

    1.3 Batasan

    Masalah

    Berclasm·kan penelitimi yang penulis lakukmi, kenyataarmya, bmiyak

    sekal i parameter yang harus cligunakmi sehingga penulis merasa kesulitmi clalam

  • 8/16/2019 Rusdiana Fst

    18/117

    3

    mengembangkan sistem ini. Untuk itu penulis batasi

    p • ~ n g e m b n g n

    sistem ini

    hanya pada optimalisasi kesiapan mengajar dosen untuk shift yang telah

    ditetapkan.

    1 4 Tujuan dan Manfaat Penelitian

    Tujuan penelitian yang penulis lakukan adalah untuk membuat sistem

    perangkat lunak) sebagai fasilitas yang membantu pihak akademik Fakultas

    Sains dan Teknologi dalam pembuatan jadwal kuliah yang diharapkan dapat

    ditcrapkan scbagai pengganti sistcm yang selama ini masih manual.

    Sesuai dcngan pcnnasalahan pcnclitian yang sudah disebutkan, maka

    manfaat penelitian dapat dirumuskan sebagai berikut:

    a

    Manfaat yang bersifat akademis, yaitu : Memberikan sumbangan ilmiah bagi

    pengembangan sistem menggunakan metode algoritma genetika

    b

    Manfaat yang bersifat praktis, yaitu : Membantu memecahkan kesulitan-

    kesulitan yang dihadapi dalam pembuatan jadwal kuliah, diantaranya:

    c

    Proses pembuatan jadwal kuliah tidak memerlukan waktu yang banyak

    cepat).

    d

    J adwal kuliah tidak ada yang bentrok.

    e

    Kendali lokal dapat dilakukan dengan cepat.

    f Penggunaan lokal yang optimal.

  • 8/16/2019 Rusdiana Fst

    19/117

    4

    1.6 Metodologi

    cnelitian

    Untuk memperoleh data

    clan

    informasi yang cliperlukan, acla beberapa

    metocle yang penulis lakukan :

    1.6.1 Metode Studi Pustaka

    Yaitu pengumpulan data dan infonnasi dengan ca ra membaca buku-buku

    referensi yang dapat dijadikan acuan pembahasan dalam masalah ini.

    1.6.2 Metode Interview

    Koentjaraningrat (1985:167) mengartikan interview sebagai sebuah

    tindakan pengumpulan informasi dengan cara mengajukan sejumla11

    pertanyaan secara lisan dan dijawab secara lisan pula. Dalam ha ini penulis

    mengadakan tanya jawab dengan staff akademik Fakultas Sains dan

    Teknologi yang mengurusi pembuatanjaclwal kuliah.

    1.6.3 Metode Observasi

    Observasi adalah sebuah metode pengumpulan informasi dengan cara

    pengamatan atau peninjauan langsung terhaclap obyek penelitian, yaitu

    mengumpulkan dan menelaah data-datajadwal kuliah yang telah cliterapkan

    di Fakultas Sains dan Teknologi.

    1.6.4 Metode Pengembangan Sistem

    Pengembangan sistem dalam penelitian ini penulis lakukan menggunakan

    tiga tahap siklus pengembangan model RAD Rapid Aplication

    Development), Kendal Kendal (1998, 200), Gambar 1.1.

  • 8/16/2019 Rusdiana Fst

    20/117

    5

    a Perencanaan Syarat-Syarat

    Pada tahap ini masalah, tujuan, dan syarat-syarat informasi

    didcfinisikan dari hasil pcngumpulan data dan informasi dari Fakultas

    Sains dan Teknologi serta mempelajari proses-proses yang te1jadi

    dalam pembuatan jadwal kuliah.

    b

    Workshop Desain

    Pada tahap ini dilakukan perancangan dan kontruksi yang melibatkan

    pengguna dan penganalisis dalam mendefinisikan proses-proses bisnis

    yang te1jadi.

    c

    Pelaksanan

    Pada tahap ini dilakukan pengujian terhadap sistem dan melakukan

    pengenalan terhadap sistem.

    1 7 erangka Pcmikiran

    Jadwal kuliah terdiri dari 6 variabel yang menentukan yaitu dosen, mata

    kuliah, hari, shift, semester, dan jurusan. Keenam variabel ini dikombinasikan

    inisialisasi) menjadi kesiapan mengajar dosen dan disimpan dalam basis data.

    Agar kesiapan mengajar dosen dapat secara otomotis dibuat dan ditempatkan

    pada lokal yang tersedia secara optimal maka semua kesiapan mengajar dosen ini

    harus melalui proses

    algoritma genetika

    yang disebut GAs

    Genetic Algorithms

    Sistem) yang terdiri dari proses pembangkitan populasi awal, evaluasi, seleksi,

    rekombinasi, dan mutasi lihat Gambar

    3 1

    dibawah ini).

  • 8/16/2019 Rusdiana Fst

    21/117

    Data

    Dosen

    Hari

    [

    Semester

    Evaluasi Fungsi Tujuan

    Data

    MataKuliah

    Shift=

    B SIS

    Jurusan

    D T

    Inisialisasi Kesiapan Dosen

    Kesiapan Mengajar

    Dosen)

    B a n g k i ~ · k a · · · · w · · ~ · · P · ~ ~ u I ; ··· 1·

    ....

    _ = ~

    Tidak

    Rekombinasi

    Mutasi

    OUTPUT

    Jadwal Kuliah)

    Ya

    ___. ····

    f1---

    Gambar 1 2 Diagram Alir Sistem Penjadwalan Dosen

    6

  • 8/16/2019 Rusdiana Fst

    22/117

    7

    1.7.l Pembangkitan Populasi Awai

    Pada proses ini dilakukan pembangkitkan kesiapan mengajar dosen yang

    telah diinisialisasi menggunakan keenam data diatas.

    1.

    7 2 Evaluasi

    Pada proses ini, kesiapan mengajar dosen yang sudah dibangkitkan diatas

    dievaluasi dengan menjumlahkan kesiapan mengajar dosen masing-masing.

    1.7.3

    Seleksi

    Proses ini akan menyeleksi kesiapan mengajar dosen yang telah dievaluasi

    untuk menentukan kesiapan mengajar dosen mana yang sesuai untuk

    menempati lokal yang tersedia. Proses seleksi ini dilakukan dengan

    menggunakan hari dan shift yang telah ditetapkan.

    1.7.4 Rekombinasi

    Setelah proses seleksi dilakukan, kesiapan mengajar dosen hasil seleksi

    akan mengalami rekombinasi dengan cara mengambil data hasil seleksi

    sebanyak lokal yang tersedia dan melakukan penyilangan crossover)

    terhadap proses seleksi untuk hari dan shift berikutnya.

    1.7.5 Mutasi

    Proses mutasi akan dilakukan pada kesiapan mengajar dosen yang benar

    benar be um mendapatkan lokal.

    Proses algoritma genetika ini akan dilakukan berulang-nlang sampai

    kesiapan mengajar dosen yang telah di inisialisasi kosong menempati lokal yang

    tersedia).

  • 8/16/2019 Rusdiana Fst

    23/117

    8

    1.8 Sistcmatika Penulisan

    BAB I PENDAHULUAN

    Dalam bab ini penulis mengemukakan tentang latar belakang penelitian

    tujuan penelitian perumusan masalah batasan masalah manfaat

    penelitian metodologi penelitian kerangka pemikiran dan sistematika

    penulisan.

    BAB II TINJAUAN PUSTAKA

    Dalam bab ini penulis mengemukakan dan membahas teori tentang

    pengertian

    A goritma Genetika,

    struktur umum

    Algoritma Genetika,

    komponen-komponen

    Algoritma Genelika,

    seleksi rekombinasi mutasi

    alat perancangan sistem sekilas tentang delphi 6.0 sebagai aplikasi yang

    digunakan dan paradox sebagai media penyimpanan data dalan sistem

    penjadawalan kuliah.

    BAB

    III

    METO E PENELITIAN

    Dalam bab ini dijelaskan tahap-tahap pengembangan sistem yang

    meliputi

    ta apan

    pendekatan sistem dan

    ta apan

    pengembangan sistem.

  • 8/16/2019 Rusdiana Fst

    24/117

    9

    B B IV N LIS D N PER NC NG N

    Dalam bab ini, penulis menjelaskam analisa kebu.tuhan sistem, konsep

    penjadwalan kuliah menggunakan algoritma genetika, perancangan

    sistem yang meliputi perancangan proses, perancangan basis data,

    perancangan menu perancangan masukan dan perancangan keluaran.

    B B

    IMPLEMENT SI

    Dalam bab ini penulis mendeskripsikan sarana-sarana pendukung sistem

    penjadwalan kuliah, gambaran modul-modul fungsi program dan rancangan

    interface antamrnka) masing-masing modul.

    B B

    VI PENUTUP

    Dalarn bab n penulis mencoba rnenyimpulkan pe1masalahan

    perrnasalahan yang dibahas serta mengemukakan saran-saran yang

    dianggap perlu.

  • 8/16/2019 Rusdiana Fst

    25/117

    B BU

    TINJ U N PUST K

    2 1 Pcngcrtian Algoritma Genetika

    Algoritma Genetika adalah algoritma pencarian heuristik yang didasarkan

    alas mekanisme evolusi biologis, Sri Kusuma Dewi (2003, 279). Keberagaman

    pada evolusi biologis adalah variasi dari kromosom antar individu organisme.

    Variasi kromosom ini akan mempengaruhi laju reproduksi dan tingkat

    kemampuan organisme untuk etap hidup. Pada

    dasarnya1

    ada 4 kondisi yang

    sangat mempengaruhi proses evolusi, Sri Kusuma Dewi (2003, 279), yaitu :

    a Kemampuan organisme untuk melakukan reproduksi.

    b

    Keberadaan populasi organisme yang bisa melakukan reproduksi.

    c Keberagaman organisme dalam populasi

    d

    Perbedaan kemampuan untuk survive.

    Ada 4 metode pencarian heuristik, Sri Kusuma Dewi (2003, 31) :

    a Pembamgkitan dan Pengujian Generate

    nd

    Test).

    b Pendakian Bukit Hill Climbing).

    c

    Pencarian Terbaik Pertama

    Best First Search).

    d

    Simulated Annealing

  • 8/16/2019 Rusdiana Fst

    26/117

     

    2.1.1 Pembangkitan Dan Pengujian Generate a d Test).

    Pada prinsipnya metode ini merupakan penggabungan antara depth

    first search dengan pelacakan mundur backtracking), yaitu bergerak ke

    belakang menuju pada suatu keadaan awal. Nilai pengujian berupajawaban

    ya atau tidak .

    Gambar

    2.1 Metode Generate clan Test

    2.1.2 Pendakian

    ulat Hill Climbing).

    Metode ini hampir sama dengan metode pembangkitan dan

    pengujian, hanya saja proses pengujian dilakukan menggunakan fungsi

  • 8/16/2019 Rusdiana Fst

    27/117

      2

    heuristik. Pembangkitan keadaan berikutnya sangat tergantung pada

    feedback dari prosedure pengetesan. Tes

    yru g

    berupa fungsi heuristik ini

    akan menunjukkan seberapa baiknya nilai tekanan yang dirunbil terhadap

    keadaan-keadaan lainnya yang mungkin.

    ABCD

    BACD ACBD

    ABCD

    DACB

    J

    BACD

    DCAB

    ambar

    2.2 Metode

    Hill Climbing

    2.1.3 Pencarian

    Terbaik Pertama Best First Search).

    DBCA

    Metode

    Best First Search

    ini merupakan kombinasi dari metode

    depth first search dan metode bread first search dengan mengrunbil

    kelebihan dari kedua metode tersebut. Apabila pada pencarian dengan

    metode hill climbing tidak diperbolehkan

    untulc

    kemba.li ke node pada level

    yang lebih rendah meskipun node pada level yang lebih rendah tersebut

    memiliki nilai heuristik yang lebih baik lain halnya dengan metode

    best

  • 8/16/2019 Rusdiana Fst

    28/117

      3

    first search ini. Pada metode best first search pencarian diperbolehkan

    mengunjungi node yang ada di level yang lebih rendah

    jik

    ternyata node

    pada level yang lebih tinggi ternyata memiliki nilai heuristik yang lebih

    buruk.

    ambar 2.3 Metode est First earch

  • 8/16/2019 Rusdiana Fst

    29/117

      4

    2.1.4

    Simulated Annealing

    Ide dasar

    simulated annealing

    terbentuk dari pemrosesan logam.

    Annealing memanaskan kemudian mendinginkan) dalam pemrosesan

    logam ini adalah suatu proses bagaimana membuat bentuk cair berangsur-

    angsur menjadi bentuk yang lebih padat. Seiring dengan penurunan

    temperatur.

    Simulated Annealing

    biasanya digunakan untuk penyelesaian

    masalah yang mana perubahan keadaan dari suatu kondisi ke kondisi yang

    lainnya membutuhkan ruang yang sangat luas, misalkan perubahan gerakan

    dengan menggunakan permutasi pada

    traveling salesman problem

    arn

    bar 2 4 Metode Simulated nnealing

  • 8/16/2019 Rusdiana Fst

    30/117

      5

    2.2 Struktur Um um A goritnw Genetika

    Pada algoritma ini, teknik pencarian dilakukan sekaligus atas sejumlah

    solusi yang mungkin yang dikenal dengan istilah populasi. Individu yang

    terdapat dalam satu populasi disebut dengan istilah kromosom Charles L Karr

    1999, 94). Kromosom ini merupakan suatu solusi yang masih berbentuk simbol.

    Populasi awal dibangun secara acak, sedangkan populasi berikutnya merupakan

    basil evolusi kromosom-kromosom melalui iterasi yang disebut dengan istilah

    gcncrasi, Sri Kusuma Dewi 2003, 280). Pada setiap generasi kromosom akan

    melalui proses evaluasi dengan menggunakan alat ukur yang disebut fungsi

    fitnees. Nilai fitnees dari suatu kromosom akan menunjukkan kualitas kromosom

    dalam populasi tersebut. Proses ini dapat direpresentasikan dalam algoritma

    sederhana Algoritma Genetika sebagai berikut:

    Bangkitkan

    Populasi

    Awai

    i

    Awai

    Evaluasi

    Fungsi Awai

    Apakah

    riteria

    Optimasi

    Tcrcapai

    Tidak

    Seleksi

    ._____ .__

    Rekombinasi

    J

    Mutasi

    J

    Ya

    Gambar

    2.5

    Diagram

    Alir Genetiic Algorithms

    Sederhana

    Individu

    Individu

    Terbaik

  • 8/16/2019 Rusdiana Fst

    31/117

      6

    2.3

    Komponcn Komponcn Utama

    lgoritma

    Ge etika

    Ada

    6

    komponen utama dalam A lgoritma Genetika Charles

    L Kan·

    L.

    Michael Freeman 1999, 93-97) dan Sri Kusuma Dewi 2003, 280-283)

    yaitu:

    2.3.1 Teknik Penyandian

    Teknik penyandian disini meliputi penyandian gen dari kromosom.

    Gen merupakan bagian dari kromosom. Satu gen biasanya akan mewakili

    satu variabel. Gen dapat direpresentasikan dalam bentuk : string bit, pohon,

    array, bilangan real, daftar aturan, elemen permutasi, elemen program, atau

    representasi lainnya yang dapat di implementasikan untuk operator genetika.

    Gambar 2.6 menunjukkan representasi string bit

    cl n

    pohon.

    • String Biner

    0

    0

    0 0

    0

    en

    Gen 2

    Gen3

    • Pohon

    * - ab)) + * CD)) / EF))))

    A

    B

    c

  • 8/16/2019 Rusdiana Fst

    32/117

    17

    Demikian juga, kromosom dapat direpresentasikan dengan menggunakan :

    String bit

    Bilangan real

    Elemen permutasi

    Daftar Aturan

    Elemen program

    Struktur lainnya

    2.3.2 Prosedur lnisialisasi

    :

    OOOJ

    l,010011,001100, dan seternsnya.

    : 66,65,-67,68,69,567,578,987, dan seterusnya.

    : E2,E I O,E8,E20, dan seterusnya.

    : Rl,R2,R3, dan seterusnya.

    : pemrograman genetika.

    Ukuran populasi tcrganlung pada masalah yang akan dipecahkan

    clan

    jenis operator genetika yang diimplementasikan. Setelah ukuran populasi

    ditentukan, kemudian harus dilakukan inisialisasi terhadap kromosom yang

    terdapat pada populasi tersebut.

    2.3.3 Fungsi Evaluasi

    Ada 2 hal yang harus dilakukan dalam melakukan evaluasi

    kromosom, yaitu: evaluasi fungsi objektif fungsi tujuan) clan konversi

    fungsi objektif ke dalam fungsi fitnees. Secara mnum, fungsi fitnees

    diturunkan dari fimgsi objektif dengan nilai yang tidak negatif. Apabila

    ternyata fungsi objektif memiliki nilai negatif, maka perlu ditambahkan

    suatu konstanta c agar nilai fitnees yang terbentuk mertjadi tidak negatif.

    2.3.4 Seleksi

    Seleksi ini bertujuan untuk memberikan kesempatan reproduksi yang

    lebih besar bagi anggota populasi yang paling fit.

  • 8/16/2019 Rusdiana Fst

    33/117

    18

    2.3.5 Operator Genetika.

    Ada 2 operator genetika, yaitu :

    a Operator untuk rnelakukan rekombinasi, yang terdiri dari :

    • Rekombinasi bernilai real, yaitu : rekombinasi diskret, rekombinasi

    intermediate rnenengah ), rekombinasi garis, dan rekombinasi garis

    yang diperluas.

    • Rekombinasi bernilai biner crossover), yaitu : crossover satu titik,

    crossover banyak titik, dan crossover seragam.

    • Crossover dengan pennutasi.

    b Mutasi , yang terdiri dari :

    • Mutasi bernilai real.

    • Mutasi bernilai biner.

    Kemungkinan te1jadinya mutasi sangat jarang sekali, dan diharapkan

    tidak te1jadi.

    2.3.6 Penentuan parameter.

    Yang dimaksud dengan parameter disini adalah parameter kontro l

    algoritma genetika, yaitu : ukuran populasi popsize ), peluang croosover

    pc) dan peluang muatasi pm).

  • 8/16/2019 Rusdiana Fst

    34/117

    19

    2.4 Seleksi

    Seleksi akan menentukan individu-individu mana

    :mja

    yang akan dipilih

    untuk dilakukan rekombinasi dan bagaimana offspring terbentuk dari individu

    individu terpilih tersebut. Langkah pertama yang dilakukan dalam seleksi ini

    adalah pencarian nilai fitnees. Masing-masing individu dalam suatu wadah seleksi

    akan menerima probabilitas reproduksi yang tergantung pada nilai objektif dirinya

    sendiri terhadap nilai objektif dari semua individu dalam wadah seleksi tersebut.

    Nilai Jitnees inilah yang nantinya akan digunakan pada tahap-tahap seleksi

    b< :rikutnya Ada beberapa rnetode seleksi dari induk, Sri Kusuma Dewi 2003,

    283-289), yaitu:

    2 4 1 Rank-Based Fitnees

    Pada

    rank-based fitnees,

    populasi diurutkan menurut nilai

    objektifnya. Nilai fitnees dari tiap-tiap individu hanya tergantung pada

    posisi individu tersebut dalam urutan, dan tidak dipengaruhi oleh nilai

    objektifnya.

    2.4.2 Seleksi Roda Roulette Roulette Whele Selection)

    Metode seleksi roda roullette ini merupakan metode yang paling

    sederhana, dan sering juga dikenal dengan nama stochastic sampling with

    replacement. Pada metode ini, individu-individu dipetakan dalam suatu

    segmen garis secara berurutan sedemikian hingga tiap·-tiap segmen individu

    merniliki ukuran yang sama dengan ukuran fitneesnya. Sebuah bilangan

    random dibangkitkan dan individu yang memiliki segmen dalam kawasan

  • 8/16/2019 Rusdiana Fst

    35/117

    20

    bilangan random tersebut akan terseleksi. Proses ini diulang hingga

    diperoleh sejumlah individu yang diharapkan.

    2.4.3 Stochastic Universal Sampling

    Stochastic universal sampling memiliki nilai bias no dan

    penyebaran yang minimum. Pada metode ini individu-individu dipetakan

    dalam suatu segmen garis secara berurutan sedmikian hingga tiap-tiap

    segmen individu memiliki ukuran yang sama dengan ukuran fitneesnya

    seperti halnya pada seleksi roda roulette. Kemudian diberikan sejumlah

    pointer sebanyak individu yang ingin diseleksi pada garis tersebut.

    Andaikan N adalah jumlah individu yang akan diseleksi maka jarak anatar

    pointer adalah

    JIN,

    dan posisi pointer pe1tama diberikan secara acak pada

    pada range [I IIN]

    2.4.4 Seleksi Lokal Local Selection).

    Pada seleksi lokal setiap individu yang berada didalam konstrain

    tertentu disebut dengan nama lingkungan lokal. Interaksi antar individu

    hanya dilakukan didalam wilayah tersebut. Lingkungan tersebut ditetapkan

    sebagai struktur dimana populasi tersebut didistribusi. Lingkungan tersebut

    uga

    dapat dipandang sebagai kelompok pasangan-pasangan yang potensial.

    2.4.5 Seleksi dengan Pemotongan Truncation Selection)

    Pada metode-metode seleksi yang telah dijelaskan terdahulu seleksi

    dilakukan secara alami. Pada seleksi dengan pemotongan ini lebih berkesan

    sebagai seleksi buatan. Seleksi ini biasanya digunakan oleh populasi yang

  • 8/16/2019 Rusdiana Fst

    36/117

    2

    jumlahnya sangat besar. Pada metode ini, individu-individu diurutkan

    bcrdasarkan nilai fitncesnya. Hanya individu-individu yang terbaik saja yang

    akan diseleksi scbagai induk. Parameter yang digunakan dalam metode ini

    adalah suatu nilai an1bang trunc yang mengindikasikan ukuran populasi yang

    akan diseleksi sebagai induk yang berkisar antara 50 - 10 . Individu

    individu yang ada dibawah nilai ambang ini tidal< al

  • 8/16/2019 Rusdiana Fst

    37/117

    22

    untuk tiap-tiap variabel induk yang menyumbangkan variabelnya ke anak

    dipilih secara random dengan probabilitas yang sama.

    Sampell : 2 2

    Sampel2:

    I 2

    Setelah rekombinasi, kromosom-kromosom baru yang terbentuk :

    Anakl :

    Anak2:

    123

    12

    4

    4

    5

    5

    Rekombinasi ini dapat digunakan untuk sembarang variabel biner, real,

    atau simbol).

    2.5.2 Rekombinasi Menengah

    Rekombinasi menengah merupakan metode rekombinasi yang

    hanya dapat digunakan untuk variabel real

    clan

    variabel yang bukan biner).

    Nilai variabel anak dipilih disekitar dan antara nilai-nilai variabel induk.

    Anak dihasilkan menurut aturan sebagai berikut :

    Anak = indukl alpha induk2-indukl)

    dengan alpha adalah faktor skala yang dipilih secara random pada interval

    [-d, 1+d], biasanya d=0.25. Tiap-tiap variabel pada anak merupakan basil

    kombinasi variabel-variabel menurut aturan diatas dengan nilai alpha

    dipilih ulang untuk tiap variabel.

    Misalkan ada 2 individu dengan 3 variabel, yaitu :

    Induk I :

    Induk2:

    12

    25

    123 4

    5

    34

  • 8/16/2019 Rusdiana Fst

    38/117

    Misalkan nilai alpha yang dipilih adalah :

    Sampell :

    Sampel2:

    0,5

    0 1

    ] , 1

    0,8

    -0,1

    0,5

    setelah rekombinasi, kromosom-kromosom baru yang terbentuk :

    Anakl : 67,5 1 9

    2 1

    Anak2:

    23 1

    8,2 19 5

    23

    Rekombinasi ini dapat digunakan untuk sembanmg variabel biner, real,

    atau simbol).

    2.5.3 Rekombinasi Garis

    Pada dasarnya rekombinasi gar1s ini sama dengan rekombinasi

    menengah, hanya, saja nilai alpha untuk semua variabel sama. Misalkan ada

    2 kromosom dengan 3 variabel, yaitu :

    Indukl :

    Induk2:

    12 25

    123 4

    5

    34

    Untuk tiap-tiap variabel induk yang menyumbangkan variabelnya ke anak

    dipilih secara random dengan probabilitas yang sania.

    San1pell : 0,5

    Sampel2 : 0 1

    setelah rekombinasi, kromosom-kromosom baru yang terbentuk :

    Anakl:

    67,5 14 5 19,5

    Anak2:

    23 l 22,9 7,9

  • 8/16/2019 Rusdiana Fst

    39/117

    24

    2.5.4 Penyilangan Satu Titik

    Pada penyilangan satu titik, posisi penyilangan k k=l,2 .. ,N-1)

    dengan N adalah panjang kromosom yang diseleksi secara random.

    Variabel-variabel ditukar antar kromosom pada titik tersebut untuk

    menghasilkan anak.

    Misalkan ada 2 kromosom dengan panjang 12,

    Jndukl :

    lnduk2:

    0 1 1 1 0

    1 1 1

    1 1 1 1

    0 0 0 1 1 0 1

    posisi penyilangan terpilih misalkan 5, maka setelah penyilangan diperoleh

    kromosom-kromosom barn :

    Anakl:

    Jnduk2:

    1 1 1 1 1 1

    11 1

    1 1 1 1

    2.5.5 Penyilangan Banyak Titik Multi-Point Croosover)

    Pada penyilangan banyak titik, m posisi penyilangan k

    k=l,2, .. . ,N-1, i=l,2 .. . ,m) dengan N adalah panjang kromosom diseleksi

    secara random dan tidak diperbolehkan ada posisi yang sama, serta

    diurutkan naik. Variabel-variabel ditukar antar kromosom pada titik

    tersebut untuk menghasilkan anak.

    Misalkan ada 2 kromosom dengan panjang 12,

    Indukl :

    Induk2:

    1 1 1 1 1 1 1

    1 1 0 1 0 0 0 0 1 I 0 1

  • 8/16/2019 Rusdiana Fst

    40/117

    Posisi penyilangan yang terpilih,

    Misalkan m=3) : 2 6

    10

    Setelah penyilangan, diperoleh kromosom-kromosom baru :

    Anakl:

    Anak2:

    1

    0100

    Oi l

    1

    11

    11 11

    1

    2.5.6 Penyilangan Seragam

    Unifilrm Croosover)

    25

    Pada penyilangan seragam, setiap lokasi memiliki potensi sebagai

    tempat penyilangan. Sebuah

    mask

    penyilangan dibuat sepanjang panjang

    kromosom secara random yang menwtjukkan bit-bit dalam m sk yang

    mana induk akan mensupply anak dengan bit-bit yang ada. Induk mana

    yang akan menyumbangkan bit ke anak dipilih secara random dengan

    probabilitas yang sama. Disini, anakl akan dihasilkan dari induk2 jika bit

    mask bernilai 0 sedangkan anak2 dihasilkan dari kebalikan mask.

    Misalkan ada 2 kromosom dengan panjang 12,

    Indukl : 0 I I I 0 0 I 0 I I I 0

    Induk2:

    Maka bit,

    Sampell :

    Sampel2:

    110100001101

    100111001101

    011000110010

    Setelah penyilangan diperoleh, kromosom-kromosom baru,

    Indukl :

    Induk2:

    010100001100

    1 1 I I 0 0 I 0 I l I I

  • 8/16/2019 Rusdiana Fst

    41/117

    26

    2.5.7 Penyilangan dengan Permutasi

    Pada penyilangan dengan permutasi ini, kromosom-kromosom anak

    diperoleh dengan cara memilih sub-barisan suatu tour dari satu induk

    dengan tetap menjaga urutan dan posisi sejumlah kota yang mungkin

    terhadap induk yang lainnya.

    Misalnya:

    lndukl

    :

    lnduk2:

    Anakl :

    Anak2:

    1

    2 3 4 5 6 7 8 9)

    4 5 3 1 8 6 9 2)

    x x x 1 8 7 6 x x)

    xx x

    4 5 6 7

    xx)

    Disini, kita memperoleh pemetaan, 1-4, 8-5, 7-6, 6-7 kemudian kita copy

    sisa gen di indukl ke

    anakl

    dengan menggunakan pemetaan yang sudah

    ada.

    Anakl :

    Anakl :

    1-4 2 3

    4 2 3

    8 6 8-5 9)

    8 7 6 9)

    Lakukan hal yang

    sama

    untuk anak2

    Anak2:

    Anak2:

    C

    4-1 5-8 3

    I

    4 5 6 7 / 9 2)

    8 3 4 5 6 7 / 9 2)

    2.6

    lat Perancangan Sistem

    Menurut Pressman 1997, 186) ada tiga alasan dalam memakai rancangan

    untuk membuat suatu sistem :

  • 8/16/2019 Rusdiana Fst

    42/117

    27

    a

    agar dapat terfokus pada bagian sistern yang penting.

    b Agar dapat terfokus pada bagian yang akan rnengalarni perubahan-perubahan

    clan koreksi, serta clokumentasi.

    c. gar clapat rnengerti akan lingkungan pernakai, sehingga sistern tersebut lebih

    baik.

    2.6.1 STD

    State Transition Diagram)

    State transition diagram merupakan suatu diagran1 yang

    rnrnggarnbarkan bagairnana slate dihubungkan dengan slate yang lain pada

    satu waktu. Stale Transition Diagram menggarnbarkan suatu stale yang

    mernpunyai konclisi climana clapat rnenyebabkan perubahan satu state ke

    state yang lain Hoffer, George,

    clan

    Valacich, 1996, 364).

    State Transition Diagram

    pada

    dasarnya merupakan sebuah

    diagram yang terdiri dari state clan transisi atau perpinclahan slate. Transisi

    atau perpinclahan state tercliri dari kondisi

    clan

    aksi. Transisi cliantara keclua

    keaclaan pada urnumnya clisebabkan oleh suatu konclisi. Kondisi aclalah

    suatu kejadian yang dapat diketahui oleh system. Seclangkan aksi adalah

    tinclakakn yang dilakukan oleh sistem apabila terjacli perubahan stale atau

    rnerupakan reaksi clari sistern.

    State 1

    Aksi

    State 2

    arn

    bar 2.6 ontoh Perubahan State

  • 8/16/2019 Rusdiana Fst

    43/117

    28

    Adapun komponen atau simbol yang digunakan dalam diagram ini

    aclalah:

    a. Modul

    Menggunakan simbol lingkaran kecil Gambar 2.7) yang mewakili

    modul yang dipanggil apabila te1jadi suatu tinclakan.

    ambar 2.7 Notasi Modul

    b

    Tampi Ian kondisi

    state)

    Merupakan layer yang ditampilkan menurut keadaan atau atribut, untuk

    memenuhi suatu tindakan pada waktu tertentu yang mewakili suatu

    bentuk keberaclaan atau kondisi tertentu, disimbolkan dengan gambar

    kotak Gambar 2.8)

    ambar

    2.8

    Notasi Tampilan

    c Tinclakan state transition)

    Menggunakan symbol anak panah Gambar 2.9) disertai keterangan

    tindakan yang dilakukan.

    ambar 2.9 Notasi Tindakan

  • 8/16/2019 Rusdiana Fst

    44/117

    29

    2.6.2 Spesifikasi Proses

    Spesifikasi proses merupakan penjelasan dari proses-proses yang

    te1jadi cliclalam sistem, spesifikasi proses harus dimengerti baik oleh

    pemakai maupun pembuat sistem. Spesifikasi proses akan menjadi

    pecloman bagi pembuat program dalam membuat kode program maupun

    clokumentasi. Ada banyak cara untuk membuat spesifikasi proses antara

    lain clnegan memakai Pressman, 1997, 341-358):

    a Tabel keputusan

    Decision Tables).

    b Bahasa terstruktur pseudocode) dengan :

    • Bahasa inggris terstruktur.

    • Bahasa Indonesia terstruktur.

    c Bagan alur

    flowchart).

    cl Diagram notasi - Shneiclerman Diagram N - S)

    e Bentuk narasi atatu cerita missal dalam bahasa lnggris, Indonesia).

    2.6.3 Struktur Program

    Struktur program menggambarkan bagan atau diagram control

    distribusi yang bersipat top - down, penampilnya clibagi tingkat-pertingkat,

    antara lain:

    a

    op

    Level Module

    yaitu sebagai model yang menentukan atau

    mengambil keputusan. decision making).

  • 8/16/2019 Rusdiana Fst

    45/117

    30

    b. ow level module yaitu digunakan sebagai masukan, pemrosesan atau

    control sehingga menghasilkan keluaran.

    Struktur program ini bertujuan untuk

    memb

  • 8/16/2019 Rusdiana Fst

    46/117

    31

    International Incorporation juga merilis Turbo pascal yang berjalan

    di

    Windows 3.X, yaitu Turbo Pascal For Windows.

    Pada tahun 1992, Borland International menggabungkan turbo

    Pascal For Dos dan Turbo Pascal For Windows menjadi satu paket bahasa

    pemrograman yang dikenal dengan nama Borland Pascal Versi 7. Karena

    pemrograman Windows dengan Borland Pascal masih dirasa cukup sulit,

    sejak tahun

    I

    993

    Borland International mengembangkan bahasa pascal

    yang bcrsi

    l at

    visual .

    hasi

    I dari pcngcmbangan

    ini

    adalah dirilisnya Delphi

    1 pada tahun 1995.

    Perkembangan delphi tidak sampai disitu. Satu tahun berikutnya,

    pada tahun 1996, Borland International merilis delphi 2 yang sudah bersifat

    32 bit. Dengan kata lain delphi 2 hanya bisa dijalankan pada windows

    95

    dan windows NT.

    Pada tahun 1997, I 998, dan 1999, Borland International yang

    berganti nama menjadi Inprise Corporation berturut-turut kembali merilis

    menyempurnakan delphi, yaitu 3, 4, dan 5. Sampai sekarang 2004 Borland

    International telah merilis delphi

    7.

    2.7.2 Mengenal IDE Delphi

    Pada dasarnya IDE milik delphi dibagi menjadi enam bagian utama,

    Antony Pranata 2001, 2) yaitu menu, speed bar, component palette, form

    designer, code editor, dan objek inspector, dan objek treeview. Lihat

    gambar 2.6 untuk lebih jelasnya.

  • 8/16/2019 Rusdiana Fst

    47/117

    32

    t 19 Scm l l 17 Ccl I

    Object Inspector

    Code Editor

    Gambar 2.10 Bagian bagian dari IDE Delphi

    a Menu

    Menu pada delphi memiliki kegunaan seperti menu pada

    aplikasi windows lainnya. Dari menu ini kita bisa memanggil atau

    menyimpan program menjalankan dan melacak bug program dan

    sebagainya. Singkatnya segala sesuatu yang berhubungan dengan IDE

    delphi dapat anda lakukan dari menu.

  • 8/16/2019 Rusdiana Fst

    48/117

    33

    b. Speed Bar

    Speed bar atau sering juga disebut toolbar berisi kurnpulan

    tombol yang tidak lain adalah pengganti beberapa item menu yang

    sering digunakan. Dengan kata lain, setiap tombol pada speed bar

    menggantikan salah satu item menu. Sebagai contoh, tombol kiri atas

    aclalah pengganti menu File

    I

    New,

    tombol clisebelah kanannya aclalah

    pengganti menu File

    I

    Open, dan seterusnya.

    , . ~ x l i. l'.I

    ' ; ' _ j L l ; . J • Q l g i & l ~ ~

    • • • • • ~ • µ •

    2'1 =.I

    _J tL: i

    L:fl

    ~ v H I ·a il

    Gambar

    2.11

    Speed ar pada IDE Delphi

    c. Component Palette

    Component palette berisi kumpulan ikon yang melambangkan

    komponen-komponen pada VCL (Visual Component Library). VCL

    adalah pustaka komponen milik clelphi, yang clapat cligunakan untuk

    membangun sebuah aplikasi. Pada Component Palette, terclapat

    beberapa tab, yaitu Standard, Aclditionals, Data Access, dan sebagainya.

    Untuk lebih jelasnya perhatikan gambar 2.8.

    rn.J3JIJ. r1§ilj@fflh·

    '

    AWifu4@&001

    MmiU ®

    S

  • 8/16/2019 Rusdiana Fst

    49/117

    34

    d. Form Designer

    Sesuai dengan namanya, fo1m designer merupakan tempat

    dimana kita merancang jendela dari aplikasi windows kita. Perancangan

    forn1

    dilakukan dengan meletakkan komponen-komponen yang diambil

    dari Component Palette.

    e.

    Code Editor

    Code editor adalah tempat dimana kita menuliskan program.

    Disini kita dapat meletakkan pernyataan-pernyataan dalam bahasa

    object pascal. Pemrogram borland Pascal pasti tidak asing lagi dengan

    code editor karena sangat serupa dengan editor milik Borland Pascal.

    Yang perlu kita perhatikan pada code inspector adalah kita tidak perlu

    menulis seluruh kode sumber. Delphi telal1 menuliskan semacam

    kerangka w1tuk anda. Untuk lebih jelasnya perhatikan gambm· 2.9

    lci fltibi ,f

    • "'

    lf1ml

    , I) Ur.ll I

    • ....J v

    ..

    . u . . r / C m ~ . , , , ;

    unu.

    lhuc1i

    • ....J U•a1

    l i ' indmm, fl""""1J""• ' lyal l t : t l" ' Va,,iQnt:D, Cl " " " " " •

  • 8/16/2019 Rusdiana Fst

    50/117

    35

    f. Object Inspector

    Object Inspector digunakan untuk mengubah karakteristik

    sebuah komponen. Pada object inspector,

    ada

    2 buah tab yaitu

    properties dan event. Anda dapat mengaktiflrn.n salah satu tab 1111

    dengan mengkl ik teks properties

    a.tau

    events (Iihat. gambar 2.10).

    D m l § i i i W I § § t M W W t i i l t ~ W M i 1 ~ E I '

    CMt4;11 t1im;o

    Form1

    TForn-.1

    :.::J Form1 TForm1

    Properties

    jEvents l

    Properties Events

    I

    · ~ ~ - ~ ~ ~ ~ - - .

    I Action ... Action

    I Ar.tiver.nntrnl ..

    t \ . c t i y . ~ g ~ . ~ 9 1 . .

    ........................................................... .

    ..... \li.Qll.... alNone ......

    vl

    .

    ,n.u ................................................................................

    .

    AlphaBlf3f\d · ··· · ·········· Fal;e ObjectMenulto•m . · ·

    AlphaBlellcfllalue...

    . 255 ····oi\4CiiVate .........................................

    ...................

    .

    l±lAnchms

    (akleft,akT.opl....

    ····iJnc;;Fie$ize ......................................,......................

    AutoScroH

    True

    · : : · i : f o G l i ~ : : : : : : : : : : : : : : : : : :

    :

    ::::::::::::·

    AutoSize

    False OnC ose

    BiDiMode bdLefff oRiQbt....... .

    ..

    i'inciOseQue;y············· ..........................................

    1±1 Borderlcons

    lloiSY.stemtvl nu,b,itvl rincoliSi;:;;;;Ji'i'e;t·

    . Borch;r§tY,le bsSizeable . i : i ~ ~ i ~ ~ i ~ ~ ; u P : : : : : ::::::::::::;::::'.:'.':::::

    BmderWidth 0

    OnCreate

    Fo1mCreate

    caption i:m:i ····anoiliclicl< .................... -···································

    . ( ; l i ~ ~ t J : l o i $ # 1 \ 273 . i : J i i Q . f i l i ~ i i Y . ~ : : : : : : : : ; :

    :::::::::::::;::::;:;:::::::::

    ClientWidth 825 ....

    I J . . " . ' P < l " \ I ? ~

    ....................:

    ........................

    :: .......:

    ....•......

    .

    ..

    c.a.1.or.... []deii1Face

    OnDockDr :le

    ·

    ·•·

    ··· ··• ··•···

    ··

    1±1 constraints

    ······

    i r s i 2 e t : ~ r ; ; t r a i n i s i ·

    ··· onoockriver ..............

    , .........

    .:

    ..

    :....•..........

    r : : : : : : ¢ \ 1 ~ p :::::::::.::.::.:·:::·::.:::::::::· fru;;················:·.:·::::::::::::.:J

    i:iiii:iiiii P.1-;;P.::::::::::=::;::

    :::::::::::::::::::r:::::::::::.:.i

    [Alishown

    i

    1A11

    shown

    z

    a) Properties

    b) Events (kt:iadian)

    Gambar

    2.14 Object Inspector pada IDE elphi

    Pada tab properties kita dapat mengubah properti dari komponen

    kita. Secara mudah, properti dapat dijelaskan sebagai data yang

    menentukan karakteristik komponen. Sebagai contoh pada gan1bar

    2.1

    Oa

    kita lihat properti-properti milik sebuah form, seperti Active

  • 8/16/2019 Rusdiana Fst

    51/117

    36

    Control, Auto Scrool, Auto Size, Border Icons, Border Style dan lain

    lain.

    Pada tab events, kita dapat menyisipkan kode untuk menangani

    kejadian tertentu. Kejadian bisa dibangkitkan karena beberapa ha ,

    pengklikan mouse, penekanan tombol keyboard, penutupan jendela, dan

    sebagainya. Untuk lebih jelasnya perhatikan gambar 2. lOb. pada

    gambar ini kita bisa melihat beberapa kejadian, seperti onActive,

    onClick, onClose, dan sebagainya.

    2.8 Sekilas Tentang aradox

    Paradox adalah sebuah database yang berfungsi untuk menyimpan data.

    Sama seperti database lainnya, paradox memiliki IDE yang dibagi menjadi dua

    bagian yaitu menu dan tool bar ( Gambar 2.15).

    2.8.1 Menu

    Menu pada paradox memiliki kegunaan seperti menu pada database

    lai1mya. Dari menu ini, kita bisa memanggil atau menyimpan tabel,

    membuat tabel baru dan lain-lain.

    2.8.2 Toolbar

    Toolbar berisi tombol-tombol yang berfungsi untuk membuka tabel,

    menyimpan tabel dan membuat tabel barn.

  • 8/16/2019 Rusdiana Fst

    52/117

      7

    Gambar2 15 IDE Paradox

  • 8/16/2019 Rusdiana Fst

    53/117

    BAB

    III

    METO E

    PENELITIAN

    Seperti yang telah dibahas pada bab I dalam pengembangan sistem

    penjadwalan kuliah ini ada beberapa tahapan yang dilakukan diantaranya :

    3.1

    Tahapan

    Pendekatan Sistem

    Tahapan ini dilakukan sebelum tahap pengembangan sistem. Pada talmp

    ini

    dilakukan analisis kebutuhan dan identifikasi. sistem.

    a.

    Analisis Kebutuhan

    Pada

    talmp

    ini ditentukan pengguna dan kebutuhannya terhadap

    sistem. Pengguna dari sistem yang akan dibangun

    adalal1 pihalc

    akademik

    Fakultas Sains dan Teknologi yang mengurusi penjadwalan kuliah.

    b. Identifikasi Sistem

    Jadwal kuliah merupalcan salah satu bentuk pengaturan proses belajar

    mengajar yang diarahkan untuk mencapai tujuan

    y:mg

    diharapkan oleh

    Fakultas Sains dan Teknologi. Dalam pembuatannya pihalc Falcultas Sains

    dan Teknologi merasa kesulitan. Hal ini disebabkan pembuatan jadwal kuliah

    yang bersifat manual sehingga terjadi jadwal kuliah yang bentrok. Oleh

    karena itu pihak Fakultas Sains dan Teknologi merasa perlu dibuatnya suatu

    sistem yang dapat menangani pembuatanjadwal kuliah tersebut.

  • 8/16/2019 Rusdiana Fst

    54/117

    39

    3.2 Tahapan Pengembangan Sistem

    Pengembangan sistem yang penulis Jakukan menggunakan tiga tahap

    siklus pengembangan model RAD Rapid Aplication Development), Kendall

    Kendall (2003 : 237), (Gambar 3.1).

    Fasc

    Pcrencanaan

    Syarat syarat

    Menentukan

    Tujuan dan syarat-syarat

    lnformasi

    Fase

    Kontruksi

    Workshop

    Desain

    PAC

    Umpan Balik

    1

    Pengguna

    l

    Bckerja dcngan

    Membangun

    Pengguna untuk Sistem

    Sistcrn Perancangan

    .

    I

    Menggunakan

    i

    I

    masukkan dari

    I

    pengguna

    I

    +

    Mernperkenalkan Sistern

    Fase Pclaksnnaan

    ambar

    4 1

    Siklus Pengembangan Sistem Model RAD

  • 8/16/2019 Rusdiana Fst

    55/117

    40

    a

    Perencanaan Syarat-Syarat

    Dalam fase ini, pengguna pihak Fakultas Sains dan Teknologi) dan

    penganalisis be1iemu untuk mengidentifikasi tujuan··tujuan aplikasi atau

    sistem serta untuk mengidentifikasi syarat-syarat informasi yang ditimbulkan

    dari tujuan-tujuan tersebut. Hal ini penulis uraikan sebagai analisa terhadap

    sistem yang berjalan dan sistem yang akan diterapkan.

    b

    Workshop Deasin

    Pada tahap ini dilakukan perancangan proses yaitu perancangan proses-proses

    yang akan terjadi di dalam sistem, perancangan basis data yaitu perancangan

    tabel-tabel yang akan digunakan, perancangan antarmuka yaitu perancangan

    antarmuka masukkan dan antarmuka keluaran, serta dilakukan pengkodean

    terhadap rancangan-rancangan yang telah didefinisikan.

    c

    Pelaksanan

    Pada taliap ini dilalrnkan pengujian terhadap sistem dan melakukan

    pengenalan terhadap sistem.

  • 8/16/2019 Rusdiana Fst

    56/117

    4

    BAB IV

    ANALISA DAN

    PER NC NG N

    SISTEM

    4.1 Analisa Kebntuhan Sistem

    Proses pembuatan jadwal kulial1 pada Fakultas Sains dan Teknologi

    selama

    ini

    masih secara manual menggunakan file-file excel. Proses ini dilakukan

    oleh pihak jurusan rnasing-masing Kepala Jurusan). Kepala jurusan akan

    rneminta setiap dosen untuk bersedia mengajar mata kuliah yang telah ditetapkan

    dan meminta kesiapan waktu mengajar pada hari dan jam yang telal ditetapkan

    pula. Setelal1 semua kesiapan mengajar dosen terkumpul, dilakukan pembuatan

    jadwal kulial1 berdasarkan lokal yang tersedia pada Fakultas Sains dan Teknologi.

    Dari proses pembuatan jadwal kuliah tersebut penulis definisikan data

    data yang diperlukan dalam pengembangan sistem yang akan dibuat, diantaranya,

    data dosen, data mata kuliah, data hari, data jam shift), data lokal, data jurusan,

    dan data semester.

    4.2 Konsep

    Penjadwalan

    Kuliah Menggunakan Metode Algoritma Genetika.

    Data-data yang diperlukan dalam pembuatan jadwal kulial1 akan

    dikombinasikan prosedur inisialisasi) menjadi kesiapan mengajar dosen.

    Kesiapan mengajar dosen ini akan diproses pada sistem Algoritma Genetika

    GAs) yang terdiri dari proses pembangkitan populasi awal, evaluasi, seleksi,

    rekombinasi dan mutasi yang menghasilkan jadwal kulia yang optimal.

  • 8/16/2019 Rusdiana Fst

    57/117

    42

    4.2.1 Prosedur Inisialisasi

    NO

    I

    2

    3

    4

    5

    NO

    I

    2

    3

    4

    5

    Pada proses

    ini

    dilakukan inisialisasi kesiapan mengaJm· dosen.

    Sebagai contoh diberikan 5 data dosen dan 5 data mata kuliah Tabel 3 1

    dan Tabel 3.2) yang akan ditempatkan pada lokal

    401dan402

    KODE

    NAMA

    DOSOOI Dra. Nani Radiastuti

    DOS002

    Ria Arafiah, S.Si

    DOS003

    Budi Sudrajat, M. Hum

    DOS004

    Dra Nuriyah Thohir, MM

    DOS005

    Ir Rahmat Kurnia, M.Si

    Tabel 3.1 ata osen Fakultas Sains dan Teknologi

    KODE

    NAMA

    MKOOI

    Dasar dasar Agronomi

    MK002 Biologi

    MK003

    Matematika

    MK004

    Bhs. Arab

    MKOOS

    Kalkulus

    Tabet 3.2 ata Mata Kuliah Fakultas Sains dan Teknologi

    Dari 2 tabel diatas maka inisialisasi kesiapan mengajar dosen

    dilakukan sebagai berikut:

  • 8/16/2019 Rusdiana Fst

    58/117

    43

    a.

    Kade Dasen :

    DOSOOl

    Nama

    : Dra. Nani Radiastuti

    Kade Mk : MKOOl

    Mata Kuliah

    :

    Dasar dasar

    Agronon1i

    urusan

    : Teknik lnformatika

    Semester : 1

    SENIN

    SELASA

    RABU KAMIS

    JUMAT SABTU

    ft

    l) 2) 3) 4)

    5)

    6)

    I 07.30-09.10 A A

    II. 09.20-11.00 B B

    111.11.10-12.50

    IV.13.00-14.40

    v

    14.50-16.30

    Vl.16.40-18.20

    b. Kade Dasen : DOS002

    Nama

    : Ria Arafiah, S.Si

    Kade Mk : MK002

    Mata Kuliah

    : Bialogi

    urusan

    : Teknik lnformatika

    Semester : I

    SENIN

    SELASA

    RABU

    KAM

    IS

    JUMAT

    SA BTU

    ft l)

    2)

    3)

    4)

    5)

    6)

    I. 07.30-09.10

    A

    A

    1 .

    09.20-11.00

    B

    A

    B

    111.11.10-12.50

    B

    lV.13.00-14.40

    v. 14.50-16.30

    Vl.16.40-18.20

    c. Kade Dasen

    : DOS003

    Na1na

    : Budi Sudrajat, M. Hum

    Kade Mk : MK003

    Mata Kuliah

    : Matematika

  • 8/16/2019 Rusdiana Fst

    59/117

    44

    Jurusan

    : eknik

    lnforn atika

    Sen ester : I

    SENIN

    SE

    LAS A RABU KAMIS

    JUMAT

    SA

    BTU

    I) 2)

    3)

    4)

    5) 6)

    i

    I

    07.30-09.10 A

    11

    09.20-11.00

    B

    111.11.10-12.50

    IV.13.00-14.40

    v. 14.50-16.30

    Vl.16.40-18.20

    __

    d Kode Dasen : DOS004

    Nania

    : Dra Nuriyah Thohir, MM

    Kade Mk : MK004

    Mata Kuliah

    :

    Algorit na Pen rogran an

    Jurusan

    : Teknik lnfonnatika

    Semester : I

    SENIN

    SE

    LAS A

    RABU KAM

    S

    JUMAT

    SABTU

    fi I)

    2)

    3) 4)

    5)

    6)

    I.

    07.30-09.10

    II. 09.20-11.00

    Ill.I l.10-12.50

    A

    IV.13.00-14.40

    B

    v

    14.50-16.30

    Vl.16.40-18.20

    e. Kade Dasen

    : DOS005

    Na na

    : Ir Rahmat Kurnia, M.Si

    Kade MK : MK005

    Mata Kuliah

    : Kalkulus

    Jurusan

    : Teknik Informatika

    Semester : I

  • 8/16/2019 Rusdiana Fst

    60/117

    45

    SENIN SELASA RABU KAMIS

    JUMAT SA

    BTU

    \

    (I l

    2) 3) 4)

    (5)

    (6)

    I.

    07.30-09.10 A

    11 09.20-11.00 13

    II

    I.

    I I I 0-12.50

    IV .13.00-14.40

    v. 14.50-16.30

    Vl.16.40-18.20

    4.2.2 Pembangkitan Populasi Awai

    Pada proses ini dilakukan pembangkitan populasi (kesiapan

    mengajar dosen) yang telah diinisialisasi diatas (Tabel 3.3).

    Kodc

    Nama

    Kodc

    Mata

    Jurusan SMT

    Kc

    las Hari

    Shill

    Doscn

    Dos

    en

    ivlk

    Kuliah

    DOSOOI

    Drn.

    Nani Radi

  • 8/16/2019 Rusdiana Fst

    61/117

      6

    4.2.3 Evaluasi

    Pada proses ini, kesiapan mengajar dosen yang dibangkitkan diatas

    dievaluasi dengan menjumlahkan kesiapan mengajar dosen masing-masing

    Tabel 3.4).

    No

    Kode Dosen Kode MK

    Banyak Kesiapan

    DOSOOI

    MKOOI

    4

    2

    DOS002

    MK002

    6

    3 DOS003 MK003 2

    DOS004

    MK004

    2

    DOS005 MK005 2

    Tabel 3 4 Evaluasi Kesiapan Mcngajar Ji osen

    4.2.4 Seleksi

    Setelah proses evaluasi dilakukan, kesiapan mengajar dosen akan

    mengalami seleksi berdasarkan hari dan shift yang telah ditetapkan. Seleksi

    ini bertujuan untuk menentukan kesiapan mengajar dosen mana yang sesuai

    untuk menempati lokal yang tersedia. Seleksi yang penulis gunakan adalah

    Rank basedfitnees

    yaitu dengan cara mengurutkan kesiapan mengajar dosen

    menurut nilai objektifnya banyaknya kesiapan mengajar dosen). Penerapan

    untuk contoh diatas, dapat dilihat pada Tabel 3.5

    di

    bawah ini.

    Seleksi 1,I) : Tampilkan semua kesiapan mengajar dosen dengan hari =

    senin dan

    shift=

    l 07.30- 09.10) yang diurutkan secara tidak turun naik)

    berdasarkan banyaknya kesiapan mengajar dosen.

  • 8/16/2019 Rusdiana Fst

    62/117

    47

    Kodc

    Nmna

    Kodc

    Mata

    Jurusan

    SMT

    Ke

    las

    Hari Shift

    Doscn

    Dos en

    k

    Kuliah

    DOS003 Budi Sudrajat, M. Hin

    MK003 Matc1natika

    TI I I I

    DOSOOI Dra.

    Nani

    Radiasluti MKOOI

    Dasar dasar

    Agronomi

    TI I I I

    JJOS002

    Ria Aratiah, S.Si

    MK002

    Biologi

    TI

    III

    A

    I

    I

    Tabcl 3.5 Kcsiapan

    Mcngajar

    dosen Hasil Selcksi

    4.2.5 Rekombinasi

    o

    de

    Dos

    en

    DOS003

    DOSOOI

    Dari proses seleksi diatas, diambil kesiapan mengaJar dosen

    sebanyak lokal yang tersedia dan disimpan pada tabel jadwal Tabel 3.6).

    Proses ini menyebabkan populasi kesiapan mengajar dosen) berkurang

    mengalami rekombinasi Tabel 3.7). Rekombinasi juga terjadi terhadap

    proses seleksi dengan melakukan penyilangan satu titik

    single point

    crossover) untuk hari dan shift berikutnya terhadap kesiapan mengajar

    dosen seleksi l ,II) dan seterusnya).

    Nama

    o

    de Mata

    Jurusan

    SMT

    Ke las Hari

    Shift

    Doscn

    Mk

    Kuliah

    Budi Sudrnjat, M. Hm

    MK003 Matcmatika

    TI

    I

    I

    I

    Dra.

    Nani Radiastuti

    MKOOI

    Dasar-dasar Agronomi

    TI

    I

    I

    I

    Tabcl 3.6 Tabcl adwal Generasi ke-1)

    Total

    Kcsia

    pan

    2

    4

    6

    Lok

    al

    40I

    402

  • 8/16/2019 Rusdiana Fst

    63/117

    48

    Kodc

    Nama

    Ko

    de

    Mata

    Jurusan SMT Ke las Hari

    Shift

    Doscn

    Dosen

    Mk

    Kuliah

    DOSOOJ

    Dru.

    Nani Radiastuti MKOOI

    Dasar-dasar Agronomi Tl I

    B

    I

    DOSOOJ

    Dra. Nani Radiastuti MKOOJ

    Dasar-dasar Agronomi Tl I

    A

    2 I

    DOSOOI

    Dra.

    Nani Radiastuti

    MKOOI

    Dac;ar dasar Agronomi

    Tl I

    B

    2

    DOS002 Ria Arafiah, S.Si MK002

    Bio ogi

    Tl l l B I

    ll0S002 Ria Arafiah, S.Si MK002

    Biologi Tl

    A

    2

    II

    DOS002

    Ria Arafiah, S.Si

    MK002

    Biologi

    TI

    III

    B

    2 III

    DOS002 Ria Arafiah, S.Si

    MK002

    Bio ogi

    Tl l l A 3 I

    llOS002 Ria

    Aral1:1h

    S.Si MK002

    13iologi TI

    B 3 II

    DOSOOJ

    Budi Sudrajal, M. 1-hn

    MK003 Matcmatika Tl I

    l l I II

    l x s ~

    Dni

    Nuriyah Thohir

    MK004

    Bhs. Arab

    Tl

    A

    2

    Ill

    DOS001l

    Dra Nuriyal1 Thohir

    MK004

    Bhs. Arab

    Tl

    l l 2

    IV

    -

    DOSOOS Ir Rahmut Kurnia

    MKOllS Ka kulus

    TI

    I

    A

    2

    I

    DOSll05 Ir Rahmal Kurnia

    MKllOS Kalkulus

    Tl I

    l l

    2

    II

    abcl 3. 7 Populasi Setclah Rekombinasi

    4.2.6 Mutasi

    Proses mutasi terjadi pada kesiapan mengajar dosen yang benar-

    benar belum mendapatkan lokal.

    Proses 3 sampai 6 ini akan dilakukan berulang-ulang selama populasi (kesiapan

    mengajar dosen) belum kosong. Basil akhir (generasi terakhir) merupakanjadwal

    kuliah yang optimal, dapat dilihat pada tabel 3.8.

  • 8/16/2019 Rusdiana Fst

    64/117

    49

    Kodc

    Nama

    Kodc

    fvlata Jurusan SMT Kclas

    Hari Shift Lokal

    I

    Dos en

    Dos

    en Mk Kuliah

    DOS003

    Budi Sudntjat, M Hm MK003

    /vlatcmutika

    Tl

    I A

    I I

    401

    DOSOOI Dra

    Nani Radiastuti

    MKOOI

    Dasar-dasar Agrono1ni Tl

    I

    A

    I

    I 402

    DOS003

    Budi Sudn\iat, M Hm

    MK003

    Matematika

    Tl

    I B

    I 401

    DOSOOI

    Dra

    Nani Radiastuti

    MKOOI

    Dusar-dasar Agronmni Tl

    I B

    I

    II

    402

    DOSOOS Ir Rahmat Kurnia

    MKOOS

    Kalkulus

    Tl I A 2

    I

    401

    DOSOOS

    Ir

    Rahmat Kurnia

    MKOOS

    Kalku us

    Tl I B

    2

    II 401

    DOS002

    Ria Arafiah, S.Si MK002

    Biologi

    Tl

    A

    2 II 402

    DOS004

    Dra Nuriyah Thohir

    MK004

    Bhs. Arab

    Tl

    A

    2

    401

    DOS002 Ria Arafiah, S.Si

    MK002

    Blologi

    Tl

    Ill

    B

    2

    Ill

    402

    IJOS004

    Ora Nuriyah Thohir

    MK004

    Bhs Arab

    Tl

    Ill B 2 IV 401

    Tabcl 3.8 .Jadwal Kuliah gcncrasi

    tcrakhir

    Proses penempatan kesiapan dosen mengajar diatas dapat di gambarkan dalam

    grafik clibawah ini dari generasi pe1iama sampai generasi terakhir .

    Lokal

    402

    401

    ~ - - < > - * - + - < 1 1 - - < > - @ - - - < > - - - e - < 1 1 - - - - e - < 1 1 - + - < 1 1 - + - e - - e -

    9 0 9

    I e I i

    1 2 3 4 5 6 7 8

    910111213

    14151617181920212223 Populasi

    Gambar

    3.1

    Grafik Pertambahan

    Populasi

  • 8/16/2019 Rusdiana Fst

    65/117

    50

    4.3 erancangan Sistem

    Dalam

    merancang sistem ini penulis melakukan konsultasi dengan

    pihak

    akadernik Fakultas Sains dan Teknologi untuk rnemperoleh kesepakatan antara

    kedua

    belah pihak. Adapun rancangan

    ym1g

    diperoleh terdiri dari rancangan

    proses rancangan basis data rancangan menu rancangan masukkan

    dan

    rancangan keluaran.

    4.3.1 Rancangan Proses

    Rancangan proses ditujukan untuk menentukan urutan kejadian sehingga

    dihasilkan keluaran

    dan masukan yang

    diharapkan meliputi :

    a.

    Proses

    rnasukan proses ini merupakan proses

    pemasukan data

    yaitu

    tarnbah data dosen tambah data mata kuliah tambah

    data

    hari tarnbah

    data shift

    tambah

    data

    jurusan

    tmnbah

    data

    semester tmnbah

    data

    lokal

    tambah

    data kesiapan rnengajm· closen

    dan

    tan1bah data kesiapm1

    waktu

    rnengajar dosen. Proses ini dilakukan oleh pihak akademik

    yang

    rnengurusi pernbuatan

    jadwal

    kuliah.

    b Proses

    GAs

    Genetic Algorithms Sistem), yaitu proses algoritma

    genctika untuk rnelakukan otornatisasi dan optimalisasi kesiapan

    rnengajar closen meliputi pembangkitan populasi evaluasi seleksi

    rekornbinasi

    clan

    mutasi.

    STD stale transition diagram)

    dari rancangm1 proses

    dapat

    dilihat

    pada

    garnbar 3.2 dibawah ini :

  • 8/16/2019 Rusdiana Fst

    66/117

    Mulai

    ---P_e_n_g_g_un_a_m.,.e_m_1_·h-·h_m_e_n_u_1_· _p_u_• . ]

    Bangkitkan

    Kesiapan dosen

    Pengguna memasukan data dosen, data

    mata kuliah, data lokal, data kesiapan

    mengajar, data kesiapan waktu

    Evaluasi

    J

    r K _ e _ s _ i a _ p _ a _ n _ d _ o _ s _ e _ n ~ ·

    _

    ptimasi >-'Y"'•---,

    Tercapai

    T i d a ~

    ~

    e eksi

    Kesiapan Dostm

    ~

    ekombinasi

    Kesiapan

    ~ n

    / Selesai

    } l

    Jadwal

    Kuliah

    Gambar 3.2 STD Proses Penjadwalan Kuliah

    5

  • 8/16/2019 Rusdiana Fst

    67/117

    52

    4.3.2 Rancangan Basis Data

    Data-data yang diperlukan pada proses masukan disimpan dalam

    basis data. Hal ini dimaksudkan agar data bersifat dinamis yaitu dapat

    melakukan penambahan dan penghapusan data. Ada 9 tabel yang

    clidefinisikan dari rancangan proses yaitu :

    a

    Tabel dosen untuk menyimpan data dosen.

    Field

    Name

    · ~ J TypeJ

    §.i.' .e_J

    Key

    I

    ]

    I 1

    ..

    I

    I 70

    A

    1

    7

    I

    A

    I 15

    I i 15

    Gambar

    3.3

    Spcsifikasi Tabcl Dosen

    b Tabel mata kuliah untuk menyimpan data mata kul.iah.

    Gambar 3 4 Spesifikasi Tabel Mata Kuliah

  • 8/16/2019 Rusdiana Fst

    68/117

    c Tabel hari untuk menyimpan data hari.

    Garnbar 3.5 Spesifikasi Tabel Hari

    d

    Tabel shift untuk menyimpan data shift.

    :

    ield Name

    J

    I

    2 Jam

    ambar 3.6 Spesifikasi Tabel Shift

    53

  • 8/16/2019 Rusdiana Fst

    69/117

    54

    e Tabel semester untuk menyimpan data semester.

    ambar 3. 7 Spesifikasi Tabel Semester

    f

    Tabel jurusan untuk menyimpan data jurusan.

    ambar 3.8 Spesifikasi Tabel Jurusan

  • 8/16/2019 Rusdiana Fst

    70/117

    55

    g Tabel lokal untuk menyimpan data lokal.

    ambar

    3.9

    Spcsifikasi Tabel Lokal

    h Tabel kesiapan mengaJar untuk menyimpan data kesiapan mengajar

    do

    sen.

    ambar

    3. 7

    Spcsifikasi

    abel

    Kesiapan Mengajar

  • 8/16/2019 Rusdiana Fst

    71/117

    56

    1. Tabel jadwal, untuk menyimpan hasil proses GAs Genetic Algoritms

    Sis/em).

    Field

    Name

    jTypej

    S i i ~ e y j

    • B l ~ i i , i i i i¥ 1 J - i i ~ i i i i i ; ~ i i l i ; j j " _ . . .

    1

    ·

    ~

    3 l

  • 8/16/2019 Rusdiana Fst

    72/117

    57

    Frm ata osen_Klik

    ·

    Form Data Dosen

    I

    ayar Intro

    FnnDataMk_Klik

    /

    Form Data Mata Kuliah

    Fm DataLokal_Klik

    ~ r Data Lokal

    ENU

    PILIHAN

    Form Set Kesiapan

    FnnSctKesiapan_ Klik

    Mengajar

    F01m Set Kesiapan

    FnnSet\Vaktu_Klik

    Waktu Mengajar

    Form Proses

    Pembuatan Jadwal

    frmProses_Klik

    Form Proses

    FnnJadwal_

    lik

    Tampilkan Jadwal

    Tutup_Klik

    ambar

    3.8 STD

    Rancangan Menu

    a Rancangan Masukan

    Rancangan masukan dilakukan agar tingkatan keakuratan data

    tinggi dan proses pemasukan data benar sehingga dapat diterima dan

    dimengerti oleh penggnna sistem. Ada 5 rancangan masukkan yang

    didefinisikan yaitu rancangan data dosen rancangan mata kuliah

    rancangan data lokal rancangan data kesiapan mengajar dosen dan

    rancangan data kesiapan waktu mengajar dosen. Kelima rancangan

    masukan tersebut dapat dijelaskan sebagai berikut:

  • 8/16/2019 Rusdiana Fst

    73/117

    58

    • STD Rancangan Data Dosen

    Rancangan Data Dosen, berfungsi untuk menambah data

    dosen, mengurutkan data, menghapus data, mencari data, dan

    navigasi untuk pindah ke record awal, record akhir, record sebelum,

    dan record berikut. Hal ini digambarkan dalam STD dibawah ini

    Gambar 3.9).

    SortingKlik

    Pilihan Sorting

    Kode/Nama)

    Tampilkan

    I

    ]

    FORM

    DATADOSEN

    NavigasiKlik

    I

    Pilihan Navigasi

    -

    AwalKlik

    I

    r

    khirKlik

    crikutK\ik

    TambahData_Klik

    Scbc\umKlik

    ~

    orm Tambah Data Dosen

    OK Kiik

    Cancel

    K ik

    Gambar 3 9 STD Rancangan Masukan Data Dosen

    • STD Rancangan Data Mata Kuliah

    Rancangan Data Mata Kuliah, berfungsi untuk menambah

    data Mata Kuliah, mengumtkan data mata kuliah, menghapus data

  • 8/16/2019 Rusdiana Fst

    74/117

    59

    mata kuliah, mencari data mata kuliah, dan navigasi untuk pindah ke

    record awal, record akhir, record sebelum, dan record berikut. Hal

    ini digambarkan dalam

    STD dibawah ini (Gambar 3.10).

    Sorting

    Pilihan Sorting

    (Kode/Nama)

    Tampilkan

    I

    FORM DATA

    MATAKULIAH

    I

    avigasiKlik

    Pilihan Navigasi

    I

    Awa KJik

    I

    f

    khirKlik

    Ta1nbahData_K ik

    BerikutKlik

    Scbclu nKlik

    I

    orm Tambah Data Mk

    I

    O lik

    I

    Cancel Klik

    Gambar 3 10 STD Data Mata Kuliah

  • 8/16/2019 Rusdiana Fst

    75/117

    6

    • STD Rancangan Data Lokal

    FORM

    D T LOK L

    NuvigasiKlik

    . I

    Pilihan Naviga

    elnilKlik

    TutupKlik

    • : FormDetai Lokal

    OK_Klik

    TambahKlik

    ancel_Klik

    FrmTambahLokal

    }

    Garnbar 3.11 ST Rancangan ata Lokrnl

    Rancangan data lokal, berfungsi untuk menampilkan data

    local yang tersedia, menambah data local,

    clan

    rnenghapus data local.

    STD rancangan data lokal dapat dilihat pada Gambar 3.11.

    • Rancangan Set Data Kesiapan Mengajar

    Rancangan Set Data Kesiapan Mengajar Dosen, berfungsi

    untuk mengisi kesiapan mengajar mata kuliah. STD rancangan set

    data kesiapan mengajar dapat dilihat pada gambar dibawah ini

    (Gambar 3.12).

  • 8/16/2019 Rusdiana Fst

    76/117

    6

    Tampilkan

    LookUpDosenKlik

    Pilihan

    FORM SET

    .

    DataDosen

    KESIAPAN

    ENGAJAR

    LookUpDbGridKlik

    -

    1

    Pilihan Mata Kuliah

    J

    t

    Tampilkan

    ambar

    3.12 STD Rancangan Set Data Kusiapan Mengajar

    • Rancangan Set Kesiapan Waktu Mengajar Dosen

    Rancangan Set Kesiapan Waktu Mengajar Dosen,

    berfungsi untuk mengisi kesiapan waktu mengajar dosen. STD

    rancangan set data kesiapan waktu dosen dapat dilihat pada gambar

    dibawah ini Gambar 3.13)

    ComboDosen_Klik

    .

    Pilihan

    Tampilkan

    DataDosen

    FORM

    SET KESIAP AN

    LookUpDbgrid_Klik

    Pilihan Mata Kuliah I

    KTU

    I

    Tampilkan

    \

    MENGAJAR

    LookUpDbGrid

    Klik

    Pilihan_ Vaktu Mengajar

    I

    i

    Tampilkan

    ambar 3.13 STD Rancangan Set Data Kesiapan Waktu Mengajar

  • 8/16/2019 Rusdiana Fst

    77/117

    62

    b Rancangan Keluaran

    Rancangan keluaran ditujukan untuk mendapatkan basil sesuai

    dengan yang diinginkan oleh pengguna. Keluaran sistem berupa jadwal

    kuliah untuk masing-masing jurusan pada Fakultas Sains dan Teknologi.

    STD untuk rancangan keluaran dapat dilihat pada gambar dibawah ini

    Gambar3.14)

    ComboSemestcrK ik

    Pilihan Semester

    ComboK sKlik

    Pilihan Kelas

    Tampilkan

    ..___

    Pilihan Jurusan

    FORM

    CmnboJurusanKlik

    JADWALJADWAL

    KULIAH

    Pilihan Lokal

    on1boHariK ik

    Tampilkan

    Pilihan Hari

    ComboLokalKlik

    ambar

    3.14 STD

    Rancangan

    Kelnara111

  • 8/16/2019 Rusdiana Fst

    78/117

    B BV

    IMPLEMENTASI

    Kegiatan pada tahap implementasi meliputi pemrograman sistem dan

    pengujian sistem.

    Pada bab ini membahas sarana-sarana pendukung yang diperlukan

    agar sistem penjadwalan kuliah ini dapat be1jalan dengan baik dan modul-modul

    fungsi program kode program dapat dilihat pada lampiran).

    5 1

    Sarana Sarana Pcndukung

    Sistcm Pcnjadwalan Kuliah

    5.1.1 Perangkat Kcras

    Perangkat keras untuk menjalankan sistem penjadwalan ini adalah

    suatu unit komputer dengan konfigurasi sebagai berikut :

    a

    Prosesor setara Pentium II keatas.

    b

    A femo1y

    minimal 64 MB.

    c Monitor dengan resolusi I024 X 768

    d Keyboard dan Mouse.

    e.

    VGA32MB.

    5.1.2 Pcrangkat

    Lunak

    Spesifikasi system operasi dan perangkat lunak yang digunakan

    adalah sebagai berikut :

    f Windows 98/2000/XP/NT

    g Borland Delphi 6.0

    h

    Paradox

  • 8/16/2019 Rusdiana Fst

    79/117

    64

    5.2

    Gambaran dan Fungsi Modul Modul Program

    Pada sistem ini terdapat 12 sub-program yang berbeda, dapat dilihat pada

    gambar 4.1, yaitu:

    a Sub-program utama, berfungsi sebagai tempat sub-program lain dipanggil

    untuk dijalankan dan gambaran keseluruhan program.

    b Sub-program data merupakan menu data yang terdiri dari data dosen, data

    mata kuliab, data kurikulum dan data local.

    c

    Sub-program kesiapan, merupakan menu kesiapan megajar dan waktu

    mengajar dosen.

    d

    Sub-program proses, merupakan menu proses pembuatan jadwal dan

    menampilkan hasil Gadwal kuliuab .

    e

    Sub-program data dosen, berfungsi untuk pemasukan, penyimpanan,

    pengubahan penghapusan, dan pencetakan data dosen.

    f Sub-program data mata kuliab, berfungsi untuk pemasukan, penyimpanan,

    pengubaban dan penghapusan data mata kuliah.

  • 8/16/2019 Rusdiana Fst

    80/117

    Sub-Program

    Data

    Sub-Program Data

    Dosen

    Sub-Program Data

    mata kuliah

    Sub-Program

    Kurikulum

    Sub-Program Data

    Lokal

    Pengguna

    Sub-Program Utama

    Sub-program

    Kesiapan

    Sub-program

    Kesiapan Mengajar

    Sub-program

    Kesiapan Waktu

    Mengajar

    Sub-program

    Proses

    65

    Sub-Program

    Proses

    Pembuatan

    Jadwal Kuliah

    Sub-Program

    Jadwal hasil)

    Gambar 4.1 Gambaran dan Fungsi Modul Modul Program.

    g

    Sub program data lokal, berfungsi untuk pemasukan, penyimpanan,

    pengubahan, dan penghapusan data lokal.

    h Sub program kmikulum, berfungsi untuk pemasukan, pengubahan

    penyimpanan dan penghapusan data kuriknlum tiap seme:ster.

    1.

    Sub program kesediaan mengajar, berfungsi untuk pemasukkan,

    penyimpanan, pengubahan, dan penghapusan data kesiapan mengajar dosen.

    J Sub program kesiapan waktu mengajar, berfungsi lll1tuk pemasukan,

    penyimpanan, pengubahan dan penghapusan data kesia.pan waktu mengajar

    do sen.

  • 8/16/2019 Rusdiana Fst

    81/117

    66

    k

    sub- program proses, berfungsi dalam pembuatan jadwal mengajar dosen dan

    menampilkan hasil proses GAs Genetic Algorithms Sistem)

    .

    I Sub program jadwal, berfungsi untuk melihat jadwal kuliah tiap semester,

    mlihat local yang tidak terpakai, dan mencetak jadwal

    kulia11

    5.3

    Rancangan odul

    Sesuai dengan modul-modul fungsi program diatas, terdapat 9 rancangan

    yang penulis buat, meliputi :

    5.3.1 Rancangan Menu Utama

    Rancangan ini berli.mgsi sebagai interface tempat sub program lain

    dipanggil untuk dijalankan, yang terdiri dari set data, set kesiapan, clan

    proses penjadwalan kuliah Gambar 4.2).

    Gambar 4.2

    orm

    Menu Utama

  • 8/16/2019 Rusdiana Fst

    82/117

    67

    5.3.2 Rancangan Data Dosen

    Rancangan ini berfungsi sebagai interface untuk memodifikasi data

    dosen yaitu menambah data dosen, mengubah data dosen, menyimpan data

    dosen dan mencetak data dosen Gambar 4.3).

    Gambar 4.3 Form ata osen

    5 3 3 Rancangan Mata Kuliah

    Rancangan ini berfungsi sebagai interface untuk memodifikasi data

    mata kuliah yaitu menambah data mata kuliah, mengubah data mata kuliah,

    rnenyimpan data rnata kuliah clan mencetak data rnata lrnliah Gambar 4.3).

  • 8/16/2019 Rusdiana Fst

    83/117

    68

    Gambar 4.3

    orm ata Mata Kuliah

    5.3.4 Rancangan Data Kurikulum

    Rancangan ini berfungsi sebagai interface untuk memodifikasi data

    kurikulum Fakultas Sains dan Teknologi. Kurikulum ini di buat untuk

    setiap jurusan per semester. Interface ini memil iki fungsi tambah data

    kurikulum, mengubah data kurikulum, mcnyimpan data kurikulum dan

    mencetak data kurikulum Gambar 4.4)

  • 8/16/2019 Rusdiana Fst

    84/117

    69

    Gambar 4.4

    Form ata Kurikulum

    5.3.5 Rancangan Lokal

    Rancangan ini berfi.mgsi sebagai interface untulc memodifikasi data

    lokal yaitu menambah data lokal, mengubah data lokal, menyimpan data

    lokal dan mencetak data lokal Gambar 4.5).

  • 8/16/2019 Rusdiana Fst

    85/117

    7

    Garn

    bar

    4.5

    orm

    Data okal

    5.3.6 Rancangan Kesiapan ivlengajar Dosen

    Rancangan ini berfungsi sebagai interface untuk memodifikasi data

    kesiapan mengajar dosen yaitu menambah data kesiapan mengajar dosen,

    mengubah data kesiapan mengajar dosen,

    clan

    menyimpan data kesiapan

    mengajar dosen Gambar 4.6).

  • 8/16/2019 Rusdiana Fst

    86/117

    7

    Gambar 4.6 orm Set Kesiapan Mcngajar ])oscn

    5.3.7 Rancangan Kesiapan Waktu Mengajar Dosen

    Rancangan ini berfungsi sebagai interface untuk memodifikasi data

    kesiapan waktu mengajar dosen yaitu menambah data kesiapan waktu

    mengajar dosen, mengubah data kesiapan waktu mengajar dosen, dan

    menyimpan data kesiapan waktu mengajar dosen Garnbar 4.7).

  • 8/16/2019 Rusdiana Fst

    87/117

    72

    Gambar

    4. 7

    Form

    Set

    Kcsiapan Waktu Mengajar osen

    5.3.8 Rancangan

    Pembuatan

    Jadwal Kuliah

    Rancangan ini berfungsi sebagai interface

    untuk

    membuat jadwal

    kuliah. Fungsi-fungsi Proses

    algoritma genetika

    diterapakan pada form ini

    Gambar 4.8 . pada form ini

    akan menampilkan

    hasil

    proses algoritma

    genetika yang dapat

    dimodifikasi jika diperlukan.

  • 8/16/2019 Rusdiana Fst

    88/117

    7

    Gambar

    4.8

    orm Proses Pcmbuatan Jadwal Kuliah

    5.3.9 Rancangan Jadwal Kuliah

    Rancangan ini berfungsi sebagai interface untuk menampilkan

    jadwal kuliah setiap jurusan per semester per kelas dan untuk melihat lokal

    kosong. Disini tcrdapatjuga fungsi untuk mencetakjadwal kuliah Gambar

    4.9, Gambar 4.10).

  • 8/16/2019 Rusdiana Fst

    89/117

    7

    Gambar

    4 9 orm Jadwal Kuliah

  • 8/16/2019 Rusdiana Fst

    90/117

    ~ ~ w ; ~ : ~ j ; j i i $ < i f t f f i : P l f f f f f l l l i i t ~ r ; y y a ; W '

    :·:

    [ l ) r i f r ~ H i : s s l i l ~ ~

    Semester

    hn AkademD

    Jurusan

    Kolas

    Shift Jam

    07 30 09 10

    09.20 11 00

    11.10 12.50

    JAOWAL

    KULIAH FAKULTAS SAINS DAN TEKNOL,OQI

    UNIVERSITAS

    SLAM

    NEGERI SYARll' HIDAYATULLAH

    JllKARTA

    2004 2005

    TEKNIK INFORMATIKA

    A

    Dos en

    Mata KuBllh

    Sks

    GENIN

    NANI

    RAD ASlUTl,

    Orn

    JAN NGAN KCMPlITER

    2

    SEN N NANI

    RAO ASlUTI, D'a

    JA@NGAN KCMPlITER

    2

    SENJN NANJ

    RAOtA.SlUTI, D'a

    ALGffilMA

    GENE11KA

    2

    Garnbar 4.10 orm

    Mencetak Jadwal

    Kuliah

    75

    Lokal

    ' ' : . ~ · ; _

    401

    401

    401

    I

  • 8/16/2019 Rusdiana Fst

    91/117

    77

    6.2

    aran

    Penulisan slaipsi ini akan Jebih bermanfaat lagi apabila memperhatikan

    ha ha

    sebagai berikut :

    a. Dalam pembuatan sistem penjadwalan kuliah ini untuk pengembangan

    kedepan

    di

    harapkan pengesetan kesiapan mengajar dosen tidak hanya untuk

    regular.

    b.

    Kesiapan mengajar dosen setiap semester per tahun akademik seharusnya

    disimpan per tabel. Hal ini agar membantu pihak akademik sebagai referensi

    untuk pembuatan jadwal kuliah selanjutnya.

    c.

    Ada baiknya bila pengguna sistem penjadwalan kuliah ini setidalmya

    memiliki dasar kemampuan tentang pengoperasian komputer.

  • 8/16/2019 Rusdiana Fst

    92/117

    78

    D FT R

    PUST

    K

    Charles L. Karr, L. Michael Freeman, Industrial Applications

    Of

    Genetic Algorithms,

    Series III: United State OfAmerica: CRC Press LLC, 1999.

    Sri

    Kusuma Dewi, Artificial Intelegence Teknik dan Aplikasi), Edisi I ( Yogyakarta: