• Tidak ada hasil yang ditemukan

SPPK penjadwalan kuliah dengan algoritma genetika : studi kasus Jurusan Teknik Informatika Universitas Sanata Dharma Yogyakarta - USD Repository

N/A
N/A
Protected

Academic year: 2019

Membagikan "SPPK penjadwalan kuliah dengan algoritma genetika : studi kasus Jurusan Teknik Informatika Universitas Sanata Dharma Yogyakarta - USD Repository"

Copied!
101
0
0

Teks penuh

(1)

SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN PENJADWALAN KULIAH DENGAN ALGORITMA GENETIKA

(Studi Kasus : Jurusan Teknik Informatika Universitas Sanata Dharma Yogyakarta)

Skripsi

Ditujukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

Disusun oleh : Wahyu Ferianingrum

035314065

JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA

(2)

i

SISTEM PENDUKUNG PENGAMBILAN KEPUTUSAN PENJADWALAN KULIAH DENGAN ALGORITMA GENETIKA

(Studi Kasus : Jurusan Teknik Informatika Universitas Sanata Dharma Yogyakarta)

Skripsi

Ditujukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

Disusun oleh : Wahyu Ferianingrum

035314065

TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(3)

ii

DECISION SUPPORT SYSTEM OF LECTURE SCHEDULING WITH GENETICS ALGORITHM

(Case Study : Informatics Engineering Department of Yogyakarta Sanata Dharma University)

A THESIS

Presented as Partial Fulfillment of the Requirements to Obtain the Sarjana TeknikDegree

in Department of Informatics Engineering

Created by: Wahyu Ferianingrum

NIM : 035314065

DEPARTMENT OF INFORMATICS ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY YOGYAKARTA

(4)
(5)
(6)
(7)

vi

Kupersembahkan Untuk :

Jesus Christ

Ayah, Mamah,

Kakakku

&

(8)

vii

HALAMAN MOTTO

Janganlah takut, sebab Aku menyertai engkau

(Yesaya 41 : 10)

Terima kasih Tuhan………..

Karena semua kejadian yang aku alami adalah tidak

kebetulan tetapi bekerja sama untuk mendatangkan

kebaikan bagiku

(9)

viii ABSTRAKSI

Penjadwalan kuliah merupakan salah satu masalah optimasi. Proses penjadwalan kuliah di Jurusan Teknik Informatika Universitas Sanata Dharma Yogyakarta masih dilakukan secara manual. Penjadwalan secara manual dapat saja dilakukan, namun penanganan seperti ini akan mengalami masalah terutama dalam hal ketelitian dan waktu yang lama.

Dengan dibangunnya SPPK Penjadwalan kuliah ini, diharapakan dapat mengatasi masalah dalam proses penjadwalan kuliah. Dalam penjadwalan kuliah, terkait dengan ketersediaan hari, ruangan, jam, dan matakuliah yang ditawarkan. Dengan hasil yang diharapkan adalah adanya jadwal kuliah yang sesuai, sehingga tidak terjadi tabrakan antara matakuliah yang satu dengan yang lain, maupun jadwal bagi dosen sebagai pengajar matakuliah.

(10)

ix ABSTRACT

Lecture scheduling is one of the problems in optimizing. Process lecture scheduling in Information Technology programme of Sanata Dharma University Yogyakarta is being done manually. Manual scheduling is possibly done. However, some problems may occur especially an accuracy and time constrain.

With this Decision Support System of Lecture Scheduling builded, hopes can fix the problem in lecture scheduling process. Lecture scheduling is closely related to the availability of the days, room, time and the subjects offered. Result that is expected when using Decision Support System (DSS) lecture shedulling is an organized schedule for each subject offered to the students, so that there is no collision between one subject and another.

(11)
(12)

xi

KATA PENGANTAR

Puji dan syukur kepada Tuhan Yang Maha Esa yang telah mengaruniakan

berkat dan hikmatNya sehingga penulis dapat menyelesaikan tugas akhir ini.

Dalam proses penulisan tugas akhir ini ada begitu banyak pihak yang telah

memberikan bentuan dan perhatian dengan caranya masing-masing sehingga

tugas akhir ini dapat diselesaikan. Oleh karena itu penulis mengucapkan terima

kasih diantaranya kepada :

1. Bapak Yosef Agung Cahyanta, S.T., M.T., selaku Dekan Fakultas Sains dan

Teknologi Universitas Sanata Dharma Yogyakarta.

2. Bapak Drs. J.J. Siang, M.Sc selaku dosen pembimbing tugas akhir yang

telah banyak memberikan bimbingan dalam penyusunan tugas akhir ini.

3. Ibu P.H. Prima Rosa, S.Si., M.Sc. dan Ibu Sri Hartati Wijono, S.Si.,

M.Kom. selaku panitia penguji yang telah memberikan banyak kritik dan

saran sempurnanya tugas akhir ini.

4. Bapak Emanuel Belle Bau, SPd. dan Yustinus Nugroho sebagai laboran

yang telah mendukung dalam mempersiapkan ujian pendadaran.

5. Seluruh staff dosen Teknik Informatika Universitas Sanata Dharma yang

telah memberikan bekal ilmu, arahan dan pengalaman selama penulis

menempuh studi.

6. Seluruh staff Sekretariat Fakultas Sains dan Teknologi yang banyak

membantu penulis dalam urusan administrasi akademik terutama menjelang

(13)

xii

7. Ayah dan Mamah, terimakasih untuk setiap cinta, kasih sayang, doa,

kesabaran dan pengorbanan sehingga penulis dapat menyelesaikan tugas

akhir ini.

8. Kakakku Ari Yulianto terima kasih atas doa, kasih sayang, dan

dukungannya.

9. Bapak dan Ibu terima kasih atas kasih sayang, perhatian dan semangatnya.

10. Ratna Kusuma Wardhani, Dian Tirta P dan Wahyu Nugroho terima kasih

atas perhatian, semangat dan nasihatnya.

11. Widyatmoko Adi Seputro terima kasih atas cinta, kasih sayang, perhatian,

semangat dan kebersamaan selama ini.

12. Essther Ika, Florentina Puri, Rubin Siswanto, M.Abdul Rosyid, Bregas P,

Santhos F, Odulphus Junaidi, Pamako, Ari Tunggul, Tadea P, Rachel K,

dan E.W Mardani terimakasih atas semangat dan segala bantuannya.

13. Teman-teman seperjuangan di Jurusan Teknik Informatika angkatan 2003.

14. Semua pihak yang telah membantu penulisan baik secara langsung maupun

tidak langsung, yang tidak dapat penulis sebutkan satu persatu.

Dengan rendah hati penulis menyadari bahwa tugas akhir ini masih jauh

dari sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas

akhir ini sangat penulis harapkan. Akhir kata semoga tugas akhir ini dapat

bermanfaat bagi semua pihak. Terima kasih.

Yogyakarta, Juli 2009

Penulis

(14)

xiii DAFTAR ISI

HALAMAN JUDUL ... i

HALAMAN PERSETUJUAN... iii

HALAMAN PENGESAHAN... ... iv

PERNYATAAN KEASLIAN KARYA... v

HALAMAN PERSEMBAHAN... ... vi

HALAMAN MOTTO... ... vii

ABSTRAKSI... ... viii

ABSTRACT... ... ix

KATA PENGANTAR... ... xi

DAFTAR ISI... ... xiii

DAFTAR GAMBAR... ... xvii

DAFTAR TABEL... ... xix

BAB I. PENDAHULUAN ... 1

1.1 Latar Belakang Masalah... ... 1

1.2. Rumusan Masalah ... 2

1.3 Tujuan Penulisan ... 2

1.4. Batasan Masalah... 3

1.5 Metodologi Penelitian... 3

1.6 Sistematika Penulisan... 4

BAB II. LANDASAN TEORI... . 6

(15)

xiv

2.1.1 Pengertian SPPK ... 6

2.1.2 Tujuan SPPK. ... 6

2.1.3 Komponen SPPK ... 7

2.1.4 Karakteristik dan Kemampuan SPPK ... 8

2.1.5 Manfaat SPPK. ... 9

2.1.6 Keterbatasan SPPK... . 10

2.1.7 Proses Pengambilan Keputusan... . 11

2.2 Algoritma Genetika ... 12

2.2.1 Konsep Dasar Algoritma Genetika ... 13

2.2.2 Struktur Umum Algoritma Genetika ... 18

2.2.3 Ilustrasi Algoritma Genetika... 19

2.2.4 Pemodelan Kromosom (Pengkodean)... 21

2.2.5 Operator Algoritma Genetika... 23

2.2.5.1 Seleksi... 23

2.2.5.2 Perkawinan Silang (Crossover)... 27

2.2.5.3 Mutasi... 29

2.2.6 Parameter Genetika... ... 30

BAB III.ANALISIS DAN PERANCANGAN SISTEM... 31

3.1 Definisi Masalah... ... 31

3.1.1 Analisa Sistem... .. 31

3.1.2 Gambaran Umum Sistem... 31

3.2 Perancangan Antarmuka... . 34

