APLIKASI ALGORITMA MEMETIKA DALAM PENYUSUNAN JADWAL KULIAH DI PROGRAM STUDI BAHASA DAN SASTRA INGGRIS UNY.

(1)

1

BAB I

PENDAHULUAN

A. Latar Belakang

Secara umum, penjadwalan merupakan aktivitas penugasan yang berhubungan dengan sejumlah kendala pada suatu periode waktu dan lokasi sehingga tujuan dapat terpenuhi. Masalah penjadwalan ini dapat ditemui dalam kehidupan sehari-hari di berbagai bidang, organisasi maupun instansi seperti rumah sakit, penerbangan dan sebagainya. Penjadwalan memegang peranan penting untuk merancang dan mengelola suatu sistem yang memuat sejumlah kegiatan dengan jumlah sumber daya yang terbatas.

Penjadwalan menjadi salah satu bagian terpenting di lingkup universitas, salah satunya adalah penjadwalan mata kuliah. Penjadwalan mata kuliah merupakan proses mengatur mata kuliah yang diikuti oleh mahasiswa dan dosen yang ditempatkan pada slot waktu dan ruang yang tepat (Abdullah, 2006: 27). Penjadwalan mata kuliah dalam universitas terkadang menjadi persoalan yang rumit dan harus mempertimbangkan beberapa faktor. Faktor yang perlu dipertimbangkan dalam penyusunan jadwal kuliah adalah dosen, mahasiswa, ruang dan waktu. Pada penjadwalan kuliah, pertemuan kuliah harus ditempatkan pada ruang dan slot waktu yang tepat sehingga tidak terjadi bentrokan kuliah. Dalam hal ini adalah mahasiswa tidak memperoleh dua mata kuliah dalam waktu yang sama dan dosen tidak mengajar dua mata kuliah dalam waktu yang sama serta hal-hal lain yang disesuaikan dengan tujuan penyusunan jadwal kuliah. Pada saat pergantian semester setiap universitas


(2)

2

disibukkan dengan persoalan penyusunan jadwal kuliah, salah satunya adalah Universitas Negeri Yogyakarta (UNY). Penyusunan jadwal kuliah di UNY biasanya dilakukan oleh masing-masing jurusan namun terdapat perbedaan pada Jurusan Pendidikan Bahasa dan Sastra Inggris.

Pada Jurusan Pendidikan Bahasa dan Sastra Inggris penyusunan jadwal kuliah dilakukan oleh tiap Program Studi (Prodi) sehingga masing-masing prodi memiliki jadwal tersendiri. Seperti pada umumnya, pada setiap pergantian semester Prodi Bahasa dan Sastra Inggris UNY juga disibukkan dengan masalah penyusunan jadwal perkuliahan. Permasalahan ini dikarenakan adanya keterbatasan ruang kuliah yang harus digunakan untuk mahasiswa program studi kependidikan maupun non-kependidikan dan juga untuk mahasiswa kelas reguler maupun kelas non-reguler. Selain keterbatasan ruang, kesulitan juga disebabkan oleh adanya dosen yang mengajar lebih dari empat mata kuliah sehingga berpotensi terjadi bentrokan waktu dosen mengajar.

Ruang kelas yang digunakan untuk perkuliahan Program studi (Prodi) Bahasa dan Sastra Inggris mempunyai kapasitas mulai dari 25 hingga 50 orang. Ruang-ruang tersebut digunakan untuk kedua program studi yaitu Pendidikan Bahasa dan Sastra Inggris dan Bahasa dan Sastra Inggris. Pada tahun ajaran 2013/2014, Prodi Bahasa dan Sastra Inggris memiliki mahasiswa sebanyak 93 orang semester 2, 79 orang semester 4 dan 75 orang semester 6 . Banyaknya dosen pengajar di Prodi Bahasa dan Sastra Inggris semester 2, 4 dan 6 adalah 24 orang. Mata kuliah tersebut terbagi


(3)

3

dalam dua kelas yaitu reguler atau kelas A dan non-reguler atau kelas B, serta terdapat pula mata kuliah yang terbagi dalam empat kelas yaitu kelas E dan F untuk program reguler dan kelas J dan K untuk program non-reguler. Pada mata kuliah semester 6 terdapat kelas konsentrasi yaitu T, U, dan V dengan perincian kelas T merupakan kelas dengan konsentrasi linguistics, U kelas dengan konsentrasi adalah sastra, dan V adalah kelas dengan konsentrasi translation. Jumlah mata kuliah yang ditempuh oleh mahasiswa semester 2, 4, dan 6 adalah sebanyak 42, namun karena terdapat pembagian kelas tersebut, maka total mata kuliah yang diajarkan sebanyak 110 mata kuliah.

Penjadwalan kuliah merupakan masalah optimisasi yang komputasinya dapat menjadi rumit karena terdapat sejumlah ruang berkapasitas tertentu, sejumlah dosen, serta sejumlah mahasiswa sehingga dalam penyusunan jadwal kuliah dibutuhkan suatu algoritma atau metode untuk mendapatkan kualitas jadwal yang baik. Dalam penelitian ini metode yang digunakan untuk menyelesaikan masalah penyusunan jadwal kuliah adalah algoritma memetika. Algoritma memetika pertama kali diperkenalkan oleh Moscato dan Norman pada tahun 1992. Algoritma memetika merupakan penggabungan algoritma genetika dan teknik pencarian lokal. Penambahan pencarian lokal berfungsi sebagai mekanisme efektif yang berguna ketika menggunakan skema representasi canggih dan fungsi evaluasi fitness yang memakan waktu lama. Algoritma memetika juga menggabungkan populasi yang


(4)

4

lebih efektif dalam mengeksplorasi ruang sampel pencarian ukuran besar (Burke & Silva, 2004: 1).

Pada tugas akhir ini, penulis bermaksud untuk mengaplikasikan algoritma memetika pada penyusunan jadwal kuliah di program studi Bahasa dan Sastra Inggris UNY dengan mengadaptasi penelitian Lismanto (2008). Terdapat perbedaan penelitian ini dengan penelitian Lismanto (2008). Pada penelitian Lismanto (2008) pembuatan matriks mata kuliah kali kelompok mahasiswa yang digunakan sebagai input pada program MATLAB memperhitungkan jumlah SKS, sedangkan penulis tidak menggunakan jumlah SKS dalam matriks tersebut dikarenakan jumlah SKS pada semua mata kuliah di Prodi Bahasa dan Sastra Inggris UNY berjumlah 2 SKS sehingga tidak terdapat mata kuliah yang terbagi dalam 2 slot waktu. Selain itu, perbedaan terletak pada slot waktu yang digunakan. Pada penelitian ini, slot waktu yang digunakan adalah 24 selama 5 hari disesuaikan dengan mekanisme penjadwalan yang sudah berjalan di Prodi Sastra Inggris. Pada penelitian Lismanto (2008), slot waktu yang digunakan adalah 45 slot waktu berdasarkan kompetisi penjadwalan internasional seperti pada penjelasan Rossidoria dkk (2006: 406). Pada penelitian ini akan ditunjukkan bagaimana penerapan algoritma memetika pada penyusunan jadwal kuliah di prodi Bahasa dan Sastra Inggris UNY.

B. Rumusan Masalah

1. Bagaimana penerapan algoritma memetika pada permasalahan penyelesaian penyusunan jadwal kuliah?


(5)

5

