Inisialisasi Populasi Operator dalam Algoritma Genetika

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]. Universitas Sumatera Utara

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 b 0101 2 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 Universitas Sumatera Utara 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]. Universitas Sumatera Utara 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 Universitas Sumatera Utara 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 Universitas Sumatera Utara 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 Universitas Sumatera Utara 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]. 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 titik crossover titik crossover Universitas Sumatera Utara 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 Universitas Sumatera Utara 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 Universitas Sumatera Utara 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 Allele 1 Allele 2 Allele 3 Allele 4 Allele 5 Allele 6 Allele 7 Allele 8 setelah mutasi Allele 1 Allele 6 Allele 3 Allele 4 Allele 5 Allele 2 Allele 7 Allele 8 Gambar 2.6. Operasi mutasi dalam Algoritma Genetika keturunan mutasi Universitas Sumatera Utara 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 Kromosom setelah mutasi 9 3 7 6 5 4 8 2 Universitas Sumatera Utara 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

Dokumen yang terkait

Penjadwalan Perkuliahan Dengan Menggunakan Algoritma Genetika (Studi Kasus: S-1 Ilmu Komputer Universitas Sumatera Utara)

7 85 140

Sistem Penjadwalan Dinamis Mahasiswa Baru Menggunakan Algoritma Genetika (Studi Kasus: Registrasi Ulang Mahasiswa Baru Universitas Sumatera Utara)

0 0 11

Sistem Penjadwalan Dinamis Mahasiswa Baru Menggunakan Algoritma Genetika (Studi Kasus: Registrasi Ulang Mahasiswa Baru Universitas Sumatera Utara)

0 0 2

Sistem Penjadwalan Dinamis Mahasiswa Baru Menggunakan Algoritma Genetika (Studi Kasus: Registrasi Ulang Mahasiswa Baru Universitas Sumatera Utara)

0 0 6

Sistem Penjadwalan Dinamis Mahasiswa Baru Menggunakan Algoritma Genetika (Studi Kasus: Registrasi Ulang Mahasiswa Baru Universitas Sumatera Utara)

0 0 21

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

0 3 44

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

0 0 27

BAB I PENDAHULUAN 1.1. Latar Belakang Masalah - Sistem Penjadwalan Kuliah dengan Menggunakan Algoritma Genetika Studi Kasus Fakultas Teknik Universitas Sumatera Utara

0 0 9

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

0 0 17

SKRIPSI SISTEM PENJADWALAN MATA KULIAH MENGGUNAKAN ALGORITMA GENETIKA (STUDI KASUS PENJADWALAN MATA KULIAH KELAS R1 PROGRAM STUDI TEKNIK INFORMATIKAUMBY)

2 9 19