(16)

xv

3.2.2 Perancangan Input dan Output... 34

3.2.2.1 Perancangan Input... 34

a. Perancangan Form Utama... 34

b. Perancangan Form Data Matakuliah…………. 35

c. Perancangan Form Data Dosen………... 36

d. Perancangan Form Data Ruang………... 37

e. Perancangan Form Data Kelas Matakuliah... 38

f. Perancangan Form Proses Penjadwalan... 39

3.3 Perancangan Basisdata……….. 40

3.3.1 ER Diagram... 40

3.3.2 Perancanagan Tabel... 41

3.4 Perancangan Algoritma Genetika Dalam Penjadwalan Kuliah.. 42

a. Representasi Masalah... 42

b. Pembentukan Kromosom... 45

c. Penentuan Nilai Fitness... 45

d. Pemilihan Kromosom untuk Dijadikan Orang Tua... 46

e. Proses Reproduksi Kromosom... 47

3.5 Penerapan Algoritma Genetika... 47

BAB IV. IMPLEMENTASI DAN ANALISA HASIL ... 63

4.1 Implementasi Program... 66

4.1.1 Form Menu Utama... 66

4.1.2 Form Data Dosen... 67

(17)

xvi

4.1.4 Form Data Matakuliah... 68

4.1.5 Form Data Kelas Matakuliah... 69

4.1.6 Form Proses Pembuatan Jadwal Kuliah... 70

4.2 Flowchart... 71

4.3 Testing Program... 72

4.4 Kelebihan Dan Kekurangan Program... 78

BAB V. PENUTUP ... 79

5.1 Kesimpulan ... 79

5.2 Saran ... 79

(18)

xvii

DAFTAR GAMBAR

Halaman

Gambar 2.1 Model Konseptual SPPK ………... 8

Gambar 2.2 Karakteristik SPPK ………... 9

Gambar 2.3 Struktur Umum Algoritma Genetika ………...19

Gambar 2.4 Contoh Seleksi Roda Roulette... 24

Gambar 3.1 FlowchartSistem ……….………... 32

Gambar 3.2 FlowchartAlgoritma Genetika... 33

Gambar 3.3 Perancangan Menu...34

Gambar 3.4 Perancangan FormUtama... 34

Gambar 3.5 Perancangan FormData Matakuliah... 35

Gambar 3.6 Perancangan FormData Dosen... 36

Gambar 3.7 Perancangan FormData Ruang... 37

Gambar 3.8 Perancangan FormData Kelas Matakuliah... 38

Gambar 3.9 Perancangan FormProses Penjadwalan... 39

Gambar 3.10 ER Diagram... 40

Gambar 3.11 Ilustrasi Model Kromosom... 43

Gambar 3.12 Proses Crossoverbagian pertama... 63

Gambar 3.13 Proses Crossoverbagian kedua... 63

Gambar 3.14 Proses Crossoverbagian ketiga... 63

Gambar 3.15 Proses Crossoverbagian keempat... 64

Gambar 3.16 Proses Mutasi... 65

Gambar 4.1 FormMenu Utama...66

Gambar 4.2 FormData Dosen... 67

Gambar 4.3 FormData Ruang...68

Gambar 4.4 FormData Matakuliah...69

Gambar 4.5 FormData Kelas... 70

(19)

xviii

Gambar 4.7 FlowchartSPPK penjadwalan kuliah... 72 Gambar 4.8 Grafik hubungan nilai fitness dengan iterasi... 73 Gambar 4.9 Hubungan antara Probabilitas Crossover(10% - 25%)

dan Probabilitas Mutasi (1%) dengan Nilai rata-rata Iterasi..75 Gambar 4.10 Hubungan antara Probabilitas Mutasi (10% - 90%) dan

Probabilitas Crossover(25%) dengan Nilai rata-rata Iterasi

yang diperlukan... 76

Gambar 4.11 Hubungan antara jumlah Kelas Mata Kuliah dengan

(20)

xix

DAFTAR TABEL

Halaman

Tabel 2.1 Contoh Pengkodean Biner………..………... 21

Tabel 2.2 Contoh Pengkodean Permutasi... 22

Tabel 2.3 Tabel Pengkodean Nilai... 22

Tabel 2.4 Seleksi Rangking... 26

Tabel 3.1 Tabel Matakuliah ………..………... 41

Tabel 3.2 Tabel Dosen... 41

Tabel 3.3 Tabel Kelas... 41

Tabel 3.4 Aturan-Aturan Penjadwalan Kuliah... 46

Tabel 3.5 Contoh Data Matakuliah... 48

Tabel 3.6 Contoh Data Dosen... 49

Tabel 3.7 Contoh Data Hari……….………. 50

Tabel 3.8 Contoh Data Ruang... 50

Tabel 3.9 Contoh Data Jam………... 51

Tabel 3.10 Contoh Data Kelas Matakuliah... 51

Tabel 3.11 Kromosom 1-10, Gen 1-25... 55

Tabel 3.12 Kromosom 1-10, Gen 26-50... 55

Tabel 3.13 Kromosom 1-10, Gen 51-75... 56

Tabel 3.14 Kromosom 1-10, Gen 76-100... 56

Tabel 3.15 Kromosom 1-10, Gen 101-125... 57

Tabel 3.16 Kromosom 1-10, Gen 126-150... 57

Tabel 3.17 Kromosom 1-10, Gen 151-175... 58

Tabel 3.18 Kromosom 1-10, Gen 176-200... 58

Tabel 3.19 Kromosom 1-10, Gen 201-225... 59

Tabel 3.20 Kromosom 1-10, Gen 226-250... 59

Tabel 3.21 Kromosom 1-10, Gen 251-275... 60

(21)

xx

Tabel 3.23 Kromosom 1-10, Gen 301-325... 61

Tabel 3.24 Kromosom 1-10, Gen 325-350... 61

Tabel 3.25 Tabel Bobot Nilai Fitness... 62

Tabel 3.26 Tabel Hubungan Antar Substring... 64

Tabel 4.1 Hubungan tabel fitnessdan rata-rata iterasi... 73

Tabel 4.2 Hubungan antara Probabilitas Crossover(10-25%) dan Probabilitas Mutasi(1-5%) dengan nilai rata-rata Iterasi... 74

Tabel 4.3 Hubungan antara Probabilitas Crossover(25%) dan Probabilitas Mutasi (10-90%) dengan Nilai rata-rata Iterasi... ... ... 76

(22)

1

BAB I

PENDAHULUAN

1.1 Latar Belakang Masalah

Saat ini proses penjadwalan kuliah di jurusan teknik informatika

universitas Sanata Dharma masih menggunakan cara manual. Penjadwalan

secara manual dapat saja dilakukan, namun penanganan seperti ini akan

mengalami masalah terutama dalam hal ketelitian dan waktu yang lama.

Proses penjadwalan kuliah terdiri dari beberapa komponen, yaitu matakuliah

yang ditawarkan, dosen, hari, ruang dan jam. Sementara hasil yang

diharapkan adalah adanya jadwal matakuliah yang sesuai, baik bagi dosen

maupun mahasiswa dengan waktu kuliah yang efektif, sehingga tidak terjadi

tabrakan baik antara jadwal matakuliah tertentu, maupun jadwal bagi dosen

sebagai pengajar mata kuliah. Ketika penjadwalan kuliah dilakukan secara

manual, hanya akan dihasilkan satu solusi jawaban, dan jika solusi tersebut

masih terdapat kesalahan, maka untuk mendapatkan kembali solusi yang

lebih baik membutuhkan waktu yang lama.

Pada tugas akhir ini dijelaskan tentang sistem pendukung

pengambilan keputusan untuk membantu menyelesaikan masalah

penjadwalan kuliah dengan menggunakan algoritma genetika Algoritma

genetika adalah algoritma yang berdasarkan konsep teori evolusi alam dan

konsep genetika. Algoritma genetika merupakan algoritma yang dapat

(23)

2

eksaknya, karena mempunyai banyak pilihan penyelesaian. Dengan

algoritma genetika, data-data dari komponen yang ada berupa data hari, data

ruang, data jam, dan data matakuliah akan diolah ke bentuk variabel dalam

algoritma genetika sehingga solusi yang dihasilkan merupakan solusi-solusi

yang mendekati optimal. Meskipun ada kemungkinan dengan menggunakan

algoritma genetika tidak dapat ditemukan solusi terbaik, tetapi paling tidak

dapat ditemukan solusi yang mendekati solusi yang terbaik dalam waktu

relatif kecil.

Kehadiran sistem berbasis komputer dengan didukung adanya sistem

pendukung pengambilan keputusan, akan sangat membantu dalam proses

penjadwalan kuliah karena dapat membantu memberikan alternatif

pemecahan bagi masalah yang dihadapai.

1.2 Perumusan Masalah

Dari latar belakang masalah dapat diambil rumusan masalah :

Bagaimana menerapkan algoritma genetika untuk menyelesaikan masalah

penjadwalan kuliah.

1.3 Tujuan Penulisan

Membuat program bantu untuk menyelesaikan masalah penjadwalan kuliah

