Anda di halaman 1dari 15

PENJADWALAN MATA KULIAH MENGGUNAKAN

METODE ALGORITMA GENETIKA HYBRID


Proposal Tugas Akhir
Kelas TA 1

Muhammad Arief Priambodo


1107120098

Program Studi Sarjana Ilmu Komputasi


Fakultas Informatika
Universitas Telkom
Bandung
2015

LEMBAR PERSETUJUAN
PENJADWALAN MATA KULIAH MENGGUNAKAN
METODE ALGORITMA GENETIKA HYBRID
UNIVERSITY TIMETABLING PROBLEM USING
GENETIC ALGORITHM HYBRID
Muhammad Arief Priambodo
NIM : 1107120098

Proposal ini diajukan sebagai usulan pembuatan tugas akhir pada


Program Studi Sarjana Ilmu Komputasi
Fakultas Informatika Universitas Telkom

Bandung, 6 November 2015


Menyetujui

Calon Pembimbing 1

Fhira Nhita, St.,Mt.


NIP : 11860795

Calon Pembimbing 2

Annisa Aditsania
NIP :

ABSTRAK
Penjadwalan mata kuliah merupakan suatu hal yang sangat penting dalam
dunia perkuliahan, karena apabila tidak adanya penjadwalan terhadap mata kuliah
maka tidak akan terjadi kegiatan belajar mengajar didalam Universitas tersebut.
Pengaturan penjadwalan mata kuliah memiliki tantangan tersendiri dikarenakan
banyaknya pertimbangan pertimbangan yang harus diperhatikan, dan jika
pertimbangan yang berada dalam penjadwalan tersebut tidak diperhitungkan
dengan baik, maka akan menghasilkan penjadwalan yang tidak optimal.
Pertimbangan tersebut diantaranya adalah adalah jumlah mahasiswa, jumlah
ruangan, jumlah dosen yang tidak sebanding dengan jumlah mata kuliah, serta
waktu perkuliahan yang telah ditentukan. Dalam penelitian kali ini penjadwalan
mata kuliah akan menggunakan metode algoritma genetika. Hasil akhir dari
penelitian ini adalah diperoleh kromosom kromosom yang memiliki nilai fitness
terbaik yang dimana kromosom tersebut merupakan solusi untuk penjadwalan
mata kuliah ini.
Kata Kunci : Penjadwalan, Algoritma Genetika.

DAFTAR ISI

LEMBAR PERSETUJUAN.....................................................................................i
ABSTRAK...............................................................................................................ii
DAFTAR ISI...........................................................................................................iii
BAB I PENDAHULUAN........................................................................................1
1.1

Latar Belakang..........................................................................................1

1.2

Rumusan Masalah.....................................................................................2

1.3

Tujuan........................................................................................................2

1.4

Batasan Masalah........................................................................................2

1.5

Hipotesis....................................................................................................2

1.6

Metodologi................................................................................................2

1.6.1

Studi pustaka/literatur........................................................................2

1.6.2

Pengumpulan Data.............................................................................2

1.6.3

Analisa dan Perancangan Sistem.......................................................3

1.6.4

Implementasi Sistem..........................................................................3

1.6.5

Analisis Hasil Implementasi..............................................................3

1.6.6

Pembuatan Laporan............................................................................3

1.7

Jadwal Kegiatan........................................................................................3

BAB II LANDASAN TEORI..................................................................................4


2.1 Optimasi.........................................................................................................4
2.2 Penjadwalan (Time Tabling)...........................................................................4
2.3 Algoritma Genetika........................................................................................4
BAB III PERANCANGAN SISTEM......................................................................8
3.1 Deskripsi Sistem.............................................................................................8
3.2 Flowchart Sistem............................................................................................8
3.3 Data Acuan.....................................................................................................9
3.4 Perangkat Lunak.............................................................................................9
DAFTAR PUSTAKA.............................................................................................10

