Anda di halaman 1dari 5

Pembuatan Game NIM menggunakan Alpha-beta Pruning

Muhammad Arifin
Teknik Informatika
Politeknik Elekronika Negeri Surabaya
Institut Teknologi Sepuluh Nopember Surabaya
Email: kuplakseruru@gmail.com,

ABSTRAK

Nim merupakan jenis permainan game klasik, yang mengandalkan strategi sebagai elemen
utamanya. Permainan ini dimainkan oleh dua orang pemain dengan dengan diawali serangkaian
batang, dimana setiap pemain harus memecah serangkaian batang menjadi 2 kumpulan dimana jumlah
batang di tiap kumpulan tidak boleh sama dan tidak boleh kosong.
Permainan Nim yang dibuat dengan AI (Artificial Intelligence) tertentu. Pemanfaatan sistem
kecerdasan buatan ini diantaranya adalah untuk pembuatan aplikasi permainan yang cerdas, contohnya
adalah permainan Nim ini. Berbicara tentang Artificial Intelligence atau kecerdasan buatan, salah satu
teknologi computer dan mesin yang terus berkembang ini merupakan salah satu bagian dari ilmu
informatika yang mempunyai banyak sekali jenis algoritma. Terdapat banyak algoritma yang bisa
digunakan dalam permainan Nim ini, namun yang akan dibahas dalam tugas akhir ini adalah
algoritma Alpha-beta Pruning. Algoritma ini merupakan modifikasi dari algoritma Minimax.
Untuk mengimplementasikan permainan Nim ini, akan menggunakan teknologi pemograman
java Standart Edition (J2SE) yang diaplikasikan pada komputer dekstop.

Kata Kunci: Game NIM, Artificial Intelegent, Alpha-beta Pruning, Minimax.

ABSTRACT
Nim is a classic type of game play, which rely on strategy as its main element. The game is
played by two players with starting a series with the rod, where each player must break the series into
two sets stems where the number of stems in each collection must not be the same and can not be
empty.
Nim game created with AI (Artificial Intelligence) specific. Utilization of these artificial
intelligence systems for manufacturing applications include an intelligent game, this example is the
game Nim. Talking about Artificial Intelligence or artificial intelligence, computer technology and the
one evolving machine is one part of the science of informatics that has plenty of types of algorithms.
There are many algorithms that can be used in the game of Nim, but that will be discussed in this
thesis is the alpha-beta pruning algorithm. This algorithm is a modification of the Minimax algorithm.
To implement this Nim game, will use the Java programming technology Standart Edition
(J2SE), which was applied to the computer desktop.

Keywords: Game NIM, Artificial Intelegent, Alpha-beta pruning, Minimax.


