Anda di halaman 1dari 5

Jurnal Riset Komputer (JURIKOM), Vol. 2 No.

6, Desember 2015
ISSN 2407-389X (Media Cetak)
Hal : 28-32

PENERAPAN ALGORITMA MINIMAX PADA PERMAINAN


CHECKERS
Dahwila Syapnika 1, Edward Robinson Siagian 2
1
Mahasiswa Teknik Informatika STMIK Budi Darma
2
Dosen Tetap STMIK Budi Darma
1, 2
Jl. Sisimangaraja Np. 338 Simpang Limun Meda

ABSTRAK
Checkers merupakan jenis permainan game board,yang mengandalkan strategi sebagai elemen utamanya. Permainan ini
dimainkan oleh dua orang pemain dengan tujuan menghabiskan kepingan lawan. Permainan checkers yang dibuat dengan AI
(Artificial Intelligence) tertentu menerapkan algoritma Minimax. Penerapan algoritma Minimax dalam checkers dibuat
berdasarkan prosedur Minimax untuk mendapatkan langkah terbaik dari posisi yang ada. Setiap posisi memiliki nilai yang
dapat dihasilkan dari langkah terbaik, dengan berasumsi bahwa AI akan selalu mencoba memaksimalkan nilai, ketika lawan
akan mencoba untuk meminimalkannya. Perancangan permainan checkers ini di buat dengan menggunakan Microsoft Visual
Basic 6.0. Didalam menu permainan checkers terdapat beberapa menu. Dalam permainan checkers terdapat dua buah bidak
yang berlainan warna. Setiap pemain memilih warna yang di inginkan. Setiap bidak dapat berubah menjadi raja setelah
melewati garis akhir lawan.

Kata Kunci: checkers, Artificial Intellingence (AI), Minimax, alpha-beta, Microsoft Visual Basic

I. PENDAHULUAN
Bermain game merupakan salah satu aktifitas II. TEORITIS
yang sangat disukai oleh sebagian besar masyarakat A. Aturan Permainan Checkers
di dunia ini. Alasan mereka bermain game tentunya Menurut jimloy Checkers ialah suatu permainan
berbeda-beda, ada yang untuk melepas lelah, ada juga papan dengan menggunakan keterampilan murni dari
yang memang suka atau hobi bermain game. Dengan dua pemain yang mengikuti sejumlah aturan-aturan
berkembangnya teknologi sekarang ini, game – game dalam permainan, dan berusaha untuk memenangkan
ini tidak hanya dapat kita jumpai pada kehidupan permainan dengan cara memakan semua bidak lawan
nyata, tapi juga dapat kita jumpai di dalam dunia dalam papan atau dengan membuat semua bidak
maya. Jenisnya pun semakin banyak dan bervariasi. lawan tidak dapat melakukan gerakan.
Salah satu yang cukup menarik perhatian adalah
permainan komputer. B. Algoritma
Permainan- permainan berbasis komputer ini Dalam matematika dan komputasi, algoritma
juga bermacam-macam. Salah satu kelebihannya merupakan kumpulan perintah untuk menyelesaikan
adalah kita tidak harus mencari orang untuk menjadi suatu masalah. Perintah-perintah ini dapat
lawan tanding jika ingin bermain karena permainan diterjemahkan secara bertahap dari awal hingga
berbasis komputer ini sudah mendukung single- akhir. Masalah tersebut dapat berupa apa saja,
player mode dimana kita dapat bermain sendiri dengan catatan untuk setiap masalah, ada kriteria
melawan komputer yang dirancang untuk dapat kondisi awal yang harus dipenuhi sebelum
berlaku seperti pemain manusia atau yang sering menjalankan algoritma. Algoritma akan dapat
dikenal dengan Artificial Inteligince (AI). Contoh – selalu berakhir untuk semua kondisi awal yang
contoh permainan yang menggunakan AI adalah memenuhi kriteria, dalam hal ini berbeda dengan
permainan catur, go, othello, checkers, bridge, tic- heuristik. Algoritma sering mempunyai langkah
tac-toe dan lain sebagainya. Untuk membuat pemain pengulangan (iterasi) atau memerlukan keputusan
merasa seperti melawan pemain manusia lainnya, (logika Boolean dan perbandingan) sampai
diperlukan suatu algoritma yang dapat membuat AI tugasnya selesai. Desain dan analisis algoritma
ini mampu mengambil keputusan yang terbaik agar adalah suatu cabang khusus dalam ilmu komputer
dapat mengalahkan pemain atau setidaknya yang mempelajari karakteristik dan performa dari
menghalau pemain menang. Algoritma minimax ini suatu algoritma dalam menyelesaikan masalah,
merupakan algoritma yang sangat sering dipakai terlepas dari implementasi algoritma tersebut.
untuk permasalah tersebut dalam permainan Dalam cabang disiplin ini algoritma dipelajari
checkers. secara abstrak, terlepas dari sistem komputer atau
Checkers ialah suatu permainan papan dengan bahasa pemrograman yang digunakan. Algoritma
menggunakan keterampilan murni dari dua pemain yang berbeda dapat diterapkan pada suatu
yang mengikuti sejumlah aturan-aturan dalam masalah dengan kriteria yang sama.Kompleksitas
permainan, dan berusaha untuk memenangkan dari suatu algoritma merupakan ukuran seberapa
permainan dengan cara memakan semua bidak lawan banyak komputasi yang dibutuhkan algoritma
dalam papan atau dengan membuat semua bidak tersebut untuk menyelesaikan masalah. Secara
lawan tidak dapat melakukan gerakan. informal, algoritma yang dapat menyelesaikan

