You are on page 1of 18

Majalah Ilmiah Unikom, Vol.6, hlm.

69-86PROSES
ANALISIS WORD MATCHING PROBLEM

Bidang Teknik

ANALISIS PROSES WORD MATCHING PROBLEM


MENGGUNAKAN ALGORITMA GENETIKA
WAHYU NURJAYA

Jurusan Manajemen Informatika


Universitas Komputer Indonesia

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.

Word matching problem, algoritma genetika.

PENDAHULUAN Blind Watchmaker, berisi perbedaan ilustrasi


philosophical antara teori seleksi alam dan
Metode algoritma genetika diinspirasikan dan teori randomness.
berdasarkan pada proses evolusi yang terjadi
pada makhluk hidup. Proses evolusi ini Richard Dawkins mencoba untuk
bertujuan untuk menghasilkan keturunan yang menuangkan teori evolusi pada populasi kera
lebih baik. Sering kali masyarakat berusaha sebagai bahan eksperimennya. Sepuluh ekor
untuk menyangkal adanya kenyataan dasar kera diambil dari populasinya sebagai sample,
pada teori evolusi yang terkadang masing-masing kera diberikan sehelai kertas
menghasilkan penyelesaian sangat rumit. dan sebuah mesin tik kemudian mereka
Usaha masyarakat ini biasanya dituangkan dibiarkan untuk menulis huruf-huruf sebanyak
dalam berbagai bentuk misalnya intisari dan 13 tipe huruf lower-case pada kertas tersebut
pembuktian-pembuktian empiris. Sebagai menggunakan mesin tik secara acak. Dari
contoh Richard Dawkins dalam bukunya The sepuluh ekor kera akan terbentuk sepuluh
Alamat korespondensi pada Wahyu Nurjaya, Jurusan Teknik Arsitektur Universitas Komputer Indonesia, Jalan Dipati
Ukur 114, Bandung 40132.

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.

LANDASAN TORI Struktur umum dari suatu algoritma genetika


dapat didefinisikan dengan langkah-langkah
Algoritma Genetika sebagai berikut:
1. Membangkitkan populasi awal, populasi
Algoritma genetika adalah suatu algoritma awal ini dibangkitkan secara random
pencarian data dan optimasi yang bersifat sehingga didapatkan solusi awal.
stokastik atau bekerja berdasarkan random, Populasi itu sendiri terdiri dari sejumlah
berbasis pada proses mekanika alamiah di kromosom yang mempresentasikan solusi
mana sifat-sifat suatu spesies sangat yang diinginkan.
bergantung pada gen-gen dan susunannya. 2. Membentuk generasi baru, dalam
Algoritma genetika sangat tepat digunakan membentuk generasi baru digunakan tiga
untuk penyelesaian masalah optimasi yang operator yaitu reproduksi/seleksi,
kompleks dan sukar diselesaikan dengan crossover dan mutasi.
menggunakan metode yang konvensional. 3. Evaluasi solusi, proses ini akan
Sebagai contoh yaitu pencarian nilai tertentu mengevaluasi setiap populasi dengan
dari suatu fungsi atau sistem dan optimasi menghitung nilai fitness setiap kromosom
(pencarian nilai optimal) dari suatu fungsi dan mengevaluasinya sampai terpenuhi
atau sistem, seperti halnya pada word matcing kriteria berhenti. Apabila kriteria berhenti

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

Selesai Allele Nilai Karakter


Loccus Posisi dalam Individu
Genotif Struktur
Gambar 1
Proses Algoritma Genetika Fenotif Parameter

71
WAHYU NURJAYA

karakter akan bergabung membentuk struktur Travelling Salesman (TSP).


