IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN CATUR

  Algoritma adalah sebuah strategi yang mengandalkan kemampuan berfikir secara logis untuk memecahkan suatu masalah. Dalam algoritma, kita mulai dengan berfikir apa yang kita miliki (kekuatan dan kelemahan), selanjutnya kita atur langkah (aksi) agar tujuan atau sasaran yang kita harapkan dapat terwujud.

  minimax merupakan algoritma yang sangat bagus dan

  2.3 Algoritma

  Catur merupakan permainan taktik, strategi, kecerdasan dan keterampilan. Catur adalah permainan asah otak yang dimainkan oleh dua pemain diatas sebuah papan catur. Papan catur berbentuk bujur sangkar, terdiri dari 64 kotak yang berwarna hitam dan putih. Setiap pemain memulai permainan dengan memgang buah putih dan buah hitam masing-masing enam belas buah : satu King (Raja), satu Queen (Ratu), dua Rook (benteng), dua Knight (kuda), dua Bishop (Gajah), dan delapan piont (Sharawati, 2016).

  2.2 Catur

  permainan yang mengunakan interaksi dengan antarmuka pengguna melalui gambar yang dihasilkan oleh piranti video. Permainan umumnya menyediakan sistem penghargaan, skor yang dihitung berdasarkan tingkat keberhasilan yang dicapai dalam menyelesakan tugas-tugas yang ada di dalam permainan.

  2.1 Game Game (bahasa Indonesia: permainan) adalah

  2. DASAR TEORI

  permainan yang mengunakan interaksi dengan antarmuka pengguna melalui gambar yang dihasilkan oleh piranti video. Permainan umumnya menyediakan sistem penghargaan, skor yang dihitung berdasarkan tingkat keberhasilan yang dicapai dalam menyelesakan tugas-tugas yang ada di dalam permainan.

  Game (bahasa Indonesia: permainan) adalah

  tertentu maka pemain lain akan kehilangan nilai yang sama dengan pemain tersebut. (Akbar, 2007) AI akan selalu memilih langkah yang dapat meminimalisir kemungkinan pemain (manusia) untuk menang dengan memblok semua langkah kemenangan pemain.

  Penelitian yang dilakukan oleh (Ayuningtias, 2008) algoritma minimax memiliki dasar berupa zero

  cocok untuk pengambilan keputusan oleh AI, terutama dalam permainan n player(n>=2)(Akbar, 2007).

  Algoritmam minimax dalam pengambilan keputusan pada permainan Tic-Tac-Toe dimana masalah langkah yang diambil oleh pemain akan menghasilkan hasil yang berbeda-beda, penyebab AI sebagai teknik yang digunakan pada komputer atau video game untuk meproduksi ilusi atau kepintaran karakter yang bukan pemain,solusinya algoritma

  

IMPLEMENTASI ALGORITMA MINIMAX

PADA PERMAINAN CATUR

Anton Topadang

  yang lebih singkat sehingga akan membutuhkan waktu singkat untuk melakukan aksinya(Ayuningtyas, 2008).

  beta algoritma minimax akan memilih pohon pencarian

  Algoritma minimax dalam permainan checkers masalah dimana AI tersebut tidak pernah kalah, penyebab algoritma minimax membuat yang dapat mencari dan menentukan keputusan terbaik dalam permainan, solusi menambahkan nilai alpha-

  pemain B akan mencoba minimizing player(MIN) (Akbar, 2007).

  player (MAX). Di lain pihak, pada giliran berikutnya

  Di setiap tahap algoritma ini mengasumsikan bahwa pemain A mencoba untuk maximizing

  Kekuatan komputer yang mengandalkan proses komputasi yang sangat cepat. Algoritma minimax ini digunakan untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai maksimal (Ayuningtyas, 2008).

  Catur merupakan permainan taktik, strategi, kecerdasan dan keterampilan. Catur adalah permainan asah otak yang dimainkan oleh dua pemain diatas sebuah papan catur. Papan catur berbentuk bujur sangkar, terdiri dari 64 kotak yang berwarna hitam dan putih,untuk pembentukan Artificial Intelligence (AI) game ternyata digunakan pula algoritma minimax

   PENDAHULUAN

  Penelitian ini bertujuan untuk mengaplikasikan atau mengimplementasikan algoritma minimax pada permainan catur, khususnya

