Está en la página 1de 11

6

BAB 2 LANDASAN TEORI

2.1 Algoritma Genetika Algoritma genetika merupakan metode pencarian yang disesuaikan dengan proses genetika dari organisme-organisme biologi yang berdasarkan pada teori evolusi Charles Darwin. (Kusumadewi, 2003). Algoritma genetika pertama kali ditemukan oleh John Holland, itu dapat dilihat dalam bukunya yang berjudul Adaption in Natural and Artificial Systems pada tahun 1960-an dan kemudian dikembangkan bersama murid dan rekan kerjanya di Universitas Michigan pada tahun 1960-an sampai 1970-an. Tujuan Holland mengembangkan Algoritma Genetika saat itu bukan untuk mendesain suatu algoritma yang dapat memecahkan suatu masalah, namun lebih mengarah ke studi mengenai fenomena adaptasi di alam dan mencoba menerapkan mekanisme adaptasi alam tersebut ke dalam sistem komputer. (Fariza, dkk 2006). Algoritma Genetika yang dibuat Holland merupakan sebuah metode untuk memisahkan satu populasi kromosom (terdiri dari bit-bit 1 dan 0) ke populasi baru dengan menggunakan seleksi alam dan operator genetik seperti crossover, mutation, invertion. Crossover menukar bagian kecil dari dua kromosom, mutation mengganti secara acak nilai gen di beberapa lokasi pada kromosom, invertion membalikkan urutan beberapa gen yang berurutan dalam kromosom. Dasar teori inilah yang menjadi dasar kebanyakan program yang menggunakan algoritma genetika pada saat ini. (Fariza, dkk 2006). Hal-hal yang harus dilakukan dalam menggunakan algoritma genetika adalah: 1. Mendefinisikan individu, dimana individu menyatakan salah satu solusi (penyelesaian) yang mungkin dari permasalahan yang diangkat. 2. Mendefinisikan nilai fitness, yang merupakan ukuran baik-tidaknya sebuah individu atau baik-tidaknya solusi yang didapatkan. 3. Menentukan proses pembangkitan populasi awal. Hal ini biasanya dilakukan dengan menggunakan pembangkitan acak seperti random-walk.

Universitas Sumatera Utara

7 4. Menentukan proses seleksi yang akan digunakan. 5. Menentukan proses perkawinan silang (cross-over). 6. Mutasi gen yang akan digunakan.

2.1.1 Teknik Encoding Proses encoding adalah salah satu proses yang sulit dalam algoritma genetika. Hal ini disebabkan karena proses encoding untuk setiap permasalahan berbeda karena tidak semua teknik encoding cocok untuk setiap permasalahan. Proses encoding menghasilkan string yang kemudian disebut kromosom. String terdiri dari sekumpulan bit yang dikenal sebagai gen. Jadi satu kromosom terdiri dari sejumlah gen. Ada bermacam-macam teknik encoding yang dapat dilakukan dalam algoritma genetika. Beberapa teknik encoding itu antara lain adalah binary encoding, permutation encoding, value encoding serta tree encoding. Teknik encoding yang digunakan pada Traveling Salesman Problem adalah permutation encoding. Selain digunakan pada Traveling Salesman Problem, teknik ini juga dapat digunakan pada Task Ordering Problem. Pada permutation encoding, kromosom-kromosom adalah kumpulan angka yang mewakili posisi dalam sebuah rangkaian. Dalam permutation encoding, setiap kromosom adalah sebuah string dari nomor-nomor seperti dibawah ini. Kromosom (Rute Kota) A B C D E F G H I Gen (Jarak) 1 5 3 2 6 4 7 9 8

Pada TSP kromosom mengambarkan rute kota yang dikunjungi salesman, sedangkan jarak antar kota menggambarkan gen. (Obitko, 1998). Pada contoh diatas adalah: Kromosom (rute kota) A-B-C-D-E-F-G-H-I dengan jarak 1, 5, 3, 2, 6, 4, 7, 9, 8.

Universitas Sumatera Utara

8 2.1.2 Proses Seleksi

