32
IMPLEMENTASI PENJADWALAN MATA KULIAH
MENGGUNAKAN ALGORITMA GENETIKA
Iqbal Kamil Siregar*
1, Ulya Ilhami Arsyah*
2*1
Program Studi Sistem Informasi, STMIK Royal Kisaran
*2Program Studi Manajemen Informatika, AMIK Royal Kisaran,
e-mail: *
1sir.anne.droidd@gmail.com, *
2ulyailhamiarsyah@ymail.com
Abstrak
Perkuliahan umumnya dilakukan dengan tatap muka antara dosen dengan mahasiswa dalam waktu yang terbatas. Saat ini, proses penyusunan jadwal perkuliahan yang dilakukan pada STMIK Royal Kisaran masih dilakukan secara manual. Hal ini dapat menjadi permasalahan besar karena masih dimungkinkan adanya resiko permasalahan bentrok. Untuk mengatasi permasalahan itu, maka diperlukan efektifitas dalam penyusunan jadwal kuliah agar permasalahan kasus bentrok dapat diselesaikan. Semua permasalahan ini dapat diselesaikan dengan sebuah sistem yang dapat membuat jadwal secara otomatis. Penelitian ini akan membahas bagaimana membangun aplikasi penjadwalan otomatis mulai dari analisa kebutuhan hingga bagaimana sebuah permasalah penjadwalan dapat diselesaikan dengan menggunakan sebuah algoritma yang dinamakan dengan algoritma genetika. Algoritma ini adalah salah satu jenis meta-heuristic yang sudah terbukti dapat menyelesaikan banyak sekali permasalahan kombinatorial yang sulit. Algoritma ini didasarkan pada proses genetika yang ada dalam makhluk hidup yaitu perkembangan dalam generasi dalam sebuah populasi yang alami, secara lambat laun mengikuti orinsip seleksi alam atau siapa yang kuat dia akan bertahan.
Kata Kunci : Penjadwalan, Metaheuristic, Optimasi, Genetika.
1. PENDAHULUAN 1.1. Latar Belakang
Penjadwalan merupakan alokasi dari sumber daya terhadap waktu untuk menghasilkan sebuah kumpulan pekerjaan. Penjadwalan diperlukan untuk mengatur waktu kerja, sehingga didapatkan waktu kerja yang efektif dan teratur sesuai dengan rencana. Penjadwalan mata kuliah adalah penjadwalan yang mengatur masalah pelaksanaan perkuliahan yang meliputi dosen, mata kuliah, waktu (hari dan jam), dan ruangan yang dipakai.
Proses penyusunan jadwal apapun tentunya sangat sulit dilakukan, mulai dari jadwal pekerjaan, jadwal pertandingan, dan juga jadwal mata kuliah, sehingga akan banyak menghabiskan waktu, tenaga dan pikiran untuk menyusunnya. Penyusunan jadwal mata kuliah melibatkan banyak komponen sehingga proses pembuatan jadwal menjadi sangat rumit. Suatu jadwal akan mudah disusun apabila hanya terdapat sedikit objek yang dijadwalkan, namun akan menjadi rumit apabila objek yang dijadwalkan itu dalam jumlah yang banyak.
Pembuatan jadwal mata kuliah harus dilakukan pada setiap pergantian semester. Kelancaran proses belajar mengajar di perguruan tinggi tergantung pada jadwal mata kuliah yang disediakan. Padahal proses pembuatan jadwal ini membutuhkan waktu yang
lama, tenaga dan ketelitian. Dalam kasus
penjadwalan mata kuliah ini diperlukan algoritma yang lebih baik yaitu suatu algoritma yang dapat menyelesaikan masalah kriteria dan multi-objektif. untuk itu ada beberapa metode penjadwalan yang dapat digunakan, misalnya linier programming,
ant colony algorithms maupun operation research.
Pada penelitian ini digunakan algoritma genetika (genetic algorithms) dengan harapan dapat dihasilkan penjadwalan yang lebih optimum dari metode yang pernah digunakan.
Algoritma genetika digunakan untuk
menyelesaikan permasalahan searching dan optimasi yang mempunyai kompleksitas tinggi yang banyak terjadi dalam dynamic programming seperti TSP (Travelling Salesman Problem) dan Knapsack
Problem. Algoritma genetika dapat menghindari
keadaan lokal optimum yang baik. Pengembangan model parallel computing dapat dengan mudah dilakukan.
Menurut Denny Hermawanto (1) Algoritma genetika yang dikembangkan oleh Goldberg adalah algoritma komputasi yang diinspirasi teori evolusi Darwin yang menyatakan bahwa kelangsungan hidup suatu makhluk dipengaruhi aturan “yang kuat adalah yang menang”. Darwin juga menyatakan bahwa
kelangsungan hidup suatu makhluk dapat
33
dan mutasi. Konsep dalam teori evolusi Darwin tersebut kemudian diadopsi menjadi algoritma komputasi untuk mencari solusi suatu permasalahan dengan cara yang lebih “alamiah”.
Dari latar belakang yang telah disebutkan di atas, maka dalam penelitian ini akan dicoba
mengaplikasikan algoritma genetika untuk
mengoptimalkan penyusunan jadwal mata kuliah. Diharapkan dengan digunakannya algoritma genetika ini akan diperoleh optimasi penjadwalan yaitu terjadinya kombinasi terbaik untuk pasangan mata kuliah dan dosen pengajar secara keseluruhan, tidak ada permasalahan tabrakan jadwal pada sisi dosen, serta ketersediaan ruang yang cukup dan sesuai secara fasilitas untuk seluruh mata kuliah yang ada.
1.2. Perumusan Masalah
Dari permasalahan yang ada maka didapatkan perumusan masalah sebagai berikut :
1. Bagaimana implementasi menggunakan
algoritma genetika mampu memberikan solusi dalam penyusunan jadwal mata kuliah?
2. Bagaimana algoritma genetika dapat
diterapkan untuk membuat jadwal mata kuliah dengan hasil yang optimal?
1.3. Batasan Masalah
Agar tidak menyimpang dari pokok pembahasan, pada penelitian ini penulis membuat batasan masalah yang akan dibahas antara lain :
1. Studi kasus dilakukan pada Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK) Royal Kisaran Sumatera Utara. 2. Mata kuliah praktikum disertakan dalam
penjadwalan.
3. Menggunakan metode algoritma genetika secara umum sebagai pencari solusi optimal. 4. Satu SKS diberikan waktu selama 45 menit.
1.4. Tujuan Penelitian
Tujuan dari penelitian ini adalah sebagai berikut:
1.
Memahami algoritma genetika sehingga dapat menyelesaikan pemasalahan dalam penyusunan jadwal mata kuliah.2.
Menganalisa cara kerja algoritma genetika, sehingga dapat memberikan solusi terbaik dalam penyusunan jadwal mata kuliah.3.
Merancang dan mengimplementasikansebuah aplikasi yang dapat menyelesaikan masalah penyusunan jadwal mata kuliah secara otomatis agar diperoleh solusi yang optimal tanpa adanya bentrok jadwal lagi
4.
Menerapkan algoritma genetika dalam pencarian solusi alternatif pada penyusunan jadwal mata kuliah yang optimal.5.
Menguji variabel dan langkah-langkah,sehingga algoritma genetika dapat
digunakan untuk menyusun jadwal mata kuliah.
1.5. Manfaat Penelitian
Manfaat yang akan dicapai dari penelitian ini ini diharapkan dapat memberikan kontribusi dan acuan serta pertimbangan bagi pengelolaan sistem
penjadwalan untuk membantu menyelesaikan
masalah penyusunan jadwal mata kuliah khususnya di STMIK Royal Kisaran, sehingga akan dihasilkan jadwal mata kuliah yang optimal.
2. METODE PERANCANGAN 2.1 Pendahuluan.
Metode yang digunakan dalam penelitian ini merupakan rangkaian proses yang dilakukan selama pengerjaan penelitian meliputi : tahapan pengambilan data, tahapan pengolahan dan analisa data,
pembahasan sampai kepada pembuatan dan
implementasi program yang dirancang.
Dalam metodologi penelitian ini ada beberapa urutan kerangka kerja yang harus dilalui, urutan kerangka kerja ini merupakan gambaran dari beberapa langkah yang harus dilalui agar penelitian ini bisa berjalan dengan baik.
2.2 Kerangka Kerja (Framework)
Kerangka kerja (framework) adalah suatu struktur konseptual dasar yang digunakan untuk
memecahkan atau menangani suatu masalah
kompleks. Istilah ini sering digunakan antara lain dalam bidang perangkat lunak untuk menggambarkan suatu desain tahapan kerja. Adapun beberapa tahapan kerja yang akan dilaui adalah sebagai berikut : 1. Identifikasi Masalah
Masalah yang diidentifikasi dalam penelitian ini adalah lamanya waktu yang dibutuhkan dalam proses penyusunan jadwal mata kuliah, padahal jadwal ini dibutuhkan demi kelancaran poses belajar mengajar. 2. Analisis Masalah
Langkah menganalisa masalah adalah suatu langkah untuk dapat memahami masalah yang telah ditentukan dalam ruang lingkup atau batasannya. Dengan menganalisa masalah yang ditentukan tersebut, maka masalah dapat dipahami dengan baik.
Masalah yang timbul sekarang adalah
bagaimana merancang dan mengimplementasikan suatu aplikasi yang dapat menyelesaikan proses
penyusunan jadwal mata kuliah dengan
34
3. Studi Literatur
Dilakukan untuk mengumpulkan bahan yang berupa buku, jurnal, artikel, dan lain-lain yang bisa dilakukan dengan mencari di internet, atau juga mencari di textbook yang sudah pernah ada untuk selanjutnya dipelajari. Studi literatur ini sangatberguna untuk mempelajari dan memahami tentang materi yang di butuhkan untuk penelitian mengenai penjadwalan mata kuliah, baik mengenai masalah- masalah yang terjadi dalam penjadwalan ataupun aturan-aturan yang biasanya ada dalam penjadwalan, dan algoritma yang dipakai untuk penelitian penjadwalan ini adalah algoritma genetika 4. Observasi dan Wawancara
Secara langsung terhadap Biro Administrasi Akademik dan Kemahasiswaan (BAAK) kampus
Sekolah Tinggi Manajemen Informatika dan
Komputer (STMIK) Royal Kisaran untuk
mendapatkan data-data yang dibutuhkan, dan menanyakan langsung apa saja permasalahan yang dihadapi dalam penyusunan jadwal mata kuliah di kampus tersebut.
5. Pengumpulan Data
Dilakukan dengan meminta dan mengumpulkan data-data yang dibutuhkan untuk penelitian, diantaranya data dosen, mata kuliah, ruangan, waktu dan Form pengajuan mengajar dosen, di samping itu juga mengumpulkan data jadwal mata kuliah tahun ajaran sebelumnya. Pada proses pengumpulan data ini juga dilakukan pengumpulan permaslahan dan kebijakan-kebijakan apa saja yang ada dalam penyusunan penjadwalan kampus tersebut.
6. Implementasi Penjadwalan Mata Kuliah
Ini adalah proses penelitian untuk mengolah data yang sudah dikumpulkan sehingga akan dihasilkan jadwal mata kuliah yang optimal.
7. Pengujian
Setelah rancangan selesai dibuat maka tahap ini dilakukan uji coba terhadap program tersebut, pengujian ini dilakukan untuk menguji algoritma genetika, sehingga hasil dari pengujian ini akan menghasilkan sesuai yang telah diinginkan dengan batasan dan kebijakan yang telah ditentukan oleh kampus tersebut.
2.3 Lokasi Penelitian
Ini dilakukan langsung di Sekolah Tinggi Manajemen Informatika dan Komputer (STMIK) Royal Kisaran Sumatera Utara yang terdiri dari 2 (dua) program studi yaitu Sistem Informasi dan Sistem Komputer, dengan jumlah 51 mata kuliah (26 mata kuliah untuk Program Studi Manajemen Informatika dan 25 mata kuliah untuk Pogram Studi
Teknik Komputer) dengan jumlah dosen sekitar 84 orang, jumlah mahasiswa sekitar 1.700 orang dan jumlah kelas sebanyak 27 kelas (14 ruang teori dan 13 ruang laboratorium/ workshop).
3. HASIL DAN PEMBAHASAN
3.1 Tahapan Penelitian
Penelitian ini didasarkan untuk membuat aplikasi penyusunan jadwal mata kuliah yang nantinya akan digunakan untuk membantu proses penyusunan jadwal mata kuliah. Hal ini dikarenakan proses penyusunan jadwal mata kuliah yang ada dan yang dilakukan belum optimal karena belum menggunakan algoritma, sehingga menjadi tidak efektif dan efisien.
3.2 Analisa Masalah
Masalah penjadwalan merupakan masalah klasik. Hingga saat ini telah berkembang banyak metode yang menyelesaikan masalah tersebut. Umumnya metode-metode tersebut memakan waktu yang cukup lama dan memiliki kompleksitas yang cukup tinggi, serta masih menghasilkan sisa untuk dilakukan penjadwalan secara manual.
Dari sekian banyak metode yang telah digunakan untuk penyelesaian permasalahan pembuatan jadwal, algoritma genetika yang berbasiskan heuristic dianggap sebagai metode yang dapat digunakan untuk menghasilkan penjadwalan yang optimal dibandingkan menggunakan prosedur secara manual.
Dalam proses penyusunan jadwal mata kuliah pada Sekolah Tinggi Manajemen Informatika Komputer Royal Kisaran dan selanjutnya disebut STMIK Royal Kisaran masih manual, hanya dengan menggunakan bantuan Microsoft Office Excel. Proses penyusunan jadwal mata kuliah akan banyak menghabiskan waktu, tenaga dan pikiran. Sulitnya penyusunan jadwal mata kuliah ini karena melibatkan banyak komponen sehingga proses pembuatan jadwal menjadi sangat rumit. Hal ini dikarenakan jumlah ruangan kelas atau laboratorium yang terbatas, sedikitnya jumlah dosen tetap yang ada, jam mengajar dosen tidak tetap yang terbatas, dan fakor-faktor lain yang harus diperhatikan dalam penyusunan jadwal mata kuliah ini.
Masalah penyusunan jadwal mata kuliah yang ada saat ini seringkali terdapat satu dosen harus mengajar banyak kelas dalam satu waktu atau jam yang sama, pemakaian ruang kelas/ laboratorium oleh dua kelas dan dua mata kuliah yang berbeda, ataupun adanya dua mata kuliah dengan dosen yang berbeda masuk pada satu kelas yang sama. Masalahnya adalah
35
menemukan solusi dimana semua dosen memberikan kuliah pada masing-masing kelas mahasiswanya, menggunakan ruang kelas dengan waktu yang tersedia tanpa terjadi bentrok. Bentrok yang dimaksud di sini misalnya: Dosen A harus mengajar dua atau lebih kelas yang berbeda pada ruang dan waktu yang berbeda. Kombinasi antara ketersediaan dosen, kelas, ruang dan waktu merupakan hard
constraint yang harus diselesaikan untuk menghasilkan jadwal yang valid. Sebagai tambahan, terdapat soft constraint seperti pilihan waktu yang disukai, keterlanjutan dalam ruang kelas, dan sebagainya.
Aplikasi untuk otomatisasi penjadwalan
sebenarnya sudah pernah dilakukan, tetapi karena waktu untuk melakukan otomatisasi tersebut memakan waktu yang cukup lama, dan hasil otomatisasi penjadwalan tersebut ternyata masih menyisakan sisa/ residu yang cukup banyak, maka
pihak Biro Administrasi Akademik dan
Kemahasiswaan (BAAK) menggunakan bantuan
Microsoft Offic Excel. Sisa/ residu yang dimaksud
disini adalah adanya sisa resource (umumnya kelas, ruang) yang masih belum digunakan dan harus dilakukan penjadwalan ulang secara manual.
3.2.1 Komponen Penjadwalan Mata Kuliah
Untuk memahamii aturan-aturan yang akan digunakan, pada bagian ini akan dijelaskan karakteristik dari masing-masing variabel yang
merupakan komponen utama dari sistem
penjadwalan.
Komponen yang pertama adalah dosen, setiap dosen tetap harus bersedia mengajar setiap hari kerja, sedangkan untuk dosen tidak tetap mengajukan permintaan hari dan jam mengajarnya sesuai waktu yang telah ditentukan.
Komponen yang ke dua adalah mata kuliah, setiap mata kuliah pada semester berjalan yang diajukan, dosen berhak memilih mata kuliah yang akan di ampunya, sesuai dengan bidang ilmu sendiri.
Komponen berikutnya adalah mahasiswa, setiap mahasiswa harus mengambil paket mata kuliah setiap semester yang sedang berjalan dan mahasiswa tidak diperbolehkan mengambil mata kuliah lain selain dari paket yang telah diajukan.
Komponen utama yang juga memiliki peranan penting adalah satuan waktu kuliah, yaitu durasi waktu per Satuan Kredit Semester (SKS). Satuan waktu yang digunakan di STMIK Royal Kisaran adalah 45 menit per Satuan Kredit Semester (SKS).
Berikut daftar urutan waktu yang digunakan pada table 1 dan table 2.
Tabel 1 Daftar Jam Kuliah Kelas Pagi
Jam ke- Mulai Akhir
1 08.00 09.30
2 09.45 11.15
3 11.30 13.00
4 13.30 15.00
Tabel 2 Daftar Jam Kuliah Kelas Malam
Jam ke- Mulai Akhir
1 17.30 19.20
2 19.30 21.00
Komponen terakhir adalah ruangan, sebagai tempat penyelenggaraan perkuliahan. Kombinasi dari semua komponen utama akan membentuk jadwal mata kuliah. Penjadwalan mata kuliah dikatakan optimal jika semua yang ditentukan telah dapat terpenuhi.
3.2.2 Aturan Penjadwalan
Adapun peraturan dalam penyusunan jadwal di STMIK Royal Kisaran adalah sebagai berikut : 1. Tidak ada dosen yang mengajar lebih dari satu
kelas pada waktu yang bersamaan.
2. Tidak ada dosen yang mengajar lebih dari satu mata kuliah yang berbeda pada waktu yang sama 3. Tidak boleh lebih dari satu kelas berada pada satu
ruangan dengan waktu yang sama dan tidak mungkin ada dua atau lebih kelas yang berbeda diselenggarakan bersamaan di dalam satu ruangan.
4. Satu mata kuliah dapat diampu lebih dari seorang dosen.
5. Satu dosen bisa mengampu lebih dari satu mata kuliah.
6. Waktu perkuliahan dalam sehari dimulai pukul 08.00-15.00 Wib untuk kelas pagi, dan pukul 17.30-21.00 Wib untuk kelas malam. Lama setiap Satuan Kredit Semester (SKS) adalah 45 menit. Untuk hari jumat jam ke-3 tidak ada perkuliahan,
karena waktu tersebut dilaksanakan untuk shalat jumat.
7. Untuk mata kuliah yang 3 SKS, pelaksanaannya hanya dua kali 45 menit.
3.3 Analisa Data
Dari analisa diatas maka akan didapatkan beberapa hal yang harus dioptimasi menggunakan algoritma genetika, sehingga aplikasi yang akan dirancang dapat lebih optimal dan efisien. Hasil analisa terdapat beberapa permasalahan yang perlu dilakukan pengoptimalisasian, yaitu :
1. Tidak ada bentrok atas jam mengajar dosen 2. Tidak ada bentrok ruang perkuliahan
36
3. Ruang perkuliahan terisi dengan maksimal dan merata
4. Waktu mengajar dosen terdistribusi secara merata
3.4 Analisa Kebutuhan Proses
Aplikasi yang akan dibangun harus memiliki data-data yang akan diolah dan digunakan pada sistem yang nantinya digunakan untuk penjadwalan mata kuliah. Pada aplikasi yang akan dibangun data-data masukan berupa kode-kode kelas, mata kuliah, sks, nama dosen, kelas atau semester, di mana kode-kode tersebut dirubah menjadi bilangan biner. Penjadwalan mata kuliah yang telah dirubah menjadi bilangan biner kemudian dievaluasi ke fungsi fitness, crossover, dan mutasi. Setelah hasilnya didapatkan kemudian dimasukkan ke dalam program labview untuk diuji.
3.4.1 Teknik Penyandian
Teknik penyandian (pengkodean) adalah
bagaimana mengkodekan gen dari kromosom. Setiap kromosom berisi jumlah gen yang menyandikan informasi yang disimpan didalam kromosom.
Pada penelitian ini menggunakan teknik pengkodean dalam bentuk bilangan biner yang dipergunakan dalam pemrograman genetika.
3.4.2 Menentukan Populasi awal dan Inisialisasi Kromosom
Menentukan populasi awal adalah proses pembangkitan sejumlah kromosom secara random (acak). Kromosom dapat dikatakan sama dengan individu. Ukuran populasi ditentukan, kemudian dilakukan pembangkitan populasi awal dengan cara melakukan inisialisasi solusi yang mungkin kedalam sejumlah kromosom. Panjang satu kromosom ditentukan berdasarkan permasalahan yang diteliti. Seperti terlihat pada gambar.
Pada penelitian tentang penjadwalan ini solusi yang akan dihasilkan adalah menentukan waktu dan ruang perkuliahan. Panjang suatu kromosom adalah gabungan dari gen berdasarkan jumlah dari seluruh mata kuliah dan kelas yang ditawarkan pada semester aktif. Satu gen berisi informasi waktu dan ruang untuk satu mata kuliah dan satu kelas. Sebagai contoh untuk inisialisasi pembentukan kromosom, misalkan ada kode dosen dan kode mata kuliah pada tabel 3, kode semester dan kode kelas/ ruang pada tabel 4.
Tabel 3 Kode Dosen dan Kode Mata Kuliah
No Nama Dosen Kode
Dosen Nama Mata Kuliah Kode Mata Kuliah
1 Ada Udi Firmansyah 00001 Sistem Operasi 00001
2 Indra Ramadona 00010 Manajemen Umum 00010 3 Andriansyah 00100
Pengantar Tek.
Informasi 00100 4 Anda Putra Lubis 01000 Manajemen Umum 00010
Tabel 4 Kode Semester dan Kode Kelas/ Ruang
Semester Kode Semester Kelas/Ruang Kode 2 00 A 01 4 10 B 10 6 11
Dari kode biner di atas dapat kita peroleh dari proses penggabungan tabel kode dosen, kode mata kuliah, kode semester, kode ruang/ kelas dan kode dan jumlah kode sks.
Urutan bilangan biner :
1. Dua bit pertama adalah jumlah SKS. 2. Lima bit kedua adalah Mata kuliah. 3. Lima bit ketiga adalah Nama Dosen. 4. Dua bit keempat adalah Semester. 5. Dua bit kelima adalah kelas atau ruang. 6. 1 bit terakhir adalah waktu dosen mengajar. 1. a. 0100001000010001 b. 0100001000010010 2. a. 0100010000100001 b. 0100010000100010 3. a. 0100100001000001 b. 0100100001000010 4. a. 0101000010000001 b. 0101000010000010
Urutan kode pada setiap gen mewakili jumlah sks, kode mata kuliah, nama dosen, semester dan kelas/ ruang. Selanjutnya akan dilakukan acak berdsarkan suatu bilangan yang dibangkitkan secara acak pula. Seperti terlihat di bawah ini :
1 01 00010 01000 00 10 01 00100 00100 00 10 2 01 00001 00001 00 01 01 00100 00100 00 01 3 01 00010 00010 00 10 01 00001 00001 00 10 4 01 00010 00010 00 01 01 00010 01000 00 01
3.4.3 Fungsi Fitness
Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran performasinya. Dalam 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
37
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 ditambah 1.
(1) Keterangan :
BD : Bentrrok dosen dan Mata Kuliah BK : Bentrok Kelas
BR : Bentrok Ruang WD : Bentrok Waktu
Dari contoh yang ada akan menghasilkan nilai fitness sebagai berikut :
Fitnes Kromosom 1 : Fitnes Kromosom 2 : Fitnes Kromosom 3 : Fitnes Kromosom 1 :
3.4.4 Seleksi
Pembentukan susunan kromosom pada suatu populasi baru dilakukan dengan menggunakan metode seleksi Roulette-wheel. Sesuai dengan namanya metode ini menirukan permainan
Roulette-wheel dimana masing-masing kromosom menempati
potongan lingkaran pada Roulette-wheel secara proposional sesuai dengan nilai fitnessnya.
Kromosom yang memiliki fitness lebih besar menempati potongan lingkaran yang lebih besar dibandingkan dengan kromosom bernilai fitness rendah. Adapun langkah-langkahnya adalah sebagai berikut.
1. Menghitung total nilai fitness seluruh kromosom.
Tabel 5 Total Nilai Fitness Kromosom Nilai Fitn ess 1 2 3 4 0,5 0,5 0,5 0,3 Total Nilai Fitness 1,83
2. Menghitung nilai probabilitas setiap kromosom dengan cara membagi nilai fitness tiap kromosom dengan total nilai fitness.
Tabel 6 Probabilitas Tiap Kromosom Kromosom Probabilitas 1 2 3 4 0,5/ 1,833=0,27 0,5/ 1,833=0,27 0,5/ 1,833=0,27 0,33/ 1,833=0,18 Total Probabilitas 1
3. Menempatkan masing-masing kromosom pada interval nilai [0 – 1] seperti terlihat pada tabel berikut ini.
Tabel 7 Interval Nilai Kromosom Interval Nilai 1 2 3 4 0 – 0,27 0,28 – 0,54 0,55 – 0,81 0,82 – 1
4. Untuk menentukan susunan populasi baru hasil seleksi, maka dibangkitkan bilangan random antara [0 – 1]. Misalkan bilangan yang dibangkitkan adalah [0,82; 0,34; 0,21 dan 0,57] maka akan dihasilkan susunan kromosom populasi yang baru, hasil dari seleksi adalah :
01 00010 00010 00 01 01 00010 01000 00 01 01 00001 00001 00 01 01 00100 00100 00 01 01 00010 01000 00 10 01 00100 00100 00 10 01 00010 00010 00 10 01 00001 00001 00 10
3.4.5 Pindah Silang (CrossOver)
Pindah silang (CrossOver) digunakan sebagai metode pemotongan kromosom secara acak (random) merupakan penggabungan bagian pertama dari kromosom induk 1 dengan bagian kedua dari kromosom induk 2.
Pindah silang bisa dilakukan hanya jika suatu bilangan acak (random) yang dibangkitkan untuk kromosom kurang dari probabilitas pindah silang (Pc)
yang ditentukan. Menurut (Suyanto, 2005). Pc
umumnya diset mendekati 1, misalnya 0,5.
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
38
(random) yang dibangkitkan untuk menentukan posisi titik potong adalah [1-N] dimana N merupakan banyaknya jumlah gen dalam satu kromosom.
Dimisalkan dari contoh yang ada nilai untuk kromosom 2 dan 3 paling rendah dari Pc yang
ditetapkan serta bilang acak (random) untuk posisi titik potong adalah pada posisi gen ke-2, maka proses pindah silangnya adalah :
Kromosom 2 : 01 00001 00001 00 01 01 00100 00100 00 01 Kromosom 3 : 01 00010 01000 00 10
01 00100 00100 00 10 Hasil pindah silang kedua kromosom Kromosom 2 : 01 00001 00001 00 10
01 00100 00100 00 01 Kromosom 3 : 01 00010 01000 00 01
01 00100 00100 00 10
Fitness kromosom 2 sesudah pindah silang =
Fitness kromosom 3 sesudah pindah silang =
1 01 00010 00010 00 01 01 00010 01000 00 01 2 01 00001 00001 00 10 01 00100 00100 00 01 3 01 00010 01000 00 01 01 00100 00100 00 10 4 01 00010 00010 00 10 01 00001 00001 00 10
3.4.6 Mutasi
Proses mutasi adalah suatu proses kemungkinan
memodifikasi informasi gen-gen pada suatu
kromosom, perubahan ini dapat membuat solusi duplikasi menjadi memiliki nilai fitness yang lebih rendah maupun lebih tinggi dari pada solusi induknya. Jika ternyata diperoleh solusi yang memiliki fitness yang lebih tinggi maka hal itulah yang diharapkan. Tetapi jika diperoleh solusi dengan nilai fitness lebih rendah maka bisa jadi pada iterasi berikutnya diperoleh solusi hasil mutasi yang lebih baik nilai fitnessnya dari pada solusi induknya. Untuk semua gen yang ada, jika bilangan acak (random) yang dibangkitkan kurang dari probabilitas mutasi (Pmut) yang ditentukan maka beberapa informasi gen akan dirubah dengan menggunakan pengkodean nilai. Pmut umumnya diset antara 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 2 = 8. Probabilitas mutasi ditetapkan 0,1 maka diharapkan mutasi yang terjadi adalah : 0,1 x 8 = 0,8 =1 gen yang akan mengalami mutasi. Selanjutnya dilakukan iterasi sebanyak jumlah total gen [0 – 8] dan membangkitkan bilangan acak untuk tiap iterasi antara [0 – 1]. Diasumsikan gen yang mendapatkan bilangan dibawah probabilitas mutasi gen 2. Informasi dalam gen yang akan dirubah adalah kelas/ ruang, maka hasil mutasi pada kromosom tersebut adalah :
Sebelum mutasi = 01 00010 00010 00 01 01 00010 01000 00 01
Sesudah mutasi = 01 00010 00010 00 01 01 00100 01000 00 10
Sehingga akan menghasilkan susunan kromosom baru sebagai berikut :
01 0010 00010 00 01 01 00010 01000 00 10 01 00001 00001 00 10 01 00100 00100 00 01 01 00010 01000 00 01 01 00100 00100 00 10 01 00010 00010 00 10 01 00001 00001 00 01 3.4.7 Elitisme
Pada proses ini dilakukan untuk membuat salinan individu bernilai fitness tertinggi dan disimpan didalam memory komputer agar tidak hilang selama proses evolusi. Adapun nilai fitness yang bernilai 1 (tertinggi) yang disimpan itu adalah sebagai berikut :
2 01 00001 00001 00 10 01 00100 00100 00 01 3 01 00010 01000 00 01 01 00100 00100 00 10
3.4.8 Kondisi Selesai
Kondisi selesai yang dapat menghentikan proses algoritma genetika ini adalah jika jumlah generasi atau iterasi maksimum telah tercapai.
Hasil penjadwalan mata kuliah dengan panjang satu kromosom adalah sebagai berikut :
Ruang A
Tabel 8 Hasil Jadwal Untuk Ruangan A
Jam SKS Nama Mata Kuliah
Nama Dosen Semest er Ruang 08.00-09.30 2 Manajemen Umum Indra Ramadona Hrp 2 A 09.30-11.15 2 Peng. Tek. Informasi Andriansyah 2 A 11.30-13.00 2 Manajemen Umum Anda Putra Lubis 2 A 13.30-15.00
2 Sistem Operasi Ada Udi Firmansyah
39
Ruang B
Tabel 9 Hasil Jadwal Untuk Ruangan B
Jam SKS Nama Mata Kuliah
Nama Dosen Semest er Ruang 08.00-09.30 2 Manajemen Umum Anda Putra Lubis 2 B 09.30-11.15
2 Sistem Operasi Ada Udi Firmansyah 2 B 11.30-13.00 2 Peng. Tek. Informasi Andriansyah 2 B 13.30-15.00 2 Manajemen Umum Indra Ramadona Hrp 2 B 4. KESIMPULAN
Berdasarkan analisis hasil ujicoba perangkat lunak maka dibuat kesimpulan sebagai berikut: 1. Aplikasi Penjadwalan Mata Kuliah ini berbasis
pada proses acak local search dan dipercepat oleh algoritma genetika.
2. Algoritma genetika dapat diterapkan untuk membuat jadwal kuliah dengan hasil yang optimal.
3. Algoritma genetika mampu memberikan solusi
dalam penyusunan jadwal kuliah yang
menginginkan waktu tertentu.
5. SARAN
1. Diharapkan aplikasi Penjadwalan Mata Kuliah ini akan bisa dikembangkan ke dalam aplikasi yang berbasiskan web.
2. Diharapkan metode algoritma genetika yang digunakan bisa dikembangkan ke bidang lainnya misalnya untuk penyelesaian masalah Travelling
Salesman Problem (TSP).
3. Diharapkan untuk pengembangan aplikasi
selanjutnya bisa digunakan aplikasi database yang lebih besar untuk penanganan kasus metaheuristic yang lebih kompleks.
4. Untuk mendapatkan hasil penjadwalan kuliah yang lebih baik perlu dilakukan pengkajian dari teknik-teknik algoritma genetika yang lebih mendalam.
UCAPAN TERIMA KASIH
Penulis mengucapkan terima kasih kepada Kedua Orang tua yang telah memberi dukungan dan motivasi terhadap penelitian ini, selanjutnya atas kerjasama tim penulis beserta dukungan yayasan, pimpinan dan staf dosen AMIK Royal Kisaran yang telah memberikan saran dan pemikiran sehingga selesai penelitian ini.
DAFTAR PUSTAKA.
Denny Hermawanto (2003). ”Algoritma Genetika
dan Contoh Aplikasi nya”.
Abdul Kadir (2013).”Pengenalan Algoritma”. Edisi I. Yogyakarta : Andi Offset. 10-11.
Abrar Husen (2009). “Manajemen Proyek”. Edisi I. Yogyakarta : Andi Offset. 133-134.
Bambang Yuwono, Agus Sasmito Aribowo dan
Siswanto Budi Wardoyo (2009).
“Implementasi Algoritma Koloni Semut Pada Proses Pencarian Jalur Terpendek Jalan Protokol di Kota Yogyakarta.” 1-9.
Intan Berlianty dan Miftahol Arifin. “Teknik-Teknik
Optimasi Heuristik.” Edisi Pertama.
Yogyakarta : Graha Ilmu. 61-88.
Mikac, N. and Branica, M. (1994). “Train
Scheduling Using Ant Colony Optimization Technique.” Computer Engineering. 1.
Sarwosri dan Devie Rosa Anamisa (2009).
“Implementasi Penjadwalan Matakuliah Menggunakan Algoritma Koloni Semut (AKS) di Jurusan Teknik Informatika ITS.” Vol. 5.
1-7.
Sri Kusumadewi dan Hari Purnomo (2005).
“Penyelesaian Masalah Optimasi Dengan Teknik-Teknik Heuristik.” Edisi Pertama.
Yogyakarta : Graha Ilmu. 365-368.
Suyanto (2010). “Algoritma Optimasi Deterministik
atau Probabilitik.” Edisi Pertama. Yogyakarta
: Graha Ilmu. 206-212.
Thanapal P, Nivedha S, Pratheeba T and Kumar P.J (2013). “Enrichment of Canonical Ant Colony
Algorithm in Stigmergy Optimization over Ant Colony and Particle Swarm Optimization.” Computer Science. Vol 2. 1.
Vinny Witary, Nur Rachmat dan Inayatullah (2009).
“Optimasi Penjadwalan Perkuliahan dengan Menggunakan Algoritma Genetika.” 1-5.
Wisnu Yudho Untoro (2009). “Penerapan Metodee
Forward Chaining Pada Penjadwalan Mata Kuliah”. Vol.1.21.
Yustina Eva (2008). “Desain dan Implementasi
Jadwal Kuliah Dengan Menggunakan Algoritma Semut Berbasis Web.” Universitas Islam Negeri (UIN) Malang : Skiripsi.