Anda di halaman 1dari 14

ANALISIS PENGGUNAAN ALGORITMA GREEDY PADA

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 .

Key Word : Chess games , Greedy Algorithms , Artificial Intelligence.

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

Permainan catur merupakan salah


1. PENDAHULUAN satu jenis permainan olahraga yang
Game adalah permainan yang mengasah otak yang telah menjadi olahraga
menggunakan media elektronik, merupakan yang sangat popular di Indonesia dan dunia.
sebuah hiburan berbentuk multimedia yang Permainan catur merupakan permainan
dibuat semenarik mungkin agar pemain bisa olahraga yang menggunakan taktik dan
mendapatkan sesuatu sehingga adanya strategi. Permainan catur ini merupakan
kepuasan batin. Dengan adanya game ini game edukasi berbasis simulasi yang
diharapkan dapat berguna bagi edukasi. didesain untuk mensimulasikan sebuah
Pada zaman sekarang perkembangan game strategi. Dalam menstimulasi ini peneliti
semakin meningkat pesat dan populer menerapkan kecerdasan buatan atau
seiring dengan majunya perkembangan Artificial Intelligence (AI) yang merupakan
teknologi informasi. Dengan perkembangan kawasan penelitian, aplikasi dan instruksi
teknologi ini banyak permainan yang biasa yang terkait dengan pemrograman komputer
dilakukan secara konvensional mulai untuk melakukan sesuatu hal yang cerdas.
diterapkan diperangkat teknologi seperti
laptop, smartphone dan tablet, salah satu Masalah optimasi merupakan hal
permainan ini yaitu permainan catur. yang sering kita jumpai dalam pekerjaan
sehari-hari. Menyelesaikan masalah
1
optimasi ini dapat dilakukan dengan Grounded research merupakan
berbagai macam strategi, diantaranya adalah lawan dari penelitian secara verifikasi.
menggunakan algoritma greedy. Algoritma Metode penelitian yang dicetuskan oleh
greedy adalah algoritma yang paling populer Glaser dan Strauss (Nazir, 2005:74) ini
diantara strategi algoritma yang lainnya, merupakan suatu metode yang mendasarkan
dikarenakan kesederhanaannya dan diri pada fakta dan menggunakan analisis
kemudahan penerapannya. Strategi perbandingan yang bertujuan untuk
algoritma greedy sering digunakan karena mengadakan generalisasi empiris,
berguna untuk menghasilkan solusi yang menetapkan konsep-konsep, membuktikan
menghampiri optimum. teori dan mengembangkan teori dimana
Dengan mengambil solusi optimum pengumpulan data dan analisis data berjalan
lokal pada setiap langkah, diharapkan dari pada waktu yang bersamaan. Data yang
solusi optimum lokal tersebut didapatkan diperoleh dapat dibandingkan melalui
solusi global (solusi akhir) yang optimum. kategori-kategori.
Analisis performansi algoritma dilakukan Nazir (2005: 75) menyatakan,
agar diketahui efisiensi dan kelayakan tujuan dari grounded research adalah untuk
algoritma pada kasus yang sedang diuji. mengadakan generalisasi empiris,
Tanpa dilakukannya analisis algoritma maka menetapkan konsep-konsep, membuktikan
akan terjadi masalah terhadap teori, dan mengembangkan teori. Penelitian
pengimplementasian algoritma pada bertujuan untuk menspesifikasikan konsep.
kebutuhan dan masalah yang dihadapi. Akan menjelaskan unsur-unsur baru khas
Algoritma yang akan digunakan diharapkan dari kasus yang sedang dipelajari. Ciri yang
tepat dan cocok. paling pokok dari grounded research adalah
Berdasarkan uraian diatas, maka menggunakan data sebagai sumber teori,
penulis tertarik untuk melakukan penelitian sehingga teori yang dibangun berdasarkan
untuk menganalisa penggunaan algoritma logika tidak ada tempatnya dalam penganut
greedy terhadap permasalahan tersebut grounded research.
dengan mengajukan judul skripsi “Analisis
Penggunaan Algoritma Greedy Pada
Permainan Catur” yang digunakan untuk
memberikan masukkan dan informasi
mengenai penggunaan algoritma greedy.
Gambar 1 Metode Grounded Research
2. METODOLOGI PENELITIAN
Dasar analisis dari grounded
Metode penelitian merupakan suatu research adalah sifat-sifat yang ditemukan,
cara yang dapat digunakan untuk mencapai untuk kemudian dikelompokkan berdasarkan
tujuan yang diharapkan melalui suatu kategori. Kategori dalam pengertian
penelitian dengan teknik-teknik dan alat-alat grounded research adalah k onsep-konsep
tertentu. Metode penelitian merupakan suatu melalui mana data dapat diperbandingkan.
cara yang dapat digunakan untuk mencapai Adapun langkah-langkah Grounded
tujuan yang diharapkan melalui suatu Research yang harus dilaksanakan adalah
penelitian dengan teknik-teknik dan alat-alat sebagai berikut:
tertentu. Adapun metode yang digunakan 1. Menentukan masalah yang ingin diteliti
dalam penelitian ini yaitu metode 2. Mengumpulkan data untuk memperoleh
development research suatu kegiatan data yang sesuai dengan penelitian.
penelitian yang bertujuan dan berusaha 3. Kajilah pertanyaan-pertanyaan
mengembangkan atau melengkapi 4. Menganalisis dan menjelaskan data
pengetahuan yang sudah ada atau diketahui. 5. Membuat laporan penelitian
Permasalahan manusia dan lingkungan
alamnya selalu berkembang yang 2.1 Metode Pengambilan Data
kesemuanya ini harus memperoleh jawaban Dalam pengumpulan data untuk
yang simbang (Supardi, 2005 : 25). penelitian ini, digunakan beberapa cara
yaitu:
2
1). Kepustakaan saat ini manusia dapat mengerjakannya
Mengumpulkan data dengan cara dengan baik (E.Rich, 1983).
mencari dan mempelajari data-data dari Tujuan dari kecerdasan buatan
buku-buku ataupun dari referensi lain yang menurut Winston dan Prendergast :
berhubungan dengan penulisan laporan 1. Membuat mesin menjadi lebih pintar
penelitian proposal. Buku yang digunakan (tujuan utama)
penulis sebagai referensi, adapun metode 2. Memahami apa itu kecerdasan (tujuan
yang digunakan penulis dalam merancang ilmiah)
dan mengembangkan dapat dilihat pada 3. Membuat mesin lebih bermanfaat
daftar pustaka. (tujuan entrepreneurial)
Dua bagian utama yang dibutuhkan
untuk aplikasi kecerdasarn buatan adalah :
2). Observasi a. Basis Pengetahuan (Khowledge Base)
Metode ini dilakukan dengan cara
berisi fakta-fakta, teori, pemikiran dan
mengamati langsung keadaan dan kegiatan
hubungan antara satu dengan lainnya.
dalam permainan catur sebagai objek guna
b. Motor Inferensi (Inference Engine)
mendapatkan keterangan yang akurat.
adalah kemampuan menarik kesimpulan
berdasarkan pengalaman.
2.2 Tinjauan Pustaka
2.2.3 Algoritma Greedy
2.2.1 Analisis Algoritma Greedy adalah salah satu
Menurut Kamus Besar Bahasa algoritma yang membentuk solusi langkah
Indonesia (2002:43), Analisis adalah per langkah. Ada banyak langkah yang harus
penguraian suatu pokok atau berbagai dieksplorasi pada setiap solusinya. Oleh
bagiannya dan penelaahan bagian itu sendiri karena itu, pada setiap langkah harus
serta hubungan antar bagian untuk mengambil keputusan yang terbaik dari
memperoleh pengertian yang tepat dan setiap pilihan. Dan keputusan yang telah
pemahaman arti keseluruhan. diambil tidak dapat diubah lagi pada langkah
Menurut Komaruddin (2001:53), selanjutnya. Pendekatan algoritma greedy
Analisis adalah kegiatan berfikir untuk adalah mengambil keputusan yang
menguraikan suatu keselundian menjadi tampaknya terbaik. Dengan mengambil
komponen sehingga dapat mengenal tanda- solusi optimum lokal pada setiap langkah,
tanda komponen, hubungannya, satu sama diharapkan dari solusi optimum lokal
lain dan fungsi masing-masing dalam satu tersebut didapatkan
keseluruhan yang terpadu. solusi global (solusi akhir) yang
Dari penjelasan antara analisa dan optimum. Algoritma greedy adalah
analis penulis dapat menarik kesimpulan algoritma yang memecahkan masalah
bahwa seseorang yang memilliki langkah per langkah dengan mengambil
kemampuan, melakukan sebuah penelitian pilihan yang terbaik yang dapat diperoleh
mengenai suatu peristiwa untuk dapat saat itu tana memperhatikan konsekuensi ke
mengetahui keadaan yang sebenarnya depan, prinsip dari algoritma ini adalah
dengan tujuan dapat menjadi ilmu atau suatu “take the best what you can get now!”. Dan
pengetahuan baru. berharap bahwa dengan memilih solusi
optimum lokal pada setiap langkah akan
2.2.2 Artificial Intelligence berakhir dengan optimum global.
Elemen-elemen dalam persoalan
Definisi Artificial Intelligence yang optimasi algoritma greedy :
terkenal adalah tindakan mesin yang apabila 1. Himpunan kandidat, C.
dilakukan oleh manusia disebut kecerdasan Himpunan ini berisi elemen
atau intelligence (Efraim Turban, 1992). pembentuk solusi.
Definisi lain tentang Artificial Intelligence 2. Himpunan solusi, S.
merupakan ilmu yang mempelajari Berisi kandidat yang terpilih sebagai
bagaimana cara membuat komputer dapat solusi persoalan. Dengan kata lain,
melakukan pekerjaan-pekerjaan yang untuk himpunan solusi adalah himpunan
bagian dari setiap himpunan kandidat.
3
3. Fungsi seleksi masalah. Namun pada beberapa
Fungsi yang pada setiap langkah permasalahan optimasi, algoritma
memilih pilihan paling memungkinkan greedy terbukti selalu memberikan
mencapai solusi yang paling optimal. solusi yang optimal contohnya:
Pilihan yang sudah dipilih, tidak pernah pengaturan jadwal, permasalahan
dipertimbangkan lagi pada masalah knapsack yang fraksional, dan lain-
selanjutnya. Biasanya setiap kandidat x lain.
menunjuk sebuah nilai numerik, dan
fungsi seleksi memilih x yang 2.2.4 Permainan Catur
mempunyai nilai terbesar atau memilih
nilai x yang memiliki nilai terkecil. Menurut Magethi (2009:12),
4. Fungsi kelayakan permainan catur merupakan permainan di
Fungsi yang memeriksa apakah suatu atas papan berisi 8 x 8 petak atau 64 petak
kandidat yang telah dipilih dapat ini berasal dari India sejak 500 Masehi,
memberikan solusi yang layak, yakni kemudian menyebar ke Persia dan
kandidat tersebut bersama-sama dengan masyarakat Arab. Chess atau catur
himpunan solusi yang sudah terbentuk menyebar ke Eropa ketika kekuasaan Islam
dan tidak melanggar kendala yang ada. pada awal abad pertengahan memasuki
Kandidat yang layak dimasukkan ke Eropa dari selatan Spanyol. Bentuk buah
dalam himpunan solusi, sedangkan catur sempat berubah. Awalnya bentuk buah
kandidat yang tidak layak dibuang dan catur mirip manusia, kini berubah menjadi
tidak pernah dipertimbangkan lagi. abstrak. Ketika memasuki Eropa, buah catur
5. Fungsi objektif kembali mengambil bentuk menyerupai
Fungsi yang memaksimumkan atau manusia. Buah-buah catur mewakili
meminimumkan nilai solusi. Dengan sejumlah golongan pada abad pertengahan
kata lain, persoalan optimasi yang yaitu :
diselesaikan dalam algoritma greedy 1. Buah Pion mewakili budak yang kala
melibatkan pencarian sebuah himpunan itu selalu mengorbankan jiwa dan raga.
bagian S, dari himpunan kandidat C, 2. Buah Benteng mewakili rumah dan
yang dalam hal ini, S harus memenuhi tempat berlindung.
beberapa kriteria yang ditentukan, yaitu 3. Buah Kuda mewakili ksatria yang
menyatakan suatu solusi dan S senantiasa melindungi negara.
dioptimasi oleh fungsi objektif. Secara 4. Buah Peluncur mewakili gereja yang
umum, skema algoritma greedy menjadi lambang keagamaan di abad
dirumuskan: pertengahan.
a. Inisialisasi S dengan kosong 5. Buah Ratu atau Ster mewakili Ratu
b. Pilih kandidat dari C (dengan yang merupakan wanita paling berkuasa
fungsi seleksi). pada masa itu.
c. Kurangi c dengan kandidat yang 6. Buah Raja mewakili Raja yang
sudah dipilih dari langkah 2. merupakan pucuk pimpinan dan
d. Periksa apakah kandidat yang menentukan kalah menang pertarungan.
dipilih tersebut bersama-sama Catur dimainkan dua orang. Masing-
dengan himpunan solusi masing pemain memegang buah catur putih
membentuk solusi yang layak. Jika melawan buah catur hitam. Yang menjadi
ya, masukan kandidat tersebut pemenang dalam catur adalah pemain yang
kedalam himpunan solusi; jika berhasil men-skak (membuat Raja tidak bisa
tidak, buang kandidat tersebut dan melangkah kemana pun) atau mematikan
tidak perlu dipertimbangkan lagi. Raja. Masing-masing buah catur memiliki
e. Periksa apakah himpunan solusi pola pergerakan yang berbeda. Pion hanya
sudah memberikan solusi yang boleh berjalan satu kotak ke depan, kecuali
lengkap dengan menggunakan langkah pertamanya, boleh dua kotak ke
fungsi solusi. Jika ya, berhenti; jika depan. Pion tidak boleh jalan mundur,
tidak, ulangi langkah 2. Algoritma namun Pion memakan musuhnya dengan
greedy tidak selalu memberikan langkah diagonal kiri atau kanan. Benteng
solusi yang optimal pada setiap berjalan lurus secara vertikal dan horizontal,
4
sementara Menteri atau Peluncur berjalan masing-masing pihak, yang disusun berbaris
maju mundur secara diagonal sesuai warna secara khusus pada masing-masing sisi
petak. Cara jalan Ratu merupakan kombinasi papan catur secara berhadap-hadapan. Satu
cara jalan Benteng dan Menteri. Kuda bisa buah hanya bisa menempati satu petak. Pada
melompati halangan di depannya, asalkan bagian terdepan masing-masing barisan -
alur jalannya menyerupai huruf “L” terdapat 8 pion, diikuti di belakangnya dua
sebanyak 4 kotak. Untuk Raja bisa berjalan benteng, dua kuda (dalam bahasa Inggris
ke segala arah sebanyak satu kotak. disebut knight-ksatria), dua gajah (dalam
bahasa Inggris disebut bishop-uskup), satu
2.2.5 Ketentuan Permainan Catur menteri atau ratu atau ster, serta satu raja.