28
Jurnal Riset Komputer (JURIKOM), Vol. 2 No. 6, Desember 2015
ISSN 2407-389X (Media Cetak)
Hal : 28-32

suatu permasalahan dalam waktu yang singkat Minimax. Hasilnya adalah jika terdapat posisi
memiliki kompleksitas yang rendah, sementara yang pernah ditenukan sebelumnya, akan
algoritma yang membutuhkan waktu lama untuk dimunculkan sebagai posisi terminal pada pohon
menyelesaikan masalahnya mempunyai pencarian. Sehingga, pencarian akan semakin mudah
kompleksitas yang tinggi. karena nilai posisi diambil dari hasil pencarian yang
telah dilakukan sebelumnya. Satu masalah awal yang
C. Algoritma Minimax ditemukan adalah program tidak mendukung untuk
Minimax merupakan algoritma yang digunakan melangkah langsung menuju kemenangan. Solusi
untuk menentukan pilihan agar memperkecil pencegahan adalah dengan mengurangi sedikit
kemungkinan kehilangan nilai maksimal. Algoritma nilai posisi setiap tahap (disebut ply) pada analisis
ini dapat diterapkan dengan baik pada permainan Minimax. Jika program berhadapan dengan pilihan
yang melibatkan dua pemain yang saling bergantian posisi dengan nilai yang hanya dibedakan oleh
seperti tic-tac-toe, othello, Checker, catur, go, dan ply, maka program akan secara otomatis
permainan yang menggunakan strategi atau logika melangkah pada pilihan yang paling
lainnya (Nadhira Ayuningtyas, 2008). menguntungkan..
Algoritma Minimax merupakan salah satu
implementasi dari pencarian DFS (Depth-First F. Microsoft Visual Basic
Search) dalam melakukan pencarian pada pohon. Merupakan sebuah bahasa pemrograman
DFS akan menelusuri simpul paling dalam terlebih yang bersifat event driven dan menawarkan
dahulu. Setelah simpul akar dibangkitkan, algoritma Integrated Development Environment (IDE) visual
ini akan membangkitkan simpul pada tingkat kedua, untuk membuat program aplikasi berbasis sistem
yang akan dilanjutkan pada tingkat ketiga, dst. operasi Microsoft Windows dengan menggunakan
model pemrograman Common Object Model
D. Alpha-Beta Pruning (COM). Visual Basic merupakan turunan bahasa
Dalam algoritma Minimax, pencarian dilakukan BASIC dan menawarkan pengembangan aplikasi
pada seluruh bagian pohon, sementara sebagian komputer berbasis grafik dengan cepat, akses ke
pohon tidak seharusnya diperiksa. Alpha-beta basis data menggunakan Data Access Objects
pruning merupakan modifikasi dari algoritma (DAO), Remote Data Objects (RDO), atau ActiveX
Minimax, yang akan mengurangi jumlah node yang Data Object (ADO), serta menawarkan pembuatan
dievaluasi oleh pohon pencarian. Pencarian untuk kontrol ActiveX dan objek ActiveX. Beberapa bahasa
node berikutnya akan dipikirkan terlebih dahulu. skrip seperti Visual Basic for Applications (VBA)
Algoritma ini akan berhenti mengevaluasi langkah dan Visual Basic Scripting Edition (VBScript), mirip
ketika terdapat paling tidak satu kemungkinan seperti halnya Visual Basic, tetapi cara kerjanya
yang ditemukan dan membuktikan bahwa langkah yang berbeda. Para programmer dapat membangun
tersebut lebih buruk jika dibandingkan dengan aplikasi dengan menggunakan komponen-
langkah yang diperiksa sebelumnya. Sehingga, komponen yang disediakan oleh Microsoft Visual
langkah berikutnya tidak perlu dievaluasi lebih Basic Program-program yang ditulis dengan Visual
jauh. Dengan algoritma ini hasil optimasi dari Basic juga dapat menggunakan Windows API, tapi
suatu algoritma tidak akan berubah. Berikut membutuhkan deklarasi fungsi eksternal
merupakan pohon dengan algoritma alpha-beta tambahan.IDE (Integrated Development
pruning Environment) adalah program komputer yang
memiliki beberapa fasilitas yang diperlukan dalam
E. Penerapan Algoritma Minimax Pada pembangunan
Permainan Chekers
Penerapan algoritma Minimax dalam checkers III. ANALISA dan PEMODELAN
dibuat berdasarkan prosedur Minimax untuk A. Analisa
mendapatkan langkah terbaik dari posisi yang Kecerdasan buatan merupakan salah satu bidang
ada. Setiap posisi memiliki nilai yang dapat ilmu yang penting pada ilmu komputer. Banyak
dihasilkan dari langkah terbaik, dengan berasumsi permainan komputer yang memanfaatkan kecerdasan
bahwa AI akan selalu mencoba memaksimalkan buatan untuk membuat permainan tersebut bertindak
nilai, ketika lawan akan mencoba untuk cerdas dengan memilih langkah terbaik pada
meminimalkannya.Ketika prosedur minimax permainan. Tetapi banyak orang yang memainkan
mencapai akar pada pohon pencarian (posisi saat permainan tersebut tidak mengerti cara kerja dari
tersebut), akan menghasilkan langkah terbaik kecerdasan buatan itu sendiri.
dengan asumsi lawan akan menggunakan kriteria Dahulu game checkers ini dimainkan dengan
evaluasi yang sama. Beberapa versi program yang menggunakan papan dengan ukuran 8x8, karena
dibuat kebanyakan telah menerapkan algoritma perkembangan terus meningkat terutama di dunia
pemotongan alpha-beta.Terdapat dua macam teknologi maka permainan checkers ini dapat
metode, yang disebut rote learning. Metode dimainkan dengan menggunakan komputer. Dengan
tersebut memiliki penyimpan untuk setiap posisi dimainkanya permaianan checkers di computer
yang ditemui selama permainan dengan tidak berarti memberikn kemudahan untuk
menghilangkan nilai yang ditentukan oleh prosedur
29
Jurnal Riset Komputer (JURIKOM), Vol. 2 No. 6, Desember 2015
ISSN 2407-389X (Media Cetak)
Hal : 28-32