(24)

3

1.4 Batasan Masalah

Adapun batasan masalah yang digunakan untuk menyelesaikan masalah

penjadwalan mata kuliah dengan algoritma genetika adalah :

1. Penjadwalan hanya untuk kelas teori.

2. Studi Kasus di Jurusan Teknik Informatika Universitas Sanata Dharma

Yogyakarta.

3. Satu matakuliah harus dalam blok waktu berurutan atau tidak

diperkenankan adanya pencacahan waktu.

4. Pengguna dapat melakukan input mata kuliah teori, data dosen, data ruang,

dan kelas mata kuliah, sementara data hari dan data jam telah tersedia

dalam sistem.

1.5 Metodologi Penyelesaian Masalah

Metode yang digunakan untuk menyelesaikan masalah penjadwalan mata

kuliah adalah metode System Development Life Cycle (paradigma Waterfall).

Metode ini terdiri dari tahap yaitu :

1. Analisis Kebutuhan

• Mengidentifikasi dan menganalisis semua kebutuhan sistem.

• Pengumpulan data yang diperlukan.

2. Perancangan Sistem

Merupakan tahap menerjemahkan kebutuhan ke dalam sebuah representasi

(25)

4

perancangan basis data, perancangan user interface dan perancangan

program.

3. Penulisan Program

Merupakan tahap menerjemahkan hasil rancangan ke bahasa pemrograman

yang digunakan.

4. Pengujian

Tahap pengujian program dilakukan untuk menemukan kesalahan-kesalahan

dengan cara mengeksekusi program.

1.6 Sistematika Penulisan

BAB I : PENDAHULUAN

Bab ini berisi penjelasan mengenai latar belakang masalah,

rumusan masalah, tujuan penulisan, batasan masalah, metodologi

penyelesaian masalah, dan sistematika penulisan.

BAB II : LANDASAN TEORI

Bab ini berisi tentang teori yang mendasari sistem pendukung

pengambilan keputusan dan teori algoritma genetika yang akan

menjadi dasar dalam pembuatan sistem ini.

BAB III : ANALISA DAN PERANCANGAN SISTEM

Bab ini menjelaskan tentang analisis dan perancangan sistem

yang akan dibangun, meliputi serta analisis data penjadwalan,

(26)

5

langkah-langkah algoritma genetika dalam menyelesaikan

masalah penjadwalan kuliah.

BAB IV : IMPLEMENTASI DAN ANALISA HASIL

Bab ini berisi tentang implementasi dari perancangan yang telah

dibuat sebelumnya, meliputi tampilan–tampilan program baik

input maupun output yang dihasilkan dan analisa hasil dari

program yang telah dibuat.

BAB V : KESIMPULAN DAN SARAN

Bab ini berisi tentang kesimpulan dan saran dari sistem yang

telah dibangun, berdasarkan pembahasan pada bab-bab

(27)

6 BAB II

LANDASAN TEORI

2.1 Konsep Dasar Sistem Pendukung Keputusan

2.1.1 Pengertian Sistem Pendukung Keputusan

Sistem Pendukung Keputusan atau DSS (Decision Support System) diciptakan oleh Gorry dan Scoot Morton pada tahun 1971. Gagasan tersebut didasarkan pada perlunya suatu kerangka kerja untuk mengarahkan aplikasi komputer kepada pengambilan keputusan manajemen.

Gorry dan Scoot Morton mendefinisikan SPPK sebagai sekumpulan prosedur basis model untuk memproses data dan keputusan untuk membantu manajer dalam membuat keputusan.

Dalam bukunya, Turban mengutip definisi yang diberikan oleh Scoot Morton (Efraim turban,1995:11) dengan definisi sistem pendukung keputusan adalah sistem interaktif yang berbasis komputer yang membantu pengambil keputusan menggunakan data dan model untuk membantu memecahkan masalah yang tidak terstuktur atau semi terstuktur.

(28)

7

2.1.2 Tujuan SPPK

Menurut Peter G.W. Keen dan Scott Morton, SPPK memiliki tujuan sebagai berikut :

• Membantu pengambil keputusan untuk memecahkan masalah

semi terstuktur.

• Mendukung penilaian pengambil keputusan bukan untuk

menggantikan peran pengambil keputusan. • Meningkatkan efektifitas pengambilan keputusan.

2.1.3 Komponen-komponen SPPK

Pada dasarnya SPPK terdiri dari empat subsistem yang saling berkaitan satu sama lain yaitu :

a. Manajemen data

SPPK terdiri dari sekumpulan basis data yang berisi data-data yang relevan yang dikelola suatu sistem yang disebut DBMS (Database Management System).

b. Manajemen model

SPPK memuat model finansial, statistik, manajemen saintifik, atau model lain yang memberikan kemampuan analitis sistem.

c. Manajemen dialog

(29)

8

d. Manajemen pengetahuan

Subsistem optional ini lebih bersifat fleksibel, di mana subsistem ini dapat mendukung subsistem lainnya atau berdiri sendiri. Subsistem ini dibutuhkan ketika ketiga subsistem SPPK lainnya tidak mampu lagi menyelesaikan masalah yang semi terstruktur maupun tidak terstruktur. Subsistem ini terbentuk dari satu atau lebih sistem pakar. Selain itu juga dilengkapi dengan kebutuhan eksekusi dan integrasi sistem pakar.

2.1.4 Karakteristik dan Kemampuan SPPK

SPPK memiliki beberapa karakteristik yang khas dibandingkan dengan sistem informasi lainnya (Turban, 1995) yaitu :

a. SPPK membuat dukungan bagi pembuat keputusan, terutama untuk keputusan semi dan tidak terstuktur.

b. SPPK dapat dimanfaatkan oleh individu maupun kelompok. Sistem Berbasis

Komputer yg lain

Manajer(pengguna) Data internal &

eksternal

(30)

9

c. SPPK menyediakan dukungan kepada beberapa ketergantungan dan atau rangkaian keputusan.

d. SPPK dapat mendukung beberapa kondisi keputusan yang saling bergantung atau berurutan.

e. SPPK bersifat fleksibel.

f. SPPK harus mudah digunakan, bersahabat, dan efektif.

g. SPPK mempunyai tujuan khusus untuk mendukung keputusan yang diambil, tetapi tidak menggantikan peran pembuat keputusan.

Karakter-karakter tersebut dapat digambarkan dalam diagram seperti di bawah ini :

Gambar 2.2 Karakteristik SPPK

1. Keputusan semi terstruktur

7. Adaptif dan Fleksibel 5. Mendukung penalaran, perancangan dan pemilihan

6. Mendukung bbg gaya dan proses pengambilan

keputusan

8. Mudah dipakai 9. Efektivitas, bukan

efisiensi 11. Mudah dibangun

2. Untuk manajer di berbagai level

3. Untuk kelompok dan individu

4. Keputusan interdependen atau

sekuensial

10. Bisa dikendalikan pengguna

(31)

10

2.1.5 Manfaat SPPK

SPPK sebagai sebuah sistem memberikan manfaat bagi penggunanya, antara lain:

a. SPPK memperluas kemampuan pengambil keputusan dalam memproses data dan informasi bagi penggunanya.

b. SPPK membantu pengambil keputusan dalam hal penghematan waktu pemecahan masalah.

c. SPPK dapat menghasilkan solusi dengan cepat serta dapat diandalkan.

d. Walaupun SPPK mungkin saja tidak mampu menyelesaikan masalah yang dihadapi oleh pengambil keputusan, namun ia mampu menjadi stimulan, karena SPPK menyediakan berbagai alternatif penyelesaian.

e. SPPK dapat menyediakan bukti tambahan untuk memberikan pembenaran sehingga dapat memperkuat posisi pengambil keputusan.

f. SPPK menghasilkan keputusan yang bersifat objektif.

(32)

11

2.1.6 Keterbatasan SPPK

Sebuah sistem tentunya memiliki kelemahan dan keterbatasan kemampuan dalam hal tertentu. Demikian juga dengan SPPK, memiliki keterbatasan dalam beberapa hal antara lain :

a. Ada beberapa kemampuan manajemen dan bakat manusia yang tidak dapat dimodelkan, sehingga model yang ada dalam sistem tidak mencerminkan persoalan yang ada secara keseluruhan. b. Kemampuan SPPK terbatas pada perbendaharaan kemampuan yang

dimilikinya (pengetahuan dasar serta model dasar).

c. Proses-proses yang dapat dilakukan SPPK tergantung juga pada kemampuan perangkat lunak yang digunakan.

d. SPPK tidak memiliki kemampuan intuisi seperti yang dimiliki manusia, karena walaupun bagaimana canggihnya suatu SPPK hanyalah kumpulan perangkat lunak, perangkat keras dan sistem operasi yang tidak dilengkapi dengan kemampuan berpikir.

(33)

12

2.1.7 Proses Pengambilan Keputusan

Tiga fase dalam proses pengambilan keputusan (Turban, 1995) yaitu : 1. Fase penalaran (intelligence phase)

Tujuan dalam fase ini adalah mengenali permasalahan, situasi dan peluangnya. Output yang dihasilkan berupa rumusan masalah (problem statement).