2. Apakah penggunaan algoritma memetika pada penyusunan jadwal kuliah di Prodi Bahasa dan Sastra Inggris UNY dapat menghasilkan jadwal dengan pelanggaran kendala yang minimal?

C. Tujuan

Tujuan yang ingin dicapai dalam penulisan tugas akhir ini adalah menerapkan algoritma memetika pada penyusunan jadwal kuliah di Prodi Bahasa dan Sastra Inggris UNY agar diperoleh jadwal dengan pelanggaran kendala yang minimal.

D. Manfaat Penelitian

Manfaat yang diperoleh dari penulisan tugas akhir ini adalah sebagai berikut. 1. Pembaca dapat menambah pengetahuan serta wawasan tentang penerapan

algoritma memetika untuk penyusunan jadwal kuliah.

2. Penelitian ini diharapkan mampu memberikan kemudahan dalam penyusunan jadwal kuliah dan memperoleh informasi mengenai hasil tersebut.

E. Pembatasan Masalah

Dalam penyusunan jadwal kuliah ini, diperlukan adanya pembatasan masalah agar permasalahan tidak meluas. Adapun pembatasan masalahnya adalah sebagai berikut. 1. Penelitian hanya dilakukan di Prodi Bahasa dan Sastra Inggris.


(6)

6

3. Penyelesaian masalah penyusunan jadwal kuliah di Prodi Bahasa dan Sastra Inggris UNY dengan algoritma memetika tanpa membandingkan dengan algoritma atau metode lain.

4. Data yang digunakan untuk membahas uji coba algoritma memetika pada permasalahan penyusunan jadwal kuliah ini merupakan data yang diambil pada semester genap tahun ajaran 2013/2014.


(7)

7

BAB II

KAJIAN TEORI

Pada bab II ini dijelaskan mengenai beberapa teori tentang penjadwalan, penjadwalan kuliah, metode penyelesaian penyusunan jadwal kuliah, algoritma genetika, dan algoritma memetika yang akan digunakan sebagai landasan dalam pembahasan selanjutnya.

A. Penjadwalan

Menurut Kamus Besar Bahasa Indonesia, jadwal merupakan pembagian waktu berdasarkan rencana pengaturan urutan kerja, daftar atau tabel kegiatan atau rencana kegiatan dengan pembagian waktu pelaksanaan secara terperinci sedangkan penjadwalan adalah proses untuk menyusun jadwal atau memasukkan kegiatan ke dalam jadwal. Masalah penjadwalan ini dapat ditemui dalam kehidupan sehari-hari di berbagai bidang kegiatan, seperti di lingkungan sekolah, universitas, organisasi, di lingkungan instansi seperti rumah sakit, di lingkungan yang berkaitan dengan sarana transportasi seperti penjadwalan keberangkatan bus, kereta api, kapal, dan pesawat serta di lingkungan lainnya.

Menurut Sahid (1997: 4), dalam kehidupan sehari-hari kegiatan dapat dikelompokkan menjadi 3 kategori: kegiatan yang bersifat tidak disengaja (accidental

events), sementara (temporary events), dan kegiatan rutin (regular activity). Kegiatan

bersifat tidak disengaja mungkin terjadi tanpa rencana atau jadwal yang tidak diketahui seseorang sebelumnya. Kegiatan sementara mungkin tejadi pada satu kesempatan, seperti pertemuan resmi para pemimpin antar negara, pertunjukan


(8)

8

musik, atau dapat juga dalam interval waktu beberapa hari atau minggu seperti kompetisi olahraga, sesi ujian dan lain sebagainya. Kegiatan reguler adalah kegiatan yang biasa dikerjakan secara berkala baik harian, mingguan, bulanan atau dalam interval waktu dalam beberapa jam. Contoh khusus kegiatan reguler seperti keberangkatan kereta api, bus, atau pesawat, program acara televisi maupun radio, pertemuan antara guru dengan murid di sekolah, dan lainnya. Kegiatan yang bersifat berkala ini membutuhkan suatu rencana yang menjelaskan mengenai waktu dan tempat dari masing-masing kegiatan.

Adanya jadwal serangkaian kegiatan bermanfaat untuk orang-orang yang terlibat langsung maupun tidak dalam suatu acara sehingga dapat mengelola waktu dengan baik (Sahid, 1997). Siswa di sekolah maupun mahasiswa di universitas membutuhkan jadwal untuk mengetahui apa yang harus dipelajari sedangkan seorang guru atau dosen perlu mempersiapkan materi yang harus diajarkan. Terdapat banyak contoh lain mengenai jadwal dalam kehidupan sehari-hari yang sering kita jumpai seperti jadwal pertandingan sepak bola, jadwal pameran kesenian, jadwal acara program televisi dan sebagainya.

B. Penjadwalan Universitas

Pada universitas, terdapat dua kegiatan utama yaitu kuliah dan ujian yang melibatkan mahasiswa, dosen, dan juga beberapa komponen lain. Penyusunan jadwal kuliah maupun ujian merupakan masalah yang kompleks karena banyak hal yang harus diperhitungkan. Kuliah berlangsung setiap semester pada setiap tahun akademik. Masing-masing kegiatan tersebut, selain dihadiri kelompok mahasiswa dan


(9)

9

dosen juga melibatkan sumber daya tertentu seperti ruang kelas, atau laboratorium dan sebagainya. Untuk menentukan aktivitas akan berlangsung dalam slot waktu dan menggunakan ruang tertentu, jadwal diperlukan agar semua kegiatan berjalan tanpa konflik yang melibatkan mahasiswa, dosen maupun ruang. Suatu jadwal kuliah biasanya disusun sebelum dimulainya tahun ajaran baru sebelum kuliah dimulai sedangkan suatu jadwal ujian disusun sebelum waktu ujian dimulai. Suatu jadwal kuliah bersifat berkala dengan periode satu minggu. Berbeda dengan jadwal kuliah, jadwal ujian disusun tidak berkala. Sesi ujian hanya berlangsung selama periode waktu tertentu, misalnya dua atau satu minggu.

Belum terdapat istilah baku dalam penjadwalan yang telah disepakati secara umum oleh para peneliti, meskipun permasalahan ini telah menjadi bidang studi yang luas selama puluhan tahun. Penulis yang berbeda mungkin menggunakan istilah yang berbeda untuk konsep yang sama atau istilah yang sama namun dalam arti berbeda. Sebagai contoh, beberapa menggunakan istilah fakultas untuk dosen yang mengajar di universitas. Selain itu, beberapa penulis juga menggunakan istilah kelas untuk menggambarkan sekelompok mahasiswa yang mengambil beberapa mata kuliah, sementara penulis lain mengunakan istilah tersebut dengan makna sekelompok mahasiswa yang mengambil kombinasi mata kuliah yang sama. Daftar istilah dasar yang berkaitan dengan masalah penjadwalan di universitas menurut Sahid (1997: 30) dan Abdullah (2006: 9) adalah sebagai berikut.


(10)

10

Istilah Definisi

Kegiatan Suatu kegiatan yang akan dijadwalkan. Dalam hal ini adalah ujian dan kuliah.

Kuliah Salah satu bagian dari program pendidikan atau kurikulum yang ditawarkan oleh suatu lembaga.

Ujian Kegiatan mahasiswa harus menyelesaikan sekumpulan pertanyaan atau masalah sebagai evaluasi dari mata kuliah yang diikuti.

Slot waktu Interval waktu event dapat dijadwalkan.

