• Tidak ada hasil yang ditemukan

Penjadwalan Perkuliahan Dengan Menggunakan Algoritma Genetika (Studi Kasus: S-1 Ilmu Komputer Universitas Sumatera Utara)

N/A
N/A
Protected

Academic year: 2016

Membagikan "Penjadwalan Perkuliahan Dengan Menggunakan Algoritma Genetika (Studi Kasus: S-1 Ilmu Komputer Universitas Sumatera Utara)"

Copied!
140
0
0

Teks penuh

(1)

PENJADWALAN PERKULIAHAN DENGAN MENGGUNAKAN ALGORITMA GENETIKA ( STUDI KASUS S-1 ILMU KOMPUTER

UNIVERSITAS SUMATERA UTARA )

SKRIPSI

MARTINELLY SEMBIRING

091401012

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

PENJADWALAN PERKULIAHAN DENGAN MENGGUNAKAN ALGORITMA GENETIKA (STUDI KASUS S-1 ILMU KOMPUTER USU)

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer

MARTINELLY SEMBIRING 091401012

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : PENJADWALAN PERKULIAHN DENGAN

MENGGUNAKAN ALGORITMA GENETIKA (STUDI KASUS S-1 ILMU KOMPUTER UNIVERSITAS SUMATERA UTARA)

Katagori : SKRIPSI

Nama : Martinelly Sembiring Nomor Induk Mahasiswa : 091401012

Program Studi : SARJANA (S1) ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI UNIVERSITAS SUMATERA UTARA Diluluskan di

Medan, Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Handrizal, S.Si, M.Comp.Sc Dr. Poltak Sihombing, M.Kom NIP: 196203171991031001 Diketahui/Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

(4)

PERNYATAAN

PENJADWALAN PERKULIAHAN DENGAN MENGGUNAKAN ALGORITMA GENETIKA (STUDI KASUS: S-1 ILMU KOMPUTER UNIVERSITAS

SUMATERA UTARA)

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 15 Mei 2013

(5)

PENGHARGAAN

Pertama-tama penulis ingin mengucapkan puji syukur ke hadirat Tuhan yang Maha Esa karena atas limpahan rahmat-Nya penulis dapat menyelesaikan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi S1 Ilmu Komputer.

Selama mengerjakan skripsi Penjadwalan Perkuliahn Dengan Menggunakan Algoritma (Studi Kasus S-1 Ilmu Komputer Universitas Sumatera Utara), penulis menyadari ada banyak masalah yang sulit dipecahkan. Namun berkat bantuan dari semua pihak, skripsi ini dapat selesai dengan lancar. Untuk itu pada kesempatan ini penulis mengucapkan banyak terima kasih kepada:

1. Prof. Dr. dr. Syahril Pasaribu, DTM&H, MSc(CTM). Sp.A(K), selaku rektor Universitas Sumatera Utara.

2. Prof. Dr. Muhammad Zarlis, selaku Dekan Fasilkom-TI (Fakultas Ilmu Komputer dan Teknologi Informasi) Universitas Sumatera Utara

3. Dr.Poltak Sihombing, M.Kom selaku kepala Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara dan selaku dosen pembimbing pertama yang telah banyak membantu selama bimbingan kepada penulis.

4. Maya Silvi Lydia,B.Sc,M.Sc selaku sekretaris Program Studi S-1 Ilmu Komputer Universitas Sumatera Utara.

5. Handrizal, S.Si, M.Comp.Sc selaku dosen pembimbing kedua yang telah banyak membantu selama bimbingan kepada penulis.

6. Dian Rachmawati S.Kom, M.Kom selaku dosen pembanding pertama yang telah banyak memberikan masukan kepada penulis.

7. Dian Wirdasari S.Kom, M.Kom selaku dosen pembanding kedua yang telah banyak memberikan masukan kepada penulis.

8. Kedua orang tua saya Prof.Dr.Timbangen Sembiring, M.Sc dan Pesta Ulina Br Tarigan yang telah banyak membrikan semangat kepada penulis hingga selesainya laporan skripsi ini serta kepada saudara-saudari penulis: Thomas Sembiring, ST, Meily Japani Artha Br sembiring, dan Ekalma Toto Alloy sembiring.

(6)

10.Staff pengajar, pegawai dan administrasi pada Program Studi S-1 Ilmu Komputer Fasilkom-TI Universitas Sumatera Utara yang telah memberikan bantuan dan pelayanan terbaik kapada penulis

11.Rekan mahasiswa/i Angkatan 2009 Program Studi S-1 Ilmu Komputer Fasilkom-TI Universitas Sumatera Utara yang telah banyak membantu penulis baik berupa dorongan semangat dan doa selama mengikuti perkuliahan Efrienni Tampubolon, Nurul, Arfi semua pihak yang tidak dapat penulis sebutkan satu persatu dalam skripsi ini, terimakasih atas segala bantuan dan doa yang diberikan. Dengan segala kekurangan dan kerendahan hati, sekali lagi penulis mengucapkan terima kasih. Semoga kiranya Tuhan yang membalas segala bantuan dan kebaikan yang telah kalian berikan.

Medan, Mei 2013 Martinelly Sembiring

(7)

ABSTRAK

Penjadwalan mata kuliah merupakan salah satu kegiatan dalam universitas yang membutuhkan banyak waktu untuk menyelesaikannya. Jadwal mata kuliah yang baik adalah jadwal yang memperhatikan semua komponen dasar penyusunnya. Komponen dasar terdiri atas dosen, mata kuliah, ruangan, dan jam kuliah. Permasalahan yang sering terjadi dikegiatan penjadwalan yaitu adanya bentrok antara jadwal yang satu dengan yang lain. Untuk mencari alternatif dari penjadwalan digunakan algoritma genetika, yaitu algoritma yang menyelesaikan masalah dengan melakukan pemodelan mekanisme evolusi biologis. Kombinasi parameter genetika yang digunakan adalah seleksi turnamen, kawin silang satu titik, dan mutasi. Aplikasi ini dibangun dengan menggunakan pemrograman java Dari penggunaan algoritma genetika dalam penyelesaian masalah ini, diharapkan dapat menjadi alternatif untuk penjadwalan.

(8)

IMPLEMENTATION OF GENETIC ALGORITHM IN LECTURE TIMETABLING

ABSTRACT

Lecture timetabling is one of task in university that takes too much time to complete. A good lecturer timetabling is timetabling that includes all basic components. those components are: lecturer, lecture, class, and time. Problems that often occurred on timetabling is a crash between one timetabling with another. To seek alternative of timetabling is by implemented genetic algorithm, is algorithm that solve problem using mechanism of biological evolution. Combination of genetic parameters used are tournament selection, crossover one point, and mutation. Using genetic algorithm in solving this problem is expected to be an alternative in lecturer timetabling.

(9)

DAFTAR ISI

HALAMAN

Persetuajuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Datftar isi viii

Daftar Tabel xi

Daftar Gambar xiv

BAB I Pendahuluan

1.1 Latar Belakang 1

1.2 Rumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 4

1.5 Manfaat penelitian 4

1.6 Metode Penelitian 4

1.7 Sistematika Penulisan 5

BAB 2 Landasan Teori

2.1 Penjadwalan 7

2.2 Algoritma Genetika 8

(10)

2.2.1.1 Pengkodean 13

BAB 3 Analisis Perancangan Sistem 23

3.1 Analisi kebutuhan Perangkat Lunak 23 3.1.1 Metode Analisis 23 3.2 Hasil analisis Penjadwalan dengan Algoritma Genetika 25

3.2.1 Teknik Pengkodean 25

3.2.2. Menetukan PopulasiAwal dan Inisialisasi kromosom 25

(11)

3.3.2 Aturan Umum Penjadwalan 37 3.3.3 Aturan Khusus Penjadwalan 38 3.4 Perancangan Perangkat Lunak 40

3.4.1 Hasil Perancangan 40

3.4.1.1 Pemodelan Proses 40

3.4.1.2 Pemodelan Data 44

3.4.1.3 Perancangan User Interface 47

BAB 4 IMPLEMENTASI DAN PERANCANGAN 49

4.1 Implementasi 49

4.1.1 Penggunaan Aplikasi 49

4.1.1.1 Halaman Utama 49

4.2 Pengujian 53

4.2.1 Pengujian Max Population 54 4.2.1.1 Max Population = 50 55 4.2.1.2 Max Population = 100 61 4.2.1.3 Max Population = 150 68 4.2.1.4 Max Population = 200 74 4.2.1.5 Max Population = 250 81

BAB 5 KESIMPULAN DAN SARAN 82

5.1 Kesimpulan 82

5.2 Saran 82

DAFTAR PUSTAKA 83

(12)

DAFTAR TABEL

HALAMAN

Tabel 2.1 Contoh Pengkodean Biner 14

Tabel 2.2 Contoh Pengkodean Bilangn Rill 14 Tabel 2.3 Contoh Pengkodean Bilangan Bulat 14 Tabel 2.4 Contoh Populasi dengan 5 Kromosom beserta Fitness nya 17 Tabel 2.5 Keadaan Fitness Sebelum diranking 18 Tabel 2.6 Keadaan Fitness Sesudah diranking 18 Tabel 2.7 ContohPerkawinan Silang 1-titik 20 Tabel 2.8 Contoh Perkawinan Silang 2-titik 20

Tabel 2.9 Contoh Perkawinan Seragam 21

Tabel 2.10 Contoh Mutasi Pada Pengkodean Biner 22 Tabel 2.11 Contoh Mutasi dalam Pengkodean Permutasi 22 Tabel 2.12 Contoh Mutasi dalam Pengkodean Permutasi nilai Rill 23 Tabel 3.1 Contoh Tabel Pembentukan Kromosom pada ruang Pascal 27 Tabel 3.2 Contoh Tabel Pembentukan Kromosom Pada Ruang Delphi 28 Tabel 3.3 Contoh Penjadwalan Mata Kuliah 28

