Pemrograman Komputer Catur – Anatomi

Apa sih anatomi dari sebuah program catur? Well, pada dasarnya sebuah program catur terdiri dari empat bagian utama :

  1. Struktur Data. Yang dimaksud struktur data disini adalah bagaimana cara merepresentasikan suatu posisi papan catur dan susunan buah-buahnya di dalam program. Cara yang paling jelas dan paling sederhana tentu dengan menggunakan array dua dimensi 8×8, tapi cara ini mempunyai banyak kekurangan antara lain perfomance/kecepatan yang lambat. Baca bagian sebelumnya, perfomance adalah hal yang vital karena perfomance yang lebih cepat memungkinkan pencarian yang lebih dalam. Teknik yang lebih advanced misalnya menggunakan bitboard yang saya gunakan di program catur saya Petir. Bitboard ini akan dibahas lebih mendalam di bagian berikutnya.
  2. Move Generator. Move Generator adalah suatu fungsi untuk mendapatkan semua langkah yang mungkin dilakukan dalam suatu posisi papan. Tentu dengan mengikuti semua aturan catur misalnya rokade, en-passant (bidak potong), dll
  3. Fungsi evaluasi. Fungsi evaluasi digunakan untuk meng-evaluasi suatu posisi papan seberapa bagus atau seberapa buruk dan memberi nilai yang kurang lebih sesuai. Hal yang harus ada di fungsi evaluasi ini tentu saja nilai materi, misalnya mentri bernilai 9, kuda bernilai 3, dst. Selain itu juga harus mempertimbangkan aspek-aspek lain seperti keselamatan raja, struktur pion, mobility, dll. Fungsi evaluasi ini akan dibahas lebih detail di bagian lain
  4. Algoritma game playing, yaitu bagaimana algoritma yang memungkinkan komputer untuk mencari langkah yang dianggap terbaik berdasarkan fungsi evaluasi. Pada dasarnya algoritma ini meniru cara berpikir manusia dalam bermain catur : Jika saya melangkah ke sini maka lawan akan membalas dengan langkah itu trus saya membalas dengan langkah lain, dst. Bagian ini juga akan dibahas lebih dalam

Bagian yang bersifat opsional adalah Graphical User Interface (GUI) yang memungkinkan user berinteraksi dengan program catur yang dibuat. Kenapa opsional? Karena anda tidak perlu membuat GUI sendiri, tapi bisa menggunakan GUI freeware yang bisa didownload gratis di internet seperti misalnya Winboard dan lain-lain.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: