Permainan Congklak Mini
Permainan congklak adalah permainan tradisional jawa yang memerlukan strategi matematika untuk bisa memenangkannya. Permainan ini juga dikenal dengan istilah ‘dakon’ atau ‘dakonan’. Congklak dimainkan oleh 2 orang. Pada umumnya, permainan congklak menggunakan papan yang memiliki 16 lubang seperti mangkok. Setiap sisi memiliki 7 lubang untuk menampung biji yang awalnya masing-masing berisi 7 biji, sedangkan di kedua ujungnya memiliki lubang yang lebih besar untuk menampung biji hasil permainan. Semakin banyak lubang maka permainan akan semakin lama dan diperlukan strategi yang lebih untuk memenangkannya. Permainan ini bisa diterapkan menjadi permainan komputer dengan menggunakan Artificial Intelligence.
Kata Kunci : Minimax, Heuristik, Congklak, Dakon, Lubang, Mangkok, Biji, DOR.
Penjabaran Metode dan Masalah
Strategi permainan congklak yang kami buat akan diselesaikan menggunakan algoritma minimax. Algoritma minimax digunakan untuk menentukan langkah awal yang memberikan kesempatan menang lebih besar pada komputer. Algoritma minimax yang digunakan dibatasi sampai 3 kedalaman. Karena goal state dari permainan congklak dilihat dari banyaknya biji dalam mangkok, maka dibuat semua kemungkinan jalan untuk komputer yang akan menghasilkan biji lebih banyak dari lawan. Sedangkan, untuk menghasilkan keputusan terbaik akan dibandingkan menggunakan nilai heuristik.
Karena permainan congklak dengan 16 lubang membutuhkan waktu yang lama untuk menyelesaikannya. Maka, masalah yang akan kami pecahkan menggunakan 8 lubang yang terdiri dari 6 lubang kecil yang berisi 6 biji setiap lubangnya dan 2 lubang besar. Permainan dimainkan oleh 2 pemain yaitu, pemain komputer dan pemain lawan. Masing-masing pemain memiliki 3 lubang kecil dan 1 lubang besar. 1 lubang besar ini kami istilahkan dengan nama ‘mangkok’. Berikut adalah ilustrasi papan permainannya jika digambarkan dengan matriks:
Aturan Permainan
1. Congklak dimainkan oleh dua pemain yaitu, pemain komputer dan pemain lawan. 2. Masing-masing pemain memiliki 3 lubang kecil yang berisi 6 biji untuk
masing-masing lubangnya dan 1 mangkok. 3. Permainan dimulai dengan:
Pemain memilih biji pada lubang miliknya dan menjatuhkan setiap biji ke lubang permainan dan mangkok miliknya (mangkok lawan tidak diisi) searah jarum jam. 4. Permainan DOR jika :
a. Pemain menjatuhkan biji terakhir pada lubang miliknya yang kosong. i. Pada lubang lawan yang sejajar terdapat biji.
ii. Pemain dapat mengambil biji pada lubang lawan yang sejajar.
iii. Pemain menjatuhkan satu per satu biji yang didapat dari lubang lawan tadi di setiap lubang permainan dan mangkok miliknya.
b. Pemain menjatuhkan biji terakhir pada lubang miliknya yang kosong. i. Pada lubang lawan yang sejajar tidak terdapat biji (kosong).
ii. Pemain memasukkan biji terkakhir yang dijatuhkan pada mangkok miliknya. 5. Akhir giliran pemain jika :
a. Biji terakhir yang dijatuhkan pemain berada pada lubang kosong miliknya dan sudah mengambil 3 kali biji.
b. Biji terakhir yang dijatuhkan pemain berada pada lubang kosong milik lawan. c. Sudah mengambil biji sebanyak 3 kali.
6. Permainan berakhir jika :
Tidak ada lagi biji yang terdapat pada lubang pemain komputer atau pemain lawan.
7. Pemain menang jika :
Jumlah biji pada mangkoknya memiliki jumlah terbanyak.
Tahapan Penyelesaian Algoritma
1. Insialisasi biji dan lubang.
Seperti yang telah diilustrasikan pada penjabaran masalah. Berikut adalah susunan matriksnya yang menginisialisasi lubang dan bijinya. Sedangkan in akan
digunakan sebagai acuan pengambilan biji.
i1 i2 i3
6 6 6 0
6 6 6 0
i1 i2 i3
2. Pencarian kemungkinan langkah.
Keterangan :
x Ambil biji ke 1 (pada putaran pertama) x Ambil biji ke 2 (pada putaran kedua) x Ambil biji ke 3 (pada putaran ketiga)
x DOR
x Biji terakhir jatuh untuk 3x ambil biji
Case 1 : Pemain mengmbil biji pertama pada i1
Gambar 1.Pohon Pencarian Pengambilan Dimulai dari i1
Case 2 : Pemain mengmbil biji pertama pada i2
Gambar 2.Pohon Pencarian Pengambilan Dimulai dari i2
Case 3 : Pemain mengmbil biji pertama pada i3
Gambar 3.Pohon Pencarian Pengambilan Dimulai dari i3
3. Perhitungan nilai heuristik.
Sebuah fungsi heuristik ditentukan dengan faktor - faktor yang mempengaruhi permasalahan. Dari permasalahan tersebut, maka disimpulkan ada 3 kondisi yang mempengaruhi permainan congklak mini yaitu :
a. Total biji yang ada pada mangkok pemain komputer dan pemain lawan.
b. Permainan DOR, jika ada kondisi DOR maka nilai +1 dan jika tidak DOR maka nilai +0.
Mengacu pada 3 faktor di atas, fungsi heuristik dengan minimax untuk permainan congklak mini merupakan total dari beberapa heuristik yang rumusnya sebagai berikut:
H =
∑
i=1
n hi
Keterangan :
H = Total nilai heuristik permainan congklak mini n = Batas heuristik
hi = jumlah nilai heursitik pada kondisi tertentu.
Perhitungan heuristik pada masing masing kondisi dijabarkan sebagai berikut : a. Total biji dalam mangkok komputer pada akar kedalaman
h1 = mangkok_komputer – mangkok_lawan
Keterangan :
h1 = jumlah biji dalam mangkok
mangkok_komputer = jumlah biji dalam mangkok komputer mangkok_lawan = jumlah biji dalam mangkok lawan
b. Permainan DOR
+0 , jika tidak ada kondisi DOR h2 =
+1 , jika ada kondisi DOR
Keterangan :
h2 = jumlah biji hasil DOR
c. Total biji yang ada pada mangkok komputer sebelum akar kedalaman
h3 = mangkok_komputerj – mangkok_komputerj-1
Keterangan :
j = level akar kedalaman
Gambar 4. Pohon Pencarian 3 Akar Kedalaman dengan 3 Lubang 6 Biji
Perhitungan nilai heuristik akan dilakukan per tabel dahulu agar jelas. Tabel yang dihitung nilai heuristiknya adalah tabel pada akar kedalaman.
Heuristik akar C1 : h1 = 8 – 0 = 8 h2 = 0
h3 = 8 – 6 = 2
HC1 = h1 + h2 + h3 = 10
Heuristik akar C2 : h1 = 8 – 0 = 8 h2 = 0
h3 = 8 – 6 = 2
HC2 = h1 + h2 + h3 = 10
Heuristik akar C3 : h1 = 9 – 0 = 9 h2 = 1
h3 = 9 – 6 = 3
HC3 = h1 + h2 + h3 = 13
h2 = 0
h3 = 17 – 14 = 3
HG2 = h1 + h2 + h3 = 20
Heuristik akar G3 : h1 = 16 – 0 = 16 h2 = 0
h3 = 16 – 14 = 2
HG3 = h1 + h2 + h3 = 18
Heuristik akar H1 : h1 = 25 – 0 = 25 h2 = 1
h3 = 25 – 15 = 10 HH1 = h1 + h2 + h3 = 36
Heuristik akar J1 : h1 = 17 – 0 = 17 h2 = 1
h3 = 17 – 14 = 3
HJ1 = h1 + h2 + h3 = 21
Heuristik akar K1 : h1 = 16 – 0 = 16 h2 = 1
h3 = 16 – 14 = 2
HK1 = h1 + h2 + h3 = 19
Heuristik akar K2 : h1 = 17 – 0 = 17 h2 = 0
h3 = 17 – 14 = 3
Gambar 5. Pohon Pencarian dengan Nilai Heuristik
4. Membandingkan nilai heuristik.
Gambar 6. Membandingkan Nilai Heuristik dengan Minimax
5. Didapatkan hasil.