Tabel 3.4 Contoh Seleksi Tournament 30

Tabel 3.5 Contoh Dosen dan mata kuliah yang di ampu 35

Tabel 3.6 Contoh Paket Mata Kuliah 35

Tabel 3.7 Daftar Jam Kuliah 36

Tabel 3.8 Ruangan dan kapasistas 36

Tabel 3.9 Contoh penjadwalan mata kuliah 37

Tabel 3.10 Struktur tabel dosen 46

Tabel 3.11 Struktur tabel mata Kuliah 46

(13)

Tabel 3.13 Struktur data kelas 47

Tabel 4.1 Penjadwalan Perkuliahan Ruang Pascal 50 Tabel 4.2 Penjadwalan Perkuliahan Ruang Fortran 51 Tabel 4.3 Penjadwalan Perkuliahan Ruang Basic 51 Tabel 4.4 Penjadwalan Perkuliahan Ruang Java 52 Tabel 4.5 Penjadwalan Perkuliahan Ruang Visual Basic 52 Tabel 4.6 Penjadwalan Perkuliahan Ruang Delphi 53

Tabel 4.7 Tabel MaxPopulation =50 55

(14)
(15)

ABSTRAK

Penjadwalan mata kuliah merupakan salah satu kegiatan dalam universitas yang membutuhkan banyak waktu untuk menyelesaikannya. Jadwal mata kuliah yang baik adalah jadwal yang memperhatikan semua komponen dasar penyusunnya. Komponen dasar terdiri atas dosen, mata kuliah, ruangan, dan jam kuliah. Permasalahan yang sering terjadi dikegiatan penjadwalan yaitu adanya bentrok antara jadwal yang satu dengan yang lain. Untuk mencari alternatif dari penjadwalan digunakan algoritma genetika, yaitu algoritma yang menyelesaikan masalah dengan melakukan pemodelan mekanisme evolusi biologis. Kombinasi parameter genetika yang digunakan adalah seleksi turnamen, kawin silang satu titik, dan mutasi. Aplikasi ini dibangun dengan menggunakan pemrograman java Dari penggunaan algoritma genetika dalam penyelesaian masalah ini, diharapkan dapat menjadi alternatif untuk penjadwalan.

(16)

IMPLEMENTATION OF GENETIC ALGORITHM IN LECTURE TIMETABLING

ABSTRACT

Lecture timetabling is one of task in university that takes too much time to complete. A good lecturer timetabling is timetabling that includes all basic components. those components are: lecturer, lecture, class, and time. Problems that often occurred on timetabling is a crash between one timetabling with another. To seek alternative of timetabling is by implemented genetic algorithm, is algorithm that solve problem using mechanism of biological evolution. Combination of genetic parameters used are tournament selection, crossover one point, and mutation. Using genetic algorithm in solving this problem is expected to be an alternative in lecturer timetabling.

(17)

BAB I

PENDAHULUAN

1.1Latar Belakang

Universitas Sumatera Utara adalah salah satu universitas terbesar di Indonesia. Jumlah mahasiswa di Universitas terbesar di Sumatera Utara ini ada sekitar 35.000 mahasiswa. Jumlah ini akan semakin terus bertambah dari tahun ke tahun.USU memiliki beberapa fakultas yang terdiri dari berbagai jurusan. Fakultas Ilmu Komputer dan Tekmologi Informasi adalah Fakultas yang ke -14 yang ada di USU. Fakultas Ilmu Komputer dan Teknologi Informasi, khusus nya Program Studi Ilmu Komputer diwajibkan untuk memberikan pelayanan yang optimal kepada mahasiswanya. Salah satu kendala dalam memberikan pelayanan adalah masalah penyusunan jadwal. Mahasiswa Ilmu Komputer yang semakin lama semakin meningkat jumlah nya, maka jumlah perkuliahan yang diadakan juga harus bertambah, sehingga menyebabkan semakin sulitnya menyusun jadwal dalam perkuliahan. Alasan inilah yang membuat saya tertarik untuk membuat penelitian tentang penjadawalan perkuliahan.

(18)

mahasiswa, mata kuliah yang ditawarkan, waktu dan ruangan kelas. Hasil dari proses penjadwalan mata kuliah merupakan pengelompokan komponen-komponen utama secara bersam-sama dengan memperhatikan aturan-aturan yang telah ditetapkan dalam penjadwalan mata kuliah.

Umumnya masalah penjadwalan mata kuliah diselesaikan dengan membuat tabel jadwal secara manual, cara ini membutuhkan waktu yang lama untuk menyelesaikannya dan seringkali semakin banyak jumlah anggota komponen yang terlibat maka semakin banyak aturan penjadwalan yang tidak dapat dipenuhi. Cara lain adalah dengan menggunakan penjadwalan yang telah dipergunakan tahun atau semester sebelumnya dengan beberapa modifikasi sesuai keadaan dan anggota komponen yang baru.

Algoritma Genetika (AG) adalah suatu algoritma pencarian yang berbasis pada mekanisme seleksi alam dan genetika. Algoritma genetika diinspirasi dari konsep biologi oleh Darwin, dimana di dalam proses evolusi dapat terjadi perkawinan silang

(cross over) dan mutasi (mutation). Algoritma genetika dimulai dengan memilih

himpunan penyelesaian, digambarkan dengan kromosom, yang disebut dengan populasi. Solusi dari satu populasi diambil untuk membentuk populasi baru, dimana pemilihannya tergantung dari fitness terbaiknya. Hal ini dimotivasi dengan harapan bahwa populasi yang baru akan lebih baik dibandingkan populasi terdahulu. Proses ini dilakukan berulang-ulang hingga kondisi tertentu terpenuhi. Algoritma genetika merupakan salah satu algoritma yang sangat tepat digunakan dalam menyelesaikan masalah optimasi kompleks.

(19)

besar nilai fitness dalam proses evolusi, maka semakin banyak jumlah bentrokan yang terjadi dari solusi yang diberikan. Hal ini dapat dikatakan, bahwa dalam proses algoritma genetika untuk masalah penjadwalan adalah dicari nilai fitness sama dengan nol.

Penelitian tentang penjadwalan yang pernah di lakukan sebelumnya yaitu penerapan algoritma genetika untuk optimasi jadwal mata kuliah pada Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara. Penelitian ini dilakukan oleh Rury Handayani pada tahun 2010. Selain itu, ada juga penelitian lainnya, yaitu aplikasi algoritma genetik untuk optimasi penjadwalan mata kuliah oleh Muhammad Aria dari Jurusan Teknik Elektro Universitas Komputer Indonesia.

1.2Rumusan Masalah

Berdasarkan latar belakang di atas maka rumusan masalahnya adalah bagaimana mendapatkan penjadwalan yang optimum dengan menggunakan Algoritma Genetika.

1.3Batasan Masalah

Agar masalah yang ditulis dalam proposal skripsi tidak telalu luas dan menyimpang dari topik yang ada, maka penulis perlu membatasi permasalahan sebagai berikut:

1. Kasus yang diambil adalah mata kuliah yang ada pada semester ganjil tahun ajaran 2012/2013.

(20)

3. Hasil akhir penjadwalan adalah daftar waktu mengajar yang ditawarkan untuk setiap dosen.

4. Parameter yang digunakan dalam penelitian ini adalah (PopSize; Pc; Pm ) =( 100;1;0.1)

5. Operator algoritma genetika yang digunakan adalah, pengkodean bilangan bulat, seleksi tournament, perkawinan silang satu titik, dan mutasi dalam pengkodean permutasi.

1.4 Tujuan Penelitian

Tujuan dari penelitian ini adalah menggunakan Algoritma Genetika untuk penyelesaian penjadwalan perkuliahan.

1.5Manfaat Penelitian

Manfaat penelitian ini adalah agar penjadwalan perkuliahan semakin terstruktur dan semakin optimal dengan menggunakan metode genetika sehingga pelayanan yang dilakukan di dalam perkuliahan semakin optimal .

1.6Metode penelitian

Metodologi penelitian yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut:

1. Studi Literatur

Penulisan laporan skripsi ini dimulai dengam mengumpulkan refresnsi dari berbagai sumber misalnya buku, jurnal ilmiah, makalah,halaman web, dan lain lain yang berkaitan dengan metode genetika.

(21)

Metode penelitian berikutnya adalah dengan mengumpulkan data. Caranya adalah dengan mengambil data penjadwalan perkuliahan, seperti data dosen, jumlah ruangan yang tersedia, mata kuliah yang ditawarkan.

3. Analisis dan Perancangan