memainnkannya di bandingkan dengan menggunakan Untuk menginstal aplikasi system operasi, dapat
papan tersebut. dilakukan dengan melakukan instalasi aplikasi
system operasi yang telah ada dalam paket instalasi
B. Storyboard aplikasi yang dibangun. Tahapan persiapan perangkat
Checkers ialah suatu permainan papan dengan lunak dapat dilakukan dalam waktu satu hari dan
menggunakan keterampilan murni dari dua pemain cukup dilakukan oleh satu orang personil.
yang mengikuti sejumlah aturan-aturan dalam Pengujian pada sistem yang baru dibangun
permainan, dan berusaha untuk memenangkan dilakukan melalui dua tahap yaitu pengujian aplha
permainan dengan cara memakan semua bidak lawan (fungsional) dan pengujian betha. Metode yang
dalam papan atau dengan membuat semua bidak digunakan dalam pengujian aplha adalah metode
lawan tidak dapat melakukan gerakan. blackbox yang fokus pada persyaratan fungsional dari
Papan checkers tersusun oleh 64 persegi perangkat lunak yang dibangun, sedangkan metode
bergantian antara sisi gelap dan terang, yang disusun untuk pengujian betha adalah dengan memberikan
ke dalam satu kumpulan persegi yang terdiri dari 8 kuesioner kepada pengguna yang menggunakan
baris dan 8 kolom. aplikasi yang dibangun. Tahap pengujian sistem
dilakukan dalam waktu 15 hari dengan jumlah
personil satu orang yang bertindak sebagai
programmer dan sebagai analis.

