• Tidak ada hasil yang ditemukan

PERANCANGAN PENJADWALAN KULIAH STIKOM UY

N/A
N/A
Protected

Academic year: 2018

Membagikan "PERANCANGAN PENJADWALAN KULIAH STIKOM UY"

Copied!
8
0
0

Teks penuh

(1)

KUPANG,

PERANCANGAN PENJADWALAN KULIAH STIKOM UYELINDO DENGAN ALGORITMA GENETIK

M.I.J. Lamabelawa1, Bruno Sukarto2

1Program Studi Teknik Informatika, STIKOM Uyelindo Kupang

Jl. Perintis Kemerdekaan 1, Kayu Putih, Kupang e-mail: mijlamabelawa@gmail.com

2Program Studi Teknik Informatika, STIKOM Uyelindo Kupang

Jl. Perintis Kemerdekaan 1, Kayu Putih, Kupang e-mail:bsukarto@gmail.com

ABSTRACT

The lectures scheduling, known as timetabling problems, in STIKOM Uyelindo currently using the spreadsheet that integrates the schedule of all study programs. The spreadsheet technique has not been fully optimized, because the scheduling problems are complex. It takes a lot of resources and constraints to produce the optimum scheduling. The problem of resources is we have to combine the offered subjects, the available lecturers, the rooms, laboratories, time, and college. The hard constraints related to the relationship between lecturers and the subjects, classroom, laboratory room, availability of courses, and time availability.

Soft constraints relating to the relationship between variables such as total teaching in 1 week, the total number of subjects scheduled in a day, the number of courses offered, the total number of credit tought by one lecturer in a week. This paper discusses how the genetic algorithm can optimize the schedule with the objective of maximizing the number of classrooms used. Genetic algorithm is one of the very precise algorithm in solving a complex optimization problems, which so difficult for conventional methods. Designing using genetic algorithm is expected to be implemented in the next stage of research.

(2)

KUPANG, 1. PENDAHULUAN

STIKOM Uyelindo Kupang terdiri dari 3

Program Studi yaitu: Sistem Informasi S1, Teknik Informatika S1, dan Teknik Informatika D3.

Program Studi tersebut memiliki sistem

penjadwalan kuliah yang terintegrasi. Penjadwalan kuliah yang diterapkan saat ini dengan program spreadsheet berdasarkan pembagian beban ajar dosen, kapasitas ruang kelas, kapasitas laboratorium komputer, jumlah jam ajar, dan jumlah peminat mata kuliah.

Sistem penjadwalan yang baik akan membantu mengurangi ketidakseimbangan dalam pembagian beban ajar, tidak meratanya jam mengajar, dan jumlah jam kuliah mahasiswa. Berdasarkan hasil

pengamatan, kondisi yang ditemukan adalah

keterbatasan ruang kuliah dan laboratorium

komputer. Beberapa permasalahan penjadwalan

yang tidak seimbang adalah ada dosen yang mengajar lebih dari 4 kali dalam sehari, dalam sehari mahasiswa kuliah 4 kali secara berurutan, ataupun kuliah lebih dari 3 kali. Pengaturan jadwal membutuhkan waktu untuk memeriksa batasan konstrain seperti dosen tidak boleh mengajar pada jam yang sama di kelas berbeda, jadwal mahasiswa tidak boleh lebih dari satu kelas pada jam yang

sama. Banyaknya konstrain yang berpengaruh

terhadap pembuatan jadwal menyebabkan

perhitungan dengan hard computing akan tidak akurat dan bisa jadi tidak optimal.

Metode lain dalam ilmu komputer yang dikenal adalah metode soft computing. Metode ini mampu mengolah informasi seperti cara berpikir manusia, mempunyai kemampuan menyelesaikan masalah yang tidak pasti, model matematis non-linear dan kebenaran parsial. Metode ini dikenal sangat handal

dalam menyelesaikan sistem yang memiliki

konstrain yang banyak. Salah satu metodenya dikenal dengan algoritma genetik. Algoritma ini mampu memecahkan banyak masalah yang relatif

kompleks seperti masalah penjadwalan

(scheduling)[1].

Pertanyaan yang harus dijawab pada penelitian

ini adalah bagaimana memodelkan sistem

penjadwalan kuliah di STIKOM Uyelindo Kupang dengan menguraikan kendala-kendala menggunakan algoritma genetik. Model yang dikembangkan

diharapkan dapat diimplementasikan untuk

mengatasi permasalahan penjadwalan.

2. METODE PENELITIAN

Pada bab ini dijelaskan tinjauan pustaka terdahulu dan teori-teori yang digunakan dalam penelitian, dan langkah-langkah penelitian.

2.1 Penelitian Terdahulu

Penelitian terdahulu yang menjadi rujukan adalah Penelitian yang dilakukan oleh [2] tentang sistem penjadwalan perkuliahan yang dirancang