maka dilakukan analisis yang meliputi kegiatan: pemilahan informasi yang diperoleh dari survei, membuat alur kerja (work flow, menyusun pemodelan untuk menentukan modul-modul apa saja yang perlu dibuat, menyusun DFD (Data Flow Diagram), menyusun ERD (Entity Relationship

Diagram), dan menyusun Dokumen Standar.

4. Implementasi dan Pengujian

Tahap implementasi merupakan tahap pengimplementasian terhadap Sistem Penjadwalan Matakuliah yang telah dikembangkan. Sistem ini siap digunakan oleh Program Studi Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumater Utara. Pengujian ini meliputi: validasi terhadap data masukan, pemetaan pengasuh mata kuliah, ruangan, serta interface aplikasi. Jika terjadi ketidaksesuaian terhadap validasi di atas, maka sistem ini harus segera diperbaiki. Baik itu dari sisi databasenya maupun programnya. Proses ini akan dilakukan bersama-sama dengan user/pengguna. Sehingga user dapat memberikan pertimbangan-pertimbangan ataupun masukan-masukan sehingga dapat tercipta sebuah sistem yang sesuai dengan kebutuhan

user.

5. Dokumentasi

Melakukan dokumentasi hasil implementasi dan pengujian system secara tertulis dalam bentuk laporan skripsi.

1.7Sistematika Penulisan

(22)

BAB I PENDAHULUAN

Bab ini berisikan penjelasan tentang Latar Belakang, Rumusan Masalah, Batasan Masalah, Tujuan Penulisan, Manfaat Penulisan, dan Metodologi Penelitian.

BAB II TIJAUAN PUSTAKA

Bab ini akan membahas teori-teori yang berkaitan dengan penjadwalan, algoritma genetika, dan komponen utama algoritma genetika.

BAB III ANALISIS DAN PERANCANGAN

Bab ini dilakukan analisis yang meliputi kegiatan: pemilahan informasi yang diperoleh dari survei, membuat alur kerja (Work Flow), menyusun dokumen User Specification menjadi dokumen teknis, menyusun pemodelan untuk menentukan modul-modul apa saja yang perlu dibuat, menyusun DFD (Data Flow Diagram),

menyusun ERD (Entity Relationship Diagram), dan menyusun Dokumen Standar.

BAB IV IMPLEMENTASI DAN PENGUJIAN

Tahap implementasi merupakan tahap pengimplementasian terhadap sistem penjadwalan mata kuliah yang telah dikembangkan. Sistem ini siap digunakan oleh Program Studi Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumater Utara.

(23)

pertimbangan-pertimbangan ataupun masukan-masukan sehingga dapat tercipta sebuah sistem yang sesuai dengan kebutuhan user.

BAB V KESIMPULAN DAN SARAN

(24)

BAB II

LANDASAN TEORI

2.1 Penjadwalan

Penjadwalan adalah penempatan sumber daya (resource) dalam satu waktu. Penjadwalan mata kuliah merupakan persoalan penjadwalan yang umum dan sulit dimana tujuannya adalah menjadwalkan pertemuan dari sumber daya. Sumber daya yang dimaksud adalah dosen pengasuh mata kuliah, mata kuliah,ruang kuliah, kelas mahasiswa, dan waktu perkuliahan. Terdapat batasan-batasan dalam penyusunan penjadwalan mata kuliah. Menurut Burke, dkk. Mengemukakan bahwa batasan-batasan dalampenjadwalan dibagi ke dalam dua kategori yaitu

“hard” dan “softconstraints. Jadwal yang melanggar “hard constraints” adalah

solusi yang tidak mungkin, dan harus diperbaiki atau di buang dengan algoritma penjadwalan. Hard constraints meliputi “first order conflict”, sebagai contoh adalah tidak ada seorang mahasiswa yang dapat mengikuti perkuliahan pada waktu yang sama. Soft constraints tidak begitu penting dibandingkan dengan hard

constraints,dan biasanya tidak mungkin untuk menghindari pelanggaran. Ketika

metode penjadwalan diaplikasikan, jadwal biasanya ditingkatkan dengan fungsi penalty, yang menghitung tingkat pelanggaran jadwal yang telah disusun. Beberapa soft constraints lebih penting dibandingkan dengan hard constraints, dan ini sering di tentukan dengan nilai prioritas.

(25)

penjadwalan kuliah dan masalah penjadwalan ujian. Masalah penjadwalan dalam pendidikan merupakan persoalan khusus dari masalah optimasi yang ditemukanpada situasi nyata. Masalah ini membutuhkan waktu komputasi yang cukup tinggi untuk pencarian solusinya, terlebih lagi jika ukuran permasalahan semakin besar dengan bertambahnya jumlah komponen dan tetapan atau syarat yang ditentukan oleh institusi tempat jadwal tersebut di gunakan. Selama proses, banyak aspek yang harus dipertimbangkan untuk memperoleh jadwal yang optimal, dan seringkali tidak dapat memuaskan karena tidak semua kebutuhan terpenuhi. Oleh karena itu perlu ditetapkan suatu batasan dalam penyusunan jadwal yang bersifat harus dipenuhi (hard constraints) dan tidak harusdipenuhi

(soft constraints) tetapi tetap menjadi acuan dalam proses pembuatan jadwal. [11]

2.2 Algoritma Genetika

Algoritma Genetika (AG) adalah suatu algoritma pencarian yang berbasis pada mekanisme seleksi alam dan genetika. Algoritma genetika merupakan salah satu algoritma yang sangat tepat digunakan dalam menyelesaikan masalah optimasi kompleks.

Pengertian lain mengenai Algoritma Genetika adalah : Algoritma Genetika adalah algoritma pencarian heuristik yang didasarkan atas mekanisme evolusi biologis. Setiap masalah yang berbentuk adaptasi (alami maupun buatan) dapat diformulasikan dalam terminologi genetika. Algoritma ini adalah simulasi dari proses evolusi Darwin dan operasi genetika atas kromosom.Metode yang dapat disebut algoritma genetika adalah metode yang setidaknya memiliki komponen seperti populasi dari kromosom, seleksi berdasarkan fitness, crossoveruntuk memproduksi offspring baru, dan random mutasi pada offspring.

(26)

mana saja yang akan dipilih untuk mendapatkan generasi baru. Crossover adalah proses pertukaran dua kromosom yang menciptakan offspring yang mewarisi karakter dari kedua parent. Dengan mewarisi karakter parent tersebut, tujuan melakukan

crossover adalah untuk mencari kombinasi gen terbaik dari parent. Operator Mutasi

mengubah field individual (gen) didalam kromosom berdasarkan pada probabilitas. Mutasi dipakai untuk menghindari kecenderungan suatu populasi untuk menjadi mirip .Fitness adalah suatu nilai yang dipakai untuk tolak ukur kualitas kromosom Nilai

fitness ini digunakan untuk menentukan kromosom yang berkualitas lebih baik dari

pada kromosom yang lain.

Algoritma Genetika memiliki algoritma umum dalam mencari solusi melalui pembangkitan populasi kromosom, mekanisme seleksi berdasarkan fitness,

crossoveruntuk memproduksi offspring baru, dan mutasi acak pada off- spring.

Namun, algoritma tersebut perlu penyesuaian untuk permasalahan yang dihadapi. Pada penelitian ini, Algoritma Genetika digunakan karena memiliki keunggulan utama, yaitu efisiensi waktu dalam pencarian solusi. Namun, algoritma ini juga memiliki kekurangan utama, yaitu tidak adanya jaminan solusi yang dihasilkan adalah solusi terbaik (bila dibandingkan dengan pencarian melalui evaluasi lengkap pada semua kemungkinan solusi).

Algoritma genetika bekerja dari populasi yang merupakan himpunan solusi yang dihasilakan secara acak. Setiap anggota himpunan yang merepresentasikan satu populasi masalah dinamakan generasi, tiap kromosom dievaluasi berdasarkan fungsi evaluasi. Pada algoritma genetika, fungsi evolusi biasanya dapat berupa fungsi objektif dari masalah yang akan dioptimalisasikan.

(27)

Solusi terpilih yang merupakan orangtua pembentuk keturunan (offspring), dipilih berdasarkan lingkungannya atau nilai fitness, semakin baik maka semakin besar kesempatan yang dimiliki untuk bertahan dan bereproduksi. Hal ini dilakukan berulang kali hingga memenuhi beberapa kondisi penghentian, misalnya jumlah generasi atau tercapainya hasil yang dicari.

Algoritma genetika mempunyai karateristik-karateristik yang perlu diketahui sehingga dapat terbedakan dari prosedur pencarian atau optimasi yang lain, yaitu;

1. Algoritma genetika bekerja dengan pengkodean dari himpunan solusi permasalahan berdasarkan parameter yang telah ditetapkan dan bukan parameter itu sendiri.

2. Algoritma genetika melakukan pencarian pada sebuah populasi dari sejumlah individu-individu yang merupakan solusi permasalahn bukan hanya dari sebuah individu.

3. Algoritma genetika merupakan informasi fungsi objektif, sebagai cara untuk mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan dari suatu fungsi.

4. Algoritma genetika menggunakan aturan-aturan transisi peluang, bukan aturan-aturan deterministik.

Algoritma genetika memberikan suatu pilihan bagi penentuan nilai parameter dengan meniru cara reproduksi genetik, pembentukan kromosom baru serta seleksi alami seperti terjadi pada mahluk hidup. Inisialisasi populasi awal dilakukan untuk menghasilkan solusi awal dari suatupermasalahan algoritma genetika. Inisialisasi ini dilakukan secara acak sebanyak jumlah kromosom/populasi yang diinginkan. Selanjutnya dihitung nilai fitness dan seterusnya dilakukan seleksi dengan menggunakan metode roda roullete, tournament atau ranking. Kemudian dilakukan perkawinan silang (crossover) dan mutasi. Terdapat beberapa definisi penting dalam Algoritma Genetika yang perlu diperhatikan,yaitu:

1. Genotype (Gen), sebuah nilai yang menyatakan satuan

(28)

membentuk suatu arti tertentu dalam satu kesatuan gen yang dinamakan kromosom. Dalam algoritma genetika, gen ini bisa berupa biner, float, interger maupun karakter, atau kombinatorial

2. Allele, merupakan nilai dari gen

3. Individu atau kromosom, gabungan gen-gen yang membentuk nilai tertentu dan merupakan salah satu solusi yang mungkin dari permasalahan yang diangkat.

4. Populasi, merupakan sekumpulan individu yang akan diproses bersama dalam satu siklus proses evalusi.

5. Generasi, menyatakan satu siklus proses evolusi atau satu iterasi di dalam algoritma genetika.

(29)

Gambar 2.1 : Proses Algoritma Genetika

Secara sederhana, proses algoritma genetika adalah sebagai berikut: 1. [Mulai] Membangun populasi random sebanyak n kromosom.

2. [Pengkodean Data] Teknik pengkodean adalah bagaimana mengkodekan gen dari kromosom.Masing-masing kromosom berisi sejumlah gen yang mengkodekan informasi yang disimpan didalam kromosom.

3. [Jumlah Populasi dan kromosom] Menentukan populasi awal adalah proses membangkitkan sejumlah kromosom secara acak (random). Kromosom menyatakan salah satu alternatif solusi yang mungkin. Kromosom dapat dikatakan sama dengan individu. Ukuran populasi tergantung pada masalah yang akan diselesaikan. Setelah ukuran populasi ditentukan, kemudian dilakukan pembangkitan populasi awal dengan cara melakukan inisialisasi solusi yang mungkin kedalam sejumlah kromosom.

(30)

Panjang satu kromosom ditentukan berdasarkan permasalahan yang diteliti.

4. [Evaluasi Fitness] Fungsi yang digunakan untuk mengukur nilai kecocokan atau derajat optimalitas suatu kromosom disebut dengan fitness function. Nilai yang dihasilkan dari fungsi tersebut menandakan seberapa optimal solusi yang diperoleh. Nilai yang dihasilkan oleh fungsi fitness merepresentasikan seberapa banyak jumlah persyaratan yang dilanggar, sehingga dalam kasus penjadwalan perkuliahan semakin kecil jumlah pelanggaran yang dihasilkan maka solusi yang dihasilkan akan semakin baik. Untuk setiap pelanggaran yang terjadi akan diberikan nilai 1. Agar tidak terjadi nilai fitness yang tak terhingga maka jumlah total semua pelanggaran akan ditambahkan 1.

5. [Seleksi] pilih 2 kromosom orangtua dari populasi berdasarkan

fitness (semakin besar fitness semakin besar kemungkinan untuk

terpilih).

6. [Perkawinan Silang] sesuai dengan besarnya kemungkinan perkawinan silang, orangtua terpilih disilangkan untuk membentuk anak. Jika tidak ada perkawinan silang, maka anak merupakan salinan dari orangtua.

7. [Mutasi] sesuai dengan besarnya kemungkinan mutasi, anak dimutasi pada setiap lokus ( posisi pada kromosom).

8. [Iterasi terpenuhi] maskud dari iterasi terpenuhi adalah solusi optimum yang dihasilkan dari metode genetika.

(31)

2.2.1 Komponen dalam Algoritma Genetika

Algoritma genetika adalah salah satu proses pencarian yang heuristik dan acak sehingga penekanan pemilihan operator yang digunakan sangat menetukan keberhasilan algoritma genetika dalam menemukan solusi optimum suatu masalah yang diberikan. Salah satu hal yang harus di perhatikan adalah menghindari terjadi konvergensi prematur. Pengertian dari konvergensi prematur adalah mencapai solusi optimum yang belum waktunya, dalam arti solusi yang diperoleh tersebut adalah hasil optimum lokal. Ada beberapa komponen dari algoritma genetika. Berikut akan di jelaskan komponen dalam algoritma genetika.

2.2.1.1 Pengkodean

Pengkodean adalah suatu teknik untuk menyatakan populasi awal sebagai calon solusi dari suatu masalah ke dalam suatu kromosom sebagai suatu kunci pokok persoalan ketika menggunakan algoritma genetika. Berdasarkan jenis simbol yang digunakan sebagai nilai suatu gen, metode pengkodean dapat diklasifikasikan sebagai berikut pengkodean biner, bilangan riil, bilangan bulat dan struktur data: [2]

2.2.1.1.1 Pengkodean Biner( binary encoding)

(32)

Tabel 2.1 Contoh Pengkodean Biner

Chromosome A 101100101100101011100101 Chromosome B 111111100000110000011111

2.2.1.1.2 Pengkodean Bilangan Rill

Pengkodean bilangan riil adalah suatu pengkodean bilangan dalam bentuk riil. Gen dan Cheng (2000) menyatakan bahwa pengkodean bilangan riil baik digunakan untuk masalah optimasi fungsi dan optimasi kendala. [2]

Tabel 2.2 Contoh Pengkodean Bilangan Rill

2.2.1.1.3 Pengkodean Bilangan Bulat

Pengkodean bilangan bulat adalah suatu metode mengkodekan bilangan dalam bentuk bilangan bulat. Pengkodean ini baik digunakan untuk masalah optimasi kombinatorial. Dengan pengkodean bilangan bulat, ukuran kromosom menjadi lebih sederhana dan tidak terlalu panjang. [2]

Tabel 2.3 Contoh Pengkodean Bilangan Bulat

Kromosom sebelum mutasi 1,43 1,09 4,51 9,11 6,94

Kromosom setelah mutasi 1,43 1,19 4,51 9,11 6,94

Kromosom sebelum mutasi

12345679

(33)

2.2.1.1.4Pengkodean Struktur data

Pengkodean struktur data adalah mode pengkodean yang menggunakan struktur data pengkodean ini digunakan untuk masalah yang lebih kompleks seperti perencanaan trajek robot dan masalah pewarnaan graph. [2]. Berikut adalah conoth pewarnaan graph

Gambar 2.2 Pewarnaan graf yang tepat

Masalah pewarnaan graf merupakan konsep dari graf tak berarah (undirected

graph). Diberikan suatu graf tak berarah G(V,E), bagaimana mewarnakan setiap

verteks v V dengan k warna tertentu sedemikian sehingga dua verteks yang berdekatan menerima warna yang berbeda, disebut sebagai masalah pewarnaan graf

(graph coloring problem). Biasanya graf dapat diwarnakan secara tepat dengan

banyak cara yang berbeda, seperti pada gambar 2.3 menggambarkan tiga pewarnaan graf yang berbeda.

2.2.1.2Prosedur Inisialisasi

(34)

Inisialisasi kromosom dilakukan secara acak, namun demikian harus tetap memperhatikan domain solusi dan kendala permasalahan yang ada.

2.2.1.3 Evaluasi Fitness

Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran performansinya. Didalam evolusi alam, individu yang bernilai fitness tinggi yang akan bertahan hidup. Sedangkan individu yang bernilai fitness rendah akan mati. Pada masalah optimasi, solusi yang akan dicari adalah memaksimumkan fungsi h ( dikenal sebagai masalah maksimasi ) sehingga nilai fitness yang digunakan adalah nilai dari fungsi h tersebut, yakni f = h (di mana f adalah nilai fitness). Tetapi jika masalahnya adalah meminimalkan fungsi h (masalah minimasi), maka fungsi h tidak bisa digunakan secara langsung. Hal ini disebabkan adanya aturan bahwa individu yang memiliki nilai fitness tinggi lebih mampu bertahan hidup pada generasi berikutnya. Oleh karena itu nilai fitness yang bisa digunakan adalah f = 1/h, yang artinya semakin kecil nilai h, semakin besar nilai f. Tetapi hal ini akan menjadi masalah jika h bisa bernilai 0, yang mengakibatkan f bisa bernilai tak hingga. Untuk mengatasinya, h perlu ditambah sebuah bilangan yang dianggap kecil [0-1] sehingga nilai fitnessnya menjadi :

� = 1 (h + a)

dengan a adalah bilangan yang kecil dan bervariasi [0-1] sesuai dengan masalah yang akan diselesaikan. [10]

2.2.1.4 Seleksi

(35)

inilah yang nantinya akan digunakan pada tahap-tahap seleksi yang akan dilakukan pada bagian berikutnya.

Ada beberapa metode yang digunakan bagaimana memilih kromosom yang sering digunakan antara lain adalah seleksi roda rolet(roulette wheel selection), seleksi rangking(rank selection) dan seleksi turnamen(tournament selection). [6]

2.2.1.4.1. Seleksi Roda Rolet (Roulette Wheel Selection)

Teknik kromosom yang paling sering digunakan adalah seleksi roda roulette (Roulette wheel selection). Cara kerja yang dilakukan dalam teknik ini adalah dengan memilih anggota populasi tertentu untuk menjadi orangtua dengan probabilitas sama dengan fitness dibagi dengan total fitness populasi. Kromosom dipilih berdasarkan nilai fitness, semakin besar nilai fitnessnya maka kromosom tersebut memiliki peluang untuk dipilih beberapa kali.

Yang dilakukan pada seleksi ini adalalah: orangtua dipilih berdasarkan fitness mereka. Probabilitas suatu individu terpilih untuk perkawinan silang sebanding dengan fitnessnya. Cara penyeleksian ini merupakan peniruan dari permainan roda roulette. Berikut merupakan contoh dari seleksi roda roulette. Jumlah dari keseluruhan fitness adalah dengan menambahkan seluruh nilai dari fitness. Dari contoh di bawah, maka jumlah keseluruhannya adalah 40. Sehingga probablitas nya adalah membagi nilai masing-masing fitness terhadap total keseluruhan fitness.

Tabel 2.4: Contoh Populasi Dengan 5 Kromosom Beserta Fitnessnya

Kromosom Fitness Probablitias

X1 15 15/40 = 0.375 ( 37.5 %)

X2 5 5/40 = 0.125 ( 12.5 %)

(36)

2.2.1.4.2 Seleksi Rangking (Rank Selection)

Didalam seleksi roda roulette juga akan memiliki masalah pada saat terdapat perbedaan fitness yang jauh. Salah satu contohnya adalah, jika kromosom terbaik adalah 90% dari semua roda roulette dapat menyebabkan kromosom yang lain memiliki kesempatam yang sangat kesil untuk dapat terpilih.

Cara yang dilakukan dalam seleksi ini yaitu terlebih dahulu merangking atau mengurutkan kromosom di dalam populasi berdasarkan fitnessnya kemudian memberikan nilai fitness baru berdasarkan urutannya. Kromosom dengan fitness terburuk memiliki fitness bernilai 1, terburuk kedua bernilai 2 dan seterusnya, sehingga kromosom yang memiliki fitness terbaik akan memiliki nilai fitness N, dimana N adalah jumlah kromosom di dalam populasi. Berikut akan di jelaskan dengan menggunakan contoh :

Tabel 2.5: Keadaan Fitness Sebelum Dirangking

X4 5 5/40 = 0.125 ( 12.5 %)

X5 5 5/40 = 0.12.5 (12.5%)

Kromosom Fitness

B 5

D 5

E 5

C 10

(37)

Tabel2.6:Keadaan Fitness Sesudah Dirangking

Kromosom Fitness Fitness Baru

B 5 1

D 5 2

E 5 3

C 10 4

A 15 5

Setelah proses pengurutan dan pemberian nilai fitness baru, setiap akan memiliki kesempatan yang lebih adil untuk dipilih. Tetapi metode ini dapat menyebabkan konvergensi menjadi lambat, karena kromosom terbaik tidak terlalu berbeda dengan yang lainnya.

2.2.1.4.3. Seleksi Tournamen(Tournament Selection)

Seleksi tournament merupakan gabungan dari seleksi roda roulette dan metode rangking. Cara yang digunakan didalam seleksi ini adalah sejumlah k kromosom tertentu dari populasi beranggota n kromosom (k≤n) dipilih secara acak dengan probabilitas 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. Perbedaan nya dengan seleksi roda roulette adalah pemilihan kromosom yang akan digunakan untuk berkembang biak tidak berdasarkan skala fitness dari populasi.

(38)

kromosom yang terdapat di dalam populasi. Berikut akan di tampilkan contoh dari seleksi turnamen:

Random yang terbaik individu yang terpilih

Ts=3

Gambar 2.3: Contoh Seleksi Tournament

2.2.1.5 Perkawinan Silang ( Crossover)

Tujuan dari perkawanan silang adalah untuk menambah keanekaragaman string dalam satu populasi dengan penyilangan atar string yang diperoleh dari reproduksi sebelumnya. Salah satu jenis pengkodean yang paling sederhana adalah perkawinan silang untuk pengkodean biner. Ada beberapa jenis perkawinin silang untuk pengkodean biner: perkawinan sialng 1-titik, perkawinan silang 2 titik,dan perkawinan silang seragam.

2.2.1.5.1. Perkawinan Silang 1-Titik

Pada crossoverdilakukan dengan memisahkan suatu string menjadi dua bagian dan selanjutnya salah satu bagian dipertukarkan dengan salah satu bagian dari string yang lain yang telah dipisahkan dengan cara yang sama. Proses yang demikian dinamakan operator crossoversatu titik seperti diperlihatkan pada gambar berikut:

F=9 F=7

F=2 F=6

F=5 F=3

F=9

(39)

Tabel 2.7: Contoh Perkawinan Silang 1-titik

Nama Kromosom Proses Penyilangan Kromosom OrangTua

Posisi Penyilangan 3

Keturunan I 0111 0001 Keturunan II 1100 1011

2.2.1.5.2. Perkawinan Silang 2-Titik

Proses crossover ini dilakukan dengan memilih dua titik crossover. Kromosom keturunan kemudian dibentuk dengan barisan bit dari awal kromosom sampai titik

crossoverpertama disalin dari orangtua pertama, bagian dari titik crossoverpertama

dan kedua disalin dari orangtua kedua, kemudian selebihnya disalin dari orangtua pertama lagi.

Tabel 2.8 : Contoh Perkawinan Silang 2-Titik

(40)

Keturunan I 11 0111 11

Keturunan II 11 0010 11

2.2.1.5.3 Perkawinan Seragam

Pada penyilangan seragam, setiap lokasi memiliki potensi sebagai tempat penyilangan. Orangtua mana yang menyumbangkan bit ke keturunannya dipilih secara acak dengan probabilitas yang sama. Sebagai contoh, dapat dilihat pada Tabel dibawah ini.

Tabel 2.9: Contoh Perkawinan Seragam

Nama Kromosom Proses Penyilangan Kromosom OrangTua

1

0110 1011 0010

Kromosom OrangTua 2

1101 0001 1010

Keturunan 1 0101 1001 1010 Keturunan II 1101 1011 0010

2.2.1.6 Mutasi

(41)

bertahan hidup, mati, melakukan persilangan atau melakukan mutasi adalah lingkungan. Operator mutasi merupakan operasi yang menyangkut suatu kromosom tertentu. Beberapa cara operasi mutasi diterapkan dalam algoritma genetika menurut jenis pengkodean terhadap phenotype, antara lain :

2.3.1.6.1 Mutasi dalam Pengkodean Biner

Proses yang terjadi didalam mutasi pengkodea biner adalah: menginversi nilai bit pada posisi tertentu yang dipilih secara acak (atau menggunakan skema tertentu) pada kromosom yang disebut dengan inverse bit. Berikut contoh mutasi pada pengkodean biner:

Tabel 2.10: Contoh Mutasi Pada Pengkodean Biner

Kromosom sebelum mutasi

10010111

Kromosom sesudah mutasi

10010011

2.2.1.6.2 Mutasi dalam Pengkodean Permutasi

(42)

Tabel 2.11: Contoh Mutasi Dalam Pengkodean Permutasi

Kromosom sebelum mutasi

12345679

Kromosom setelah mutasi 12745639

2.2.1.6.3. Mutasi dalam Pengkodean Nilai Rill

Cara yang dialakukan dalam mutasi pengkodean nilai hamper sama dengan cara yang dilakukan pada pengkodean biner. Namun yang dilakukan bukan menginversikan nilai bit. kekurangan yang dimiliki oleh mutasi dalam pengkodean permutasi adalah : tidak menjamin adanya perbedaan pada populasi. Maka dari itu, cara selanjutnya yang dilakukan adalah dengan cara mutasi dalam pengkodean nilai. Cara yang dilakukan adalah dengan memilih sembarang posisi gen pada kromosom. Nilai yang ada tersebut kemudian ditambahkan atau dikurangkan dengan suatu nilai kecil tertentu yang diambil secara acak. Berikut akan diberikan contoh mutasi dalam pengkodean nilai.

Tabel 2.12 : Contoh Mutasi Pada Pengkodean Permutasi Nilai Rill Dengan Nilai yang Ditambahkan atau Dikurangkan adalah 0,10

Kromosom sebelum mutasi 1,43 1,09 4,51 9,11 6,94

(43)

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1Analisis Kebutuhan Perangkat Lunak

Analisis sistem adalah pembelajaran sebuah sistem dan komponen-komponennya sebagaiprasyarat sebuah desain sistem dan spesifikasi sistem serta komponen-komponennya (Jeffery et al, 2004). Dengan kata lain, analisis sistem merupakan suatu istilah yang mendeskripsikan fase fase awal pengembangan sistem untuk memecahkan masalah. [6]

3.1.1 Metode Analisis

Penulis menggunakan analisis pendekatan driven, yang biasanya menggunakan flowchart untuk menggambarkan proses dari genetika pada penjadwalan. Untuk mengetahui apa saja yang dibutuhkan dalam pembangunan aplikasi ini, penulis melakukan dua cara, yaitu: [6]

1. Observasi

Metode pengumpulan data ini digunakan untuk mendapatkan data utama yang dibutuhkan dalam penjadwalan. [6]

(44)

Metode ini dilakukan dengan mengumpulkan bahan pustaka yang berhubungan

dengan algoritma genetika dan penerapannya.[6]

3.2 Hasil Analisis Penjadwalan dengan Algoritma Genetika

(45)

Selesai Mulai

Input Data Dosen, Mata Kuliah, Ruangan, dan Jadwal

Pengkodean Bilangan Bulat

Pembentukan Populasi Awal

Seleksi Tournament

Perkawinan Silang Satu Titik

Mutasi

Penjadwalan yang Terbaik

Gambar 3.1 Diagram Proses Penjadwalan Mata Kuliah dengan Algoritma Genetika

3.2.1 Teknik Pengkodean

Teknik pengkodean adalah bagaimana mengkodekan gen dari kromosom. Masing-masing kromosom berisi sejumlah gen yang mengkodekan informasi yang disimpan didalam kromosom. Teknik pengkodean yang digunakan dalam permasalahn ini adalah teknik pengkodean bilangan real.

3.2.2 Menentukan Populasi Awal dan Inisialisasi Kromosom

(46)

satu jadwal untuk semua slot pada semua ruangan setiap hari. Pada Fasilkom-TI USU, terdapat 6 ruangan dan 5 hari perkuliahan. Sedangkan jumlah mata kuliah yang akan disusun berjumlah 110 mata kuliah. Untuk menyederhanakan proses penyusunan jadwal, penulis mengasumsikan terdapat 5 slot per hari, dan setiap mata kuliah hanya mengisi satu slot

Dalam pengkodean kromosom, penulis menggunakan pengkodean bilangan bulat. Untuk merepresentasikan 110 mata kuliah, penulis memberikan sebuah id yang terdiri atas 3 digit bilangan bulat. Pada sebuah jadwal terdiri atas 150 slot (5 hari dikali 6 ruangan dikali 5 slot per hari). Berdasarkan perhitungan tersebut, maka setiap kromosom direpresentasikan dengan bilangan bulat 450 digit (150 slot dikali 3 digit id kuliah). Berikut contoh pengkodean bilangan bulat dalam penjadwalan perkuliahan:

C1=101011013000097075017016027038…021103044 C2=013 101 009 000 094 045 054091033 ... 012056022 C3 = 078102065085000000016032044051...072088012 Jika dipecah per kuliah, maka C1 dapat ditulis seperti contoh di bawah:

C1 = 101 011 013 000 097 074 017 016 027 038 … 021 103 044

Kromosom di atas merepresentasikan jadwal dimulai dari ruang pascal, hari senin (pada program yang dibangun merupakan ruang dengan id 1) slot pertama diisi dengan mata kuliah dengan id 101 (3 digit pertama), sampai ruang delphi, hari jumat (pada program yang dibangun merupakan ruang dengan id 6) slot kelima diisi dengan mata kuliah dengan id 044 (3 digit terakhir). Pengisian kromosom-kromosom ini dimulai dengan merepresentasikannya kedalam ruangan,dan kemudian hari. Didalam program, representasi ini dapat dilihat dengan penggunaan listing program sebagai berikut:

(47)

query = "INSERT INTO kelas (id_mk, ruangan, hari, jam) "

+

"values (" + idMk + ", " + a + ", " + b + ", " + c + ")";

Jadwal yang direpresentasikan kromosom C1 dapat dijelaskan pada tabel di bawah ini:

Tabel 3.1 Contoh Tabel Pembentukan Kromosom pada Ruang Pascal

(48)

Tabel 3.2 Contoh Tabel Pembentukan Kromosom pada Ruang Delphi Pada tabel di atas, setiap slot terdiri atas nama mata kuliah, kelompok, dan id 3 digit yang digunakan oleh mata kuliah tersebut.

Tabel 3.3: Contoh Penjadwalan Mata Kuliah

Hari Waktu Mata Kuliah Ruangan Dosen

Pascal Handrial, S.Si, M.Comp,Sc

Selasa

(49)

3.2.3 Fungsi Fitness

Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran performansinya. Didalam evolusi alam, individu yang bernilai fitness tinggi yang akan bertahan hidup. Sedangkan individu yang bernilai fitness rendah akan mati. Fungsi yang digunakan untuk mengukur nilai kecocokan atau derajat optimalitas suatu kromosom disebut dengan fitness function. Nilai yang dihasilkan dari fungsi tersebut menandakan seberapa optimal solusi yang diperoleh. Nilai yang dihasilkan oleh fungsi fitness merepresentasikan seberapa banyak jumlah persyaratan yang dilanggar, sehingga dalam kasus penjadwalan perkuliahan semakin kecil jumlah pelanggaran yang dihasilkan maka solusi yang dihasilkan akan semakin baik. Untuk setiap pelanggaran yang terjadi akan diberikan nilai 1. Agar tidak terjadi nilai fitness yang tak terhingga maka jumlah total semua pelanggaran akan ditambahkan 1.

Keterangan:

BD= Banyaknya bentrok dosen dan mata kuliah BJ= banyaknya bentrok jadwal perkuliahan Kamis

13.00-14.40

Teori Bahasa dan Otomata (KTB 301/B)

Basic Drs. Marihat Situmorang, M.Kom.

Fortran Drs. Dahlan Sitompul, M.Eng

�= 1

(50)

BR= banyaknya bentrok ruangan yang digunakan Beberapa batasan yang digunakan dalam penyusunan penjadwalan ini adalah :

a. Dosen tidak boleh dijadwalkan lebih dari satu kali pada waktu yang bersamaan.

b. Penjadwalan perkuliahan pada masing-masing ruangan kelas tidak melebihi 10(sepuluh) slot untuk satu hari.

c. Satu ruangan tidak boleh digunakan lebih dari satu kali oleh satu kelompok.

Dari contoh yang ada akan menghasilkan nilai fitness sebagai berikut:

Fitness kromosom 1 = 1

1+(1+0+0)= 0.5

Fitness kromosom 2 = 1

1+(0+1+0)= 0.5

Fitness kromosom 3 = 1

1+(1+1+1)= 0.25

Fitness Kromosom 4 = 1

1+(1+1+0)= 0.33

3.2.4 Seleksi

(51)

Kromosom 1 = ILK1203K3R0T3 ILK1202K1R0T1 UNI1222K1R0T3 ILK1202K3R0T3

Kromosom 2 =KTB203K3R1T4 KTC202K3R1T3 UNI106K3R1T1 KTC201K1R1T1

Kromosom 3= KTB302K1R2T3 KTC301K1R2T1 KTB304K1R2T5 KTC303K1R2T1

Kromosom 4= KTC402K2R3T3 KTD401K1R4T5 KTB301K2R4T7 ILK1200K1R5T8

Langkah selanjutnya adalah memilih beberapa kromosom secara random (acak). maka yang kromosom yang terplih adalah kromosom 1,kromosom 2, dan kromosom 3. Dari kromosom ini, maka dihitung nilai fitness nya:

Kromosom 1 = ILK1203K3R0T3 ILK1202K1R0T1 UNI1222K1R0T3 ILK1202K3R0T3

Fitness kromosom 1 = 1

1+(1+0+0)= 0.5

Kromosom 2 =KTB203K3R1T4 KTC202K3R1T3 UNI106K3R1T1 KTC201K1R1T1

Fitness kromosom 2 = 1

1+(1+1+1)= 0.25

Kromosom 3= KTB302K1R2T3 KTC301K1R2T1 KTB304K1R2T5 KTC303K1R2T1

Fitness Kromosom 3= 1

1+(1+1+0)= 0.33

Tabel 3.4 Contoh Seleksi Tournament

(52)

Fitness

1 Kromosom 1 = ILK1203K3R0T3 ILK1202K1R0T1 UNI1222K1R0T3 ILK1202K3R0T3

0.5

2 Kromosom 2 =KTB203K3R1T4 KTC202K3R1T3 UNI106K3R1T1 KTC201K1R1T1

0.25

3 Kromosom 3= KTB302K1R2T3 KTC301K1R2T1 KTB304K1R2T5 KTC303K1R2T1

0.33

Maka dari nilai fitness ini, maka kromosom yang terbaik adalah kromosom yang memiliki nilai fitness yang terkecil yaitu 0.25, kromosom 2 dengan urutan penjadwalannya adalah Kromosom 2 =KTB203K3R1T4 KTC202K3R1T3 UNI106K3R1T1 KTC201K1R1T1.

3.2.5 Pindah silang ( Crossover)

Pindah silang (CrossOver) digunakan sebagai metode pemotongan kromosom secara acak (random) dan merupakan penggabungan bagian pertama dari kromosom induk 1 dengan bagian kedua dari kromoson induk 2 .Metode pindah silang yang paling umum digunakan adalah pindah silang satu titik potong (one-point crossover). Suatu titik potong dipilih secara acak (random), kemudian bagian pertama dari kromosom induk 1 digabungkan dengan bagian kedua dari kromosom induk 2. Bilangan acak (random) yang dibangkitkan untuk menentukan posisi titik potong adalah [1-N] dimana N merupakan banyaknya jumlah gen dalam satu kromosom.

(53)

Kromosom 2= ILK1203K3R0T3ILK1202K1R0T1 UNI1222 K1R0T3 ILK1202

Kromosom4 = KTB203K3R1T4 KTC202K3 K3 R0T3

R1T3 UNI106K3R1T1

Titik Potong

KTC201K1R1T1

Hasil pindah silang kedua kromosom tersebut adalah

Kromosom2 = KTB203K3R0T3 ILK1202K1R1T3 UNI1222K1R1T1 KTC201K3R0T3

Kromosom4 = ILK1203K3R1T4 KTC202K3R0T1 UNI106K3R0T3 ILK1202K3R0T3

Fitness kromosom 2 setelah pindah silang = 1

1+(1+0+1+1)= 0.25

Fitness kromosom 4 setelah pindah silang = 1

1+(1+1+0+0)= 0.33

3.2.6 Mutasi

(54)

Pmut umumnya diset antara [0 – 1], misalnya 0,1 (Suyanto, 2005). Untuk mendapatkan posisi gen yang akan dimutasi maka perlu dihitung jumlah total gen dalam satu populasi yaitu Total gen = Jumlah gen dalam satu kromosom x Jumlah kromosom yang ada. Berdasarkan contoh yang ada maka total gen adalah = 4 x 4 = 16. Probabilitas mutasi ditetapkan 0,1 maka diharapkan mutasi yang terjadi adalah : 0,1 x 16 = 1,6 = 2 gen yang akan mengalami mutasi.

Selanjutnya dilakukan iterasi sebanyak jumlah total gen [0-16] dan membangkitkan bilangan acak untuk tiap iterasi antara [0-1]. Diasumsikan gen yang mendapatkan bilangan dibawah probabilitas mutasi adalah gen 2 dan 3. informasi dalam gen yang akan dirubah adalah waktu perkuliahan, maka hasil mutasi pada kromosom tersebut adalah:

Kromosom 1 = ILK1203K3R0T3 ILK1202K1R0T1 UNI1222K1R0T3 ILK1202K3R0T3

Kromosom 2 =KTB203K3R1T4 KTC202K3R1T3 UNI106K3R1T1 KTC201K1R1T1

Kromosom 3= KTB302K1R2T3 KTC301K1R2T1 KTB304K1R2T5 KTC303K1R2T1

Kromosom 4= KTC402K2R3T3 KTD401K1R4T5 KTB301K2R4T7 ILK1200K1R5T8

Contoh dari mutasi ini, diambil sample pada kromosom 3, yaitu: KTB302K1R2T3 KTC301K1R2T1 KTB304K1R2T5 KTC303K1R2T1.

(55)

Sesudah Mutasi : KTB302K1R2T3 KTC301K1R2T2 KTB304K1R2T6 KTC303K1R2T1.

3.3 Sistem Penjawalan Perkuliahan di Fakultas Ilmu Komputer dan Teknologi Informasi

Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara adalahFakultas yang berdiri pada tahun 2009. Dan merupakan Fakultas ke-14(Empat Belas) yang ada di USU. Fasilkom-TI USU memiliki 2(dua) Program Studi, salah satunya adalah Program Studi Ilmu Komputer. Setiap Program Studi memulai proses perkuliahan belajar mengajar pada pukul 08.00 WIB dan berakhir pada pukul 17.00 WIB.

Penjadwalan mata kuliah di Fakultas Ilmu Komputer dan Teknologi Informasi dilakukan oleh bagian akademik. Proses penjadwalan mata kuliah dimulai dengan penyusunan mata kuliah yang ditawarkan untuk tiap program studi, baik itu mata kuliah wajib, maupun mata kuliah pilihan. Setiap proses perkuliahan biasanya diadakan di gedung fakultas. Tidak seperti proses perkuliahan di universitas lain, di Universitas Sumatera Utara, untuk mata kuliah yang bersifat universal, misalnya Bahasa Indonesia, proses perkuliahan juga diadakan di gedung yang terdapat di fakultas. Setelah itu dilanjutkan dengan usulan dosen yang akan mengampu mata kuliah yang telah ditawarkan. Untuk masalah ruangan yang akan digunakan biasanya disamakan dengan tahun sebelumnya, dengan catatan kurikulum yang digunakan masih kurikulum yang sama.

(56)

tersebut, biasanya tiap fakultas akan mempertimbangkan waktu ketersediaan dosen, sehingga kegiatan perkuliahan dapat berjalan optimal.

3.3.1. Komponen Utama Penjadwalan

Komponen utama penjadwalan adalah komponen-komponen yang menyusun jadwal mata kuliah, setiap komponen memiliki karakteristik tertentu, sehingga banyak aturan-aturan yang harus dipenuhi agar tiap komponen tetap dapat saling berhubungan dan menghasilkan jadwal mata kuliah yang sesuai dengan waktu ketersediaan dosen.

Agar penjadwalan dapat dibuat dengan benar, terdapat sejumlah factor dan aturan penjadwalan yang harus dipenuhi. Faktor yang berpengaruh dalam pembentukan jadwal meliputi:

1. Dosen

Dosen tidak dapat mengajar beberapa mata kuliah pada jam yang sama. Misalnya, Dosen untuk mata kuliah Bahasa Pemrograma II, M. Andri Budiman, ST, M.Comp.Sc, MEM, tidak boleh mengajar pada jam sama untuk mata kuliah Analisis & Disain Algoritma.

2. Ruang

Jumlah ruangan yang ada di Program Studi Ilmu Komputer sangat terbatas, sehingga harus diperhatikan ruang yang tersedia agar tidak mengganggu jalannya perkuliahan.

3. Mata Kuliah

Harus dibuatnya aturan yang membatasi penjadwalan mata kuliah, agar mata kuliah sesuai dengan aturan-aturan penjadwalan

4. Waktu

(57)

dan mulai kembali jam 13.00. sehingga pengaturan waktu sangat diperlukan dalam penyusunan jadwal.

Tabel 3.5: Contoh Dosen dan Mata Kuliah yang Diampunya

Dosen Mata Kuliah yang Diampu

Mata Kuliah Kode

Bahasa Pemrograman II KTC 202 Dian Wirdasari, S.Si ,

M.Kom

Konsep Dasar Pemrograman

ILK1201

Komputer & Masyarakat KTE 301 Jos Timanta Tarigan, Msc Struktur Data KTB 203

Komponen berikutnya adalah mahasiswa. Setiap mahasiswa harus mengambil paket mata kuliah wajib jika indeks prestasinya cukup, dan jika berlebih, maka tiap mahasiswa boleh mengambil mata kuliah atas, atau mengulang mata kuliah bawah. Contoh paket mata kuliah wajib yang ada di Jurusan Ilmu Komputer terlihat pada tabel dibawah ini.

Tabel. 3.6: Contoh Paket Mata Kuliah

Semester Mata Kuliah Wajib

I UNI1201 , UNI1202, UNI1203,UNI1204, UNI1205,UNI1208,ILK1200,UNI1222,ILK1201

(58)

III UNI 106, UNI 108,KTB 202,KTB 203,KTC 201 KTC 202

V KTB 301,KTB 302,KTB 303,KTB 304KTC 301 KTC 302,KTC 303,KTE 301

VII KTB 401,KTC 401,KTC 402,KTD 401KTD 402 Komponen utama selanjutnya adalah satuan waktu kuliah, yaitu durasi waktu per jam kuliah. Satuan waktu yang digunakan di Fasilkom-TI adalah 50 menit untuk tiap 1 SKS. Berikut adalah daftar urutan waktu yang berlaku di Fasilkom-TI.

Tabel 3.7: Daftar jam Kuliah

Jam Kuliah Waktu

(59)

dengan jumlah mahasiswa yang mengikuti perkuliahan didalam satu mata kuliah. Contoh nya adalah sebagai berikut;

Tabel 3.8: Ruangan Dan Kapasitas

Id Ruangan Nama Ruangan Kapasitas maksimal

0 Ruang Basic 75

Komponen-komponen utama tersebut akan menghasilkan jadwal mata kuliah yang akan digunakan untuk semester tertentu. Penjadwalan dapat dikatakan optimal jika semua komponen saling terhubung dan aturan-aturan untuk tiap komponen dapat terpenuhi. Contoh hasil jadwal mata kuliah di Fasilkom-TI untuk semester adalah sebagai berikut:

Tabel 3.9: Contoh Penjadwalan mata Kuliah

Hari Waktu Mata Kuliah Ruangan Dosen

Pascal Handrial, S.Si, M.Comp,Sc

(60)

09.40-Rabu 13.00-15.30

Struktur data (KTB 301 /B)

Fortran Jos Timanta Tarigan, S.Kom, M,Sc

Basic Drs. Marihat Situmorang, M.Kom.

Fortran Drs. Dahlan Sitompul, M.Eng

3.3.2 Aturan Umum Penjadwalan

Ada beberapa aturan umum yang digunakan didalam penjadwalan perkuliahan, diantaranya adalah sebagai berikut

1. Ada batasan yang pasti pada kesediaan ruangan dan waktu.

Ruangan yang dimiliki jumlahnya tetap sepanjang 1 semester, tidak berubah-ubah jumlah nya

2. Tidak ada mahasiswa yang menghadiri dua kelas mata kuliah yang

berbeda pada waktu yang berbeda pada waktu yang sama.

3. Tidak ada dosen yang mengajar dua kelas mata kuliah yang berbeda pada

waktu yang sama.

4. Dua kelas mata kuliah yang berbeda tidak dapat berada pada ruangan

dan waktu yang sama.

Tidak mungkin ada dua kelas mata kuliah yang berbeda diselenggarakan bersamaan di sebuah ruangan.

5. Jadwal kuliah merupakan kombinasi yang mungkin dari

komponen-komponen utama, yaitu dosen, ruang, waktu dan mahasiswa pada suatu

kelas mata kuliah tertentu. Ketidaklengkapan dari komponen utama

(61)

Sebuah kelas mata kuliah tidak mungkin diselenggarakan jika tidak ada dosen yang mengampu, tidak ada alokasi waktu , tidak disediakan ruang kuliah atau tidak ada mahasiswa yang mengambil mata kuliah itu.

6. Jadwal kuliah yang dihasilakan hanya baik bagi periode waktu tertentu,

dalam hal ini semester, setelah itu komponen-komponen penyususnnya

bisa mengalami perubahan sehingga jadwal yang lalu tidak dapat

dipergunakan lagi.

Pengaruh dari komponen utama, seperti data dosen, mata kuliah, data ruangan sangat mempengaruhi proses penjadwalan. Contohnya adalah : peserta kelas mata kuliah tertentu setiap semester bisa bertambah atau berkurang sehingga mempengaruhi pemilihan ruangan yang digunakan.

3.3.3 Aturan Khusus penjadwalan di Fasilkom-TI

Selain aturan umum yang digunakan didalam penjadwalan perkuliahan, ada juga aturan khusus yang digunakan didalam penjadwalan perkuliahan di Program Studi Ilmu Komputer, di antaranya adalah

1. Mata kuliah wajib tingkat semester berdekatan tidak boleh diselenggarakan

pada saaat yang bersamaan.

Contoh dari aturan tersebut adalah : mata kulaih wajib semester 1 tidak bolehkonflik dengan mata kuliah wajib semester 3, tetpi boleh konflik dengan mata kuliah wajib semester 5, sedangkan mata kuliah wajib semester 2 tidak boleh konflik dengan mata kuliah wajin semester 4, tetapi boleh konflik dengan mata kuliah wajib semester 6. Hal ini dilakukan mengingat banyaknya mahasiswa yang memilih untuk mengambil mata kuliah wajib semester berikutnya dari pada mata kuliah pilihan.

2. Dosen tidak boleh mengajar lebih dari 11 SKS, dengan toleransi 12 SKS, pada

strata 1 (Satu) reguler.

(62)

3. Jadwal mata kuliah yang disusun hanya berlaku untuk 1(satu) semester, bisa

semester ganjil, semester genap atau semester ganjil.

4. satu mata kuliah dapat diampu lebih dari seorang dosen

Contoh dari pernyataan ini adalah: mata kuliah Struktur Data pada semester 3(tiga) Memiliki 2(dua) Dosen. Yaitu : Drs. Partano Siagian, M.Sc untuk kelas A dan B, Sedangkan untuk kelas C, dosen yang mengajar adalah Jos Timanta Tarigan, S.Kom, M.Sc.

5. Dosen ditempatkan pada kelas mata kuliah yang hanya diampunya sebelum

jadwal dibuat, satu mata kuliah ditawarkan hanya jika ada dosen yang bisa

mengampunya.

Jika mata kuliah yang tidak mendapatkan dosen adalah mata kuliah wajib, maka akan dicarikan dosen, sebab mata kuliah itu tetap harus diselnggarakan, sedangkan jika tidak mendaptkan dosen adalah mat kuliah pilihan, maka mata kuliah itu tidak akan di tawarkan.

6. waktu kuliah dalam sehari dimulai dari jam 08.00 sampai 17.10. lama setiap

satuan waktu kuliah adalah 50 menit, dalam jangka waktu 1 hari terdapat 9

(Sembilan) slot waktu, maka 5 (hari).

7. Sebaiknya ada waktu istirahat bagi dosen minimal 1 satuan waktu diantara 2

kelas yang berbeda.

Alasan mengapa diperlukan waktu istirahat ini adalah agar tidak menurunkan kualitas materi yang akan disampaikan pada kelas mata kuliah berikutnya. Namun pada prakteknya aturan ini tidak dapat dilakukan mengingat keterbasan waktu, sedikitnya jumlah dosen dan banyaknya jumlah mata kuliah yang diselenggarakan. Selain itu dosen memiliki waktu istirahat minimal 10 (sepuluh) menit diantara jam kuliah.

(63)

Tujuan dibuatnya perancangan perangkat lunak ini adalah agar menentukan bagimana system akan berfungsi. Jika terjadi kesalahan pada perancangan, akan mengakibatkan kegagalan pada penyelesaian masalah oleh computer.

3.4.1. Hasil Perancangan

Tahapan yang ada dalam perancangan adalah tahapan untuk menspesifikasikan proyek yang nantinya akan dibuat.Pada perancangan aplikasi penjadwalan mata kuliah dengan menggunakan algoritma genetika, ada beberapa dokumen yang akan dibuat, yaitu:

1. Pemodelan proses 2. Pemodelan data

3. Pemodelan Antar Muka

3.4.1.1 Pemodelan Proses

Pengertian Pemodelan Proses adalah bagaimana cara formal untuk menggambarkan aplikasi penjadwalan beroperasi. Cara yang paling sering digunakan adalah dengan menggunakan data flow diagram (DFD). Pemodelan prose berupa pemodelan fungsi yang digambarkan dengan Diagram Arus Data (DAD).

1. Diagram Konteks ( DAD Level 0).

(64)

Admin

0 Sistem penjadwalan

algoritma genetika Data Mata Kuliah, Dosen, Kelas,

Matkul_dosen-kelas, Ruang,

Info Data Mata kuliah , Dosen, Matkul_dosen_kelas, Ruang, Kelas

Gambar 3.2: Diagram konteks

2. Diagram Arus Data level 1 Penjadwalan algoritma genetika

(65)

admin

Info jadwal kuliah algoritma genetika

Jadwal kuliah algoritma genetika

Gambar 3.3 Diagram Arus Data level 1 Penjadwalan algoritma genetika

3. Diagram Arus Data Level 2 Proses 2 Pengolahan Data

Pada Diagram Arus Data Level 2 Proses 2 Pengolahan Data Master terdapat 5 proses yaitu pengolahan data mata kuliah, pengolahan data dosen, pengolahan data kelas, pengolahan data ruang

(66)

Admin

4. DAD Level 2 Proses 4 Pengolahan Jadwal Algoritma Genetika

(67)

proses pengulangan algoritma genetika. Ditunjukkan pada gambar

Gambar 3.5: DAD Level 2 Proses 4 Pengolahan jadwal algoritma Genetika

3.4.1.2Pemodelan Data

Terdapat 2 perancangan permodelan data yang digunakan yaitu perancangan database konseptual (Entity Relationship Diagram) dan fisik.

(68)

User

Gambar 3.6 : Perancangan ERD

Keterangan :

Kelas : Id_kelas, Kelas

Matkul_dosen_kelas : Id_md, Id_matkul, Id_dosen, Id_kelas

Ga_Kuliah : Id_best_kul, Num_gen_kul, kromosom_kul, fitness_kul

2) Perancangan database fisik