(genotif). Bila struktur tersebut dikodekan, Masalah: Ada beberapa kota dan
akan diperoleh satu titik yang merupakan diberikan jarak di antaranya kemudian
salah satu alternatif solusi (fenotif). trevelling salesman mengunjungi semua
kota tersebut, tapi dia tidak melakukan
Pengodean kromosom perjalanan yang sangat banyak itu . cukup
dengan menemukan urutan dari kota-kota
Ada beberapa macam pengodean dalam tersebut untuk memperkecil jarak
algoritma genetika, yaitu sebagai berikut: perjalanan.
1. Binary encoding, pengodean yang paling Encoding: Kromosom dinyatakan sebagai
sering digunakan untuk bekerja dalam urutan kota-kota, di mana salesman akan
algoritma genetika, dengan setiap mengunjunginya.
kromosom terdiri dari bit 0 dan 1. 3. Value encoding, dalam pengodean ini
setiap kromosom adalah string dari suatu
Tabel 2 nilai. Nilai dapat berupa apapun yang
Contoh binary encoding berhubungan dengan masalah, seperti
Krom A 1 0 1 1 0 0 1 0 1 0 bilangan bulat, desimal atau karakter.

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

Kromosom A pengkodean bukan alphabet biner


tergantung pada aplikasi dimana algoritma
genetika diterapkan. Pengkodean
+
parameter pada alphabet biner dibatasi
hanya 1 dan 0.

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

crossover, mutasi juga melakukan


Grafik nilai fitness
pembagian pada bagian kromosom. Ini 10%
dilakukan untuk mencegah penurunan 20% 40%
semua solusi dalam populasi menjadi
optimum lokal dari pemecahan masalah. 30%
Mutasi mengubah secara random offspring Kromosom 1 Kromosom 2
baru. Untuk pengkodean dapat merubah Kromosom 3 Kromosom 4
sebagian kecil secara random memilih bit
dari 1 ke 0 atau dari 0 ke 1.
Gambar 3
Tabel 5 Proses seleksi roullette wheel
Contoh sederhana proses dalam mutasi
Original Offspring 1 1101110000111100 Dengan melihat gambar tersebut kromosom
dengan nilai fitness paling tinggi waktu
Original Offspring 2 1101100100110110 penyelesaiannya akan lebih lama
Mutated Offspring 1
dibandingkan dengan kromosom lainnya.
1100111000011110
Mutated Offspring 2 1101101100110110 Parameter

Strategi seleksi Parameter digunakan dalam algoritma


