Algoritma Algoritma pada Board Game

8 Gambar 2.1 Struktur Kecerdasan Buatan pada Game Millington, 2006 Struktur kecerdasan buatan dapat dibagi menjadi tiga bagian, movement pergerakan, decision making pengambilan keputusan, dan strategy strategi. Dua bagian pertama movement dan decision making bekerja pada per-karakter yang ada pada game, sedangkan bagian strategy bekerja pada keseluruhan permainan. Tidak semua permainan membutuhkan ketiga bagian tersebut. Contohnya pada board game, hanya membutuhkan bagian ketiga, yaitu strategy. Movement artinya diperlukan sebuah algoritma yang membuat keputusan untuk melakukan sebuah gerakan. Sedangkan decision making diperlukan sebuah algoritma untuk memberi tahu langkah apa yang harus dilakukan selanjutnya oleh karakter dan tentunya setiap karakter memiliki batasannya masing-masing untuk mengambil sebuah keputusan. Dan bagian strategy berarti algoritma yang digunakan diterapkan pada seluruh karakter permainan, bukan algoritma yang hanya mengontrol satu karakter, tapi melibatkan pengontrolan seluruh grup karakter. Walaupun setiap karakter pada grup karakter memiliki pergerakan dan cara pengambilan keputusan yang berbeda-beda untuk setiap karakter, tapi tetap saja sebenarnya pergerakan seluruh bagian game dikontrol oleh strategi grup yang sama.

2.3 Algoritma

Algoritma adalah proses yang di lakukan langkah demi langkah yang menghasilkan sebuah solusi untuk menyelesaikan masalah pada kecerdasan buatan Millington, 2006. Contohnya saja algoritma untuk menemukan langkah terbaik untuk Universitas Sumatera Utara 9 memenangkan permainan, atau algoritma untuk menentukan langkah selanjutnya yang harus diambil karakter, dan masih banyak contoh lainnya. Algoritma membutuhkan struktur data untuk menyimpan data yang akan dipergunakan algoritma untuk diolah agar manghasilkan suatu solusi dari sebuah masalah. Algotitma banyak digunakan untuk menyelesaikan berbagai masalah pada computer science yang banyak diimplementasikan pada aplikasi seperti database system, expert system, robot control system, dan lain-lain. Pada sebuah game system, dibutuhkan mesin pencari pada inti aplikasinya. Ada banyak algoritma pencarian yang telah digunakan untuk meningkatkan efisiensi pencarian seperti branch and bound, alpha-beta pruning, algoritma minimax, dan lain-lain Borovska Lazarova, 2007.

2.4 Algoritma pada Board Game

Board game dijalankan dengan menerapkan algoritma turn-based yang biasanya hanya dimainkan oleh dua orang pemain yang bermain secara bergantian. Agar menang kita harus membuat lawan kita menjadi kalah. Jika menang kita mendapat point +1, dan lawan kita yang kalah akan mendapat poin -1. Ini disebut juga dengan zero-sum game Millington, 2006. Tidak peduli cara apa yang diambil, apakah mencoba untuk menang atau membuat lawan menjadi kalah akan menghasilkan hasil yang sama. Board game juga adalah permainan dengan perfect information. Perfect information berarti tidak ada informasi yang disembunyikan oleh kedua pemain Carolus, 2006. Tidak seperti dalam permainan kartu, contohnya poker, yang mana salah satu pemain tidak mengetahui informasi kartu lawan, begitu juga sebaliknya. Perfect information membuat kedua pemain mengetahui mengenai permainan yang akan dimainkan. Kedua pemain tahu hasil yang akan dicapai terhadap suatu langkah yang akan diambil, atau juga langkah selanjutnya yang bisa diambil setelah sebelumnya melakukan suatu langkah. Yang tidak diketahui hanyalah langkah yang akan diambil lawan. Namun tetap saja akan diketahui kemungkinan-kemungkinan langkah yang akan diambil lawan dan dampak untuk langkah kita selanjutnya. Pada dasarnya, algoritma minimax memiliki konsep pencarian dengan teknik Depth First Search DFS. DFS akan membuat semua kemungkinan langkah dalam bentuk pohon dimana cabang-cabangnya merupakan kemungkinan langkah yang Universitas Sumatera Utara 10 tercipta akibat langkah yang dibuat oleh parent node sampai akhirnya didapat salah satu pemain yang memenangkan permainan Timothy, 2014. Pada gambar 2.2 ditunjukan bagaimana pohon permainan untuk permainan tic tac toe. Gambar 2.2 Pohon Permainan dari Permainan Tic Tac Toe Borovska Lazarova, 2007 Setiap permainan turn-based dapat direpresentasikan dalam bentuk pohon permainan. Gambar 2.2 menunjukan pohon permainan dari permainan tic tac toe untuk dua langkah pertamanya. Setiap node pada pohon menunjukan posisi papan permainan dan setiap cabangnya menunjukan langkah yang dapat diambil. Jumlah cabang untuk setiap papannya adalah sama dengan jumlah dari langkah yang dapat diambil. Ada saatnya pada suatu posisi papan tidak ada lagi langkah yang bisa diambil. Itu berarti telah mencapai akhir permainan dan point akhir akan diberikan pada setiap pemain. Pada zero-sum games, point akhir setiap pemain jika ditambahkan akan sama dengan nol.

2.5 Algoritma Minimax