2. Fase perancangan (design phase)

Tujuan dalam fase ini adalah menghasilkan dan menganalisa alternatif solusi. Dalam fase ini dilakukan pemodelan terhadap permasalahan yang ada. Pemodelan sendiri berarti konseptualisasi masalah dan abstraksinya dalam bentuk kuantitatif dan atau kualitatif.

3. Fase pemilihan (choice phase)

(34)

13

Dalam pemecahan masalah (problem solving), tiga fase pengambilan keputusan yang ada akan diikuti implementasi terhadap rekomendasi yang menjadi output dari fase pemilihan.

2.2 Algoritma Genetika

Algoritma genetika adalah algoritma yang berdasarkan pada mekanisme seleksi alami dan konsep genetika. Konsep genetika digunakan untuk merepresentasikan setiap kemungkinan solusi dari masalah optimasi yang ada. Sedangkan seleksi alam merepresentasikan proses seleksi terhadap calon-calon solusi dari sebuah populasi. Dalam implementasinya algoritma genetika meniru beberapa proses yang terdapat pada evolusi alami mahluk hidup antara lain seleksi alam dan reproduksi (crossover dan mutasi).

2.2.1 Konsep Dasar Algoritma Genetika

(35)

14

kemampuan suatu organisme untuk beradaptasi dengan lingkungannya. Hal ini menurut Darwin karena terdapat beberapa organisme yang mempunyai tingkat kemampuan bertahannya berbeda dengan organisme lain.

Adapun proses-proses dalam evolusi alami yang menjadi konsep dari algoritma genetika adalah proses seleksi alam dalam rangka mencari anggota populasi yang mempunyai tingkat ketahanan hidup yang tinggi sehingga dapat menyesuaikan diri dengan lingkungannya dan proses reproduksi yang merupakan salah satu proses biologi yang bertujuan untuk mempertahankan kelestarian dari suatu spesies karena dengan adanya reproduksi akan didapatkan keturunan yang sifatnya diturunkan dari induknya. Reproduksi mencakup dua proses yaitu crossover (perkawinan silang) dan mutation (mutasi). Perkawinan silang adalah suatu proses pertukaran gen dari dua individu yang mempunyai karakteristik yang berbeda untuk menghasilkan keturunan dengan karakteristik yang berbeda dari induknya dan diharapkan lebih baik dari induknya. Sedangkan mutasi adalah proses perubahan genetika dari suatu spesies karena spesies tersebut melakukan adaptasi terhadap lingkungannya.

(36)

15

fitnessnya. Nilai ini merupakan ukuran yang digunakan untuk mengukur

keoptimalan suatu solusi dalam menyelesaikan masalah.

Langkah-langkah yang dilakukan dalam algoritma genetika untuk mencari penyelesaiaan dari suatu masalah adalah:

1. Menentukan model dari sistem yang dibuat

Untuk melakukan komputasi terhadap masalah optimasi yang dihadapi maka terlebih dahulu dibuat sebuah representasi yang sesuai dengan masalah tersebut. Dalam pemodelan ini juga harus ditentukan batasan-batasan untuk memperkecil ruang pencarian yang akhirnya nanti dapat mempengaruhi cepat lambatnya penemuan solusi dan fungsi tujuan dari permasalahan tersebut. Ada beberapa macam pemodelan, yaitu : pengkodean biner, pengkodean permutasi, pengkodean pohon dan pengkodean nilai.

(37)

16

2. Pembangkitan kromosom anggota populasi dan mengevaluasi setiap kromosom dalam populasi dengan menentukan nilai fitnessnya.

Pembangkitan kromosom-kromosom sebagai anggota populasi dilakukan secara random. Anggota populasi yang terpilih kemudian dievaluasi dengan cara menentukan nilai fitness dari setiap populasi.

Penghitungan nilai fitness didapat berdasarkan fungsi tujuan yang telah ditentukan sebelumnya pada saat pemodelan masalah. Nilai fitness ini digunakan untuk mengetahui apakah suatu kromosom anggota populasi merupakan solusi yang tepat untuk permasalahan yang ada atau dapat juga digunakan untuk menentukan apakah calon solusi tersebut dapat menjadi anggota populasi generasi berikutnya.

3. Penentuan nilai fitness masing-masing kromosom-kromosom anggota populasi

Pada masalah optimasi, fungsi fitness yang digunakan untuk mencari nilai fitness adalah fungsi dari masalah optimasi itu sendiri. Untuk masalah penjadwalan kuliah pencarian nilai fitness dilakukan dengan pencarian total bobot dari masing-masing kromosom anggota populasi. Kromosom yang mempunyai nilai fitness baik adalah kromosom yang mempunyai total bobot terkecil. Semakin kecil nilai fitness dari kromosom yang terbentuk semakin baik kromosom tersebut.

(38)

17

apakah calon solusi tersebut dapat menjadi anggota populasi generasi berikutnya.

4. Pemilihan kromosom untuk dijadikan orang tua

Dari himpunan kromosom pada populasi kemudian dilakukan pemilihan dua buah kromosom untuk dijadikan orang tua. Pemilihan ini dapat dilakukan dengan berbagai metode seleksi antara lain: roda roulette seleksi, seleksi rangking, seleksi random dll. Kromosom orang tua yang terpilih tadi selanjutnya akan dikenakan operasi perkawinan silang (crossover) atau mutasi. Dan diharapkan melalui operasi ini akan menghasilkan individu-individu baru dengan nilai fitness yang lebih baik dari orang tuanya.

5. Proses reproduksi untuk menghasilkan kromosom baru

(39)

18

proses pertukaran gen kromosom dengan sebuah gen yang lain. Kromosom yang mengalami mutasi adalah kromosom hasil crossover dengan nilai fitness yang buruk. Mutasi dilakukan disesuaikan dengan besarnya probabilitas mutasi.

Perbedaan yang mendasar antara proses perkawinan silang dengan mutasi adalah bahwa pada perkawinan silang diperlukan dua kromosom orang tua sedangkan pada mutasi hanya diperlukan satu kromosom. Dengan operasi perkawinan silang ataupun mutasi yang dilakukan secara berulang-ulang melalui iterasi secara berturut-turut diharapkan akan menemukan kromosom yang paling baik. Kromosom tesebut diharapkan merepresentasikan solusi optimal atau solusi yang mendekati nilai optimal dari permasalahan yang ada.

2.2.2 Struktur Umum Algoritma Genetika

Bila P(t) adalah induk dan C(t) adalah keturunan pada generasi t, struktur umum algoritma genetika adalah sebagai berikut :

Procedure Algoritma Genetika begin

t 0

initialize P(t) ; evaluate P(t) ;

while (not terminate condition) do recombine P(t) to yield C(t) ; evaluate C(t) ;

select P(t+1) from P(t) and C(t) ; t t + 1;

(40)

19

2.2.3 Ilustrasi Algoritma Genetika

Keterangan

Dalam menyelesaikan suatu permasalahan, algoritma genetika diawali dengan menginisialisasikan himpunan solusi yang dibangkitkan secara random. Himpunan solusi ini disebut populasi (population). Setiap individu pada populasi disebut kromosom (chromosom), yang menggambarkan sebuah solusi dari suatu masalah yang akan diselesaikan.

Gambar 2.3 Struktur Umum Algoritma Genetika solutions

roulette wheel

0011011001

0011001001

offspring 1100101110 1011101010 0011001001 decoding fitness computation solutions 1100101010 1011101110 0011011001 1100110001

110010 1010 101110 1110

(41)

20

Sebuah kromosom dapat dinyatakan dalam simbol string, misalnya kumpulan string bit.

Dalam sebuah populasi, setiap kromosom akan dievaluasi dengan menggunakan alat ukur yang disebut dengan fitness (tingkat kesesuaian). Nilai fitness ini digunakan untuk mencari dua kromosom dari sebuah populasi yang akan dijadikan sebagai kromosom induk untuk melakukan regenerasi. Kromosom induk ini akan melakukan regenerasi melalui perkawinan silang (crossover) dan melakukan mutasi (mutation) yang akan menghasilkan kromosom baru (offspring). Perkawinan silang dilakukan dengan cara menggabungkan dua kromosom (induk) dengan menggunakan operator perkawinan silang . Sedangkan mutasi hanya berlaku pada sebuah kromosom, dan kromosom ini akan mengalami suatu perubahan (misalnya : 11101100 menjadi 11001100 pada string bit).

Hasil dari perkawinan silang dan mutasi ini (offspring) akan di evaluasi dengan menggunakan alat ukur yang disebut fitness. Kemudian akan dilihat apakah offspring ini merupakan solusi yang optimal atau belum. Jika optimal maka akan berhenti, dan offspring inilah jawabannya. Jika tidak, maka offspring ini akan diseleksi (selction) lagi dengan menggunakan roulette wheel. Offspring yang lulus seleksi akan menjadi populasi yang baru dan akan melakukan regenerasi lagi, sedangkan yang tidak lulus seleksi akan dibuang.

(42)

21