genetika untuk memberikan suatu probabilitas
Algoritma genetika menyediakan fasilitas yang berupa persentase. Parameter yang
seleksi, di mana kromosom diseleksi dari terdapat pada algoritma genetika ini (http://
populasi pada crossover parent. Dengan cs.felk.cvut.cz/~xobitko/ga/), yaitu
menyesuaikan teori evolusi Darwin yang satu probabilitas crossover, probabilitas mutasi
terbaik harus dipertahankan dan membuat dan ukuran populasi.
offspring baru. Ada beberapa metode
bagaimana menyeleksi kromosom yang Probabilitas crossover merupakan persentase
terbaik yaitu diantaranya dengan roullette dari seringnya melakukan crossover. Jika
wheel (Goldberg. 1989), seleksi tournament tidak ada crossover, offspring (turunan) pasti
(Michlewicz. 1992), seleksi rank meniru dari parent (induk). Jika ada
(Michlewicz. 1992), seleksi seteady state crossover, offspring dibuat dari bagian
(http://cs.felk.cvut.cz/~xobitko/ga/), seleksi kromosom parent. Jika kemungkinan
elitism (Goldberg. 1989) dan sebagainya. crossover 100%, maka semua offspring dibuat
oleh crossover. Jika 0%, generasi baru secara
Dalam analisis proses word matching problem lengkap dibuat dengan meniru kromosom dari
menggunakan algoritma genetika penulis populasi lama.
menggunakan seleksi roullette wheel
(Goldberg. 1989). Crossover dibuat dengan harapan kromosom
baru akan memiliki bagian yang baik dari
Seleksi roullette wheel dilakukan dengan cara kromosom lama dan barangkali kromosom
parent diseleksi untuk mempertahankan nilai baru akan lebih baik. Bagaimanapun itu baik
fitness-nya. Kromosom yang terbaik adalah untuk mewariskan beberapa bagian dari
mempunyai kesempatan untuk diseleksi. populasi untuk mempertahankan generasi
Bayangkan sebuah permainan roda (roullette selanjutnya.
wheel), di mana semua kromosom
ditempatkan dalam populasi, setiap tempat Probabilitas mutasi merupakan bagian dari
besar sesuai dengan fungsi fitness, untuk lebih kromosom yang dimutasikan. Jika tidak ada
jelasnya lihat pada gambar dibawah ini: mutasi, offspring langsung mengambil dari

74
ANALISIS PROSES WORD MATCHING PROBLEM

crossover (atau meniru) dengan tidak pencariannya, bukan keputusan


mengubah lagi. Jika dilakukan mutasi, deterministik.
bagian kromosom diubah. Jika kemungkinan
mutasi adalah 100%, seluruh kromosom Teori pendukung
diubah dan jika kemungkinan mutasi adalah
0%, tidak ada yang diubah. Mutasi dibuat Flowchart
untuk mencegah penurunan algoritma
genetika ke dalam nilai ekstrem lokal, tapi Flowchart merupakan salah satu alat untuk
ini tidak sering terjadi karena algoritma menggambarkan suatu algoritma agar dapat
genetika akan mengubah fakta dengan dengan mudah diimplementasikan pada
random search. suatu aplikasi.

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

kemungkinan akan keluar dari semilyar Pengodean


(1.000.000.000) kemungkinan.
Pengkodean yang digunakan dalam analisis
Sebelum melangkah lebih lanjut perlu p r o s e s w o r d ma t c h in g p r o b l e m
diingat bahwa proses word matching menggunakan algoritma genetika adalah
problem ini dikembangkan oleh Freeman pengkodean nilai (value encoding). Dalam
yang gagasan dasarnya diuji oleh Richard pengkodean nilai ini setiap kromosom
Dawkins dengan eksperimen pencocokan adalah string dari suatu nilai. Nilai dapat
huruf menggunakan teori evolusi, seperti berupa apapun yang berhubungan dengan
pada bab sebelumnya bahwa Richard masalah, seperti bilangan bulat, desimal, dan
Dawkins mengambil eksperimen untuk karakter.
menyusun huruf membentuk ekspresi
“tobeornottobe“ yaitu menggunakan kera. Penulis menggunakan daftar ASCII integer
Dari kumpulan populasi kera diambil 10 untuk mengkodekan string dari huruf. Huruf
ekor kemudian masing-masing diberikan kecil dalam ASCII diwakili dengan bilangan
kertas dan sebuah mesin tik, mereka pada range [97,122] dalam bilangan desimal.
dibiarkan untuk menulis huruf-huruf lower Sebagai contoh string dari huruf
case, apabila ekspresi yang diharapkan oleh “tobeornottobe“ dikonversikan kedalam
Richard Dawkins belum terpenuhi maka kromosom yang diwakili dengan ASCII
dilakukan eksperimen lagi sampai waktu integer sebagai berikut:
yang tak terbatas. Dari gagasan dasar inilah “tobeornottobe“
Freeman mengembangkan proses word
matching problem menggunakan algoritma Konversikan
genetika dengan ruang penelusuran yang
[116 111 98 101 111 114 110 111 116 111 98 101]
terlihat pada gambar 4.

Mulai

x[i] ! random(122)

Tidak
Perbaikan
(Masalah Khusus) if x[i] > 96 than

Ya

Tidak Pengkodean ke bentuk


Kondisi Akhir char
Chr(x[i])
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

pascal, dalam pascal banyak disediakan dibandingkan (if krom[j] = huruf[j]


statemen-statemen yang mendukung proses Then).
word matching problem. Contoh statemen if, 4. Setelah didapatkan hasil perbandingan
perhatikan gambar berikut ini: kemudian cek apakah hasilnya benar
(true) atau salah (false).
Hasil Random 115 120 105 110 109 103 112 5. jika hasil perbandingan sama dengan
benar (true) artinya nilai fitness ke-j sama

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

Pengembangan Eksperimen Richard Proses seleksi ini bertujuan untuk memilih


Dawkins parent yang hendak di mutasi dan
digenerasikan ke generasi berikutnya.metode
Seperti yang telah dijelaskan pada sub bab yang digunakan adalah metode roullette
sebelumnya Richard Dawkins memiliki wheel.
gagasan mengenai word matching problem, • Hitung nilai fitness eval(vk):
yang kemudian dikembangkan oleh Freeman Eval(vk)=¦(xj,yj)=|xj – yj|,
ke dalam algoritma genetika. Dari k=1,2,...,popsize, j=1,2,...,lkrom
permasalahan ini penulis tertarik untuk ikut Jika ¦(xj,yj)=0 maka Eval(vk)=1, jika ¦
mengembangkan hasil eksperimen Richard (xj,yj)<>0 maka Eval(vk)=0
Dawkins dengan cara semua ekspresi yang • Hitung nilai total fitness dari populasi
diharapkan user dapat dimasukan dengan keseluruhan:
nilai lkrom (panjang kromosom) yang F = k=1Sk=popsize Eval(vk),
diharapkan user. k=1,2,...,popsize
• Hitung kemungkinan seleksi (selection
Selain itu penulis juga tertarik untuk probability) pk setiap kromosom vk:
mempelajari perkembangan algoritma Pk=Eval(vk) / F, k=1,2,...,popsize
genetika yang semakin pesat dan memiliki • Hitung kemungkinan kumulatif
ketangguhan dalam menyelesaikan (cumulative probability):
permasalahan kombinasi yang sangat rumit. qk=j=1Sk pj, k=1,2,...,popsize
• Proses seleksi dimulai dengan memutar
Perhitungan Nilai Fitness roullette wheel sebanyak popsize, setiap
putaran sebuah kromosom akan terseleksi
Perhitungan nilai fitness yang digunakan sebagai kromosom pada populasi yang
penulis dalam menyelesaikan analisis proses baru dengan tahapan sebagai berikut:
word matching problem adalah Bangkitkan nilai random r diantara
menggunakan selisih string integer. selang [0,1].
Tahapan dalam perhitungan nilai fitness Jika r < q1, maka pilih kromosom
adalah sebagai berikut: pertama v1, kalau tidak pilih kromosom
1. Bangkitkan string integer masing-masing ke-k vk(2 < k < popsize) dengan kata lain
populasi (pk). qk-1 < r < qk.
Pk, k = 1,2,...,popsize
2. Hitung nilai fitness dengan cara Mutasi
menentukan kecocokan nilai ekspresi
user dengan nilai hasil random (gambar Metode mutasi yang digunakan hampir sama
3.3), rumus matematika yang digunakan dengan metode mutasi pada string biner
adalah fungsi fitness dengan hasil selisih yaitu metode uniform mutation, bedanya
harga mutlak. dalam string integer nilai yang hendak
Eval(vk)=¦(xj,yj)=|xj – yj|, dimutasikan akan diganti dengan nilai
k=1,2,...,popsize, j=1,2,...,lkrom random dari ruang lingkup yang telah
ditentukan.
Jika ¦(xj,yj)=0 maka Eval(vk)=1, jika ¦ 1Tahapan prosedure mutasinya sebagai
(xj,yj)<>0 maka Eval(vk)=0 berikut:
1. Bangkitkan bilangan random r dalam
Operator Genetika range [0,1] sebanyak jumlah total gen
dalam populasi (panjang kromosom x
Operator Reproduksi (Seleksi) popsize).

80
ANALISIS PROSES WORD MATCHING PROBLEM

2. Jika rk < pm bangkitkan bilangan random Tabel 7


posisi dalam range [1,totalgen]. Hasil penelitian dengan mengubah-ubah
3. Dari bilangan random posisi tentukan nilai popsize(banyak populasi)
nomor kromosom dan nomor gen. Masukan Pm

Max Gen
No Uji

Pop Size

Lkrom

generasi ke-
Konvergen pd
4. Lakukan perubahan dengan nilai random Huruf
dari ruang lingkup yang telah ditentukan.

Tujuan mutasi adalah meningkatkan


1 5 13 tobeornottobe 300 0.01 127
kemampuan algoritma genetika untuk
mendapatkan solusi yang mendekati secara 2 8 13 tobeornottobe 300 0.01 159
optimum. 3 10 13 tobeornottobe 300 0.01 288

4 13 13 tobeornottobe 300 0.01 122


Tabel 6
Proses mutasi 5 16 13 tobeornottobe 300 0.01 95

6 20 13 tobeornottobe 300 0.01 226


Original Offspring 1 ah lgslo mik
7 22 13 tobeornottobe 300 0.01 127
Original Offspring 2 yrwlmkfgdn 8 25 13 tobeornottobe 300 0.01 136

Mutated Offspring 1 ah lgalo mik 9 28 13 tobeornottobe 300 0.01 92

Mutated Offspring 2 yrmlmkfgdn 10 30 13 tobeornottobe 300 0.01 91

11 32 13 tobeornottobe 300 0.01 139


Parameter 12 35 13 tobeornottobe 300 0.01 102

13 38 13 tobeornottobe 300 0.01 173


Parameter-parameter genetika yang
digunakan yaitu probability mutasi (pm) dan 14 40 13 tobeornottobe 300 0.01 98
parameter ukuran populasi (popsize). 15 43 13 tobeornottobe 300 0.01 198

Parameter probability mutasi (pm) yang Tabel 8


akan menentukan banyaknya gen dalam Hasil penelitian dengan mengubah-ubah
suatu populasi yang akan dimutasikan. nilai lkrom(panjang kromosom)
Misalkan pm = 0.01, diharapkan 1% dari
No Uji

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

niali fitness tertinggi.


akan lama didapatkan walaupun N
Dari 15 kali (realnya 30 kali) percobaan populasi awal yang diambil cukup besar.
dapat ditarik kesimpulan bahwa besar atau 3. Apabila N populasi awal ternyata
kecil jumlah popsize tidak berpengaruh memiliki nilai fitness setidaknya 1% dari
dalam cepat atau lambatnya mendapatkan jumlah keseluruhan N populasi awal
nilai konvergen (hasilnya selalu bervariasi). maka nilai konvergen akan cepat
Masalah ini timbul karena dipengaruhi: didapatkan walaupun N populasi awal
1. Pembangkitan populasi awal secara kecil.
random. 4. Disini mutasi sangat berperan, jika N
2. Apabila dibangkitkan N populasi awal populasi awal memiliki 0% nilai fitness,
ternyata dari N populasi awal ini tidak karena hanya mutasilah yang akan
terdapat populasi yang memiliki nilai merubah dari 0% nilai fitness pada
fitness (tidak ada data hasil random yang generasi selanjutnya.
memiliki kecocokan huruf dengan
ekspresi user), maka nilai konvergen

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

Kesimpulan dari Tabel 8:


Berdasarkan 4 asumsi (realnya 10 asumsi)
Pada Tabel 8 parameter yang diset tetap diatas maka ditarik kesimpulan bahwa
adalah: semakin besar lkrom, maka semakin lambat
1. Banyaknya populasi awal diset 10, 20, 30, mendapatkan nilai konvergen.
dan 40. setiap jumlah populasi awal
dilakukan 4 kali percobaan untuk nilai Masalah ini timbul karena kemungkinan
panjang kromosom berubah-ubah, untuk menghasilkan kombinasi suatu ekspresi
sehingga percobaan dilakukan sebanyak 16 sangat lama yaitu (1/26)lkrom . Contoh
kali. ekspresi “tobeornottobe“ memiliki panjang
2. Masukan huruf sesuai dengan panjang kromosom (lkrom) 13, apabila dilakukan
kromosom dan setiap kali populasi awal pengacakan secara alami maka kemungkinan
dinaikkan masukan huruf selalu diset tetap ada huruf cocok (1/26)13 =4,03038 x 10-19
mengikuti panjang kromosom. yaitu sekitar 2 kemungkinan akan keluar dari
3. Maksimal generasi = 300 semilyar (1.000.000.000) kemungkinan.
4. Probability mutasi (pm) = 0.01
Kesimpulan Tabel 9
Penulis mencoba mengubah-ubah nilai lkrom
untuk mengetahui pengaruh dari lkrom dalam Pada tabel 9 parameter yang diset tetap
mencari nilai konvergen. adalah:
1. Banyaknya populasi awal diset 10 dan 50.
Dari 16 kali (realnya 40 kali) percobaan setiap jumlah populasi awal dilakukan 10
ternyata didapatkan: kali percobaan untuk nilai lkrom 5
1. Untuk popsize 10, 100% data dilakukan lima kali percobaan dan begitu
menyimpulkan bahwa semakin besar juga untuk lkrom 8 dilakukan lima kali
panjang lkrom, maka semakin lambat percobaan, sehingga percobaan dilakukan
mendapatkan nilai konvergen. sebanyak 20 kali.
2. Untuk popsize 20, 75% data 2. Panjang kromosom = 5 dan 8
menyimpulkan bahwa semakin besar 3. Maksimal generasi = 300
panjang lkrom, maka semakin lambat 4. Probability mutasi (pm)= 0.01
mendapatkan nilai konvergen. Dan 25%
data menyimpulkan tidak berpengaruh Penulis mencoba mengubah-ubah nilai word
semakin besar atau semakin kecil lkrom untuk mengetahui pengaruh dari word dalam
untuk mendapatkan nilai konvergen mencari nilai konvergen.
(dipengaruhi populasi awal atau masukan
huruf). Dari 20 kali (realnya 40 kali) percobaan
3. Untuk popsize 30, 100% data ternyata didapatkan:
menyimpulkan bahwa semakin besar 1. Untuk popsize 10 dengan lkrom 5 dengan
panjang lkrom, maka semakin lambat masukan
mendapatkan nilai konvergen. huruf:’semut’,’bebek’,’buaya’,’jeruk’,dan
4. Untuk popsize 40, 75% data ’nanas’. Dari 100% data menyimpulkan
menyimpulkan bahwa semakin besar bahwa masukan huruftidak berpengaruh
panjang lkrom, maka semakin lambat dalam cepat atau lambat mendapatkan nilai
mendapatkan nilai konvergen. Dan 25% konvergen.
data menyimpulkan tidak berpengaruh 2. Untuk popsize 10 dengan lkrom 8 dengan
semakin besar atau semakin kecil lkrom masukan
untuk mendapatkan nilai konvergen huruf:’belalang’,’kupukupu’,kurakura’,’gu
(dipengaruhi populasi awal atau masukan lagula’, dan ’biribiri’. Dari 100% data
huruf). menyimpulkan bahwa masukan huruftidak

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

selanjutnya nilai tetap konvergen 4. Algoritma genetika diharapkan dapat


(kesimpulan Tabel 10) dikembangkan lebih lanjut untuk
8. Semakin besar nilai probability mutation permasalahan lainnya.
(kemungkinan mutasi (pm)) maka semakin
cepat nilai konvergen didapatkan, DAFTAR PUSTAKA
sebaliknya semakin kecil nilai probability
mutation maka semakin lama nilai Davis & Lawrence. (1991). Handbook of
konvergen didapatkan (kesimpulan Tabel genetic algorithm. New York: Van
11). Nostrand Reinhold.
Dawkins, R. The blind watchmaker. Addison
Saran Westly.
Freeman, J.A. Simulating Neural Network
Berdasarkan pengamatan dari hasil analisis with Mathematica. Addison Westley.
proses word matching problem menggunakan Goldberg, D.E. (1989). Genetic algorithms in
algoritma genetika, penulis menyampaikan search optimization and machine learning.
beberapa saran sebagai berikut: United State of America: Addison
1. Penggunaan fungsi fitness (fungsi objektif/ Westley.
tujuan) diharapkan menggunakan Insap, S. (1989). Pemrograman Pascal
perumusan secara matematika, sehingga Tingkat Lanjut. Yogyakarta: Andi.
dapat memberikan penyelesaian yang lebih Insap, S. (1997). Struktur Data Menggunakan
akurat dan optimal. Turbo Pascal 6.0. Yogyakarta: Andi.
2. Pemakaian mutasi secara khusus seperti Jogiyanto. (2001). Teori dan aplikasi program
pada kasus word matching problem harus komputer bahasa Turbo Pascal (jilid 1,
memiliki ruang lingkup yang dibatasi, versi 5.0). Yogyakarta: Andi.
sehingga pencapaian nilai konvergen tidak Rinaldi, M. (1998). Algoritma dan
memakan waktu yang cukup lama. Pemrograman (Buku 2). Bandung:
3. Program algoritma genetika yang telah Informatika.
dibuat hendaknya dijalankan berulang- Zbigniew, M. (1996). Genetic algorithms +
ulang untuk mendapatkan perbandingan data structure = evolution programs. New
dari solusi masalah setiap inisialisasi yang York: Springer Verleg.
dibangkitkan.

86

You might also like