BAB I
PENDAHULUAN
1.1 Latar Belakang
Penjadwalan adalah bagian yang sangat penting terhadap suatu kegiatan,
terutama untuk kegiatan seperti pendidikan , transportasi , olahraga , lembaga
kesehatan dan lain sebagainya. Pentingnya suatu jadwal untuk suatu kegiatan
tidak lain agar berjalannya suatu kegiatan dengan lancar tanpa adanya gangguan
seperti bentroknya jadwal. Penyusunan jadwal memiliki tantangan tersendiri,
karena perlu adanya syarat - syarat dan banyaknya pertimbangan yang harus
dipenuhi, sehingga didapatkan jadwal yang seefisien mungkin.
Penjadwalan mata kuliah pada suatu Institusi/Unviversitas bukanlah
perkara yang dapat dikatakan mudah karena banyak sekali faktor yang dapat
mempengaruhi jadwal tersebut. Permasalahan yang sering disebut dengan
University Timetabling Problem (UTP), memerlukan banyak pertimbangan dan
hal hal yang perlu diperhatikan dalam penjadawalan mata kuliah, diantaranya
adalah jumlah mahasiswa, jumlah ruangan, jumlah dosen yang tidak sebanding
dengan jumlah mata kuliah, serta waktu perkuliahan yang telah ditentukan.
Dengan pertimbangan pertimbangan yang sudah diutarakan sebelumnya,
maka diperlukan penjadwalan yang optimal yang dapat membuat jadwal dengan
cepat, efisien dan tetap harus memperhatikan pertimbangan/aturan yang ada. Pada
penelitian ini metode yang digunakan adalah menggunakan algoritma genetika,
agar didapatkan suatu solusi penjadwalan yang optimal dan efisien.
Algoritma genetika adalah pencarian stokastik berdasarkan mekanisme
seleksi alam dan genetika alam[1]. Algoritma genetika dimulai dengan me-set
solusi secara acak yang disebut populasi[1]. Dan setiap individu dalam populasi
disebut kromosom[1].
Penelitian ini ditujukan untuk memberi salah satu solusi pada penjadwalan
mata kuliah Program Perkuliahan Dasar dan Umum ( PPDU) dan dibatasi hanya
untuk Fakultas Teknik yang berada pada Universitas Telkom. PPDU sendiri
adalah mata kuliah paket wajib yang dilaksanakan selama satu tahun.

1.2 Rumusan Masalah


1.

Bagaimana penerapan Algoritma Genetika pada penjadwalan mata kuliah


PPDU di Fakultas Teknik Universitas Telkom.

1.3 Tujuan
1. Memberikan solusi penjadwalan mata kuliah secara optimal dan efisien.
2. Menerapkan Algoritma Genetika pada penjadwalan mata kuliah PPDU di
Fakultas Informatika Universitas Telkom.

1.4 Batasan Masalah


1.
2.
3.
4.

Mata kuliah yang digunakan adalah mata kuliah PPDU.


Penelitian penjadwalan dilakukan hanya untuk Fakultas Teknik.
Perkuliahan diadakan setiap hari senin hingga hari sabtu
Waktu perkuliahan diadakan enam kali setiap harinya

1.5 Hipotesis
Algoritma genetika adalah algoritma yang dikembangkan dari proses
pencarian solusi menggunakan pencarian secara acak, ini terlihat pada proses
pembangkitan solusi secara acak yang disebut populasi. Berikutnya pencarian
menghitung nilai fitness awal, melakukan proses crossover, proses mutasi, dan
melakukan proses seleksi hingga menghasilkan populasi baru. Proses ini akan
berlangsung sampai menemukan solusi yang diharapkan.
Dengan mengacu pada pencarian fitness terbaik, algoritma genetika akan
selalu menunjukan nilai fitness pada generasi selanjutnya lebih baik atau minimal
sama dengan nilai fitness terbaik pada generasi sebelumnya.

1.6 Metodologi
Metodologi yang digunakan pada penlitian ini adalah sebagai berikut.
1.6.1

Studi pustaka/literatur

Studi literatur dilakukan dengan mengkaji materi materi dari


referensi yang kita dapat, yang dimana bertujuan agar penulis lebih
memahami metode yang digunakan untuk menyelesaikan permasalahan
yang diangkat yaitu penjadwalan mata kuliah.
1.6.2

Pengumpulan Data

Pengumpulan data dilakukan dengan cara menghubungi pihak PPDU


untuk meminta izin mengambil semua data matakuliah PPDU yang
dilaksanakan pada tahun pertama.

1.6.3

Analisa dan Perancangan Sistem

Data yang sudah terkumpul selanjutnya akan diolah menggunakan


metode algoritma genetika yang disesuaikan dengan permasalah yang
diangkat. Kemudian dilakukan analisis terhadap perancangan sistem
dengan memperhatikan memperhatikan solusi solusi yang diperoleh agar
memperoleh penjadwalan yang optimal dan efisien.
1.6.4

Implementasi Sistem

Pembangunan sistem disesuaikan dengan hasil dari perancangan


sistem yang telah dianalisis, sehingga diperoleh solusi yang optimal.
1.6.5

Analisis Hasil Implementasi