mengikuti sistem dimana bagian administrasi melakukan pemasukan data nama-nama mata kuliah yang akan dijadwalkan beserta besar sistem kredit semesternya(sks), ketersediaan ruangan yang akan digunakan, ketersediaan waktu dosen untuk mengajar, ketersediaan dosen untuk mengajar suatu matakuliah. Secara otomatis sistem melakukan pencarian penjadualan terbaik dengan batasan: 1. Jika ada dua jenis matakuliah yaitu matakuliah

tatap muka dan laboratorium, maka masing-masing mata kuliah tatap muka dan laboratorium dianggap sebagai matakuliah yang berbeda. 2. Maksimum sks tatap muka untuk satu mata

kuliah adalah 3 yang terjadual satu kali dalam satu minggu selama 150 menit.

3. Sistem berlaku hanya untuk satu kelas.

Pada penelitian oleh [3] ini dilakukan

pengembangan aspek-aspek perkuliahan yang

menjadi parameter penjadwalan sebagai acuan

dalam menilai suatu susunan jadwal yang ideal. Aspek-aspek tersebut diantaranya, tidak boleh ada jadwal mengajar dosen yang bentrok, tidak boleh ada kelas yang bentrok, tidak boleh ada perkuliahan pada jam larangan perkuliahan, adanya dosen yang memiliki jam-jam tidak bisa mengajar, adanya pembagian ruangan untuk masing-masing mata kuliah, dan lain sebagainya. Untuk mengoptimalkan penjadwalan mata kuliah yang ada digunakan kombinasi algoritma genetik dan tabu search.

Kesimpulan penelitian oleh [3] adalah dengan adanya penelitian ini, maka penjadwalan mata kuliah akan menjadi lebih mudah dan solusi penjadwalan yang ditemukan dapat menjadi solusi rekomendasi yang merupakan solusi optimal dari semua pilihan kandidat solusi yang muncul setelah dievaluasi kualitasnya (fitness) berdasarkan kriteria-kriteria penjadwalan yang telah ditentukan. Selanjutnya kombinasi algoritma genetik dan tabu search dilakukan dengan cara memasukkan sifat-sifat tertentu dari satu algoritma untuk menggantikan sifat tertentu dari algoritma lainnya. Dalam hal ini, pada pembangkitan kandidat solusi dalam satu populasi yang pada algoritma genetik menggunakan metode seleksi, digunakan metode ketetanggan dari algoritma tabu search. Solusi awal yang digunakan adalah solusi tunggal, bukan kumpulan solusi.

(3)

KUPANG,

pada semester yang sama tidak boleh dijadwalkan tidak termasuk dalam menentukan nilai fitness karena mereka telah menjadi kebutuhan dalam penjadwalan. Hasil penelitian terlihat bahwa waktu yang dibutuhkan untuk jadwal semester tertentu, tidak hanya ditentukan oleh parameter genetika tetapi ditentukan oleh nilai fitness dari jadwal yang sudah konvergen dan jumlah individu yang meningkat pada sebuah populasi. Kesimpulan dari penelitian ini adalah:

1) penelitian telah berhasil mengimplementasikan algoritma genetika pada aplikasi sistem penjadwalan mata kuliah berbasis web.

2) Aplikasi menghasilkan jadwal yang sesuai atau tidak ada mata kuliah yang bentrok, yaitu nilai fitnessnya 0, jika parameter genetika terhadap populasi besar. Parameter generasi yang besar tetapi jumlah populasi yang lebih sedikit cenderung menghasilkan jadwal perkuliahan yang masih terdapat mata kuliah yang bentrok. Untuk parameter genetika yang sama bisa saja terjadi nilai fitness dihasilkan berbeda.

3) Nilai parameter genetika yang diberikan tidak selalu berbanding lurus dengan waktu yang dibutuhkan aplikasi dalam menghasilkan jadwal mata kuliah, tetapi dapat ditentukan oleh nilai fitness yang dihasilkan oleh individu. Pada uji coba ke-3 dan ke-4 nilai parameter genetika yang sama, tetapi waktu yang dibutuhkan pada uji coba ke-3 lebih kecil dari pada uji coba ke-4.

Berdasarkan tinjauan penelitian yang telah dilakukan sebelumnya, penelitian yang dilakukan dengan mengambil studi kasus di STIKOM Uyelindo Kupang merupakan kasus yang baru dengan analisis algoritma genetik klasik.

2.2 Algoritma Genetika

Algoritma genetika pertama kali dikembangkan oleh John Holland dari Universitas Michigan tahun 1975. John Holland mengatakan bahwa setiap masalah yang berbentuk adaptasi baik yang alami

maupun buatan dapat diformulasikan dalam

terminologi genetika. Sebelum memanfaatkan algoritma genetika, hal yang harus dilakukan adalah menyandikan solusi dari masalah yang diberikan ke dalam kromosom pada algoritma genetika dan

membandingkan nilai fitnessnya. Sebuah

representasi algoritma genetika yang efektif dan

nilai fitness yang bermakna adalah kunci

keberhasilan dalam aplikasi genetika [4].

