You are on page 1of 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/307987436

PENERAPAN ALGORITMA GENETIK PADA PERMAINAN CATUR JAWA

Article · March 2004

CITATION READS

1 651

2 authors, including:

Nico Saputro
Universitas Katolik Parahyangan
46 PUBLICATIONS   358 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Drones-aided Platform for Enabling Next Generation Intelligent Transportation Systems View project

Software Defined Networking-based Moving Target Defense View project

All content following this page was uploaded by Nico Saputro on 12 September 2016.

The user has requested enhancement of the downloaded file.


INTEGRAL, Vol. 9 No. 1, Maret 2004

PENERAPAN ALGORITMA GENETIK


PADA PERMAINAN CATUR JAWA
Nico Saputro dan Erdo Dirgagautama
Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas
Katolik Parahyangan, Bandung
Email : nico@home.unpar.ac.id, dirgagautama@yahoo.com

Abstrak
Pada permainan catur Jawa, ada 7 strategi berdasarkan kondisi papan
permainan yang diusulkan untuk memilih langkah mana yang akan diambil.
Setiap strategi mempunyai bobotnya masing-masing. Algoritma genetik
dipakai untuk mencari bobot setiap strategi tersebut. Algoritma alpha-beta
cutoff dipakai untuk melakukan proses evaluasi dan pemilihan langkah
yang diambil komputer.

Kata kunci : catur jawa, algoritma genetik, algoritma apha-beta cutoff

Abstract
In Jawa Chess game, there are seven proposed strategy based on the board
situation to choosed which way the komputer should moved. Every strategy
has their own weight. Genetic Algoritm is used to search the weight of each
strategy. Alpha Beta Cutoff Algorithm used for certain the computer’s
movement in the game.

Keyword : jawa chess game, genetic algorithm, apha-beta cutoff algorithm

Diterima : 1 Agustus 2003


Disetujui untuk dipublikasikan : 9 September 2003

1. Pendahuluan penurunan biaya perancangan ulang


Algoritma Genetik diciptakan sistem. Biaya perancangan ulang yang
berdasarkan inspirasi dari mekanisme lebih rendah menunjukkan bahwa sistem
seleksi alam dimana individu yang lebih tersebut memiliki daya adaptasi yang
kuat menjadi pemenang dari lingkungan tinggi sehingga sistem ini dapat bertahan
yang berkompetisi. Konsep dasar lebih lama dibandingkan dengan sistem-
Algoritma Genetik relatif mudah sistem lainnya.
dipahami, karena komponen-komponen
pembentuk algoritma ini mencerminkan Permainan Catur Jawa merupakan
kehidupan di alam, seperti contohnya permainan yang sederhana namun
mekanisme seleksi, pindah silang, mengandalkan kecepatan pikiran untuk
mutasi, dan lain-lain. menemukan langkah-langkah taktis agar
dapat mengalahkan lawan. Agar dapat
Algoritma Genetik memiliki sifat kokoh, memenangkan permainan, seorang
memiliki keseimbangan antara efisiensi pemain harus dapat membuat langkah-
dan efektifitas dalam menyelesaikan langkah sebanyak lima petak mendahului
kasus-kasus dari wilayah masalah yang lawan berupa sebuah garis datar
berbeda. Hal ini akan berakibat pada (horisontal), tegak (vertikal) atau miring

17
INTEGRAL, Vol. 9 No. 1, Maret 2004

tanpa terpotong langkah lawan. Proses rekombinasi meliputi proses