Proses seleksi adalah proses yang memegang peranan penting dalam algoritma genetika. Proses seleksi ini digunakan agar hanya kromosom-kromosom yang berkualitas yang dapat melanjutkan peranannya dalam proses algoritma genetika berikutnya. Ada bermacam-macam teknik untuk melakukan proses seleksi pada suatu permasalahan. Teknik seleksi yang akan digunakan tergantung pada permasalahan yang akan diselesaikan. Ada bermacam-macam teknik seleksi, diantaranya adalah Roulette Wheel Selection, Rank Base Selection, dan Steady State Selection. Proses penseleksian ini menggunakan teknik peringkat atau Rank Base Selection. Pada proses penseleksian digunakan suatu parameter yang disebut kesesuaian atau fitness. Fitness digunakan untuk menentukan seberapa baik kromosom akan bertahan hidup. Makin tinggi nilai 0 fitness 1, suatu kromosom maka makin baik kromosom itu akan bertahan hidup. Nilai fitness tertinggi merepresentasikan jawab terbaik atas persoalan itu sendiri. Penentuan berapa besar nilai fitness suatu kromosom berdasarkan fungsi fitness yang didefinisikan tersendiri. Pada Rank Base Selection, hanya kromosom yang mempunyai nilai fitness yang tinggilah yang dapat bertahan pada generasi berikutnya, sebaliknya yang mempunyai nilai fitness rendah akan hilang pada generasi berikutnya. Untuk mempertahankan jumlah kromosom tetap pada satu generasi maka perlu dibangkitkan kromosom baru yang merupakan hasil penyilangan dari kromosom yang hidup. Untuk itu dilakukan proses rekombinasi. (Samuel, dkk 2005).

2.1.3 Proses Rekombinasi Proses rekombinasi atau yang lebih dikenal dengan nama proses crossover adalah menyilangkan dua kromosom sehingga membentuk kromosom baru yang harapannya lebih baik dari pada induknya. Tidak semua kromosom pada suatu populasi akan mengalami proses rekombinasi. Kemungkinan suatu kromosom mengalami proses rekombinasi didasarkan pada probabilitas crossover yang telah ditentukan terlebih dahulu. Probabilitas crossover menyatakan peluang suatu

Universitas Sumatera Utara

9 kromosom akan mengalami crossover (Samuel, dkk 2005). Teknik rekombinasi yang digunakan adalah teknik order crossover. Order crossover (OX) diperkenalkan oleh Davis. (Samuel, dkk 2005). Teknik ini diawali dengan membangkitkan dua bilangan acak. Kemudian gen yang berada diantara kedua bilangan acak akan disalin ke offspring dengan posisi yang sama. Langkah berikutnya untuk mendapatkan offspring pertama adalah mengurutkan gen yang berada pada parent kedua dengan urutan gen yang berada pada posisi setelah bilangan acak kedua diikuti dengan gen yang berada pada posisi sebelum bilangan acak pertama dan diakhiri dengan gen yang berada pada posisi diantara kedua bilangan acak. Kemudian gen yang telah diurutkan tersebut dibandingkan dengan offspring pertama. Apabila gen tersebut ada pada offspring kedua maka abaikan gen tersebut dari urutan itu. Kemudian masukkan urutan yang baru saja didapat pada offspring dengan cara memasukkan urutan gen pada posisi setelah bilangan acak kedua terlebih dahulu dan sisanya dimasukkan pada posisi sebelum bilangan acak pertama. Begitu juga untuk menghasikan offspring kedua. Contoh order crossover adalah sebagai berikut: p1 = (1 2 3 | 4 5 6 7 |8 9) p2 = (4 5 2 | 1 8 7 6 |9 3) => copy segmen yang dipilih o1 = (x x x | 4 5 6 7 |x x) o2 = (x x x | 1 8 7 6 |x x) => p2 : 9-3-4-5-2-1-8-7-6 pindahkan 4, 5, 6, 7 dan letakkan di o1 : 9-3-2-1-8 o1 = (x x x | 4 5 6 7 |x x) = (2 1 8 | 4 5 6 7| 9 3) dengan jalan yang sama buat o2 sehingga o2 = (3 4 5 | 1 8 7 6 |9 2) Keterangan: p1 = parent 1 p2 = parent 2 o1 = offspring 1 (anak ke 1) o2 = offspring 2 (anak ke 2) p1, p2, o1 dan o2 = bukan indeks

Universitas Sumatera Utara

10 2.1.4 Proses Mutasi

