PENERAPAN ALGORITMA GENETIK PADA PERMAIN (1)

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 : [email protected], [email protected]
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
sistem. Biaya perancangan ulang yang
lebih rendah menunjukkan bahwa sistem
tersebut memiliki daya adaptasi yang
tinggi sehingga sistem ini dapat bertahan
lebih lama dibandingkan dengan sistemsistem lainnya.

Algoritma
Genetik
diciptakan
berdasarkan inspirasi dari mekanisme
seleksi alam dimana individu yang lebih
kuat menjadi pemenang dari lingkungan

yang berkompetisi. Konsep dasar
Algoritma Genetik relatif mudah
dipahami, karena komponen-komponen
pembentuk algoritma ini mencerminkan
kehidupan di alam, seperti contohnya
mekanisme seleksi, pindah silang,
mutasi, dan lain-lain.

Permainan Catur Jawa merupakan
permainan yang sederhana namun
mengandalkan kecepatan pikiran untuk
menemukan langkah-langkah taktis agar
dapat mengalahkan lawan. Agar dapat
memenangkan
permainan,
seorang
pemain harus dapat membuat langkahlangkah sebanyak lima petak mendahului
lawan berupa sebuah garis datar
(horisontal), tegak (vertikal) atau miring


Algoritma Genetik memiliki sifat kokoh,
memiliki keseimbangan antara efisiensi
dan efektifitas dalam menyelesaikan
kasus-kasus dari wilayah masalah yang
berbeda. Hal ini akan berakibat pada

17

INTEGRAL, Vol. 9 No. 1, Maret 2004

tanpa
terpotong
langkah
lawan.
Permainan Catur Jawa menitikberatkan
pada pencarian langkah yang paling
sesuai agar pemain dapat memainkan
permainan, sehingga Algoritma Genetik
memiliki peran penting.


Proses rekombinasi meliputi proses
genetika untuk memperoleh string baru
dari pertukaran karakter dari calon-calon
string yang didapat pada tahap seleksi.
String-string
pada
generasi
baru
dihasilkan dengan menggunakan operasi
genetik secara acak pada calon string
yang terpilih pada tahap seleksi. Proses
rekombinasi akan menghasilkan stringstring baru yang berbeda dibandingkan
induknya dan dengan demikian diperoleh
domain pencarian yang baru (4).

2. Konsep Dasar
2.1. Algoritma Genetik
Algoritma Genetik memakai mekanisme
seleksi alam dan ilmu genetik sehingga
istilah-istilah pada Algoritma Genetik

akan bersesuaian dengan istilah-istilah
pada seleksi alam dan ilmu genetik. Pada
ilmu genetik, kromosom terdiri dari
susunan gen-gen. Tiap gen mengandung
nilai atau sifat tertentu yang disebut
allele, sedangkan posisi gen dalam
kromosom disebut locus. Selanjutnya,
satu atau beberapa kromosom bergabung
membentuk paket genetik yang disebut
genotif. Interaksi genotif dengan
lingkungannya disebut fenotif (4).

Cara kerja Algoritma Genetik sederhana,
hanya mencakup proses penduplikasian
string-string dan pertukaran bagianbagian dari string. Meskipun cukup
sederhana,
tetapi
mempunyai
kemampuan
untuk

menyelesaikan
persoalan optimasi. Kemampuan ini
didukung oleh tiga operator genetik,
yaitu reproduksi, pindah silang dan
mutasi. Pada reproduksi terjadi proses
penduplikasian string berdasarkan nilai
fungsi objektifnya. Nilai objektif ini
dapat dilihat sebagai suatu keuntungan
yang ingin dicapai atau dimaksimalkan.
Sementara proses pertukaran bagianbagian string dilakukan oleh operator
pindah silang dan mutasi (4).

Pada Algoritma Genetik, kromosom
bersesuaian dengan string yang dibentuk
dari beberapa karakter. Setiap karakter
mempunyai
posisi
(locus)
dan
mengandung nilai tertentu (allele). Satu

atau beberapa string akan bergabung
membentuk struktur (genotif). Bila
struktur tersebut dikodekan, akan
diperoleh satu titik yang merupakan salah
satu alternatif solusi (fenotif) (4).