Individu Peserta yang mengikuti kegiatan perkuliahan atau ujian yaitu mahasiswa dan dosen

Kendala Persyaratan atau ketentuan yang harus dipenuhi dalam jadwal.

Konflik Suatu pelanggaran terhadap kendala terdapat dua kegiatan kuliah maupun ujian dalam waktu atau ruang yang sama.

C. Penjadwalan Kuliah

Suatu jadwal kuliah terdiri atas kombinasi mata kuliah, slot waktu dan ruang dengan setiap perkuliahan melibatkan sekelompok mahasiswa dan dosen yang bertatap muka selama sejumlah periode waktu untuk membahas mata kuliah tertentu. Penjadwalan kuliah melibatkan penentuan mahasiswa dan dosen yang akan berpartisipasi dalam sesi pengajaran tertentu dalam subjek tertentu dan penugasan setiap sesi pengajaran pada ruang dan periode waktu (Sahid, 1997: 44).

Setelah masalah penjadwalan didefinisikan dengan baik, biasanya memuat beberapa tujuan yang harus dicapai dan kendala yang harus terpenuhi. Di sisi lain, suatu masalah penjadwalan seringkali didefinisikan oleh sekumpulan persyaratan,


(11)

11

beberapa diantaranya menjelaskan tentang tujuan penjadwalan dan yang lainnya adalah kendala. Eiselt dan Laporta (1987) mengklasifikasikan kendala masalah penjadwalan kuliah ini dalam dua kriteria yaitu kendala hard dan kendala soft. Kendala hard merupakan kendala yang harus terpenuhi dalam penyusunan jadwal agar diperoleh jadwal yang layak, sedangkan kendala soft merupakan kendala yang menentukan kualitas jadwal yang dihasilkan.

Kendala hard berdasarkan permasalahan penjadwalan secara umum bertujuan untuk membentuk jadwal yang layak sehingga harus memenuhi kendala-kendala berikut (Rossidoria dkk, 2006: 406).

1. Hanya terdapat satu kuliah di masing-masing ruangan pada slot waktu yang sama. 2. Setiap ruangan harus cukup untuk menampung semua mahasiswa yang mengikuti

kuliah serta memenuhi semua fasilitas yang dibutuhkan.

3. Tidak terdapat mahasiswa yang mengikuti 2 atau lebih kuliah pada slot waktu yang sama.

Setelah memenuhi seluruh kendala hard, penyusunan jadwal dilanjutkan dengan meminimumkan fungsi penalti kendala soft yaitu dengan cara meminimalisasi pelanggaran terhadap kendala soft. Kendala soft yang telah didefinisikan dalam permasalahan penjadwalan universitas secara umum menurut Rossidoria dkk (2006: 406) adalah sebagai berikut.


(12)

12

2. Mahasiswa tidak hanya mengikuti satu kuliah dalam 1 hari. 3. Mahasiswa tidak mengikuti kuliah lebih dari 6 jam berturut-turut.

D. Prosedur Penyusunan Jadwal Kuliah

Masing-masing lembaga pendidikan perlu untuk menyusun jadwal setiap waktu, semester atau tahun. Pada universitas, jadwal biasanya disusun oleh bagian administrasi akademik dari fakultas namun terdapat beberapa lembaga yang menyusun jadwal secara masing-masing jurusan. Berdasarkan permasalahan yang harus diselesaikan, menurut Sahid (1997: 30) masalah penjadwalan secara umum adalah untuk mencari solusi masalah berikut.

1. Penentuan daftar mata kuliah yang akan ditawarkan dan jumlah kelas serta banyaknya tatap muka masing-masing mata kuliah.

2. Penugasan dosen untuk mengajar tiap-tiap mata kuliah yang sesuai dengan bidangnya.

3. Penempatan mata kuliah, ruang dan slot waktu serta dosen untuk perkuliahan. 4. Penempatan masing-masing mahasiswa dengan mata kuliah dan kelas

berdasarkan permintaan mahasiswa sehingga meminimalkan terjadinya bentrokan.

Menurut Sahid (1997: 30), prosedur penyusunan jadwal secara umum dapat digambarkan pada tahapan berikut.


(13)

13

a. daftar mata kuliah atau ujian yang akan dijadwalkan, daftar ruang beserta kapasitas juga ketersediannya, serta periode waktu termasuk durasi perkuliahan yang dialokasikan untuk penjadwalan;

b. informasi mengenai ketersediaan dosen yang bertanggung jawab mengampu tiap-tiap mata kuliah;

c. informasi mengenai data mahasiswa dan matakuliah yang diikuti.

2. Merumuskan masalah dan metode penyelesaiannya yang meliputi penggunaan model atau pendekatan tertentu, solusi manual, metode heuristik dan sebagainya, 3. Mengaplikasikan metode penyelesaiannya untuk merumuskan masalah,

4. Mencetak dan mempublikasikan jadwal yang dihasilkan,

5. Menyimpan jadwal dalam database yang mudah diakses untuk perbaikan kedepannya.

E. Metode Penyelesaian Masalah Penjadwalan Kuliah

Berbagai metode untuk masalah umum optimisasi sudah diterapkan untuk menyelesaikan berbagai macam masalah penjadwalan. Metode-metode tersebut termasuk pewarnaan graf berbasis heuristik, simulated annealing, tabu search, algoritma genetika, pemrograman logika kendala (constraint logic programming), jaringan syaraf tiruan (neural networks) (Sahid, 1997: 60). Selain beberapa metode tersebut, algoritma memetika juga dapat menjadi salah satu pilihan metode penyelesaian dalam penjadwalan kuliah. Beberapa metode akan dijelaskan dalam sub-bab berikut.


(14)

14 1. Algoritma

Algoritma adalah urutan logis langkah-langkah penyelesaian masalah yang disusun secara sistematis (Rinaldi Munir, 2005: 176).

Menurut Donald E. Knuth (Suarga, 2012: 2), algoritma memiliki beberapa ciri sebagai berikut.

1. Algoritma mempunyai awal dan akhir, suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas. Dengan kata lain, suatu algoritma memiliki langkah terbatas.

2. Setiap langkah pada algoritma harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda.

3. Algoritma memiliki masukan (input) atau kondisi awal. 4. Algoritma memiliki keluaran (output) atau kondisi akhir.

5. Algoritma harus efektif, bila diikuti benar-benar maka akan menyelesaikan persoalan.

Berdasarkan ciri algoritma yang diuraikan di atas, sifat utama suatu algoritma (Suarga, 2012: 4) adalah sebagai berikut.

1. Input

Suatu algoritma memiliki input sebelum dilaksanakan, dapat berupa nilai-nilai peubah yang diambil dari himpunan khusus.


(15)

15 2. Output

Suatu algoritma akan menghasilkan output setelah dilaksanakan, atau algoritma akan mengubah kondisi awal menjadi kondisi akhir, dimana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma.

3. Definiteness

Langkah-langkah yang ditulis dalam algoritma terdefinisi dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma.

4. Finiteness

Suatu algoritma harus memberi output setelah sejumlah langkah dilakukan terhadap setiap input yang diberikan.

5. Effectiveness

Setiap langkah dalam algoritma dapat dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhirnya diperoleh solusi sesuai yang diharapkan.

6. Generality

Langkah-langkah algoritma berlaku untuk setiap himpunan input yang sesuai dengan persoalan yang diberikan, tidak hanya untuk himpunan tertentu.