Permainan dilangsungkan di atas 3.1.3 Gerakan


papan yang terdiri dari 8 kolom dan 8 baris
kotak atau petak berwarna hitam dan putih
(terang dan gelap) secara berselang seling. Mulai
Beri label pada buah

Permainan dimulai dengan 16 buah pada


catur

masing-masing pihak, yang disusun berbaris Menghapus dari


secara khusus pada masing-masing sisi Inisialisasi
Papan Catur
daftar inisialisasi
buah catur

papan catur secara berhadap-hadapan. Satu


buah hanya bisa menempati satu petak. Pada Beri label pada papan
bagian terdepan masing-masing barisan catur

terdapat 8 Pion, diikuti di belakangnya dua Tidak

Benteng, dua Kuda (dalam bahasa Inggris Menghapus dari


daftar inisialisasi
papan catur
disebut knight atau ksatria), dua Menteri Menentukan jarak
sementara antara bidak

atau Peluncur (dalam bahasa Inggris disebut dan papan catur

bishop atau uskup), Ratu atau ster, serta satu Mencari titik terpendek berikutnya
dengan membandingkan jarak bidak

Raja. (Magethi, 2009:25).


dan papan catur yang telah memiliki
label permanen

Apakah Ada?

3. LANDASAN TEORI Ya

