BAB 2 LANDASAN TEORI

dokumen-dokumen yang mirip
BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI

BAB 2 DASAR TEORI. 2.1 Teka-Teki Silang

BAB 2 LANDASAN TEORI. 2.1 Algoritma Genetika

BAB 2 LANDASAN TEORI

Pengantar Kecerdasan Buatan (AK045218) Algoritma Genetika

BAB 2 TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA

Keywords Algoritma, Genetika, Penjadwalan I. PENDAHULUAN

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA

Optimasi Penjadwalan Ujian Menggunakan Algoritma Genetika

BAB II LANDASAN TEORI

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI

BAB 2 LANDASAN TEORI. 2.1 Penjadwalan Iklan

OPTIMASI PENJADWALAN KEGIATAN BELAJAR MENGAJAR DENGAN ALGORITMA GENETIK

ERWIEN TJIPTA WIJAYA, ST.,M.KOM

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

ALGORITMA GENETIKA Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning

Lingkup Metode Optimasi

ALGORITMA GENETIKA. Suatu Alternatif Penyelesaian Permasalahan Searching, Optimasi dan Machine Learning

BAB 2 TINJAUAN PUSTAKA

BAB 2 LANDASAN TEORI

PENERAPAN ALGORITMA GENETIKA UNTUK TRAVELING SALESMAN PROBLEM DENGAN MENGGUNAKAN METODE ORDER CROSSOVER DAN INSERTION MUTATION

PENENTUAN JARAK TERPENDEK PADA JALUR DISTRIBUSI BARANG DI PULAU JAWA DENGAN MENGGUNAKAN ALGORITMA GENETIKA. Abstraksi

Bab II Konsep Algoritma Genetik

PENDAHULUAN. Latar Belakang

BAB III. Metode Penelitian

Genetic Algorithme. Perbedaan GA

Zbigniew M., Genetic Alg. + Data Structures = Evolution Program, Springler-verlag.

Aplikasi Algoritma Genetika Untuk Menyelesaikan Travelling Salesman Problem (TSP)

PERANCANGAN ALGORITMA GENETIKA DALAM PENYUSUNAN TEKA-TEKI SILANG

Analisis Operator Crossover pada Permasalahan Permainan Puzzle

Implementasi Algoritma Genetika dalam Pembuatan Jadwal Kuliah

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI

PEMAMPATAN MATRIKS JARANG DENGAN METODE ALGORITMA GENETIKA MENGGUNAKAN PROGRAM PASCAL

Algoritma Evolusi Dasar-Dasar Algoritma Genetika

BAB III IMPLEMENTASIALGORITMA GENETIK DAN ACS PADA PERMASALAHAN TRAVELLING SALESMAN PROBLEM

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

PERANCANGAN ALGORITMA GENETIKA UNTUK MENENTUKAN JALUR TERPENDEK. Kata kunci: Algoritma Genetika, Shortest Path Problem, Jalur Terpendek

BAB II LANDASAN TEORI. Evolutionary Algorithm merupakan terminologi umum yang menjadi payung

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA) 45 Edisi... Volume..., Bulan 20.. ISSN :

OPTIMASI PENJADWALAN CERDAS MENGGUNAKAN ALGORITMA MEMETIKA

Tugas Mata Kuliah E-Bisnis REVIEW TESIS

BAB II KAJIAN PUSTAKA. Pada bab kajian pustaka berikut ini akan dibahas beberapa materi yang meliputi

PENGEMBANGAN APLIKASI PENJADWALAN KULIAH SEMESTER I MENGGUNAKAN ALGORITMA GENETIKA

BAB 2 LANDASAN TEORI. 2.1 Algoritma

BAB III PERANCANGAN. Gambar 3.1 di bawah ini mengilustrasikan jalur pada TSP kurva terbuka jika jumlah node ada 10:

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

PENJADWALAN UJIAN AKHIR SEMESTER DENGAN ALGORITMA GENETIKA (STUDI KASUS JURUSAN TEKNIK INFORMATIKA UNESA)

KNAPSACK PROBLEM DENGAN ALGORITMA GENETIKA

BAB II LANDASAN TEORI. Suatu graph merupakan suatu pasangan { E(G), V(G) } dimana :

Algoritma Genetika dan Penerapannya dalam Mencari Akar Persamaan Polinomial

Seminar Nasional Aplikasi Teknologi Informasi 2004 Yogyakarta, 19 Juni 2004

PENERAPAN ALGORITMA GENETIKA PADA PERENCANAAN LINTASAN KENDARAAN Achmad Hidayatno Darjat Hendry H L T

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI

BAB II KAJIAN TEORI. memindahkan barang dari pihak supplier kepada pihak pelanggan dalam suatu supply

BAB II LANDASAN TEORI. 2.1 Algoritma Genetika Dan Rapid Application Development (RAD)

BAB II LANDASAN TEORI

Pendekatan Algoritma Genetika pada Peminimalan Fungsi Ackley menggunakan Representasi Biner