Disamping
ketiga operator dasar
(reproduksi, pindah silang, dan mutasi),
parameter-parameter genetik (jumlah
populasi, probabilitas pindah silang,
probabilitas mutasi, dan lain-lain), serta
asumsi-asumsi yang digunakan dalam
pemodelannya juga mempunyai peran
penting.

Satu siklus iterasi algoritma genetik
(sering disebut sebagai generasi) terdapat
dua proses, yakni proses seleksi dan
rekombinasi. Proses seleksi adalah proses

evaluasi kualitas setiap string didalam
populasi untuk memperoleh peringkat
calon solusi. Berdasarkan hasil evaluasi,
dipilih
string-string
yang
akan
mengalami proses rekombinasi. Proses
pemilihan biasanya dilakukan secara
acak, string dengan kualitas yang lebih
baik akan memiliki peluang lebih besar
untuk terpilih sebagai calon-calon string
generasi berikutnya (4).

2.1.1. Representasi Kromosom
Pada
kasus
catur
jawa,
string

direpresentasikan dengan menggunakan
konsep Value Encoding. Pada value
encoding, karakter (allele) berbentuk
suatu nilai yang berhubungan dengan
masalah, misalnya bilangan bulat,
desimal atau arah pergerakan.

18

INTEGRAL, Vol. 9 No. 1, Maret 2004

String A
String B
String C

akan memiliki bagian dari struktur kedua
orang tuanya. Ada beberapa jenis pindah
silang, yaitu One Point Crossover, Multi
Point
Crossover

dan
Uniform
Crossover(4). Berikut adalah langkahlangkah One Point Crossover :
1. Pasangkan secara acak string-string
baru hasil reproduksi.
2. Pilih posisi pindah silang (titik
pindah silang).
3. Lakukan pertukaran bagian string
disebelah kiri atau disebelah kanan
titik pindah silang dengan bagian dari
string pasangannya yang telah
dipartisi dengan cara yang sama.
Induk A Abcdef|ghi
Induk B Jklmno|pqr
Anak C Abcdefpqr
Anak D Jklmnoghi
Gambar 2.2 Contoh Single Point
Crossover

1.224 5.343 0.456 2.293 2.445

ABJEIFJDHDHERJDLDLEGT
(back), (back), (right), (fwd), (left)

Gambar 2.1 Contoh Value Encoding
Pengkodean ini sangat baik untuk
masalah spesifik dan rumit. Namun
pengkodean ini sering memerlukan
operator pindah silang dan mutasi yang
dikembangkan
sesuai
dengan
karakteristik masalahnya (2).
2.1.2. Siklus Algoritma Genetik
Siklus secara umum sebagai berikut(4) :
1. Inisialisasi populasi awal (secara
acak atau berdasarkan kriteria
tertentu).
2. Evaluasi nilai fitness setiap string.
3. Reproduksi, diperoleh kumpulan
string baru calon anggota populasi
berikutnya.
4. Pindah silang, dihasilkan string baru
kombinasi dari orang tuanya.
5. Mutasi, dilakukan dengan mengubah
karakter-karakter dari string secara
acak.
6. Ulangi
langkah
2-5
sampai
konvergen atau sejumlah iterasi telah
dilakukan.

Multi Point Crossover sama dengan One
Point Crossover, perbedaannya terletak
pada jumlah titik pindah silang.
2.1.5 Mutasi
Operator
mutasi
memungkinkan
pencarian dalam sembarang daerah
dalam domain solusi, sehingga peluang
untuk melakukan pencarian pada suatu
daerah tidak akan pernah nol. Melalui
mutasi, string baru dapat diciptakan
dengan melakukan modifikasi terhadap
satu atau lebih karakter pada string yang
sama(4).

2.1.3 Reproduksi Menggunakan
Elitism
Secara sederhana, reproduksi merupakan
proses penyalinan string(4). Setiap string
pada suatu generasi akan diseleksi
berdasarkan fungsi fitnessnya. Peluang
terpilihnya string sebesar nilai fitness
string dibagi jumlah nilai fitness seluruh
string dalam populasi. Proses reproduksi
yang dipergunakan adalah metode
Elitism. Metode ini dipilih untuk
menjamin agar string terbaik pada
generasi sekarang terpilih masuk ke
generasi berikutnya.