Dalam [3] algoritma genetik diinisialisasi dengan membangkitkan sejumlah individu sebagai anggota populasi, secara acak atau berdasarkan suatu pengetahuan tertentu. Jumlah individu dalam populasi tersebut selalu tetap selama proses evolusi. Setiap individu memiliki hanya satu kromosom yang merupakan representasi dari solusi dengan panjang yang tetap selama proses evolusi. Artinya, jumlah

gen dalam setiap kromosom tidak akan bertambah atau berkurang selama proses evolusi. Kromosom dapat direpresentasikan dalam kode biner ataupun bilangan bulat (integers).

Pada tahapan selanjutnya, setiap kromosom dievaluasi berdasarkan suatu fungsi evaluasi untuk memperoleh nilai fitness. Nilai-nilai fitness

digunakan sebagai parameter pemilihan populasi baru yang disebut orang tua. Prinsipnya pemilihan bersifat proporsional terhadap nilai fitness. Artinya, kromosom dengan nilai fitness yang lebih besar akan memiliki peluang yang lebih besar juga untuk terpilih sebagai orangtua. Selanjutnya kromosom orang tua direkombinasi dengan metode tertentu untuk menghasilkan dua kromosom baru (anak)[3].

2.3 Prosedur Umum Algoritma Genetik

Algoritma Genetik (AG) dalam [5] memiliki 5 komponen dasar yang disimpulkan sebagai berikut: 1. Algoritma genetik merepresentasikan solusi

untuk setiap masalah.

2. Suatu teknik untuk inisialiasi populasi. 3. Evaluasi rating solusi dengan nilai fitness.

4. Operator-operator genetik yang mengubah

komposisi genetik orang tua menjadi anak. 5. Nilai-nilai untuk parameter dari AG.

Algoritma genetik menjaga suatu populasi dari individu-individu yang disebut P(t) untuk generasi t. Masing-masing individu merepresentasikan solusi yang potensial untuk setiap masalah yang terjadi.

Masing-masing individu dievaluasi untuk

memberikan beberapa nilai yang disebut fitness. Beberapa individu menjalani transformasi stochastic

dalam arti untuk operasi genetik yang

ditujukanuntuk membentuk individu-individu baru. Ada 2 tipe transformasi adalah mutasi, yang mana

menghasilkan individu-individu baru dengan

menukar individu tunggal, dan crossover, yang mana

menghasilkan individu baru dengan

mengkombinasikan bagian-bagian dari 2 individu. Individu baru disebut offspring C(t) yang merupakan hasil dari evaluasi[5]. Prosedur AG dalam [5]

while (not termination condition) do begin

recombine P(t) to yield C(t) evaluate C(t)

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

(4)

KUPANG, 2.4 Langkah-Langkah Algoritma Genetik

Langkah-langkah algoritma genetika adalah:

1) Pengkodean dan representasi

Pada tahap ini seperti [3],[6] dibuat pengkodean (encoding) calon solusi dan set-up beberapa parameter awal jumlah individu, probabilitas penyilangan dan mutasi, dan jumlah generasi maksimum. Selanjutnya dibuat populasi acak sebanyak n kromosom. Inisialisasi n kromosom direpresentasikan dalam bentuk larik dengan tipe data record yang berisi data yang mendukung proses penjadwalan. Panjang dari kromosom adalah sebanyak gen yang ada, dalam hal ini setiap gen mewakili mata kuliah yang ditawarkan.

2) Evaluasi fungsi fitness

Pada tahap ini dilakukan evaluasi fitness dari tiap kromosom yang terdapat dalam populasi. Fungsi

fitness adalah fungsi yang akan mengukur tingkat

kebugaran suatu kromosom dalam populasi.

Semakin besar nilai fitness, semakin baik pula kromosom dalam populasi sehingga semakin besar kemungkinan kromosom tersebut dapat tetap bertahan pada generasi berikutnya. Perhitungan dilakukan dengan memberikan pinalti untuk setiap aturan yang digunakan dalam penjadwalan. Semakin wajib aturan dilaksanakan, maka akan semakin besar nilai pinalti yang diberikan. Aturan penghitungan fungsi fitness seperti pada [6] sebagai berikut:

Fitness = (1)

Berdasarkan Persamaan (3) diatas, nilai fitness ditentukan oleh pinalti, Pinalti menunjukkan jumlah pelanggaran kendala pada suatu kromosom. Makin tinggi nilai fitness akan semaki besar kemungkinan kromosom tersebut akan terpilih ke generasi berikutnya, Jadi nilai pinalti berbanding terbalik dengan nilai finess, semakin kecil nilai pinalti

(jumlah pelanggaran) semakin besar nilai

fitnessnya.

3) Seleksi kromosom

Seleksi adalah proses pemilihan beberapa kromosom untuk dijadikan sebagai kromosom induk bagi generasi berikutnya. Setelah populasi awal terbentuk, setiap kromosom dalam populasi dievaluasi dengan menghitung nilai fungsi fitness-nya. Kromosom terpilih untuk masing-masing