Gambar 1. Papan Checkers

C. Creative Strategy
Didalam permaian checkers perlu dilakukannya
strategi untuk memenangkan permainan tersebut,
karena permainan tersebut sangatlah bebrpengaruh Gambar 2. Desain Permainan
kepada strategi yang kita lakukan.strateginya yaitu
1. Dengan mengubah bidak sebanyak-banyaknya A. Pengujian Aplha
menjadi raja, karena dalam menjadi raja bidak Pengujian aplha adalah pengujian yang fokus
tersebut memiliki peluang terbesar untuk pada persyaratan fungsionaldari perangkat lunak
mengalahkan. yang dibangun.
2. Dengan berjalan bidak di paling pinggir maka, Pengujian sistem sesuai dengan rencana yang
bidak tersebut tidak akan dapat di makan oleh telah ditentukan menghasilkan data sebagai berikut:
bidak lawan, karena semakin banyak bidak maka
kesempatan menang lebih besa Tabel 2. Pengujian Permainan

IV. PERANCANGAN DAN PENGUJIAN


Tahapan pembentukan data awal dilakukan
sebelum pembangunan aplikasi oleh programmer,
rincian dari data awal sebelumnya telah direncanakan
dalam tahap perancangan sistem. Tahapan ini
membutuhkan waktu satu hari dalam pengerjaannya.
Perangkat lunak yang digunakan untuk
mengimplementasikan sistem yang baru dibangun
terdiri dari dua jenis yaitu perangkat lunak sistem
operasi dan perangkat lunak pendukung. Perangkat
lunak minimum yang dibutuhkan yaitu:

Tabel 1. Persiapan Perangkat Lunak

Agar aplikasi yang dibangun dapat dijalankan Hasil pengujian dari pengujian Aplha yang telah
maka komputer yang akan menggunakan aplikasi ini dilakukan, menunjukan bahwa aplikasi yang
harus sudah menginstal aplikasi system operasi. dibangun sudah memenuhi persyaratan fungsional.
30
Jurnal Riset Komputer (JURIKOM), Vol. 2 No. 6, Desember 2015
ISSN 2407-389X (Media Cetak)
Hal : 28-32