Proses mutasi suatu string dapat
dilakukan dengan cara mengubah nilai
pada sebuah atau beberapa gen secara
acak berdasarkan peluang mutasinya.
Contoh dari proses mutasi dapat dilihat
pada tabel berikut ini.
Kromosom A 11001011
Hasil Mutasi 11000011
Gambar 2.3. Contoh Mutasi

2.1.4 Pindah Silang
Proses pindah silang bertujuan untuk
menambah keanekaragaman string di
generasi berikutnya berdasarkan stringstring dari generasi saat ini. String baru

Kromosom A mengalami mutasi pada
gen kelima, yakni nilai awal bit 1
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)
Probabilitas
mutasi
mengendalikan
operator mutasi. Di setiap generasi
diperkirakan terjadi mutasi sebanyak Pm
x n x l, l adalah panjang string. Pada
seleksi alam murni, mutasi jarang sekali
muncul sehingga probabilitas mutasi
yang digunakan umumnya kecil, lebih
kecil daripada probabilitas pindah silang
(4)
.

Gambar 2.4. Contoh penerapan
algoritma Alpha-Beta Cutoff
Pada Gambar 4, karena pencarian secara
depth–first maka setelah mengevaluasi
sub-tree pertama akan didapat bahwa
nilai betanya adalah 3. Kemudian saat
melakukan pencarian pada sub-tree
kedua level kedua, nilai node pertama
yang ditemui adalah 1, maka cabang atau
node yang lain tidak perlu diperiksa
sebab level tersebut adalah minimasi dan
telah diketahui nilai yang akan dipilih
adalah 1 atau lebih kecil dari 1 (nilai
tersebut lebih kecil dari nilai beta),
sedangkan level di atasnya adalah
maksimasi sehingga dapat dipastikan
node dari sub-tree tersebut tidak akan
terpilih. Cara ini juga diterapkan pada
sub-tree yang lain.

2.2. Algoritma Alpha-Beta Cutoff
Algoritma Alpha Beta Cutoff adalah
pengembangan algoritma Minimax.
Algoritma ini akan mempercepat
pencarian karena adanya pemotongan
cabang jika diketahui cabang tersebut
tidak perlu dievaluasi lebih lanjut(1).
Proses pencarian secara depth–first, satu
jalur dievaluasi hingga batas yang
ditentukan, kemudian setiap node
dievaluasi untuk menghasilkan nilai. Dari
nilai–nilai tersebut, dapat diterapkan
teknik branch and bound yaitu dengan
menentukan dua buah batas yang disebut
Alpha (batas atas) dan Beta (batas
bawah). Jika nilai node pada jalur
berikutnya yang akan diperiksa sudah
lebih buruk dari nilai batas maka jalur
tersebut tidak perlu diperiksa lagi
sehingga waktu yang diperlukan menjadi
berkurang (3).

Algoritma Minimax dengan Alpha Beta
Cutoff adalah sebagai berikut [3]:
Algorithm : MINIMAX-A-B (Position,
Depth,Player,Use-Thresh,Pass-Thresh)
1. If DEEP-ENOUGH(Position,Depth),
then return the structure
VALUE = STATIC(position,Player);
PATH = nil
2. Otherwise, generate one more ply of
the tree by calling the function
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

horizontal. Bedanya, pemain dikatakan
menang jika berhasil membentuk satu
garis lurus tanpa putus sebanyak lima
kotak.