Permainan Catur Jawa menitikberatkan genetika untuk memperoleh string baru
pada pencarian langkah yang paling dari pertukaran karakter dari calon-calon
sesuai agar pemain dapat memainkan string yang didapat pada tahap seleksi.
permainan, sehingga Algoritma Genetik String-string pada generasi baru
memiliki peran penting. dihasilkan dengan menggunakan operasi
genetik secara acak pada calon string
2. Konsep Dasar yang terpilih pada tahap seleksi. Proses
2.1. Algoritma Genetik rekombinasi akan menghasilkan string-
Algoritma Genetik memakai mekanisme string baru yang berbeda dibandingkan
seleksi alam dan ilmu genetik sehingga induknya dan dengan demikian diperoleh
istilah-istilah pada Algoritma Genetik domain pencarian yang baru (4).
akan bersesuaian dengan istilah-istilah
pada seleksi alam dan ilmu genetik. Pada Cara kerja Algoritma Genetik sederhana,
ilmu genetik, kromosom terdiri dari hanya mencakup proses penduplikasian
susunan gen-gen. Tiap gen mengandung string-string dan pertukaran bagian-
nilai atau sifat tertentu yang disebut bagian dari string. Meskipun cukup
allele, sedangkan posisi gen dalam sederhana, tetapi mempunyai
kromosom disebut locus. Selanjutnya, kemampuan untuk menyelesaikan
satu atau beberapa kromosom bergabung persoalan optimasi. Kemampuan ini
membentuk paket genetik yang disebut didukung oleh tiga operator genetik,
genotif. Interaksi genotif dengan yaitu reproduksi, pindah silang dan
lingkungannya disebut fenotif (4). mutasi. Pada reproduksi terjadi proses
penduplikasian string berdasarkan nilai
Pada Algoritma Genetik, kromosom fungsi objektifnya. Nilai objektif ini
bersesuaian dengan string yang dibentuk dapat dilihat sebagai suatu keuntungan
dari beberapa karakter. Setiap karakter yang ingin dicapai atau dimaksimalkan.
mempunyai posisi (locus) dan Sementara proses pertukaran bagian-
mengandung nilai tertentu (allele). Satu bagian string dilakukan oleh operator
atau beberapa string akan bergabung pindah silang dan mutasi (4).
membentuk struktur (genotif). Bila
struktur tersebut dikodekan, akan Disamping ketiga operator dasar
diperoleh satu titik yang merupakan salah (reproduksi, pindah silang, dan mutasi),
satu alternatif solusi (fenotif) (4). parameter-parameter genetik (jumlah
populasi, probabilitas pindah silang,
Satu siklus iterasi algoritma genetik probabilitas mutasi, dan lain-lain), serta
(sering disebut sebagai generasi) terdapat asumsi-asumsi yang digunakan dalam
dua proses, yakni proses seleksi dan pemodelannya juga mempunyai peran
rekombinasi. Proses seleksi adalah proses penting.
evaluasi kualitas setiap string didalam
populasi untuk memperoleh peringkat 2.1.1. Representasi Kromosom
calon solusi. Berdasarkan hasil evaluasi, Pada kasus catur jawa, string
dipilih string-string yang akan direpresentasikan dengan menggunakan
mengalami proses rekombinasi. Proses konsep Value Encoding. Pada value
pemilihan biasanya dilakukan secara encoding, karakter (allele) berbentuk
acak, string dengan kualitas yang lebih suatu nilai yang berhubungan dengan
baik akan memiliki peluang lebih besar masalah, misalnya bilangan bulat,
untuk terpilih sebagai calon-calon string desimal atau arah pergerakan.
generasi berikutnya (4).

18
INTEGRAL, Vol. 9 No. 1, Maret 2004