1. PENDAHULUAN bernama GTGE yang berguna untuk
1.1 Latar Belakang memudahkan dalam pembuatan game dalam
Seiring dengan kemajuan pemograman Java, sehingga mudah
globalisasi, nuansa kompetitif makin dimainkan melalui komputer.
kental dalam keseharian manusia. Seiring
dengan itu, kecenderungan kegiatan
1.2 TUJUAN
didominasi oleh kegiatan-kegiatan yang
lebih banyak menkonsumsi stamina otak. Tujuan proyek akhir ini adalah untuk
Hal itu berbeda dengan kecenderungan membuat komputer (CPU) dapat bermain
kehidupan saja. Karena itu kebutuhan dengan manusia dalam permainan Game NIM
entertainment sangatlah vital saat ini. dengan menggunakan Alpha-beta Pruning.
Seiring dengan majunya dunia
entertainment, salah satu are entertainment
yang cukup banyak melibatkan scientist 1.3 PERMASALAHAN
dan artist adalah gaming industry. Dulunya
Permasalahan dalam pengerjaan proyek
game merupakan salah satu aspek
akhir ini adalah bagaimana
entertainment yang minor, hanya sebagai
mengimplementasikan metode Alpha-beta
selingan atau hiburan saja. Dan terkadang
Pruning ke dalam Game NIM.
jika terdapat orang yang teramat sangat
menggandrungi dunia game hal itu
dianggap sesuatu yang tidak normal.
Namun hal itu sedikit demi sedikit 1.4 BATASAN MASALAH
berubah. Ditandai dengan munculnya Pada pengerjaan proyek akhir ini
berbagai console yang cukup bervariasi digunakan batasan – batasan sebagai berikut :
menunjukkan bahwa dunia game tidak
sedikitpun “mati”, namun sedang a. Pembuatan Game NIM menggunakan
berkembang dengan hebatnya. Alpha-beta Pruning dibangun dengan
Permainan Game adalah sesuatu menggunakan bahasa pemrogramman
yang sangat menarik dan menjadi sub JAVA.
topik tersendiri di dalam Kecerdasan b. Game NIM hanya terdiri dari 2 pemain,
Buatan. Terdapat beberapa alasan kenapa yaitu pemain melawan computer AI atau
permainan game menjadi menarik, yaitu : pemain melawan pemain lainnya.
- Kriteria menang atau kalah jelas
- Dapat mempelajari permasalahan Batang yang digunakan dalam game NIM
- Alasan histori antara 5 sampai 15 batang.
- Menyenangkan
- Biasanya mempunyai search space
yang besar (misalnya game catur 2. TEORI PENUNJANG
mempunyai 35100 nodes dalam 2.1 Teori Game
search tree dan 1040 legal states)
Terdapat beberapa ciri umum pada Dalam dunia modern ini, penggunaan
permainan Game dalam Kecerdasan teknologi untuk menunjang kegiatan manusia
Buatan, yaitu : semakin banyak dan sangat berkembang. Salah
- Terdapat 2 pemain satu bentuk kebutuhan pokok manusia adalah
- Kesempatan pemain bergantian hiburan dan sebagai salah satu wujudnya
- Zero-sum : Kerugian seorang pemain adalah berbagai macam permainan.
adalah keuntungan pemain lain Ada berbagai macam permainan yang
- Perfect Information: pemain dapat kita temukan dewasa ini. Namun
mengetahui semua informasi state dari pernahkah kita berfikir apakah sebenarnya
game. yang dimaksud dengan permainan atau yang
- Tidak mengandung probabilistik lazim kita sebut game itu. Sesuatu dapat
(seperti dadu). dikatakan sebuah game jika memiliki ciri – ciri
Salah satunya permainan Nim ini yang umum yang ada pada game, yaitu :
merupakan game strategi yang berbasis  Memiliki 2 pemain.
Artificial Intelligence dalam  Kesempatan bermain bergantian.
implementasinya. Dimana pemain akan  Kerugian seorang pemain adalah
melawan computer sebagai lawan mainnya. keuntungan bagi pemain lain.
Permainan ini akan dibuat dalam  Pemain mengetahui seluruh informasi state
pemograman java berbasis J2SE dari game.
menggunakan Library game khusus yang

2
 Tidak mengandung probabilistik seperti yang memaksimalkan posisi pemain dan
dadu. meminimalkan posisi lawan.
2.5 Alpha-beta Pruning
2.2 Game NIM
Telah kita ketahui sebelumnya bahwa
Game NIM adalah sebuah game algoritma ini merupakan improvisasi dari
sederhana yang diawali dengan serangkaian algoritma Minimax. Algoritma ini untuk
batang dengan jumlah tertentu. Kemudian meningkatkan efisiensi fungsi Minimax dalam
pemain harus memecah serangkaian batang hal pencarian. Mengurangi jumlah pencarian
tersebut menjadi dua kumpulan dimana jumlah pada node-node Game NIM yang diexpand.
batang di setiap kumpulan tidak boleh sama Kemudian fungsi evaluasi ditambahkan
dan tidak boleh kosong. Contoh ilustrasi Game sepasang nilai Alpha dan Beta .
NIM dapat dilihat pada Gambar 2.1.
Dalam Game NIM, metode Alpha-beta
Pruning akan diterapkan pohon n-ary yang
telah terbentuk. Pada setiap cabang akan
memiliki nilai yang bertujuan memaksimalkan
pencarian dan meminimalkan waktu pencarian
pada pohon n-ary. Sedangkan fungsi evaluasi
sendiri adalah inialisasi pertama dalam metode
ini sebelum melakukan permainan. Berikut
nilai fungsi evaluasi dari metode Alpha-beta
Gambar 2.1 Ilustrasi Game NIM
Pruning.
- 0  MIN (player) menang
2.3 Artificial Intelligence (AI)
- 1  MAX (komputer) menang
Kecerdasan Buatan (dalam bahasa
inggris: Artificial Intelligence atau AI)
Berikut merupakan aturan untuk Alpha-
didefinisikan sebagai kecerdasan yang
beta Pruning:
ditunjukkan oleh suatu entitas buatan. Sistem
seperti ini umumnya dianggap komputer. - Pemangkasan Alpha : Pencarian dapat
Kecerdasan diciptakan dan dimasukkan ke dihentikan untuk simpul turunan
dalam suatu mesin (komputer) agar dapat selanjutnya jika setiap simpul MIN
melakukan pekerjaan seperti yang dapat memiliki nilai beta kurang dari atau
dilakukan manusia. Beberapa macam bidang sama dengan nilai alpha apapun dari
yang menggunakan kecerdasan buatan antara simpul MAX sebelumnya pada induk
lain sistem pakar, permainan komputer(games), yang sama.
logika fuzzy, jaringan saraf tiruan dan robotika.
- Pemangkasan Beta : Pencarian dapat
dihentikan untuk simpul turunan
selanjutnya jika setip simpul MAX
2.4 Minimax
memiliki nilai alpha lebih dari atau
Sebelum kita mengetahui algoritma sama dengan nilai beta apapun dari
Alpha-beta Pruning, ada kalanya kalau kita simpul MIN sebelumnya pada induk
juga mengetahui algoritma Minimax ini. yang sama.
Karena algoritma Alpha-beta Pruning
merupakan improvisasi dari algoritma Minimax
dalam pencarian, sehingga pencarian bisa 3. METODOLOGI
dilakukan se-minimum mungkin tetapi tidak Bab ini membahas perancangan dan
mengurangi kemampuan metode itu sendiri. pembuatan Game NIM with Alpha-beta
Minimax adalah sebuah prosedur pencarian Pruning yang pokok bahasan Artificial
yang melihat kedepan, memperhatiakan apa Intelligence pada Game NIM ini. Berikut
yang akan terjadi kemudian – yang digunakan Aliran proses Game NIM dengan Alpha-beta
untuk memilih langkah berikutnya. Asumsikan Pruning dilihat pada Gambar 3.1.
bahwa kita telah memiliki sebuah Static Board
Evaluator yang akan mengembalikan sebuah
bilangan yang menunjukan ”seberapa baiknya”
sebuah konfigurasi permainan.
John Von Neumann pada tahun 1944
menguraikan sebuah algoritma search pada
game, yang dikenal dengan nama Minimax ini,