returned if DEEP-ENOUGH had
returned TRUE.
4. If SUCCESSORS is not empty, then
go through it, examining each
element and keeping track of the best
one. This is done as follows.
For each element SUCC of
SUCCESSORS:
a) Set
RESULT-SUCC
to
MINIMAX-A-B(SUCC,
Depth+1, OPPOSITE(Player), Pass-Thresh, -Use-Thresh).
b) Set
NEW-VALUE
to
VALUE(RESULT-SUCC).
c) If NEW-VALUE > Pass-Thresh,
then we have found a successor
that is better than any that have
been examined so far. Record
this by doing the following.
i. Set Pass-Thresh to NEWVALUE.
ii. The best known path is now
from CURRENT to SUCC
and then on to the
appropriate path from SUCC
as determined by the
recursive call to MINIMAXA-B. So set BEST-PATH to
the result of attaching SUCC
to
the
front
of
PATH(RESULT-SUCC).
d) If Pass-Thresh (reflecting the
current best value) is not better
than Use-Thresh, then we should
stop examining this branch. But
both thresholds and values have
been inverted. So if Pass-Thresh
>= Use-Thresh, then return
immediately with the value
VALUE = Pass-Thresh
PATH = BEST-PATH
5. Return the structure
VALUE = Pass-Thresh
PATH = BEST-PATH

Catur
Jawa
memerlukan
papan
permainan, dua tanda untuk mewakili
kedua pemain, dan dua pemain. Papan
permainan, dapat berbentuk bujur
sangkar atau persegi panjang, terdiri dari
sekumpulan bujur sangkar kecil yang
tersusun berdampingan (seperti papan
catur). Jumlah bujur sangkar kecil dalam
arah mendatar maupun vertikal minimal
lima, sehingga luas papan minimal
adalah dua puluh lima bujur sangkar
kecil. Setiap pemain berjalan bergiliran,
mengisi salah satu bujur sangkar kecil
yang kosong dengan tanda miliknya.
Permainan berakhir jika semua bujur
sangkar kecil telah habis ditandai atau
salah satu pemain telah berhasil
membentuk satu garis lurus tanpa putus
sebanyak lima kotak, boleh vertikal,
horizontal maupun diagonal.

3. Pemodelan
Ada tujuh parameter yang dipakai
berdasarkan kondisi papan permainan.
Penjelasan ketujuh parameter mengacu
pada gambar 3.1.
H
O O O
G
X
O
F
X X X X X O
E
X
D
X X X X O
C O
O O O O
3 4 5 6 7 8 9
Gambar 3.1 Contoh kondisi papan 10 X
10
1. Untuk setiap kotak pada papan yang
terisi oleh suatu tanda (kita sebut
kotak A), lihat jika ada setidaknya
satu
tanda
yang
sama
di
sekelilingnya (terpisah satu kotak)
dimana jika disejajarkan dengan
kotak A, maka minimal terdapat lima

2.3. Permainan Catur Jawa
Pada dasarnya permainan Catur Jawa
sama seperti Tic Tac Toe, pemain harus
membuat suatu garis tanpa putus dalam
arah
vertikal,
diagonal,
maupun

21

INTEGRAL, Vol. 9 No. 1, Maret 2004

2.

3.

4.

5.

6.

{ + + } + {
+ + } = 2
Tanda X : Nol (tidak ada).
7. Terdapat empat kotak berderetan
dengan tanda lawan dan kedua
ujungnya tertutup oleh tanda milik
sendiri. Hitung ada berapa .
Tanda O :
{ + + + }
=1
Tanda X : Nol (tidak ada).
3.1. Representasi ke bentuk String
Setiap parameter kondisi papan seperti
diuraikan diatas adalah sebuah gen.
Karena ada 7 parameter maka kromosom
terdiri dari 7 buah gen. Posisi setiap gen
pada kromosom (locus), mewakili urutan
parameter. Gen paling kiri mewakili
parameter pertama, gen paling kanan
mewakili parameter ketujuh. Nilai gen
(allele) adalah bobot parameter tersebut
yang
mewakili
seberapa
penting
parameter tersebut.