pada langkah yang ada pada permainan catur. Algoritma minimax digunakan untuk menentukan seleksi sehingga dapat

meminimalkan kemungkinan hilangnya nilai maksimum. Metodologi yang digunakan pada penelitian ini adalah metode waterfall

yang terdiri atas pengumpulan data, analisa, rancangan, implementasi, dan pengujian. Hasil dari penelitian ini bahwa algoritma atau

langkah yang digunakan mampu memblokir langkah terpendek dan memenangkan permainan catur. Kata kunci : catur, algoritma minimax 1.

  

Jurusan Teknologi Informasi, Politeknik Negeri Samarinda

Email:

, dedihariyanto@gmail.com 2)

Abstrak

  

1)

, Dedi Haryanto 2) 1,2)

  • sum game , dimana jikapemain mendapatkan nilai
Topadang dan Haryanto , IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN CATUR

  Langkah-langkah pemecahan masalah bisa dilakukan dengan berbagai cara setiap cara tersebut juga bisa berbeda-beda antara satu orang dengan orang lainya. Karena setiap orang belum tentu memiliki latar belakang kehidupan yang sama dan belum tentu memiliki pemikiran yang sama atas suatu masalah (Wayudi, 2004).

  2. Mengeksekusi aksi yang dibolehkan untuk memindahkan ke keadaan berikut.

  3. HASIL DAN PEMBAHASAN

  3.1 Membuat papan catur Pada tahap ini, papan catur dibuat dengan ukuran 8 x 8. Papan yang sudah di rancang bisa dilihat pada

  Gambar 2.

  2.4 Netbeans NetBeans merupakan salah satu proyek open source yang disponsori oleh Sun Microsystem. Proyek

  Jika tidak, keadaan baru tersebut menjadi keadaan sekarang dan proses ini diulangi sampai solusi ditemukan atau ruang keadaan habis terpakai.

  3. Memeriksa jika keadaan baru merupakan solusinya.

  1. Memeriksa keadaan sekarang/awal.

  Jika langkah tersebut dipilih anggaplah ada 2 pemain A dan B. Jika pemain A menang dalam 1 langkah, maka langkah tersebut adalah langkah kemenang. Jika pemain B mengetahui bahwa langkah tersebut akan mengarah ke hasil akhir dimana pemain A akan menang, dan di lain kondisi ada langkah lain yang akan mengarahkan ke hasil akhir seri, maka langkah terbaik untuk pemain B adalah langkah yang akan mengarah hasil akhir permainan ke hasil seri. Di setiap tahap algoritma ini mengasumsikan bahwa pemain A mencoba untuk memaksimalkan peluang menang. Di lain pihak, pada giliran berikutnya pemain B akan mencoba meminimalisir peluang menang untuk pemain A. Oleh karena itu , A disebut juga MAX dan B disebut juga MIN (Akbar, 2007).

  Konsep pencarian untuk suatu solusi dalam ruang keadaan (state space) merupakan pusat AI. Pencarian adalah suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkianan ruang keadaan(state space). Ruang keadaan merupakan suatu ruang yang berisi semua keadaan yang mungkin. Secara umum proses pencarian dapat dilakukan sebagai berikut:

  Pencarian atau pelacakan merupakan salah satu teknik untuk menyelesaikan permasalahan AI. Keberhasilan suatu sistem salah satunya ditentukan oleh kesuksesan dalam pencarian dan pencocokan. Teknik dasar pencarian memberikan suatu kunci bagi banyak sejarah penyelesaian yang penting dalam bidang AI. Ada beberapa alpikasi yang menggunakan teknik pencarian ini, yaitu: Papan game dan puzzle (tic- tac-toe,catur,menara hanoi).

  2.5 Algoritma Pencarian

  melakukan pemrograman baik menulis kode, mengompilasi, mencari kesalahan, dan mendistribusikan program. Sedangkan platfrom adalah sebuah modul yang merupakan kerangka awal dalam membangun aplikasi desktop yang besar.

  IDE merupakan produk yang digunakan untuk

  ini berdiri pada tahun 2000 dan platfrom. NetBeans

  Gambar 1. Pohon pencarian algoritma minimax