String A 1.224 5.343 0.456 2.293 2.445 akan memiliki bagian dari struktur kedua
String B ABJEIFJDHDHERJDLDLEGT orang tuanya. Ada beberapa jenis pindah
String C (back), (back), (right), (fwd), (left) silang, yaitu One Point Crossover, Multi
Gambar 2.1 Contoh Value Encoding Point Crossover dan Uniform
Crossover(4). Berikut adalah langkah-
Pengkodean ini sangat baik untuk langkah One Point Crossover :
masalah spesifik dan rumit. Namun 1. Pasangkan secara acak string-string
pengkodean ini sering memerlukan baru hasil reproduksi.
operator pindah silang dan mutasi yang 2. Pilih posisi pindah silang (titik
dikembangkan sesuai dengan pindah silang).
karakteristik masalahnya (2). 3. Lakukan pertukaran bagian string
disebelah kiri atau disebelah kanan
2.1.2. Siklus Algoritma Genetik titik pindah silang dengan bagian dari
Siklus secara umum sebagai berikut(4) : string pasangannya yang telah
1. Inisialisasi populasi awal (secara dipartisi dengan cara yang sama.
acak atau berdasarkan kriteria Induk A Abcdef|ghi
tertentu). Induk B Jklmno|pqr
2. Evaluasi nilai fitness setiap string. Anak C Abcdefpqr
3. Reproduksi, diperoleh kumpulan Anak D Jklmnoghi
string baru calon anggota populasi Gambar 2.2 Contoh Single Point
berikutnya. Crossover
4. Pindah silang, dihasilkan string baru
kombinasi dari orang tuanya. Multi Point Crossover sama dengan One
5. Mutasi, dilakukan dengan mengubah Point Crossover, perbedaannya terletak
karakter-karakter dari string secara pada jumlah titik pindah silang.
acak.
6. Ulangi langkah 2-5 sampai 2.1.5 Mutasi
konvergen atau sejumlah iterasi telah Operator mutasi memungkinkan
dilakukan. pencarian dalam sembarang daerah
dalam domain solusi, sehingga peluang
2.1.3 Reproduksi Menggunakan untuk melakukan pencarian pada suatu
Elitism daerah tidak akan pernah nol. Melalui
Secara sederhana, reproduksi merupakan mutasi, string baru dapat diciptakan
proses penyalinan string(4). Setiap string dengan melakukan modifikasi terhadap
pada suatu generasi akan diseleksi satu atau lebih karakter pada string yang
berdasarkan fungsi fitnessnya. Peluang sama(4).
terpilihnya string sebesar nilai fitness
string dibagi jumlah nilai fitness seluruh Proses mutasi suatu string dapat
string dalam populasi. Proses reproduksi dilakukan dengan cara mengubah nilai
yang dipergunakan adalah metode pada sebuah atau beberapa gen secara
Elitism. Metode ini dipilih untuk acak berdasarkan peluang mutasinya.
menjamin agar string terbaik pada Contoh dari proses mutasi dapat dilihat
generasi sekarang terpilih masuk ke pada tabel berikut ini.
generasi berikutnya. Kromosom A 11001011
Hasil Mutasi 11000011
2.1.4 Pindah Silang Gambar 2.3. Contoh Mutasi
Proses pindah silang bertujuan untuk
menambah keanekaragaman string di Kromosom A mengalami mutasi pada
generasi berikutnya berdasarkan string- gen kelima, yakni nilai awal bit 1
string dari generasi saat ini. String baru menjadi 0.

19
INTEGRAL, Vol. 9 No. 1, Maret 2004

2.1.6 Probabilitas Pindah Silang (Pc)


Probabilitas pindah silang
mengendalikan operator pindah silang.
Jika n adalah banyaknya string pada
populasi, sebanyak Pc x n string akan
mengalami pindah silang. Semakin besar
nilai Pc, semakin cepat string baru
muncul dalam populasi. Jika Pc terlalu
besar, string yang merupakan kandidat
solusi terbaik mungkin dapat hilang lebih
cepat pada generasi berikutnya(4).

2.1.7 Probabilitas Mutasi (Pm) Gambar 2.4. Contoh penerapan


Probabilitas mutasi mengendalikan algoritma Alpha-Beta Cutoff
operator mutasi. Di setiap generasi
diperkirakan terjadi mutasi sebanyak Pm Pada Gambar 4, karena pencarian secara
x n x l, l adalah panjang string. Pada depth–first maka setelah mengevaluasi
seleksi alam murni, mutasi jarang sekali sub-tree pertama akan didapat bahwa
muncul sehingga probabilitas mutasi nilai betanya adalah 3. Kemudian saat
yang digunakan umumnya kecil, lebih melakukan pencarian pada sub-tree
kecil daripada probabilitas pindah silang kedua level kedua, nilai node pertama
(4)
. yang ditemui adalah 1, maka cabang atau
node yang lain tidak perlu diperiksa
2.2. Algoritma Alpha-Beta Cutoff sebab level tersebut adalah minimasi dan
Algoritma Alpha Beta Cutoff adalah telah diketahui nilai yang akan dipilih
pengembangan algoritma Minimax. adalah 1 atau lebih kecil dari 1 (nilai
Algoritma ini akan mempercepat tersebut lebih kecil dari nilai beta),
pencarian karena adanya pemotongan sedangkan level di atasnya adalah
cabang jika diketahui cabang tersebut maksimasi sehingga dapat dipastikan
tidak perlu dievaluasi lebih lanjut(1). node dari sub-tree tersebut tidak akan
Proses pencarian secara depth–first, satu terpilih. Cara ini juga diterapkan pada
jalur dievaluasi hingga batas yang sub-tree yang lain.
ditentukan, kemudian setiap node
dievaluasi untuk menghasilkan nilai. Dari Algoritma Minimax dengan Alpha Beta
nilai–nilai tersebut, dapat diterapkan Cutoff adalah sebagai berikut [3]:
teknik branch and bound yaitu dengan Algorithm : MINIMAX-A-B (Position,
menentukan dua buah batas yang disebut Depth,Player,Use-Thresh,Pass-Thresh)
Alpha (batas atas) dan Beta (batas 1. If DEEP-ENOUGH(Position,Depth),
bawah). Jika nilai node pada jalur then return the structure
berikutnya yang akan diperiksa sudah VALUE = STATIC(position,Player);
lebih buruk dari nilai batas maka jalur PATH = nil
tersebut tidak perlu diperiksa lagi 2. Otherwise, generate one more ply of
sehingga waktu yang diperlukan menjadi the tree by calling the function
berkurang (3). MOVE-GEN(Position,Player) and
setting SUCCESSORS to the list it
returns.
3. If SUCCESSORS is empty,there are
no moves to be made; return the
same structure that would have been