kotak
berjajar
yang
tidak
mengandung tanda lawan. Hitung
ada berapa.
Tanda O :
+ + + +
+ + + +
+ = 10
Tanda X :
+ + + +
+ + + +
+ = 10
Terdapat tiga kotak berderetan
dengan tanda yang sama dan kedua
ujungnya bebas tidak terhalang.
Hitung ada berapa.
Tanda O :
{ + + } +
{ + + } = 2
Tanda X : Nol (tidak ada).
Terdapat empat kotak berderetan
dengan tanda sama dan salah satu
ujungnya bebas tidak terhalang,
sedangkan ujung lainnya terhalang
oleh tanda lawan. Hitung ada berapa.
Tanda O : Nol (tidak ada).
Tanda X :
{ + + + }
=1
Terdapat empat kotak berderetan
dengan tanda yang sama dan kedua
ujungnya bebas tidak terhalang.
Hitung ada berapa.
Tanda O :
{ + + + }
=1
Tanda X : Nol (tidak ada).
Terdapat lima kotak berderetan
dengan tanda sama dan kedua
ujungnya tidak diperhatikan, (boleh
kosong, boleh tanda lawan, boleh
tanda yang sama). Hitung ada berapa.
Tanda O : Nol (tidak ada).
Tanda X :
{ + + + +
} = 1
Terdapat tiga kotak berderetan
dengan tanda lawan dan satu
ujungnya tertutup oleh tanda milik
sendiri. Hitung ada berapa.
Tanda O :

10

20

50

70

100

50

50

Gambar 3.2 Contoh kromosom dengan 7
gen
Pada gambar 3.8 terlihat parameter
pertama mempunyai bobot 10, parameter
kedua 20, parameter ketiga 50, dst.

F ( x1 , x2 ,..., x7 ) = a1 × x1 + a2 × x2 + ... + a7 × x7

Sedangkan fungsi fitness-nya adalah :

Dengan :
F(x) = fungsi fitness
ai = alelle pada locus ke-i dari
string
xi = nilai parameter ke-i
Misalkan kondisi papan permainan
seperti pada gambar 3.1. Untuk tanda O,
tujuh parameternya bernilai masingmasing : 10, 2, 0, 1, 0, 2, dan 1 sehingga
nilai fitness :

F ( x1 , x2 ,..., x7 ) = a1 × x1 + a 2 × x2 + ... + a7 × x7

F(10, 20, 50, 70, 100, 50, 50) = 10 x
10 + 20 x 2 + 50 x 0 + 70 x 1 + 100 x 0 +
50 x 2 + 50 x 1= 360.

22

INTEGRAL, Vol. 9 No. 1, Maret 2004

populasi sehingga didapatkan
string-string baru. Jumlah string
baru yang perlu dihasilkan melalui
operasi genetik sama dengan
setengah populasi.
5.1 Pilih sepasang string.
5.2 Beri nilai acak untuk pasangan
string tersebut.
5.3 Jika nilai acaknya lebih kecil
dari probabilitas crossover,
lakukan crossover.
5.4 Ulangi langkah 5.1 hingga 5.3
sampai seluruh string pernah
dipasangkan
atau
hasil
crossover
telah
berhasil
mengenapi jumlah anggota
populasi.
5.5 Jika setelah semua proses
crossover, anggota populasi
belum penuh, lakukan proses
mutasi
sampai
terpenuhi
anggota populasi.
6. Ulangi langkah 2 hingga 5 hingga
dicapai jumlah generasi yang
diinginkan.

Nilai sebesar 360 inilah yang merupakan
hasil pemetaan dari kondisi papan
permainan.
3.2 Penggunaan Algoritma Alpha-Beta
Cutoff
Algoritma Alpha-Beta Cutoff dipakai
untuk menentukan langkah yang akan
diambil oleh komputer. Dari setiap
kondisi
papan,
komputer
akan
mendapatkan suatu nilai fitness tertentu
(lihat bagian 3.1). Nilai fitness ini akan
menjadi node pada Algoritma Alpha-Beta
Cutoff. Dengan mengevaluasi segala
kemungkinan
pergerakan
lawan
berdasarkan kondisi papan saat ini, akan
diperoleh node-node baru sehingga
membentuk struktur tree. Berdasarkan
nilai-nilai node yang telah terbentuk pada
tree, Algoritma Alpha-Beta Cutoff dapat
memilih langkah terbaik yang harus
diambil.
3.3. Pencarian Bobot Terbaik
Pencarian bobot terbaik dilakukan
dengan melakukan simulasi pertandingan
antara komputer melawan komputer.
Siklus algoritma genetik yang dipakai
adalah :
1. Buat
populasi
awal,
dapat
ditentukan oleh user. Jumlah string
minimal dua dan tidak boleh ada
dua atau lebih string yang sama.
2. Tandingkan antar anggota populasi
dengan sistem setengah kompetisi,
setiap string pernah bertanding
dengan string lain sebanyak satu
kali.
3. Buat peringkat berdasarkan nilai
hasil
pertandingan.
Sistem
penilaiannya
adalah
menang
bernilai dua, kalah bernilai nol,
dan seri bernilai satu.
4. Lakukan seleksi, pilih setengah
string terbaik untuk masuk ke
generasi berikut (elitism)
5. Lakukan operasi genetik seperti
one point crossover atau multi
point crossover (ditentukan oleh
user) atau mutasi pada anggota