a. Nama tabel : Dosen Kunci Utama : nidn

(69)

Tabel 3.10 : Struktur Tabel Dosen

Fungsi : Untuk menyimpan data mata kuliah

Tabel 3.11: Struktur Tabel Mata Kuliah

No Nama Field Type dan panjang Kunci Utama : Id_ruang

Fungsi : Untuk menyimpan data ruangan perkuliahan

Tabel 3.12 : Struktur Tabel Ruang

(70)

d. Nama Tabel : Kelas Kunci Utama : Id_kelas

Fungsi : Untuk menyimpan data kelas

Tabel 3.13: Struktur Tabel Kelas

No Nama Field Type dan panjang keterangan 1 Id_kelas Integer (10) Nomor id kelas 2 Id_mk Integer (4) Kode mata kuliah 3 Nidn Varchar (20) Id Dosen

4 Id_jadwal Integer (3) Kode jadwal 5 Id_ruangan Integer (2) Kode ruangan

e. Nama Tabel : jadwal Kunci Utama : Id_jadwal

Fungsi : Untuk menyimpan database jadwal

Tabel 3.14: Struktur Tabel Jadwal

No Nama Field Type dan panjang field

keterangan

1 Id_kelas Integer (3) Nomor id kelas 2 Hari Varchar (10) Hari kuliah 3 Jam_mulai Integer (1) Jam mulai kuliah 4 Jam_selesa