20
INTEGRAL, Vol. 9 No. 1, Maret 2004

returned if DEEP-ENOUGH had horizontal. Bedanya, pemain dikatakan


returned TRUE. menang jika berhasil membentuk satu
4. If SUCCESSORS is not empty, then garis lurus tanpa putus sebanyak lima
go through it, examining each kotak.
element and keeping track of the best
one. This is done as follows. Catur Jawa memerlukan papan
For each element SUCC of permainan, dua tanda untuk mewakili
SUCCESSORS: kedua pemain, dan dua pemain. Papan
a) Set RESULT-SUCC to permainan, dapat berbentuk bujur
MINIMAX-A-B(SUCC, sangkar atau persegi panjang, terdiri dari
Depth+1, OPPOSITE(Player), - sekumpulan bujur sangkar kecil yang
Pass-Thresh, -Use-Thresh). tersusun berdampingan (seperti papan
b) Set NEW-VALUE to - catur). Jumlah bujur sangkar kecil dalam
VALUE(RESULT-SUCC). arah mendatar maupun vertikal minimal
c) If NEW-VALUE > Pass-Thresh, lima, sehingga luas papan minimal
then we have found a successor adalah dua puluh lima bujur sangkar
that is better than any that have kecil. Setiap pemain berjalan bergiliran,
been examined so far. Record mengisi salah satu bujur sangkar kecil
this by doing the following. yang kosong dengan tanda miliknya.
i. Set Pass-Thresh to NEW- Permainan berakhir jika semua bujur
VALUE. sangkar kecil telah habis ditandai atau
ii. The best known path is now salah satu pemain telah berhasil
from CURRENT to SUCC membentuk satu garis lurus tanpa putus
and then on to the sebanyak lima kotak, boleh vertikal,
appropriate path from SUCC horizontal maupun diagonal.
as determined by the
recursive call to MINIMAX- 3. Pemodelan
A-B. So set BEST-PATH to Ada tujuh parameter yang dipakai
the result of attaching SUCC berdasarkan kondisi papan permainan.
to the front of Penjelasan ketujuh parameter mengacu
PATH(RESULT-SUCC). pada gambar 3.1.
d) If Pass-Thresh (reflecting the H O O O
current best value) is not better
G X O
than Use-Thresh, then we should
stop examining this branch. But F X X X X X O
both thresholds and values have E X
been inverted. So if Pass-Thresh D X X X X O
>= Use-Thresh, then return
immediately with the value C O O O O O
VALUE = Pass-Thresh 3 4 5 6 7 8 9
PATH = BEST-PATH Gambar 3.1 Contoh kondisi papan 10 X
5. Return the structure 10
VALUE = Pass-Thresh
PATH = BEST-PATH 1. Untuk setiap kotak pada papan yang
terisi oleh suatu tanda (kita sebut
2.3. Permainan Catur Jawa kotak A), lihat jika ada setidaknya
Pada dasarnya permainan Catur Jawa satu tanda yang sama di
sama seperti Tic Tac Toe, pemain harus sekelilingnya (terpisah satu kotak)
membuat suatu garis tanpa putus dalam dimana jika disejajarkan dengan
arah vertikal, diagonal, maupun kotak A, maka minimal terdapat lima

21
INTEGRAL, Vol. 9 No. 1, Maret 2004