2.2.4 Pemodelan kromosom (pengkodean)

Pemodelan kromosom (pengkodean) adalah cara untuk merepresentasikan masalah kedalam bentuk kromosom. Ada beberapa macam pegkodean, yaitu :

a. Pengkodean Biner

Pengkodean biner merupakan bentuk reperesentasi yang paling banyak digunakan. Dalam pengkodean biner, parameter masalah dikodekan dengan kombinasi nilai biner 0 dan 1. Tabel 2.1 merupakan contoh kromosom dengan pengkodean biner.

Tabel 2.1 contoh pengkodean biner

Kromosom A 1101100100110110 Kromosom B 1101111000011110

Pengkodean biner memberikan banyak kemungkinan kromosom meskipun hanya memiliki jumlah nilai karakter yang sedikit, yaitu 0 atau 1. Contoh masalah yang sesuai untuk pengkodean biner antara lain masalah knapsack.

b. Pengkodean Permutasi

(43)

22

harus menghasilkan kromosom yang memiliki konsistensi urutan. Tabel 2.2 merupakan contoh kromosom dengan pengkodean permutasi.

Tabel 2.2 contoh pengkodean permutasi

Kromosom A 1 5 3 2 6 4 7 9 8

Kromosom B 8 5 6 7 2 3 1 4 9

c. Pengkodean Nilai

Pengkodean nilai dapat dipergunakan pada masalah yang mempunyai nilai yang rumit, dimana nilai yang dienkodekan (encoding) langsung merupakan representasi dari masalah. Contohnya adalah pengkodean data yang menggunakan angka real yang akan menjadi susah jika menggunakan pengkodean biner karena setiap angka real tidak dapat direpresentasikan secara tepat hanya dalam bentuk 0 atau 1. Tabel 2.3 merupakan contoh kromosom dengan pengkodean nilai.

Tabel 2.3 contoh pengkodean nilai

Kromosom A 1.2324 5.3243 0.4556 2.3293 2.4545

Kromosom B ABDJEFIGHJKLMNO

Kromosom C (back), (back), (right), (forward), (left)

(44)

23

Pengkodean nilai ini sangat baik untuk beberapa masalah khusus, di lain sisi perkawinan silang dan mutasi yang diperlukan untuk pengkodean ini seringkali memerlukan pengembangan tersendiri yang lebih spesifik pada masalah.

2.2.5 Operator Algoritma Genetika

Operator-operator dalam algoritma genetika yang sering digunakan adalah:

2.2.5.1 Seleksi

Seleksi akan menentukan individu-individu mana saja yang akan dipilih untuk dilakukan rekombinasi dan bagaimana offsring (keturunan) terbentuk dari individu-individu terpilih. Yang menjadi permasalahan adalah bagaimana cara memilih kromosom untuk dijadikan orang tua. Berdasarkan teori evolusi Darwin, kromosom yang terbaik harusnya dapat bertahan hidup dan membentuk keturunan baru. Ada beberapa jenis metode seleksi, yaitu :

a. Seleksi Roda Roulette (Roulette Wheel)

Pada metode seleksi ini, orang tua yang dipilih berdasarkan nilai fitness-nya, semakin baik nilai fitness-nya maka semakin besar

(45)

24

Kromosom Fitness

A 15

B 5

C 10

D 5

E 5

Gambar 2.4 Contoh Seleksi Roda Roulette

Probabilitas untuk masing-masing individu merupakan hasil pembagian antara fitness masing-masing individu dengan total fitness dalam populasi. Dari contoh diatas, kromosom A memiliki probabilitas 37,5% untuk terpilih sebagai orang tua pembentuk keturunan baru pada setiap pemilihan kromosom. Secara algoritma, seleksi roda roulette dapat dituliskan sebagai berikut :

begin

// jumlahkan fitness semua kromosom dari populasi P

s = sumfitness (P);

Skema seleksi dengan roda roulette ini adalah berdasarkan skala fitness. Karena terpilihnya suatu kromosom dalam populasi untuk

dapat berkembang biak adalah sebanding dengan fitness-nya, maka akan terjadi semacam tradeoff antara ekplorasi dan eksplotasi jika terdapat satu atau kelompok kecil kromosom yang mempunyai fitness yang baik yaitu antara mengekplorasi bagian-bagian baru dalam ruang

A B 37.5 12.5

(46)

25

pencarian, atau terus mengekplotasi informasi yang telah diperoleh. Kecendrungan kromosom yang baik untuk terpelihara terus dapat membawa ke hasil optimum lokal bukan global. Sebaliknya jika semua kromosom dalam populasi mempunyai fitness yang hampir sama, maka seleksi ini akan menjadi seleksi yang bersifat acak.

b. Seleksi Rangking

Seleksi rangking pertama yang dilakukan adalah merangking atau mengurutkan kromosom di dalam populasi berdasarkan fitness-nya kemudian memberi nilai fitness baru berdasarkan urutannya. Kromosom dengan nilai terburuk akan memiliki fitness baru bernilai 1, terburuk kedua bernilai 2, dan seterusnya, sebagai kromosom yang memiliki fitness terbaik akan memiliki nilai fitness n, dimana n adalah jumlah kromosom dalam populasi. Setelah proses pengurutan dan pemberian nilai fitness baru, setiap kromosom akan memiliki kesempatan yang lebih adil untuk terpilih. Tetapi metode ini dapat menyebabkan konvergensi menjadi lambat, karena kromosom terbaik tidak selalu berbeda dengan yang lainnya. Tabel 2.4 merupakan contoh dari roda roulette.

Tabel 2.4 Seleksi Rangking

Kromosom Fitnes Kromosom Fitnes Fitness baru

A 15 B 5 1

(47)

26

C 10 E 5 3

D 5 C 10 4

E 5 A 15 5

c. Seleksi Turnamen

Seleksi turnamen merupakan jenis seleksi yang divariasi berdasarkan seleksi roda roulette dan seleksi rangking. Sejumlah k kromosom tertentu dari populasi beranggota n kromosom (k n) dipilih secara acak dengan prioritas yang sama. Dari k kromosom yang terpilih kemudian akan dipilih satu kromosom dengan fitness terbaik, yang diperoleh dari hasil pengurutan rangking fitness semua kromosom terpilih.

Perbedaannya dengan seleksi roda roulette adalah pemilihan kromosom yang akan dipergunakan untuk berkembang biak tidak berdasarkan skala fitness dari populasi. Untuk k=1, seleksi turnamen akan sama dengan seleksi secara acak karena hanya melibatkan satu kromosom. Untuk k=2, maka dua kromosom dari populasi secara acak, kemudian akan dipilih satu kromosom dengan nilai fitness terbaik. Biasanya yang sering digunakan adalah k = 2, tergantung dari jumlah kromosom yang terdapat di dalam populasi.

2.2.5.2 Perkawinan Silang (Crossover)

(48)

27

dalam algoritma genetika dibandingkan dengan operator mutasi. Jumlah kromosom yang terlibat adalah 2 kromosom.

Perkawinan silang dilakukan dengan harapan kromosom-kromosom baru akan mempunyai bagian baik dari kromosom-kromosom lama dan tidak menutup kemungkinan menjadi kromosom-kromosom yang lebih baik. Ada beberapa pekawinan silang:

a. One Point Crossover

Satu titik pindah silang dipilih, string baru dibentuk sebagian dari induk pertama (dari awal srting sampai titik pindah silang), sisanya dari induk kedua. Contoh :

induk 1 1 2 3 4 5 | 6 7 8 induk 2 9 10 11 12 13 | 14 15 16

Anak 1 1 2 3 4 5 | 14 15 16 Anak 2 9 10 11 12 13 | 6 7 8

b. Two Point Crossover

Pilih dua titik pindah silang, string baru dibentuk sebagian dari induk pertama (dari awal string sampai titik pindah silang pertama), antara titik pindah silang dari induk kedua, dan dari titik pindah silang kedua sampai akhir dari induk pertama.

(49)

28

induk 1 1 2 | 3 4 5 | 6 7 8 induk 2 9 10 | 11 12 13 | 14 15 16 Anak 1 1 2 | 11 12 13 | 6 7 8 Anak 2 9 10 | 3 4 5 | 14 15 16

c. Uniform Crossover

String dibentuk dengan mengambil bagian dari induk pertama atau induk kedua secara acak.

Contoh :

induk 1 1 2 3 4 5 6 7 8 induk 2 9 10 11 12 13 14 15 16

Anak 1 2 9 10 5 6 12 14

d. Aritmmetic Crossover

String baru dibentuk dengan melakukan operasi aritmatika (operasi OR) pada induknya.

Contoh :

induk 1 1 2 8 4 5 12 7 (0001 0010 1000 0100 0101 1100 0111)

induk 2 8 9 2 10 12 4 13 (1000 1001 0010 1010 1100 0100 1101)

(50)

29

Pada proses pindah silang untuk pengkodean permutasi ada kemungkinan pindah silang menghasilkan sebuah kromosom dengan dua atau lebih allele yang sama.

Contohnya adalah sebagai berikut:

induk 1 1 2 3 4 | 5 6 7 8 induk 2 3 5 7 9 | 4 6 8 0

Anak 1 2 3 4 | 4 6 8 0

2.2.5.3 Mutasi

Mutasi merupakan proses mengubah nilai dari 1 atau beberapa gen dalam satu kromosom. Tujuannya adalah untuk membantu mempercepat terjadinya perbedaan diantara semua kromosom dalam populasi sehingga pencarian dapat menjelajah keseluruh ruang pencarian, tetapi mutasi tidak boleh terlalu sering dilakukan karena akan membuat algoritma genetika berubah menjadi pencarian acak.

(51)

30

Contoh :

Kromosom Orang tua : 1 2 3 4 5 6 8 9 7

Kromosom Keturunan : 1 8 3 4 5 6 2 9 7

2.2.6 Parameter Genetika

a. Probabilitas Crossover

Probabilitas atau peluang crossover ini menunjukkan rasio dari kromosom anak yang dihasilkan dengan ukuran populasinya dalam setiap generasi. Probabilitas crossover ini juga dapat menunjukkan jumlah kromosom dalam populasi yang akan mengalami crossover pada setiap generasi. Biasanya besarnya probabilitas crossover berkisar antara 20 – 80%.

b. Probabilitas Mutasi

Probabilitas mutasi merupakan representasi dari jumlah total gen pada populasi yang akan mengalami mutasi. Besarnya probabilitas mutasi biasanya berkisar antara 0.5 – 1%.

c. Ukuran Populasi

(52)

31

BAB III

ANALISA DAN PERANCANGAN SISTEM

3.1 Definisi Masalah

3.1.1 Analisa Sistem

Proses penjadwalan kuliah di jurusan Teknik Informatika Universitas

Sanata Dharma masih menggunakan cara manual. Dalam proses

penjadwalan kuliah ini menyangkut penempatan mata kuliah yang

ditawarkan pada hari, ruang dan jam tertentu. Permasalahan yang dihadapi

dalam proses pembuatan jadwal kuliah antara lain, bagaimana pada hari,

ruang dan jam yang sama tidak ada dua atau lebih kelas mata kuliah yang

diajarkan, bagaimana dalam hari dan jam yang sama tidak ada satu orang

dosen yang mengajar dua mata kuliah bersamaan. Proses seperti ini dapat

saja dilakukan secara manual namun penanganan seperti ini akan

mengalami banyak hambatan terutama dalam hal ketelitian dan juga

membutuhkan waktu yang lama.

3.1.2 Gambaran Umum Sistem Yang Dibuat

Untuk mengatasi permasalahan dari proses sistem manual, maka

diperlukan suatu sistem lain yang dapat menangani hal tersebut, agar

didapatkan suatu informasi yang cepat dan tepat. Persoalan penjadwalan

kuliah ini dapat diselesaikan menggunakan algoritma genetika. Algoritma

(53)

32

optimasi yang berdasarkan pada mekanisme seleksi alami dan sifat genetika.

Dari data yang ada, berupa data hari, data ruang, data jam, data dosen dan

data mata kuliah yang ditawarkan dapat diarahkan untuk pembentukan

kromosom-kromosom sebagai populasi awal, yang akan mewakili berbagai

kemungkinan jadwal kuliah yang akan terbentuk. Dari berbagai

kemungkinan jadwal kuliah yang terbentuk akan dipilih beberapa jadwal

kuliah yang terbaik yang akan dijadikan sebagai kromosom induk. Dari

kromosom-kromosom induk ini akan dikembangkan dalam perkawinan

silang dan mutasi, yang nantinya diharapkan akan memberikan keturunan

yang baik sebagai hasil akhir.

Flowchart sistem yang akan dibuat tampak pada gambar 3.1

(54)

33

Flowchart Algoritma Genetika:

(55)

34

3.2 Perancangan Antarmuka

3.2.1 Perancangan Menu

Gambar 3.3 Perancangan Menu

3.2.2 Perancangan Input dan Output

3.2.2.1 Perancangan Input

a. Rancangan Form Utama

SPPK Penjadwalan Kuliah Dengan Algortima Genetika

Data Penjadwalan Keluar

LOGO

Gambar 3.4 Perancangan Form Utama

Form utama yang terdiri dari beberapa menu yaitu Data, Penjadwalan,

(56)

35

Data Dosen, Data Ruang untuk dan Data Kelas. Sementara menu

Penjadwalan terdapat sub menu proses Pembuatan jadwal, dan menu

Keluar untuk keluar dari program.

b. Rancangan Form Data Matakuliah

Gambar 3.5 Perancangan Form Data Matakuliah

Form Data Matakuliah berfungsi untuk memasukan data mata kuliah.

Data-data mata kuliah meliputi kode matakuliah, nama matakuliah, sks,

dan semester. Didalam form ini terdapat beberapa button yaitu: Button

Tambah untuk memasukkan (menambah) data matakuliah. Button Edit

untuk meng-edit data matakuliah, dengan cara memilih terlebih dahulu

data yang akan di-edit, kemudian klik button Edit. Button Hapus

digunakan bila ingin menghapus data matakuliah, dengan cara memilih

terlebih dahulu data yang ingin dihapus kemudian klik button Hapus. Dan

(57)

36

c. Rancangan Form Data Dosen

Gambar 3.6 Perancangan Form Data Dosen

Form Data Dosen berfungsi untuk memasukkan data dosen. Data-data

dosen meliputi kode dosen, nama dosen dan prodi. Setelah semua data

telah diisi, data-data tersebut akan disimpan kedalam tabel dosen. Pada

form ini terdapat beberapa button yaitu: Button Tambah untuk

memasukkan (menambah) data dosen. Button Edit untuk mengedit data

dosen, dengan cara memilih terlebih dahulu data yang akan diedit,

kemudian klik button Edit. Button Hapus digunakan jika ingin menghapus

data dosen, dengan cara memilih terlebih dahulu data yang ingin dihapus

kemudian klik button Hapus. Button Preview digunakan untuk melihat

(58)

37

d. Rancangan Form Data Ruang

Gambar 3.7 Perancangan Form Data Ruang

Form Data Ruang berfungsi untuk memasukkan data ruang. Data

ruang meliputi kode ruang dan nama ruang. Terdapat beberapa Button

yaitu, button Tambah untuk memasukkan (menambah) data dosen. Button

Edit untuk mengedit data dosen, dengan cara memilih terlebih dahulu data

yang akan diedit, kemudian klik buttonEdit. Button Hapus digunakan jika

ingin mengahapus data dosen. Button Preview digunakan untuk melihat

(59)

38

e. Rancangan Form Data Kelas Matakuliah

Gambar 3.8 Perancangan Form Data Kelas Matakuliah

Form Data Kelas Matakuliah berfungsi untuk memasukkan data

kelas matakuliah. Setelah semua data telah diisi, data-data tersebut

akan disimpan kedalam tabel kelas. Pada form ini terdapat beberapa

Button yaitu, button Tambah untuk memasukkan (menambah) data

kelas matakuliah. Button Edit digunakan untuk mengedit data kelas

matakuliah, dengan cara memilih terlebih dahulu data yang akan

diedit, kemudian klik Button Edit. Button Hapus digunakan jika ingin

menghapus data kelas matakuliah, dengan cara memilih terlebih

dahulu data yang ingin dihapus kemudian klik Button Hapus. Button

(60)

39

f. Rancangan Form Proses Penjadwalan

Gambar 3.9 Perancangan Form Proses Algortima Genetika

Form proses penjadwalan kuliah ini digunakan untuk melakukan

proses algortima genetika dalam membuat jadwal kuliah. Form ini

dapat bekerja jika data matakuliah, data dosen, data ruang dan data

kelas matakuliah sudah diisi. Pada form proses penjadwalan ini

terdapat empat button yaitu, Generate, Start, Stop dan Preview. Untuk

membuat jadwal kuliah pengguna pertamakali mengklik button

Generate, kemudian button Start untuk memulai proses. Button

Preview digunakan untuk melihat jadwal kuliah dari hasil proses

algortima genetika. Dan button Stop digunakan jika pengguna ingin

(61)

40

(%) berisi Crossover dan Mutasi, probabilitas crossover dan mutasi

dapat diubah dalam rentangan antara 0% - 100% ketika button

Generate diklik terlebih dahulu. Sedangkan Target Fitness berisi

tujuan yang ingin dicapai dalam proses algortima genetika, yaitu berisi

nol (0) angka maksimal dari nilai fitness.

3.3 Perancangan Basisdata

3.3.1 ER Diagram

Gambar 3.10 ER Diagram

! "

# $

#

$

"

(62)

41

3.3.2 Perancangan Tabel

a. Tabel Matakuliah

Tabel 3.1 Tabel Matakuliah

Field Name Type Size Key

kode_mk char 6 *

nama_mk char 27

Sks char 1

Semester char 3

b. Tabel Dosen

Tabel 3.2 Tabel Dosen

Field Name Type Size Key

id_dosen Char 9 *

nama_dosen Char 25

prodi Char 25

c. Tabel Kelas Matakuliah