BAB II LANDASAN TEORI. digunakan sebagai alat pembayaran yang sah di negara lain. Di dalam

BAB II LANDASAN TEORI. Tahun 2001 pemilik CV. Tunas Jaya membuka usaha di bidang penjualan dan

Algoritma Evolusi Real-Coded GA (RCGA)

ALGORITMA GENETIKA PADA PEMROGRAMAN LINEAR DAN NONLINEAR

Optimasi Multi Travelling Salesman Problem (M-TSP) Menggunakan Algoritma Genetika

8. Evaluasi Solusi dan Kriteria Berhenti Perumusan Masalah METODE PENELITIAN Studi Pustaka Pembentukan Data

OPTIMASI PENDUGAAN PARAMETER DALAM ANALISIS STRESS DAN STRAIN TERHADAP MATERIAL MENGGUNAKAN ALGORITMA GENETIKA

2 TINJAUAN PUSTAKA. 2.1 Peringkasan Teks

OPTIMASI QUERY DATABASE MENGGUNAKAN ALGORITMA GENETIK

PERFORMANCE ALGORITMA GENETIKA (GA) PADA PENJADWALAN MATA PELAJARAN

APLIKASI ALGORITMA GENETIKA UNTUK PENENTUAN TATA LETAK MESIN

PENERAPAN ALGORITMA GENETIK UNTUK OPTIMASI DENGAN MENGUNAKAN PENYELEKStAN RODA ROULETTE

Optimasi Metode Fuzzy Dengan Algoritma Genetika Pada Kontrol Motor Induksi

IMPLEMENTASI ALGORITMA GENETIKA DALAM OPTIMASI JALUR PENDISTRIBUSIAN KERAMIK PADA PT. CHANG JUI FANG

Pencarian Rute Terpendek untuk Pengoptimalan Ditribusi Sales Rokok Gudang Garam di kecamatan Wuluhan Kabupaten Jember Menggunakan Algoritma Genetika

BAB II TINJAUAN PUSTAKA

Serealia, umbi, dan hasil olahannya Kacang-kacangan, bijibijian,

Bab II. Tinjauan Pustaka

BAB II LANDASAN TEORI

Implementasi Sistem Penjadwalan Akademik Fakultas Teknik Universitas Tanjungpura Menggunakan Metode Algoritma Genetika

BAB III PEMBAHASAN. Berikut akan diberikan pembahasan mengenai penyelesaikan CVRP dengan

BAB I PENDAHULUAN. proses belajar mengajar di Program studi Matematika FMIPA UNDIP. Sering

Denny Hermawanto

Peramalan Kebutuhan Beban Sistem Tenaga Listrik Menggunakan Algoritma Genetika

BAB II KAJIAN TEORI. genetika, dan algoritma memetika yang akan digunakan sebagai landasan dalam

BAB 2 LANDASAN TEORI. dalam bentuk model untuk dipelajari, diuji, dan sebagainya. Banyak ahli memberikan

BAB I PENDAHULUAN. sejumlah aktivitas kuliah dan batasan mata kuliah ke dalam slot ruang dan waktu

OPTIMALISASI PENEMPATAN DOSEN PEMBIMBING DAN PENJADWALAN SEMINAR TUGAS AKHIR MENGGUNAKAN ALGORITMA GENETIKA

APLIKASI ALGORITMA GENETIKA UNTUK PENJADWALAN MATA KULIAH

PENGENALAN ALGORITMA GENETIK

Penyelesaian Puzzle Sudoku menggunakan Algoritma Genetik

BAB III MODEL DAN TEKNIK PEMECAHAN

APLIKASI UNTUK PREDIKSI JUMLAH MAHASISWA PENGAMBIL MATAKULIAH DENGAN MENGGUNAKAN ALGORITMA GENETIKA, STUDI KASUS DI JURUSAN TEKNIK INFORMATIKA ITS

BAB II KAJIAN PUSTAKA. digunakan dalam penelitian ini yaitu graf, vehicle routing problem (VRP),

Transkripsi:

BAB 2 LANDASAN TEORI Pada bab ini akan membahas landasan atas teori-teori yang bersifat ilmiah untuk mendukung penulisan tugas akhir ini. Teori-teori yang dibahas mengenai pengertian penjadwalan, algoritma genetika, dan beberapa subpokok pembahasan lainnya yang menjadi landasan dalam penulisan tugas akhir ini. 2.1 Pengertian Penjadwalan Penjadwalan adalah proses penyusunan menentukan jadwal yang tepat terhadap suatu pekerjaan untuk mencapai suatu tujuan tertentu terhadap sumber daya yang tersedia sesuai dengan constraint yang harus dipenuhi (Soraya, 2007). Penjadwalan mata kuliah (lecture timetabling) adalah masalah menempatkan waktu dan ruangan kepada sejumlah kuliah, tutorial, dan kegiatan akademik sejenis, dengan memperhatikan sejumlah aturan yang berhubungan dengan kapasitas dan lokasi dari ruangan yang tersedia, waktu bebas yang diperlukan dan sejumlah aturan lain yang berkaitan dengan toleransi untuk dosen, dan hubungan antarmata kuliah khusus. 2.2 Pengertian Algoritma Genetika Algoritma genetika pertama kali dikembangkan oleh John Holland dari Universitas Michigan pada tahun 1975. John Holland menyatakan bahwa setiap masalah yang berbentuk adaptasi (alami maupun buatan) dapat diformulasikan kedalam terminologi

