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
Algoritma minimax adalah algoritma pohon permainan yang dibagi menjadi dua bagian, dimana pemain pertama merupakan computer player dan pemain kedua
merupakan human player. Minimax akan mencari jalan terbaik untuk computer player dan human player akan memainkan permainan dengan jalan terbaiknya sendiri. Dapat
diartikan bahwa minimax akan memaksimalkan nilai jika langkah diambil untuk computer player dan meminimalkan nilai jika langkah diambil untuk human player
Elnaggar et al., 2014.
Universitas Sumatera Utara
11
Jadi pada minimax, jika computer player memilih langkah yang akan diambil, minimax akan memilih langkah dengan keuntungan terbesar karena minimax akan
memaksimalkan nilai akhir computer player. Sedangkan saat human player jalan, tentu akan memilih langkah yang akan merugikan computer player atau dapat
dikatakan human player akan meminimalkan nilai akhir dari computer player. Minimax tentu saja diperuntukan untuk mencari nilai terbaik dalam permainan
berbasis zero-sum. Maksudnya, jika misalkan computer player yang mendapatkan nilai, maka human player akan mengalami kehilangan nilai dengan jumlah yang sama
dengan nilai yang didapat computer player, atau sebaliknya Plaat et al., 2012. Gambar 2.3 menunjukan bagaimana ilustrasi kerja dari algoritma minimax.
Gambar 2.3 Ilustrasi Kerja Algoritma Minimax Ben Coppin, 2004
2.6 Algoritma Negamax
Algoritma minimax dilihat berdasarakan sudut pandang computer player, sehingga minimax dapat mengetahui di setiap tahapan, dia harus memaksimalkan nilai atau
meminimalkan nilai tergantung tahapan tersebut milik computer player atau human player. Cara ini dapat diperbaharui dengan cara setiap ingin naik ke tahap selanjutnya
kita negasikan nilainya dan memilih nilai maksimal. Sudut pandangnya pun berubah, karena setiap pemain memilih langkah dengan nilai maksimal, maka sudut pandang
berubah disetiap gilirannya. Cara ini dapat disebut algoritma negamax. Perbedaan dari algoritma negamax dan minimax adalah negamax hanya
menggunakan fungsi maksimal dan tidak seperti algoritma minimax yang menggunakan kedua fungsi yaitu fungsi maksimal dan fungsi minimal. Ini dapat
dilakukan dengan menegasikan nilai yang dikembalikan dari point lawan daripada
Universitas Sumatera Utara
12
mencari nilai minimal Elnaggar et al., 2014. Hal ini dapat ditunjukan dengan menggunakan relasi matematika berikut:
Max a, b == -Min -a, -b Pada gambar 2.4 akan ditunjukan bagaimana ilustrasi kerja dari algoritma
negamax.
Gambar 2.4 Ilustrasi Kerja Algoritma Negamax Millington, 2006
2.7 Android