Tabel 3.3 Tabel Kelas

Field Name Type Size Key

kode_kelas Char 2 *

kode_mk Char 6

kelas Char 1

(63)

42

3.4 Perancangan Algoritma Genetika dalam Penjadwalan Mata Kuliah

a. Representasi Masalah

Dalam menyelesaikan masalah penjadwalan mata kuliah dengan

algoritma genetika, yang harus dilakukan adalah membawa permasalahan

penjadwalan kuliah ke dalam bentuk yang dapat dimengerti oleh algoritma

genetika atau mengkodekan masalah menjadi kode-kode tertentu. Dalam

penjadwalan kuliah ini untuk membentuk sebuah model kromosom

menggunakan pengkodean dengan cara permutasi. Model kromosom akan

dibangun dari komponen dalam penjadwalan mata kuliah.

Penjadwalan mata kuliah memiliki beberapa komponen yaitu mata

kuliah, dosen, hari, jam, dan ruang, dan memiliki beberapa aturan-aturan

untuk mengatur pembuatan penjadwalan mata kuliah. Keempat komponen

yaitu mata kuliah, ruang, hari, dan jam akan digunakan sebagai pembentuk

model kromosom. Kromosom akan dibangun dengan menempatkan setiap

mata kuliah pada hari, ruang, dan jam tertentu, di mana hari, ruang dan

jam terlebih dahulu diarahkan menjadi sebuah kode.

Kumpulan beberapa gen membentuk kromosom. Masing masing

gen menempati hari, ruang dan jam tertentu. Panjang sebuah kromosom

merupakan jumlah hasil kali antara jumlah hari, jumlah ruang, dan jumlah

jam. Jumlah gen yang terbentuk diperoleh dari perhitungan dengan

rumus:

(64)

43

Keterangan :

K adalah jumlah gen

H adalah jumlah hari yang digunakan untuk perkuliahan

R adalah jumlah ruangan yang digunakan untuk perkuliahan

W adalah jumlah waktu yang digunakan dalam perkuliahan

Sebagai contoh : untuk menjadwalkan 7 matakuliah dengan 2

hari, 2 ruang, dan 5 waktu untuk perkuliahan.

Jumlah gen = 2 * 2* 5

= 20

Jika diilustrasikan pengkodean sebuah kromosom, tampak seperti gambar

3.11 berikut ini :

Hari ke-1 Hari ke-2

1 0 3 0 0 0 2 0 4 0 5 0 0 7 0 0 6 0 0 0

Ruang 1 Ruang 2 Ruang 1 Ruang 2

Jam ke-1 Jam ke-4 jam ke-2 jam ke-4

Jam ke-2 Jam ke-4 jam ke-1 jam ke-5

(65)

44

Gambar 3.11 menunjukkan bahwa setiap gen kromosom ditempati

satu matakuliah, dimana nilai 1-7 merupakan kode urutan kelas

matakuliah. Dan bila diartikan untuk matakuliah 1-7 yaitu :

Tiap kotak mempresentasikan = [Matakuliah; Hari; Ruang; Jam]

Jadi untuk,

kotak ke-1 1 = [1; 1; I; 01]

[Matakuliah 1; Hari ke-1; Ruang I;Jam ke- 1]

kotak ke-3 3 = [3; 1; I; 03]

[Matakuliah 3; Hari ke-1; Ruang I;Jam ke- 3]

kotak ke-7 2 = [2; 1; I; 01]

[Matakuliah 2; Hari ke-1; Ruang II;Jam ke- 2]

kotak ke-9 4 = [4; 1; II; 01]

[Matakuliah 4; Hari ke-2; RuangI I;Jam ke- 4]

kotak ke-11 5 = [5; 2; II; 04]

[Matakuliah 5; Hari ke-2; Ruang I;Jam ke- 1]

Kotak ke-14 7 = [7; 2; I; 04]

[Matakuliah 7; Hari ke-2; Ruang I; Jam ke-4]

Kotak ke-17 6 = [6; 2; I; 01]

(66)

45

b. Pembentukan Kromosom

Langkah pertama dalam proses penjadwalan kuliah dengan algoritma

genetika adalah membuat populasi awal sebanyak 10 kromosom. Kromosom

akan dibangkitkan secara acak untuk menempatkan mata kuliah pada setiap

hari, ruang, dan jam tertentu.

c. Pencarian Nilai Fitness untuk masing-masing Kromosom

Dilakukan operasi pencarian nilai fitness tehadap kromosom-kromosom

yang telah terbentuk. Nilai fitness merupakan tingkat kesesuaian suatu

krosomsom setelah dilakukan evaluasi susunan kromosomnya. Nilai fitness

ini yang menetukan kualitas suatu kromosom, apakah kromosom itu

mempunyai kualitas baik atau buruk. Nilai fitness dari tiap kromosom

diperoleh dari pelanggaran terhadap aturan-aturan yang telah ditentukan, jika

nilai fitness=0 maka nilai fitness adalah optimal. Nilai fitness dikatakan

optimal jika tidak terjadi pelanggaran terhadap aturan-aturan yang telah

ditetapkan.

Sehingga dapat dirumuskan sebagai berikut :

Total Nilai Fitness = Pelanggaran………. (III.2)

Dimana :

(67)

46

Tabel 3.4 Aturan – aturan penjadwalan kuliah

Aturan :

1 Dua atau lebih kelas matakuliah yang

berbeda tidak dapat berada pada hari, ruang

dan jam yang sama.

Pelanggaran = 1, jika

ada dua matakuliah pada hari, jam

dan ruang yang sama.

2 Tidak boleh ada dua atau lebih kelas

matakuliah dengan satu orang dosen

pengajar dalam waktu bersamaan

Pelanggaran = 1, jika

ada mata kuliah yang diajar oleh

satu dosen dalam waktu yang

bersamaan.

3 Kelas tunggal tidak boleh berada pada hari,

dan jam yang sama dengan kelas matakuliah

dalam satu semester yang sama.

Pelanggaran = 1, jika

ada kelas tunggal berada pada hari

dan jam yang sama dengan

matakuliah lain dalam satu

semester sama.

4 Jumlah matakuliah dalam satu semester

yang sama tidak boleh lebih dari 3, dihari

yang sama

Pelanggaran = 1, jika

Jumlah mata kuliah yang

diselenggarakan pada hari yang

sama dalam satu paket > 3

d. Pemilihan Kromosom untuk dijadikan orang tua

Pemilihan kromosom untuk dijadikan orang tua dilakukan berdasarkan nilai

fitness dari masing-masing kromosom. Orang tua dipilih dari kromosom yang

mempunyai nilai fitness yang terbaik. Seleksi yang digunakan untuk pemilihan

adalah seleksi roda roulette (roulette wheel selection). Secara umum cara kerja

dari seleksi roda roulette adalah semua kromosom yang telah dicari nilai

(68)

47

ditentukan dari nilai fitnessnya, semakin kecil nilai fitness dari suatu kromosom

maka semakin luas tempat dari kromosom tersebut dalam lingkaran, sehingga

kromosom yang mempunyai nilai fitness yang kecil mempunyai kemungkinan

besar untuk dapat terpilih. Selanjutnya roda roulette akan diputar, dan roda

roulette akan menunjuk kromosom yang dipilih. Anggota-anggota populasi yang

terpilih ini akan dijadikan orang tua yang nantinya akan dikenakan operasi

persilangan dan operasi mutasi untuk mendapatkan kromosom yang lebih baik

dari pada sebelumnya.

e. Proses Reproduksi untuk mendapatkan Kromosom baru

Operasi persilangan dan operasi mutasi digunakan untuk mendapatkan

kromosom yang lebih baik dari induknya. Operasi persilangan merupakan

proses penggabungan dua kromosom (dua orang tua yang terpilih) untuk

menghasilkan dua individu yang baru, sedangkan operasi mutasi merupakan

proses pengubahan pada satu bagian (gen) dari sebuah kromosom yang

terpilih untuk menghasilkan individu baru. Dan nantinya individu-individu

hasil persilangan maupun mutasi akan ditentukan juga nilai fitnes-nya.

3.5 Penerapan Algortima Genetika

Untuk menjadwalkan 59 matakuliah dengan :

• 5 hari

• 7 ruang kuliah

(69)

48

Data yang dibutuhkan dalam penjadwalan kuliah

Matakuliah

Tabel 3.5 Contoh Data Matakuliah

KodeMK Nama_Mata_Kuliah Sk

s

JP Semester

TIF001 Pengantar Data Statistik 2 2 II

TIF002 Matematika Diskret 3 3 II

TIF003 Organisasi Komputer 3 3 II

TIF004 Komunikasi Data 3 3 II

TIF005 Metode Numerik 3 3 II

TIF006 Pemrograman Berorientasi Objek I 3 3 II

USD001 Filsafat Moral 2 2 II

USD002 Teologi Moral 2 2 II

TIF007 Analisis Kebutuhan PL 3 3 IV

TIF008 Analisis Algo 3 3 IV

TIF009 Transmisi Data 3 3 IV

TIF010 Sistem Operasi 3 3 IV