populasi di dalam generasi yang berikutnya berdasarkan nilai fitness. Kromosom hasil evaluasi dipilih dari sejumlah n individu yang memiliki nilai

fitness terbaik.

4) Membuat Polulasi Baru

Pada tahap ini dibuat populasi baru dengan mengulang langkah berikut sampai ukuran populasi terpenuhi seperti yang dilakukan oleh [2]:

a. Pilih dua kromosom dari populasi berdasarkan nilai fitness (semakin baik fitnessnya, semakin besar kesempatan untuk terpilih).

b. Berdasarkan peluang pindah silang (crossover

probability), lakukan pindah silang terhadap

induk untuk membentuk keturunan baru. Jika tidak ada pindah silang yang dilakukan, keturunan baru adalah salinan dari induknya. c. Berdasarkan peluang mutasi (mutation rate),

lakukan mutasi terhadap keturunan baru. d. Tempatkan keturunan pada populasi yang baru.

a) Penyilangan (crossover)

Setelah proses penyeleksian kromosom, langkah berikutnya adalah melakukan penyilangan terhadap pasangan-pasangan kromosom seperti pada [2]. Penyilangan dikenal sebagai operator penggabungan ulang (recombination) yang paling utama dalam algoritma genetika. Penyilangan akan menukar informasi genetik antara dua kromosom induk yang terpilih dari proses seleksi untuk membentuk dua anak. Operator penyilangan bekerja pada sepasang

kromosom induk untuk menghasilkan dua

kromosom anak dengan menukarkan beberapa

elemen (gen) yang dimiliki masing-masing

kromosom induk. Peluang penyilangan (Pc) adalah rasio antara jumlah kromosom yang diharapkan mengalami penyilangan dalam setiap generasi dengan jumlah kromosom total dalam populasi. Nilai Pc biasanya cukup tinggi (berkisar antara 0,6

1). Proses penyilangan akan terjadi pada sepasang kromosom jika suatu bilangan yang dibangkitkan secara acak (r), 0 < r < 1, nilainya kurang dari atau

sama dengan Pc. Bilangan acak tersebut

dibangkitkan setiap kali akan menyilangkan sepasang kromosom. Tingkat penyilangan yang tinggi menyebabkan semakin besar kemungkinan algoritma genetika mengeksplorasi ruang pencarian

sekaligus mempercepat ditemukannya solusi

optimum. Peluang penyilangan yang tepat dan efektif hanya dapat diketahui melalui pengujian khusus terhadap masalah yang bersangkutan.

b) Mutasi Kromosom

Operasi mutasi sangat penting apabila nilai

fitness kromosom dalam populasi cenderung sama

atau sudah mencapai konvergen bias (premature

convergen). Akibatnya, operator seleksi akan

(5)

KUPANG,

operator mutasi, struktur suatu kromosom dapat dimodifikasi agar dihasilkan kromosom dengan struktur baru yang memiliki nilai fitness lebih baik.

Mutasi umumnya digunakan untuk mencegah tidak adanya kehilangan informasi sehingga dilaksanakan dengan pertukaran informasi di dalam

kromosom. Operator mutasi dapat bersifat

konstruktif maupun destruktif terhadap suatu kromosom, tetapi karena probabilitasnya yang kecil maka terjadinya mutasi akan sangat kecil karena didominasi oleh operator penyilangan. Peluang mutasi (Pm) adalah rasio antara jumlah gen yang diharapkan mengalami mutasi pada setiap generasi dengan jumlah gen total dalam populasi. Nilai Pm yang digunakan biasanya sangat kecil (berkisar antara 0,001 –0,2). Proses mutasi akan terjadi pada

suatu gen, jika suatu bilangan yang dibangkitkan secara acak r, 0 < r < 1, nilainya kurang dari atau sama dengan Pm.

5) Kriteria Berhenti

Jika kondisi akhir terpenuhi, langkah

Algoritma Genetik berhenti dan hasil akhirnya adalah solusi terbaik pada populasi saat ini. Jika kondisi akhir belum terpenuhi, maka ulangi mulai dari langkah nomor dua.

2.5 Sistem Perkuliahan

Pengkodean yang digunakan pada penjadwalan perkuliahan adalah pengkodean nilai. Pemilihan pengkodean nilai karena jika dilakukan pengkodean biner akan membuat barisan bit semakin kompleks, dimana suatu barisan bit yang panjang sehingga diperlukan pengkodean ulang untuk mendapatkan nilai sebenarnya dari aturan yang direpresentasikan. Mahasiswa tidak dimasukkan dalam pengkodean kromosom, karena mahasiswa diberi kebebasan untuk memilih mata kuliah yang ditawarkan. Pemberian tugas mengajar suatu mata kuliah kepada dosen telah dilakukan sebelum pembuatan jadwal. Secara sederhana, jika tidak ada dosen yang mengajar suatu mata kuliah maka mata kuliah tersebut tidak ditawarkan. Pada kasus penjadwalan

dengan model genetika ditujukan untuk