Algoritma berfungsi untuk mempermudah kerja atau memudahkan kita untuk menyusun suatu program. Selain itu, algoritma juga dapat mengatasi masalah logika dan matematika termasuk dalam masalah penjadwalan. Pemilihan algoritma yang tepat dalam penyusunan jadwal berpengaruh dengan hasil dari jadwal itu sendiri.


(16)

16 2. Algoritma Genetika

Menurut Sahid (1997: 64), algoritma genetika merupakan algoritma evolusioner untuk memecahkan masalah optimisasi berdasarkan pada ide-ide evolusi seleksi alam. Algoritma ini mensimulasikan proses evolusi dengan menghasilkan populasi solusi layak dan menerapkan beberapa operator genetik untuk menghasilkan populasi baru berdasarkan aturan seleksi. Menurut Kralev (2009: 291), ide mengenai algoritma evolusioner diperkenalkan pertama kalinya oleh Rechenberg pada tahun 1973 sedangkan ide mengenai algoritma genetika diajukan oleh John Holland dari Universitas Michigan pada tahun 1960-an. John Holland mengatakan bahwa setiap masalah yang berbentuk adaptasi dapat diformulasikan dengan terminologi genetika. Algoritma genetika dikembangkan lebih lanjut oleh John Holland bersama murid-murid dan rekan kerjanya dari Universitas Michigan pada tahun 1960-an dan 1970-an. Sejak itu algoritma genetika telah dipelajari, diteliti dan diaplikasikan secara luas di berbagai bidang. Pada awal tahun 1992 pemrograman mengenai genetika mulai diperkenalkan oleh J.H. Koza (Kralev, 2009: 291).

Algoritma genetika menggunakan analogi secara langsung dari kebiasaan yang alami yaitu seleksi alam. Dalam ilmu biologi, sekumpulan individu yang sama, hidup dan berkembang bersama dalam suatu area, disebut dengan populasi. Algoritma genetika bekerja dengan suatu populasi yang terdiri atas individu-individu, yang masing-masing individu mempresentasikan solusi yang mungkin bagi suatu permasalahan. Algoritma genetika memiliki performansi yang baik untuk masalah-masalah selain optimisasi kompleks dari satu variabel atau multivariabel. Salah satu


(17)

17

aplikasi algoritma genetika adalah pada permasalahan optimisasi kombinasi, yaitu mendapatkan suatu nilai solusi optimal terhadap suatu permasalahan yang mempunyai banyak kemungkinan solusi, seperti optimisasi penjadwalan mata kuliah.

Pada algoritma genetika, kandidat solusi (yang selanjutnya disebut ‘solusi’) dari suatu masalah direpresentasikan sebagai kromosom. Kromosom ini merupakan representasi dari solusi yang ada. Kumpulan kromosom disebut sebagai populasi. Masing-masing kromosom pada populasi akan dievaluasi menggunakan fungsi

fitness, yaitu fungsi yang mengukur secara kuantitatif suatu kromosom untuk

bertahan pada populasi. Pembentukan populasi baru dilakukan dengan menerapkan operator-operator genetika secara iteratif sampai dipenuhi kriteria berhenti, misalnya diperoleh populasi yang baik dari populasi sebelumnya. Operator dasar dalam algoritma genetika adalah seleksi, crossover dan mutasi. Operator genetik crossover membentuk dua solusi (orang tua) dan menggabungkan dua solusi tersebut setelah satu atau lebih solusi (anak) dihasilkan. Orang tua yang dipilih merupakan orang tua dari semua solusi dalam populasi saat ini Kralev (2009: 291).

Algoritma genetika bekerja dengan menggunakan pendekatan random, sehingga nilai-nilai yang dihasilkan adalah nilai random. Pada kasus penjadwalan dengan model genetika, semakin banyak iterasi yang dilakukan maka waktu yang dibutuhkan akan semakin lama.

3. Local Search (Pencarian Lokal)

Menurut Sahid (1997: 61), salah satu prosedur perbaikan yang paling sederhana adalah algoritma pencarian lokal. Algoritma pencarian lokal adalah teknik


(18)

18

perbaikan berulang yang dapat diterapkan secara umum untuk setiap masalah optimisasi dengan ruang solusi yang baik, suatu fungsi objektif terdefinisi untuk setiap solusi layak elemen , dan persekitaran untuk setiap solusi . Diberikan sebuah solusi awal, algoritma akan menghasilkan urutan solusi dengan mencari solusi baru secara berulang di persekitaran solusi saat ini yang menjadi solusi baru saat ini. Tetangga yang terpilih diterima jika memiliki kualitas yang lebih baik daripada solusi saat ini. Algoritma dapat menerima solusi awal dengan kualitas yang lebih baik atau solusi di persekitaran yang memberikan peningkatan kualitas solusi terbesar, disebut steepest descent atau steepest ascent. Algoritma pencarian lokal berakhir ketika tidak terdapat solusi di persekitaran solusi saat ini yang berkualitas lebih baik.

4. Algoritma Memetika

Algoritma memetika pertama kali diperkenalkan oleh Moscato & Norman pada tahun 1992. Moscato dan Norman menggambarkan sebuah algoritma evolusioner yang menggunakan teknik pencarian lokal. Menurut Kralev (2009: 291), ide Moscato dan Norman kemudian dirumuskan oleh Radcliffe dan Surrey yang membuat perbandingan antara algoritma genetika dan memetika. Dalam algoritma memetika, meme dianggap sebagai unit informasi yang dapat mereplikasi diri melalui komunikasi antar individu, tanpa ada keterkaitan dengan tingkat replikasi dari gen masing-masing individu dan dapat disebarkan ke individu lain melalui cara seperti pencarian lokal, pindah silang, evolusi atau dengan cara lainnya. Proses replikasi


(19)

19

meme disebut juga process of self-reproduction atau the memetic life-cycle yang dilanjutkan dengan penyebaran meme. Proses replikasi dari orang tua kepada anaknya hanya terjadi pada gen (vertical transmission) yang merupakan konsep dari algoritma genetika, sedangkan proses replikasi pada meme dapat juga terjadi dalam satu individu (horizontal transmission). Gabungan kedua konsep itu merupakan dasar algoritma memetika, sedangkan meme dalam algoritma memetika disebut dengan gen.

Algoritma memetika didasari oleh teori evolusi biologi neo darwinian dan pendapat Dawkin tentang meme sebagai unit evolusi kultural yang mampu melakukan perbaikan terhadap dirinya sendiri. Algoritma memetika adalah suatu metode pencarian heuristik yang mengkombinasikan antara Algoritma genetika dengan metode pencarian lokal, yang secara bersama-sama dapat meningkatkan kualitas pencarian solusi (Moscato, 1989). Perbedaan algoritma genetika dan algoritma memetika menurut Kralev (2009: 292) terletak pada solusi yang dihasilkan. Dasar dikembangkannya algoritma genetika adalah menghasilkan sebuah solusi berdasarkan konstruktif heuristik. Tujuan utama algoritma ini adalah diberikan kegiatan awal sehingga kegiatan tersebut ditempatkan pada jawal mingguan. Berbeda dengan algoritma genetika, algoritma memetika menghasilkan sebuah solusi berdasar pada pencarian lokal. Tujuan utama algoritma memetika ini adalah dengan diberikan di awal suatu peraturan dalam kegiatan untuk ditempatkan pada jadwal mingguan sedemikian rupa sehingga dapat menghasilkan solusi dengan nilai terbaik akan solusi yang dihasilkan.