TIF011 Struktur Data II 3 3 IV

TIF012 Pemrograman Basis Web 3 3 IV

USD003 Pendidikan Pancasila 2 2 IV

USD004 Bahasa Indonesia 2 2 IV

USD005 Filsafat Ilmu Pengetahuan 2 2 VI

TIF013 Proyek RPL 3 3 VI

TIF014 Simulasi Model 3 3 VI

TIF015 BasisData Lanjut 3 3 VI

TIF016 Animasi Komputer 3 3 VIII

TIF017 Pengujian Perangkat Lunak 3 3 VIII

(70)

49

TIF019 SPPK 3 3 VIII

TIF020 Manajemen Resiko PL 3 3 VIII

TIF021 BasisData Multimedia 3 3 VIII

TIF022 Penambangan Data 3 3 VIII

TIF023 Pemrograman Client Server 3 3 VIII

TIF024 Jaringan Saraf Tiruan 3 3 VIII

TIF025 Basis Data Terdistribusi 3 3 VIII

Dosen

Tabel 3.6 Contoh Data Dosen

id_dosen nama_dosen prodi

d1-001 Puspanigtyas TI

d1-002 A.M Polina TI

d1-003 Ridowati TI

d1-004 Agung Hermwan TI

d1-005 St. Yudianto TI

d1-006 Budi Dharmawan TI

d1-007 Albertus Agung TI

d1-008 Stevanus Wisnu TI

d1-009 Merry TI

d1-010 Antok TI

d2-001 PH Prima Rosa TI

d2-002 St Eko Hari TI

d2-003 Sri Hartanti TI

d2-004 Iwan Binanto TI

d2-005 A Rita Widiarti TI

d2-006 Rm. Kun TI

(71)

50

d2-008 Joko TI

d3-001 Any Umum

d3-002 Esti Umum

d3-003 Yanto Umum

d3-004 Chandra Umum

d3-005 Heri Umum

d3-006 Atmadi Umum

Hari

Tabel 3.7 Contoh Data Hari

No. Nama Hari

1 Senin

2 Selasa

3 Rabu

4 Kamis

5 Jumat

Ruang

Tabel 3.8 Contoh Data Ruang

No. Nama Hari

1 K-204

2 K-205

3 K-206

4 K-207

5 K-208

6 K-310

(72)

51

Jam

Tabel 3.9 Contoh Data Jam

No. Nama_Jam

1 07.00

2 08.00

3 09.00

4 10.00

5 11.00

6 12.00

7 13.00

8 14.00

9 15.00

10 16.00

Kelas Kuliah

Tabel 3.10 Contoh Data Kelas Mata Kuliah

Kode

Kelas

KodeMK Nama_Mata_Kuliah Kelas Id_dose

n

Semeste

r

1 TIF001 Pengantar Data Statistik A d1-008 II

2 TIF001 Pengantar Data Statistik B d2-006 II

3 TIF001 Pengantar Data Statistik C d1-009 II

4 TIF001 Pengantar Data Statistik D d1-009 II

5 TIF001 Pengantar Data Statistik E d2-006 II

6 TIF002 Matematika Diskret A d1-007 II

7 TIF002 Matematika Diskret B d1-007 II

8 TIF002 Matematika Diskret C d2-002 II

9 TIF003 Organisasi Komputer A d1-005 II

(73)

52

11 TIF003 Organisasi Komputer C d1-005 II

12 TIF004 Komunikasi Data A d1-010 II

13 TIF004 Komunikasi Data B d1-010 II

14 TIF004 Komunikasi Data C d1-004 II

15 TIF005 Metode Numerik A d1-009 II

16 TIF005 Metode Numerik B d1-009 II

17 TIF005 Metode Numerik C d2-002 II

18 TIF006 Pemrograman Berorientasi Objek I A d2-003 IV

19 TIF006 Pemrograman Berorientasi Objek I B d1-006 IV

20 TIF006 Pemrograman Berorientasi Objek I C d2-001 IV

21 USD001 Filsafat Moral A d3-003 IV

22 USD002 Teologi Moral A d3-002 IV

23 USD002 Teologi Moral B d3-002 IV

24 TIF007 Analisis Kebutuhan PL A d1-001 IV

25 TIF007 Analisis Kebutuhan PL B d1-001 IV

26 TIF008 Analisis Algo A d2-003 IV

27 TIF009 Transmisi Data A d2-007 IV

28 TIF010 Sistem Operasi A d1-004 IV

29 TIF010 Sistem Operasi B d1-004 IV

30 TIF010 Sistem Operasi C d2-004 IV

31 TIF011 Struktur Data II A d2-003 IV

32 TIF011 Struktur Data II B d2-003 IV

33 TIF012 Pemrograman Basis Web A d2-008 IV

34 TIF012 Pemrograman Basis Web B d2-008 IV

35 TIF012 Pemrograman Basis Web C d2-004 IV

36 TIF012 Pemrograman Basis Web D d2-004 IV

37 USD003 Pendidikan Pancasila A d3-001 IV

38 USD003 Pendidikan Pancasila B d3-001 IV

39 USD004 Bahasa Indonesia A d3-005 IV

(74)

53

41 USD004 Bahasa Indonesia C d3-004 IV

42 USD005 Filsafat Ilmu Pengetahuan A d3-005 VI

43 TIF013 Proyek RPL A d1-003 VI

44 TIF013 Proyek RPL B d1-002 VI

45 TIF013 Proyek RPL C d2-001 VI

46 TIF013 Proyek RPL D d1-002 VI

47 TIF014 Simulasi Model A d2-002 VI

48 TIF015 BasisData Lanjut A d1-003 VI

49 TIF015 BasisData Lanjut B d1-002 VI

50 TIF016 Animasi Komputer A d2-004 VIII

51 TIF017 Pengujian Perangkat Lunak A d1-008 VIII

52 TIF018 Pemrosesan Citra A d2-008 VIII

53 TIF019 SPPK A d2-001 VIII

54 TIF020 Manajemen Resiko PL A d1-008 VIII

55 TIF021 BasisData Multimedia A d1-002 VIII

56 TIF022 Penambangan Data A d2-006 VIII

57 TIF023 Pemrograman Client Server A d1-001 VIII

58 TIF024 Jaringan Saraf Tiruan A d2-006 VIII

59 TIF025 Basis Data Terdistribusi A d1-006 VIII

1. Pembangkitan Kromosom

Panjang Kromosom = Jumlah hari * Jumlah ruang * jumlah jam

= 5*7*10

= 350

Jumlah gen untuk sebuah kromosom = 350

Tiap gen dalam sebuah kromosom menyatakan hari, ruang dan jam

tertentu. Dan sebuah gen dinyatakan dengan sebuah kotak. Oleh karena

(75)

54

Dan untuk gen yang kosong diisi dengan 0 (nol). Hal ini dilakukan untuk

mengatasi permasalahan dalam perhitungan fitness, proses crossover dan

mutasi.

Untuk populasi awal dibangkitkan 10 kromosom secara acak (masing-

(76)

55

Kromosom 1- 10, Gen 1-25

Tabel 3.11 Kromosom 1- 10, Gen 1-25 Gen

Kromososm 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

1 0 0 0 0 39 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0

2 0 0

Gambar

Gambar 2.1 Model Konseptual SPPK
Gambar 2.3 Struktur Umum Algoritma Genetika
Tabel 2.2 contoh pengkodean permutasi
Gambar 3.1 Flowchart Sistem
+7

Referensi

Dokumen terkait

Hasil penelitian ditemukan 1) manajemen pembelajaran bahasa Indonesia yang dilaksanakan di Madrasah Ibtidaiyah Negeri Tempel dan Sultan Agung antara lain guru menyiapkan

Berdasarkan hasil dan pembahasan di atas, maka dapat disimpulkan bahwa kerapatan dan kerusakan stomata daun mangga (Mangifera indica) dapat dipengaruhi oleh kondisi

Naskah skripsi beIjudul Pengaruh Tayangan Iklan Melalui Media Televisi Terhadap Sikap Mahasiswi PTS Atas Produk SunSilk Extra Mild Di Surabaya yang ditulis oleh..

Menimbang, bahwa berdasarkan fakta-fakta tersebut dapat disimpulkan bahwa Pemohon I yang bernama PEMOHON I dan Pemohon II yang bernama PEMOHON II sebagaimana yang

Bibit Jati dengan pemberian aquasorb jenis A dan B tidak memiliki perbedaan yang signifikan dalam mencapai waktu layu awal, tengah dan akhir sama halnya terhadap parameter

Perubahan penggunaan lahan merupakan suatu proses bertambah atau berkurangnya luas suatu penggunaan lahan dari satu penggunaan dalam kurun waktu tertentu atau

Dari hasil analisis tegangan, terlihat bahwa semakin tebal dimensi doubler maka tegangan yang terjadi pada doubler tersebut akan cenderung turun hal ini karena

Konsep ini akan diaplikasikan pada posisi teks yang berlawanan serta berisikan peraturan pemerintah yang melarang kegiatan mengemis, memberikan sesuatu pada