3.1 Percobaan Awal


Selesai
3.1.1 Pengamatan Fenomena

Catur adalah permainan pikiran yang Gambar 2 Flowchart Gerakan Catur


dimainkan oleh dua orang. Pecatur adalah
orang yang memainkan catur, baik dalam Permainan dilangsungkan di atas papan
pertandingan satu lawan satu maupun satu yang terdiri dari 8 lajur dan 8 baris
melawan banyak orang (dalam keadaan kotak/petak berwarna hitam dan putih (atau
informal). Sebelum bertanding, pecatur terang dan gelap) secara berselang seling.
memilih biji catur yang akan ia mainkan. Permainan dimulai dengan 16 buah pada
Terdapat dua warna yang membedakan masing-masing pihak, yang disusun berbaris
bidak atau biji catur, yaitu hitam dan putih. secara khusus pada masing-masing sisi
Pemegang buah putih memulai langkah papan catur secara berhadap-hadapan. Satu
pertama, yang selanjutnya diikuti oleh buah hanya bisa menempati satu petak. Pada
pemegang buah hitam secara bergantian bagian terdepan masing-masing barisan -
sampai permainan selesai. terdapat 8 pion, diikuti di belakangnya dua
benteng, dua kuda (dalam bahasa Inggris
3.1.2 Pengaturan disebut knight-ksatria), dua gajah (dalam
bahasa Inggris disebut bishop-uskup), satu
Permainan dilangsungkan di atas menteri atau ratu atau ster, serta satu raja.
papan yang terdiri dari 8 lajur dan 8 baris
kotak/petak berwarna hitam dan putih (atau 3.1.2 Rokade
terang dan gelap) secara berselang seling.
Permainan dimulai dengan 16 buah pada Rokade (dalam bahasa Inggris,
castling) merupakan gerakan khusus dalam
5
catur di mana Raja bergerak dua petak strategi memindahkan raja kekanan,
menuju Benteng di baris pertamanya, kekiri atau kedepan “(arrayP[i] 0, untuk
kemudian meletakkan Benteng pada petak i =1..16)” dan himpunan solusi, S
terakhir yang dilalui Raja. Persyaratan adalah salah satu dari himpunan
rokade adalah sebagai berikut: kandidat (arrayP[i] yang dapat
a. Bidak Raja dan Benteng yang akan memberikan solusi maksimal).
dilibatkan dalam rokade harus belum
pernah bergerak. 3.1.3 En passant
b. Tidak ada bidak lain di antara Raja dan
Benteng. Ketika pion bergerak dua petak
c. Raja tidak sedang di-skak, dan petak- maju dan ada pion lawan yang berada satu
petak yang dilalui Raja tidak sedang petak dalam baris tujuan, maka pion lawan
diserang oleh bidak lawan. dapat menangkap dan menempati petak yang
Hal-hal berikut ini merupakan kesalah baru saja dilalui pion tersebut (seolah-olah
pengertian dalam rokade, yang semestinya pion tersebut bergerak satu petak maju).
tidak berlaku: Namun, gerakan ini hanya dapat dilakukan
a. Bidak benteng yang terlibat rokade sesaat setelah gerakan pion maju dua petak,
sedang diserang atau hak lawan untuk melakukan gerakan en
Jika benteng yang dilibatkan berada di passant ini hilang.
sisi Ratu, petak yang berada persis di
samping Benteng tersebut tidak boleh dalam Mulai
Beri label pada bidak
pion

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

Tidak Menentukan Bidak dan


Menghapus dari pergerakan
daftar inisialisasi
papan catur

Menentukan Bidak dan


pergerakan
Melaukan proses Enpassent

Melaukan proses rokade

Apakah Ada?
Apakah Ada?

Ya
Ya

Selesai Selesai

Gambar 3 Flowchart Rokade Gambar 4 Flowchart En passant

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

dinginkan oleh pemain.


Apakah Ada?

Ya

Selesai

Gambar 5 Flowchart Skak

Berikut ini Algoritma Greedy pada proses


Skak yaitu :
1. Prioritas pertama : menggerakkan raja.
Menggerakkan raja supaya tidak Gambar 6 Buah Pion
dimakan.
2. Prioritas kedua : menutup serangan.
Menggerakkan pion kedepan 2 langkah.
Bila tidak terdapat pilihan menangkap
bidak lawan. Maka jalankan prioritas ketiga
yaitu langkah untuk menangkap bidak
lawan. “(arrayP[i] 0, untuk i =1..16)”. dan
himpunan solusi, S adalah salah satu dari
himpunan kandidat (arrayP[i] yang dapat
memberikan solusi maksimal).

3.1.5 Buah Catur

7
Mulai
Beri label pada pion

Menghapus dari
Inisialisasi daftar inisialisasi
Pion buah catur

Beri label pada papan


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

Beri label pada papan


catur
Selesai

Tidak
Menghapus dari
daftar inisialisasi

Gambar 7 Flowchart Pion Menentukan jarak


sementara antara bidak
papan catur

dan papan catur


Berikut ini Algoritma Greedy pada Bidak Mencari titik terpendek berikutnya

Pion yaitu : dengan membandingkan jarak bidak


dan papan catur yang telah memiliki
label permanen

1. Prioritas pertama : Maju 1 langkah.


Menggerakkan bidak pion untuk maju 1 Apakah Ada?

langkah. Ya

2. Prioritas kedua : Maju 2 langkah. Selesai

Menggerakkan bidak pion untuk maju 2


langkah. Gambar 9 Flowchart Kuda
3. Prioritas ketiga : menangkap lawan. 3. Ratu
Menggerakkan bidak pion menangkap Ratu atau menteri dalam catur adalah
lawan. buah catur yang paling kuat. Ratu dapat
4. Prioritas keempat : promosi. bergerak baik vertikal, horisontal ataupun
Menggerakkan bidak pion sampai di diagonal ke segala arah. Pada awal
area lawan. permainan masing masing pemain memiliki
Bila tidak terdapat pilihan strategi yang satu buah ratu yang terletak di samping raja.
memberikan solusi prioritas pertama, kedua, Ratu putih terletak di kotak putih, dan ratu
ketiga dan keempat. Maka jalankan prioritas hitam terletak di kotak hitam.
kelima yaitu langkah untuk mengatur
strategi posisi diam. “(arrayP[i] 0, untuk i
=1..16)”. dan himpunan solusi, S adalah
salah satu dari himpunan kandidat (arrayP[i]
yang dapat memberikan solusi maksimal).

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