kotak berjajar yang tidak {<F5> + <E5>+ <D5>} + {<F4>


mengandung tanda lawan. Hitung + <E5>+ <D6>} = 2
ada berapa. Tanda X : Nol (tidak ada).
Tanda O : 7. Terdapat empat kotak berderetan
<H7> + <H8> + <H9> + <G9> + dengan tanda lawan dan kedua
<F9> + <D8> + <C5> + <C6> + ujungnya tertutup oleh tanda milik
<C7> + <C8> = 10 sendiri. Hitung ada berapa .
Tanda X : Tanda O :
<F4> + <F5> + <F6> + <F7> + {<G7> + <F6> + <E5> + <D4>}
<F8> + <E5> + <D4> + <D5> + =1
<D6> + <D7> = 10 Tanda X : Nol (tidak ada).
2. Terdapat tiga kotak berderetan 3.1. Representasi ke bentuk String
dengan tanda yang sama dan kedua Setiap parameter kondisi papan seperti
ujungnya bebas tidak terhalang. diuraikan diatas adalah sebuah gen.
Hitung ada berapa. Karena ada 7 parameter maka kromosom
Tanda O : terdiri dari 7 buah gen. Posisi setiap gen
{<H7> + <H8> + <H9>} + pada kromosom (locus), mewakili urutan
{<H9> + <G9> + <F9>} = 2 parameter. Gen paling kiri mewakili
Tanda X : Nol (tidak ada). parameter pertama, gen paling kanan
3. Terdapat empat kotak berderetan mewakili parameter ketujuh. Nilai gen
dengan tanda sama dan salah satu (allele) adalah bobot parameter tersebut
ujungnya bebas tidak terhalang, yang mewakili seberapa penting
sedangkan ujung lainnya terhalang parameter tersebut.
oleh tanda lawan. Hitung ada berapa. 10 20 50 70 100 50 50
Tanda O : Nol (tidak ada). Gambar 3.2 Contoh kromosom dengan 7
Tanda X : gen
{<D4> + <D5> + <D6>+ <D7>}
=1 Pada gambar 3.8 terlihat parameter
4. Terdapat empat kotak berderetan pertama mempunyai bobot 10, parameter
dengan tanda yang sama dan kedua kedua 20, parameter ketiga 50, dst.
ujungnya bebas tidak terhalang.
Hitung ada berapa. Sedangkan fungsi fitness-nya adalah :
Tanda O : F ( x1 , x2 ,..., x7 ) = a1 × x1 + a 2 × x2 + ... + a7 × x7
{<C5> + <C6> + <C7> + <C8>}
=1 Dengan :
Tanda X : Nol (tidak ada). F(x) = fungsi fitness
5. Terdapat lima kotak berderetan ai = alelle pada locus ke-i dari
dengan tanda sama dan kedua string
ujungnya tidak diperhatikan, (boleh xi = nilai parameter ke-i
kosong, boleh tanda lawan, boleh
tanda yang sama). Hitung ada berapa. Misalkan kondisi papan permainan
Tanda O : Nol (tidak ada). seperti pada gambar 3.1. Untuk tanda O,
Tanda X : tujuh parameternya bernilai masing-
{<F4> + <F5> + <F6> + <F7> + masing : 10, 2, 0, 1, 0, 2, dan 1 sehingga
<F8>} = 1 nilai fitness :
F ( x1 , x2 ,..., x7 ) = a1 × x1 + a 2 × x2 + ... + a7 × x7
6. Terdapat tiga kotak berderetan
dengan tanda lawan dan satu
ujungnya tertutup oleh tanda milik F(10, 20, 50, 70, 100, 50, 50) = 10 x
sendiri. Hitung ada berapa. 10 + 20 x 2 + 50 x 0 + 70 x 1 + 100 x 0 +
Tanda O : 50 x 2 + 50 x 1= 360.

22
INTEGRAL, Vol. 9 No. 1, Maret 2004

Nilai sebesar 360 inilah yang merupakan populasi sehingga didapatkan


hasil pemetaan dari kondisi papan string-string baru. Jumlah string
permainan. baru yang perlu dihasilkan melalui
operasi genetik sama dengan
3.2 Penggunaan Algoritma Alpha-Beta setengah populasi.
Cutoff 5.1 Pilih sepasang string.
Algoritma Alpha-Beta Cutoff dipakai 5.2 Beri nilai acak untuk pasangan
untuk menentukan langkah yang akan string tersebut.
diambil oleh komputer. Dari setiap 5.3 Jika nilai acaknya lebih kecil
kondisi papan, komputer akan dari probabilitas crossover,
mendapatkan suatu nilai fitness tertentu lakukan crossover.
(lihat bagian 3.1). Nilai fitness ini akan 5.4 Ulangi langkah 5.1 hingga 5.3
menjadi node pada Algoritma Alpha-Beta sampai seluruh string pernah
Cutoff. Dengan mengevaluasi segala dipasangkan atau hasil
kemungkinan pergerakan lawan crossover telah berhasil
berdasarkan kondisi papan saat ini, akan mengenapi jumlah anggota
diperoleh node-node baru sehingga populasi.
membentuk struktur tree. Berdasarkan 5.5 Jika setelah semua proses
nilai-nilai node yang telah terbentuk pada crossover, anggota populasi
tree, Algoritma Alpha-Beta Cutoff dapat belum penuh, lakukan proses
memilih langkah terbaik yang harus mutasi sampai terpenuhi
diambil. anggota populasi.
6. Ulangi langkah 2 hingga 5 hingga
3.3. Pencarian Bobot Terbaik dicapai jumlah generasi yang
Pencarian bobot terbaik dilakukan diinginkan.
dengan melakukan simulasi pertandingan
antara komputer melawan komputer. 4. Pengujian
Siklus algoritma genetik yang dipakai Pengujian yang dilakukan bersifat black
adalah : box dan lebih ditekankan untuk
1. Buat populasi awal, dapat memeriksa seberapa baik peran dan
ditentukan oleh user. Jumlah string kinerja Algoritma Genetik dan Algoritma
minimal dua dan tidak boleh ada Alpha-Beta Cutoff pada Perangkat Lunak
dua atau lebih string yang sama. Permainan Catur Jawa. Lingkungan
2. Tandingkan antar anggota populasi perangkat keras saat pengujian adalah
dengan sistem setengah kompetisi, prosesor AMD Duron 800 MHz dan
setiap string pernah bertanding memori DDRAM 256 MB.
dengan string lain sebanyak satu
kali. 4.1. Uji Simulasi
3. Buat peringkat berdasarkan nilai Uji simulasi merupakan pengujian
hasil pertandingan. Sistem terhadap Perangkat Lunak Permainan
penilaiannya adalah menang Catur Jawa (komputer melawan
bernilai dua, kalah bernilai nol, komputer). Untuk uji simulasi ini,
dan seri bernilai satu. dimensi papan yang dipakai adalah 10 x
4. Lakukan seleksi, pilih setengah 10.
string terbaik untuk masuk ke
generasi berikut (elitism) 4.1.1. Uji Simulasi 1
5. Lakukan operasi genetik seperti Pada uji simulasi ini, ingin dicari bobot
one point crossover atau multi terbaik dengan memberikan variasi
point crossover (ditentukan oleh terhadap probabilitas crossover dan
user) atau mutasi pada anggota probabilitas mutasi.

23
INTEGRAL, Vol. 9 No. 1, Maret 2004

Pada gambar 4.4 terlihat bahwa string


Data genetik yang digunakan adalah keempat, kelima dan keenam merupakan
jumlah generasi=2, kedalaman Alpha- hasil crossover masing-masing dari string
Beta Cutoff =1, operasi two point pertama dan kedua, string pertama dan
crossover dengan titik crossover 2 dan 4, ketiga, dan string kedua dan ketiga.
operasi two point mutasi dengan titik String terbaik = 1.30.33.35.200.31.34.
mutasi 3 dan 7, serta jumlah string = 6, Waktu simulasi : + 50 detik
dengan rincian :
String 1 : 1.30.33.35.200.31.34 4.1.2. Uji Simulasi 2
String 2 : 1.25.35.50.200.30.40 Pada uji simulasi ini, ingin dicari bobot
String 3 : 80.25.27.45.95.30.123 terbaik dengan memberikan variasi
String 4 : 1.25.27.45.95.30.123 terhadap kedalaman Alpha Beta Cuttof.
String 5 : 80.25.35.50.200.30.40
String 6 : 44.25.90.50.33.30.100 Data genetik yang dipergunakan adalah
jumlah generasi 1, posisi titik crossover :
1 dan 6, probabilitas crossover 100%,
posisi titik mutasi : 4 dan 5, probabilitas
mutasi 100%.