Pada tahap ini dilakukan pengujian terhadap solusi optimal yang


diperoleh dari data yang diuji.
1.6.6

Pembuatan Laporan

Berdasarkan implementasi pengujian dan analisis terhadap data yang


diuji, maka akan dibuat hasil laporan tugas akhir.

1.7 Jadwal Kegiatan


N
o Kegiata
.
n
Studi
Literat
1 ur
Pengu
mpula
2 n Data
Peranc
angan
3 Sistem
Imple
mentas
i
4 Sistem
Analisi
s Hasil
Imple
mentas
i
5 Sistem

Bula
n1

Bulan
2

Bulan
3

Bulan
4

Bulan
5

Bula
n6

Penyus
unan
Lapora
6 n

BAB II
LANDASAN TEORI
2.1 Optimasi
Optimasi menurut wikipedia adalah suatu proses untuk mencapai hasil
yang ideal atau optimal (nilai efektif yang dapat dicapai). Tujuan dari optimasi
adalah untuk meminimumkan atau memaksimalkan suatu usaha sesuai dengan apa
yang dibutuhkan. Mengacu pada kasus yang dibahas pada penelitian kali ini, maka
optimasi bertujuan untuk mencari nilai fitness terbaik yang terdapat dalam
algoritma genetika. Dengan tercapainya nilai fitness terbaik maka akan didapatkan
pula suatu solusi yang baik untuk diimplementasikan kepada penjadwalan mata
kuliah.

2.2 Penjadwalan (Time Tabling)


Penjadwalan adalah bagian yang sangat penting terhadap suatu kegiatan,
terutama untuk kegiatan seperti pendidikan , transportasi , olahraga , lembaga
kesehatan dan lain sebagainya. Pada kasus kali ini penjadwalan yang akan dibahas
adalah permasalahan penjadwalan mata kuliah yang sering disebut dengan
University Timetabling Problem (UTP). Perbedaan utama antara permasalahan
penjadawalan lainnya adalah kompleksitas dan kendala yang ada pada tiap kasus
penjadwalan tersebut. Jadi setiap solusi yang didapat tidak akan sesuai dengan
solusi penjadwalan lainnya dengan kata lain solusi tersebut merupakan solusi
yang unik.
Permasalahan yang akan dihadapi pada penjadwalan mata kuliah
diantaranya adalah mencocokan antara mata kuliah dengan dosen yang sesuai, dan
juga dicocokan dengan waktu perkuliahan yang sudah ditetapkan sebelumnya.
Berikutnya mencari kelas yang tidak menyebabkan terjadinya bentrok.
Penjadwalan sendiri merupakan permasalahan yang dapat dipelajari secara
luas dan banyak algoritma yang berpotensi untuk menyelesaikan permasalah
penjadwalan. Diantaranya adalah menggunakan algoritma genetika. Algoritma
genetika adalah algoritma pencarian heuristik yang didasarkan atas mekanisme
seleksi alami dan genetika alami. Diharapkan dengan menggunakan metode ini
didapatkan solusi yang tepat untuk menyelesaikan permasalahan pernjadwalan
mata kuliah.

2.3 Algoritma Genetika


Untuk menyelesaikan kasus penjadwalan mata kuliah maka kali ini penulis
akan menggunakan metode algoritma genetika, dimana algoritma genetika ini
dirasa tepat untuk menyelesaikan permasalahan yang ada. Algoritma genetika
sendiri adalah algoritma yang dikembangkan dari proses pencarian solusi
menggunakan pencarian secara acak, ini terlihat pada proses pembangkitan solusi
secara acak yang disebut populasi.
Populasi sendiri terdiri dari beberapa individu individu yang disebut
kromosom, banyaknya kromosom pun didapat secara acak. Di dalam kromosom
terdapat gen, dan posisi yang ditempati gen dalam kromosom disebut loci.
Berikutnya hitung nilai fitness disetiap kromosom, lalu dievaluasi kembali dengan
melakukan proses crossover dan proses mutasi. Dan berikutnya melakukan proses
seleksi kromosom hingga menghasilkan populasi baru. Setelah itu lakukan
menghitung nilai fitness dan melakukan evaluasi kembali pada generasi (iterasi)
yang baru. Proses ini akan berlangsung secara terus meneruts sampai
menemukan solusi yang diharapkan atau jumlah generasi yang diminta telah
tercapai.
Adapun istilah istilah yang digunakan dalam metode algoritma genetika
adalah sebagai berikut :
1. Gen
Bagian dari kromosom, gen bisa berupa nilai biner, float, integer
maupun karakter.
2. Alle
Nilai dari suatu gen
3. Kromosom
Gabungan dari gen gen.
4. Individu
Nilai atau keadaan yang menyatakan salah satu solusi yang mungkin
dari permasalahan yang diangkat
5. Populasi
Sekumpulan individu yang akan diproses bersama dalam satu siklus
iterasi.
6. Generasi
Merupakan satuan iterasi
7. Fitness
Suatu nilai dari setiap individu yang merupakan suatu solusi.
Adapun langkah langkah algoritma genetika adalah sebagai berikut :
1. Pembentukan Populasi
Langkah pertama yang dilakukan oleh algoritma genetika yaitu dengan
me-set satu solusi secara acak yang dikenal dengan sebutan populasi.
Populasi tersebut diwakili oleh beberapa kromosom[4]. Pengesetan populasi