Berikut ini Algoritma Greedy pada Ratu


yaitu :
1. Prioritas pertama : Maju kedepan.
Menggerakkan bidak ratu untuk maju
kedepan.
2. Prioritas kedua : Mundur kebelakang.
Menggerakkan bidak ratu untuk
mundur.
3. Prioritas ketiga : Maju samping kiri. Gambar 12 Buah Gajah
Menggerakkan bidak ratu untuk maju
samping kiri. Mulai

4. Prioritas keempat : Maju samping Beri label pada Gajah

kanan. Menggerakkan bidak pion untuk


langkah samping kanan. Inisialisasi
Gajah
Menghapus dari
daftar inisialisasi
buah catur
5. Prioritas kelima : Mundur kebelakang
kiri. Menggerakkan bidak ratu untuk
mundur samping kiri. Beri label pada papan
catur

6. Prioritas keenam : Mundur kebelakang


kanan. Menggerakkan bidak untuk Menghapus dari
daftar inisialisasi
Tidak

mundur samping kanan. Menentukan jarak


papan catur

7. Prioritas ketujuh : Menangkap Lawan. sementara antara bidak


dan papan catur

Menggerakkan bidak Ratu untuk Mencari titik terpendek berikutnya


dengan membandingkan jarak bidak
menangkap lawan. dan papan catur yang telah memiliki
label permanen

Bila tidak terdapat pilihan strategi yang


memberikan solusi prioritas pertama, kedua,
Apakah Ada?
ketiga dan keempat, kelima, keenam dan
ketujuh. Maka jalankan prioritas kedelapan Ya

yaitu langkah untuk mengatur strategi posisi Selesai

diam. “(arrayP[i] 0, untuk i =1..16)”. dan


himpunan solusi, S adalah salah satu dari
himpunan kandidat (arrayP[i] yang dapat Gambar 13 Flowchart Gajah
memberikan solusi maksimal).
Berikut ini Algoritma Greedy pada Gajah
yaitu :
9
1. Prioritas Kesatu : Maju samping kiri. Mulai
Beri label pada
Benteng
Menggerakkan bidak gajah untuk maju
samping kiri. Inisialisasi
Menghapus dari
daftar inisialisasi
2. Prioritas Kedua : Maju samping kanan. Benteng buah catur

Menggerakkan bidak gajah untuk maju


samping kanan. Beri label pada papan
catur

3. Prioritas Ketiga : Mundur kebelakang


kiri. Menggerakkan bidak gajah untuk Menghapus dari
daftar inisialisasi
Tidak

mundur samping kiri. Menentukan jarak


papan catur

sementara antara bidak


4. Prioritas Keempat : Mundur kebelakang dan papan catur

kanan. Menggerakkan bidak gajah Mencari titik terpendek berikutnya


dengan membandingkan jarak bidak
dan papan catur yang telah memiliki
untuk mundur samping kanan. label permanen

5. Prioritas Kelima : Menangkap Lawan.


Menggerakkan bidak gajah untuk Apakah Ada?

menangkap lawan. Ya

Bila tidak terdapat pilihan strategi yang


Selesai
memberikan solusi prioritas pertama, kedua,
ketiga dan keempat, kelima, keenam dan
ketujuh. Maka jalankan prioritas kedelapan Gambar 15 Flowchart Benteng
yaitu langkah untuk mengatur strategi posisi
diam. “(arrayP[i] 0, untuk i =1..16)”. dan Berikut ini Algoritma Greedy pada
himpunan solusi, S adalah salah satu dari Benteng yaitu :
himpunan kandidat (arrayP[i] yang dapat 1. Prioritas pertama : Maju kedepan.
memberikan solusi maksimal). Menggerakkan bidak benteng untuk
maju kedepan.
5. Benteng 2. Prioritas kedua : Mundur kebelakang.
Benteng adalah bidak catur yang Menggerakkan bidak benteng untuk
memiliki gerak lurus, baik ketika bergerak mundur.
maupun ketika menangkap buah catur 3. Prioritas ketiga : samping kiri.
lawan. Benteng memiliki gerakan istimewa, Menggerakkan bidak benteng untuk
yaitu rokade. Setiap pemain catur memiliki maju samping kiri.
dua benteng di setiap sudut permainan 4. Prioritas keempat : samping kanan.
ketika memulai bermain. Pada awal Menggerakkan bidak benteng untuk
permainan benteng tidak dapat bergerak maju samping kanan.
karena terhalangi buah catur lainnya. 5. Prioritas kelima : Menangkap Lawan.
Benteng baru dapat bergerak ketika medan Menggerakkan bidak benteng untuk
permainan sudah terbuka. Benteng bisa menangkap lawan.
melangkah lurus sepanjang baris dan lajur di Bila tidak terdapat pilihan strategi yang
papan kecuali bila ada buah catur lain yang memberikan solusi prioritas pertama, kedua,
menghalanginya. Benteng tidak dapat ketiga dan keempat dan kelima. Maka
melompati buah catur lainnya kecuali saat jalankan prioritas keenam yaitu langkah
melakukan rokade. untuk mengatur strategi posisi diam.
“(arrayP[i] 0, untuk i =1..16)”. dan
himpunan solusi, S adalah salah satu dari
himpunan kandidat (arrayP[i] yang dapat
memberikan solusi maksimal).

6. Raja

Raja adalah buah catur yang paling


berharga. Permainan akan berakhir apabila
raja dalam posisi di serang dan tidak ada
Gambar 14 Buah Gajah jalan untuk membebaskannya.

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 :

1. Kondisi Pion Hitam


Script 1 Algoritma Greedy Kondisi Pion
Hitam

Berikut ini penjelasan algoritma