(20)

20

Algoritma memetika dapat digambarkan dalam diagram alir seperti ditujukkan pada gambar 2.1.

Struktur dari algoritma memetika dapat didefinisikan dengan langkah-langkah berikut.

1. Pengkodean

Dalam penggunaan algoritma genetika maupun memetika cara untuk merepresenatsikan solusi ke dalam kromosom adalah dengan pengkodean. Dalam pengkodean kromosom setiap solusi harus dikodekan dan kromosom harus merepresentasikan tepat satu solusi. Secara umum, suatu kromosom berbentuk

kromosom = (gen1, gen2, …,genn )

n adalah jumlah gen dalam suatu kromosom dan setiap gen diiisi oleh nilai dari gen.

Menurut Suyanto (2005: 7) terdapat 3 skema yang paling umum digunakan yaitu.


(21)

21 a. Real number encoding

yaitu pengkodean nilai gen berada dalam interval [0,R] dimana R adalah bilangan positif yang biasanya bernilai 1.

b. Discrete decimal encoding

yaitu pengkodean nilai gen dapat bernilai dari salah satu bilangan bulat dalam interval [0,N].

c. Binary encoding

yaitu setiap gen hanya dapat bernilai 0 atau 1.

Berikut merupakan gambaran skema pengkodean gen-gen dalam kromosom.

x1 x2 x3

0,3150 1,000 0,0257 Real number encoding

gen 1 gen 2 gen 3

7 3 4 9 15 28 6 0 1 Discrete decimal encoding

gen 1 gen 2 gen 3 gen 4 gen 5 gen 6 gen 7 gen 8 gen 9

1 0 0 1 1 1 0 0 0 Binary encoding

gen 1 gen 2 gen 3 gen 4 gen 5 gen 6 gen 7 gen 8 gen 9

Pada gambar 2.2 terdapat tiga variabel, yaitu , , , yang dikodekan ke dalam suatu kromosom yang terdiri atas 3 gen (untuk real number encoding) sedangkan pada discrete decimal encoding maupun binary encoding, ketiga variabel

dikodekan ke dalam kromosom yang terdiri atas 9 gen (masing-masing variabel dikodekan dalam 3 gen) (Suyanto, 2005).


(22)

22 2. Pembentukan populasi awal

Algoritma memetika merupakan algoritma heuristik yang bekerja pada populasi, yaitu kumpulan kromosom atau solusi yang akan diperbaharui pada setiap generasinya. Pembentukan pupolasi awal yang berisi kumpulan kromosom sebanyak ukuran populasi biasanya dilakukan secara acak.

3. Fungsi fitness

Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran performansinya. Di dalam evolusi alam, individu yang bernilai fitness tinggi akan bertahan hidup sedangkan yang bernilai fitness rendah akan mati. Pada permasalahan optimisasi, jika solusi yang dicari adalah memaksimalkan suatu fungsi h, maka nilai

fitness yang digunakan adalah nilai dari fungsi h tersebut, yaitu f = h dengan f adalah

fungsi fitness namun jika masalahnya adalah meminimalkan fungsi h, maka fungsi h tidak dapat digunakan secara langsung. Oleh karena itu, fungsi fitness yang dapat digunakan adalah , semakin kecil nilai dari fungsi h maka semakin besar nilai f. namun hal ini akan menjadi masalah jika h bernilai 0 yang mengakibatkan f bernilai tak hingga. Untuk mengatasinya, h perlu ditambah suatu bilangan yang dianggap sangat kecil sehingga nilai fitnessnya menjadi

dengan a adalah bilangan yang dianggap sangat kecil dan bervariasi sesuai dengan masalah yang akan diselesaikan (Suyanto, 2005).


(23)

23 4. Fungsi penalti

Fungsi penalti memiliki nilai suatu kromosom yang menentukan kualitas atau kelayakan solusi masalah. Nilai penalti menunjukkan bobot pelanggaran terhadap suatu kendala atau batasan. Dalam masalah optimisasi, nilai penalti biasanya diminimumkan sehingga diperoleh solusi dengan jumlah pelanggaran kendala yang paling sedikit. Semakin kecil nilai penalti maka akan semakin meningkatkan kualitas solusi, sedangkan kelayakan solusi ditentukan oleh kendala suatu nilai penalti.

5. Seleksi orang tua

Seleksi orang tua merupakan bagian evolusi yaitu proses mendekati kandidat solusi permasalahan yang diharapkan. Seleksi orang tua adalah operator algoritma memetika yang dilakukan pada setiap generasi untuk memilih kromosom-kromosom dari populasi yang akan menjadi orang tua bagi generasi berikutnya. Menurut Sri Kusumadewi (2006: 235), langkah pertama yang dilakukan dalam seleksi ini adalah pencarian nilai fitness. Masing-masing individu dalam suatu tempat seleksi akan menerima probabilitas reproduksi yang tergantung pada nilai objektif individu tersebut terhadap semua individu dalam tempat seleksi tersebut.

Proses seleksi dapat dilakukan dengan beberapa metode antara lain roulette

wheel selection, tournament selection, rank selection, truncation selection. Penjelasan

mengenai metode-metode tersebut adalah sebagai berikut. a. Roulette wheel selection

Dalam roulette wheel selection, masing-masing kromosom menempati potongan lingkaran pada roulette wheel dengan ukuran yang proporsional sebanding


(24)

24

dengan nilai fitnessnya. Semakin besar nilai fitness, maka semakin besar kemungkinan kromosom itu untuk terpilih. Langkah awal dari roulette wheel

selection adalah menghitung nilai fitness masing-masing kromosom. Setelah itu

dihitung ukuran masing-masing kromosom berdasarkan perbandingan probabilitas anatara nilai fitness setiap kromosom dengan total nilai fitness. Langkah selanjutnya adalah membangkitkan bilangan real secara random antara 0 dan 1 untuk menentukan kromosom yang bertahan hidup dan menjadi induk.

b. Tournament selection

Pada tournament selection, sekelompok kecil kromosom diambil secara random, kemudian dipilih satu kromosom yang memiliki nilai fitness paling tinggi untuk menjadi orang tua. Hal ini dilakukan berulang-ulang hingga didapatkan jumlah orang tua yang diinginkan.

c. Rank selection

Metode rank selection bekerja dengan terlebih dahulu meranking atau mengurutkan kromosom di dalam populasi berdasarkan fitness-nya. Kemudian memberi nilai fitness baru berdasarkan urutannya. Kromosom dengan fitness terburuk akan memiliki fitness baru yang bernilai 1, terburuk kedua bernilai 2, dan seterusnya. Sehingga kromosom yang memiliki fitness terbaik akan memiliki nilai fitness , dengan adalah jumlah kromosom dalam sebuah populasi. Setelah proses pengurutan dan pemberian nilai fitness baru, setiap kromosom akan memiliki


(25)

25

kesempatan yang lebih kecil untuk terpilih, sehingga metode ini menyebabkan konvergensi menjadi lambat (Obitko, 1998).

d. Truncation selection

Truncation selection biasa digunakan oleh populasi yang jumlahnya besar.

Semua kromosom dalam populasi diurutkan berdasarkan nilai fitness-nya kemudian dipilih sejumlah kromosom terbaik yang diseleksi sebagai induk. Parameter yang digunakan dalam metode ini adalah suatu nilai ambang trunk yang mengindikasikan ukuran populasi yang akan diseleksi sebagai induk. Individu yang berada di bawah nilai ambang tidak akan menghasilkan keturunan (Sri Kusumadewi, 2004).