mendapatkan kombinasi yang tepat antara variabel dosen, waktu, dan ruang yang tidak saling konflik. Semakin banyak iterasi yang dilakukan, maka waktu yang dibutuhkan akan semakin lama. Aturan

Perkuliahan di STIKOM Uyelindo diuaraikan

sebagai berikut:

1) Dosen aktif mengajar di STIKOM Uyelindo kupang, kampus A berjumlah 40 dosen. 2) Ruangan kuliah teori ada 7 ruangan yang

terdiri dari B 202, B 203, B 204, B 303, B 304, B 403, B 404.

3) Ruangan Laboratorium komputer terdiri dari B 201, B 301, B 302, B 305, B 401, B 402, B 405 berjumlah 7 Lab.

4) Jumlah Mata Kuliah(MK) Prodi Sistem

Informasi ditawarkan pada semester ganjil berjumlah 42 terdiri dari 16 MK praktek dan 24 MK teori, serta 2 MK tidak dijadwalkan yaitu PKL dan skripsi. Semester 1 ada 11 MK terdiri dari 7 MK Teori dan 4 MK praktek. Semester 3 ada 11 MK terdiri dari 8 MK teori dan 3 MK praktek. Semester 5 ada 10 MK, ada 5 MK teori dan 5 MK praktek. Semester 7 ada 8 MK, ada 4 MK teori dan 4 MK praktek. Jumlah kelas setiap semester ada 4, jadi total ada 160.

5) Jumlah Mata Kuliah(MK) Prodi Teknik

Informatika ditawarkan pada semester ganjil berjumlah 38 terdiri dari 18 MK praktek dan 18 MK teori, serta 2 MK tidak dijadwalkan yaitu PKL dan skripsi. Semester 1 ada 11 MK terdiri dari 7 MK Teori dan 4 MK praktek. Semester 3 ada 10 MK terdiri dari 5 MK teori dan 5 MK praktek. Semester 5 ada 10 MK, ada 5 MK teori dan 5 MK praktek. Semester 7 ada 5 MK, ada 4 MK teori dan 1 MK praktek. Jumlah kelas setiap semester ada 6, jadi total ada 216.

6) Jumlah Mata Kuliah(MK) Prodi Teknik

Informatika D3 ditawarkan pada semester ganjil berjumlah 28 terdiri dari 9 MK praktek dan 19 MK teori. Semester 1 ada 11 MK terdiri dari 9 MK Teori dan 2 MK praktek. Semester 3 ada 9 MK terdiri dari 5 MK teori dan 4 MK praktek. Semester 5 ada 8 MK, ada 5 MK teori dan 3 MK praktek. Jumlah kelas setiap semester ada 1, jadi total ada 28.

7) Jumlah kelas dalam semester semester ganjil atau jumlah kelas setiap minggu adalah 404.

8) Alokasi waktu perkuliahan yang dijadwalkan setiap hari ada 6 yakni: 07:00-09:00,

09:00-11:00, 11:00-13:00, 13:00-15:00,

15:00-17:00,17:00-19:00. Jumlah alokasi waktu dalam 1 minggu adalah 5 dikalikan 5 hari kerja (senin-jumat), jadi total 30 slot waktu perminggu. Selanjutnya dijelaskan aturan dan nilai pinalti sebagai berikut:

1) Sudah ada kelas yang sama, mata kuliah yang sama, pada hari yang sama.

2) Terdapat kelas yang sama, jumah sks yang sama pada mata kuliah yang sama tetapi memiliki dosen yang berbeda.

3) Sudah ada kelas lain untuk waktu yang sama, hari yang sama, dan ruang yang sama.

4) Sudah ada kelas lain untuk waktu yang sama, hari yang sama, dan kelas yang sama.

5) Sudah ada kelas lain untuk waktu yang sama, hari yang sama, dosen yang sama, dan mata kuliah yang sama.

6) Sudah ada kelas lain untuk waktu yang sama, hari yang sama dan dosen yang sama.

2.6 Prosedur Penelitian

(6)

KUPANG, A. Tempat Penelitian

Penelitian dilakukan pada STIKOM Uyelindo Kupang, bagian Penjadwalan kuliah, BAAK.

B. Populasi dan Sampel

Pada penelitian ini populasi adalah Sistem Penjadwalan semesteran. Sampel data yang diambil adalah penjadwalan yang berlaku pada Tahun akademik 2014/2015.

C. Mekanisme Penjadwalan

Mekanisme penjadwalan seperti [2] di STIKOM Uyelindo Kupang dimulai dengan membangkitkan satu populasi awal yang terdiri dari sejumlah kromosom. Algoritma sistem penjadwalan diuraikan berikut ini dan flowchart pada Gambar 2.1.

1) Inisialisasi dan bangkitkan populasi awal sejumlah P kromosom dan hitung nilai fitness setiap kromosom.

2) Lakukan seleksi kromosom induk sebanyak Q buah dengan nilai probabilitas crossover adalah

Pc. Nilai Q adalah Q=Pc*P.