Proses mutasi ini dilakukan setelah proses rekombinasi dengan cara memilih kromosom yang akan dimutasi secara acak, dan kemudian menentukan titik mutasi pada kromosom tersebut secara acak pula. Banyaknya kromosom yang akan mengalami mutasi dihitung berdasarkan probabilitas mutasi yang telah ditentukan terlebih dahulu. Apabila probabilitas mutasi adalah 100% maka semua kromosom yang ada pada populasi tersebut akan mengalami mutasi. Sebaliknya, jika probabilitas mutasi yang digunakan adalah 0% maka tidak ada kromosom yang mengalami mutasi pada populasi tersebut. Ada bermacam-macam teknik mutasi yang dapat digunakan untuk menyelesaikan suatu masalah dengan algoritma genetika. Seperti pada teknik rekombinasi, teknik mutasi juga dirancang untuk digunakan pada suatu masalah yang spesifik sehingga tidak setiap teknik mutasi dapat diterapkan pada suatu masalah yang akan diselesaikan. Selain itu, teknik mutasi yang digunakan juga harus sesuai dengan teknik encoding yang digunakan untuk menyelesaikan permasalahan tersebut. Beberapa teknik mutasi yang dapat digunakan dalam penyelesaian Traveling Salesman Problem adalah inversion mutation, insertion mutation, dan reciprocal mutation. (Samuel, dkk 2005). Teknik mutasi yang digunakan dalam makalah adalah teknik insertion mutation. Teknik ini diawali dengan memilih dua bilangan acak kemudian gen yang berada pada posisi bilangan acak pertama ditukar dengan gen yang berada pada bilangan acak kedua. (Samuel, dkk 2005). Beberapa teknik mutasi adalah: a. Bit inversion pemilihan bit-bit yang di-inversi

11001001 => 10001001 b. Order changing dua nomor adalah dipilih dan dipertukarkan. (1 2 3 4 5 6 8 9 7) => (1 8 3 4 5 6 2 9 7)

Universitas Sumatera Utara

11 Penambahan sebuah nomor kecil untuk pemilihan angka adalah dengan penambahan atau pengambilan sebuah nomor yang terkecil. (1.29 5.68 2.86 4.11 5.55) => (1.29 5.68 2.73 4.22 5.55). Algoritma genetika memiliki beberapa karakteristik yang perlu diketahui sehingga dapat terbedakan dari prosedur pencarian atau optimasi yang lainnya Adapun karakteristik dari algoritma genetika adalah: 1. Bekerja dengan pengkodean dari himpunan solusi permasalahan berdasarkan parameter yang telah ditetapkan dan bukan parameter itu sendiri. 2. Melakukan pencarian pada sebuah populasi dari sejumlah individu-individu yang merupakan solusi pemasalahan bukan hanya dari sebuah individu. 3. Merupakan suatu fungsi. 4. Merupakan aturan peluang dan bukan aturan deterministik. Kelebihan algoritma genetika adalah sebagai berikut: a. Algoritma genetika tidak terlalu banyak memerlukan persyaratan matematika dalam penyelesaian proses optimasi dan dapat diaplikasikan pada beberapa jenis fungsi objektif dengan beberapa fungsi pembatas baik berbentuk liner maupun non liner. b. Operasi evolusi dari algoritma genetika sangat efektif untuk mengobservasi posisi global secara acak. c. Algoritma genetika mempunyai fleksibilitas untuk diimplementasikan secara efisien pada problematika tertentu. Dalam proses pengerjaan Algoritma Genetika menggunakan 5 tahapan sebagai berikut: a. Pengkodean (encoding) b. Seleksi (selection) c. Persilangan (crossover) d. Mutasi (mutation) e. Decoding informasi fungsi objektif (fitness) sebagai cara untuk mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan dari

Universitas Sumatera Utara

12 2.1.5 Kawin Silang Single point crossover pemilihan satu titik crossover, string binary dari awal chromosome untuk titik crossover adalah di-copy dari orang tua pertama dan sisanya di-copy dari orang tua kedua.

11001011

11011111

11001111

Two point crossover pemilihan dua titik crossover, string binary dari awal dari chromosome untuk titik pertama crossover di-copy dari orang tua pertama, bagian dari the first untuk titik crossover yang kedua di-copy dari orang tua kedua dan sisanya di-copy dari orang tua pertama.

11001011

11011111

11011111

Uniform crossover bit-bit secara acak di-copy dari orang tua pertama atau kedua.

11001011

11011101

11011111

