ANALISIS DAN IMPLEMENTASI PENJADWALAN DENGAN MENGGUNAKAN
PENGEMBANGAN MODEL CROSSOVER DALAM ALGORITMA GENETIKA
Made Darma Yunantara, I Gede Santi Astawa,Ngr. Agus Sanjaya ER
Program Studi Teknik Informatika, Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Udayana.
Email:
ABSTRAK
Optimasi penjadwalan dapat dilakukan dengan berbagai metode salah satunya algoritma genetika. Pada algoritma genetika dilakukan beberapa tahap dalam melakukan optimasi penjadwalan yaitu seleksi, crossover dan mutasi. Pada metode crossover kromosom penjadwalan akan diacak dan ditukarkan dengan kromosom yang lainya. Pada penelitian ini, dilakukan pengembangan terhadap metode crossover yang diambil dari metode crossover yang biasa dilakukan di algoritma genetika. dimana pada metode crossover pada umumnya memungkinkan terjadinya kerusakan pada kromosom.
Terdapat 2 metode yang dikembangkan, pertama dengan memotong gen hanya pada gen yang mengalami bentrok, dan yang kedua merandom gen yang akan dipotong. Gen dipotong secara utuh tidak memotong ditengah gen, sehingga tidak merusak gen.
Analisis terhadap hasil uji coba menunjukan bahwa pengembangan metode crossover dapat diimplementasikan pada kasus penjadwalan dan terlihat bahwa metode yang memotong gen hanya pada gen yang bentrok lebih cepat mencapai nilai terbaik atau mendekati 1 daripada metode yang hanya merandom gen saja. Dari nilai akhir juga terlihat bahwa metode yang memotong gen pada gen yang bentrok memiliki nilai akhir lebih baik. Selain itu kedua metode ini mampu meminimalisir kerusakan pada kromosom hasil dari crossover.
Kata Kunci : penjadwalan, pengembangan crossover, algoritma genetik
ABSTRACT
compression was successfully reconstructed again exactly the same as the original image. In addition, the compression and decompression time increased following the increase in number of colors, resolution and the size of color file in which the average speed of 10 test images having different colors was 1089.48 ms and decompression was 1036.41 ms.
Keywords: Digital Image, Compression, Arithmetic Coding, Lossless
1. PENDAHULUAN
Umumnya penyusunan jadwal mata kuliah dilakukan secara manual, yaitu dengan pencarian blok-blok atau kolom-kolom mana saja yang masih kosong, kemudian menempatkan jadwal pada blok atau kolom tersebut. Jadwal yang dihasilkan dengan cara seperti ini cenderung menghasilkan jadwal yang menumpuk dan tingkat keakuratannya tidak bisa dijamin. Jadwal yang baik semestinya dapat mengakomodasi semua syarat yang telah ditentukan. Sebagai contoh adalah seorang dosen hanya bisa mengajar pada waktu dan jam tertentu. Dengan syarat ini seharusnya jadwal yang disusun menyediakan sejumlah solusi sehingga kelas yang diajarkan oleh dosen tersebut tidak bentrok dengan dosen yang lainnya.
Dengan kemajuan ilmu pengetahuan dalam bidang komputer, masalah penjadwalan di atas dapat dibuat secara otomatis sehingga dapat memberikan solusi optimal sesuai dengan batasan dan syarat yang sudah ditentukan. Sejumlah metode dari berbagai disiplin ilmu telah diusulkan, seperti antara lain algoritma semut atau Ant Colony Optimization (ACO) dengan pendekatan Max Min Ant System (MMAS), Taboo Search, teknik pewarnaan graf (Coloring Graph) dan lainya (ihsan, 2006)
Pada penelitian sebelumnya yang dilakukan di universitas udayana, dilakukan optimasi penjadwalan dengan algoritma genetika, dimana penelitian tersebut menghasilkan dan memperlihatkan bahwa algoritma genetika dapat digunakan dalam pembuatan jadwal optimal dengan tidak adanya bentrok antar jadwal kuliah, waktu dan ruangan(suarma,2011)
Namun pada penelitian sebelumnya terlihat bahwa terkadang ada jadwal yang tidak sesuai antara mata kuliah dengan dosen pengajar. Penelitian ini akan mencari
bentuk dari penjadwalan dengan menganalisis dan membandingkan metode pengembangan crossover dan mutasi dalam algoritma genetika dengan metode konvensional yang ada. dari hasil penelitian ini akan mencari metode crossover mana yang lebih baik digunakan untuk mendapatkan jadwal yang sesuai tersebut. Metode yang lebih baik akan terlihat dari nilai fitness yang dihasilkan.
2. MATERI
2.1 Algoritma Genetika
Evolutionary Algorithm merupakan terminologi umum yang menjadi induk bagi empat istilah : algoritma genetika (genetic algorithm), pemrograman genetika (genetic programming), strategi evolusi (evolution strategies), dan pemrograman evolusi (evolutionary programming). Tetapi, jenis evolutionary algorithm yang paling populer dan banyak digunakan adalah algoritma genetika
lainnya, yaitu mempunyai ciri-cirinya sebagai berikut :
a. Menggunakan hasil pengkodean dari parameter, bukan parameter itu sendiri. b. Bekerja pada populasi bukan pada sesuatu yang unik. Menggunakan nilai satu-satunya pada fungsi dalam prosesnya.
c. mengunakan fungsi luar atau pengetahuan luar lainnya.
d. Menggunakan fungsi transisi probabilitas, bukan sesuatu yang pasti.
2.2 Proses Algoritma Genetika
Algoritma genetika adalah algoritma pencarian hasil yang terbaik, yang didasarkan pada perkawinan dan seleksi gen secara alami. Kombinasi perkawinan ini dilakukan dengan proses acak (random). Dimana struktur gen hasil proses perkawinan ini, akan menghasilkan gen inovatif untuk diseleksi.
Dalam setiap generasi, ciptaan buatan yang baru (hasil perkawinan), diperoleh dari bit-bit dan bagian-bagian gen induk yang terbaik. Diharapkan dengan mengambil dari gen induk yang terbaik ini diperoleh gen akan yang lebih baik lagi. Meskipun pada kenyataannya tidak selalu tercipta gen anak yang lebih baik dari induknya. Ada kemungkinan lebih baik, sama baiknya, atau bahkan mungkin lebih buruk. Tujuan dari algoritma genetika ini adalah menghasilkan populasi yang terbaik dari populasi awal. Sedangkan keuntungan dari algoritma genetika adalah sifat metoda pencariannya yang lebih optimal, tanpa terlalu memperbesar ruang pencarian.
Dalam menyusun suatu algoritma genetika menjadi program, maka diperlukan beberapa tahapan proses, yaitu proses pembuatan generasi awal, proses
genetika, proses seleksi, dan pengulangan proses sebelumnya
Pada algoritma genetika ini terdapat beberapa definisi penting yang harus dipahami sebelumnya, yaitu :
a) Gen
Gen merupakan nilai yang menyatakan satuan dasar yang membentuk suatu arti tertentu dalam satu
kesatuan gen yang dinamakan kromosom.
Gambar 2.1 Proses Algoritma Genetika
b) Kromosom / Individu
Kromosom merupakan gabungan dari gen-gen yang membentuk nilai tertentu dan menyatakan solusi yang mungkin dari suatu permasalahan. c) Populasi
Populasi merupakan sekumpulan individu yang akan diproses bersama dalam satu satuan siklus evolusi.
d) Fitness
Fitness menyatakan seberapa baik nilai dari suatu individu yang didapatkan. e) Seleksi
Seleksi merupakan proses untuk mendapatkan calon induk yang baik. f) Crossover
Crossover merupakan proses pertukaran atau kawin silang gen-gen dari dua induk tertentu.
Mutasi merupakan proses pergantian salah satu gen yang terpilih dengan nilai tertentu.
h) Generasi
Generasi merupakan urutan iterasi dimana beberapa kromosom bergabung.
i) Offspring
Offspring merupakan kromosom baru yang dihasilkan.
3. METODE PENELITIAN 3.1 Variabel penelitian
Variabel yang digunakan dalam penelitian ini adalah keoptimalan dari kromosom yang ada yang bisa dilihat dari nilai fitness dan waktu komputasi dari algoritma. Faktor utama pembentuk kromosom dari penelitian ini adalah:
a. Mata kuliah yang ditawarkan di masing-masing semester
b. Dosen-dosen yang tersedia
c. Jumlah SKS setiap matakuliah yang ditawarkan
d. Jumlah jam yang ditempuh setiap matakuliah
e. Ruang dan waktu yang tersedia
Sedangkan faktor-faktor pengaruh yang mempengaruhi nilai fitness dari penelitian ini adalah:
a. Adanya mahasiswa yang mengambil dua mata kuliah pada waktu yang bersamaan
b. Adanya dosen yang mengajar dua matakuliah pada waktu yang bersamaan c. Kedekatan antar mata kuliah. Mahasiswa memiliki waktu istirahat antar dua mata kuliah yang ada dalam satu hari sehingga kelelahan mahasiswa
dalam mengikuti mata kuliah pertama tidak mengganggu proses belajar pada mata kuliah selanjutnya.
d. Frekuensi belajar mahasiswa. Seperti halnya pada dosen, untuk menjaga performansi belajar mahasiswa
e. Frekuensi mengajar dosen. Diinginkan agar tugas mengajar dosen dapat terdistribusi merata di tiap hari kerjanya
3.2.Implementasi dan Analisis Algoritma
Analisa yang dilakukan pada tahapan ini adalah mengetahui keoptimalan kromosom melalui beberapa metode dalam algoritma genetika. Dalam algoritma genetika terdapat beberapa metode crossover yang juga akan menghasilkan nilai fitness yang berbeda pula. Adapun tahapan penelitian yang akan dilakukan:
1. Menentukan jumlah kromosom yang digunakan dalam 1 generasi dan jumlah maksimum generasi yang digunakan. Dalam penelitian ini menggunakan 12 kromosom yang akan dilakukan crossover dan menggunakan 100 maksimum generasi, jadi generasi akan berhenti setelah generasi ke 100 walaupun nilai fitness belum mencapai 1. Mata kuliah yang digunakan untuk satu kromosom terdiri dari 33 mata kuliah yang ditawarkan.
2. menginisialisasikan faktor pembentuk kromosom dan mensimulasikan kromosom yang ada dalam sebuah jadwal yang dibuat dalam 1 minggu. Terdapat 4 faktor yang membentuk kromosom, yang pertama adalah mata kuliah, dosen, semester, dan sks dari mata kuliah, inisialisasi gen pembentuk kromosom dapat dilihat pada table 3.1
SMSTR SKS MATA KULIAH kode DOSEN kode Gen
1 3 aljabar linier elementer 000001 srinadi 00001 001000000100001 1 3 logika pemrograman 000010 Dwidasmara 00010 001000001000010
1 2 ISBD 000011 ISBD 00011 000100001100011
1 3 Sistem digital 000100 agus mul 00100 001000010000100
1 3 kalkulus 000101 Asih 00101 001000010100101
1 2 pancasila 000110 Pancasila 00110 000100011000110
1 3 PTI 000111 widhi 00111 001000011100111
3 2 agama 001001 agama 01001 010100100101001 3 3 rekayasa perangkat lunak 001010 gung de 01010 011000101001010
3 3 basis data 001011 herry 01011 011000101101011
3 3 probabilitas terapan 001100 Srinadi 00001 011000110000001 3 3 algoritma dan struktur data 001110 widiartha 01101 011000111001101 3 3 sistem operasi 001111 Anom 01110 011000111101110 3 3 proram linier 010000 santi astawa 01111 011001000001111 5 3 riset operasi 010001 santi astawa 01111 101001000101111 5 2 Kewarganegaraan 010010 Mku 10010 100101001010010 5 3 pemrograman web 010011 Ibmahendra 10011 101001001110011 5 3 pemodelan matematika 010100 p.eka 10100 101001010010100
5 3
pengantar kecerdasan
buatan 010101 LGAstuti 10101 101001010110101
5 3 teori bahasa dan otomata 010110 Anom 01110 101001011001110 5 3 jaringan komputer lanjut 011000 cok rai 10101 101001100010101 5 3 keamanan jaringan 011001 widhi 00111 101001100100111 5 3 pemodelan dan simulasi 011010 Cahya 11010 101001101011010 5 3 basis data terdistribusi 011011 Ibmahendra 10110 101001101110110 5 3 citra digital 011100 Gede 10111 101001110010111 5 3 pengenalan pola 011101 agus mul 00100 101001110100100 5 3 data warehouse 011110 agusSan 01000 101001111001000
7 2 Manejemen 011111 cok rai 10101 110101111110101
7 2 Kewirausahaan 100000 Ketut 11000 110110000011000
7 3 ADBO 100001 gus de 00010 111010000100010
7 3
sistem pendukung
keputusan 100011 agusSan 01000 111010001101000 7 3 sistem temu kembali 100100 agusSan 01000 111010010001000
3. Generate kromosom yang telah terbentuk menjadi beberapa jadwal dengan mengambil gen dan diurutkan dalam kolom – kolom waktu dan ruang 4. lakukan crossover dengan parent yang
telah dipilih, crossover akan dilakukan dengan beberapa metode yang berbeda.
Crossover A
a. pilih gen yang memiliki nilai bentrok
b. dari gen yang dipilih tadi, lakukan random sehingga hanya beberapa gen dengan nilai bentrok saja yang dipilih.
c. Setelah terpilih gen yang akan dilakukan crossover, cari pasangan kromosom dari parent yang lainya
d. Lakukan crossover sesuai dengan pasanganya
e.
Penempatan gen crossover dilakukan secara randomterlihat
seperti gambar 3.2. Dimana
pada gambar dibawah adalah
sebagian kecil dari sebuah
kromosom
untuk
mensimulasikan
teknik
crossover
Parent 1
Parent 2
011000101001010 000100100001000 101001000101111 000100100001000
….
….
….
….
anak 1
anak 2
111010001101000 101001111001000 101001100010101 101001010110101 101001010110101 101001000101111 111010001101000 101001111001000 011000101001010 000100100001000 101001000101111 000100100001000
…. …. …. ….
Gambar 3.2 contoh crossover A
Crossover B
a. Pilih gen dengan cara random b. Setelah gen terpilih, cari gen
pasanganya pada parent yang lainya
c. Lakukan crossover dengan pasanganya
d.
Penempatan gen crossover dilakukan secara random sepertipada gambar 3.3. Dimana pada
gambar
dibawah
adalah
sebagian kecil dari sebuah
kromosom
untuk
mensimulasikan
teknik
crossover
Parent 1
Parent 2
111010001101000 101001010110101 101001100010101 101001111001000 101001111001000 101001000101111 111010001101000 101001010110101 011000101001010 000100100001000 101001000101111 000100100001000
….
….
….
….
anak 1 anak 2
111010001101000 101001111001000 101001100010101 101001010110101 101001010110101 101001000101111 111010001101000 101001111001000 011000101001010 000100100001000 101001000101111 000100100001000
…. …. …. ….
Gambar 3.3 contoh crossover B
5. setelah mendapat populasi baru, hitung nilai fitness dengan menggunakan rumus nilai fitness 3.1
(3.1)
Keterangan:
a = Adanya kelas yang mengambil dua mata kuliah pada
waktu yang bersamaan b= Adanya dosen yang mengajar dua
matakuliah pada waktu yang bersamaan c = Kedekatan antar mata kuliah d = Frekuensi belajar mahasiswa e = Frekuensi mengajar dosen
disesuaikan dengan kemauan user
nantinya. Dengan melihat nilai
fitness bisa dilihat kromosom mana
yang berada dalam kondisi paling
fit. Semakin sedikit terjadinya
bentrok maka akan semakin besar
nilai fitness yang dihasilkan
6. lakukan seleksi terhadap semuaindividu yang ada dengan cara melihat nilai fitness yang dihasilkan. Hanya kromosom dengan fitness terbaik yang akan digunakan kembali
7. lakukan crossover dan seleksi secara berulang hingga individu berada pada fitness terbaik atau sudah mencapai maksimum populasi yang ditetapkan.
3.3 Flowchart Penelitian
MULAI
menginisialisasikan faktor pembentuk kromosom
Gener a te jadwal simulasi
Hitung nilai fitness Lakukan seleksi
4. HASIL DAN PEMBAHASAN
Dari setiap generasi didapat beberapa individu dengan nilai fitnessnya, dan setiap generasi memiliki individu terbaik dengan nilai fitness yang besar, mendekati nilai 1. Generasi akan berhenti apabila didapatkan individu yang sempurna atau individu dengan nilai fitness sama dengan 1, jika tidak setelah beberapa kali generasi akan diambil individu dengan nilai terkecil pada generasi terakhir, berikut adalah nilai fitness yang terbentuk
Grafik 4.1 Hasil Nilai Fitness Terbaik Percobaan Pertama
Grafik 4.2 Hasil Nilai Fitness Terbaik Percobaan Kedua
Grafik 4.3 Hasil Nilai Fitness Terbaik Percobaan Ketiga
TIPE B TIPE A
TIPE B TIPE A
TIPE B TIPE A GENERASI FITNESS
FITNESS
Grafik 4.4 Hasil Nilai Fitness Terbaik Percobaan Keempat
Grafik 4.5 Hasil Nilai Fitness Terbaik Percobaan Kelima
TIPE B TIPE A
TIPE B TIPE A FITNESS
FITNESS
GENERASI
KESIMPULAN
Berdasarkan uji coba yang dilakukan,
maka kesimpulan yang dapat diambil dari
penelitian ini adalah :
1.
Penggunaan
Algoritma
Genetika
dengan menggunakan pengembangan
metode
crossover
bisa
diimpleentasikan
pada
kasus
pengaturan jadwal. Pengembangan
metode
crossover
memiliki
keunggulan
tidak
dihasilkanya
kromosom rusak atau kromosom yang
tidak memiliki nilai
2.
Dua metode pengembangan metode
crossover
menghasilkan nilai
fitness
yang berbeda, dimana metode A
memiliki nilai
fitness
yang lebih kecil
dibanding metode B, ini menunjukan
metode A memiliki kromosom yang
lebih baik dibanding metode B karena
kromosom yang bentrok lebih sedikit
DAFTAR PUSTAKA