3
User mengaktifkan aplikasi  Proses Penerapan Metode Alpha-beta
Pruning
Menu permainan Keluar

Dengan mengetahui pohon n-ary


User memilih jumlah batang NIM untuk
dari jumlah batang Game NIM, proses
Back to
dimainkan selanjutnya adalah dengan melakukan
main
menu
pencarian pada setiap childs sehingga
User memilih siapa yang bergerak
pertama
menghasilkan nilai fungsi evaluasi 0 atau
1. Misal pada kondisi batang NIM
sebanyak 7, kondisi batang ini memiliki
Permainan dimulai
memiliki turunan antara lain 6-1, 5-2, 4-2.
Ini sesuai dengan ilustrasi dari Game NIM
Komputer melakukan proses Alpha-
beta Pruning
itu sendiri seperti pada Gambar 3.9.

7
Permainan berakhir sampai jumlah
batang tidak dapat dipisahkan

6-1 5-2 4-3


Permainan dilakukan hingga 3 Ronde

Gambar 3.2 Ilustrasi Game NIM untuk


Gambar 3.1 Aliran Proses Game NIM with jumlah batang tujuh
Alpha-beta Pruning
Dari ilustrasi diatas, komputer
Dari aliran proses di atas dapat dilihat dituntut untuk memisahkan batang tujuh
bahwa sistem ini memiliki aliran proses itu sesuai dengan aturan Game NIM yang
permainan Game NIM itu sendiri pada saat telah dijelaskan pada Bab II. Kemudian
bermain. Dalam perancangan aliran proses memilih salah satu turunan dari kondisi
tersebut memiliki peran penting dalam batang 7. Pemilihan ini dilakukan
permainan. Untuk mempermudah penjelasan, berdasarkan fungsi evaluasi, dikarenakan
bab ini akan memiliki tiga sub bab, yaitu: komputer berlaku sebagai MAX, maka
turunan yang akan dipilih oleh komputer
1. Perancangan dan Pembuatan Metode yakni turunan yang memiliki fungsi
Alpha-beta Pruning evaluasi 1.
Pada proses ini akan dirancang sebuah 2. Perancangan dan Pembuatan Sistem
sistem yang dapat mengimplementasikan Permainan NIM
algoritma metode untuk Game NIM yang telah
penulis jelaskan pada Bab II, yakti teori pada Pada proses ini akan dijelaskan bagaimana
Alpha-beta Pruning. Untuk menerapkan membuat permainan Game NIM dengan
pencarian algoritma Alpha-beta Pruning menggunakan metode Alpha-beta Pruning
dibutuhkan pohon (tree) n-ary dari jumlah yang telah dilakukan sebagai Aritificial
batang yang diinput dari user. Untuk Intelligent (AI).
menjabarkan aliran proses Alpha-beta Pruning
yang telah diterangkan penulis akan membagi Untuk memulai permainan NIM, sistem
sub bab ini menjadi beberapa bagian, yaitu: perlu mengetahui 3 attribut yakni jumlah
batang, pemain yang bermain dulu, dan metode
 Perancangan dan Pembuatan Pohon yang akan digunakan. Untuk metode Minimax