i

(71)

3.4.1.3Perancangan User Interface

Pada aplikasi penjadwalan ini, akan langsung memberikan penjadwalan perkuliahan yang sudah diproses. Terdiri dari 5 (lima) kolom yang berisi hari, nama mata kuliah, semester, kelompok dan inisialisasi nama dosen yang bersangkutan. Penjadwalan mata kuliah ini akan dimasukkan kedalam semua ruangan yang tersedia, yaitu ruangan pascal, ruangan fortran, ruangan visual basic, ruangan java, dan ruangan delphi. contoh Perancangan User Interface ruang penjadwalan adalah sebagai berikut :

Tabel 3.15 : Interface Ruang

Jam Senin Selasa Rabu Kamis Jumat

Tampilan user interface ini dibuat menggunakan HTML (Hypertext Markup Language).

1. Untuk tampilan warna background menggunakan kode HTML yaitu : <td bgcolor="#8E9E82">

2. Untuk tampialn warna tulisan menggunakankode HTML yaitu : <font color="#F2F0DF">

3. Jenis tuliasan yang digunakan adalah Arial. Kode HTML nya adalah : font-family:"Arial"

(72)

BAB IV

IMPLEMENTASI DAN PENGUJIAN

Implementasi dan pengujian pada bab 4 dikerjakan sesuai dengan perancangan yang telah dijabarkan di bab 3. Implementasi merupakan tahapan lanjutan dari perancangan, oleh karena itu tahap implementasi harus dibuat sesuai dengan perancangan aplikasi pada bab 3. Tidak hanya implementasi, pengujian juga merupakan tahapan lain yang penting untuk memastikan aplikasi yang dibangun memiliki kesalahan seminimal mungkin, dan sesuai dengan tujuan aplikasi dibangun.