6. Pindah silang (crossover)

Pindah silang (crossover) merupakan komponen paling penting dalam algoritma genetika dan memetika karena proses inilah yang dapat mendekati kromosom-kromosom sebagai kandidat solusi yang diharapkan. Kromosom yang mengarah pada nilai penalti yang lebih bagus diperoleh dari proses memindah-silangkan dua buah kromosom yang diperoleh dari seleksi orang tua. Pindah silang dapat menghasilkan satu atau beberapa kromosom yang biasa disebut kromosom anak.

Pindah silang dapat berakibat buruk jika jumlah populasinya sangat kecil karena suatu kromosom dengan gen-gen yang mengarah ke solusi (kromosom yang diharapkan) akan sangat cepat menyebar ke kromosom-kromosom lainnya. Untuk mengatasi masalah tersebut pindah silang hanya dapat dilakukan untuk probabilitas


(26)

26

tertentu misal , artinya pindah silang dilakukan jika suatu bilangan random [0,1) yang dibangkitkan kurang dari yang ditentukan. Pada umumnya, ditentukan mendekati satu, misal 0,8.

Terdapat beberapa jenis operator crossover antara lain yaitu one point

crossover, two point crossover, dan uniform crossover. Penjelasan mengenai operator crossover tersebut adalah sebagai berikut.

a. One point crossover

Menurut Suyanto (2005: 14), pindah silang yang paling sederhana adalah one

point crossover. Dalam one point crossover satu titik dipilih secara random untuk

membagi orang tua yang pertama, kemudian gen pertama hingga titik yang terpilih diturunkan ke kromosom anak sesuai posisinya, sedangkan orang tua yang lainnya diperiksa, jika terdapat nilai gen yang belum ada pada anak, maka ditambahkan ke kromosom anak dengan cara left-to-right.

b. Two point crossover

Dua titik dipilih secara random untuk membagi orang tua yang pertama. Nilai gen di luar sisi dua titik yang terpilih, diturunkan ke kromosom anak, sesuai posisinya. Dari orang tua kedua, dilihat nilai gen yang lain, kemudian ditambahkan ke kromosom anak.

c. Uniform crossover

Pada uniform crossover, untuk memilih gen dari orang tua mana yang akan diturunkan ke kromosom anak dilakukan menggunakan rasio.


(27)

27 7. Mutasi

Mutasi merupakan proses pertukaran atau perubahan informasi yang dibawa oleh masing-masing gen dalam kromosom anak hasil pindah silang. Mutasi dilakukan pada beberapa gen dalam kromosom anak dengan probabilitas mutasi yang relatif kecil. Peluang mutasi ( ) didefinisikan sebagai persentasi dari jumlah total gen pada populasi yang mengalami mutasi. Peluang mutasi mengendalikan banyaknya gen baru yang akan dimunculkan untuk dievaluasi. Jika peluang mutasi terlalu kecil, banyak gen yang mungkin berguna tidak pernah dievaluasi. Apabila peluang mutasi terlalu besar maka akan terlalu banyak gangguan acak, sehingga anak akan kehilangan kemiripan dari induknya. Biasanya sebesar dengan n adalah jumlah gen dalam kromosom.

Mutasi berperan untuk menggantikan gen yang hilang dari populasi akibat proses seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi. Menurut Kusumadewi (2005: 247) mutasi terdapat 2 jenis yaitu mutasi biner dan mutasi bilangan real.

a. Mutasi biner

Cara sederhana untuk mendapatkan mutasi biner adalah dengan mengganti satu atau beberapa nilai gen dari kromosom. Langkah-langkah mutasi ini adalah sebagai berikut.

1)Jumlah gen pada populasi dihitung dengan cara panjang kromosom dikalikan dengan ukuran populasi.


(28)

28 2)Gen yang akan dimutasi dipilih secara acak.

3)Kromosom ditentukan berdasarkan gen yang terpilih untuk dimutasi.

4)Nilai gen diganti dari 0 ke 1 atau 1 ke 0 dari kromosom yang akan dimutasi tersebut.

Contoh mutasi biner dapat dilihat pada gambar 2.4.

kromosom sebelum mutasi 1 1 0 1 0 1 1 1 1 0

kromosom sesudah mutasi 1 1 0 1 0 0 1 1 1 0

b. Mutasi bilangan real

Pada mutasi bilangan real, ukuran langkah mutasi biasanya sangat sulit ditentukan. Ukuran kecil biasanya memberikan hasil yang baik yaitu berjalan cepat, namun terkadang ukuran yang lebih besar juga berjalan lebih cepat.

8. Pencarian lokal (local search)

Pencarian lokal (local search) merupakan pertukaran kembali informasi yang dibawa oleh gen-gen dalam satu kromosom anak. Pencarian lokal dapat dilakukan dengan menukar dua gen, atau permutasi beberapa gen tanpa mengurangi kualitas dari kromosom sebelumnya.

Pada algoritma memetika, tahapan pencarian lokal diterapkan pada 2 tempat yaitu sebelum masuk proses evolusi dan pada proses evolusi. Penjelasan mengenai tahapan tersebut adalah sebagai berikut.


(29)

29

a. Sebelum masuk ke proses evolusi, pencarian lokal diterapkan terhadap semua kromosom pada populasi awal.

b. Pada proses evolusi, pencarian lokal diterapkan sebelum atau sesudah proses seleksi, crossover atau mutasi namun tidak diterapkan untuk semua kromosom dalam populasi.

Menurut Rossidoria (2004: 3), dalam penjadwalan pencarian lokal yang efektif terdiri atas dua tahap yaitu tahap memperbaiki dan tahap meningkatkan kualitas jadwal. Penjelasan tahap tersebut adalah sebagai berikut.

a. Tahap memperbaiki jadwal dari yang tidak layak menjadi layak adalah dengan mengurangi slot waktu yang digunakan.

b. Tahap meningkatkan kualitas jadwal layak adalah dengan mengurangi pelanggaran pada kendala soft.

9. Pergantian populasi

Pergantian populasi merupakan pembentukan populasi baru yang beranggotakan kromosom-kromosom yang lebih berkualitas. Dengan pergantian populasi yang dilakukan terus menerus diharapkan kandidat solusi permasalahan semakin mendekati optimal. Pergantian populasi dilakukan dengan memasukkan satu atau dua kromosom anak ke populasi awal dan membuang satu atau dua kromosom dalam populasi awal yang mempunyai nilai penalti besar.

F. Aplikasi Algoritma Memetika pada Masalah Penjadwalan

Menurut Burke dkk (2004: 3), secara umum tugas dalam penjadwalan adalah mengakomodasi suatu hal misalnya kegiatan, kendaraan, dan sebagainya dalam pola


(30)

30

ruang dan waktu agar dapat memanfaatkan sumber daya yang tersedia dengan metode yang tepat sehingga kendala dapat terpenuhi. Masalah penjadwalan merupakan domain yang menarik untuk aplikasi algoritma memetika. Algoritma memetika menggunakan pencarian lokal yang berfungsi sebagai mekanisme efektif yang berfungsi ketika menggunakan representasi yang canggih. Aspek penting lainnya yang telah diteliti ketika merancang algoritma memetika untuk masalah penjadwalan adalah bagaimana membangun keseimbangan yang tepat antara langkah yang dilakukan algoritma genetika dan langkah yang dilakukan pencarian lokal.

