Anda di halaman 1dari 7

1 | P a p e r S t r a t e g i A l g o r i t m a

APLIKASI ALGORITMA GREEDY DALAM


PERMAINAN DOMINO
Dino Aviano (1204245)
Program Studi Ilmu Komputer
Fakultas Pendidikan Matematika dan Ilmu Pengetahuan Alam
Universitas Pendidikan Indonesia


ABSTRAK
Paper ini akan membahas sebuah teknik penggunaan algoritma Greedy untuk
menyelesaikan permainan Domino. Algoritma greedy dipillih karena
pemahaman dan implementasi nya yang mudah walaupun seringkali hasilnya
tidak optimal. Walaupun banyak strategi untuk menyelesaikan permainan
dominp, tapi tidak ada yang pasti bisa dipakai untuk memenangkan
permainan.
PENDAHULUAN
Latar Belakang
Permainan kartu Domino adalah permainan kartu generik dengan
media kartu yang berukuran 3x5 cm. Jumlah pemain bisa 2 sampai 4
orang. Pada kartu terdapat titik-titik yang berfungsi sebagai pengganti
angka. Permainan ini dimainkan dengan cara menyambung titik yang ada
di lapangan permainan dengan titik pada kartu yang ada pada tangan kita,
Pemenangnya adalah yang pertama kali menghabiskan kartu ditangannya.
Permainan ini banyak digemari di kalangan masyarakat pada level
menengah sehingga akan sangat menarik dibahas dan mudah
diimplementasikan. Paper ini akan membahas domino dengan 4 orang
pemain.
2 | P a p e r S t r a t e g i A l g o r i t m a


Cara bermain domino sangat mudah. Setiap pemain akan diberikan
7 buah kartu yang akan ia gunakan. Pemain yang pertama kali bermain
harus manaruhkan salah satu kartu balak yang dimilikinya, jika pemain
pertama tidak memiliki balak maka pemain pertama tidak dapat berjalan dan
giliran permain berikutnya yang jalan. Jika sudah ada 1 kartu yang
keluarkan, maka pemain berkutnya hanya dapat menurunkan kartu yang
memiliki nilai sama dengan salah satu nilai pada kartu yang ada.
Lalu pemain selanjutnya dan seterusnya hanya dapat mengisi
pada ujung-ujung kartu yang belum disii. Sehingga hanya ada 2 buah
tempat yang dapat disi oleh pemain selanjutnya.
Pemenang dari permainan domino adalah pemain yang pertama
kali menghabiskan kartu yang dimilikinya. Jika pada permainan tersebut
tidak ada pemain yang dapat menghabiskan kartunya terlebih dahulu dan
tidak ada lagi pemain yang dapat menaruhkan kartunya maka permainan
diangap selesai, dengan pemenang yang memiliki nilai kartu yang paling
sedikit.
3 | P a p e r S t r a t e g i A l g o r i t m a

ALGORITMA PENYELESAIAN
Algoritma Greedy merupakan algoritma yang menghasilkan
solusi optimum melalui penyelesaian langkah per langkah (step by
step) dengan menerapkan 2 hal berikut pada tiap langkahnya:
a. Pilihan yang diambil merupakan pilihan terbaik yang dapat
diperoleh pada saat itu tanpa memperhatikan konsekuensinya
ke depan nanti, hal ini bersesuaian dengan prinsip Algoritma
Greedy yaitu take what you can get now.
b. Berharap dengan memilih pilihan terbaik saat itu (optimum
lokal/local optimum) dapat mencapai solusi terbaik dari
permasalahan yang dihadapi (optimum global/global optimum).
Dalam algoritma Greedy diasumsikan bahwa optim um lokal
merupakan bagian dari optimum global. Sedangkan untuk
aplikasinya algoritma Greedy digunakan untuk pemecahan
yang memerlukan solusi.

Dengan Algoritma Greedy kita memilih kartu mana yang paling
pantas dikeluarkan. Ada beberapa kriteria pengeluaran kartu diantaranya:
Greedy by Value
Greedy by Balak
Greedy by Count







4 | P a p e r S t r a t e g i A l g o r i t m a

STRUKTUR ALGORITMA
Greedy by Value
Greedy by value akan mengeluarkan kartu yang memiliki nilai
paling besar yang bisa dikeluarkan terlebih dulu. Sehingga junlah nilai
kartu yang masih ada di pemain akan berkurang secara maksimal.
Dengan metode ini, jika permainan berakhirtanpa ada pemain yang
bisa menghabiskan kartunya maka akan menambah kemungkinan kita
untuk menang karena kita sudah mengeluarkan kartu yang bernilai besar
dari tangan kita. Berikut contoh penerapan greedy by value.