hanya dilakukan sekali, dan ukuran populasi tersebut akan dipertahankan


diseluruh generasi. Yang berubah hanyalah kromosom kromosom yang
terdapat di dalam populasi, dengan melihat nilai nilai fitnes setiap
kromosom yang dipilih.
2. Pemilihan Kromosom
Berikutnya yang dilakukan adalah dengan memilih keromosom secara
acak yang dimana akan dikawin silangkan ataupun dilakukan dengan cara
mutasi secara acak dan menghasilkan keturunan yang baru, dengan
melihat nilai kromosom. Karena kromosom dengan nilai fitness tinggi
memiliki probabilitas tinggi untuk terpilih [1]. Proses evolusi ini terus
berulang hingga beberapa kondisi terpenuhi. Adapun kondisi kondisi
tersebut adalah jika jumlah generasi yang ditentukan sebelumnya sudah
tercapai, jika nilai fitness terbaik telah tercapai, dan jika setelah beberapa
generasi nilai fitness terbaik tidak berubah ubah.
3. Pemilihan Individu Induk
Setelah kromosom terbentuk, berikutnya adalah melakukan pemilihan
individu induk, yang dimana pada nantinya individu individu ini akan
digunakan untuk proses kawin silang.
4. Cross-over
Proses kawin silang yang dilakukan adalah dengan memecah
kromosom menjadi dua jenis, secara acak. Sebagai contoh apabila terdapat
dua kromosom dengan nilai bit pada koromosom (a) adalah 0 1 0 0 yang
diman 0 1 mewakilkan dosen (a) dan 0 0 mewakili mata kuliah berjumlah
2 sks dan pada kromosom (b) 0 0 1 0 yang diman 0 0 mewakilkan dosen
(b) dan 1 0 mewakili mata kuliah berjumlah 3 sks . Maka kita pecah
menjadi dua bagian lalu dikawin silangkan salah satu bagian antara
kromosom (a) dengan kromosom (b), yang dimana akan mengahasilkan
individu individu yang baru.

5. Mutasi
Mutasi otomatis dilakukan sebelum memasuki proses kawin silang.
Proses ini dilakukan untuk memeriksa apakah terdapat dosen mengajar di
waktu yang bersamaan atau tidak.
Mutasi manual dilakukan apabila masih terdapat jadwal yang kurang
sesuai dengan hasil yang diharapkan. Mutasi dapat memperbaiki nilai
fitness yang sudah diperoleh dan juga dapat memperbaiki peletakan mata
kuliah yang kurang sesuai

10

Terdapat dua cara melakukan proses mutasi manual yaitu dengan


cara acak dan dengan cara swap[3]. Sebagai contoh terdapat kromosom (a)
dengan nilai 1.5 2 1 4, maka apa bila melakukan mutasi dengan cara acak,
tentukan terlebih dahulu gen yang akan diacak setelah itu lakukan
pengubahan nilai pada gen yang dipilih secara acak.

Dan apabila menggunakan cara swap tentukan dua gen terlebih


dahulu yang akan dilakukan swap, setelah itu hanya melakukan
penggantian nilai antara gen satu dengan gen yang lainnya yang terpilih
untuk di swap.

BAB III
PERANCANGAN SISTEM

3.1 Deskripsi Sistem


Pada tugas akhir ini, dilakukan perancangan sistem untuk membuat
penjadwalan mata kuliah dengan menggunakan Algoritma Genetika (GA).
Pencarian solusi untuk masalah penjadwalan ini menggunakan data acuan yang
diberikan oleh pihak PPDU, yaitu data mata kuliah pada tingkat pertama dari
Fakultas Informatika yang terdiri dari dua jurusan yaitu Jurusan Informatika dan
Jurusan Ilmu Komputasi, yang dimana keduanya memiliki mata kuliah yang
berbeda dan dosen pengajar yang berbeda juga. Keluaran yang diharapkan adalah
solusi yang optimal dan sesuai untuk penjadwalan mata kuliah dengan data acuan
yang digunakan yaitu data mata kuliah PPDU Fakultas Informatika.