8 genetika. Algoritma genetika adalah simulasi dari proses evolusi darwin dan operasi genetika atas kromosom (Kusumadewi, 2003). Algoritma genetika mengikuti prosedur atau tahap-tahap yang menyerupai proses evolusi, yaitu adanya proses seleksi, crossover dan mutasi. Pada setiap generasi, himpunan baru dari deretan individu dibuat berdasarkan kecocokan pada generasi sebelumnya (Goldberg, 1989). Keberagaman pada evolusi biologis adalah variasi dari kromosom dalam individu organisme. Variasi kromosom ini akan mempengaruhi laju reproduksi dan tingkat kemampuan organisme untuk tetap hidup (Kristanto, 2004). Teknik pencarian yang dilakukan algoritma genetika dari himpunan solusi secara acak disebut dengan populasi. Sedangkan setiap individu dalam populasi disebut kromosom. Kromosom berevolusi dalam suatu proses iterasi yang berkelanjutan yang disebut generasi. Pada setiap generasi, kromosom akan dievaluasi berdasarkan fungsi fitness (Gen dan cheng, 1997). Setelah beberapa generasi, maka algoritma genetika akan konvergen pada kromosom terbaik yang diharapkan merupakan solusi optimal (Goldberg, 1989). Pendekatan yang diambil oleh algoritma genetika adalah dengan menggabungkan secara acak berbagai pilihan solusi terbaik didalam suatu populasi untuk mendapatkan individu baru (offspring) yaitu pada suatu kondisi yang memaksimalkan kecocokan yang disebut fitness. Algoritma genetika adalah algoritma pencarian heuristik yang didasarkan atas mekanisme evolusi biologis (Kusumadewi, 2003). Algoritma genetika sangat tepat digunakan untuk menyelesaikan permasalahan optimasi yang kompleks. Didalam algoritma genetika, solusi permasalahan direpresentasikan ke dalam bentuk kromosom. Tiga aspek yang penting untuk penggunaan algoritma genetika yaitu : 1. Fungsi fitness. 2. Implementasi representasi genetik berupa kromosom. 3. Implementasi operasi genetik berupa operator crossover dan mutasi.

9 2.3 Struktur Umum Algoritma genetika Secara umum struktur dari suatu algoritma genetika dapat didefenisikan dengan langkah-langkah sebagai berikut : 1. Mulai Proses algoritma genetika dimulai dengan membangun populasi random sebanyak n kromosom (sesuai dengan masalahnya). 2. Populasi Awal Populasi awal ini dibangkitkan secara random sehingga didapatkan solusi awal. Populasi itu sendiri terdiri atas sejumlah kromosom yang merepresentasikan solusi yang diinginkan. 3. Evaluasi fitness Pada setiap generasi kromosom-kromosom akan dievaluasi berdasarkan tingkat keberhasilan nilai solusinya terhadap masalah yang ingin diselesaikan dengan menggunakan evaluasi fitness. Proses evaluasi fitness adalah melakukan evaluasi setiap fitness f(x) dari setiap kromosom x pada populasi. 4. Pembentukan Generasi Baru Proses ini dilakukan secara berulang sehingga didapatkan jumlah kromosom yang cukup untuk membentuk generasi baru (offspring) dimana generasi baru merupakan representasi dari solusi baru. 5. Seleksi Untuk memilih kromosom yang akan tetap dipertahankan untuk generasi selanjutnya maka dilakukan proses seleksi. Proses seleksi dilakukan dengan memilih 2 kromosom parent dari populasi berdasarkan fitnessnya (semakin besar fitnessnya, maka semakin besar kemungkinannya untuk terpilih). 6. Crossover Proses selanjutnya melakukan perkawinan silang sesuai dengan besarnya kemungkinan perkawinan silang, orang tua (parent) yang terpilih disilangkan untuk membentuk anak (offspring). Jika tidak ada crossover, maka anak merupakan salinan dari orang tuanya. Jumlah kromosom dalam populasi yang mengalami perkawinan silang (crossover) ditentukan oleh parameter yang disebut dengan probabilitas perkawinan silang (crossover probability, Pc).