2.6 Konsep Algoritma Minimax

  dimana jika terdapat pemain yang mengalami pendapatan, dan pemain lain akan kehilangn dengan nilai yang sama dari pendapatan tersebut, dan sebaliknya (Ayuningtyas, 2008).

  game zero-sum . Teori ini mendiskripsikan situasi

  Algoritma ini mulai dikembangkan dari teori

  Gambar 2. Papan Catur

  3.2 Perancangan letak bidak catur

  Tahap perancagan ini menampilkan letak-letak bidak pada game catur. Papan sudah dirancang bisa dilihat pada Gambar 3.

  Algoritma minimax ini digunakan untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai maksimal. Algoritma ini diterapkan dalam permainan yang melibatkan dua pemain, permainan mengunakan strategi atau logika lainnya. Hal ini permainan-permainan dapat dijelaskan sebagai suatu rangkaian aturan premis

3.3 Membuat interface pada permainan catur

3.4 Algoritma Minimax pada permainan catur

  2 Pion

  No langkah

Pemain A Pemain B

output

  Pion

  1 Pion

  2 Pion

  3 Kuda

  1 Kuda

  1 Gajah Pion

  1 Pion

  3 Kuda

  14. Selesai.

  1 Kuda

  2 Gajah

  

4 D3 - - - - - - - - C6 - - -

  5 D3 - - - - - - - - C6 - - Gambar

  4.13

  

6 D3 - - H3 - - - - - C6 F6 - -

  7 D3 - - H3 - - - - - C6 F6 - Gambar

  4.14

  Tabel 1. Trace dari langkah-langkah algoritma catur.

  13. Tampilkan output langkah dua belas.

  JUST TI, Volume 9 Nomor 1, Januari 2017: 28 - 32

  1. Mulai.

  Gambar 3. Perancangan Letak bidak Catur

  Komponen-komponen NetBeans yang diperlukan untuk membangun form pada permainan catur ini antara lain Jpanel, Jlabel, JSlider, JButton. Desain JPanel tersebut secara umum sebagai berikut:

  Gambar 4. Menu Utama

  Pada Gambar 4 JPanel menu utama permainan catur merupakan menu tampilan awal ketika permainan ini dijalankan. Terdapat dua button(tombol) yang berfungsi menampilkan pilihan New Game,dan Quit.

  Setelah perancangan membuat papan catur, perancangan letak bidak catur, membuat interface pada permainan catur dan implementasi langkah-langkah catur. Maka proses implementasi algoritma minimax untuk mengoptimalkan langkah

  Gambar 5. Papan dan bidak catur

  Pada gambar 5 menunjukan contoh papan catur yang sudah menerapkan proses algoritma minimax, terdapat 2 pemain dalam permainan catur pemain A mewakili user dan pemain B mewakili computer. Pada saat pemain A mengerakan sebuah bidak ke suatu petak, maka computer langsung membalas langkah tersebut.

  Maka langkah-langkah algoritma yang diambil pemain A dan pemain B adalah:

  2. Memilih level permainan dan memilih warna bidak catur.

  12. Pemain A memilih langkah G2 ke H3 dan pemain B memilih langkah E7 ke E6.

  3. Pemain A memilih bidak catur warna putih dan pemain B memilih bidak catur warna hitam.

  4. Pemain A memilih langkah D2 ke D3 dan pemain B memilih langkah B8 ke C6.

  5. Tampilkan output langkah empat.

  6. Pemain A memilih langkah G1 ke H3 dan pemain B memilih langkah G8 ke F6.

  7. Tampilkan output langkah enam.

  8. Pemain A memilih langkah A2 ke A4 dan pemain B memilih langkah D7 ke D6.

  9. Tampilkan output langkah delapan.

  10. Pemain A memilih langkah C1 ke D2 dan pemain B memilih langkah C8 ke H3.

  11. Tampilkan output langkah sepuluh.

  • – langkah catur pada computer dapat dilaksanakan.

  No Pengujian Hasil Keterangan

  Pengujian dilakukan pada NetBeans saat aplikasi pertama kali di-run maka akan menampilkan menu utama seperti pada Gambar 7.

  Topadang dan Haryanto , IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN CATUR

8 D3 A4 - H3 - - D6 - - C6 F6 - -

  9 D3 A4 - H3 - - D6 - - C6 F6 - Gambar

  4.15

  10 D3 A4 - - - D2 D6 - - C6 F6 H3

  11 D3 A4 - - - D2 D6 - - C6 F6 H3 Gambar

  4.16

  