greedy diatas yaitu tahap pertama
menentukan fungsi yang diberinama greedy
kondisi pion hitam, kemudian dilanjutkan
dengan mendeklarasikan variabel
menggerakkan pion, menangkap lawan dan
type nilai dari variabel. Tahap berikutnya
memasukkan logika yang dipilih. Dari
logika C1 menangkap lawan menghasilkan
nilai 0, sedangkan dari logika C2
menangkap lawan menghasilkan nilai 0.
Gambar 16 Kondisi Pion Hitam Dalam proses menghemat waktu maka
solusi yang baik adalah logika C2.
Berikut ini skema dalam Algoritma
Greedy 2. Kondisi Kuda Hitam
1. Himpunan kandidat C yaitu C1 dan
C2
2. Inisialiasi S Pemain pada
permainanan catur
a. Inisialiasi pada c1
C1= Menangkap lawan, dengan nilai=1
b. Inisialiasi pada C2
C2= Maju 1 Langkah, dengan nilai=0
3. Fungsi seleksi
a. Menggerakkan pion kedepan, Nilai = 0
b. Menangkap lawan, Nilai = 1
4. Fungsi kelayakan
a. Hasil dari C1
C1 --> menangkap lawan
nilai = 1; Gambar 17 Kondisi Kuda Hitam
C1 --> ditangkap lawan
nilai = -1; Berikut ini skema dalam Algoritma
C1 --> nilai = 0; Greedy
b. Hasil dari C2 1. Himpunan kandidat C yaitu C1,C2 dan
C2 --> maju 1 langkah = C3
0; 2. Inisialiasi S Pemain pada permainanan
C2 --> nilai = 0; catur
a. Inisialiasi pada c1
12
C1= melakukan skak kanan, dengan menghasilkan nilai 0, sedangkan dari logika
nilai=1 C3 menangkap lawan menghasilkan nilai 1.
b. Inisialiasi pada C2 Dalam proses perbandingan nilai maka
C2= Maju 1 Langkah, dengan nilai=0 solusi yang baik adalah logika C3.
c. Inisialiasi pada c3
C3= melakukan skak kiri, dengan
nilai=1 5. KESIMPULAN
3. Fungsi seleksi
Menggerakkan kuda kedepan, Nilai = 0 Berdasarkan hasil penelitian
a. Melakukan skak, Nilai = 1 penulis yang dilakukan dalam menggunakan
4. Fungsi kelayakan algoritma greedy maka dapat diambil
a. Hasil dari C1 kesimpulan bahwa :
C1 --> melakukan skak 1. Algoritma greedy adalah algoritma
nilai = 1; yang sederhana yang dapat
C1 --> ditangkap lawan menyelesaikan permasalahan
nilai = -1; optimasi dengan baik pada beberapa
C1 --> nilai = 0; kasus.
b. Hasil dari C2 2. Penerapan algoritma greedy pada
C2 --> maju 1 permainan catur dapat dimanfaatkan
langkah = 0; untuk kecerdasan buatan komputer
C2 --> nilai = 0; 3. Prioritas untuk penerapan algoritma
c. Hasil dari C3 greedy sangat berpengaruh untuk
C3 --> melakukan skak melakukan pengecekan.
nilai = 1;
C3 --> nilai = 1;
5. Fungsi objektif digambarkan dalam DAFTAR PUSTAKA
sebuah script berikut ini
1. Asrofudin. 2010. Kegiatan
Belajar Mengajar
. www.blogrankings.com /../ 2982
html. 25 februari 2013

2. Alvin, Hasan Dalam.


2006 Kamus Istilah Teknologi
Informasi. Yogyakarta : Andi

3. Komaruddin,2001, Ensiklopedia
Manajemen, Edisi ke5, Jakarta :
Script 2 Algoritma Greedy Kondisi Kuda
Bumi Aksara.
Hitam

Berikut ini penjelasan algoritma greedy 4. Community, eWolf. 2012.


diatas yaitu tahap pertama menentukan “Panduan Internet Paling
fungsi yang diberinama greedy kondisi pion
hitam, kemudian dilanjutkan dengan Gampang”.Yogyakarta:Cakrawal
mendeklarasikan variabel menggerakkan
kuda, skak kanan, skak kiri dan type nilai
dari variabel. Tahap berikutnya
5. Departemen Pendidikan dan
memasukkan logika yang dipilih. Dari Kebudayaan.2002. ”Kamus
logika C1 melakukan skak menghasilkan
nilai 0, logika C2 melakukan skak
13
Besar Bahasa Indonesia”.
Jakarta : Balai Pustaka.

6. Hendrayudi.2009. Pemrograman
Borland Delphi 8.0. Andi :
Yogyakarta

7. Magethi, Bey. 2009. Bagaimana


memahami permainan catur.
Bandung : Pionir Jaya.

8. Magethi, Bey. 2009. Pedoman


bermain catur. Bandung : Pionir
Jaya.

9. Perkins, E. J. 1974. The Biology


of Estuaries and Coastal
Water.Academi Press Co. New
York.

10. Sutabri, Tata. 2012. “Analisis


Sistem Informasi”. Yogyakarta:
Andi Offset.

11. Sommerville, Ian,


(2011), Software Engineering,
9th edition, Addison-Wesley,
Boston, Massachusetts

12. Supardi. 2005. “Metodologi


Penelitian Ekonomi & Bisnis”.
Yogyakarta : UII Press.

14

Anda mungkin juga menyukai