Arithmetic crossover - beberapa operasi arithmetic adalah ditampilkan untuk membuat offspring yang baru.

11001011

11011111

= 11001001 (AND)

Universitas Sumatera Utara

13 Hal yang dapat dilihat dari perpindahan bilangan biner di atas adalah kawin silang (crossover) dapat dilakukan dengan empat cara yaitu single point crossover, two point crossover, uniform crossover dan arithmetic crossover. Dari keempat cara tersebut didapat bahwa arithmetic crossover merupakan cara yang lebih cepat untuk menyelesaikan perkawinan silang (crossover).

2.2 Meknisme Algoritma Genetika Algoritma genetika dimulai dengan pembentukan sejumlah solusi yang dilakukan secara acak. Sebuah solusi yang dibangkitkan dalam algoritma genetika disebut sebagai kromosom, sedangkan kumpulan kromosom tersebut disebut sebagai populasi. Sebuah kromosom dibentuk dari komponen penyusun disebut dengan gen dan nilainya dapat berupa bilangan numerik, biner, simbol ataupun karakter tergantung dari permasalahan yang ingin diselesaikan. Secara umum blok diagram dari mekanisme kerja algoritma genetika adalah seperti pada gambar 2.1.

Bangkitkan populasi awal

Evaluasi fungsi tujuan

Kriteria optimasi tercapai


Tidak

Ya

Individuindividu terbaik

Mulai Seleksi

Selesai

Bangkitkan Populasi awal

Persilangan

Mutasi

Gambar 2.1 Meknisme Algoritma Genetika

Universitas Sumatera Utara

14 2.3 Travelling Salesman Problem (TSP) Masalah optimasi TSP terkenal dan telah menjadi standar untuk mencoba algoritma yang komputational. Pokok permasalahan dari TSP adalah seorang salesman harus mengunjungi sejumlah kota yang diketahui jaraknya satu dengan yang lainnya. Semua kota yang ada harus dikunjungi oleh salesman tersebut dengan memilih rute yang terpendek dan kota tersebut hanya boleh dikunjungi tepat satu kali sehingga jarak yang ditempuhnya merupakan jarak minimum. Algoritma genetik merupakan sebuah algoritma yang meniru cara kerja proses genetika pada makhluk hidup, dimana terdapat proses seleksi, rekombinasi dan mutasi untuk mendapatkan kromosom terbaik pada suatu generasi. Pada tulisan ini membahas bagaimana algoritma genetik menyelesaikan TSP dengan menggunakan metode order crossover sebagai teknik rekombinasi dan metode insertion mutation sebagai teknik mutasi yang digunakan pada algoritma genetik. Untuk mengetahui bagaimana penerapan algoritma genetika dalam menyelesaikan traveling salesman problem, dibuatkan sebuah program simulasi sederhana dengan menggunakan piranti lunak Microsoft Visual Basic 6.0. Dalam program simulasi tersebut, traveling salesman problem yang akan digunakan adalah Symmetric Traveling Salesman Problem dimana jarak kota A ke kota B adalah sama dengan jarak kota B ke kota A. Masalah penilaian metode yang terbaik sulit untuk dilakukan karena metodemetode yang sangat berkaitan erat satu sama lain tidak dapat dinilai hanya melalui perbandingan yang sederhana. Sepertinya perlu dilakukan pertimbangan ulang untuk menentukan kriteria perbandingan antar metode tersebut. Oleh karena itu, penilaian yang lebih baik harus mengesampingkan hasil contoh kasus kecil seperti di atas karena contoh kasus tersebut dapat diselesaikan oleh seluruh teknik penyelesaian yang baik. Sejauh ini, jika diberikan sejumlah n kota, penilaian seharusnya difokuskan pada n-kota yang benar-benar sulit untuk diselesaikan dengan menggunakan metode yang diajukan yang nantinya akan diuji mana yang lebih baik. Dengan pendekatan ini, kita kemudian dapat menentukan apakah metode A lebih baik daripada metode B jika diberikan persoalan n-kota dengan n sebuah bilangan yang besar.

Universitas Sumatera Utara

