BAB II LANDASAN TEORI 2.1. Penelitian Terkait - Sistem Penjadwalan Kuliah dengan Menggunakan Algoritma Genetika Studi Kasus Fakultas Teknik Universitas Sumatera Utara

BAB II LANDASAN TEORI

2.1. Penelitian Terkait

  Penelitian terkait yang menggunakan algoritma genetika untuk menemukan solusi dalam menyelesaikan permasalahan penjadwalan kuliah telah banyak dilakukan. Sam’ani [3] melakukan penelitian tentang penjadwalan kuliah dan ujian akhir semester program studi Diploma III Manajemen Informatika STMIK Palangkaraya dengan menggunakan algoritma genetika. Teknik pengkodean dalam penelitian tersebut menggunakan string bit atau varchar untuk teknik pengkodean, populasi awal dibentuk secara acak (random), fungsi fitness digunakan untuk meminimalkan jumlah pelanggaran antar jadwal, metode seleksi dengan roulette-

  

wheel, pindah silang satu titik potong (one-point crossover), mutasi dengan

  pengkodean nilai, menggunakan elitisme dan kondisi selesai ditentukan bila iterasi maksimum telah tercapai. Hasil output dari sistem berupa susunan penjadwalan kuliah dan ujian akhir semester dan didapatkan hasil terbaik dengan semua nilai

  

fitness tiap generasi bernilai satu dan waktu tercepat dicapai pada generasi ke-5,

populasi ke-5, probabilitas pindah silang 25% dan mutasi 2%.

  Kazarlis, S. [4] melakukan penelitian tentang penjadwalan dengan membagi batasan (constraint) ke dalam dua bagian yaitu hard constraint dan soft constraint.

  Untuk mendapatkan suatu sistem penjadwalan kuliah, peneliti menyusun suatu algoritma penjadwalan tersendiri yang berbeda dengan agoritma genetika. Proses penjadwalan pertama sekali dilakukan dengan algoritma penjadwalan dengan menjadwalkan kuliah berdasarkan urutan tertentu yang dapat mengatasi hard

  

constraint dan soft constraint. Algoritma penjadwalan terbatas pada pencarian solusi

yang paling optimum dari masalah yang dihadapi di dalam proses penjadwalan.

  Untuk mengatasi keterbatasan tersebut, jadwal yang dihasilkan nantinya akan dievaluasi berdasarkan kesesuaiannya dan dijadikan sebagai dasar dalam operasi algoritma genetika. Dalam penelitian ini, pencarian solusi dengan menggunakan 5000 generasi tidak dapat menghasilkan zero hard maupun soft constraint. Dari hasil diperoleh bahwa dengan algoritma genetika tidak dapat mengatur kepuasan seluruh

  hard constraint , meskipun hubungan hasil yang diperoleh berdekatan, masih saja

  ditemukan dua kesalahan. Dengan kata lain, apabila hanya mengandalkan algoritma genetika saja, maka hasil yang diperoleh adalah hanya berupa soft constraint saja dan hasilnya lebih baik dibandingkan penjadwalan yang dibuat admin.

  Edmund Burke [5] melakukan penelitian terhadap penjadwalan dengan algoritma genetika pada lembaga pendidikan di Inggris. Penelitian tersebut dilakukan karena pada saat itu terjadi perkembangan dalam dunia pendidikan yang memperbolehkan mahasiswa untuk memilih mata kuliah yang akan diambilnya. Hal ini menyebabkan proses penjadwalan diharuskan lebih fleksibel terhadap perubahan jumlah mahasiswa, jumlah dosen, dan kebutuhan ruang kuliah. Pada sistem penjadwalan kuliah yang dilakukan, pemilihan ruang dilakukan berdasarkan kapasitas ruang yang digunakan. Jadwal dievaluasi berdasarkan jenis jadwal yang dihasilkan dan kursi yang tersisa untuk setiap ruang. Penjadwalan dimulai dari jumlah mata kuliah yang sedikit sehingga dihasilkan beberapa pilihan jadwal.

2.2. Penjadwalan Kuliah

  Penjadwalan merupakan kumpulan kebijakan dan mekanisme dalam sistem operasi yang berkaitan dengan disain sistem, urutan kerja, daftar atau rencana kegiatan dengan pembagian waktu pelaksanaan yang terperinci. Penjadwalan digunakan untuk memutuskan prioritas yang harus dijalankan, waktu pelaksanaan pekerjaan dan teknik pelaksanaan pekerjaan [6].

  Penjadwalan kuliah merupakan kegiatan administrasi yang mengalokasikan sejumlah aktivitas perkuliahan tertentu pada slot waktu dan ruang yang tersedia [7].

  Dalam menyusun penjadwalan kuliah, terdapat beberapa pertimbangan penting yang harus diperhatikan, antara lain jumlah mata kuliah yang ditawarkan dalam satu semester, jenis mata kuliah (teori dan praktikum), jumlah dosen yang mengajar dalam satu semester, waktu kuliah dan ruang yang tersedia.

  Konsep penjadwalan kuliah diawali dengan penugasan seluruh mata kuliah yang disusun dalam satu semester untuk diberikan kepada dosen pengajar.

  Selanjutnya mata kuliah dijadwalkan menurut waktu dan ruang yang tersedia dengan mempertimbangkan ketersediaan waktu mengajar dosen, sehingga nantinya diperoleh sistem penjadwalan kuliah yang baik.

  Secara matematis, penyusunan penjadwalan kuliah dapat diilustrasikan sebagai berikut [8]: a.

  1 c 2 ,c 3 n } yang merupakan kegiatan

  ,….c Himpunan mata kuliah C = {c (peristiwa).

  b.

  1 ,t 2 ,t 3 N }.

  ,….t Himpunan waktu T={t c.

  1 ,p 2 ,p 3 N }.

  ,…p Himpunan ruang P={p d. ,a ,a }.

  1

  2