4. Pengujian
Pengujian yang dilakukan bersifat black
box dan lebih ditekankan untuk
memeriksa seberapa baik peran dan
kinerja Algoritma Genetik dan Algoritma
Alpha-Beta Cutoff pada Perangkat Lunak
Permainan Catur Jawa. Lingkungan
perangkat keras saat pengujian adalah
prosesor AMD Duron 800 MHz dan
memori DDRAM 256 MB.
4.1. Uji Simulasi
Uji simulasi merupakan pengujian
terhadap Perangkat Lunak Permainan
Catur
Jawa
(komputer
melawan
komputer). Untuk uji simulasi ini,
dimensi papan yang dipakai adalah 10 x
10.
4.1.1. Uji Simulasi 1
Pada uji simulasi ini, ingin dicari bobot
terbaik dengan memberikan variasi
terhadap probabilitas crossover dan
probabilitas mutasi.

23

INTEGRAL, Vol. 9 No. 1, Maret 2004

Pada gambar 4.4 terlihat bahwa string
keempat, kelima dan keenam merupakan
hasil crossover masing-masing dari string
pertama dan kedua, string pertama dan
ketiga, dan string kedua dan ketiga.
String terbaik = 1.30.33.35.200.31.34.
Waktu simulasi : + 50 detik

Data genetik yang digunakan adalah
jumlah generasi=2, kedalaman AlphaBeta Cutoff =1, operasi two point
crossover dengan titik crossover 2 dan 4,
operasi two point mutasi dengan titik
mutasi 3 dan 7, serta jumlah string = 6,
dengan rincian :
String 1 : 1.30.33.35.200.31.34
String 2 : 1.25.35.50.200.30.40
String 3 : 80.25.27.45.95.30.123
String 4 : 1.25.27.45.95.30.123
String 5 : 80.25.35.50.200.30.40
String 6 : 44.25.90.50.33.30.100

4.1.2. Uji Simulasi 2
Pada uji simulasi ini, ingin dicari bobot
terbaik dengan memberikan variasi
terhadap kedalaman Alpha Beta Cuttof.
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 =
30% dan Pm = 50%

Kedalaman Alpha Beta Cutoff= 1,
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
dan keenam merupakan hasil mutasi.
String terbaik = 1.30.33.35.200.31.34.
Waktu simulasi + 54 detik

Gambar 4.5 Hasil untuk depth=1
Kedalaman Alpha Beta Cutoff = 2, string
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
Uji permainan dilakukan antara komputer
melawan manusia (metode satu pemain),
komputer memakai tanda X, dimensi

Gambar 4.4 Hasil generasi 2 untuk
Pc=100% dan Pm=100%

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
seperti gambar 4.7.

Gambar 4.10 Kondisi awal papan

Gambar 4.11 Langkah Komputer bila
kedalaman alpha beta cutoff = 3

Gambar 4.7 Kondisi awal permainan

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
daripada jumlah individu.
3. Untuk 7 strategi yang diusulkan pada
permainan catur jawa, Algoritma
Alpha-Beta Cutoff sebagai algoritma
untuk menentukan langkah yang akan
diambil kurang memberikan hasil
maksimal.

