PENERAPAN ALGORITMA GENETIKA PADA PENJADWALAN MATA KULIAH (Studi Kasus: Program Studi Matematika FMIPA Universitas Bengkulu)
PROPOSAL TUGAS AKHIR
Oleh MERY HANITA F1A007050
JURUSAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS BENGKULU 2011
1
KATA PENGANTAR
Segala puji hanya milik Allah SWT yang telah memahatkan dawai cinta-Nya di seluru sel uruh h jag jagat at raya raya,, ber berdent denting ing men meneba ebarkan rkan ork orkest estra ra ked kedama amaian ian kese keseluru luruh h pen penjuru juru,, sehingga penulis penulis
dapat
menyelesaikan menyelesaikan penulisan penulisan
PENER PENERAPA APAN N ALGOR ALGORITM ITMA A GE GENET NETIKA IKA PADA
skripsi skripsi
yang
yang ya ng be berju rjudu dull
PENJAD PENJADWA WALAN LAN MATA MATA
KULIAH (Studi Kasus: Program Studi Matematika FMIPA Universitas Bengkulu) ,
memperoleh leh gelar gelar Sarjana Sarjana Sains Sains Progra Program m Studi Studi untuk untuk meme memenu nuhi hi salah salah satu satu syara syaratt mempero Matematika Universitas Bengkulu. Shalawat dan salam disenandungkan untuk kekasih Nya Muham Muhammad mad SAW yang telah memain memainkan kan dawai cinya-Ny cinya-Nyaa dan mempe memperdenga rdengarkan rkan kepada seluruh makhluk di alam semesta, sehingga mereka merasakan sentuhan halus dari simfoni Allah dalam kehidupannya. Skripsi ini di Penulis Penulis menyad menyadari ari sepenu sepenuhny hnyaa bahwa bahwa dalam dalam melaks melaksanak anakan an penelit penelitian ian sampai terwujudnya skripsi ini telah banyak mendapatkan pengetahuan, bimbingan, bimbingan, pengarahan dan bantuan dari berbagai pihak baik secara langsung maupun tidak langsung, baik secara moril maupun materil. Untuk itu pada kesempatan ini penulis mengucapkan terima kasih kepada: 1.
Bapak Drs. selaku Dekan Dekan Fakulta Fakultass Matemat Matematika ika dan Ilmu Ilmu Drs. Rizwar Rizwar,, M.S. M.S. selaku Pengetahuan Alam Universitas Bengkulu
2.
Bapak Drs. Mudin selaku ku Ket Ketua ua Jur Jurusa usan n Mudin Simani Simanihur huruk, uk, M.Sc M.Sc,, Ph.D Ph.D sela Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Bengkulu.
3.
Bapak Drs. Fanani Haryo Widodo, M.Sc selaku Dosen Pembimbing Utama yang telah banyak meluangkan waktu dalam penulisan skripsi ini.
i
4.
Ibu Zu selaku ku Do Dosen sen Pem Pembim bimbing bing Zulf lfia ia Me Memi mi Ma Maya yasa sari ri,, S. S.Si Si,, M. M.Si Si sela Pendamping yang telah meluangkan waktu dalam memberikan bimbingan, arahan, motivasi, dan masukan dalam penulisan skripsi ini.
5.
Bapak Drs. Syahrul Akbar, M.Pd. dan Bapak Jose Rizal, S.Si, M.Si . selaku Dosen Penguji yang telah memberikan masukan dan saran dalam penulisan skripsi ini.
6.
Ibu Dra. Ba selaku aku pem pembim bimbin bing g aka akadem demik ik yan yang g sel selalu alu Baki ki Swi Swita ta,, M. M.Sc Sc sel memberikan dukungan dan masukan.
7.
Bapak dan Ibu Dosen Jurusan Matematika yang telah memberikan ilmu
pengetahuan penge tahuan kepada kepada penulis. penulis. 8.
Staf-staf Administrasi di Fakultas Matematika dan Ilmu Pengetahuan Alam.
9.
Ayah dan ibu yang selalu mendoakan, memberikan motivasi serta rasa cinta dan sayang, perhatian dan semua yang terbaik untukku. Adik-adikku (Tia dan Manda) yang yang senanti senantiasa asa memb member erika ikanku nku sema semang ngat at agar agar teru teruss berju berjuang ang mencapai yg kuinginkan. Keep Hamasah Bu Guru PAUD dan Pak Guru BK.
10.. 10
Mars Ma rshm hmal allo low w (Yati, (Yati, Feb Febri, ri, Vie, Vie, Gus Gusti, ti, Dale Dale’). ’).
11.
Anak matematika B angkatan ‘07(Yati, Febri, Nora, Vie, Gusti, Dale’, Dephe, Hilda, Anton, Aldy, Hendri, Kak Hengki, Mashurdi, Serly, Lundu, Hengki Primadona, Azhari).
12.
Anak Ana k OR (Ya (Yati, ti, Feb Febri, ri, Nor Nora, a, Vie Vie,, Dep Dephe, he, Ant Anton, on, Ald Aldy, y, Hen Hendri, dri, Lu Lundu ndu,, Hengki Primadona, Azhari, Dona, Dewi, Heni, Clara, Eti, Fitri, Doly, Oon).
13.
RekanRe kan-rek rekan an di GSI GSI (eti, (eti, rani, rani, pera, pera, mba mba galih, galih, mba mba mimi, mimi, ayu’ ayu’ sure). sure).
14.. 14
Kak Ka k ard ardi, i, kak kak ag agus us,, kak kak ip ipun ung, g, ek eko. o.
ii
15.. 15
Tema Te man-t n-tem eman an KKN Ujung Ujung Karan Karang g (Bayu, (Bayu, Ryan, Ryan, Abang Abang Diko, Diko, Nina, Nina, Ratna, Ratna, Ima).
16. 16.
Rekan Rekan-re -rekan kan Mate Matemat matika ika ’07, ’07, ’08, ’08, ’09, ’09, ’10, ’10, ’11. ’11.
17.
Semua Sem ua pihak pihak yang tela telah h membant membantu u dalam dalam penyel penyelesa esaian ian skrips skripsii ini, yang yang tidak tidak dapat penulis sebutkan satu persatu.
Semoga Allah memberikan pahala yang berlipat ganda atas segala bantuan dan kemurahan hati semua pihak yang telah membantu penulis dalam menyelesaikan skripsi ini. Penulis menyadari bahwa penyajian skripsi ini masih jauh dari sempurna, untuk itu kritik dan saran yang sifatnya membangun sangat penulis harapkan. Semoga skripsi ini dapat bermanfaat bagi kita semua sebagai sumbangan ilmu pengetahuan baik dimasa sekarang maupun dimasa yang akan datang. Aamiin…
Bengkulu, Oktober 2011
Penulis
iii
DAFTAR ISI
Halaman HALAM HA LAMAN AN JUD JUDUL UL ... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ....... ........ ......... .......... .......... .......
i
KATA PENGANTAR PENGANTAR.................................................................................................. ..................................................................................................
ii
DAFTAR ISI ............................................................................................................... .................................................................................................................
iv
BAB I PENDAHULUAN
1.1
Lat atar ar Bel elak akan ang g .. .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... .... ..
1
1.2
Per eru umusan Mas asaalah ............................ ........................................................ ......
4
1.3
Bat ataasan Masalah .. ................................................................................. .... .... .... .... ....
4
1.4
Tuju juan an Pene neli liti tiaan ................................................................. ...................... .... .... ..
5
1.5
Manfa faaat Penulis isaan ..................................................................... .... .... .... .... .... .... ...... .... ..
5
1.6
Sistema Sis tematika tika Pen Penulis ulisan an ... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ...... ....... ......... .....
5
BAB II TINJAUAN PUSTAKA
2.1
Permasalahan Optimasi ..............................................................................
7
2.2 2. 2
Penj njaadwala lan n Mat ataa Kuli liaah ................................................... ...... .... .... .... .... .... .... ...... .... .... ....
8
2.3
Algoritma Algo ritma Genetik Genetikaa ....... ............. ............. ............. ............ ............ ............ ............ ............ ............ ................... ...................... .........
10
2.3.1 2.3 .1 Pen Pengert gertian ian Algo Algoritm ritmaa Genetik Genetikaa ...... ......... ...... ....... ....... ...... ...... ...... ...... ...... ...... ...... ...... ........ .......... ....... ..
11
2.3.2 Strukt Struktur ur Umum Algo Algoritma ritma Genet Genetika ika ...... ............ ............ ............ ............ ............ ............. ........... ....
12
........................ ..... 2.3.3 Komponen-komponen Utama Algoritma Genetika ...................
16
1. Teknik Pengkodean ........................................................ ................................................................ ............ ....
16
2. Prosedur Inisialisasi ...................................................................
16
3. Fungsi Evaluasi .................................................... ............................................................. ................. ............. .....
16
4. Seleksi ....................................................................................... ..
17
5. Operator Genetika ................................................. ......................................................... ................ ............. .....
18
6. Parameter Kontrol ................................................ ........................................................ ................ ............. .....
21
2.4
Penelitian Penjadwalan Mata Ku Kuliah dan Algoritma Ge Genetika
iv
yang Pernah Dilaku Dilakukan kan ...... ............ ............ ............ ............ ............ ............ ............ .......................... ............................. .........
22
BAB III METODE PENELITIAN
3.1 Jenis Penelit Penelitian ian ...... ............ ............ ............ ............ ............ ............ ............. ............. ............ ............ ............ ........................... .....................
24
3.2
Waktu dan Tempa Tempatt ...... ............ ............ ............. ............. ............ ............ ............ ............ ............ ............ ............ ............ ............. .......
24
3.3
Data yang diperlu diperlukan kan ...... ............. ............. ............ ............ ............ ............ ............ ............ ............ ............ ............ ............... .........
24
3.4
Teknik Peng Pengumpul umpulan an Data ...... ............. ............. ............ ............ ............ ............ ............ ............. ........................ .................
25
3.5
Analisis Data ...... ............ ............ ............ ............ ............ ............ ............. ............. ............ ............... ................................ .........................
25
DAFTAR PUSTAKA
v
BAB I PENDAHULUAN
1.1
Latar Be Belakang
Salah satu masalah penjadwalan yang umum dijumpai di perguruan tinggi adalah masa masala lah h penj penjad adwa wala lan n mata mata kuli kuliah ah.. Penj Penjad adwa wala lan n mata mata kuli kuliah ah meru merupa paka kan n pros proses es penyusunan penyusunan jadwal pelaksanaan pelaksanaan yang menginformas menginformasikan ikan sejumlah sejumlah mata kuliah yang diberika diberikan, n, dosen dosen yang yang mengaja mengajar, r, ruang ruang tempat tempat belajar belajar,, waktu waktu serta serta mahasis mahasiswa wa yang yang mengambil mengambil mata kuliah tersebut. Di setiap semester, beberapa universitas universitas menghadapi menghadapi permasalahan permasalahan yang sama, yaitu bagaimana bagaimana menjadwalkan menjadwalkan mata kuliah dengan dengan kendala wakt waktu, u, dose dosen n yang yang terse tersedia dia,, kapa kapasit sitas as ruang ruangan an yang yang terba terbatas tas,, dan dan maha mahasis siswa wa yang yang mengam mengambil bil mata mata kuliah, kuliah, dimana dimana proses proses penjadw penjadwala alan n tersebu tersebutt tetap tetap memper memperhatik hatikan an sejumlah batasan dan syarat-syarat tertentu. Untuk menyusun jadwal mata kuliah yang baik kita perlu memperhatikan berbagai aspek aspek yang yang mempen mempengar garuhi uhi penjadw penjadwalan alan mata mata kuliah. kuliah. Dari Dari aspek aspek dosen, dosen, kita perlu perlu memper memperhati hatikan kan kemung kemungkina kinan n dosen dosen yang yang bersan bersangku gkutan tan tidak tidak dapat dapat menga mengajar jar karena karena kegiatan akademik yang lain, dosen mengajar lebih dari satu mata kuliah pada hari dan jam yang sama serta dosen dosen sudah memiliki memiliki jadwal mengajar mengajar di jurusan lain. Peneliti juga perlu memperhatikan memperhatikan dari aspek mahasiswa ada atau tidaknya tidaknya jadwal mata kuliah yang beririsan dengan jadwal kuliah angkatan angkatan sebelumnya sebelumnya maupun maupun sesudahnya sesudahnya sehingga sehingga mahasiswa mahasiswa dapat mengambil mengambil mata kuliah angkatan sebelumnya sebelumnya maupun sesudahnya. sesudahnya. Selain itu, perlu diperhatikan juga dari aspek ketersediaan ruangan belajar dan ruang praktikum praktikum pada mata kuliah kuliah yang berpraktikum berpraktikum agar proses proses perkuliahan perkuliahan dapat terlaksana. terlaksana. 1
Berdas Berdasarka arkan n aspek-a aspek-aspe spek k di atas, atas, dalam dalam penyus penyusuna unan n jadwal jadwal kuliah kuliah terdapat terdapat banyak banyak kemungkinan yang dapat dicoba untuk menemukan penjadwalan yang
2
baik. Oleh karena itu dibutuhkan dibutuhkan metode optimasi optimasi yang dapat diterapkan diterapkan untuk mengerjakan penjadwalan mata kuliah. Masalah optimasi dapat diselesaikan dengan beberapa cara, salah satunya dengan menggunakan menggunakan algoritma pencarian heuristik. heuristik. Untuk kasus yang sederhana sederhana digunakan digunakan algorit algoritma ma pencari pencarian an heurist heuristik ik yang yang biasa biasa seperti seperti breadth-first search and depth-first search. search. Untuk input dan persyaratan yang lebih rumit seperti pada kasus penjadwalan mata kuliah, algoritma pencarian heuristik sudah tidak dapat digunakan dengan baik untuk untuk mendap mendapatka atkan n solusi solusi yang diingin diinginkan kan.. Dalam Dalam kasus kasus penjadw penjadwalan alan mata mata kuliah, kuliah, diperlukan diperlukan algoritma yang lebih baik yaitu algoritma yang dapat menyelesaikan menyelesaikan masalah multi-k multi-krite riteria ria dan multi-o multi-obje bjektif. ktif. Salah Salah satu algorit algoritma ma yang dapat dapat diguna digunakan kan adalah adalah algoritma genetika. Ada tiga keungg keunggulan ulan dari aplikas aplikasii algorit algoritma ma geneti genetika ka dalam dalam proses proses optimas optimasii (Sanjoyo, 2006) yaitu: a. Algorit Algoritma ma genetik genetikaa tidak tidak terlalu terlalu banyak banyak memerluk memerlukan an persyar persyaratan atan matematika matematika dalam penyelesaian penyelesaian proses optimasi. Algoritma Algoritma genetika genetika dapat diaplikasikan diaplikasikan pada beberapa beberapa jenis fungsi obyektif dengan beberapa fungsi pembatas baik berbentuk berbentuk linier maupun maupun non-linier. b. Operasi Operasi evolusi evolusi dari algoritma algoritma genetika genetika sangat sangat efektif untuk mengobserv mengobservasi asi posisi posisi global secara acak. c. Algorit Algoritma ma genetik genetikaa mempun mempunyai yai fleksib fleksibilita ilitass untuk untuk diimple diimplemen mentasi tasikan kan secara secara efisien efisien pada problem problematika atika tertentu. tertentu. Proses Proses evolusi evolusi menjadi ciri spesifik dari algoritma algoritma genetika, genetika, suatu proses proses seleksi seleksi alamiah yang berdasark berdasarkan an prinsip prinsip genetik genetikaa dan pemilih pemilihan an alami alami pada pada indivi individu du secara secara terusterusmenerus mengalami perubahan gen untuk menyesuaikan dengan lingkungan hidupnya,
2
sehing sehingga ga terselek terseleksi si individ individu-in u-indiv dividu idu yang yang kuat kuat yang yang mampu mampu bertaha bertahan n sebaga sebagaii hasil hasil optimal optimal (Basuk (Basuki, i, 2003; 2003; Haupt, Haupt, 2004). 2004). Algorit Algoritma ma genetik genetikaa dapat dapat diguna digunakan kan untuk untuk menyelesaikan permasalahan optimisasi yang rumit (hard ( hard optimization problems) problems) yang tidak dapat diselesaikan dengan teknik optimasi tradisional seperti masalah penjadwalan, transportasi, permainan komputer, traveling salesman problem (TSP), dan lain-lain. Perbed Perbedaan aan algoritm algoritmaa genetik genetikaa dengan dengan algorit algoritma ma pencari pencarian an lainnya lainnya,, antara antara lain (Goldberg, 1989): a. Algorit Algoritma ma genetik genetikaa secara secara langsu langsung ng bekerja bekerja denga dengan n string string yang yang mempre mempresent sentasik asikan an kumpulan parameter. b. Algoritma Algoritma genetika genetika menggunak menggunakan an keputusan keputusan probabilistik probabilistik (non deterministik) deterministik) dalam pencarian pencarian solusinya. solusinya. Ciri-ciri Ciri-ciri permas permasalah alahan an yang yang dapat dapat dikerja dikerjakan kan dengan dengan mengg mengguna unakan kan algoritm algoritmaa genetika adalah (Basuki, 2003): a. Mempun Mempunyai yai fungsi fungsi tujuan tujuan optimal optimalisas isasii non linear linear dengan dengan banyak banyak kendal kendalaa yang yang juga juga non linear. b. Mempunyai Mempunyai kemung kemungkinan kinan solusi solusi yang yang jumlahny jumlahnyaa banyak. banyak. c. Membut Membutuhk uhkan an solusi solusi “ real-time” real-time” dalam arti solusi dapat diperoleh dengan cepat. d. Mempunyai Mempunyai multi-objektif multi-objektif dan multi-kriteria. multi-kriteria. Algoritma Algoritma genetika genetika merupakan merupakan pendekatan pendekatan komputasio komputasional nal untuk menyelesaikan menyelesaikan masalah masalah yang yang dimod dimodelka elkan n denga dengan n proses proses biolog biologii dari dari evolus evolusi. i. Diharap Diharapkan kan dengan dengan diguna digunakan kannya nya algoritm algoritmaa genetik genetikaa akan akan diperole diperoleh h optima optimasi si penjadw penjadwala alan n mata mata kuliah kuliah dimana terjadi kombinasi terbaik untuk pasangan mata kuliah dan dosen pengajar secara keseluruhan, serta tidak ada permasalahan jadwal yang beririsan.
3
Berdasarkan uraian di atas, penulis ingin mengambil topik yang berkaitan dengan penjadwalan penjadwalan mata kuliah dan algoritma algoritma genetika genetika dengan dengan judul PENERAPA PENERAPAN N ALGORITMA GENETIKA PADA PENJADWALAN MATA KULIAH (Studi Kasus Program Studi Matematika FMIPA Universitas Bengkulu).
1.2
Perumusan Masalah
Berdas Berdasark arkan an latar latar belaka belakang ng masalah masalah,, disusu disusun n perumus perumusan an permasa permasalaha lahan n yaitu yaitu bagaimana bagaimana menyelesaikan menyelesaikan permasalahan permasalahan penjadwalan penjadwalan mata kuliah dengan algoritma algoritma genetika sehingga diperoleh kombinasi terbaik untuk pasangan mata kuliah dan dosen pengajar. pengajar.
1.3
Batasan Masalah
Agar Agar penelit penelitian ian ini lebih lebih terarah, terarah, penelit penelitian ian dilaku dilakukan kan pada pada penjadw penjadwala alan n mata kuliah di Program Program Studi Matematika Matematika FMIPA Universitas Bengkulu Bengkulu pada semester ganjil Tahun Akademik 2011/2012. 2011/2012. Dalam proses proses penyelesaian penyelesaian masalah penjadwalan penjadwalan mata kuliah kuliah terdapat terdapat batasa batasan-ba n-batasa tasan n yang yang harus harus dipenuh dipenuhi. i. Batasan Batasan-bat -batasa asan n yang yang harus harus dipenuhi tersebut antara lain: a. Dosen Dosen dapat dapat mengaj mengajar ar lebih dari satu mata kuliah kuliah dan tidak tidak boleh terjadi terjadi irisan pada jadwal dosen dosen tersebut tersebut.. b. Satu mata mata kuliah kuliah dapat diajarkan diajarkan oleh dua orang orang dosen dosen atau lebih. c. Terdap Terdapat at mata kuliah kuliah tertentu tertentu yang mengguna menggunakan kan ruang laborator laboratorium ium yang harus dijadwalkan pada ruang laboratorium. d. Hari aktif aktif perkuliahan perkuliahan Senin sampai sampai Jum’at. Jum’at. e. Untu Untuk k semu semuaa mata mata kulia kuliah h baik baik 2 SKS, SKS, 3 SKS SKS ataup ataupun un 4 SKS SKS dijad dijadwa walk lkan an 1 kali kali pertemuan pertemuan dalam dalam seminggu seminggu..
4
f. Terdapat Terdapat 7 kelas yang merupaka merupakan n kelompok kelompok kelas mata kuliah, kuliah, dimana untuk untuk semester semester 1 hanya 1 kelas, semester 3 dan 5 terdapat 2 kelas (A dan B), dan semester 7 terdapat 2 kelas (Matematika dan Statistika).
1.4
Tujuan Penelitian
Tujuan Tujuan dalam skripsi ini adalah untuk mengetahui mengetahui penerapan penerapan algoritma genetika pada masalah masalah penjadwalan penjadwalan mata kuliah sehingga sehingga diperoleh diperoleh kombinasi kombinasi terbaik untuk pasangan pasangan mata mata kuliah dan dosen dosen pengajar. pengajar.
Manfaat Penelitian
Manfaat yang dapat diperoleh dari penelitian ini adalah: a. Bagi Peneliti, Peneliti, dapat meningkatkan meningkatkan pemahaman pemahaman tentang tentang penggunaan penggunaan algoritma algoritma genetika genetika dalam penjadwalan mata kuliah. b. Bagi Bagi Prog Progra ram m Stud Studii Mate Matema mati tika ka,, prog progra ram m yang yang diha dihasi silk lkan an diha dihara rapk pkan an dapa dapatt
dikembangkan lebih lanjut untuk membantu menyelesaikan masalah penjadwalan mata kuliah secara komputerisasi.
1.6
Sistematika Penulisan
Adapun sistematika dari penulisan skripsi ini adalah: BAB I
: PENDAHULUAN Berisi Berisi latar latar belakan belakang, g, perumus perumusan an masalah masalah,, batasan batasan masalah masalah,, tujuan tujuan
BAB II
penelitian, penelitian, manfaat manfaat penulisan, penulisan, dan dan sistematik sistematikaa penulisan. penulisan. : TI TINJAUAN PUSTAKA Menjelaskan beberapa teori dan pengertian yang melandasi penelitian
BAB III
yang berhubungan dengan analisis yang dilakukan. : METODE PENELITIAN
5
Menje Menjelas laska kan n sumb sumber er data data dan dan meto metode de yang yang digun digunaka akan n dalam dalam
BAB IV
menganalisis data. :nHASIL DAN PEMBAHASAN Menjel Menjelask askan an hasil hasil dan pembah pembahasa asan n yang yang dilakuk dilakukan an penulis penulis dalam dalam
BAB V
penelitian penelitian ini. : KE KESIMPULAN Merupakan bab yang berisi kesimpulan dan saran.
6
BAB II TINJAUAN PUSTAKA
2.1
Permasalahan Permasalahan Optimasi
Opti Optima masi si adala adalah h sala salah h satu satu disipl disiplin in ilmu ilmu dalam dalam mate matemat matika ika deng dengan an tuju tujuan an mendapatkan nilai minimum atau maksimum secara sistematis dari suatu fungsi, peluang, maupun pencarian nilai dalam berbagai kasus. Aplikasi dari teknik optimasi telah banyak pada berbagai bidang secara cepat. Keberhasilan Keberhasilan penerapan teknik optimasi memerlukan memerlukan tiga tiga syarat, syarat, yaitu: yaitu: kemamp kemampuan uan membua membuatt model model matemati matematika ka dari permas permasalah alahan an yang dihadapi, pengetahuan akan program komputer dan pengetahuan akan teknik optimasi itu sendiri. Masalah optimasi dapat dikategorikan ke dalam dua kelas besar, yaitu optimasi tanpa pembatas (unconstrained (unconstrained optimization) optimization) dan optimasi dengan pembatas (constrained ( constrained optimization). optimization). Optimas Optimasii tanpa tanpa pembat pembatas as merupa merupakan kan optimas optimasii yang yang hanya hanya melibat melibatkan kan fungsi tujuan, tidak ada pembatas (constraint ( constraint ), ), sedangkan optimasi dengan pembatas, selain fungsi tujuan juga mempunyai tambahan pembatas yang membuat permasalahan lebih lebih rumit rumit.. Dalam Dalam constrained optimization optimization,, denga dengan n adanya adanya pembat pembatas as diperlu diperlukan kan algoritma yang berbeda untuk menyelesaikannya. Pros Prosed edur ur peme pemeca caha han n masa masalah lah optim optimas asii dilak dilakuk ukan an deng dengan an cara cara memo memode delk lkan an persoalannya persoalannya ke dalam sebuah sebuah program program matematis matematis dan kemudian kemudian memecahkanny memecahkannyaa dengan menggunakan teknik-teknik atau metode optimasi seperti program linier, program nonlinier, program tujuan ganda, dan metode-metode lainnya yang sudah berkembang
7
saat ini. Dalam Dalam penelit penelitian ian ini akan akan mengg menggunak unakan an metode metode algorit algoritma ma geneti genetika ka untuk menyelesaikan menyelesaikan persoalan optimasi. Permasalahan Permasalahan optimasi telah banyak banyak diselesaikan diselesaikan dengan menggunakan algoritma genetika, dan hasil yang diperoleh biasanya lebih baik, walaupun tidak menutup kemungkinan bahwa ada juga hasil akhir yang kurang begitu memuaskan (Desiani, 2006).
2.2
Penjadwalan Mata Kuliah
Penjadwalan merupakan proses untuk menyusun suatu jadwal atau urutan proses yang diperluk diperlukan an dalam dalam sebuah sebuah permasa permasalaha lahan. n. Permas Permasalah alahan an penjadw penjadwalan alan biasan biasanya ya berhubungan berhubungan dengan penjadwalan penjadwalan kelas dalam sekolah sekolah atau perkuliahan dan juga dalam lingku lingkup p yang yang tidak tidak jauh berbed berbedaa seperti seperti penjadw penjadwalan alan pelajar pelajaran an sekolah sekolah,, penjadw penjadwalan alan ujian, ujian, atau dapat dapat juga juga penjadw penjadwala alan n karyaw karyawan, an, baik baik dalam dalam suatu suatu perusah perusahaan aan ataupun ataupun dalam rumah sakit. Dalam penjadwalan kuliah, yang dibahas adalah tentang pembagian jadwal untuk tiap mahasiswa mahasiswa pada kuliah tertentu sekaligus sekaligus dosen pengajarnya. pengajarnya. Dalam penjadwalan penjadwalan pelajaran sekolah sekolah yang dibahas adalah tentang pembagian pembagian jadwal pelajaran untuk tiap-tiap kelas yang ada beserta guru pengajar pelajaran tersebut, sedangkan dalam penjadwalan penjadwalan ujian yang dibahas adalah tentang pengaturan pengaturan dosen yang mengawasi mengawasi ujian dan mahasiswa yang menempati ruang. lecture timetabling timetabling)) di univer Penjadw Penjadwalan alan mata kuliah kuliah ( lecture universita sitass merupa merupakan kan suatu suatu
pekerjaan pekerjaan yang tidak mudah. mudah. Permasalahan Permasalahan tersebut sering disebut dengan University Penjadwalan mata kuliah merupakan merupakan proses proses pengaturan pengaturan Timetabling Timetabling Problems Problems (UTP). Penjadwalan jadwal dengan dengan memperhatikan memperhatikan dosen, dosen, ruang kelas, mata kuliah dan waktu yang disesuaikan dengan sejumlah batasan tertentu. Pada penjadwalan mata kuliah sejumlah mata kuliah harus dijadwa dijadwalkan lkan ke dalam dalam ruang ruang dan slot slot (pembag (pembagian) ian) waktu waktu tertent tertentu u dimana penjadwalan penjadwalan tersebut tersebut memperhatikan memperhatikan aturan-aturan dan batasan penjadwalan penjadwalan 8
yang telah telah ditentuk ditentukan. an. Beriku Berikutt ini diberik diberikan an gambar gambar kompon komponen en yang mempeng mempengaru aruhi hi penjadwalan penjadwalan mata mata kuliah: kuliah:
Gambar 2.1. Komponen yang Mempengaruhi Penjadwalan Mata Kuliah
Berdas Berdasark arkan an Gambar Gambar 2.1, 2.1, penjad penjadwal walan an mata mata kuliah kuliah dipeng dipengaruh aruhii oleh oleh beberap beberapaa komponen komponen yang terdiri atas: dosen, ruang kelas, mata kuliah, laboratorium dan waktu dengan dengan sejuml sejumlah ah batasan batasan-bat -batasa asan n tertentu tertentu,, dimana dimana batasan batasan-bat -batasa asan n tersebu tersebutt ada yang harus dipenuhi atau tidak boleh dilanggar. Batasan tersebut merupakan ukuran kualitas dari penjadwalan mata kuliah, sehingga suatu jadwal mata kuliah yang optimal dapat terbentuk. Terdapat dua batasan dalam penyusunan penjadwalan kuliah yang dikemukakan oleh Burk dkk (1997), yaitu : hard constraint (harus (harus terpenu terpenuhi) hi) dan soft constraint (diupayakan untuk terpenuhi).
9
Hard constraints merupakan batas-batas yang harus diterapkan pada penjadwalan mata kuliah dan harus dipenuhi. Sebuah solusi hanya dapat dikatakan sahih dan valid apabila dalam solusi tersebut sama sekali tidak ada hard constraint yang constraint yang terlanggar. Hard terlanggar. Hard constraints yang umum dalam penjadwalan mata kuliah adalah sebagai berikut : a. Seorang Seorang dosen dosen hanya hanya dapat mengajar mengajarkan kan mata kuliah untuk untuk satu satu lokasi lokasi pada waktu tertentu. b. Seorang mahasiswa mahasiswa hanya dapat mengikuti mengikuti kuliah untuk satu lokasi pada waktu tertentu. c. Sebuah Sebuah lokasi lokasi (ruanga (ruangan) n) hanya hanya dapat dapat digunakan digunakan untuk untuk satu satu mata mata kuliah kuliah pada waktu waktu tertentu. d. Mata Mata kuliah kuliah dengan dengan bobot bobot 3 SKS SKS dijadwa dijadwalka lkan n dengan dengan satu kali pertemu pertemuan an dalam dalam seminggu. e. Hari aktif untuk untuk perkuliahan perkuliahan adalah adalah hari Senin Senin sampai dengan dengan Sabtu. Sabtu. Berbeda dengan hard constraint , soft constraint merupakan constraint merupakan kendala yang tidak selalu dapat terpenuhi dalam proses pembentukan jadwal, akan tetapi meskipun tidak harus terpenuhi, jadwal yang dihasilkan harus semaksimal mungkin berusaha memenuhi ketentuan soft ketentuan soft constraint . Contoh soft Contoh soft constraints dalam penjadwalan penjadwalan mata kuliah antara lain : a.
Dose Dosen n dap dapat at memi memint ntaa wak waktu tu meng mengaj ajar ar tert terten entu tu yang yang diin diingi gink nkan an..
b.
Penempatan Penempatan jadwal untuk waktu yang telah diminta dosen dosen disesuaikan disesuaikan dengan dengan prioritas dosen. dosen.
2.3
Algoritma Genetika
Algoritma genetika pertama kali ditemukan oleh John Holland pada tahun 1975 melalui sebuah penelitian dari Universitas Michigan yang kemudian dikembangkan oleh 10
muridnya David Goldberg pada tahun 1989. Awalnya tujuan Holland adalah bukan untuk merancang algoritma yang mampu memecahkan masalah yang spesifik, melainkan hanya untuk untuk mempela mempelajari jari fenomen fenomenaa adaptasi adaptasi seperti seperti yang yang terjadi terjadi di alam sekalig sekaligus us untuk untuk mengembangkan cara-cara bagaimana mekanisme adaptasi alam dapat diimpor ke sebuah sistem komputer. John Holland dalam bukunya yang berjudul Adaptation In Natural Natural And Artificial Systems, Systems, menyatakan bahwa setiap masalah yang berbentuk adaptasi (alami maupun maupun buatan) dapat diformulasikan diformulasikan dalam terminologi terminologi genetika. Untuk memahami memahami algoritma genetika diperlukan 3 tahapan pendalaman yaitu: aspek filosofis, struktur dan komponen.
2.3.1 Makna Filosofis Filosofis Algoritma Genetika
Menuru Menurutt
Lawrenc Lawrencee (1991) (1991),, Algorit Algoritma ma Genetik Genetikaa adalah adalah algorit algoritma ma kecerda kecerdasan san
buatan tentang teknik pencarian dan optimasi yang berdasarkan pada mekanisme seleksi atau evolusi yang terjadi di alam. Algoritma genetika merupakan salah satu cabang dari algoritma evolusi yang digunakan untuk memecahkan masalah optimasi yang kompleks dan sulit diselesaikan dengan menggunak menggunakan an metode metode yang konvensional konvensional (tradisional). (tradisional). Algoritma ini didasarkan pada proses genetika yang ada dalam makhluk hidup; yaitu perkembanga perkembangan n populasi populasi yang alami, secara lambat laun mengikuti mengikuti proses proses seleksi seleksi alam atau Siapa yang kuat, dia yang bertahan ( survive). survive). Prinsip pengerjaan algoritma genetika adalah Survival Of The Fittest (kemampuan (kemampuan kelangsunga kelangsungan n hidup) hidup) dengan dengan pemecahan pemecahan yang berbeda dalam sebuah solusi. Pemecahan terbaik yang diperoleh dari bentuk baru diharapkan diharapkan merupakan merupakan pemecahan yang terbaik dari populasi, populasi, sedangkan sedangkan pemecahan yang kurang kurang baik dihilan dihilangka gkan. n. Survival dalam dalam algorit algoritma ma genetik genetikaa merupa merupakan kan suatu suatu pewarisan pewarisan genetik yang dijadikan sebagai model metode pencarian pada suatu fenomena alam. Dengan meniru teori evolusi, algoritma genetika dapat digunakan untuk mencari 11
solusi yang tepat pada permasalahan-permasalahan optimasi dalam dunia nyata baik satu variabe variabell maupun maupun multiva multivariab riabel el sepert sepertii pada pada permasa permasalaha lahan n penjadw penjadwalan alan,, Travelling Salesman Problem (TSP), perancangan neural networks (jaringan (jaringan syaraf tiruan), dan Job dan Job Shop Scheduling .
2.3.2 Struktur Umum Algoritma Genetika
Secar Secaraa garis garis besa besarr algo algorit ritma ma genet genetika ika memi memilik likii bany banyak ak kesa kesama maan an deng dengan an mekanisme genetika alami, baik dalam tahapan prosesnya maupun definisi dari istilahistilah istilah atau termino terminolog logii yang yang diguna digunakan. kan. Ekuiva Ekuivalens lensii istilah istilah algorit algoritma ma geneti genetika ka dan genetika alami pada biologi dapat ditunjukkan pada Tabel 2.1. Tabel 2.1. Perbandingan Istilah pada Genetika Alami dan Algoritma Genetika. Genetika Al Alami Kromosom Gen Allel Locus Genotip Fenotip
Algoritma Ge Genetika String Fitur, Karakter, atau Detector Nilai fitur Posisi String Struktur Set parameter, solusi alternatif, struktur yang dikodekan
Secara alamiah semua organisme terdiri dari sel, di dalam setiap sel terdiri dari sekump sekumpula ulan n kromos kromosom. om. Kromos Kromosom om terbent terbentuk uk dari sekump sekumpulan ulan gen, gen, membua membuatt satu kesatuan kesatuan yang tersusun tersusun dalam rangkaian linier. Setiap gen mempunyai mempunyai letak tersendiri tersendiri di dalam kromosom, disebut lokus. Gen tersusun dari Deoxyribo dari Deoxyribo Nucleic Nucleic Acid (DNA) Acid (DNA) yang membaw membawaa sifat-si sifat-sifat fat keturu keturunan. nan. Setiap Setiap gen menyan menyandik dikan an protein protein tertent tertentu u suatu suatu sifat, sifat, contoh contoh : gen warna mata binatang dengan posisi lokus 10. 10. Bagian Bagian tertent tertentu u dari gen di dalam genome disebut genotip. Beberapa sifat individu yang menunjukkan perbedaan gen dan berada pada bagian yang berbeda disebut alel.
12
Algorit Algoritma ma Genetik Genetikaa merepre merepresen sentasi tasikan kan individ individu u sebaga sebagaii sebuah sebuah kromos kromosom. om. Kromo Kromosom som ini merupa merupakan kan suatu suatu solusi solusi yang masih masih berben berbentuk tuk simbol simbol.. Algoritma Algoritma ini menyele menyelesaik saikan an permas permasalah alahan an dalam dalam pencari pencarian an kromos kromosom om yang yang terbaik terbaik.. Kromos Kromosom om-kromosom terbaik diperoleh dengan cara populasi awal yang dibangun secara acak dan populasi populasi berikutnya berikutnya yang merupakan merupakan hasil evolusi evolusi kromosom-k kromosom-kromos romosom om melalui proses iterasi (seleksi, crossover dan mutasi) yang disebut dengan istilah generasi. Pada setiap generasi, kromosom akan melalui proses evaluasi dengan menggunakan alat ukur yang disebut disebut dengan dengan fungsi fungsi fitness. fitness. Nilai fitness dari suatu kromosom kromosom akan menunjukkan menunjukkan kualitas kromosom dalam populasi tersebut. Setelah melalui beberapa generasi, maka akan diperoleh kromosom terbaik. Beberapa definisi penting dalam algoritma genetika adalah sebagai berikut: a. Gen adalah adalah sebuah sebuah nilai nilai yang menyat menyatakan akan satuan satuan dasar yang membent membentuk uk suatu arti tertent tertentu u dalam dalam satu satu kesatu kesatuan an gen yang yang dinama dinamakan kan kromos kromosom. om. Dalam Dalam algoritm algoritmaa gene genetik tika, a, gen gen ini dapat dapat beru berupa pa nilai nilai biner , float , integer integer,, kombin kombinator atorial ial maupun maupun karakter. b. Allel adalah adalah nilai dari gen. gen. c. Kromosom Kromosom adalah adalah gabungan gabungan gen-gen gen-gen yang membentuk membentuk nilai tertentu. tertentu. d. Individu Individu menyatakan menyatakan satu nilai atau menyatakan menyatakan salah satu solusi solusi yang mungkin mungkin dari dari permasalahan permasalahan yang yang diangkat diangkat.. e. Popula Populasi si merupak merupakan an sekumpul sekumpulan an individ individu u yang yang akan akan dipros diproses es bersam bersamaa dalam dalam satu satu siklus proses evolusi. f. Generasi Generasi menyatakan menyatakan hasil evolusi evolusi kromoso kromosom-krom m-kromosom osom melalui melalui proses proses iterasi. g. Nilai Nilai Fitnes Fitnesss menyat menyatakan akan seberapa seberapa baik nilai dari suatu suatu individ individu u atau solusi solusi yang didapatkan.
13
Algoritma genetika secara umum dapat diilustrasikan pada flowchart berikut :
Mulai
Input Data
Pengkodean
Prosedur Inisialisasi
Evaluasi Fitness
Seleksi
ya Fitness Terbaik? Tidak Membangkitkan Populasi Baru
Crossover Mutasi
Kromosom terbaik
Hasil
14
Selesai
Gambar 2.2 Flowchart Algoritma Genetika Dari Dari Gamb Gambar ar 2 diata diatas, s, stru strukt ktur ur umum umum dari dari suat suatu u algor algoritm itmaa genet genetika ika dapa dapatt didefinisikan dengan langkah-langkah sebagai berikut: a. Memban Membangk gkitka itkan n populasi populasi awal awal Populasi awal dibangkitkan secara random, dimana populasi tersebut berisi beberapa kromo kromosom som yang telah telah didefin didefinisi isikan kan sehing sehingga ga didapatk didapatkan an solusi solusi awal. awal. Populas Populasii itu send sendiri iri terdi terdiri ri dari dari sejum sejumla lah h kromo kromoso som m yang yang merep merepre rese senta ntasik sikan an solu solusi si yang yang diinginkan. b. Membentuk Membentuk generasi generasi baru baru Dalam alam
mem membent bentu uk
gener eneras asii
baru baru
digu igunaka nakan n
tig tiga
opera perato torr
yait yaitu u
opera perato tor r
repro reprodu duks ksi/s i/sele eleks ksi, i, cross crossov over er dan dan muta mutasi. si. Pros Proses es ini dilak dilakuk ukan an berul berulang ang-ul -ulan ang g sehingga didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru dimana generasi baru ini merupakan representasi dari solusi baru. Generasi baru ini dikenal denga istilah anak (offspring ( offspring ). ).
c. Evalu Evaluasi asi solu solusi si Pada tiap generasi, kromosom akan diukur dengan fungsi fitness. fitness. Nilai fitness suatu kromosom menggambarkan kualitas kromosom dalam populasi tersebut. Proses ini akan
mengevaluasi setiap populasi dengan menghitung nilai fitness setiap kromosom dan mengevaluasinya sampai terpenuhi kriteria berhenti. Apabila kriteria berhenti belum terpenu terpenuhi hi maka maka akan akan dibentu dibentuk k lagi lagi generas generasii baru dengan dengan mengul mengulang angii langkah langkah 2. Beberapa kriteria berhenti yang sering digunakan antara lain: 1. Berhen Berhenti ti pada genera generasi si tertentu. tertentu.
15
2. Berhenti Berhenti setelah beberapa beberapa generasi berturut-turu berturut-turutt didapatkan didapatkan nilai fitness tertinggi. tertinggi. 3. Berhe Berhenti nti pada pada n gene generas rasii dima dimana na nilai nilai fitne fitness ss dari dari popu populas lasii tidak tidak meng mengala alami mi perubahan. perubahan. 2.3.3 Komponen-komponen Komponen-komponen Utama Algoritma Algoritma Genetika
Ada 6 komponen komponen utama yang terdapat di dalam algoritma algoritma genetika, genetika, (Kusumadew (Kusumadewi, i, 2003) yaitu:
1. Teknik Pengkodean
Menuru Menurutt Desiani Desiani (2006 (2006), ), pengk pengkode odean an adalah adalah suatu suatu teknik teknik untuk untuk menyat menyatakan akan populasi populasi awal sebagai sebagai calon solusi solusi suatu suatu masalah masalah ke dalam dalam suatu suatu kromosom kromosom sebagai sebagai suatu kunci pokok persoalan ketika menggunakan algoritma genetika. Teknik pengkodean ini meliputi pengkodean gen dan kromosom. Gen merupakan bagian dari kromosom yang dapat direpresentasikan dalam bentuk string bit, pohon, array bilangan real, daftar aturan, elemen permutasi, elemen program, atau representasi lain yang dapat diimplementasikan untuk operator genetika.
2. Prosedur Inisialisasi
Prosed Prosedur ur inisialis inisialisasi asi (memba (membangk ngkitka itkan n popula populasi si awal) awal) adalah adalah memban membangki gkitka tkan n sejumlah individu secara acak atau melalui prosedur tertentu. Ukuran populasi tergantung pada masalah masalah yang akan dipecahkan dipecahkan dan jenis operator operator genetika genetika yang akan diimplem diimplement entasik asikan. an. Setelah Setelah ukuran ukuran popula populasi si ditentuk ditentukan, an, kemudi kemudian an harus harus dilaku dilakukan kan inisi inisiali alisa sasi si terha terhada dap p krom kromos osom om yang yang terda terdapat pat pada pada popu populas lasii terse tersebu but. t. Inis Inisial ialisa isasi si kromosom dilakukan secara acak, namun demikian harus tetap memperhatikan domain solusi dan kendala permasalahan yang ada.
16
3. Fungsi Evaluasi
Suatu Suatu indiv individu idu dieval dievalua uasi si berd berdas asark arkan an suatu suatu fung fungsi si terten tertentu tu seba sebaga gaii ukur ukuran an performansiny performansinya. a. Dalam algoritma algoritma genetika, genetika, individu individu yang memiliki memiliki nilai fitness tinggi pada kromosomn kromosomnya ya yang akan dipertahankan, dipertahankan, sedangkan sedangkan individu individu yang pada kromosomny kromosomnyaa bernilai bernilai fitness rendah rendah akan akan digant diganti. i. Fungs Fungsii fitness tergantung tergantung pada permasalahan permasalahan tertentu tertentu dari dari representasi representasi yang yang digunakan. digunakan. Rumus fitness Rumus fitness yang digunakan, (Lee dkk, 2001) adalah sebagai berikut:
(1)
Keterangan :
Bn = Bobot pelanggaran Fn = Banyaknya pelanggaran n = 1. .. n
4. Seleksi
Tujuan dari proses seleksi untuk memilih individu-individu yang akan dipilih untuk proses persilangan persilangan dan mutasi, mutasi, dimana diharapkan diharapkan diperoleh diperoleh calon induk yang baik. Induk yang baik akan menghasilkan keturunan yang baik. Langkah pertama dalam seleksi yaitu pencarian nilai fitness. fitness. Masing-masing individu dalam suatu wadah seleksi akan menerim menerimaa probab probabilita ilitass reprodu reproduksi ksi yang yang tergantu tergantung ng pada pada nilai nilai objekt objektif if dirinya dirinya sendir sendirii terhadap nilai objektif dari semua individu dalam wadah seleksi tersebut. Nilai fitness inilah yang nantinya akan digunakan pada tahap seleksi berikutnya. Ada beberapa metode untuk memilih kromosom yang digunakan antara lain : a. Selek Seleksi si rod rodaa rolet rolet (roulette wheel selection). selection). Seleksi Seleksi roda rolet dilakukan dilakukan dengan cara menyeleksi menyeleksi parent dengan parent dengan tujuan untuk mempertahankan nilai fitness-nya, fitness-nya, dimana yang mempunyai mempunyai kesempatan kesempatan untuk diseleksi diseleksi
17
adala adalah h krom kromos oson on yang yang baik baik.. Pada Pada meto metode de ini dapat dapat diba dibaya yang ngka kan n sepe seperti rti sebu sebuah ah permainan permainan roda (roullette (roullette wheel ), ), di mana semua kromosom ditempatkan dalam populasi, setiap tempat besar sesuai dengan fungsi fitness fungsi fitness. Kromos Kromosom om dipilih dipilih berdas berdasark arkan an nilai nilai fitness, fitness, sema semakin kin besa besarr nilai nilai fitness maka kromosom tersebut mempunyai peluang untuk dipilih beberapa kali. Metode seleksi roda rolet merupakan metode yang paling sederhana, dan sering juga dikenal dengan nama stochastic sampling sampling with replacement . b. Seleksi Seleksi good fitness good fitness Seleksi menggunakan metode good fitness dilakukan dengan cara setengah dari jumlah populasi yang memiliki memiliki harga fitness yang terendah akan dihilangkan, sehingga akan hanya selalu tersisa sekelompok solusi yang terbaik yang pernah diperoleh oleh program. program. Solusi yang tersisa hasil seleksi ini dikenal dikenal dengan dengan nama populasi populasi induk. Agar jumlah populasi populasi tetap, maka perlu dibangkitkan dibangkitkan solusi solusi baru sebanyak sebanyak setengah setengah dari jumlah populasi populasi yang ada. Dalam program program penyeleksian, penyeleksian, cara yang digunakan digunakan untuk membangkitkan solusi baru menggunakan dua cara yaitu reproduksi kromosom baru dan cara mutasi dari solusi induk. Tujuan pembangkitan solusi baru ini untuk menemukan alternatif solusi yang lebih baik dari solusi-solusi yang sudah diperoleh.
5. Operator Genetika
Algoritma genetika merupakan proses pencarian yang heuristik dan acak sehingga penekanan penekanan pemilihan pemilihan operator operator yang yang digunakan digunakan sangat sangat menentuka menentukan n keberhasilan keberhasilan algoritma algoritma genetik dalam menemukan solusi optimum suatu masalah yang diberikan. Hal yang harus diperhat diperhatika ikan n adalah adalah mengh menghinda indari ri terjadin terjadinya ya konver konvergen gensi si premature, premature, yaitu yaitu menca mencapai pai solusi optimum yang belum waktunya, dalam arti bahwa solusi yang diperoleh adalah hasil optimum lokal. Ada dua operator genetika yaitu: 18
a. Pers Persil ilan anga gan n (crossover (crossover ) Salah Salah satu satu komp kompon onen en yang yang paling paling pent penting ing dalam dalam algori algoritm tmaa genet genetika ika adala adalah h persilangan persilangan (crossover ). ). Persila Persilanga ngan n merupa merupakan kan proses proses pada pada algorit algoritma ma geneti genetika ka yang bekerja untuk untuk mengg menggabungk abungkan an dua kromosom kromosom orang orang tua tua ( parent ( parent ) menjadi kromosom baru (offspring ) pada suatu waktu. Sebuah kromosom yang mengarah pada solusi yang baik dapat dapat diperole diperoleh h melalui melalui proses proses crossover pada pada dua dua buah buah krom kromos osom om.. Tida Tidak k semu semuaa kromosom mengalami persilangan. Cara sederhana pada proses persilangan yaitu dengan memilih suatu titik yang dipisahkan secara random dan kemudian membentuk offspring dengan cara mengkombinasikan segmen dari satu induk ke sebelah kiri dari titik yang dipis dipisah ahka kan n deng dengan an segm segmen en dari dari induk induk yang yang lain lain ke sebe sebelah lah kanan kanan dari dari titik titik yang yang dipisahkan. Terdapat beberapa jenis crossover , antara lain : 1. Crosso Crossover ver satu titik Proses crossover dilakukan dengan memisahkan suatu string menjadi dua bagian, kemudian kemudian salah satu bagian dipertukarkan dipertukarkan dengan salah satu bagian dari string yang lain yang telah dipisahkan. Misalkan ada 2 kromosom dengan panjang 12 : Induk 1
:01110 |0101110
Induk 2
:11010| 0001101
Kromosom yang dipilih: 5 Anak 1
:01110|0001101
Anak 2
:11010|0101110
2. Crosso Crossover ver bany banyak ak titik. titik.
19
Proses crossover ini dilakukan dengan memisahkan suatu string menjadi beberapa bagian dan selanjutnya selanjutnya dipertukarkan dipertukarkan dengan dengan bagian dari string yang lain yang telah dipisahkan. Misalkan ada 2 kromosom dengan panjang 12 : Induk 1
:01|1100|1011|10
Induk 2
:11|0100|0011|01
Posisi yang dipilih : kromosom setelah 2, 6 dan 10 Kromosom baru yang terbetuk: Anak 1
:01|0100| 1011|01
Anak 2
:11|1100|0011|10
b. Mutasi Mutasi (mutation (mutation)) Operato Operatorr berikut berikutnya nya mutasi mutasi (mutation). mutation). Proses Proses mutasi mutasi merupak merupakan an proses proses untuk untuk mengubah salah satu atau lebih beberapa gen dari suatu kromosom. Proses ini berperan untu untuk k meng mengga gant ntik ikan an gen yang yang hila hilang ng dari dari popu popula lasi si akib akibat at pros proses es sele seleks ksii yang yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi. Beberapa cara operasi mutasi yang diterapkan dalam algoritma genetika menurut jenis pengkodeann pengkodeannya, ya, antara antara lain:
1. Mutasi dalam pengkodean biner Mutasi pada pengkodean biner merupakan operasi yang sangat sederhana. Proses yang dilakukan dilakukan adalah menginversi menginversi nilai bit pada posisi tertentu yang dipilih secara acak (atau dengan menggunakan skema tertentu ) pada kromosom. Contoh mutasi pada pengkodean biner: Kromosom sebelum mutasi
:10010 111
Kromosom sesudah mutasi
:10010 011
2. Mutasi dalam pengkodean pengkodean permutasi
20
Proses mutasi dalam pengkodean permutasi dilakukan dengan memilih dua posisi (lokus) dari kromosom dan nilainya saling dipertukarkan. Contoh mutasi dalam pengkodean permutasi Kromosom sebelum mutasi
:12 3465879
Kromosom sesudah mutasi
:12 7465839
6. Parameter Kontrol
Paramet Parameter er kontro kontroll genetik genetikaa diperlu diperlukan kan untuk untuk mengen mengendali dalikan kan operato operator-op r-operat erator or seleksi. Pemilihan parameter genetika menentukan penampilan kinerja algoritma genetika dalam memecahkan masalah (Desiani, 2006). Ada dua parameter dasar dari algoritma genetika, yaitu probabilitas crossover (pc) dan probabilitas mutasi (pm). a. Probab Probabilita ilitass crosso crossover ver (Pc) (Pc) Probabilitas crossover akan menge mengenda ndalika likan n operato operator r crossover dalam dalam setiap setiap generasi generasi dalam populasi yang mengalami mengalami crossover . Semakin besar nilai probabilitas crossover , akan akan semaki semakin n cepat cepat struktu strukturr individ individu u baru terbentuk terbentuk ke dalam dalam popula populasi. si. Sedangkan apabila nilai probabilitas crossover terlalu besar, individu yang merupakan kandidat solusi terbaik mungkin akan dapat hilang lebih cepat pada generasi selanjutnya. Disarankan nilai probabilitas crossover berkisar crossover berkisar antara 80 % - 95 %. b. Probabilitas Probabilitas mutasi mutasi ( P m ) Probab Probabilit ilitas as mutasi mutasi akan akan mengen mengendal dalikan ikan operato operatorr mutasi mutasi pada pada setiap setiap generas generasii dimana peluang mutasi yang digunakan biasanya lebih kecil daripada peluang crossover . Pada seleksi alam murni, mutasi jarang sekali muncul. Oleh karena itu, operator mutasi pada algoritma algoritma genetik juga tidak selalu terjadi. Untuk itulah nilai peluang mutasi dibuat lebih lebih kecil kecil untuk untuk setiap setiap genera generasi. si. Disara Disarankan nkan nilai nilai probab probabilita ilitass mutasi mutasi kecil kecil berkisa berkisar r antara 0.5 % - 1 %.
21
Paramet Parameter er lain yang yang juga juga ikut ikut menent menentuka ukan n efisiens efisiensii kinerja kinerja algorit algoritma ma genetik genetikaa adalah adalah ukuran ukuran popula populasi, si, yaitu yaitu banyak banyaknya nya kromos kromosom om dalam dalam satu populas populasi. i. Tidak Tidak ada aturan yang pasti tentang berapa nilai ukuran populasi. Apabila ukuran populasi kecil berarti hanya tersedia sedikit pilihan untuk crossover dan sebagian kecil dari domain solusi saja yang dieksplorasi untuk setiap generasinya. Sedangkan apabila terlalu besar, kinerja algoritma genetik akan menurun. Penelitian menunjukan ukuran populasi besar tidak mempercepat pencarian solusi. Disarankan ukuran populasi berkisar antara 20–30.
2.4
Penelitian Tentang Tentang Penjadwalan Mata Kuliah dan dan Algoritma Algoritma Genetika yang Pernah Dilakukan
Beberapa metode optimasi telah banyak diusulkan dalam menyelesaikan masalah penjadwalan penjadwalan mata kuliah, antara lain dengan dengan metode metode greedy, greedy, algor algoritm itmaa semu semut, t, dan dan algorit algoritma ma particle particle swarm swarm optimiz optimizatio ation n (PSO). (PSO). Ketiga Ketiga metode metode terseb tersebut ut dibahas dibahas oleh oleh Sugiarti (2009), Fernandez (2005) dan Johan dkk (2006). Menurut Sugiarti (2009) metode greedy dapat digunakan untuk menyelesaiakan masalah penjadwalan mata kuliah dimana model yang dikembangkan menggunakan masalah knapsack dan knapsack dan diselesaikan dengan tiga strategi yaitu: greedy by profit , greedy by weight , dan greedy by density. density. Sedang Sedangkan kan menurut menurut Fernandez Fernandez (2005) (2005) masalah masalah aplikasi aplikasi penjadwalan penjadwalan mata kuliah dengan algoritma semut semut bertuju bertujuan an untuk untuk menyus menyusun un jadwal jadwal perkul perkuliaha iahan. n. Aplikas Aplikasinya inya dikemba dikembangk ngkan an berdasarkan berdasarkan local local search search dan algorit algoritma ma semut. semut. Pada Pada proses proses iterasiny iterasinyaa membut membutuhk uhkan an waktu lama karena parameter yang disusun disusun cukup banyak. banyak. Berbeda Berbeda dengan dengan Fernandez Fernandez (200 (2005) 5),, menu menuru rutt Joha Johan n dkk dkk (200 (2006) 6) mela melalu luii sist sistem em penj penjad adwa wala lan n otom otomat atis is dapa dapatt menghasilkan jadwal yang sesuai dengan kemampuan sistem formulasi dan memori yang tersedia.
22
Algo Algori ritm tmaa
gene geneti tika ka
juga juga
tela telah h
bany banyak ak
digu diguna naka kan n
dala dalam m
meny menyel eles esai aika kan n
permasalahan-pe permasalahan-permasala rmasalahan han optimasi optimasi dalam dunia nyata antara lain: penjadwalan penjadwalan job shop oleh Afandi (2010), Travellin Travelling g Salesman Salesman Problem Problem (TSP) oleh Fitrah dkk (2006), dan Shortest Path oleh Koerniamy (2008). Menurut Afandi (2010) algoritma genetika dapat digunakan sebagai salah satu metode alternatif dalam menyelesaikan penjadwalan job shop karena memiliki kemampuan kemampuan yang baik dalam membangkitk membangkitkan an solusi solusi heuristik heuristik dari variasi permasalahan yang luas, dimana sifat dari produk penjadwlannya berbaur dan multi produk dengan meminimalkan total pinalti E/T (earliness/tardiness). Menurut Fitrah dkk (2006) Travelling Salesman Problem (TSP) dapat diselesaikan dengan menggunakan algoritma genetika meskipun solusi TSP yang dihasilkan oleh algoritma ini belum tentu merupakan solusi optimal, namun algoritma gentika akan menghasilkan solusi yang lebih optimal pada setiap generasinya, generasinya, hal tersebut tersebut terlihat dari nilai fitness nilai fitness pada tiap generasi. generasi. Kelebihan algoritma genetika dibandingkan dengan metode pencarian konvesional pada TSP, TSP, solu solusi si dapat dapat diha dihasil silka kan n kapa kapanp npun un karen karenaa solu solusi si diha dihasil silka kan n pada pada gene generas rasii ke berapapun berapapun dan algorima algorima genetika genetika tidak membutuhkan membutuhkan waktu yang lama karena tidak semua kemungkinan dicoba, tergantung pada kriteria berakhirnya. Sedangkan menurut Koerniamy Koerniamy (2008) (2008) permasalahan permasalahan Shortest Path dapat diselesaikan dengan pendekatan algorit algoritma ma geneti genetika ka yang yang dihitu dihitung ng secara secara manual, manual, tetapi tetapi pada pada kasus kasus yang lebih besar besar perhitungan perhitungan manual akan mengalami kendala, sehingga sehingga dibutuhkan dibutuhkan pemrograman pemrograman untuk membantu menyelesaikannya. Berdas Berdasark arkan an permas permasalah alahan an dan metode metode yang yang pernah pernah dilaku dilakukan kan pada pada penelitia penelitian n diatas, diatas, maka maka penelit penelitian ian ini akan mencob mencobaa mengg menggabu abungk ngkan an antara antara permasa permasalaha lahan n dan metode tersebut sehingga diharapkan metode algoritma genetika dapat diterapkan untuk menyelesaikan permasalahan penjadwalan mata kuliah.
23
BAB III METODE PENELITIAN
3.1
Jenis Penelitian
Penelitian ini bersifat studi literatur dan kasus. Bahan literatur diperoleh dari studi pustaka pustaka atau jurnal maupun maupun buku teks yang didapat dengan cara akses langsung langsung maupun akses internet, sedangkan bahan untuk kasus penelitian diperoleh dari data mata kuliah Semest Semester er Ganjil Ganjil Tahun Tahun Akadem Akademik ik 2011/20 2011/2012 12 di Progra Program m Studi Studi Matema Matematika tika FMIPA FMIPA Universitas Bengkulu.
3.2
Waktu dan Tempat
Penelit Penelitian ian ini dilakuk dilakukan an ± satu satu semeste semester, r, bertemp bertempat at Di Gedung Gedung V ruang ruang baca baca Program Studi Matematika FMIPA Universitas Bengkulu pada jam kerja.
3.3
Data yang diperlukan
Data yang dipergunakan dalam penelitian ini adalah data sekunder berupa mata kuliah yang ditawarkan pada Semester Ganjil Tahun Akademik 2011/2012 di Program Studi Matematika FMIPA Universitas Bengkulu yang terdiri dari : a. Dafta Daftarr Mata Mata Kulia Kuliah h Semes Semester ter Ganji Ganjill Prog Program ram Stud Studii Matem Matemat atika ika FMIP FMIPA A Tahu Tahun n Akademik 2011/2012. b. Daftar Dosen Dosen pengam pengampu pu mata mata kuliah. kuliah. c. Jadwal Jadwal Praktik Praktikum um Semester Semester Ganjil Ganjil Tahun Tahun Akade Akademik mik 2011/20 2011/2012 12 di Progra Program m Studi Studi Matematika FMIPA.
24
d. Jadw Jadwal al Kuli Kuliah ah Seme Semest ster er Ganj Ganjil il Prog Progra ram m Stud Studii Mate Matema mati tika ka Tahu Tahun n Akad Akadem emik ik 20011/2012 untuk Mata Kuliah Wajib di luar Ruang Belajar Matematika. 3.4
Teknik Pengumpulan Data
Pengumpulan data dalam penelitian ini dilakukan dengan mengambil data sekunder yaitu mata kuliah yang ditawarkan pada Semester Ganjil Tahun Akademik 2011/2012 Di Program Studi Matematika FMIPA Universitas Bengkulu, dosen yang tersedia, jumlah ruang dan daya tampung.
3.5
Analisis Data
Pada penelitian, analisis data ini dimana langkah-langkah yang akan digunakan adalah sebagai berikut: a. Inpu Inputt Dat Dataa Ada empat kelompok data yang diperlukan pada input data yaitu: ruang belajar yang digunakan, Tabel SKS dan mata kuliah, Tabel dosen, semester dan kelas. b. Proses Proses Data Input Input Data-data yang telah diperoleh dari input data terlebih dahulu diolah dengan cara melakukan pengkodean terhadap masing-masing kelompok data. c. Pembuatan Pembuatan Kromosom Kromosom dan Populasi Populasi Pemb Pembua uata tan n
krom kromos osom om
dan dan
popu popula lasi si
bert bertuj ujua uan n
untu untuk k
memp memper erol oleh eh
hasi hasill
penggabung penggabungan an antara sks dan mata kuliah, kuliah, dosen dosen pengampu pengampu mata kuliah, semester semester dan kelas. d. Evalu Evaluasi asi Fitn Fitnes esss Setiap faktor yang mempengaruhi nilai fitness memberi pengaruh yang berbeda terhadap nilai fitnessnya, tingkat pengaruh tersebut disebut dengan bobot. Semakin tinggi
25
harga bobot suatu faktor akan mengurangi mengurangi nilai fitness dari solusi tersebut. tersebut. Faktor-faktor Faktor-faktor yang mempengaruhi evaluasi fitness terhadap solusi adalah sebagai berikut: 1. Waktu pagi yang kosong. Adakah waktu pagi yang kosong/tidak digunakan perkuliahan? perkuliahan?
Untuk
meningkatkan meningkatkan
produktivitas produktivitas
pemakaian pemakaian
ruangan, ruangan,
maka
dikehendaki agar ruangan dapat segera digunakan semenjak pagi hari. 2. Frekuensi Frekuensi mengajar mengajar dosen. Apakah Apakah ada dosen yang memiliki memiliki frekuensi frekuensi mengajar mengajar yang tinggi tinggi dalam dalam satu hari? hari? Diharap Diharapkan kan agar agar tugas tugas mengaja mengajarr dosen dosen dapat dapat terdist terdistribu ribusi si merata di tiap hari kerjanya dengan tujuan agar performansi dosen sewaktu mengajar dapat tetap terjaga. Dalam penelitian ini didefinisikan bahwa dosen yang mengajar lebih dari 6 sks tiap harinya telah digolongkan sebagai dosen yang memiliki frekuensi mengajar yang tinggi. 3. Frekuensi Frekuensi kuliah kelas. kelas. Apakah ada kelas yang memiliki memiliki frekuensi frekuensi kuliah yang yang tinggi dalam dalam satu hari ? Seperti Seperti halnya halnya pada pada dosen, dosen, untuk untuk menjaga menjaga performans performansii belajar belajar mahasiswa maka diharapkan tidak ada jadwal kuliah yang terlalu padat dalam satu hari. hari.
Kelas Kelas yang yang mend mendap apatk atkan an jadwal jadwal kuliah kuliah lebih lebih dari dari 6 sks sks pada pada satu hari
didefinisikan sebagai kelas yang memiliki frekuensi kuliah yang tinggi. Rumus fitness yang digunakan adalah sebagai berikut:
= Bobot waktu waktu pagi yang kosong kosong = Bobot frekuensi mengajar mengajar dosen = Bobot frekuensi kuliah kelas = Banyaknya waktu waktu pagi yang kosong kosong = Banyaknya frekuensi jam mengajar yang tinggi tinggi dari seorang dosen dosen
26
= Banyaknya frekuensi jam kuliah yang tinggi dari satu kelas
Nilai bobot bobot setiap faktor pengaruh pengaruh yang digunakan digunakan dalam penelitian penelitian ini dapat dilihat pada Tabel 3.1. Tabel 31. Nilai Bobot Waktu pagi yang kosong Frekuensi mengajar dosen Frekuensi kuliah kelas
33 33 33
e. Selek leksi Untuk mendapatkan mendapatkan solusi solusi yang terbaik, harus dilakukan penyeleksian penyeleksian solusi solusi yang memiliki nilai fitness yang tergolong rendah. Seleksi tersebut menggunakan metode best fitness. fitness. Solusi yang tersisa pada hasil seleksi ini dikenal dengan nama populasi induk. f. Memban Membangk gkitka itkan n Popu Populas lasii Baru Baru Populasi baru akan dibangkitkan dengan cara crossover dan mutasi pada populasi induk yang telah diperoleh dari proses seleksi. g. Kond Kondisi isi Sel Selesa esaii Jika setelah beberapa generasi berturut-turut diperoleh nilai fitness tertinggi dari populasi populasi maka proses algortitma algortitma akan dihentikan, dihentikan, sedangkan sedangkan jika pada beberapa generasi generasi berturut-turut berturut-turut nilai fitnessnya fitnessnya belum mencapai mencapai kondisi kondisi tersebut, tersebut, maka akan mengulang mengulang kembali proses/iterasi dari langkah keempat yaitu evaluasi fitness terhadap populasi baru.
27
28