10 7. Mutasi Proses mutasi dilakukan sesuai dengan besarnya kemungkinan mutasi yang telah ditentukan, anak dimutasi pada setiap lokus (posisi pada kromosom). Jumlah gen dalam populasi yang mengalami mutasi ditentukan oleh parameter yang disebut dengan probabilitas mutasi (mutationr probabilit, Pm). Setelah beberapa generasi akan dihasilkan, kromosom-kromosom yang nilai gennya konvergen ke suatu nilai tertentu merupakan solusi optimum yang dihasilkan oleh algoritma genetika terhadap permasalahan yang ingin diselesaikan. 8. Memenuhi syarat regenerasi Apabila generasi baru memenuhi syarat regenerasi, maka proses akan selesai. Namun, apabila generasi baru tidak memenuhi syarat regenerasi, maka proses akan kembali ke evaluasi fitness. Parameter yang digunakan dalam algoritma genetika adalah : 1. Fungsi fitness untuk menentukan tingkat kesesuaian individu tersebut. 2. Populasi jumlah individu pada setiap generasi. 3. Probabilitas terjadinya crossover pada setiap generasi. 4. Probabitas terjadinya mutasi pada setiap generasi. 5. Jumlah generasi yang akan dibentuk. Golberg (1989) mengemukakan bahwa algoritma genetika mempunyai karakteristikkarakteristik yang perlu diketahui sehingga dapat dibedakan dari prosedur pencarian atau optimasi yang lain, yaitu: 1. Algoritma genetika dengan pengkodean dari himpunan solusi permasalahan berdasarkan parameter yang telah ditetapkan bukan parameter itu sendiri. 2. Algoritma genetika pencarian pada sebuah solusi dari sejumlah individuindividu yang merupakan solusi permasalahan bukan hanya dari sebuah individu. 3. Algoritma genetika informasi fungsi objektif (fitness), sebagai cara untuk mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan dari suatu fungsi. 4. Algoritma genetika menggunakan aturan-aturan transisi peluang, bukan aturanaturan deterministik.

11 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. 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. g. Mutasi 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.

12 Gambar 2.1 Individu dalam Algoritma Genetika 2.4 Proses Algoritma Genetika Dalam algoritma genetika, variabel dikodekan ke dalam struktur string yang merepresentasikan barisan gen. Himpunan solusi yang dihasilkan secara acak disebut populasi. Sedangkan setiap individu dalam populasi disebut kromosom. Kromosomkromosom akan melalui proses evolusi yaitu adanya proses seleksi, crossover dan mutasi dalam suatu proses iterasi yang berkelanjutan yang disebut generasi. Pada setiap generasi, kromosom dievaluasi dengan menggunakan alat ukur yang disebut dengan fungsi fitness. Nilai fitness dari suatu kromosom akan menunjukkan kualitas dari kromosom dalam pupolasi tersebut. Generasi berikutnya dikenal dengan istilah anak ( offspring ) terbentuk dari gabungan dua kromosom orang tuanya. Kromosom generasi sekarang bertindak sebagai induk dan dengan menggunakan operator

13 crossover atau dengan operator mutasi akan menghasilkan keturunan baru lagi yang lebih unggul dari induknya. Setelah beberapa generasi maka algoritma genetika akan konvergen pada kromosom terbaik, yang diharapkan menghasilkan individu baru (offspring). Algoritma genetika adalah algoritma pencarian hasil yang terbaik, yang didasarkan pada perkawinan silang (crossover) dan seleksi gen secara alami. Kombinasi crossover ini dilakukan dengan proses acak (random). Dimana struktur gen hasil proses crossover ini, akan menghasilkan gen inovatif untuk diseleksi. Dalam setiap generasi, offspring 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. Dalam menyusun suatu algoritma genetika, maka diperlukan beberapa tahapan proses yaitu proses seleksi, proses crossover, dan proses mutasi. 2.5 Komponen-Komponen algoritma Genetika Secara umum sebuah penerapan Algoritma genetika akan melalui siklus sederhana yang terdiri dari 4 langkah, yaitu : 1. Membangun sebuah populasi yang terdiri dari beberapa string. 2. Evaluasi masing-masing string (fitness value). 3. Proses seleksi agar didapat string yang terbaik. 4. Manipulasi genetika untuk menciptakan populasi baru dari string. Siklus 4 Langkah dari proses Algoritma genetika dapat dilihat pada gambar yang dibawah ini :

14 Gambar 2.2 Siklus Algoritma Genetika 2.6 Teknik Pengkodean Pengkodean adalah suatu teknik untuk menyatakan populasi awal sebagai calon solusi suatu masalah ke dalam suatu kromosom sebagai suatu kunci pokok persoalan ketika menggunakan algoritma genetika (Desiani, 2005). Agar dapat diproses melalui algoritma genetika, maka harus dikodekan terlebih dahulu ke dalam bentuk kromosom. Kromosom akan berisi informasi sejumlah gen yang mengkodekan informasi. Ada beberapa jenis pengkodean yang dapat digunakan dalam algoritma genetika yaitu pengkodean biner (binary encoding), pengkodean nilai (value encoding), pengkodean permutasi (permutation enocding), pengkodean pohon (tree encoding). 2.6.1 Pengkodean Biner Pengkodean ini merupakan pengkodean yang sering digunakan dan paling sederhana. Pada pengkodean biner setiap kromosom direpresentasikan dalam barisan bit 0 atau 1, seperti dapat dilihat pada tabel berikut ini :

15 Tabel 2.1 Contoh Pengkodean Biner Kromosom A 1010101011 Kromosom B 1100001010 Pengkodean biner memberikan banyak kemungkinan untuk kromosom walaupun dengan jumlah nilai-nilai yang mungkin terjadi dalam suatu gen sedikit (0 atau 1). Pengkodean ini sering tidak sesuai untuk beberapa masalah terkadang harus dilakukan pengkoreksian setelah operasi crossover dan mutasi. 2.6.2 Pengkodean Nilai Didalam pengkodean nilai setiap kromosom adalah string dari suatu nilai dimana nilai yang dikodekan langsung merupakan representasi dari masalah seperti bilangan bulat, desimal ataupun karakter. Contoh pengkodean ini dapat dilihat pada tabel dibawah ini Tabel 2.2 Contoh Pengkodean Nilai Kromosom A 1.345, 4.534, 7.654, 8.789 Kromosom B ABC, ADC, CBC, BCA Kromosom C 1,3,4,7,5 Kromosom D Forward, backward, righ, left 2.6.3 Pengkodean Pohon Pengkodean pohon digunakan untuk menyusun program atau ekspresi didalam algoritma genetika. Dalam pengkodean pohon ini, setiap kromosom dinyatakan sebagai sebuah pohon dari setiap objek, seperti fungsi atau perintah dalam bahasa pemograman. Pengkodean pohon sangat baik dalam pembangunan sebuah program. Bahasa pemograman LISP biasanya sering menggunakan pengkodean pohon, karena program didalamnya dapat direpresentasikan ke dalam bentuk ini, dan dapat dengan mudah di parse menjadi sebuah pohon, sehingga crossover dan mutasi dapat

16 dilakukan dengan lebih mudah. Contoh pengkodean pohon dapat dilihat pada gambar dibawah ini : (*(-(ab))(+(*(cd))(/(ef)))) * - + A B * / C D E F Gambar 2.3 Pengkodean Pohon 2.6.4 Pengkodean Permutasi Pengkodean permutasi adalah pengkodean yang digunakan dalam masalah pengurutan data (ordering problem), seperti masalah wiraniaga (travelling salessman problem), atau masalah pengurutan tugas (task ordering problem). Pada pengkodean ini setiap kromosom merupakan barisan angka yang merepresentasikan angka dalam urutan. Pengkodean ini berguna untuk masalah ordering, bahkan beberapa korelasi terhadap kromosom harus dilakukan untuk menjaga konsistensi representasi koromosom setelah proses crossover dan mutasi. Sebagai contoh, dapat dilihat pada tabel berikut ini : Tabel 2.3 Contoh Pengkodean Permutasi Kromosom A 2 6 7 5 1 3 4 9 8 10 Kromosom B 10 5 4 9 7 1 3 2 6 8

17 2.7 Operator dalam Algoritma Genetika Operator yang sering digunakan pada algoritma genetika adalah seleksi, crossover dan mutasi. Pemilihan jenis operator yang digunakan tergantung dari masalah yang akan diselesaikan. 2.7.1 Seleksi Proses seleksi dalam algoritma genetika bertujuan memberikan kesempatan reproduksi yang lebih besar bagi individu-individu yang terdapat dalam suatu populasi yang paling baik. Langkah awal dalam seleksi ini adalah pencarian nilai fitness. Nilai fitness inilah nantinya akan digunakan pada tahap seleksi berikutnya (Kusumadewi, 2003). Ada beberapa metode yang dapat dipilih pada proses seleksi antara lain seleksi roda rolet (roulette wheel selection), seleksi ranking (rank selection) dan seleksi turnamen (tournament selection). 2.7.1.1 Seleksi Roullete Wheel Calon induk yang akan dipilih berdasarkan nilai fitness yang dimilikinya, semakin baik individu tersebut yang ditunjukkan dengan semakin besar nilai fitnessnya akan mendapatkan kemungkinan yang lebih besar untuk terpilih sebagai induk. Misalkan saja roulette wheel merupakan tempat untuk menampung seluruh kromosom dari tiap populasi, maka besarnya tempat dari roulette wheel tersebut menunjukkan seberapa besar nilai fitness yang dimiliki oleh suatu kromosom, semakin besar nilai fitness tersebut, maka semakin besar pula tempat yang tersedia. Ilustrasinya dapat digambarkan sebagai berikut :

18 Gambar 2.4 Seleksi Roda Roulette 2.7.1.2 Seleksi Ranking Seleksi ranking merupakan metode seleksi dimana populasi diurutkan berdasarkan nilai fitnessnya sehingga nilai yang diharapkan dari tiap individu bergantung kepada urutannya bukan hanya kepada nilai fitnessnya. Metode seleksi akan memiliki masalah ketika terdapat perbedaan fitness yang jauh, maka oleh sebab itu metode seleksi ranking bertujuan untuk menghindari terjadinya hasil konvergen yang terlalu cepat dari proses seleksi orang tua. Dalam seleksi ranking, dilakukan perumpamaan sesuai dengan nilai fitnessnya, nilai fitness terkecil diberi nilai 1, yang terkecil kedua diberi nilai 2, dan begitu seterusnya sampai yang terbagus diberi nilai N (jumlah kromosom dalam populasi). Nilai tersebut yang akan diambil sebagai presentasi tepat yang tersedia. Ilustrasinya dapat dilihat seperti pada gambar berikut : Gambar 2.5 Seleksi Rangking (situasi sebelum ranking)

19 Gambar 2.6 Seleksi Rangking (situasi sesudah ranking) 2.7.1.3 Seleksi Tournament Seleksi tournament merupakan variasi gabungan antara seleksi roulette wheel dan seleksi ranking. Pada metode seleksi turnamen ini, kromosom akan dipilih secara random. Untuk memilih satu calon parent, nilai fitness kedua kromosom dibandingkan. Kromosom dengan nilai fitness yang terbaik dipilih sebagai calon parent. Parameter yang digunakan pada metode ini adalah ukuran tour bernilai 2 sampai N (jumlah individu dalam suatu populasi). 2.7.1.4 Seleksi Steady State Metode ini tidak banyak digunakan dalam proses seleksi karena dilakukan dengan mempertahankan individu yang terbaik. Pada setiap generasi, akan dipilih beberapa kromosom dengan nilai fitnessnya yang terbaik sebagai induk, sedangkan kromosomkromosom yang memiliki nilai fitness terburuk akan digantikan dengan offspring yang baru. Sehingga pada generasi selanjutnya akan terdapat beberapa populasi yang bertahan.

20 2.7.2 Penyilangan (Crossover) Crossover adalah proses untuk menyilangkan dua kromosom sehingga membentuk kromosom anak (offspring) yang diharapkan lebih baik dari pada induknya. Crossover bertujuan menambah keanekaragaman string dalam populasi dengan penyilangan antar-string yang diperoleh dari sebelumnya. Prinsip dari crossover adalah melakukan operasi (pertukaran, aritmatika) pada gen-gen yang bersesuaian dari dua induk untuk menghasilkan individu baru. Operator crossover ini bergantung pada representasi kromosom yang dilakukan. Parameter yang terpenting dalam proses crossover adalah crossover rate yang merupakan nilai perbandingan jumlah kromosom yang diharapkan akan mengalami crossover terhadap jumlah kromosom dalam satu populasi. Dibawah ini beberapa jenis crossover tersebut. 2.7.2.1 Penyilangan (Crossover) Satu Titik Pada crossover satu titik, pemilihan posisi crossover k (k=1,2,..., N-1) dengan N = panjang kromosom diseleksi secara random. Pada proses crossover dilakukan dengan memisahkan satu string menjadi dua bagian dan selanjutnya salah satu bagian dipertukarkan dengan salah satu bagian dari string yang lain yang telah dipisahkan dengan cara yang sama. Sebagai contoh dapat dilihat pada gambar berikut ini : Gambar 2.7 Contoh Crossover Satu Titik

21 2.7.2.2 Penyilangan (Crossover) Banyak Titik Proses ini dilakukan dengan memilih dua titik crossover. Kromosom keturunan kemudian dibentuk dengan barisan bit dari awal kromosom sampai titik crossover pertama disalin dari orang tua pertama, bagian dari titik crossover pertama dan kedua disalin dari kedua disalin dari orang tua kedua, kemudian selebihnya disalin dari orang tua pertama lagi. Pada crossover banyak titik, m posisi penyilangan (k=1,2,..., N-1, i=2,...,m) dengan N = panjang kromosom diseleksi secara random dan tidak diperbolehkan ada posisi yang sama, serta diurutkan naik. Variabel-variabel ditukar antar kromosom pada titik tersebut untuk menghasilkan anak. Sebagai contoh dapat dilihat pada gambar berikut ini : Gambar 2.8 Contoh Crossover Banyak Titik 2.7.2.3 Penyilangan (Crossover) Seragam Crossover seragam menghasilkan kromosom keturunan dengan menyalin bit-bit secara acak dari kedua orangtuanya. Pada crossover seragam, setiap tempat memiliki peluang sebagai tempat penyilangan. Sebagai contoh dapat dilihat pada tabel berikut ini :