15 Agar ide perbandingan metode-metode di atas dapat diaplikasikan maka dapat menganalisis metode penyelesaian yang diberikan untuk dapat memberikan jaminan bahwa setiap n akan memakan waktu sejumlah f(n) untuk berapapun n-kota TSP, dimana f(n) ialah sebuah fungsi yang menghasilkan waktu yang dibutuhkan untuk menyelesaikan persoalan TSP n-kota. Sekarang untuk membandingkan dua buah metode penyelesaian, membandingkan fungsi mana yang menghasilkan hasil yang terbaik yang diberikan di antara dua buah solusi penyelesaian tersebut. Hal ini tentu saja menghasilkan hasil perhitungan yang salah karena sebuah metode penyelesaian yang benar-benar baik namun dianalisis dengan buruk akan terlihat buruk jika dibandingkan dengan metode penyelesaian lain yang dianalisis dengan baik. Pada beberapa persoalan komputasi, bagaimanapun juga studi mengenai algoritma dan fungsi telah memberikan hasil yang baik yang penting bagi pengembangan untuk penyelesaian persoalan praktis. Hal ini telah menjadi subjek studi utama di dalam bidang ilmu komputer. Dalam metode penyelesaian persoalan TSP, mudah untuk mengembangkan metode penyelesaian yang memiliki fungsi yang memiliki f(n) = (n-1)! = (n-1) x (n2) x (n-3) x 3 x 2 x 1 dan jumlah jalur perjalanan antar kota yang mungkin terjadi ialah (n-1)!/2. Hasil yang lebih telah dikembangkan pada tahun 1962 oleh Michael Held dan Richard Karp, yang menemukan algoritma yang menghasilkan f(n) yang memiliki proporsi n 2 , yaitu n x n x 2 x 2 x 2 x x 2, dimana ada sebanyak n perkalian 2. Untuk setiap n yang bernilai besar, fungsi f(n) Held-Karp akan selalu lebih kecil jika dibandingkan dengan (n-1). Bagi setiap orang yang tertarik untuk menyelesaikan persoalan TSP yang besar, ada sebuah kabar buruk bahwa selama 45 tahun sejak Held dan Karp menemukan fungsi f(n) = n 2 ternyata tidak ditemukan fungsi f(n) yang lebih baik. Hal ini tentu saja mengecewakan karena dengan n = 30 fungsi f(n) Held-Karp menghasilkan nilai yang sangat besar. Dan untuk n = 100, adalah suatu hal yang mustahil untuk menyelesaikan persoalan ini dengan kemampuan yang dimiliki komputer yang ada saat ini. Perkembangan fungsi f(n) dalam TSP yang sangat lambat ini mungkin memang tidak dapat kita hindari dengan kemampuan komputer yang ada saat ini, bisa jadi memang tidak ada metode penyelesaian persoalan yang menghasilkan f(n) memiliki tingkat performasi yang baik, misal n dimana c ialah sebuah konstanta, oleh karena
c 2 n 2 n

Universitas Sumatera Utara

16 itu, n x n x n x x n dimana n muncul sebanyak c kali. Diskusi mengenai teknis permasalahan ini dapat dilihat pada tulisan Stephen Cooks dan Institut Matematika Clay menawarkan hadiah sebesar satu juta US dolar bagi siapa pun yang dapat menemukan metode yang lebih baik. Persoalan kompleksitas TSP ialah sebuah pertanyaan yang mendalam dalam bidang matematik. Tetapi situasinya ialah sekarang kita mendapatkan sedikit informasi yang berguna dengan melihat pada kasus dengan tingkat performansi terburuk dari metode penyelesaian masalah TSP. Dengan sedikit pilihan baik yang tersedia, para peneliti TSP telah berusaha untuk mengukur perkembangan dengan cara melihat bagaimana implementasi pada komputer dari metode-metode penyelesaian tersebut menyelesaikan persoalan pada contoh kasus yang diberikan. Maksudnya ialah bahwa dengan memperbesar ukuran dan variasi contoh kasus yang dapat diselesaikan dan akan memperoleh kemajuan pada solusi praktis dari TSP. Walaupun pergantian proses perbandingan untuk mendapatkan perbandingan yang baik seperti yang kami tawarkan di awal lemah, tes komputasi praktis ini telah membawa para peneliti TSP kepada metode penyelesaian TSP kepada perkembangan yang jauh lebih baik. Dan yang lebih penting lagi, usaha-usaha tersebut telah mengarahkan penelitian ke dalam pengembangan alat optimasi yang bersifat umum.

Universitas Sumatera Utara

También podría gustarte