Rabu, 13 Januari 2010

Algoritma enetika optimasi jadwal kuliah

Penjadwalan kegiatan belajar mengajar dalam suatu kampus adalah hal yang rumit. Permasalahan yang sering disebut dengan University Timetabling Problems (UTP) ini. selain dilihat dari sisi mahasiswa, juga harus dilihat dari sisi dosen, yaitu kemungkinan kemungkinan dosen akan mengampu lebih dari satu mata kuliah yang ada, sebab ada kemungkinan jumlah mata kuliah dan jumlah dosen tidak sebanding, sehingga harus dipikirkan juga solusi agar dosen tidak mengampu dua mata kuliah berbeda pada hari dan jam yang sama. Selain itu, harus dipertimbangkan juga ketersediaan kelas sehingga kegiatan belajar dapat dilaksanakan. Salah satu metode yang dapat digunakan untuk menyelesaikan permasalahan tersebut adalah dengan menggunakan pendekatan algoritma genetik. Algoritma genetik merupakan pendekatan komputasional untuk menyelesaikan masalah yang dimodelkan dengan proses biologi dari evolusi. Diharapkan dengan digunakannya algoritma genetik akan diperoleh optimasi penjadwalan yaitu kondisi dimana terjadi kombinasi terbaik untuk pasangan mata kuliah dan dosen pengajar secara keseluruhan, tidak ada permasalahan bentrokan jadwal pada sisi mahasiswa, serta ketersediaan ruang yang cukup dan sesuai secara fasilitas untuk seluruh mata kuliah yang ada.
Penjadwalan kegiatan belajar mengejar di suatu kampus merupakan pekerjaan yang tidak mudah.Terdapat berbagai aspek yang berkaitan dalam penjadwalan tersebut yang harus dilibatkan dalam pertimbangan di antaranya :
1. Terdapat jadwal-jadwal di mana dosen yang bersangkutan tidak bisa mengajar
2. Tidak boleh adanya jadwal kuliah yang beririsan dengan jadwal kuliah angkatan sebelumnya maupun sesudahnya, sehingga mahasiswa dapat mengambil mata kuliah angkatan sebelumnya maupun sesudahnya.
3. Distribusi jadwal perkuliahan diharapkan dapat merata tiap harinya untuk setiap kelas.
4. Pekerjaan penjadwalan mata kuliah ini akan semakin berat jika melibatkan semakin banyak kelas per angkatannya.
Di samping aspek-aspek di atas, dalam penyusunan jadwal kuliah ini pun terdapat sangat banyak kemungkinan yang selayaknya dicoba untuk menemukan penjadwalan yang terbaik. Karena itu dibutuhkan metode optimasi yang dapat diterapkan untuk mengerjakan penjadwalan mata kuliah ini.












BAB II
TEORI PENUNJANG
2.1 Pengertian Algoritma Genetik
Algoritma ini ditemukan di Universitas Michigan, Amerika Serikat oleh John Holland (1975) melalui sebuah penelitian dan dipopulerkan oleh salah satu muridnya, David Goldberg. Algoritma genetik adalah algoritma yang berusaha menerapkan pemahaman mengenai evolusi alamiah pada tugas-tugas pemecahan-masalah (problem solving). Pendekatan yang diambil oleh algoritma ini adalah dengan menggabungkan secara acak berbagai pilihan solusi terbaik di dalam suatu kumpulan untuk mendapatkan generasi solusi terbaik berikutnya yaitu pada suatu kondisi yang memaksimalkan kecocokannya atau lazim disebut fitness. Generasi ini akan merepresentasikan perbaikanperbaikan pada populasi awalnya. Dengan melakukan proses ini secara berulang, algoritma ini diharapkan dapat mensimulasikan proses evolusioner. Pada akhirnya, akan didapatkan solusi-solusi yang paling tepat bagi permasalahan yang dihadapi. Untuk menggunakan algoritma genetik, solusi permasalahan direpresentasikan sebagai khromosom. Tiga aspek yang penting untuk penggunaan algoritma genetik:
2.1.1. Definisi fitness function
2.1.2. Definisi dan implementasi representasi genetik
2.1.3. Definisi dan implementasi operasi genetic