12 D3 A4 H3 - - D2 D6 E6 - C6 F6 - -

  

13 D3 A4 H3 - - D2 D6 E6 - C6 F6 - Gambar

  4.17

3.5 Pengujian Algoritma Minimax

  Algoritma minimax dipanggil ketika papan catur yang digunakan berhasil dijalankan, minimax berhasil memanggil pohon solusi dari awal permainan hingga akhir.

  Tabel 2. Pengujian game

a. Pengujian Game

  • – langkah catur

  Papan catur yang disediakan berjumlah satu, papan catur awalnya terisi oleh bidak catur dengan menerapkan algoritma minimax tiap

  Pada awal tampilan ada beberapa tombol pilihan yaitu new game dan quit. Fungsinya tombol new game akan menampilkan JPanel, pemain memilih level permainan dan warna bidak, papan catur akan ditampilkan.

  Gambar 6. Menu Permainan

  Gambar 7 Langkah-langkah permainan catur

  dijalankan pada langkah pertama sampai dengan akhir permainan.

  JPanel options dan langkah minimax berhasil

  langkah ditunjukan pada Gambar 7. Pada Gambar 7

  options dan papan catur yang sudah melakukan

  Setelah tombol New Game diklik maka akan menampilkan Jpanel options, pemain memilih level permainan dan warna bidak, papan catur secara langsung bidak catur tersusun sesuai letaknya. Contoh

  5 Minimax Berhasil Penerapan berhasil dilakukan pada langkah dan bidak catur

  Berhasil Penerapan berhasil dilakukan pada bidak catur

  4 Langkah

  3 Letak bidak catur Berhasil Berhasil disusun untuk bidak papan catur

  2 Papan catur Berhasil Papan catur berhasil di tampilkan di layar

  Berhasil Berhasil menampilkan menu utama permainan catur

  1 Menu Utama

  • – tiap langkah yang dilakukan computer dari awal permainan hingga akhir permainan. Dalam tahapan ini dilakukan pengujian pada game yang sudah dirancang hasil pengujian bisa dilihat pada tabel 2.

4. KESIMPULAN

  Berdasarkan hasil penelitian pengamatan selama perancangan, implementas dan proses pengujian yang telah dilakukan, diperoleh simpulan bahwa Algoritma

  Minimax bisa diterapkan dalam langkah

  • – langkah pada permainan catur. Aplikasi ini sudah diuji coba pada NetBeans.

  Minimax akan selalu memilih langkah yang

  meminimalisir kemungkinan dari langkah yang diambil pemain untuk menang dan memblok semua langkah kemenangan hingga permainan mengarahkan ke hasil akhir berupa kekalahan atau seri

  Beberapa kekurang masih terdapat dalam permainan ini yang dapat digunakan sebagai masukan untuk pengembangan lebih lanjut diantarnya:

  1. algoritma optimasi untuk Menambahkan mempercepat perhitungan simpul pohon pencarian 2.

  Jumlah menu yang terbatas, memungkinkan untuk menambahkan beberapa tombol.

  REFERENSI

  [1] Akbar, K.S.R., (2007). Algoritma Minimac Dalam Pengambilan Keputusan pada Permainan Tic-Tac-Toe.

  MAKALAH IF2251 STRATEGI ALGORITMATIK. [2] Ayuningtyas, N. (2008). Algoritma Minimax Dalam Permainan Checkers.

  [3] Desiani, A, & Arhami, M. (2006). Konsep kecerdasan buatan. Yogyakarta:Andi. [4] Fikri, R dkk. (2005). Pemrograman java .Yogyakarta:Andi. [5] Firmansyah, D.H.,(2009). Implementasi Algoritma

  Minimax Pada Permainan Tic-Tac-Toe skala

  9X9, Makalah Seminar Akademik Universitas Komputer Indonesia.

  [6] Rijaul, F dkk. (2005). Pemrograman java.

  Yogyakarta:Andi. [7] Sharaswati, A. (2016). Taktik dan strategi menang bermain catur. Yokyakarta: Pustaka Diantara.

  [8] Wahudi, B. (2004). Pengantar struktur data dan Agoritma. Yogyakarta:Andi.