3.2 Flowchart Sistem


Adapun flowchart algoritma genetika yang digunakan sebagai metode
untuk menyelesaikan permasalahan penjadwalan pada penelitian kali ini.

11

Penjelasan terhadap tahapan algoritma genetika tersebut :


1. Langkah pertama yaitu dengan membangkitkan populasi awal secara acak.
2. Berikutnya adalah menghitung nilai fitness dari setiap kromosom yang
terdapat pada satu populasi tersebut
3. Menyeleksi tiap individu dengan mengacu pada nilai fitness setiap
individu
4. Lalu dilakukan tahapan proses kawin silang
5. Dan dilakukan proses mutasi
6. Setelah itu akan menghasilkan individu individu baru, yang nantinya
individu individu ini akan menjadi solusi
7. Apabila solusi yang dihasilkan sudah optimal atau sudah seperti yang
diinginkan maka proses dapat diakhiri, tetapi apabila solusi yang
dihasilkan belum optimal maka kembali ke proses menghitung nilai
fitness. Terus berulang hingga iterasi yang diinginkan terpenuhi atau sudah
mendapatkan solusi yang optimal.

3.3 Data Acuan


Penjadwalan mata kuliah ini menggunakan data acuan mata kuliah PPDU
Fakultas Informatika., yaitu data mata kuliah pada tingkat pertama dari Fakultas
Informatika yang terdiri dari dua jurusan yaitu Jurusan Informatika dan Jurusan
12

Ilmu Komputasi, yang dimana keduanya memiliki mata kuliah yang berbeda dan
dosen pengajar yang berbeda.

3.4 Perangkat Lunak


Perangkat lunak yang digunakan untuk implementasi sistem dengan
menggunakan Matlab versi 8.1.0.604 yang dijalankan pada Laptop Dell core i72330 CPU@2,2 GHz, RAM 8 Gb, Sistem operasi Windows 7.

13

DAFTAR PUSTAKA
[1] Mawaddah, N.K, dan Mahmudy, W.F., Optimasi Penjadwalan Ujian
Menggunakan Algoritma Genetika. FMIPA Universitas Brawijaya, 2006.
[2] Bangun, Putra Bahtera Jaya, Octarina, S., Virgo, G.A., Penerapan Konsep
Algoritma Genetika untuk Penjadwalan Kegiatan Perkuliahan Semester Ganjil
Kurikulum 2012 di Jurusan Matematika FMIPA UNSRI. FMIPA Universitas
Sriwijaya, 2012.
[3] Basuki, A., ALGORITMA GENETIKA Suatu Alternatif Penyelesaian
Permasalahan Searching, Optimasi dan Machine Learning. Politeknik
Elektronika Negeri Surabaya, 2003.
[4] Abdullah, S., HEURISTIC APPROACHES FOR UNIVERSITY
TIMETABLING PROBLEMS. The School of Computer Science and
Information Technology, 2006.
[5] Amrizal, V., Algoritma Genetika. Fakultas Sains dan Teknologi Universitas
Islam Negeri Syarif Hidayatullah Jakarta, 2012.
[6] Murray, K., Mller, T., dan Rudov, H., Modeling and Solution of a Complex
University Course Timetabling Problem. Faculty of Informatics, Masaryk
University, 2007.
[7] Qu, R., Burke, E.K., McCollum, B., Merlot, L.T.G., dan Lee, S.Y., A survey
of search methodologies and automated system development for examination
timetabling. 2006.
[8] Soenandi, I.A., KONSEP ALGORITMA GENETIKA BINER UNTUK
OPTIMASI PERENCANAAN JADWAL KEGIATAN PERKULIAHAN.
Fakultas Teknik dan Ilmu Komputer Jurusan Teknik Industri Universitas Kristen
Krida Wacana, 2013.
[9] Kahar, M.N.M., dan Kendall, G., A great deluge algorithm for a real-world
examination timetabling problem. 2013.
[10] Witary, V., Rachmat, N., dan Inayatullah, Optimasi Penjadwalan
Perkuliahan dengan Menggunakan Algoritma Genetika (Studi Kasus : AMIK
MDP, STMIK GI MDP dan STIE MDP). Jurusan Teknik Informatika STMIK GI
MDP, 2013.

14

15