Menurut Burke dkk (2004: 18), beberapa alasan algoritma memetika menjadi pendekatan yang baik dalam memecahkan berbagai masalah penjadwalan adalah sebagai berikut.

1. Ukuran ruang pencarian dalam permasalahan penjadwalan merupakan sebagian masalah dalam dunia nyata sehingga dibutuhkan kemampuan eksploratif yang baik seperti yang dimiliki algoritma memetika.

2. Masalah penjadwalan dibatasi oleh berbagai kendala sehingga seringkali lebih mudah untuk meningkatkan solusi self-improve. Sifat ini dibatasi oleh kendala yang mengarah pada pengkodean khusus dan operator untuk self-improvement yang didasarkan pada domain masalah.

3. Suatu fungsi evaluasi fitness dapat memakan waktu pada permasalahan penjadwalan. Penggunaan evaluasi perkiraan atau pendekatan dalam menentukan solusi pada algoritma memetika lebih kuat dibandingkan dengan metode


(31)

31

dalam satu solusi baru yang dapat membantu mengurangi efek kesalahan dari pendekatan fitness.

Langkah-langkah proses penyusunan jadwal dengan algoritma memetika secara ringkas dapat digambarkan dalam diagram alir sebagai berikut.

MULAI

Pengkodean kegiatan yang dijadwalkan, Pengkodean ruang,

Pengkodean waktu Input: Data individu/

kegiatan yang akan dijadwalkan, Data waktu,

Data Ruang

Membentuk calon solusi jadwal dalam bentuk kromosom

Membentuk populasi awal

Hitung nilai fitness

Seleksi orang tua

Crossover

Mutasi

Local Search

Jadwal optimal

SELESAI Tidak

Ya


(32)

74

DAFTAR PUSTAKA

Abdullah, Salwani. 2006. Heuristic Approaches For University Timetabling

Problems. PhD Thesis, Department of Computer Science, University of