Angka diatas kartu adalah urutan keluar kartu jika kartu bisa
dikeluarkan.
Greedy by Balak
Kartu balak (memiliki titik sama di kedua sisi) memiliki
kemungkinan keluar lebih sedikit dari kartu lain. Karena itu kita perlu
mengeluarkan kartu balak terlebih dulu. Jika semua balak di tangan kita
sudah keluar baru kita melanjutkan permainan dengan algoritma lain,
seperti greedy by value atau greedy by count. Berkut contoh penerapan
greedy by balak diikuti greey by value.
5 | P a p e r S t r a t e g i A l g o r i t m a


Greedy by Count
Greedy by count adalah metode bermain aman, yaitu kita
mengeluarkan kartu yang nilai salah satu bagiannya paling banyak dari
pada opsi yang bisa dikeluarkan. Seperti pada gambar:

Pada tangan kita terdapat tiga buah titik 4, maka kita persiapkan
untuk dikeluarkan terlebih dulu, begitu seterusnya.
Tetapi kartu yang bernilai besar bisa jadi keluar lebih lama juga
kita bisa saja menyisakan balak di tangan dan jika permainan berakhir
tanpa pemenang resiko kalah akan lebih besar. Keuntungan metode ini
adalah menghindari kita dari pass.

6 | P a p e r S t r a t e g i A l g o r i t m a

Seluruh metode / strategi diatas adalah strategi defensive, kita tidak
mencoba mengalahkan lawan, kita hanya berusaha menghabiskan kartu di tangan.
Adapun beberapa strategi ofensif yang bisa diterapkan diantaranya:
Menghitung kartu yang belum keluar
Mengingat kartu yang tidak dimiliki lawan
Menahan ujung kartu di lapangan dengan angka yang hanya kita miliki




ANALISIS ALGORITMA
Greedy by Value, Balak, count hanya memikirkan diri sendiri, tidak
mempertimbangkan kemungkinan yang terjadi dari lawan. Padahal
Kemungkinan tersebut dapat dihitung.
Dari seluruh algoritma yang ada di atas, seluruh algoritma tersebut
memliki sifat defensive pada permainan. Karena tidak ada dari algritma
diatas yang membuan lawan kalah. Melainkan menahan diri untuk menang.
Untuk membuat algoritma offensive atau memlawan pemain lain.
Diperlukan banyak perhitungan, seperti menghitung kartu yang sudah keluar
dan memperkirakan kemungkinan siapa yang memiliki kartu yang belum
keluar tersebut. Bisa juga mengingat pemain yang pass dan mengingat kartu
yang tidak dia miliki dan membuat kedua ujung pada papan menjadi kedua nilai
tersebut.
Namun hal itu cukup sulit untuk diimplementasikan. Karena untuk
membuat algoritma offensive, pemain harus menentukan pilihannya untuk
menyerang pemain lain atau bertahan untuk menang. Untuk membuat strategi
algoritma seperti itu tentu saja tidak mudah karena kita harus memperhitungkan,
berapa kartu yang keluar, berapa banyak kartu yang keluar, kartu yang tidak
7 | P a p e r S t r a t e g i A l g o r i t m a

dimiliki pemain lain, kartu kartu yang dimiliki kita, permainan sudah pada turn
keberapa, dan lain lain.
Untuk itu kita perlu menangani pergantian strategi di tengah
permainan. Dan hal ini cukup sulit. Meskipun begitu, masih mungkin untuk
pergantian strategi ini untuk diimplementasika caranya.

KESIMPULAN
Walaupun metode menyelesaikan permainan domino dengan
menggunakan algoritma greedy bukanlah metode terbaik, tetapi di beberapa kasus
metode ini bisa cukup efektif untuk menyelesaikan permainan.
Untuk memenangkan permainan domino kita harus menyerang selain kit
juga harus bertahan. Kita juga harus tau kapan dan strategi mana yang harus
diterapkan. Tidak menutup kemingkinan dalam satu permainan kita menggunakan
banyak strategi atau berganti-ganti strategi sesuai kebutuhan situasional.
Pada intinya tidak ada satupun strategi yang pasti menghasilkan
kemenangan karena permainan ini memiliki faktor keberuntungan seperti
pembagian kartu dll.

REFERENSI
[1] Edwin Romelta Strategi Memenangkan Permainan Domino dengan
Mengunakan Algoritma Brute Force dan Greedy