Professional Documents
Culture Documents
69-86PROSES
ANALISIS WORD MATCHING PROBLEM
Bidang Teknik
Richard Dawkins adalah salah satu ilmuwan yang menerapkan teori evolusi untuk
word matching problem dengan ekspresi huruf “tobeornottobe”. Gagasan dasar dari
Richard Dawkins mengenai word matching problem, dikembangkan menggunakan
algoritma genetika oleh seorang ilmuwan yaitu Freeman. Dalam proses word
matching problem, tidak mudah untuk mendapatkan fungsi kecocokan fitness yang
dapat menghasilkan respons sistem yang optimal. Cara yang dipakai untuk
menemukan nilai kecocokan fitness salah satunya adalah menggunakan nilai hasil
selisih string integer antara ekspresi yang diharapkan oleh user dengan ekspresi
yang dihasilkan secara acak. Pengujian dilakukan dengan software APWMP yang
dibangun menggunakan bahasa pemrograman pascal 7.0 dan dilakukan dalam 300
generasi atau lebih, di mana setiap generasi terdiri dari 10 kromosom atau maksimal
100 kromosom. Hasil yang didapatkan menunjukan bahwa dengan bantuan
algoritma genetika, permasalahan kombinasi yang sangat rumit dan memakan waktu
yang cukup lama untuk mendapatkan kecocokan fitness dapat dengan mudah
diselesaikan. Nilai fitness yang diharapkan dalam software APWMP, yaitu
menghasilkan nilai fitness di mana semakin tinggi nilai fitness maka akan semakin
cepat mencapai nilai konvergen dengan bantuan seleksi roullette wheel dan
perubahan-perubahan parameter mutasi.
69
WAHYU NURJAYA
tulisan yang berbeda, jika dari sepuluh tulisan problem penulis harus menentukan fungsi
ini tidak ada yang sama dengan ekspresi yang tujuan sebagai solusi dari pencarian yang
diharapkan oleh Richard Dawkins akan dilakukan oleh algoritma genetika.
(“tobeornottobe”), maka akan dilakukan lagi
eksperimen sampai waktu yang tak terbatas. Ada beberapa definisi umum dalam
Kemungkinan untuk mendapatkan ekspresi algoritma genetika yang perlu diketahui dan
“tobeornottobe” sangat kecil, kendala ini berkaitan dengan masalah yang akan dibahas
dapat disimulasikan menggunakan prosedur oleh penulis mengenai analisis proses word
matematika dengan metode algoritma matching problem menggunakan algoritma
genetika. genetika, yaitu:
• Satu individu adalah satu kesatuan
Dari permasalahan di atas penulis akan kromosom.
menganalisis proses word matching problem • Satu kromosom adalah kumpulan dari
menggunakan algoritma genetika dengan gen-gen.
menganut kepada metode eksperimen Richard
• Gen menyatakan satuan nilai yang yang
Dawkins dengan catatan huruf (word) yang
menyatakan suatu nilai variabel bebas.
akan dieksperimeni ditentukan oleh user.
• Nilai fitness suatu individu adalah nilai
Metode algoritma genetika ini bekerja dengan
tujuan dari permasalahan yang diangkat.
suatu cost function sebagai fungsi yang
menguji kualitas solusi yang dalam hal ini
Bentuk gen yang bisa diambil dalam
dilambangkan sebagai suatu individu dalam
algoritma genetika adalah:
satu generasi. Seleksi merupakan pemilihan
solusi yang tepat di antara solusi yang ada, • Gen Biner, ini baik untuk sistem dengan
dilakukan dengan cara penyusunan huruf satu variabel bebas.
(word), tetapi pada dasarnya adalah memilih • Gen Float, ini baik untuk sistem dengan
individu yang lebih baik (membentuk variabel bebas yang lebih dari satu.
“susunan huruf (word)” yang diinginkan oleh • Gen Character/Data, ini baik untuk
user). Untuk menentukan itu digunakan fungsi sistem dengan variabel bebas yang
obyektif, yang ditentukan untuk suatu dinyatakan sebagai satu satuan
masalah. informasi.
70
ANALISIS PROSES WORD MATCHING PROBLEM
belum terpenuhi maka akan dibentuk lagi Gagasan dasar algoritma genetika
generasi baru dengan mengulangi langkah
2. beberapa kriteria berhenti yang sering Gagasan yang mendasari algoritma genetika
digunakan antara lain: adalah meniru cara penggunaan evolusi
• Berhenti pada generasi tertentu. alam. Algoritma genetika dalam
• Berhenti setelah dalam beberapa pengerjaannya menggunakan prinsip
generasi berturut-turut didapatkan nilai Survival Of The Fittest (kemampuan
fitness tertinggi tidak berubah. kelangsungan hidup) dengan pemecahan
• Berhenti bila dalam N generasi berikut yang berbeda dalam sebuah populasi.
tidak didapatkan nilai fitness yang Meniru pemecahan terbaik dari bentuk baru
lebih tinggi. yaitu diharapkan dapat ditemukan
pemecahan yang terbaik dalam populasi,
Perlu diingat sebelum algoritma genetika sementara itu pemecahan yang kurang baik
dilakukan, ada dua hal penting yang harus dihilangkan. Survival dalam algoritma
dilakukan yaitu pendefinisian kromosom dan genetika merupakan suatu pewarisan genetik
fungsi fitness atau fungsi obyektif. Dua hal ini yang dijadikan sebagai model metode
juga memegang peranan penting dalam pencarian pada suatu fenomena alam.
algoritma genetika untuk menyelesaikan suatu
masalah. Dalam Gambar 1 digambarkan Istilah dalam algoritma genetika
proses algoritma genetika secara umum.
Dalam ilmu genetika, kromosom terdiri dari
susunan gen-gen. Tiap gen mengandung
nilai atau sifat tertentu yang disebut dengan
Inisialisasi allele, sedangkan posisi gen dalam
Populasi Awal kromosom disebut locus. Satu atau beberapa
kromosom bergabung membentuk paket
genetik yang disebut genotife, interaksi
Evaluasi fitness setiap genotife dengan lingkungannya disebut
individu dalam popu- Kemungkinan fenotif.
lasi Mutasi Dalam algoritma genetika, kromosom
bersesuaian dengan string yang dibentuk dari
Crossover: beberapa karakter. Setiap karakter
LOOP tulis offspring mempunyai posisi (locus) dan mengandung
Generasi dari kombinasi nilai tertentu (allele). Satu atau beberapa
genetik
Tabel 1
Susunan gen ilmu genetika
Tidak Seleksi: se-
Diharap- leksi parent Ilmu Genetika Algoritma Genetika
dari fitness
Kromosom String
Ya Gen Karakter
71
WAHYU NURJAYA
Krom B 1 1 1 1 1 1 0 0 1 0
Tabel 4
Contoh value encoding
Contoh dari masalah: Masalah knapsack Krom A 1.232 5.324 0.455 2.329
(ransel).
Krom B ABFDGJHJHKJKJLKLFSR
Masalah: Ada benda atau sesuatu yang
diberikan nilai dan panjang. Knapsack Krom C (right), (left), (back), (forward)
memberikan kapasitas untuk menyeleksi
benda dan memaksimumkan nilai dari Contoh dari masalah: Pencarian berat
benda pada masalah knapsack, tapi tidak untuk Neural Network.
untuk memperluas kapasitas masalah Masalah: Ada beberapa Neural Network
knapsack. dengan memberikan arsitektur. Mencari
Encoding: Setiap masalah dinyatakan berat untuk input dari deretan Neuron
sebagai bit, jika benda itu sesuai dengan (syaraf) Network untuk mendapatkan
knapsack. output yang diinginkan.
2. Permutation encoding, dalam pengodean Encoding: Nilai real dalam kromosom
jenis ini setiap kromosom adalah suatu mewakili berat yang sama dengan input.
angka yang mempresentasikan suatu 4. Encoding tree, biasanya digunakan untuk
urutan. Pengodean ini hanya berguna menyusun program atau ekspresi dari
untuk masalah ordering, bahkan beberapa genetik programming (pemrograman
korelasi terhadap kromosom harus genetik). Dalam pengodean pohon ini,
dilakukan untuk menjaga konsistensi setiap kromosom dinyatakan sebagai
representasi kromosom setelah proses sebuah pohon dan beberapa objek, seperti
crossover atau mutasi. fungsi atau perintah dalam bahasa
pemrograman. Bahasa pemrograman LISP
Tabel 3 adalah sering digunakan untuk ini, karena
Contoh permutation encoding program dalam bahasa pemrograman LISP
Krom A 8 5 6 7 2 1 3 4 9 diwakili dalam bentuk ini dan dapat
dengan mudah di parse sebagai pohon,
Krom B 1 5 3 2 6 4 7 9 8 juga crossover dan mutasi dapat dilakukan
dengan mudah secara relatif.
Contoh dari masalah: Masalah
72
ANALISIS PROSES WORD MATCHING PROBLEM
Operator genetika
* /
Algoritma genetika mempunyai 3 operator
yang sederhana, yaitu:
a. Reproduksi, merupakan proses untuk
melakukan proses dimana string dengan
nilai bobot besar sebagai solusi yang baik
5 y berkorespondensi dengan sejumlah besar
salinannya pada populasi baru. Dengan
sekumpulan string yang dipilih, kemudian
Kromosom B menungguaksi yang dilakukan dua
operator lainnya yang ditentukan dengan
Do Until percepatan Bernauli.
b. Crossover, merupakan proses untuk
melakukan penukaran informasi,
tumpukan string (kromosom) dengan
keputusan probabilistik. Crossover ini
Wall memberikan sebuah mekanisme pada
Step
kumpulan string untuk bercampur dan
mencocokan kualitas yang diinginkan
(Do Until Step Wall) melelui proses random, sedangkan hasil
kumpulan stringnya disebut offspring
Gambar 2
Kromosom dengan pengkodean pohon Tabel 5
Contoh dari masalah: Pencarian fungsi Contoh value encoding
dari nilai yang diberikan.
Krom A 10111 00100110110
Masalah: Beberapa nilai input dan output
diberikan. Tuganya untuk menemukan Krom B 11011 11000011110
fungsi dimana akan memberikan output
yang terbaik (penutup yang diinginkan) Offspring A 11011 11000011110
untuk semua input. Offspring B 11011 00100110110
Encoding: Kromosom adalah fungsi yang
diwakilkan dalam sebuah pohon.
5. Pengkodean banyak parameter, ruang c. Mutasi, meningkatkan kemampuan
masalah dilakukan untuk membuat algoritma genetika untuk mendapatkan
himpunan parameter solusi menjadi solusi yang mendekati secara optimum.
deretan bit string yang terbatas. Mutasi secara tiba-tiba mengubah sebuah
Pengkodean parameter (Goldberd. nilai suatu posisi bit string tertentu. Hal ini
1989:82) dilakukan pada suatu alphabet, dapat menjamin dari kehilangan secara
dimana alphabet menyatakan jumlah permanen setiap bit sederhana. Suatu
kemungkinan tiap gen. Holland telah generasi mungkin diciptakan tanpa suatu
menunjukan bahwa alphabet biner telah karakter tertentu pada suatu posisi bit pada
optimal dalam berbagai masalah string. Seperti yang dilakukan pada
73
WAHYU NURJAYA
74
ANALISIS PROSES WORD MATCHING PROBLEM
Populasi size (panjang populasi) merupakan Tujuan utama penggunaan flowchart adalah
kumpulan kromosom dalam populasi (dalam untuk menggambarkan suatu tahapan
satu generasi). Jika ada beberapa kromosom, penyelesaian masalah secara sederhana.
algoritma genetika memiliki beberapa
kemungkinan untuk melakukan croosover Pengurutan straight insertion
dan hanya bagian kecil dari jarak pencarian
yang diperiksa. Di sisi lain, bila ada banyak Pengurutan straight insertion (penyisipan
kromosom, algoritma genetika akan lambat langsung) merupakan metode pengurutan
turun. Dengan memperlihatkan penelitian dengan cara menyisipkan elemen array pada
menurut beberapa batas (di mana sebagian posisi yang tepat.
besar tergantung pada pengodean dan
masalah). Itu tidak akan bermanfaat untuk Aplikasi yang digunakan
meningkatkan panjang populasi, karena itu
tidak akan menemukan kecepatan masalah. Aplikasi yang digunakan dalam
pengimplementasian adalah bahasa pascal
Perbedaan algoritma genetika dengan 7 . 0 , b a h a s a i n i s e l a i n mu d a h
algoritma pencarian lainnya pengaplikasiannya dan termasuk kedalam
bahasa tingkat tinggi yang terstruktur.
Perbedaan algoritma genetika dengan
algoritma pencarian lainnya, antara lain WORD MATCHING PROBLEM
(Goldberg. 1989:7):
1. Algoritma genetika mempertimbangkan Dasar Word Matching Problem
banyak solusi dalam ruang pencarian
secara simultan, pencarian dengan Word matching problem mencoba untuk
mempertimbangkan banyak solusi akan meningkatkan kecocokan kata yang dibentuk
mempersempit kesempatan konvergen oleh huruf (ekspresi) yang diinginkan user,
(yang memusat) pada satu solusi tunggal contoh seperti yang diberikan oleh Richard
mempertimbangkan pada beberapa aturan Dawkins yaitu ekspresi “tobeornottobe“ dari
keputusan. daftar huruf (letter) yang digenerasikan
2. Algoritma genetika secara langsung secara acak (random) dengan menggunakan
bekerja dengan string (penulis algoritma genetika. Ada dua kemungkinan
menggunakan ASCII lower case) yang untuk tiap posisi dalam daftar (jumlah posisi
mempresentasikan kumpulan parameter. pada kata di atas adalah 13), kemungkinan
3. Algoritma genetika menggunakan yang kita punya pada kata yang cocok
keputusan probabilistik (non dengan cara pengacakan secara alami yaitu
deterministik) untuk menentukan (1/26)13 = 4,03038 x 10-19 yaitu sekitar 2
75
WAHYU NURJAYA
Mulai
x[i] ! random(122)
Tidak
Perbaikan
(Masalah Khusus) if x[i] > 96 than
Ya
Selesai Selesai
Gambar 4 Gambar 5
Ruang penelusuran algoritma genetika Flowchart pengkodean
76
ANALISIS PROSES WORD MATCHING PROBLEM
P4.[k w c j k f n u m i u f m]
Mengodekan solusi dari masalah ke dalam P5.[k i b y b t w a p y m y h]
kromosom adalah kunci issue untuk P6.[p m p v x b t y a u j k q]
algoritma genetika. Pada kerja Holland, P7.[j h w d c a j a h o b k i]
P8.[c u m k v c d h m m c n j]
pengodean dilaksanakan menggunakan P9.[o y p v o q w v d y i d i]
string kode biner. Untuk kebanyakan P10.[v b r s h v y m d f k d i]
aplikasi algoritma genetika, terutama untuk
masalah dari dunia rekayasa industri, Setelah di decode ke dalam bentuk karakter,
algoritma genetika sulit diaplikasikan secara kemudian dilakukan penghitungan evaluasi.
langsung karena string biner bukanlah Fitness dihitung sebagai bilangan dari huruf
pengodean secara alami. Selama 10 tahun yang cocok.
terakhir, berbagai macam teknik pengodean
nonstring telah dibuat untuk masalah “Only mutation is used which results in a
tertentu, contoh pengodean bilangan real change to given letter with a given
untuk membatasi masalah optimasi dan probability“ (Freeman:143).
pengodean integer untuk masalah kombinasi.
“Hanya mutasi yang digunakan yang
Inisialisasi Populasi Awal menghasilkan suatu perubahan huruf menuju
huruf yang ditentukan dengan kemungkinan
Inisialisasi populasi awal adalah (probability) yang ditentukan“.
membangkitkan populasi awal yang akan
menjadi induk bagi keturunan generasi Sebelum dilakukan perhitungan evaluasi
selanjutnya. Pembangkitan populasi awal ini terlebih dahulu harus diketahui fungsi
dilakukan secara random dengan ruang kecocokan fitness (fungsi objektif / tujuan).
lingkup yang dibatasi pada bilangan ASCII Ini akan dijelaskan pada sub bab berikutnya.
lower case.
Solusi Menemukan Fungsi Kecocokan
Langkah pertama generasikan 10 inisialisasi Fitness
populasi secara random, misalkan sebagai
berikut: Fungsi kecocokan fitness (fungsi objektif /
P1.[105 102 111 102 100 106 119 108 100 116 121 107 116] tujuan) adalah fungsi yang digunakan untuk
P2.[120 111 105 107 117 97 98 99 99 102 110 107 112]
P3.[102 113 115 120 105 110 109 103 112 108 98 113 121]
menentukan hasil analisis proses word
P4.[107 119 99 106 107 102 110 117 109 105 117 102 109] matching problem menggunakan algoritma
P5.[107 105 98 121 98 116 119 97 112 121 109 121 104] genetika. Tanpa adanya fungsi kecocokan
P6.[112 109 112 118 120 98 116 121 97 117 106 107 113]
P7.[106 104 119 100 99 97 106 97 104 111 98 107 105] fitness pencarian solusi nilai fitness terbaik
P8.[99 117 109 107 118 99 100 104 109 109 99 110 106] tidak akan didapatkan.
P9.[111 121 112 118 111 113 119 118 100 121 105 100 105]
P10.[118 98 144 115 104 118 121 109 100 102 107 100 105]
Untuk setiap masalah dalam algoritma
Langkah selanjutnya setelah mendapatkan genetika memiliki fungsi fitness yang
string integer, dilakukan decoding dari string berbeda-beda. Di sini ada dua cara untuk
integer menjadi karakter yaitu dengan cara menemukan fungsi kecocokan fitness yaitu
pemanggilan fungsi char yang telah tersedia menggunakan selisih string integer dan
dalam bahasa pemrograman pascal. Bentuk menggunakan perbandingan karakter lower
umum sebagai berikut: case.
s:=chr(bilangan integer);
Menggunakan selisih string integer
Dari 10 populasi diatas kemudian decode
menjadi 10 populasi char: Setelah dilakukan penelitian terhadap data
P1.[i f o f d j w l d t y k t]
P2.[x o i k u a b c c f n k p]
yang ada maka penulis menemukan
P3.[f q s x i n m g p l b q y] bagaimana caranya mendapatkan sebuah
77
WAHYU NURJAYA
fungsi kecocokan fitness, yaitu dengan Salah satunya adalah dengan proses
menghitung selisih string integer antara pengurangan di mana proses ini
ekspresi dari user dan ekspresi hasil random. menghasilkan suatu nilai tertentu.
Perhatikan gambar 6 berikut ini: 4. Setelah didapatkan suatu nilai hasil
pengurangan kemudian cek apakah nilai
Ekspresi user h a r i ma u tersebut sama dengan 0 atau tidak sama
Konversi
dengan 0.
5. jika nilai sama dengan 0 artinya nilai
fitness ke-j sama dengan 1 dan jika nilai
104 97 114 105 109 97 117
tidak sama dengan 0 artinya nilai fitness
ke-j sama dengan 0, dengan j adalah
Pengurangan indek kromosom.
6. Fitness (Vk) adalah hasil penjumlahan
Hasil random 115 120 105 110 109 103 112
dari seluruh fitness ke-j, dengan k adalah
Hasil
indek populasi.
11 23 9 5 0 6 5
Dari semua asumsi tersebut, penulis menarik
Fitness ke-j 0 0 0 0 1 0 0 sebuah kesimpulan bahwa dengan pencarian
selisih antara ekspresi user dengan ekspresi
Jumlahkan
hasil random bisa menghasilkan fungsi
kecocokan fitness yang dapat dituliskan
Fitness (Vk) dalam rumus matematika sebagai berikut:
1. Harga mutlak
Gambar 6 Eval(Vk) = ƒ(xj,yj) =| xj – yj |,
Proses pencarian fitness menggunakan k=1,2,...,popsize, j=1,2,...,lkrom
selisih string integer 2. Harga biasa
Eval(Vk) = ƒ(xj,yj) =( xj – yj ),
Keterangan Gambar 6: k=1,2,...,popsize, j=1,2,...,lkrom
1. Ekspresi user adalah nilai berupa karakter
sebanyak panjang kromosom yang Keterangan:
diharapkan oleh user ketika algoritma Vk=nilai eval / fitness dari populasi k
genetika dijalankan. Selain itu ekspresi xj=variabel yang mewakili ekspresi user
user ini berfungsi sebagai objek yang untuk setiap gen ke-j
akan menentukan hasil nilai fitness. yj=variabel yang mewakili ekspresi hasil
Karena ekspresi user ini berupa karakter random untuk setiap gen ke-j
sedangkan hasil random adalah string
integer, maka ekspresi user harus Menggunakan perbandingan karakter lower
dikonversikan ke string integer. Setelah case
dikonversikan maka masuk ke tahap
berikutnya. Pada perinsipnya sama dengan pencarian
2. Populasi hasil random, karena populasi fungsi kecocokan fitness menggunakan
random ini berupa string integer, maka selisih string integer. Namun pada
tidak perlu dikonversikan lagi. penerapannya berbeda jika menggunakan
3. Setelah menghasilkan 2 buah bentuk selisih string integer dapat diterapkan dalam
ekspresi yang sama baik dari user rumus matematika, maka untuk
maupun dari hasil random yaitu string perbandingan karakter lower case hanya bisa
integer, maka selanjutnya data tersebut diterapkan menggunakan statemen-statemen
harus dibagaimanakan sehingga akan tertentu yang disediakan oleh suatu aplikasi.
terpenuhi suatu fungsi kecocokan fitness. Misalkan penulis mengambil aplikasi bahasa
78
ANALISIS PROSES WORD MATCHING PROBLEM
Konversi
dengan 1 dan jika hasil perbandingan
sama dengan salah (false) artinya nilai
fitness ke-j sama dengan 0, dengan j
s x i nmg p adalah indek kromosom.
If krom[j] = huruf[j] Then
Bandingkan 6. Fitness (Vk) adalah hasil penjumlahan
dari seluruh fitness ke-j, dengan k adalah
Ekspresi user h a r i ma u indek populasi.
Hasil
f f f f t f f Solusi Mendapatkan Nilai Fitness Yang
Diharapkan Oleh User
Fitness ke-j 0 0 0 0 1 0 0
Untuk mendapatkan solusi yang terbaik yang
Jumlahkan diharapkan oleh user, penulis membatasi
ruang lingkup kerja program algoritma
1 Fitness (Vk) genetika yaitu sebagai berikut:
1. Maksimal populasi yang boleh diambil
Gambar 7 adalah 100 populasi.
Proses pencarian fitness menggunakan 2. Maksimal panjang kromosom yang boleh
perbandingan karakter digunakan adalah 20.
3. Maksimal generasi tidak dibatas, karena
Keterangan gambar 7: disesuaikan dengan kondisi dimana akan
1. Ekspresi user adalah nilai berupa karakter terdapat nilai konvergen atau nilai fitness
sebanyak panjang kromosom yang tertinggi pada setiap generasinya.
diharapkan oleh user ketika algoritma 4. Evaluasi menggunakan fungsi kecocokan
genetika dijalankan. Selain itu ekspresi fitness berdasarkan selisih string integer
user ini berfungsi sebagai objek yang dari ekspresi user dan hasil random.
akan menentukan hasil nilai fitness. 5. Seleksi menggunakan metode roullette
Karena proses pencarian nilai fitness wheel.
menggunakan perbandingan karakter, 6. Mutasi dilakukan berdasarkan nilai
maka ekspresi user tidak perlu di decode probability mutasinya (pm), huruf yang
ke bentuk string integer. digunakan untuk penukaran gen yang
2. Populasi hasil random, karena populasi hendak dimutasi dibatasi hanya
random ini berupa string integer, maka menggunakan huruf ekspresi user
untuk proses pencarian nilai fitness sepanjang lkrom (panjang kromosom).
menggunakan perbandingan karakterhasil Ini dikarenakan semakin besar range
random berupa string integer harus suatu daerah solusi untuk memutasi suatu
dikonversikan ke dalam bentuk karakter. gen, maka kemungkinan untuk cocok
3. Setelah menghasilkan 2 buah bentuk akan memakan waktu cukup lama.
ekspresi yang sama baik dari user
maupun dari hasil random yaitu karakter,
maka selanjutnya data tersebut
79
WAHYU NURJAYA
80
ANALISIS PROSES WORD MATCHING PROBLEM
Max Gen
No Uji
Pop Size
Lkrom
generasi ke-
Konvergen pd
4. Lakukan perubahan dengan nilai random Huruf
dari ruang lingkup yang telah ditentukan.
Lkrom
Max Gen
Masukan Pm
Pop Size
generasi
gen pd
Konver-
keseluruhan gen pada suatu populasi akan Huruf
dikenai mutasi. Semakin besar nilai
parameter probability mutasi (pm), maka
1 10 5 semut 300 0.01 44
semakin besar pula kemungkinan gen 2 10 7 harimau 300 0.01 123
terkena mutasi dalam setiap generasinya. 3 10 8 belalang 300 0.01 126
Semakin banyak gen yang terkena mutasi 4 10 13 tobeornottobe 300 0.01 288
maka semakin cepat mencapai nilai 5 20 5 semut 300 0.01 70
konvergen atau nilai fitness tertinggi yang 6 20 7 harimau 300 0.01 58
diharapkan user. 7 20 8 belalang 300 0.01 54
8 20 13 tobeornottobe 300 0.01 226
ANALISIS HASIL PENELITIAN 9 30 5 semut 300 0.01 40
10 30 7 harimau 300 0.01 68
11 30 8 belalang 300 0.01 86
Kesimpulan dari Tabel 7
12 30 13 tobeornottobe 300 0.01 91
13 40 5 semut 300 0.01 24
Pada tabel 7 parameter yang diset tetap 14 40 7 harimau 300 0.01 54
adalah: 15 40 8 belalang 300 0.01 119
16 40 13 tobeornottobe 300 0.01 98
81
WAHYU NURJAYA
Tabel 9 Tabel 10
Hasil penelitian dengan mengubah-ubah Hasil penelitian dengan mengubah-ubah
nilai lkrom (panjang kromosom) nilai maxgen (maksimal generasi)
No Uji
Lkrom Masukan
Max Gen
Pm Masukan Pm
Pop Size
generasi
gen pd
Konver-
No Uji
Lkrom
Max Gen
Huruf Huruf
Pop Size
generasi
gen pd
Konver-
1 10 5 semut 300 0.01 44 1 10 4 babi 300 0.01 127
2 10 5 bebek 300 0.01 44 2 10 4 babi 500 0.01 127
3 10 5 buaya 300 0.01 44 3 10 4 ikan 300 0.01 83
4 10 5 jeruk 300 0.01 44 4 10 4 ikan 500 0.01 83
5 10 5 nanas 300 0.01 44 5 10 5 semut 300 0.01 44
6 10 8 belelang 300 0.01 126 6 10 5 semut 500 0.01 44
7 10 8 kupukupu 300 0.01 126 7 10 5 bebek 300 0.01 44
8 10 8 kurakura 300 0.01 126 8 10 5 bebek 500 0.01 44
9 10 8 gulagula 300 0.01 126 9 10 7 harimau 300 0.01 123
10 10 8 biribiri 300 0.01 126 10 10 7 harimau 500 0.01 123
11 50 5 semut 300 0.01 35 11 10 7 srigala 300 0.01 61
12 50 5 bebek 300 0.01 32 12 10 7 srigala 500 0.01 61
13 50 5 buaya 300 0.01 60 13 10 13 tobeornottobe 300 0.01 288
14 50 5 jeruk 300 0.01 37 14 10 13 tobeornottobe 500 0.01 288
15 50 5 nanas 300 0.01 39 15 10 13 nurjayacahaya 300 0.01 178
16 50 8 belelang 300 0.01 56 16 10 13 nurjayacahaya 500 0.01 178
17 50 8 kupukupu 300 0.01 61 17 50 4 babi 300 0.01 42
18 50 8 kurakura 300 0.01 57 18 50 4 babi 500 0.01 42
19 50 8 gulagula 300 0.01 50 19 50 4 ikan 300 0.01 30
20 50 8 biribiri 300 0.01 91 20 50 4 ikan 500 0.01 30
21 50 5 semut 300 0.01 35
Panjang kromosom (lkrom) = 13 22 50 5 semut 500 0.01 35
Masukan huruf = 23 50 5 bebek 300 0.01 32
24 50 5 bebek 500 0.01 32
“tobeornottobe“ 25 50 7 harimau 300 0.01 47
Maksimal generasi = 300 26 50 7 harimau 500 0.01 47
Probability mutasi = 0.01 27 50 7 srigala 300 0.01 52
28 50 7 srigala 500 0.01 52
29 50 13 tobeornottobe 300 0.01 138
Penulis mencoba mengubah-ubah nilai 30 50 13 tobeornottobe 500 0.01 138
popsize untuk mengetahui pengaruh dari 31 50 13 nurjayacahaya 300 0.01 81
popsize dalam mencari nilai konvergen atau 32 50 13 nurjayacahaya 500 0.01 81
82
ANALISIS PROSES WORD MATCHING PROBLEM
Tabel 1 Hasil penelitian dengan mengubah-ubah nilai probability mutasi (pm)
No Uji Pop size Lkrom Masukan Huruf Max Pm Konvergen
Gen pada
Generasi
1 10 4 babi 300 0.01 127
2 10 4 babi 300 0.25 8
3 10 4 babi 300 0.50 5
4 10 4 babi 300 0.75 3
5 10 4 ikan 300 0.01 83
6 10 4 ikan 300 0.25 9
7 10 4 ikan 300 0.50 7
8 10 4 ikan 300 0.75 4
9 10 5 semut 300 0.01 44
10 10 5 semut 300 0.25 7
11 10 5 semut 300 0.50 5
12 10 5 semut 300 0.75 5
13 10 5 bebek 300 0.01 44
14 10 5 bebek 300 0.25 7
15 10 5 bebek 300 0.50 5
16 10 5 bebek 300 0.75 5
17 10 7 harimau 300 0.01 123
18 10 7 harimau 300 0.25 11
19 10 7 harimau 300 0.50 8
20 10 7 harimau 300 0.75 6
21 10 7 srigala 300 0.01 61
22 10 7 srigala 300 0.25 11
23 10 7 srigala 300 0.50 8
24 10 7 srigala 300 0.75 5
25 10 13 tobeornottobe 300 0.01 288
26 10 13 tobeornottobe 300 0.25 20
27 10 13 tobeornottobe 300 0.50 9
28 10 13 tobeornottobe 300 0.75 5
29 10 13 nurjayacahaya 300 0.01 178
30 10 13 nurjayacahaya 300 0.25 20
31 10 13 nurjayacahaya 300 0.50 12
32 10 13 nurjayacahaya 300 0.75 5
33 50 4 babi 300 0.01 42
34 50 4 babi 300 0.25 10
35 50 4 babi 300 0.50 7
36 50 4 babi 300 0.75 5
37 50 4 ikan 300 0.01 30
38 50 4 ikan 300 0.25 10
39 50 4 ikan 300 0.50 7
40 50 4 ikan 300 0.75 7
41 50 5 semut 300 0.01 35
42 50 5 semut 300 0.25 13
43 50 5 semut 300 0.50 11
44 50 5 semut 300 0.75 4
45 50 5 bebek 300 0.01 32
46 50 5 bebek 300 0.25 14
47 50 5 bebek 300 0.50 9
48 50 5 bebek 300 0.75 6
49 50 7 harimau 300 0.01 47
50 50 7 harimau 300 0.25 16
51 50 7 harimau 300 0.50 9
52 50 7 harimau 300 0.75 5
53 50 7 srigala 300 0.01 52
54 50 7 srigala 300 0.25 14
55 50 7 srigala 300 0.50 11
56 50 7 srigala 300 0.75 6
57 50 13 tobeornottobe 300 0.01 138
58 50 13 tobeornottobe 300 0.25 20
59 50 13 tobeornottobe 300 0.50 8
60 50 13 tobeornottobe 300 0.75 6
61 50 13 nurjayacahaya 300 0.01 81
62 50 13 nurjayacahaya 300 0.25 19
63 50 13 nurjayacahaya 300 0.50 8
64 50 13 nurjayacahaya 300 0.75 7
83
WAHYU NURJAYA
84
ANALISIS PROSES WORD MATCHING PROBLEM
berpengaruh dalam cepat atau lambat 3. pm = 0.50, diharapkan 50% dalam tiap
mendapatkan nilai konvergen. generasi terkena mutasi.
3. Untuk popsize 50 dengan lkrom 5 dengan 4. pm = 0.75, diharapkan 75% dalam tiap
masukan generasi terkena mutasi.
huruf:’semut’,’bebek’,’buaya’,’jeruk’,dan
’nanas’. Dari 100% data dihasilkan nilai Dari 64 kali percobaan (realnya 96 kali) dapat
konvergen bervariasi jadi dapat ditarik kesimpulan bahwa semakin besar nilai
disimpulkan masukan huruf berpengaruh probability mutation maka akan semakin
dalam pencapaian niali konvergen. cepat untuk mendapatkan nilai konvergen,
4. Untuk popsize 50 dengan lkrom 8 dengan sebaliknya jika nilai probability mutation
masukan semakin kecil maka untuk mendapatkan nilai
huruf:’belalang’,’kupukupu’,kurakura’,’gu konvergen akan semakin lama.
lagula’, dan ’biribiri’. Dari 100% data
dihasilkan nilai konvergen bervariasi jadi KESIMPULAN DAN SARAN
dapat disimpulkan masukan huruf
berpengaruh dalam pencapaian niali Kesimpulan
konvergen.
Dari analisis hasil penelitian dan data yang
Berdasarkan 4 asumsi (realnya 8 asumsi) di ada penulis mengambil beberapa kesimpulan
atas maka ditarik kesimpulan bahwa masukan yaitu:
huruf berpengaruh terhadap kecepatan 1. Fungsi kecocokan fitness didapatkan
pencapaian nilai konvergen. dengan cara menggunakan selisih string
integer antara ekspresi user dengan
Kesimpulan dari Tabel 10 ekspresi hasil random.
2. Eksperimen Richard Dawkins lebih mudah
Pada Tabel 10 penulis mencoba mengubah- untuk dipahami dan dipelajari dengan
ubah nilai maxgen (maksimal generasi) untuk menggunakan algoritma genetika.
mengetahui pengaruh dari maxgen dalam 3. Semakin besar nilai fitness yang
mencari nilai konvergen. didapatkan dari proses algoritma genetika
maka semakin cepat untuk mencapai nilai
Dari 32 kali percobaan (realnya 48 kali) dapat konvergen.
ditarik kesimpulan bahwa maxgen tidak 4. Besar atau kecil jumlah popsize tidak
berpengaruh terhadap naik atau turunnya nilai berpengaruh dalam cepat atau lambatnya
konvergen. Ini disebabkan jika nilai mendapatkan nilai konvergen (kesimpulan
konvergen telah didapatkan pada generasi ke Tabel 7).
300 maka untuk generasi berikutnya pasti 5. Semakin besar panjang kromosom (lkrom)
telah konvergen. maka semakin lama nilai konvergen
didapatkan (kesimpulan Tabel 8)
Kesimpulan dari Tabel 11 6. Masukan word (huruf) berpengaruh dalam
mendapatkan nilai konvergen, jika
Pada Tabel 11 penulis mencoba mengubah- ekspresi word yang diharapkan oleh user
ubah nilai probability mutation (kemungkinan berbeda-beda maka nilai konvergen
mutasi (pm)) untuk mengetahui pengaruh dari didapatkan pada generasi yang berbeda
pm dalam mencari nilai konvergen. pula (kesimpulan Tabel 9).
Parameter pm diset sebagai berikut: 7. Maxgen (maksimal generasi) tidak
1. pm = 0.01, diharapkan 1% dalam tiap berpengaruh terhadap nilai konvergen,
generasi terkena mutasi. karena jika nilai konvergen didapatkan
2. pm = 0.25, diharapkan 25% dalam tiap pada generasi ke 300 maka untuk generasi
generasi terkena mutasi.
85
WAHYU NURJAYA
86