Gambar 4.9 Langkah Komputer bila
kedalaman alpha-beta cutoff=1
Terlihat langkah komputer dengan
kedalaman 1 ternyata lebih baik daripada
langkah komputer dengan kedalaman 2.
Gambar 4.11 dan gambar 4.12
merupakan langkah yang diambil
komputer bila dipergunakan kedalaman
tertentu berdasarkan kondisi awal papan
pada gambar 4.10.

6. Daftar Pustaka
1. Faybish, Itamar, “Applying The
Genetic Algorithm To The Game of
Othello”,
Computer
Science
Department Vrije Universiteit Brussel,
1998.

25

INTEGRAL, Vol. 9 No. 1, Maret 2004

4. Saputro, Nico, “Diktat Kuliah
Algoritma
Genetik”,
Fakultas
Matematika dan Ilmu Pengetahuan
Alam Universtas Katolik Parahyangan
Bandung, 2000.
5. Pressman, Roger S., “Software
Engineering : A Practitioner’s
Approach”, Fourth Edition, McGrawHill Inc., 1997.

2. Koza, John, “Operators of Genetic
Algorithm”
[online].
www.cs.felk.cvut.cz/
~xobitko/ga/operators.html.
[8
Nopember 2001].
3. Rich, Elaine & Kevin Knight,
“Artificial Intellegence”, Second
Edition, McGraw-Hill Inc., 1991.

26

Dokumen yang terkait

PENGARUH PEMBERIAN SEDUHAN BIJI PEPAYA (Carica Papaya L) TERHADAP PENURUNAN BERAT BADAN PADA TIKUS PUTIH JANTAN (Rattus norvegicus strain wistar) YANG DIBERI DIET TINGGI LEMAK

23 199 21

KEPEKAAN ESCHERICHIA COLI UROPATOGENIK TERHADAP ANTIBIOTIK PADA PASIEN INFEKSI SALURAN KEMIH DI RSU Dr. SAIFUL ANWAR MALANG (PERIODE JANUARI-DESEMBER 2008)

2 106 1

FREKUENSI KEMUNCULAN TOKOH KARAKTER ANTAGONIS DAN PROTAGONIS PADA SINETRON (Analisis Isi Pada Sinetron Munajah Cinta di RCTI dan Sinetron Cinta Fitri di SCTV)

27 310 2

MANAJEMEN PEMROGRAMAN PADA STASIUN RADIO SWASTA (Studi Deskriptif Program Acara Garus di Radio VIS FM Banyuwangi)

29 282 2

ANALISIS PROSPEKTIF SEBAGAI ALAT PERENCANAAN LABA PADA PT MUSTIKA RATU Tbk

273 1263 22

PENERIMAAN ATLET SILAT TENTANG ADEGAN PENCAK SILAT INDONESIA PADA FILM THE RAID REDEMPTION (STUDI RESEPSI PADA IKATAN PENCAK SILAT INDONESIA MALANG)

43 322 21

KONSTRUKSI MEDIA TENTANG KETERLIBATAN POLITISI PARTAI DEMOKRAT ANAS URBANINGRUM PADA KASUS KORUPSI PROYEK PEMBANGUNAN KOMPLEK OLAHRAGA DI BUKIT HAMBALANG (Analisis Wacana Koran Harian Pagi Surya edisi 9-12, 16, 18 dan 23 Februari 2013 )

64 565 20

PENERAPAN MEDIA LITERASI DI KALANGAN JURNALIS KAMPUS (Studi pada Jurnalis Unit Aktivitas Pers Kampus Mahasiswa (UKPM) Kavling 10, Koran Bestari, dan Unit Kegitan Pers Mahasiswa (UKPM) Civitas)

105 442 24

PEMAKNAAN BERITA PERKEMBANGAN KOMODITI BERJANGKA PADA PROGRAM ACARA KABAR PASAR DI TV ONE (Analisis Resepsi Pada Karyawan PT Victory International Futures Malang)

18 209 45

STRATEGI KOMUNIKASI POLITIK PARTAI POLITIK PADA PEMILIHAN KEPALA DAERAH TAHUN 2012 DI KOTA BATU (Studi Kasus Tim Pemenangan Pemilu Eddy Rumpoko-Punjul Santoso)

119 459 25