4.1 Implementasi

Implementasi aplikasi penjadwalan genetika dibuat menggunakan bahasa pemrograman Java, dan menggunakan database editor PHP MyAdmin.

4.1.1 Penggunaan Aplikasi

Berikut ini akan dijelaskan implementasi dari aplikasi penjadwalan mata kuliah Fasilkom-TI USU

4.1.1.1 Halaman Utama

Halaman utama adalah halaman yang pertama muncul setiap kali pengguna menjalankan aplikasi penjadwalan. Halaman utama aplikasi dapat terlihat pada tabel di bawah ini:

(73)

Diantara nya adalah ruang Fortran, Ruang Java, Ruang Delphi. Flowchart yang digunakan dalam pembuatan program aplikasi adalah sebagai berikut:

Tabel 4.1 : Penjadwalan perkuliahan Ruang Pascal

Didalam ruangan Pascal terdapat mata kuliah, nama dosen, kelompok dan semester yang diinisialisasikan menggunakan algoritma genetika. Selain di ruangan pascal, penjadwalan mata kuliah ini juga dibiuat di ruangan-ruangan lainnya, yaitu ruangan fortran, java, delphi, visual basic.

(74)

. Tabel 4.3 : Penjadwalan perkuliahan Ruang Basic

(75)

Tabel 4.5 : Penjadwalan perkuliahan Ruang Visual Basic