Akan tetapi pada prosesnya masih memungkinkan


untuk terjadinya kesalahan, namun frekuensi
kesalahan masih relatif kecil, dikarenakan dalam
perancangan telah dirancang sistem untuk menangani
kemungkinan kesalahan proses yang terjadi. Secara
fungsional sistem yang telah dibangun sudah dapat
menghasilkan keluaran yang diharapkan.

B. Pengujian Betha
Pengujian betha merupakan pengujian yang
dilakukan secara objektif, pengujian ini dilakukan Berdasarkan hasil pengujian Betha, dicari
oleh user yang akan menggunakan aplikasi yang prosentase masing-masing jawaban dengan
dibangun. Pengujian dilakukan terhadap 10 orang menggunakan rumus:
yang akan berhubungan dengan aplikasi yang Y=P/Q*100%
dibangun. Dari hasil kuesioner tersebut akan Keterangan:
dilakukan perhitungan untuk dapat diambil P = banyaknya jawaban responden tiap soal
kesimpulannya terhadap penilaian penerapan sistem Q = jumlah responden
yang baru. Kuesioner terdiri dari 5 pertanyaan Y = nilai prosentase
(contoh kuesioner terlampir) dengan menggunakan Hasil perhitungan prosentase masing-masing jawaban
skala jawaban 1 sampai 7, dengan ketentuan skala sebagai berikut:
untuk setiap pertanyaan sebagai berikut: Untuk Pertanyaan No 1
“Bagaimana proses pengolahan data menggunakan
perangkat lunak yang dibangun”

31
Jurnal Riset Komputer (JURIKOM), Vol. 2 No. 6, Desember 2015
ISSN 2407-389X (Media Cetak)
Hal : 28-32

Berdasarkan hasil pengujian betha dapat


disimpulkan bahwa Aplikasi permainan ini cukup
mudah untuk dimainkan, memiliki tampilan yang
bagus, permainan yg cukup cepat dan informasi yang
dihasilan lebih akurat.

V. KESIMPULAN
Berdasarkan hasil pengujian, maka dapat diambil
beberapa kesimpulan sebagai berikut:
a. Permainan checkers merupakan permainan
yang dimainkan oleh dua orang dengan tujuan
untuk menghabiskan kepingan yang dimiliki
lawan.
b. Dalam pembuatannya dengan AI, permainan
ini menerapkan algoritma Minimax.
Algoritma Minimax memiliki dasar berupa
zero-sum game, dimana jika pemain
mendapatkan nilai tertentu maka pemain lain
akan kehilangan nilai yang sama dengan
pemain tersebut.
c. Dengan menambahkan nilai alpha-beta
algoritma Minimax akan memiliki pohon
pencarian yang lebih singkat sehingga akan
membutuhkan waktu singkat untuk melakukan
aksinya.

VI. DAFTAR PUSTAKA


1. Ayuningtyas, Nadhira. 2008. “Algoritma Minimax dalam
Permainan Checker”. Dalam Strategi Algoritmik. Bandung,
Indonesia: Institut Teknologi Bandung.
2. Coppin, Ben. 2004. Artificial Intelligence Illuminated.
United States of America: Jones and Bartlett.
3. Millington, Ian. 2006. Artificial Intelligence For Games.
United States of America: Morgan Kaufmann.
4. Stuart Russel and Peter Norvig. 2003. Artificial Inteligence
A Modern Approach. Second Edition. United States of
America: Prentice Hall.
5. Tim Jones, M. 2008. Artificial Intelligence A Systems
Approach. Hingham Massachusetts: David Pallai.
6. http://www.jimloy.com/checkers/checkers.html,tanggal
akses 20/052011

32

Anda mungkin juga menyukai