3) Lakukan mutasi gen sebanyak M dengan nilai probabilitas mutasinya Pm. Nilai M=Pm* P * 30.

4) Ulangi langkah 2 dan 3 sampai menemukan generasi optimal yang diharapkan.

5) Pilih kromosom dengan nilai fitness terbaik yang merupakan jadwal yang terbaik.

Mulai

BANGKITKAN POPULASI AWAL

SELEKSI

REKOMBINASI

MUTASI

Apakah jadwal sudah Optimal?

Jadwal yang Optimal ya

Selesai

BANGKITKAN POPULASI

BARU

tidak

Gambar 2.1 Sistem Penjadwalan dengan AG

D. Langkah-Langkah Perancangan AG

Prosedur perancangan algoritma sistem

penjadwalan di STIKOM Uyelindo sebagai berikut:

1) Pengkodean Kromosom

Satu jadwal perkuliahan yang berlaku terdiri dari 30 slot waktu perminggu dengan 5 hari kerja dari Senin sampai Jumat. Satu hari kerja terdiri dari 6 slot waktu yang dimulai dari jam 7.00 dan berakhir jam 19.00, dimana satu slot waktu terdiri dari 2 Jam. Jadi totalnya satu jadwal terdiri dari 30 bit biner untuk 5 hari kerja. Setiap slot itu terdiri dari 10 digit angka. Rincian slot terdiri dari:

a) Dua digit pertama adalah kode matakuliah. Kode Mata kuliah dimulai dari 1 - 50.

b) Dua digit berikut menyatakan mata teori atau praktek dan prodi. MK teori :1, MK praktek:0 dan Prodi SIS1=1;Prodi TIS1=2;Prodi TID3=3. c) Dua digit berikut menyatakan SKS dan

Semester. Kode SKS:2,3,4,6, dan kode semester: 1,3,5,7 atau kode semester: 2,4,6,8.

d) Dua digit berikut adalah kode dosen. Kode dosen terdiri dari 1-50.

e) Dua digit berikut adalah kode ruang. Kode ruang terdiri dari 1-7 untuk Lab, 8-15 ruang teori.

Slot tersebut menyatakan mata kuliah apa yang diajar oleh dosen siapa dan menempati ruang yang mana. Oleh karena itu Slot waktu bernilai 1 apabila ke 10 digit memenuhi batasan sistem, artinya jika kode mata kuliah dengan kode dosennya dapat memenuhi persyaratan pada hubungan dosen dengan matakuliah serta kode ruangan pada slot itu kosong maka pada slot itu bernilai 1 selain itu maka slot bernilai 0. Gambar 2.2 menunjukkan kromosom awal dan Gambar 2.3 kromosom biner

slot/kr 1 2 … 30 fit

K1 1112111011 2102212006 … 2113111510 25

…..

Ktop 2102212006 2113111510 … 1112111011 28

Gambar 2.2 Bentuk Kromosom awal

slot/kr 1 2 … 30 fit

K1 1 0 … 1 25

…..

Ktop 0 1 … 1 28

Gambar 2.3 Bentuk kromosom dalam biner

Pembentukan kromosom dapat dirumuskan

dalam algoritma dimana 1 kromosom

merepresentasikan satu jadwal perkuliahan untuk semua Prodi, mengikuti sistem pengkodean diatas maka satu kromosom terdiri dari 30 bit biner. Algoritma pembentukan kromosom sebagai berikut: a) Bangkitkan bilangan random 6 digit dan petakan

bilangan random itu ke kode mata kuliah dan tentukan kode yang bersesuaian dengan MK teori/praktek, asal prodi, semester, dan sksnya . b) Bangkitkan bilangan random 2 digit dan petakan

ke kode dosen dan tentukan kode yang

(7)

KUPANG,

c) Bangkitkan bilangan random 2 digit dan petakan ke kode ruangan yang bersesuaian. Gabungkan kode-kode diatas jadi 10 digit angka.

d) Berikan nilai slot waktu jadwal sama dengan 1, apabila kode 10 digit angka memenuhi batasan sistem selain itu berikan nilai slot = 0.

e) Iterasi diulangi sampai ke slot 30 terisi

Langkah 1 hingga 4 dilakukan untuk mendapatkan 10 digit angka yang terdiri dari kode matakuliah, kode dosen dan kode ruangan. Langkah ke 5 untuk menentukan apakah slot waktu jadwal pada saat itu valid atau tidak. Slot waktu jadwal valid dengan 1. Jumlah sks terjadwal harus tidak lebih besar dari nilai yang dinyatakan pada field jumlah sks maksimum. Field pada tabel ruang yang berubah adalah field slot. Nilai field ini menjadi sama dengan slot waktu terjadwal yang menandakan bahwa ruang itu telah terisi.

2) Menentukan fungsi fitness dan evaluasi

Penentuan nilai fitness setiap individu dilakukan dengan menghitung jumlah slot waktu tak jadwal atau pinalti seperti Perumusan (3). Sebagai contoh Kromosom 1 pada Gambar 2.3 memiliki slot terjadwal 25 berarti ada 5 yang pinalti dan Ktop adalah 28 berarti ada 2 pinalti, maka nilai fitnessnya adalah:

= 1/6 = 0.1667

= 1/3 = 0.3333

Maka Fitness Ktopadalah yang terbaik.

3) Seleksi Kromosom baru

Populasi awal dibentuk dengan membangkitkan sejumlah kromosom sebanyak P sebanyak ukuran populasi dengan melakukan pengulangan algoritma pembentukan kromosom sebanyak P kali. Metoda seleksi yang digunakan adalah roda roulette. Metoda ini merupakan metoda seleksi yang paling sering digunakan karena proses seleksi yang sederhana. Adapun algoritmanya untuk satu kali pemilihan adalah seperti pada [2] sebagai berikut:

a) Hitung total fitness (FT).

b) Hitung fitness relatif tiap kromosom (FR): c) FR(i) = Fitness(i)/FT

d) Hitung fitness kumulatif (FK)

e) Pilih kromosom induk dengan membangkitkan bilangan acak R. Kandidat kromosom induk terpilih adalah kromosom yang memiliki FKyang paling menekati R.

4) Membuat populasi baru

Membuat polulasi baru dilakukan dengan proses pindah silang dan mutasi.

a) Pindah silang

Rekombinasi(Crossover) dilakukan atas 2

kromosom untuk menghasilkan kromosom anak

(offspring). Kromosom anak yang terbentuk akan

mewarisi sebagian sifat kromosom induknya. Metode crossover yang paling sering digunakan dengan kromosom berbentuk string biner adalah

crossover satu titik (one point crossover). Pada

metode ini, pilih satu bilangan acak antara satu sampai jumlah gen dalam 1 kromosom untuk

menentukan posisi persilangan. Kemudian

ditukarkan bagian kanan titik potong dari kedua induk kromosom tersebut untuk menghasilkan kromosom anak. Selain gen kromosom biner, proses

crossover juga dilakukan pada gen kromosom

umumnya sesuai dengan data binernya. Proses satu kali crossover adalah sebagai berikut:

i. Tentukan dua buah kromosom induk dan bangkitkan satu bilangan random bulat S yang terletak diantara 1 sampai dengan jumlah gen 30.

ii. Semua gen pada kromosom induk yang nomor posisinya lebih kecil dari S menjadi gen pada kromosom anak ke-1 pada posisi yang sama. Gen pada kromosom ke-1 lainnya yang posisi gennya≥S) sama dengan gen pada kromosom

induk ke-2 pada posisi yang sama. Untuk gen pada kromosom anak ke-2 dilakukan seperti anak ke-1 seperti Gambar 2.4.

iii. Cek ulang gen kromosom anak ke-1 yang posisi≥ S bernilai 1. Harus dipastikan bahwa

gen biner yang bernilai 1 adalah juga benar untuk gen umumnya. Sebagai contoh gen umum kromosom anak ke-1 2102212006 yang posisinya ≥ S, diuji apakah valid, jika tidak

valid maka diubah menjadi valid.

iv. Lakukan langkah ke tiga untuk anak ke-2.

Kromosom Induk

K’1 1 1 0 1 0 01

21.. 11.. 05.. 26.. 31… 18… … 42…

K’2 1 0 1 1 0 11

03.. 15.. 25.. 36.. 41… 08… … 12…

Dengan S=3, anak hasil kromosom induk sbb:

K’’1 1 1 0 1 0 11

21.. 11.. 05.. 36.. 41… 08… … 12…

K’’2 1 0 1 1 0 01

03.. 15.. 25.. 26.. 31… 18… … 42…

Gambar 2.4 Proses dan hasil crossover single point

b) Mutasi

Mutasi yang digunakan adalah dengan teknik acak. Pada dasarnya akan mengubah secara acak nilai suatu gen pada posisi tertentu. Kemudian mengganti gen 1 dengan 0, atau mengganti gen 0 dengan 1. Gen

pada posisi dan pada kromosom yang mana

ditentukan dari bilangan acak yang dibangkitkan. Banyaknya bilangan acak yang dibangkitkan(M) sangat ditentukan dengan nilai probabilitas mutasi yang dipilih (PM). Selain gen biner pada proses

(8)

KUPANG,

dengan data binernya. Proses satu kali mutasi adalah sebagai berikut:

i. Bangkitkan bilangan acak M1 yang besarnya antara 1 sampai dengan K dimana K = P*30. ii. Dari M1, tentukan kromosom yang akan

mengalami mutasi dan tentukan gennya yang bermutasi. Kromosom yang bermutasi adalah yang ke i dimana i = 1 + (M1 div 30) dan gennya adalah gen yang ke j (j = M1mod 30). iii. Jika gen bernilai 1 maka ubah menjadi 0 dan

gen umumnya dikosongkan. Jika tidak maka gen binernya berubah menjadi 1. Gen umumnya diisi dengan mencari dosen dan matakuliah yang sesuai dengan waktu yang direpresentasikan dengan posisi gen itu.