Nottingham. (http://www.asap.cs.nott.uk/publications/pdf/sqa-thesisFinal.pdf diakses pada tanggal 4 Februari 2015 pukul 18:25 WIB).

Binh, Ta Quang dkk. A Memetic Algorithm for Timetabling. Journal of HCMC University of Technology. Vietnam.

Burke, E.K and Silva, JD Landa. 2004. The design of Memetic Algorithms for

Scheduling and Timetabling Problems. The University of Nottingham, UK.

Burke, E.K., Newall, J.P., Weare, R.F. 1996. A Memetic Algorithm for University

Exam Timetabling. Department of Computer Science University of

Nottingham, UK.

Eiselt, Horst A. dan Laporta, Gilbert. 1987. Combinatorial Optimization Problems

with Soft and Hard Requirements. Journal of the Operational Research Society, 38(9). Hlm. 785-795.

H. Holland, John. 1992. Adaptation in Natural and Artificial Systems. University of Michigan, United States.

Jat, Sadaf N. and Yang, Shengxiang. 2008. A Memetic Algorithm for the University

Course Timetabling Problem. Department of Computer Science University of

Leicester, UK.

Kralev, Velin. 2009. A Genetic and Memetic Algorithm for Solving The University

Course Timetable Problem. International Journal ‘Information Theories &

Applications”, 16(3). Hlm. 291-299.

Lismanto. 2008. Penjadwalan Kuliah dengan Algoritma Memetika. Skripsi Universitas Indonesia. Jakarta.

Moh. Ali Albar. 2013. Algoritma Genetik Tabu Search dan Algoritma Memetika pada Permasalahan Penjadwalan Kuliah. Tesis. Universitas Gajah Mada. Yogyakarta.


(33)

75

Moscato, Pablo.1989. On Evolution, Search, Optimization, Genetic Algorithms and

Martial Arts Towards Memetic Algorithm. California Institute of Technology,

USA.

Moscato, P. & Norman, G.M. 1992. A “Memetic” Approach for The Travelling

Salesman Problem-Implementation of A Computational Ecology for Combinatorial Optimization on Message-Passing Systems. Proceedings of

The International Conference on Parallel Computing and Transputer Applications, IOS Press:Amsterdam.

Nola Marina. 2008. Algoritma Memetika dan GRASP untuk menyelesaikan Permutation Flow Shop Scheduling Problem. Skripsi. Universitas Indonesia. Jakarta.

Obitko,M. 1998. Introduction to Genetic Algorithms.

(http://www.obitko.com/tutorials/genetic-algorithms/introduction.php, diakses pada tanggal 4 Febuari 2015 pukul 18:27 WIB).

Respati Wahyu Nugroho. 2010. Aplikasi Algoritma Genetika Untuk Penjadwalan Kuliah (Studi kasus: Jurusan Pendidikan Matematika FMIPA Universitas Negeri Yogyakarta). Skripsi. Universitas Negeri Yogyakarta. Yogyakarta.

Riendu Magistrianti. 2013. Konsep Dasar Algoritma Memetika.

(http://digilib.ittelkom.ac.id/index.php?option=com_content&view=article&id =1259:konsep-dasar-algoritma-memetika&catid=21:itp-informatika-teori-dan-pemograman&Itemid=14 diakses pada tanggal 24 April 2014 pukul 08:55 WIB).

Rinaldi Munir. 2005. Matematika Diskrit. Bandung: Informatika.

Rossidoria, Olivia. 2004. A Memetic Algorithm for University Course Timetabling

Problem. School of Computing Napier University.

Rossidoria, Olivia, dkk. 2006. An effective hybrid algorithm for university course

timetabling. School of Computing Napier University.

Sahid. 1997. A Study on University Timetabling. Thesis, Department of Mathematics, The University of Queensland Australia.

Shofiyatul Hasanah. 2007. Aplikasi Pewarnaan Graf Terhadap Penjadwalan Kuliah


(34)

76

Sri Kusumadewi, dan Hari Purnomo. 2005. Penyelesaian Masalah Optimasi dengan

Teknik-teknik Heuristik. Yogyakarta: Graha Ilmu

Suarga. 2012. Algoritma dan Pemrograman. Yogyakarta: Andi Suyanto. 2005. Algoritma Genetika dalam Matlab. Yogyakarta: Andi


(1)

29

a. Sebelum masuk ke proses evolusi, pencarian lokal diterapkan terhadap semua kromosom pada populasi awal.

b. Pada proses evolusi, pencarian lokal diterapkan sebelum atau sesudah proses seleksi, crossover atau mutasi namun tidak diterapkan untuk semua kromosom dalam populasi.

Menurut Rossidoria (2004: 3), dalam penjadwalan pencarian lokal yang efektif terdiri atas dua tahap yaitu tahap memperbaiki dan tahap meningkatkan kualitas jadwal. Penjelasan tahap tersebut adalah sebagai berikut.

a. Tahap memperbaiki jadwal dari yang tidak layak menjadi layak adalah dengan mengurangi slot waktu yang digunakan.

b. Tahap meningkatkan kualitas jadwal layak adalah dengan mengurangi pelanggaran pada kendala soft.

9. Pergantian populasi

Pergantian populasi merupakan pembentukan populasi baru yang beranggotakan kromosom-kromosom yang lebih berkualitas. Dengan pergantian populasi yang dilakukan terus menerus diharapkan kandidat solusi permasalahan semakin mendekati optimal. Pergantian populasi dilakukan dengan memasukkan satu atau dua kromosom anak ke populasi awal dan membuang satu atau dua kromosom dalam populasi awal yang mempunyai nilai penalti besar.

F. Aplikasi Algoritma Memetika pada Masalah Penjadwalan

Menurut Burke dkk (2004: 3), secara umum tugas dalam penjadwalan adalah mengakomodasi suatu hal misalnya kegiatan, kendaraan, dan sebagainya dalam pola


(2)

30

ruang dan waktu agar dapat memanfaatkan sumber daya yang tersedia dengan metode yang tepat sehingga kendala dapat terpenuhi. Masalah penjadwalan merupakan domain yang menarik untuk aplikasi algoritma memetika. Algoritma memetika menggunakan pencarian lokal yang berfungsi sebagai mekanisme efektif yang berfungsi ketika menggunakan representasi yang canggih. Aspek penting lainnya yang telah diteliti ketika merancang algoritma memetika untuk masalah penjadwalan adalah bagaimana membangun keseimbangan yang tepat antara langkah yang dilakukan algoritma genetika dan langkah yang dilakukan pencarian lokal.

Menurut Burke dkk (2004: 18), beberapa alasan algoritma memetika menjadi pendekatan yang baik dalam memecahkan berbagai masalah penjadwalan adalah sebagai berikut.

1. Ukuran ruang pencarian dalam permasalahan penjadwalan merupakan sebagian masalah dalam dunia nyata sehingga dibutuhkan kemampuan eksploratif yang baik seperti yang dimiliki algoritma memetika.

2. Masalah penjadwalan dibatasi oleh berbagai kendala sehingga seringkali lebih mudah untuk meningkatkan solusi self-improve. Sifat ini dibatasi oleh kendala yang mengarah pada pengkodean khusus dan operator untuk self-improvement yang didasarkan pada domain masalah.

3. Suatu fungsi evaluasi fitness dapat memakan waktu pada permasalahan penjadwalan. Penggunaan evaluasi perkiraan atau pendekatan dalam menentukan solusi pada algoritma memetika lebih kuat dibandingkan dengan metode single-solution. Hal ini dikarenakan algoritma memetika mempunyai satu populasi


(3)

31

dalam satu solusi baru yang dapat membantu mengurangi efek kesalahan dari pendekatan fitness.

Langkah-langkah proses penyusunan jadwal dengan algoritma memetika secara ringkas dapat digambarkan dalam diagram alir sebagai berikut.

MULAI

Pengkodean kegiatan yang dijadwalkan, Pengkodean ruang,

Pengkodean waktu Input: Data individu/

kegiatan yang akan dijadwalkan, Data waktu,

Data Ruang

Membentuk calon solusi jadwal dalam bentuk kromosom

Membentuk populasi awal

Hitung nilai fitness

Seleksi orang tua

Crossover Mutasi

Local Search

Jadwal optimal

SELESAI

Tidak

Ya


(4)

74

DAFTAR PUSTAKA

Abdullah, Salwani. 2006. Heuristic Approaches For University Timetabling Problems. PhD Thesis, Department of Computer Science, University of Nottingham. (http://www.asap.cs.nott.uk/publications/pdf/sqa-thesisFinal.pdf diakses pada tanggal 4 Februari 2015 pukul 18:25 WIB).

Binh, Ta Quang dkk. A Memetic Algorithm for Timetabling. Journal of HCMC University of Technology. Vietnam.

Burke, E.K and Silva, JD Landa. 2004. The design of Memetic Algorithms for Scheduling and Timetabling Problems. The University of Nottingham, UK. Burke, E.K., Newall, J.P., Weare, R.F. 1996. A Memetic Algorithm for University

Exam Timetabling. Department of Computer Science University of Nottingham, UK.

Eiselt, Horst A. dan Laporta, Gilbert. 1987. Combinatorial Optimization Problems with Soft and Hard Requirements. Journal of the Operational Research Society, 38(9). Hlm. 785-795.

H. Holland, John. 1992. Adaptation in Natural and Artificial Systems. University of Michigan, United States.

Jat, Sadaf N. and Yang, Shengxiang. 2008. A Memetic Algorithm for the University Course Timetabling Problem. Department of Computer Science University of Leicester, UK.

Kralev, Velin. 2009. A Genetic and Memetic Algorithm for Solving The University Course Timetable Problem. International Journal ‘Information Theories &

Applications”, 16(3). Hlm. 291-299.

Lismanto. 2008. Penjadwalan Kuliah dengan Algoritma Memetika. Skripsi Universitas Indonesia. Jakarta.

Moh. Ali Albar. 2013. Algoritma Genetik Tabu Search dan Algoritma Memetika pada Permasalahan Penjadwalan Kuliah. Tesis. Universitas Gajah Mada. Yogyakarta.


(5)

75

Moscato, Pablo.1989. On Evolution, Search, Optimization, Genetic Algorithms and Martial Arts Towards Memetic Algorithm. California Institute of Technology, USA.

Moscato, P. & Norman, G.M. 1992. A “Memetic” Approach for The Travelling Salesman Problem-Implementation of A Computational Ecology for Combinatorial Optimization on Message-Passing Systems. Proceedings of The International Conference on Parallel Computing and Transputer Applications, IOS Press:Amsterdam.

Nola Marina. 2008. Algoritma Memetika dan GRASP untuk menyelesaikan Permutation Flow Shop Scheduling Problem. Skripsi. Universitas Indonesia. Jakarta.

Obitko,M. 1998. Introduction to Genetic Algorithms. (http://www.obitko.com/tutorials/genetic-algorithms/introduction.php, diakses pada tanggal 4 Febuari 2015 pukul 18:27 WIB).

Respati Wahyu Nugroho. 2010. Aplikasi Algoritma Genetika Untuk Penjadwalan Kuliah (Studi kasus: Jurusan Pendidikan Matematika FMIPA Universitas Negeri Yogyakarta). Skripsi. Universitas Negeri Yogyakarta. Yogyakarta. Riendu Magistrianti. 2013. Konsep Dasar Algoritma Memetika.

(http://digilib.ittelkom.ac.id/index.php?option=com_content&view=article&id =1259:konsep-dasar-algoritma-memetika&catid=21:itp-informatika-teori-dan-pemograman&Itemid=14 diakses pada tanggal 24 April 2014 pukul 08:55 WIB).

Rinaldi Munir. 2005. Matematika Diskrit. Bandung: Informatika.

Rossidoria, Olivia. 2004. A Memetic Algorithm for University Course Timetabling Problem. School of Computing Napier University.

Rossidoria, Olivia, dkk. 2006. An effective hybrid algorithm for university course timetabling. School of Computing Napier University.

Sahid. 1997. A Study on University Timetabling. Thesis, Department of Mathematics, The University of Queensland Australia.

Shofiyatul Hasanah. 2007. Aplikasi Pewarnaan Graf Terhadap Penjadwalan Kuliah di Jurusan Matematika UIN Malang. Skripsi. UIN Malang.


(6)

76

Sri Kusumadewi, dan Hari Purnomo. 2005. Penyelesaian Masalah Optimasi dengan Teknik-teknik Heuristik. Yogyakarta: Graha Ilmu

Suarga. 2012. Algoritma dan Pemrograman. Yogyakarta: Andi Suyanto. 2005. Algoritma Genetika dalam Matlab. Yogyakarta: Andi