Gambar 4.1 Hasil generasi 1 untuk Pc = Kedalaman Alpha Beta Cutoff= 1,


30% dan Pm = 50% jumlah string ada 6, dengan rincian
seperti pada uji simulasi 1. Diperoleh
waktu simulasi : + 14 detik dengan
peringkat akhir seperti gambar 4.5.
Terlihat string terbaik tetap
1.30.33.35.200.31.34.
Gambar 4.2 Hasil akhir untuk Pc = 30%
dan Pm=50%

Pada gambar 4.2 terlihat bahwa string


keempat merupakan hasil crossover
string kedua dan ketiga. String kelima Gambar 4.5 Hasil untuk depth=1
dan keenam merupakan hasil mutasi.
String terbaik = 1.30.33.35.200.31.34. Kedalaman Alpha Beta Cutoff = 2, string
Waktu simulasi + 54 detik yang dipakai adalah 3 string terbaik yang
diperoleh dari 4.1.2.1. Kedalaman alpha
beta cutoff berpengaruh signifikan
terhadap waktu simulasi menjadi + 22
menit 34 detik dan peringkat akhir seperti
gambar 4.6.
Gambar 4.3Hasil generasi 1 untuk Pc =
100% dan Pm=100%

Gambar 4.6 peringkat akhir untuk


depth=2

4.2. Uji Permainan


Gambar 4.4 Hasil generasi 2 untuk Uji permainan dilakukan antara komputer
Pc=100% dan Pm=100% melawan manusia (metode satu pemain),
komputer memakai tanda X, dimensi

24
INTEGRAL, Vol. 9 No. 1, Maret 2004

papan 15 x 15 dan bobot merupakan


bobot terbaik yang diperoleh dari
pengujian sebelumnya yaitu
1.25.35.50.200.30.40. Gambar 4.8 dan
gambar 4.9 merupakan langkah yang
diambil komputer untuk kedalaman alpha
beta cutoff tertentu dan posisi awal Gambar 4.10 Kondisi awal papan
seperti gambar 4.7.

Gambar 4.11 Langkah Komputer bila


Gambar 4.7 Kondisi awal permainan kedalaman alpha beta cutoff = 3

Gambar 4.12 Langkah Komputer bila


kedalaman alpha-beta cutoff =1
Gambar 4.8 Langkah komputer bila
kedalaman alpha-beta cutoff=2. Terlihat bahwa langkah komputer dengan
kedalaman 1 lebih baik daripada langkah
komputer dengan kedalaman 3.

5. Kesimpulan
1. Algoritma Genetik dapat dipakai pada
permainan Catur Jawa.
2. Berdasarkan pengujian, waktu
simulasi lebih bergantung pada
kedalaman level Alpha-Beta Cutoff
Gambar 4.9 Langkah Komputer bila daripada jumlah individu.
kedalaman alpha-beta cutoff=1 3. Untuk 7 strategi yang diusulkan pada
permainan catur jawa, Algoritma
Terlihat langkah komputer dengan Alpha-Beta Cutoff sebagai algoritma
kedalaman 1 ternyata lebih baik daripada untuk menentukan langkah yang akan
langkah komputer dengan kedalaman 2. diambil kurang memberikan hasil
maksimal.
Gambar 4.11 dan gambar 4.12
merupakan langkah yang diambil 6. Daftar Pustaka
komputer bila dipergunakan kedalaman 1. Faybish, Itamar, “Applying The
tertentu berdasarkan kondisi awal papan Genetic Algorithm To The Game of
pada gambar 4.10. Othello”, Computer Science
Department Vrije Universiteit Brussel,
1998.

25
INTEGRAL, Vol. 9 No. 1, Maret 2004

2. Koza, John, “Operators of Genetic 4. Saputro, Nico, “Diktat Kuliah


Algorithm” [online]. Algoritma Genetik”, Fakultas
www.cs.felk.cvut.cz/ Matematika dan Ilmu Pengetahuan
~xobitko/ga/operators.html. [8 Alam Universtas Katolik Parahyangan
Nopember 2001]. Bandung, 2000.
3. Rich, Elaine & Kevin Knight, 5. Pressman, Roger S., “Software
“Artificial Intellegence”, Second Engineering : A Practitioner’s
Edition, McGraw-Hill Inc., 1991. Approach”, Fourth Edition, McGraw-
Hill Inc., 1997.

26

View publication stats