Game NIM. pada project kali hanya untuk membuktikan
bahwa metode Alpha-beta Pruning merupakan
Dalam proses ini akan dibuat suatu improvisasi dari metode Minimax.
pohon n-ary yang dalam artian lain pohon
yang terbentuk memiliki jumlah turunan
yang tidak pasti yang kemudian 4. ANALISA
dilambangkan dengan nilai “n”.
Sebagaimana sebuah pohon maka suatu Membandingkan Jumlah Node yang
node dari pohon tersebut haruslah dapat Dilewati Oleh Minimax dan Alpha-beta
mengenali cabang - cabangnya dan setiap Pruning dengan Jumlah Batang Mulai dari
cabang – cabang tersebut juga harus dapat 7 hingga 15.
mengenali cabang miliknya sendiri hingga Analisis kali ini adalah
berakhir pada cabang yang sudah tidak membandingkan Jumlah Node yang dilewati
memiliki cabang lagi. oleh metode Minimax dan Alpha-beta Pruning

4
dengan jumlah batang mulai dari 7 hingga 15 5. Alpha-beta Pruning dapat mereduksi
batang. Hal ini untuk membuktikan bahwa pencarian jumlah Node yang dilakukan
metode Alpha-beta Pruning merupakan Minimax sebanding dengan jumlah leaf-
improvisai dari metode Minimax. Berikut hasil nya. Semakin besar #leaf maka semakin
jumlah node yang dilewati oleh masing-masing besar reduksi yang dilakukan oleh Alpha-
metode. beta Pruning.
Tabel 4.1 Perbandingan jumlah Node yang B. Saran
dilewati metode Minimax dengan Alpha-beta
Dalam pembuatan Game NIM
Pruning.
menggunakan Alpha-beta Pruning terdapat
Jumlah Node yang Di banyak sekali kekurangan yang karena
lewati keterbatasan waktu, biaya serta pikiran, tidak
Jumlah Jumlah
Batang Node dapat dilakukan. Maka untuk tahap
Minimax Alpha-beta pengembangan selanjutnya, ada beberapa hal
Pruning yang penulis inginkan untuk diperbaiki
diantaranya:
7 26 22 15
1. Penulis yakin masih banyak
8 58 54 36 kekurangan disana-sini, oleh
karenanya pengembangan selanjutnya
9 176 171 76 sangatlah diperlukan.

10 470 465 112


Daftar Pustaka
11 1.687 1.681 353
[1] Entin Martiana, Tessy Badriyah, Riyanto
Sigit, 2007, ”Modul Ajar Kecerdasan
12 5.595 5.589 635
Buatan”, Jurusan Teknologi Informasi,
13 22.178 22.171 1.389 Politeknik Elektronika Negeri Surabaya
Institut Teknologi Sepuluh Nopember
14 82.370 82.363 3.427
Surabaya
15 372.074 372.066 10.671
[2] Artificial intelligence (Teori dan
Aplikasinya), Sri Kusumadewe, cetakan
5. PENUTUP
pertama, Penerbit Graha Ilmu, 2003.
A. Kesimpulan
[3] Rangsang Purnama, Pemrograman GUI
Dari hasil analisa program dapat diambil
beberapa kesimpulan sebagai berikut : menggunakan JAVA, Penerbit Prestasi

1. Sistem yang dibuat memungkinkan Pustaka Publisher, Surabaya, 2007


manusia untuk bermain Game NIM [4] Sri Hartati, Herry Suharto, Soesilo Wijono,
dengan komputer.
Pemrograman GUI Swing Java, Penerbit
2. Dengan menggunakan Library Game
GTGE, tampilan game lebih menarik, dan ANDI , Yogyakarta, 2006
mudah untuk dimainkan. [5] Ali Ridho Barakbah, Game Theory
3. Game NIM yang dibuat bersifat dinamis, [6] Sri Kusumadewi, Artificial Intelligence
namun dikarnakan proses perhitungan
yang sangat banyak jumlah batang game (Teknik dan Aplikasinya), edisi I, penerbit
NIM terbatas oleh heap memory pada java. Graha Ilmu, Yogya, 2003.
4. Kelemahan dari metode Minimax adalah [7] Game Playing, Graham Kendall.
waktu eksekusi yang dibutuhkan
sebanding dengan jumlah leaf-nya.
Sehingga jika #leaf lebih besar, maka
permasalahan akan semakin kombinatorik.
Hal ini diperbaiki dengan sebuah metode
dinamakan Alpha-beta Pruning.

Anda mungkin juga menyukai