Jika ketiga aspek di atas telah didefinisikan, algoritma genetik generik akan bekerja dengan baik. Tentu saja, algoritma genetik bukanlah solusi terbaik untuk memecahkan segala masalah. Sebagai contoh, metode tradisional telah diatur untuk untuk mencari penyelesaian dari fungsi analitis convex yang “berperilaku baik” yang variabelnya sedikit. Pada kasus-kasus ini, metode berbasis kalkulus lebih unggul dari algoritma genetik karena metode ini dengan cepat menemukan solusi minimum ketika algoritma genetik masih menganalisa bobot dari populasi awal. Untuk problemproblem ini pengguna harus mengakui fakta dari pengalaman ini dan memakai metode tradisional yang lebih cepat tersebut. Akan tetapi, banyak persoalan realistis yang berada di luar golongan ini. Selain itu, untuk persoalan yang tidak terlalu rumit, banyak cara yang lebih cepat dari algoritma genetik. Jumlah besar dari populasi solusi, yang merupakan keunggulan dari algoritma genetik, juga harus mengakui kekurangannya dalam dalam kecepatan pada sekumpulan komputer yang dipasang secara seri –fitness function dari tiap solusi harus dievaluasi. Namun, bila tersedia komputer-komputer yang paralel, tiap prosesor dapat mengevaluasi fungsi yang terpisah pada saat yang bersamaan. Karena itulah, algoritma genetic sangat cocok untuk perhitungan yang paralel.

2.2 Teknik Penggunaan Algoritma Genetik
Algoritma genetik dimulai dengan sekumpulan set status yang dipilih secara random, yang disebut populasi. Algoritma ini mengkombinasikan dua populasi induk. Setiap status atau individual direpresentasikan sebagai sebuah string.



Fitness function
Setiap individual dievaluasi dengan fitness function. Sebuah fitness function mengembalikan nilai tertinggi untuk individual yang terbaik. Individu akan diurutkan berdasarkan nilai atau disebut dengan selection.

Crossover
Untuk setiap pasang induk, sebuah titik crossover akan dipilih secara random dari posisi dalam string. Pada gambar titik crossover terletak pada indeks ketiga dalam pasangan pertama dan setelah indeks kelima pada pasangan kedua.

Mutasi
Pada mutasi, tiap lokasi menjadi sasaran mutasiacak, dengan probabilitas independen yang kecil. Sebuah digit dimutasikan pada anak pertama, ketiga, dan keempat.Algoritma genetik mengkombinasikan suatu kecenderungan menaik dengan pengeksplorasian acak di antara thread pencarian paralel. Keuntungan utamanya,bila ada, datang dari operasi crossover. Namun, secara matematis dapat tunjukkan bahwa bila posisi dari kode genetik di permutasikan di awal dengan urutan acak, crossover tidak memberikan keunggulan. Secara intuisi, keuntungannya didapat dari kemampuan crossover untuk menggabungkan blok-blok huruf berukuran besar yang telah berevolusi secara independen untuk melakukan fungsi yang bermanfaat sehingga dapat menaikkan tingkat granularity di mana pencarian dilakukan.


