PERMAINAN CATUR
Ginonggom1, Marlindawati2, Ari Muzakir3
Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Bina Darma
Palembang, Indonesia
E-mail : silaban2014@gmail.com1, Marlindwati@binadarma.ac.id2,
ariemuzakir@binadarma.ac.id3
Abstract : Greedy algorithm is one of the algorithms used to solve optimization problems, which in
essence is to take the best option available at each stage of a process . The game of chess is a
popular sport that is a simulation -based educational game designed to simulate a strategy . In
this stimulating researchers to apply artificial intelligence or artificial intelligence ( AI ), which is
an area of research , application and instructions related to programming the computer to do
something intelligent . This study will discuss the results of applying greedy algorithm to
determine the next step . The study discusses about the game of chess . This research also covers
the basic principles greedy algorithm , greedy algorithm implementation on chess can be used for
computer artificial intelligence to determine priorities for checks on the 6th chess .
Abstrak : Algoritma greedy adalah salah satu algoritma yang digunakan untuk menyelesaikan masalah
optimasi, yang intinya adalah mengambil pilihan terbaik yang ada pada setiap tahap dalam suatu proses.
Permainan catur adalah sebuah cabang olahraga yang populer yang merupakan game edukasi berbasis
simulasi yang didesain untuk mensimulasikan sebuah strategi. Dalam menstimulasi ini peneliti menerapkan
kecerdasan buatan atau Artificial Intelligence (AI) yang merupakan kawasan penelitian, aplikasi dan instruksi
yang terkait dengan pemrograman komputer untuk melakukan sesuatu hal yang cerdas. Penelitian ini akan
membahas hasil penerapan algoritma greedy untuk menentukan langkah kedepan. Penelitian membahas
tentang permainan catur. Dalam penelitian ini juga membahas prinsip dasar algoritma greedy, penerapan
algoritma greedy pada permainan catur dapat dimanfaatkan untuk kecerdasan buatan komputer dengan
menentukan prioritas untuk melakukan pengecekan pada 6 bidak catur.
Kata kunci: Permainan Catur, Algoritma Greedy, Artificial Intelligence
bishop atau uskup), Ratu atau ster, serta satu Mencari titik terpendek berikutnya
dengan membandingkan jarak bidak
Apakah Ada?
3. LANDASAN TEORI Ya
serangan
Menghapus dari
Inisialisasi En daftar inisialisasi
Mulai
Passant buah catur
Beri label pada bidak
raja dan benteng
Menghapus dari
Inisialisasi daftar inisialisasi Beri label pada papan
Rokade buah catur catur
Tidak
Beri label pada papan Menghapus dari
catur daftar inisialisasi
papan catur
Apakah Ada?
Apakah Ada?
Ya
Ya
Selesai Selesai
Berikut ini Algoritma Greedy pada proses Berikut ini Algoritma Greedy pada proses
Rokade yaitu : En passant yaitu :
1. Prioritas pertama : memilih posisi yang 1. Prioritas pertama : pion kedepan 1
dapat melakukan rokade. langkah. Menggerakkan pion kedepan 1
Menggerakkan Raja kesamping untuk langkah.
melakukan pertukaran dengan benteng 2. Prioritas kedua : pion kedepan 2
samping kanan. langkah. Menggerakkan pion kedepan 2
2. Prioritas kedua : memilih posisi yang langkah.
dapat melakukan rokade. Bila tidak terdapat pilihan strategi yang
Menggerakkan Raja kesamping untuk memberikan solusi prioritas pertama dan
melakukan pertukaran dengan benteng kedua. Maka jalankan prioritas ketiga yaitu
samping kiri. langkah untuk mengatur strategi posisi diam.
3. Bila tidak terdapat pilihan strategi yang “(arrayP[i] 0, untuk i =1..16)”. dan
memberikan solusi prioritas pertama himpunan solusi, S adalah salah satu dari
dan kedua. Maka jalankan prioritas himpunan kandidat (arrayP[i] yang dapat
ketiga yaitu langkah untuk mengatur memberikan solusi maksimal).
6
Berikut ini beberapa buah catur
3.1.4 Skak yang terdiri dari buah catur hitam dan buah
Ketika Raja sedang diserang oleh catur putih :
satu atau lebih bidak lawan, keadaan ini 1. Pion
disebut dengan skak. Pemain yang Rajanya Pion adalah salah satu dari enam bidak
diskak harus menggerakkan Rajanya supaya catur. Dalam seluruh buah catur, terdapat
tidak terserang. Hal ini dapat dilakukan masing-masing delapan pion yang warnanya
dengan menangkap bidak lawan yang putih dan hitam, ditempatkan di garis depan
menyerang, menutup serangan lawan dengan dari bidak lainnya. Pion hanya bisa berjalan
menempatkan sebuah bidak di antaranya selangkah ke depan, yang berarti ke arah
(apabila yang menyerang Ratu, Benteng, barisan lawan, dan tidak menyerang bidak
atau Gajah dan ada petak kosong di antara lawan dalam arah ini. Dalam langkah
Raja dan bidak lawan), atau memindahkan pertama, pion dapat maju 2 kotak dan tidak
Raja ke petak yang tidak sedang diserang. ada yang menghambat jalan ini. Untuk
Rokade tidak diijinkan apabila Raja sedang memakan, pion harus mengambil arah
diskak. diagonal sekali. Di samping itu, pion dapat
menyerang menurut gerakan khusus en
passant atau menyilang. Ketika pion
Mulai
Beri label pada bidak
Raja
mencapai kotak terakhir di sisi lawan, pion
dapat memilih bidak yang sudah lebih dulu
Inisialisasi
Menghapus dari
daftar inisialisasi
dimatikan lawan, kecuali raja. Pada tahun
Skak buah catur
1700-an, pecatur Prancis Andre Philidor
menyebut pion sebagai 'jiwa permainan
Beri label pada papan
catur catur'. Ia menyadari bahwa meskipun Pion
Tidak
memiliki kemampuan terbatas, pion sering
Menghapus dari
daftar inisialisasi
papan catur
dapat menentukan sifat dan hasil permainan.
Menentukan Bidak dan
posisi skak Pion juga memiliki kemampuan promosi.
Bila ia dapat mencapai baris terakhir dari
lawan, maka ia dapat berubah sesuai yang
Melaukan proses Skak
Ya
Selesai
7
Mulai
Beri label pada pion
Menghapus dari
Inisialisasi daftar inisialisasi
Pion buah catur
Tidak
Menghapus dari
daftar inisialisasi
papan catur
Menentukan jarak
sementara antara bidak
dan papan catur
Gambar 8 Buah Kuda
Mencari titik terpendek berikutnya
dengan membandingkan jarak bidak
Mulai
dan papan catur yang telah memiliki
Beri label pada Kuda
label permanen
Menghapus dari
Inisialisasi daftar inisialisasi
Apakah Ada? Kuda buah catur
Ya
Tidak
Menghapus dari
daftar inisialisasi
langkah. Ya
2. Kuda
Kuda adalah buah catur yang memiliki
gerak unik dengan membentuk huruf (L),
baik ketika bergerak maupun ketika Gambar 10 Buah Ratu
menangkap buah catur lawan. Pada awal
permainan catur, setiap pemain memiliki
dua buah kuda disebelah posisi Benteng
(catur).
8
Mulai
Beri label pada Ratu
4. Gajah
Gajah adalah salah satu jenis bidak
catur dalam permainan papan catur. Tiap
Menghapus dari
Inisialisasi
Ratu
daftar inisialisasi
buah catur
pemain memulai permainan dengan dua
gajah. Satu gajah diletakkan di antara kuda
raja dan raja. sedangkan gajah lainnya
Beri label pada papan
catur diletakkan di antara kuda ratu dan ratu.
Dalam notasi aljabar, kotak awal untuk
Tidak
Menghapus dari
daftar inisialisasi
gajah putih adalah c1 dan f1, sedangkan
Menentukan jarak
papan catur
untuk gajah hitam adalah c8 dan f8. Istilah
sementara antara bidak
dan papan catur "gajah" telah dipakai dalam permainan catur
Mencari titik terpendek berikutnya
dengan membandingkan jarak bidak
kuna. Dalam permainan catur kuna Persia,
dan papan catur yang telah memiliki
label permanen
bidak yang bergerak semacam ini
dinamakan fil ("gajah"). Dalam bahasa
Rusia bidak ini dinamakan слон (slon),
Apakah Ada?
"gajah". Dalam bahasa Inggris bidak ini
Ya disebut sebagai Bishop ("uskup") dan dalam
Selesai
bahasa Belanda disebut sebagai loper
("pelari", "kurir", "utusan").
Gambar 11 Flowchart Ratu
menangkap lawan. Ya
6. Raja
10
untuk mundur 1 langkah samping
kanan.
7. Prioritas ketujuh : Menangkap Lawan.
Menggerakkan bidak raja untuk
menangkap lawan.
Bila tidak terdapat pilihan strategi yang
memberikan solusi prioritas pertama, kedua,
ketiga dan keempat, kelima, keenam dan
ketujuh. Maka jalankan prioritas kedelapan
yaitu langkah untuk mengatur strategi posisi
diam. “(arrayP[i] 0, untuk i =1..16)”. dan
Gambar 16 Buah Raja himpunan solusi, S adalah salah satu dari
himpunan kandidat (arrayP[i] yang dapat
Mulai
Beri label pada Raja memberikan solusi maksimal).
Menghapus dari
Inisialisasi daftar inisialisasi
Raja buah catur
4. HASIL
4.1 Hasil
Beri label pada papan
catur
Tidak
Menghapus dari
daftar inisialisasi
papan catur Setelah melakukan analisa algoritma
Menentukan jarak
sementara antara bidak
dan papan catur
greedy maka hasil yang dicapai oleh penulis
Mencari titik terpendek berikutnya
adalah penerapan algoritma greedy pada 6
dengan membandingkan jarak bidak
dan papan catur yang telah memiliki
label permanen
bidak catur yang dapat diterapkan pada studi
kasus permainan catur, sehingga
Apakah Ada?
menghasilkan sebuah artificial inteligence,
adapun prioritas tersebut sebagai berkut ini :
Ya
Selesai
1. Bidak Pion
Gambar 15 Flowchart Raja Memiliki 5 prioritas yaitu maju 1
langkah, maju 2 langkah, menangkap
Berikut ini Algoritma Greedy pada Raja lawan, promosi dan pilihan strategi.
yaitu : 2. Bidak kuda
1. Prioritas pertama : Maju 1 langkah 3. Memiliki 3 prioritas yaitu bergerak,
kedepan. Menggerakkan bidak raja menangkap lawan dan strategi
untuk maju 1 langkah kedepan. 4. Bidak Ratu
2. Prioritas kedua : Mundur 1 langkah Memiliki 9 prioritas diantaranya maju 1
kebelakang. Menggerakkan bidak raja langkah, mundur 1 langkah, 1 langkah
untuk mundur 1 langkah. kiri, 1 langkah kanan, 1 langkah
3. Prioritas ketiga : Maju 1 langkah belakang kiri, 1 langkah belakang
samping kiri. Menggerakkan bidak raja kanan, menangkap, strategi.
untuk maju 1 langkah samping kiri. 5. Bidak Gajah
4. Prioritas keempat : Maju 1 langkah Memiliki 6 prioritas yaitu langkah kiri,
samping kanan. Menggerakkan bidak langkah kanan, langkah belakang kiri,
raja untuk maju 1 langkah samping langkah belakang kanan, menangkap,
kanan. strategi,
5. Prioritas kelima : Mundur 1 langkah 6. Bidak Benteng
kebelakang kiri. Menggerakkan bidak 7. Memiliki yaitu 6 prioritas maju,
raja untuk mundur 1 langkah samping mundur, samping kiri, samping kanan,
kiri. strategi,
6. Prioritas keenam : Mundur 1 langkah 8. Bidak Raja
kebelakang kanan. Menggerakkan bidak Memiliki 9 prioritas yaitu maju 1
langkah, mundur 1 langkah, 1 langkah
11
kiri,1 langkah kanan, 1 langkah 5. Fungsi objektif digambarkan dalam
belakang kiri, 1 langkah belakang sebuah script berikut ini
kanan, menangkap, strategi.
9. Nilai
Nilai untuk setiap bidak yaitu raja=6,
ratu=5, benteng=4, kuda=3, gajah=2,
dan pion=1.
4.2 Pembahasan
Penerapan algoritma greedy pada
permainan catur diataranya yaitu sebagai
berikut :
3. Komaruddin,2001, Ensiklopedia
Manajemen, Edisi ke5, Jakarta :
Script 2 Algoritma Greedy Kondisi Kuda
Bumi Aksara.
Hitam
6. Hendrayudi.2009. Pemrograman
Borland Delphi 8.0. Andi :
Yogyakarta
14