Tabel 4.6: Penjadwalan perkuliahan Ruang Delphi

4.2 PENGUJIAN

(76)

ditawarkan tidak saling bertabrakan dengan jadwal dosen lainnya. Berikut adalah hasil dari penjadwan dengan jumlah data tertentu. Pengujian ini dilakukan berdasarkan alur / flowchart yang digunakan didalam program. Alur/ flowchart yang digunakan adalah sebagi berikut:

Inisialisasi Populasi

Menghitung Nilai Cost

Membuang Nilai Cost yang

Buruk

Membuat Individu yang

Baru

Memperbaiki dan Memutasi P

Baru

Menghitung Nilai Cost Popula

Mulai

Tidak

Gambar

Gambar 3.1 Diagram Proses Penjadwalan Mata Kuliah dengan Algoritma
Tabel 3.4 Contoh Seleksi Tournament
tabel dibawah ini.
Tabel 3.9: Contoh Penjadwalan mata Kuliah
+7

Referensi

Dokumen terkait

Penelitian ini bertujuan untuk mengetahui kadar unsur dan senyawa kimia limbah cangkang kerang Totok (Geloina sp.) hasil tangkapan masyarakat desa Bulupayung Cilacap di

Dapat disimpulkan bahwa ada hubungan paritas ibu dengan kejadian bayi berat lahir rendah di RSU PKU Muhammadiyah Bantul tahun 2009 dengan tingkat keeratannya sangant rendah..

Menurut hipotesis ini reaksi pengangkutan elektron yang menghasilkan energi dirangkaikan dengan reaksi yang membutuhkan energi dari pembentukan menghasilkan energi

Pada studi ini menggunakan metode Quadratically Constrained Quadratic Program (QCQP) untuk menghitung biaya minimum pembangkitan energi listrik terhadap permintaan beban

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions! Start Free Trial!. Cancel Anytime... Trusted by over 1

Berdasarkan hasil penelitian yang telah dilakukan analisis dan pembahasan terhadapnya, dapat disimpulkan bahwa terdapat konsep geometri pada perangkat yang digunakan

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

Brawijaya. Pembimbing I: Tantri Refa Indhiarti; Pembimbing II: Yana Shanti Manipuspika. Kata kunci: Register, Sosiolinguistik, Proses Pembuatan Film, Komunitas. Register