22 Tabel 2.4 Contoh Crossover Seragam Parent 1 1 0 1 1 0 0 1 1 Parent 2 0 0 0 1 1 0 1 0 Mask 1 1 0 1 0 1 1 0 Child 1 1 0 0 1 1 0 1 0 Child 2 0 0 1 1 0 0 1 1 2.7.2.4 Penyilangan (Crossover) dengan permutasi 2.7.2.4.1 Partial-Mapped Crossover (PMX) PMX merupakan rumusan modifikasi dari pindah silang dua-poin. Hal yang penting dari PMX adalah pindah silang 2-poin ditambah dengan beberapa prosedur tambahan. Langkah kerja PMX dapat dilihat pada gambar dibawah ini: 1. Pilih posisi untuk menentukan substring secara acak Induk 1 1 2 3 4 5 6 7 8 9 Induk 2 5 4 6 9 2 1 7 8 3 2. Tukar substring diantara induk Proto-child 1 1 2 6 9 2 1 7 8 9 Proto-child 2 5 4 3 4 5 6 7 8 3 3. Menetukan hubungan mapping

23 4. Menentukan kromosom keturunan mengacu pada hubungan mapping Keturunan 1 3 5 6 9 2 1 7 8 4 Keturunan 2 2 9 3 5 4 6 7 8 1 Gambar 2.9 Contoh Partial-Mapped Crossover (PMX) 2.7.2.4.2 Order Crossover (OX) Metode ini merupakan variasi dari PMX dengan prosedur tambahan. Langkah kerja OX dapat dilihat pada gambar dibawah ini: 1. Memilih substring dari induk dengan cara acak Induk 1 1 2 3 4 5 6 7 8 9 Induk 2 5 4 6 9 2 1 7 8 3 2. Produksi proto-child dengan mengosongkan tempat substring induk2 pada induk1 Proto-child 1 3 4 5 6 7 8 Proto-child 2 9 2 1 7 8 3. SHR substring pada tempat yang bersesuaian Proto-child 1 7 8 3 4 5 Proto-child 2 7 8 9 2 1 4. Tukar posisi substring Keturunan 1 7 8 6 9 2 1 3 4 5 Keturunan 2 7 8 3 4 5 6 9 2 1 Gambar 2.10 Contoh Order Crossover (OX)

24 2.7.2.4.3 Cycle Crossover (CX) Metode ini mengkopi nilai dari satu induk dan memilih nilai yang lain dari induk yang lain, dengan mengingat pola cycle. Langkah kerja CX dapat dilihat pada gambar dibawah ini: 1. Tentukan pola cycle Induk 1 1 2 3 4 5 6 7 8 9 Induk 2 5 4 6 9 2 3 7 8 1 Pola cycle 1 5 2 4 9 1 2. Kopi nilai dalam cycle pada proto-child Proto-child 1 2 4 5 9 3. Tentukan nilai yang diingat dari induk yang lain Induk 2 5 4 6 9 2 3 7 8 1 Nilai yang tidak ada 6 3 7 8 4. Mengisi nilai yang diingat dalam keturunan Keturunan 1 1 2 6 4 5 3 7 8 9 Dengan cara yang sama memperoleh keturunan 2 Keturunan 2 5 4 3 9 2 6 7 8 1 Gambar 2.11 Contoh Cycle Crossover (CX)

25 2.7.3 Mutasi Mutasi merupakan proses mengubah nilai dari satu atau beberapa gen dalam suatu kromosom. Individu yang telah melewati proses seleksi dan crossover akan menghasilkan individu baru (offspring) yang akan dimutasi untuk membantu mempercepat terjadinya perbedaan individu pada populasi. Mutasi berperan untuk menggantikan gen yang hilang dari populasi akibat proses seleksi yang memungkinkan munculnya kembali gen yang tidak muncul pada inisialisasi populasi. 2.7.3.1 Mutasi Pengkodean Biner Mutasi pengkodean biner merupakan operasi yang sangat sederhana. Proses mutasi pengkodean biner dilakukan dengan cara menginversi nilai bit pada kromosom yang terpilih secara acak (atau menggunakan skema tertentu) dengan diubah nilainya menjadi nilai lawannya (0 ke 1, atau 1 ke 0). Sebagai contoh, dapat dilihat pada tabel berikut ini : Tabel 2.5 Contoh Mutasi Pengkodean Biner Keadaan Kromosom Proses Mutasi Kromosom sebelum mutasi 1000 1111 1011 0110 Kromosom sesudah mutasi 10011 1011 0110 2.7.3.2 Mutasi Pengkodean Nilai Mutasi pengkodean nilai adalah proses yang terjadi pada saat pengkodean nilai. Proses mutasi dalam pengkodean nilai dapat dilakukan dengan cara memilih sembarang posisi gen pada kromosom, dan nilai yang ada kemudian ditambahkan atau dikurangkan dengan suatu nilai kecil tertentu yang diambil secara acak. Sebagai contoh, dapat dilihat pada tabel berikut ini, yaitu nilai riil ditambahkan dan dikurangkan dengan nilai 0 dan 1.