3 N

  Himpuan dosen A={a ,….a Jika diimplementasikan dalam empat duplex (e,t,p,a

  ), sedemikian sehingga e €

  E, t € T, p € P, dan a € A. Hal ini berarti bahwa peristiwa (e) berlangsung pada waktu (t), yang terjadi pada tempat (p), dilakukan oleh dosen (a).

  Apabila penjadwalan ditentukan oleh satu himpunan dosen {a

  1 ,a

  2

  ,…}, satu set mata kuliah {c ,c ,p

  1

  2

  1

  2

  ,…}, satu himpunan ruang {p ,…}, dan satu set himpunan waktu {t

  1 ,t

  2 i ,c j ,p k } mewakili keperluan

  ,…}, maka dapat ditulis satu set rangkap tiga {a

  i ,

  {dimana i=1,….n; j=1,….m; dan k=1,….q}. Setiap himpunan menunjukkan dosen a mengajar mata kuliah c j di dalam kelas p k . Demikian seterusnya, jika set rangkap tiga ini ditambah elemen t

  1 {dimana l=1, ...s}, maka membentuk set rangkap empat yaitu

  {a ,c ,p ,t } yang dapat diartikan bahwa dosen (a ) mengajar mata kuliah (c ) di kelas

  i j k l i j

  (p k ) pada waktu (t l ). Tiap dua set rangkap berempat misalnya {a i ,c j ,p k ,t l } dan {a w ,c x ,p y ,t z } harus memenuhi persyaratan berikut:

  Bila a i = a w , maka t l z ≠t …………………………………………… (2.1)

  Bila a i = a w , maka p k y ≠p ………………………………………….. (2.2)

  Bila c = c , maka t

  j x l z

  ≠t …………………………………………… (2.3) Bila c j = c x , maka p k y

  ≠t …………………………………………… (2.4) Bila p k =p y , maka t l z

  ≠t …………………………………………… (2.5) Dari ketiga persamaan tersebut, maka persamaan (2.1) menyatakan tidak ada dosen dijadwalkan lebih dari satu kali pada waktu yang bersamaan. Persamaan (2.2) menyatakan bahwa tidak ada dosen dijadwalkan lebih dari satu kali pada ruang yang bersamaan. Persamaan (2.3) menyatakan tidak ada mata kuliah yang dijadwalkan lebih dari satu kali pada waktu yang bersamaan. Persamaan (2.4) menyatakan bahwa tidak ada mata kuliah yang dijadwalkan lebih dari satu kali pada ruang yang bersamaan. Persamaan (2.5) menyatakan bahwa tidak ada ruang yang dijadwalkan lebih dari satu kali dalam satu waktu.

  Secara umum suatu penjadwalan kuliah sebaiknya berdasarkan ketentuan sebagai berikut: a.

  Kegiatan perkuliahan dirancang selama satu semester yang diimplementasikan dalam bentuk kurikulum.

  b.

  Seluruh beban mengajar didistribusikan secara adil dan merata untuk tiap dosen tanpa adanya perlakuan khusus kepada dosen tertentu.

  c.

  Mengoptimalkan seluruh sarana dan prasarana penunjang perkuliahan.

  d.

  Melakukan evaluasi dan montioring dari tiap pencapaian kegiatan perkuliahan selama satu semester.

2.3. Masalah Penjadwalan Kuliah

  Masalah penjadwalan kuliah merupakan masalah keterbatasan dalam menggunakan sumber daya yang tersedia. Sumber daya tersebut merupakan komponen utama yang menjadi pertimbangan penting dalam penyusunan jadwal kuliah. Komponen tersebut dibagi dalam lima kelompok besar, yaitu: a.

  Kelompok dosen.

  b.

  Kelompok mata kuliah.

  c.

  Kelompok kurikulum.

  d.

  Kelompok waktu.

  e.

  Kelompok ruang. Dosen, mata kuliah dan kurikulum disusun membentuk suatu aktivitas perkuliahan. Apabila ketiga kelompok ini ditempatkan ke dalam slot waktu dan ruang, maka akan timbul permasalahan. Permasalahan tersebut antara lain sulitnya mendapatkan alokasi waktu yang tepat terhadap ketersediaan waktu dosen dengan mata kuliah yang ditawarkan. Selain itu penggunaan ruang yang terbatas untuk menampung aktivitas perkuliahan turut menjadi pertimbangan penting sebelum menyusun jadwal. Solusi dikatakan optimal jika seluruh aktivitas perkuliahan dapat disusun dalam waktu singkat sehingga pelanggaran terhadap persyaratan-persyaratan yang ada dapat ditekan sekecil mungkin.

2.4. Persyaratan Penjadwalan

  Penjadwalan berhubungan erat dengan persyaratan atau batasan yang harus ditentukan oleh perguruan tinggi sebelum melaksanakan kegiatan perkuliahan.

  Persyaratan atau batasan yang diberikan nantinya akan dipergunakan sebagai acuan dalam menyusun penjadwalan kuliah. Persyaratan tersebut antara lain: a.

  Seluruh mata kuliah terjadwal dan dinyatakan dalam waktu yang jelas.

  Satu ruang disesuaikan dengan daya tampung mahasiswa yang akan mengikuti perkuliahan.

  Adanya permohonan oleh beberapa dosen untuk mengajar menurut ketersediaan waktunya.

  Beberapa kesulitan yang sering dihadapi saat penjadwalan kuliah adalah: a.

  Seorang dosen tidak diperbolehkan melakukan perpindahan ruang untuk mata kuliah yang sama jika dosen yang bersangkutan berhalangan hadir.

  Selang waktu tiap pergantian mata kuliah agar diusahakan sekecil mungkin. i.

  h.

  Setiap dosen diberi batasan minimum dan maksimum untuk mengajar dalam satu minggu (Senin s.d Jumat).

  g.

  f.

  b.

  Kegiatan perkuliahan hanya boleh dilaksanakan sebanyak satu kali dalam satu ruang dalam satu waktu tertentu.

  e.

  Seorang mahasiswa hanya boleh mengambil mata kuliah pada satu kelas untuk waktu yang bersamaan.

  d.

  Seorang dosen hanya boleh mengajar pada satu kelas untuk waktu yang bersamaan.

  c.

  Kelas yang terjadwal harus memberikan kemungkinan gabungan dari aktivitas perkuliahan yaitu dosen, mata kuliah dan mahasiswa.

2.5. Kesulitan dalam Penjadwalan Kuliah

  b.

  Merancang suatu penjadwalan kuliah yang efektif bukanlah suatu pekerjaan yang mudah untuk dilakukan. Penempatan dosen, mata kuliah, kurikulum dan waktu pada ruang yang terbatas menjadi masalah yang menarik dalam penjadwalan kuliah.

  c.

  Adanya persyaratan tertentu yang ditambahkan dapat mempengaruhi lama waktu penyelesaian sehingga masalah penjadwalan kelihatannya lebih kompleks dan sulit untuk diselesaikan.

  d.

  Masalah penjadwalan sering terkendala oleh persyaratan nyata ketika diaplikasikan dilapangan, seperti dosen mengajar satu kali pertemuan maksimum 3 SKS.

2.6. Algoritma Genetika

  Algoritma genetika merupakan teknik heuristik atau pendekatan algoritma yang didasarkan pada seleksi alamiah dan evolusi. Teori seleksi alamiah dan evolusi dipekenalkan pertama kali oleh Charles Darwin. Proses evolusi dalam algoritma genetika dimulai dengan memilih himpunan penyelesaian secara acak, digambarkan dengan kromosom yang disebut populasi. Ketika populasi awal tidak mencapai solusi yang baik, maka dilakukan proses kawin silang (crossover) dan mutasi. Kawin silang dibutuhkan untuk mendapatkan solusi dan kombinasi terbaik dari populasi sekarang ke dalam populasi baru, dimana pemilihannya tergantung pada fitness terbaiknya.

  Mutasi merupakan tampilan acak yang merubah kromosom individu. Pengaruh mutasi biasanya hanya berdampak pada beberapa gen [9].

2.6.1. Tahapan Algoritma Genetika

  Beberapa tahapan penting dalam proses algoritma genetika antara lain [10] [11]: a.

  Inisialisasi populasi.

  b.

  Evaluasi populasi.

  c.

  Memilih anggota populasi yang terbaik untuk membentuk populasi baru atau disebut dengan proses seleksi.

  d.

  Membentuk kromosom baru dengan cara rekombinasi dan mutasi.

  e.

  Evaluasi kromosom yang baru dan memasukkan ke dalam populasi.

  f.

  Jika memenuhi kriteria termination, proses berhenti dan mengembalikan kromosom terbaik, jika belum maka kembali ke tahap dua.

  Contoh penggunaan algoritma genetika yang dibandingkan dengan algoritma optimasi sederhana ditunjukkan pada Gambar 2.1.

  

Lakukan inisialisasi populasi

seleksi individu yang akan dikawinkan

mutasikan keturunan

masukkan keturunan ke dalam populasi tidak

kriteria kepuasan

terpenuhi?

ya

  

Selesai

Gambar 2.1. Flowchart Algoritma Genetika

2.6.2. Komponen Utama Algoritma Genetika

  Algoritma Genetika harus memiliki lima komponen antara lain [12]: a.

  Representasi genetik dari setiap solusi yang mungkin dari suatu permasalahan.

  b.

  Cara pembentukan populasi awal atau inisialisasi populasi.

  c.

  Fungsi evaluasi yang berperan menilai fitness dari solusi yang mungkin.

  d.

  Operator genetika yang mengubah komposisi kromosom.

  e.

  Nilai parameter yang digunakan dalam Algoritma Genetika, meliputi ukuran populasi, nilai probabilitas yang ditetapkan dalam operator genetika (seleksi, crossover, mutasi).

2.7. Pengkodean

  Pengkodean merupakan teknik penyederhanaan masalah ke dalam bentuk bilangan tertentu. Bilangan yang terbentuk merupakan gambaran dari susunan kromosom. Pada pengkodean, terdapat beberapa teknik atau cara yang seluruhnya bergantung dari masalah yang diselesaikan [13].

2.7.1. Pengkodean Biner

  Sebelum algoritma genetika digunakan untuk memecahkan masalah, terlebih dahulu diperlukan suatu metode untuk mengkodekan solusi yang mungkin dari suatu permasalahan ke dalam bentuk tertentu sehingga dapat diproses [13]. Salah satu pendekatan yang mungkin adalah dengan mengkodekan solusi ke dalam kode biner, yang ditulis dalam bit 1 dan 0 seperti ditunjukkan pada Tabel 2.1, dimana angka tiap posisi menunjukkan nilai dari beberapa masalah.

Tabel 2.1. Kromosom dengan pengkodean biner

  101010101100110011100

  Kromosom 1 Kromosom 2 111111000000011111100

  Holland mengkodekan kromosom dalam bentuk bilangan biner. Sejumlah properti pada pengkodean biner bekerja menyederhanakan algoritma genetika. Selain itu, terdapat beberapa cara pembuatan gen, dimana masing-masing cara tersebut memiliki keunggulan tersendiri. Langkah penyederhanaan masalah ke dalam bentuk gen dilakukan dengan mengumpulkan informasi yang menunjukkan kebenaran dari masalah. Sebagai contoh, menyusun suatu penjadwalan kuliah dalam satu semester melibatkan sejumlah item yang ditampilkan dalam sejumlah kolom.

2.7.2. Pengkodean Nilai

  Teknik pengkodean nilai digunakan bila data yang ada merupakan gabungan dari nilai-nilai yang kompleks, dimana nilai yang dikodekan merupakan representasi langsung terhadap masalah yang ada. Apabila pengkodean biner digunakan pada masalah yang kompleks, maka teknik penyelesaiannya membutuhkan waktu yang lama dan lebih rumit. Pada teknik ini, tiap kromosom terdiri dari beberapa nilai berupa bilangan biasa, bilangan riil, karakter sampai kombinasi dari beberapa objek yang cukup banyak. Pengkodean nilai sering digunakan pada jaringan saraf tiruan

  (neural network). Penggunaannya berawal dari adanya masukan yang diberikan kepada neuron untuk membiasakan jaringan supaya menghasilkan keluaran yang sesuai [13]. Tabel 2.2. menunjukkan contoh kromosom dengan pengkodean nilai.

Tabel 2.2. Kromosom dengan pengkodean nilai

  Kromosom A 1.3532, 6.566, 2.9234, 4.3241 Kromosom B P, Q, R, S, T, U, V, Kromosom C (atas), (bawah), (depan), (belakang)

  2.7.3. Pengkodean Pohon Pengkodean ini banyak digunakan pada pemrograman genetika. Kromosom digambarkan sebagai pohon dari seluruh objek, seperti fungsi atau perintah dalam bahasa pemrograman. Pengkodean ini digunakan untuk mencari fungsi berdasarkan nilai-nilai yang diberikan untuk mendapatkan nilai keturunan terbaik (sesuai dengan keinginan) untuk seluruh masukan. Masalah ini dapat dikodekan ke dalam pengkodean pohon dimana kromosom merupakan fungsi-fungsi yang dinyatakan dalam pengkodean pohon. Sebagai contoh, perhitungan fungsi berdasarkan nilai-nilai yang diberikan. Perhitungan tersebut nantinya harus menghasilkan nilai keluaran yang berbaik terhadap seluruh masukan yang diberikan [13].

  2.7.4. Pengkodean Permutasi Pengkodean ini memerlukan urutan data dan banyak ditemukan dalam masalah pemasaran produk dan masalah pemesanan tugas (task ordering problem) [13].

  Seluruh kromosom pada pengkodean ini terdiri dari barisan angka yang disusun dalam urutan tertentu seperti yang ditunjukkan pada Tabel 2.3.

Tabel 2.3. Kromosom dengan pengkodean permutasi

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

  Proses kawin silang dan mutasi pada pengkodean ini menghasilkan kromosom yang memiliki konsistensi tertentu. Teknik pengkodean ini sering ditemui pada masalah wiraniaga. Untuk dapat melalui sejumlah kota dengan jarak yang telah ditetapkan dalam satu kota, maka seorang wiraniaga tidak harus berkunjung ke seluruh kota, melainkan hanya melakukan beberapa kunjungan dengan cara menyusun urutan kota yang akan dikunjungi dengan jumlah jarak seminimal mungkin. Dengan demikian tiap kota diwakili dengan kromosom untuk setiap kota yang akan dikunjungi secara berurutan.

2.8. Inisialisasi Populasi

  Inisialisasi populasi merupakan tahapan yang sangat penting dalam algoritma genetika untuk mendapatkan solusi yang optimal. Inisialisasi populasi memberikan salinan individu yang lebih baik. Akan tetapi, proses ini tidak selamanya menghasilkan gen yang baik. Proses ini dimulai dengan membangkitkan sejumlah individu secara acak. Untuk mendapatkan solusi, diperlukan suatu kriteria tertentu yang harus dipenuhi dengan membangkitkan individu [14].

2.9. Operator dalam Algoritma Genetika

  Algoritma genetika memiliki operator genetika yang sering digunakan, antara lain seleksi, crossover dan mutasi. Operator ini sangat berperan untuk mengubah komposisi suatu kromosom.

2.9.1. Seleksi

  Seleksi merupakan proses pemilihan calon induk. Proses seleksi merupakan teknik pemilihan kromosom yang akan dikawinsilangkan dari bakal induk yang baik pada proses evolusi selanjutnya. Perubahan tiap individu dari satu generasi sangat ditentukan oleh nilai fitness. Tujuannya adalah menghasilkan keturunan yang terbaik dari suatu popuasi untuk diproses melalui rekombinasi dan mutasi. Dengan dasar inilah seleksi dilakukan dengan menggunakan tiga teknik, yaitu seleksi roda roullete (fitness based selection), seleksi rangking (rank selection) dan seleksi turnamen (tournament selection). [15] Sebagai contoh, diberikan individu a dipasangkan dengan individu b seperti ditunjukkan pada Tabel 2.4.

Tabel 2.4. Contoh proses seleksi

  

Individu Kromosom Fitness

a 1011

  3 0101

  2

  b 2.9.1.1.

  Seleksi Roda Roullete Pada proses seleksi Roullete, induk ditentukan menurut nilai fitness. Untuk

  

fitness yang tinggi, harapan untuk terpilih semakin besar. Untuk mendapatkan solusi yang terbaik, maka program sebaiknya melakukan seleksi dengan nilai fitness yang terendah [16]. Seleksi roda roulette merupakan metode seleksi yang paling disukai.

  Prosesnya ditunjukkan pada Gambar 2.2.

Gambar 2.2 Seleksi roda roulette [16]

  Cara kerja roda tersebut adalah sebagai berikut: pertama, individu-individu dipetakan pada segmen garis yang berdekatan, sehingga masing-masing individu berukuran sama sesuai dengan fitness. Kedua, nomor acak dibangkitkan dan seluruh individu berada pada daerah nomor acak yang telah dipilih. Ketiga, proses kemudian diulangi sampai ditemukan nomor individu yang sesuai keinginan. Kromosom dalam kelompok yang terpilih disusun dalam roda roulette berdasarkan pada nilai fitness.

  Kemudian roda diputar ke sejumlah kromosom yang ada dalam populasi, kromosom dengan fitness tertinggi memiliki kesempatan terbesar untuk terpilih selama kawin silang dan mutasi [10][16].

2.9.1.2. Seleksi Ranking

  Seleksi roda roullete ternyata memiliki kekurangan. Hal ini akan nampak bila selisih yang terjadi pada nilai fitness cukup jauh. Misalkan, bila fitness kromosom terbaik menjadi 95% dari percobaan roda roullete, maka mengakibatkan kormosom lain memiliki kesempatan sangat kecil untuk dapat dipilih. Dengan dasar inilah lalu diperkenalkan teknik seleksi lain yaitu seleksi ranking. Prinsip kerja dari seleksi ini adalah melakukan ranking terlebih dahulu seluruh kromosom yang akan diseleksi berdasarkan nilai fitnes untuk mendapatkan nilai fitness baru. Seleksi ini memiliki prioritas tertentu mulai dari fitness terburuk yang bernilai 1, terburuk kedua bernilai 2, dan seterusnya sampai diperoleh fitness terbaik. Kromosom dengan nilai fitness terbaik akan memiliki nilai fitness ke N, dimana N merupakan jumlah kromosom di dalam suatu populasi [13]. Proses sebelum di-ranking ditunjukkan pada Tabel 2.5.

Tabel 2.5. Seleksi ranking sebelum di-ranking

  

Kromosom Fitness

  P

  12 Q

  5 R

  15 S

  3 T

  9 Proses seleksi setelah di-ranking ditunjukkan pada Tabel 2.6.

Tabel 2.6. Seleksi ranking setelah di-ranking

  

Kromosom Fitness Fitnes Baru

  S

  3

  1 Q

  5

  2 T

  9

  3 P

  12

  4 R

  15

  5 2.9.1.3. Seleksi Turnamen

  Algoritma genetika menggunakan mekanisme seleksi untuk mendapatkan individu dari kumpulan populasi. Individu yang dikawinkan digunakan untuk membangkitkan keturunan baru (offspring) dan menjadi dasar membentuk generasi selanjutnya. Jika individu dalam kelompok dikawinkan, maka seluruh sifat gen baru akan diturunkan ke generasi selanjutnya. Hasil kawin ini diharapkan dapat menghasilkan individu yang baik. Mekanisme seleksi dalam algoritma genetika merupakan proses sederhana yang membantu seleksi individu yang lebih baik dalam populasi pada kelompok pasangan [17].

  Seleksi turnamen memberikan tekanan seleksi dengan mengatur turnamen selama saingan s menurut ukuran turnamennya. Tekanan seleksi dengan meningkatkan individu yang lebih baik lagi disebut tekanan seleksi lanjutan. Tekanan seleksi ini mengatur algoritma genetika untuk memperbaiki hasil fitness dari suatu populasi. Pemenang dari turnamen adalah individu dengan nilai fitness tertinggi kemudian dimasukkan ke dalam kumpulan kawin silang. Kumpulan pasangan yang terdiri dari pemenang turnamen, memiliki nilai rata-rata fitness yang lebih tinggi dibandingkan dengan rata-rata fitness populasinya. Perbedaan dari nilai fitness ini memberikan tekanan seleksi, yang mengatur algoritma genetika untuk memperbaiki nilai fitness dari masing-masing generasi yang berhasil. Seleksi turnamen mirip dengan seleksi kedudukan (rank selection), tetapi perhitungannya lebih efisien dan lebih dapat dipertanggungjawabkan pada kasus yang lebih kompleks. Kedua individu dipilih secara acak dari populasi [13].

2.9.2. Kawin Silang

  Kawin silang (crossover) sering digunakan untuk menghasilkan keturunan baru berdasarkan induk yang terpilih. Aturan kawin silang dalam algoritma genetika adalah mengkombinasikan bit dari solusi yang fit. Proses pengulangan banyak digunakan oleh operator crossover untuk mendapatkan gen populasi. Operator

  

crossover merupakan teknik yang sering digunakan dalam algoritma genetika dengan

harapan bahwa kromosom baru berubah menjadi kromosom yang lebih baik [18].

2.9.2.1. Kawin Silang 1 titik

  Selama fase reproduksi, individu dipilih dari populasi dan rekombinasi, kemudian menghasilkan keturunan baru (offspring). Induk diseleksi secara acak dari populasi dengan menggunakan suatu skema pendukung individu. Individu yang baik harus dipilih beberapa kali dalam satu generasi, karena sekali seleksi saja tidak dapat mewakili seluruhnya. Salah satu teknik yang diperkenalkan adalah crossover satu titik, dimana prinsip kerjanya adalah dengan mengambil dua induk, kemudian memotong kromosom string-nya beberapa posisi secara acak untuk menghasilkan dua bagian utama dan pendukung. Bagian pendukung kemudian ditukar untuk menghasilkan dua kromosom baru (lihat Gambar 2.3). Kedua induk yang dihasilkannya masing-masing mewarisi beberapa gen dari induknya. Teknik ini disebut kawin silang satu titik [19][20].

  titik crossover titik crossover

  induk 1 0 1 0 0 0 1 1 1 0 0 0 1 1 0 1 0 0 1 0 keturunan 1 0 1 0 0 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0

Gambar 2.3. Kawin silang 1 titik 2.9.2.2.

  Kawin Silang 2 Titik Perkawinan silang 2 titik merupakan perkembangan dari cara sebelumnya dengan memilih secara acak untuk melakukan pertukaran bit kromosom. Dalam kawin silang dua titik (two point crossover), kromosom ditampilkan sebagai loop yang dibentuk berdasarkan penggabungan bersama. Untuk menukar bagian satu loop dengan loop lain dibutuhkan seleksi dua titik potong, seperti yang ditunjukkan oleh

Gambar 2.4. Dalam hal ini, kawin silang satu titik ditampilkan sebagai kawin silang dua titik dengan satu titik potong pada string awal. Secara umum, kawin silang dua

  titik menunjukkan fungsi yang sama seperti kawin silang satu titik. Selain itu cara lain adalah dengan menyalin barisan bit kromosom orang tua pertama dari bit pertama sampai dengan titik perkawinan silang pertama dan dari titik perkawinan silang kedua sampai dengan bit terakhir. Perkawinan silang dengan dua titik lebih disukai daripada kawin silang satu titik [11] [14].

Gambar 2.4. Kawin silang 2 titik [14] 2.9.2.3.

  Kawin Silang Seragam Kawin silang seragam (crossover uniform) sangat berbeda dengan kawin silang satu titik. Tiap gen dalam keturunan dihasilkan dengan menyalin gen yang bersesuaian dari satu atau lebih induk dan terpilihlah gen yang sesuai dengan kawin silang terlindung (crossover mask) yang dibangkitkan. Jika hasil yang didapat dari kawin silang tertutup bernilai 1, maka gen merupakan hasil salinan dari induk yang pertama, sebaliknya jika kawin silang terlindung bernilai 0, maka gen yang disalin merupakan hasil dari induk kedua. Proses diulangi dengan induk yang bergantian untuk menghasilkan keturunan yang kedua. Hasil kawin silang terlindung yang baru dibangkitkan secara acak pada pasangan dari tiap induk [18]. Untuk lebih jelasnya perhatikan Gambar 2.5.

  crossover mask 1 0 0 1 0 1 1 1 0 0

  induk 1 1 0 1 0 0 0 1 1 1 0 keturunan 1 1 1 0 0 0 0 1 1 1 1 induk 2 0 1 0 1 0 1 0 0 1 1

Gambar 2.5. Kawin silang seragam 2.9.2.4.

  Kawin Silang Rekombinasi Kawin silang rekombinasi memilih secara acak dari semua gen yang ada pada induk untuk mendapatkan gen anak [11]. Contoh kawin silang rekombinasi diperlihatkan Tabel 2.7.

Tabel 2.7 Kawin silang rekombinasi

  Kromosom

  Kromosom induk 1 1 5 9 12 14 Kromosom induk 2 1 3 4 16 2 Keturunan 1 1 5 4 16 14 Keturunan 2 1 4 9 12 1

2.9.3. Mutasi

  Mutasi merupakan operator algoritma yang digunakan untuk menentukan perbedaan genetika dari satu generasi ke generasi lainnya. Setelah hasil kawin silang terbentuk tetapi sebelum keturunan terbentuk, terlebih dahulu harus menjalani tahap mutasi. Peristiwa ini mengacu pada perhitungan mutasi. Mutasi tidak selamanya menghasilkan gen baru, dan dapat merupakan hasil salinan gen induk. Tujuan dilaksanakannya mutasi adalah untuk menekan gangguan dan menghasilkan allele baru dalam populasi [4]. Pemutaran mutasi ditetapkan jika dua allele diputar merubah susunan penjadwalan seperti pada Gambar 2.6. Jika perhitungan mutasi terlalu tinggi, dapat mengakibatkan keturunan yang baik akan hilang dan mengurangi harapan nilai

  

fitness yang tinggi dari ruang solusi. Beberapa sistem tidak menggunakan operator

  mutasi. Sebagai gantinya, sistem mempercayakan gangguan (noise) untuk mengacak populasi yang dihasilkan pada inisialisasi sehingga diperoleh gen yang dapat melakukan penggabungan ulang. sebelum mutasi

  keturunan

  Allele Allele Allele Allele Allele Allele Allele Allele

  1

  2

  3

  4

  5

  6

  7

  8 setelah mutasi

  mutasi

  Allele Allele Allele Allele Allele Allele Allele Allele

  1

  6

  3

  4

  5

  2

  7

  8 Gambar 2.6. Operasi mutasi dalam Algoritma Genetika Pada Gambar 2.6 terlihat bahwa ketika gen telah diseleksi melalui mutasi, lalu gen hasilnya diubah menjadi angka. Pada kasus representasi biner, mutasi sederhana pada gen tunggal menyebabkan nilai gen menjadi komplit dari 1 menjadi 0 dan sebaliknya [14].

2.9.3.1. Mutasi Biner

  Mutasi ini termasuk jenis yang paling sederhana. Cara kerjanya berdasarkan bit pada kromosom yang dipilih secara acak, lalu nilainya diinversi dan diubah menjadi lawannya [11]. Untuk jelasnya perhatikan Tabel 2.8.

Tabel 2.8. Mutasi pada pengkodean biner

  Kromosom sebelum mutasi 1 1 1 0 0 0 1 1 Kromosom setelah mutasi 1 1 1 0 0 0 0 1 2.9.3.2.

  Mutasi Permutasi Salah satu teknik yang dilakukan pada pengkodean permutasi adalah dengan memilih dua posisi pada kromosom lalu posisinya saling dipertukarkan. Tetapi perlu diingat bahwa proses mutasi pada pengkodean permutasi harus konsisten dalam mengurutkannya [11]. Untuk lebih jelasnya, perhatikan Tabel 2.9.

  Tabel 2. 9. Mutasi pada pengkodean permutasi

  Kromosom sebelum mutasi 9 8 7 6 5 4 3 2

  9 3 7 6 5 4 8 2

  Kromosom setelah mutasi

2.9.3.3. Mutasi Nilai

  Mutasi pada pengkodean biner dapat diaplikasikan pada pengkodean nilai karena urutan kromosomnya tidak perlu dijaga. Dalam hal ini prosesnya tidak menginversi bit. Sebagai contoh, nilai yang dinyatakan dalam bilangan nyata dimutasi dengan cara menukarkan nilai dari dua gen yang terdapat pada kromosom.

  Cara ini kurang efektif untuk mendapatkan nilai yang sama. Oleh karena itu ada cara lain yang lebih efektif yaitu dengan memilih posisi gen secara acak pada kromosom, kemudian menambah atau menguranginya dengan suatu nilai yang kecil secara acak [11]. Lebih jelasnya perhatikan Tabel 2.10.

Tabel 2.10 Contoh mutasi pada pengkodean nilai riil

  Kromosom sebelum dimutasi 1,43 1,09 4,51 9,11 6,94 Kromosom setelah dimutasi 1,43 1,19 4,51 9,01 6,94

2.10. Elitisme

  Elitisme merupakan satu teknik dalam algoritma genetika untuk mempertahankan kromosom yang memiliki nilai fitness terbaik untuk tetap bertahan hidup pada generasi selanjutnya. Elitisme dilakukan dengan menyalin satu kromosom untuk jumlah populasi ganjil dan menyalin dua kromosom untuk jumlah populasi genap [2] [8].

2.11. Precedence Preservative Crossover (PPX)

  Precedence preservative crossover (PPX) merupakan pengembangan dari

  masalah vehicle routing yang dijelaskan oleh Blanton dan Wainwright. Operator melewati hubungan operasi yang lebih dahulu diberikan dalam dua permutasi induk menjadi satu anak pada tingkatan yang sama, ketika tidak satupun hubungan yang lebih dahulu diperkenalkan. Metode ini sesungguhnya memberikan jawaban atas urutan gen dalam kromosom induk. Pertama-tama kromosom anak yang akan diinisialisasi bernilai kosong. Kemudian suatu vektor sepanjang n diisi secara acak pada sekumpulan elemen {1,2}. Vektor menggambarkan urutan yang dihasilkan oleh induk 1 dan 2. Setelah gen diwaliki oleh satu induk dan yang lainnya dihilangkan, maka hasilnya diberikan kepada kromosom anak. Langkah tersebut diulangi sampai kedua kromosom induk hilang dan kromosom anak berisi seluruh gen anak yang dimasukkan. Dalam hal ini gen dari induk dapat merupakan bilangan acak 1 dan 2 yang mewakili induk 1 dan induk 2 dan prosesnya ditunjukkan oleh Gambar 2.7 [19][20]. induk 1 3 2 2 2 3 1 1 1 3 induk 2 1 1 2 2 2 1 2 3 3 gen dari induk 1 1 2 2 2 2 1 1 1 PPX anak 3 2 1 1 2 1 2 3 3

Gambar 2.7 Precedence Presservative Crossover (PPX)

2.12. Konvergen

  Jika algoritma genetika telah diimplementasikan dengan benar, maka populasi akan menyusun generasi secara berturut-turut sehingga menghasilkan nilai fitness terbaik dan individu rata-rata dalam tiap generasi bertambah mencapai hasil yang optimal. Konvergen merupakan pergerakan menuju keseragaman pertambahan secara berturut-turut. Gen pembawa sifat dikatakan konvergen jika kesamaan populasi mencapai 95%. Populasi disebut konvergen jika seluruh gen telah konvergen.

  Dikatakan proses akan mendekati konvergen apabila hasil yang diperoleh mengikuti grafik yang ada dan seluruh proses dapat ditampilkan dalam bentuk grafik. Pada

Gambar 2.8 menunjukkan bagaimana grafik fitness dengan beberapa tipe pada algoritma genetika. Jika populasi konvergen, rata-rata fitness mendekati nilai

  terbaiknya. Selain itu nilai terbaik biasanya lebih tinggi dibandingkan nilai rata-rata yang dihasilkan oleh proses [17].

Dokumen yang terkait

Hubungan Infeksi Ascaris lumbricoides Terhadap Hasil Uji Tusuk Kulit (Skin Prick Test) dengan Alergen dari Cacing Ascaris pada Anak Sekolah Dasar Negeri 047/XI Koto Baru yang Memiliki Riwayat Atopi di Kecamatan Pesisir Bukit Kota Sungai Penuh Provinsi Jam

0 0 21

Sistem Outsourcing Pada Industri Jasa Perbankan Setelah Adanya Putusan Mahkamah Konstitusi Nomor 27/PPU-9/2011

0 0 29

BAB I PENDAHULUAN A. Latar Belakang - Sistem Outsourcing Pada Industri Jasa Perbankan Setelah Adanya Putusan Mahkamah Konstitusi Nomor 27/PPU-9/2011

0 0 11

BAB II PENGATURAN LEMBAGA DANA PENSIUN DI INDONESIA A. Pengertian, Dasar Hukum, dan Jenis-Jenis Lembaga Dana Pensiun 1. Pengertian Lembaga Dana Pensiun - Pengawasan Terhadap Lembaga Dana Pensiun Setelah Berlakunya Undang-Undang No.21 Tahun 2011 Tentang Ot

0 0 58

BAB I PENDAHULUAN A. Latar Belakang - Pengawasan Terhadap Lembaga Dana Pensiun Setelah Berlakunya Undang-Undang No.21 Tahun 2011 Tentang Otoritas Jasa Keuangan

0 0 17

BAB II TINJAUAN UMUM TENTANG PERJANJIAN A. Pengertian dan Jenis Perjanjian - Analisis Hukum Terhadap Perjanjian Penyambungan Air Pada PDAM Tirtanadi Medan

0 0 23

BAB I PENDAHULUAN A. Latar Belakang - Analisis Hukum Terhadap Perjanjian Penyambungan Air Pada PDAM Tirtanadi Medan

0 0 10

BAB II KOPERASI CREDIT UNION A. Sejarah dan Latar Belakang Didirikan - Penyelesaian Wanprestasi Dalam Perjanjian Kredit Dengan Jaminan Hak Tanggungan Di Koperasi Credit Union Seia Sekata Kecamatan Galang Kabupaten Deli Serdang

0 1 13

BAB I PENDAHULUAN H. Latar Belakang - Penyelesaian Wanprestasi Dalam Perjanjian Kredit Dengan Jaminan Hak Tanggungan Di Koperasi Credit Union Seia Sekata Kecamatan Galang Kabupaten Deli Serdang

0 0 16

Sistem Penjadwalan Kuliah dengan Menggunakan Algoritma Genetika Studi Kasus Fakultas Teknik Universitas Sumatera Utara

0 3 44