5) Kriteria Berhenti

Pada sistem penjadwalan ini digunakan 2 kriteria berhenti dari iterasi yakni jumlah iterasi dan perbandingan nilai fitness dengan nilai fitness sebelumnya atau konvergensi.

3. HASIL DAN DISKUSI

Berdasarkan uraian-uraian sebelumnya,

perancangan penjadwalan kuliah dapat menjadi alternatif dalam membuat jadwal yang lebih optimal dan diimplementasikan ke mesin nyata.

4. SIMPULAN

Kesimpulan dari penelitian ini adalah:

1) Permasalahan penjadwalan kuliah yang

kompleks dapat diselesaikan dengan program

komputer khusunya dengan metode soft

computing.

2) Algoritma genetik dapat diterapkan dalam menganalisis permasalahan penjadwalan kuliah pada STIKOM Uyelindo Kupang.

3) Semakin banyak kendala atau konstrain maka

jumlah pengkodean dalam membentuk

kromosom genetik semakin besar.

PENGHARGAAN DAN TERIMA KASIH

Tulisan ini adalah merupakan penelitian awal dari rangkaian penelitian yang selanjutnya akan teruskan sampai pada tahap implementasi. Ucapan terima kasih kepada semua pihak yang sudah membantu dalam penelitian ini:

1) Mahasiswa yang telah memberikan data melalui tugas akhir antara lain: Victorianus M. Jeche, dan Maria Yasinta M. Nongo.

2) BAAK STIKOM Uyelindo Kupang.

3) Teman-teman dosen yang telah berdiskusi dan memberikan saran tentang penelitian.

4) Semua pihak yang tidak bisa disebutkan satu persatu disampaikan terima kasih.

DAFTAR PUSTAKA

[1] Karray, F.O dan DeSilva, C.,2004, Soft Computing and Intelligent Systems Design,

Pearson Education Limited, England.

[2] Lukas, S., Sutrisno., Lutfia, R., 2005, Perancangan Sistem Penjadualan Perkuliahan

Menggunakan Algoritma genetik, Jurnal

llmiah llmu Komputer, Universitas Pelita Harapan, Vol. 3 No. 3, 199-207.

[3] Fernando, E dan Pandapotan, S., 2013,

Implementasi Penggabungan Algoritma

Genetik Dan Paralel Tabu Search Dalam

Optimalisasi Penjadwalan Mata Kuliah,

Konferensi Nasional Sistem Informasi(KNSI) 2013, STMIK Bumigora, Mataram, 14-16

Februari 2013.

[4] Pardede, J dan Hermana, A.N, 2014, implementasi algoritma genetika pada sistem penjadwalan mata kuliah, Konferensi Nasional

Sistem Informasi(KNSI) 2014, STMIK Dipanegara, Makassar, 27 Februari -1 Maret 2014.

[5] Gen, M and Runwei Cheng, 2000, Genetic

Algorithms And Engineering Optimization,

John Wiley and Sons Inc, New York.

[6] Witary, V; Rachmat, N; Inayatullah, 2009, "Optimasi Penjadwalan Perkuliahan dengan Menggunakan Algoritma Genetika (Studi Kasus : AMIK MDP, STMIK GI MDP dan

STIE MDP)" , Jurnal Jurusan Teknik

Gambar

Gambar 2.1 Sistem Penjadwalan dengan AG
Gambar 2.4 Proses dan hasil crossover single point

Referensi

Dokumen terkait

Remaja yang tidak dapat menyesuaikan diri dengan lingkungannya khusunya dalam pesantren menunjukkan ketidakmampuan dalam berperilaku. Apabila remaja memiliki perasaan

Squid net is one of alternatives to replace trawl net in Pati regency. The purposes of the research are 1) to determine the influence factors, 2) to analyze the return to

Puji syukur penulis kepada Allah SWT, atas berkah dan rahmat-Nya sehingga peneliti dapat menyelesaikan skripsi dengan judul “ Perbedaan Rasio Inti dan Sitoplasma Sel

Penelitian ini menyimpulkan tentang hubungan kompetensi profesionalisme guru dengan efektivitas proses pembelajaran, bahwa kompetensi profesionalisme guru adalah kemampuan

Kandungan logam berat tertinggi yang ditemukan pada sampel sedimen di muara Krueng Aceh adalah Zn dengan konsentrasi 29,633 mg/kg dan nilai rata-ratanya masih berada di bawah

Endapan sedimen yang relatif tipis di atas ketidakselarasan dataran-pantai dalam banyak hal merupakan sedimen dataran pantai berumur Kuarter yang ditoreh oleh lembah kanal

Faktor-faktor ekonomi yang memengaruhi tingkat konsumsi rumah tangga adalah pendapatan rumah tangga, kekayaan rumah tangga, jumlah barang konsumsi tahan lama dalam

Saat ini yang paling hangat dibicarakan akibat dari perubahan lingkungan adalah terjadinya pemanasan global, selain itu manusia juga telah merubah penggunaan lahan (yang juga