Schema
Teori dari algoritma genetik menjelaskan cara kerjanya menggunakan ide dari suatu schema, suatu substring di mana beberapa posisi tidak disebutkan. Dapat ditunjukkan bahwa, bila fitness rata-rata dari schema berada di bawah mean maka jumlah instansiasi dari schema di dalam populasi akan bertambah seiring bertambaahnya waktu. Jelas sekali bahwa efek ini tidak akan signifikan bila bit-bit yang bersebelahan sama sekali tidak berhubungan satu sama sekali, karena akan ada beberapa blok kontigu yang memberikan keuntungan yang konsisten. Algoritma genetik paling efektif dipakai bila schema-schema berkorespondensi menjadi komponen berati dari sebuah solusi. Sebagai contoh, bila string adalah representasi dari sebuah antena, maka schema merepresentasikan komponen-komponen dari antena, seperti reflector dan deflector. Sebuah komponen yang baik cenderung akan berkerja baik pada rancangan yang berbeda. Ini menunjukkan bahwa penggunaan algoritma genetik yang benar memerlukan rekayasa yang baik pada representasinya.
Gambar 1.



Proses Data Input
Agar dapat diproses dalam algoritma ini Tabel Mata Kuliah, Tabel Dosen, Tabel Kelas dan Tabel Ruang harus digabungkan terlebih dahulu menjadi Tabel Prioritas Mata Kuliah. Untuk menjadwalkan suatu Mata Kuliah, perlu mempertimbangkan jadwal waktu dosen, kelas dan ruangan yang tersedia. Maka setiap mata kuliah akan memiliki banyaknya pilihan penjadwalan yang berbeda. Bisa jadi ada mata kuliah yang memiliki tiga pilihan hari dan bisa jadi ada mata kuliah yang hanya memiliki satu pilihan hari saja. Tabel Prioritas Mata Kuliah berisikan banyaknya tingkat pilihan penjadwalan dari setiap mata kuliah yang ada serta telah diurutkan dari mata kuliah yang paling sedikit pilihan penjadwalannya hingga mata kuliah yang terbanyak pilihan penjadwalannya. Dari proses ini diharapkan tidak ada mata kuliah yang tidak dapat teralokasikan penjadwalannya dikarenakan pada jadwal jadwal yang memungkinkan bagi mata kuliah tersebut telah digunakan oleh mata kuliah lainnya.

Pembuatan Kromosom dan Populasi
Berdasarkan urutan dari Tabel Prioritas Mata Kuliah, setiap mata kuliah akan dijadwalkan ke dalam Tabel Jadwal Mata Kuliah secara acak. Agar diketahui apakah pada waktu tersebut dosen,
kelas, maupun ruangan dapat digunakan untuk melaksanakan perkuliahan, maka Tabel Dosen, Tabel Ruang, dan Tabel Kelas untuk setiap mata kuliah serta Tabel Mata Kuliah harus dipetakan terlebih dahulu dalam Tabel Jadwal Mata Kuliah.

8 komentar:

  1. punya skrip ga,. nta tolng dunk,.
    banget2 ni,. lagi nyusun buat skripsi,.ditunggu ya infonya,.thx bgt,.


    _erlang_

    BalasHapus
  2. ada ga ya skripnya..
    boleh dunk dkirim ke email..
    di tunggu yah.. b3scout@gmail.com

    thx..

    BalasHapus
  3. ad scriptnya ga, kebetulan saya lagi melakukan penelitian ini...penggemar_cinta@yahoo.com

    thanx.

    BalasHapus
  4. Information about www.iyahomobile.com HandPhone in a lot of info that can be
    information about robotic technology in http://mobile-robotika.blogspot.com/
    About unique-unique in http://discovery-mobile.blogspot.com

    BalasHapus
  5. boleh dunk minta model matematiknya... cz dosen pembimbingku minta... please! aq dah 2 tahun ngerjain skripsi penjadwalan pke algoritma genetik jg, tp blm kelar-kelar... thank's b4.

    From:wahyu_alfa@yahoo.com

    BalasHapus
  6. minta skripnya donk klo boleh

    BalasHapus
  7. Mohegan Sun Pocono, LLC - JeT Hub
    Mohegan Sun Pocono, LLC is a Wedding Venue in Wilkes Barre, PA. 과천 출장샵 View details 태백 출장마사지 for this 목포 출장샵 venue, 포항 출장안마 address, telephone number, map, 부천 출장샵

    BalasHapus