26 Tabel 2.6 Contoh Mutasi Pengkodean Nilai Keadaan Kromosom Proses Mutasi Kromosom sebelum mutasi 1,45 2,67 1,87 2,56 Kromosom sesudah mutasi 1,55 2,67 1,77 2,56 2.7.3.3 Mutasi Pengkodean Permutasi Proses mutasi pengkodean permutasi tidak sama halnya dengan proses mutasi yang dilakukan pada pengkodean biner dengan mengubah langsung bit-bit pada kromosom. Salah satu cara yang dapat dilakukan adalah dengan memilih dua posisi (locus) dari kromosom dan kemudian nilainya saling dipertukarkan. Orangtua yang berada dibawah titik crossover dipertukarkan untuk menghasilkan anak baru. Contoh Mutasi pada pengkodean permutasi, dapat dilihat pada tabel di berikut ini : Tabel 2.7 Contoh Mutasi Pengkodean Permutasi Keadaan Kromosom Proses Mutasi Kromosom sebelum mutasi 1 2 3 4 5 6 7 8 9 Kromosom sesudah mutasi 1 2 7 4 6 5 8 3 9 Beberapa operator mutasi telah diciptakan untuk representasi permutasi, seperti metode inversion, insertion, displacement, dan reciprocal exchange mutation. a. Inversion Mutation Inversion mutation dilakukan dengan cara memilih substring secara acak kemudian substring yang terpilih dibalik dan penempatan substring pada posisi yang sama. Penyisipan tersebut posisi acak. Contoh ilustrasi operasi mutasi ini, dapat dilihat pada gambar berikut ini: Gambar 2.12 Contoh Inversion Mutation

27 b. Insertion Mutation Insertion Mutation dilakukan dengan cara memilih salah satu gen secara acak kemudian gen yang terpilih disisipkan ke posisi yang lain. Penyisipan tersebut pada posisi acak. Contoh ilustrasi operasi mutasi ini, dapat dilihat pada gambar berikut ini: Gambar 2.13 Contoh Insertion Mutation c. Exchange Mutation Exchange Mutation dilakukan dengan cara memilih dua gen secara acak kemudian posisi gen pertama ditukar dengan posisi gen kedua. Contoh ilustrasi proses mutasi ini, dapat dilihat pada gambar berikut ini: Gambar 2.14 Contoh Exchange Mutation 2.7.3.4 Mutasi Pengkodean Pohon Mutasi pada pengkodean pohon dilakukan dengan cara mengubah operator ( +, -, *, / ) atau nilai yang terkandung dalam suatu verteks pohon yang dipilih. Atau dapat juga dilakukan pemulihan dua verteks dari pohon dan saling mempertukarkan operator atau nilainya. Contoh mutasi dalam pengkodean pohon dapat dilihat pada tabel berikut ini :

28 Tabel 2.8 Contoh Mutasi Pengkodean Pohon Sebelum Mutasi Sesudah Mutasi + + X * X + 6 y 6 y ( + x ( * 6 y)) ( + x ( + 6 y)) 2.8 Parameter Genetik Pengoperasian algoritma genetika dibutuhkan 3 parameter (Juniawati, 2003) yaitu: 1. Probabilitas Persilangan (Crossover Probability) Menunjukkan kemungkinan crossover terjadi antara 2 kromosom. Jika tidak terjadi crossover maka keturunannya akan sama persis dengan kromosom orangtua, tetapi tidak berarti generasi yang baru akan sama persis dengan generasi yang lama. Jika probabilitas crossover 100% maka semua keturunannya dihasilkan dari crossover. Crossover dilakukan dengan harapan bahwa kromosom yang baru akan lebih baik. 2. Probabilitas Mutasi (Mutation Probability) Menunjukkan kemungkinan mutasi terjadi pada gen-gen yag menyusun sebuah kromosom. Jika tidak terjadi mutasi maka keturunan yang dihasilkan setelah crossover tidak berubah. Jika terjadi mutasi, bagian kromosom akan berubah. Jika probabilitas 100%, semua kromosom dimutasi. Jika probabilitasnya 0%, tidak ada yang mengalami mutasi.

29 3. Ukuran Populasi Menunjukkan jumlah kromosom yang terdapat dalam populasi. Jika hanya sedikit kromosom dalam populasi maka algoritma genetika akan mempunyai sedikit variasi kemungkinan untuk melakukan crossover. Sebaliknya jika terlalu banyak maka algoritma genetika akan berjalan lambat dalam menemukan solusi. Ada beberapa rekomendasi parameter yang bisa digunakan, yaitu: Untuk permasalahan yang memilki kawasan solusi cukup besar, De Jong merekomendasikan untuk nilai parameter kontrol : (popsize; p c; p m) = (50;0,6;0,001). Bila rata-rata fitness setiap generasi digunakan sebagai indikator, maka Grenfenstette merekomendasikan : (popsize;p c ;p m ) = (30;0,95;0,01) Bila fitness dari individu terbaik dipantau pada setiap generasi, maka usulannya adalah: (popsize;p c; p m ) = (80;0,45;0.01). Ukuran populasi sebaiknya tidak lebih kecil dari 30, untuk sembarang jenis permasalahan.