Anda di halaman 1dari 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 informasi fungsi objektif (fitness) sebagai cara untuk
mengevaluasi individu yang mempunyai solusi terbaik, bukan turunan dari
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

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.

Evaluasi Kriteria Ya Individu-


Bangkitkan
populasi awal fungsi tujuan optimasi individu
tercapai terbaik

Tidak
Mulai Selesai
Seleksi

Persilangan
Bangkitkan
Populasi
awal
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 metode-
metode 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 (n-
2) 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
2 n
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
2 n
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
c
tingkat performasi yang baik, misal n dimana c ialah sebuah konstanta, oleh karena

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

Anda mungkin juga menyukai