BAB I PENDAHULUAN
1.1 Latar Belakang
merupakan salah satu contoh yang baik dan cukup sederhana untuk kita mengerti bagaimana cara kerja dan efeknya.
1.2 Identifikasi Masalah
Algoritma minimax merupakan algoritma yang cukup terkenal dalam bidang kecerdasan buatan. Dimana dengan algoritma tersebut komputer dapat mengambil keputusan terbaik untuk menyelesaikan masalah. Masalah yang akan diangkat disini adalah AI untuk permainan tic-tac-toe , dimana AI tersebut tidak akan pernah kalah. Dengan algoritma minimax ini, pohon solusi akan dibuat dari awal permainan sampai akhir permainan dimana semua kemungkinan kondisi dijadikan simpul dari pohon solusi, sehingga AI tinggal memilih langkah yang akan menuntunnya ke hasil akhir berupa kemenangan atau setidaknya seri.
1.3 Batasan Masalah
Linkup permasalahan yang akan dibahas pada makalah ini adalah penggunaan algoritma minimax untuk membuat AI yang dapat mencari dan menentukan keputusan terbaik dalam permainan tic-tac-toe sedemikian sehingga AI tersebut tidak akan pernah kalah.
1.4 Maksud dan Tujuan Penelitian
algoritma minimax diharapkan dapat menentukan keputusan terbaik dalam permainan tic-tac-toe sedemikian sehingga AI tersebut tidak akan pernah kalah.
1.5 Metode Penelitian
Metode penelitian merupakan suatu mekanisme, teknik atau cara untuk mencari, memperoleh, mengumpulkan, atau mencatat data yang dapat digunakan untuk menyusun karya ilmiah atau penelitian dengan prosedur yang didasarkan pada suatu struktur logis yang terdiri dari beberapa tahapan kerja dan kemudian menganalisa faktor-faktor yang berhubungan dengan pokok-pokok permasalahan sehingga akan didapat suatu kebenaran atas data yang diperoleh. Penyusunan makalah ini menggunakan metode deskriptif, yaitu mengumpulkan data kemudian menganalisanya serta memaparkan hasil penelitian.
1.6 Sistematika Penulisan
Sistematika Penulisan laporan skripsi terdiri dari VI BAB dengan perincian sebagai berikut :
BAB I Pendahuluan
BAB II Landasan Teori
Pada bab ini memaparkan teori-teori dan landasan pengetahuan yang relevan dengan makalah ini. Berisikan teori Game AI, Permainan tic-tac-toe serta teori-teori yang berhubungan dengan permasalahan yang dibahas.
BAB III Algoritma Minimax
Pada bab ini akan diuraikan mengenai algoritma minimax, bagaimana algoritma minimax dalam aplikasi permainan tic-tac-toe.
BAB IV Implementasi Algoritma Minimax
Pada bab ini membahas bagaimana algoritma minimax diimplementasikan ke dalam permainan tic-tac-toe..dan hasil analisis dari algoritma minimax dalam permainan tic-tac-toe. BAB V Hasil Analisis
Pada bab ini berisi tentang hasil analisis dari algoritma minimax terhadap permainan tic-tac-toe.
BAB VI Kesimpulan dan Saran
BAB II
LANDASAN TEORI
2.1 Game AI
Game AI adalah aplikasi IB untuk memodelkan karakter yang terlibat dalam permainan baik sebagai lawan, ataupun karakter pendukung yang merupakan bagian dari permainan tetapi tidak 'ikut bermain' (NPC ~ Non Playable Characters). Ada beberapa karakter dalam game AI yaitu:
1. Karakter antagonis (Opponent AI)
Karakter antagonis adalah karakter yang dalam permainan memiliki tujuan yang sama dengan pemain yaitu memenangkan permainan. untuk mewujudkan tujuan ini karakter tersebut dapat melakukan aksi kepada pemain dan sebaliknya pemain dapat melakukan aksi kepada karakter lawan yang sesuai dengan aturan permainan. contoh sederhana dari karakter antagonis adalah dalam permainan pertarungan (fighting). karakter lawan adalah karakter yang harus 'dikalahkan' oleh pemain dengan melakukan aksi (serangan). fungsi IB pada karakter antagonis adalah melakukan aksi-aksi yang dapat memperbesar peluang karakter tersebut untuk menang.
2. Karakter Pendukung (NPC AI)
adalah pada game RPG. Karakter NPC pada permainan bergenre RPG pada umumnya memberikan informasi implisit kepada karakter tentang hal-hal yang berkaitan dengan cerita dalam permainan ataupun panduan bagi pemain mengenai tujuan permainan. fungsi IB pada karakter pendukung adalah menentukan dialog dengan pemain sedemikian rupa sehingga seolah-olah karakter tersebut tampak nyata bagi pemain (life-like).
Peranan IB dalam hal interaksi pemain dengan permainan adalah pada penggunaan interaksi yang bersifat alami yaitu yang biasa digunakan manusia untuk berinteraksi dengan sesama manusia. contoh-contoh media interaksi antara lain :
a. penglihatan (Vision)
Untuk menggunakan informasi penglihatan biasanya menggunakan kamera sebagai perangkat untuk mendapatkan data. data yang ditangkap adalah berupa gambar / citra yang merupakan matriks dua dimensi. matriks tersebut dianalisa sesuai dengan kebutuhan aplikasi sehingga didapatkan informasi yang diinginkan (misal pembentukan wajah, deteksi gerakan, rekonstruksi ruang).
b. suara (voice) atau ucapan (speech)
misalnya untuk permainan bergenre RTS (wargames) yang menterjemahkan perintah dari pemain untuk menggerakkan unit. Contoh lainnya adalah permainan balap kendaraan yang menentukan akselerasi dari suara pemain yang menirukan suara mesin.
c. gerakan anggota badan (gesture)
Gesture adalah gerakan sebagian anggota badan yang memiliki makna tertentu (disebut juga sebagai body language). Informasi gesture dapat diakuisisi dengan berbagai cara, diantaranya :
1. video (vision)
informasi deretan koordinat (gerakan) dihasilkan dari analisis terhadap rangkaian gambar terurut (video).
2. sensor jarak (range)
informasi deretan koordinat diukur dengan menggunakan sensor jarak. 3. sensor posisi yang menempel pada pemain
akhir-akhir ini beberapa produsen konsol memanfaatkan pengendali (controller) yang dapat menghasilkan informasi posisi /perubahan posisi pengendali pada ruang tiga dimensi. Salah satu contoh konsol yang menggunakan ini adalah Nintendo Wii.
2.2 Permainan Tic-Tac-Toe
horizontal, vertikal, ataupun juga diagonal. Permainan ini biasanya dimainkan oleh 2 orang pemain, tapi pada versi permainan komputer, pemain lawan dapat digantikan oleh komputer. Dalam permainan ini hasilnya dapat berupa
menang,kalah, ataupun seri.
Berikut contoh permainan tic-tac-toe :
Gambar 2.1 Contoh kondisi menang pada permainan tic-tac-toe
BAB III
ALGORITMA MINIMAX
Algoritma minimax merupakan basis dari semua permainan berbasis AI seperti permainan catur misalnya. AI permainan catur tentunya sudah sangat terkenal dimana AI tersebut bahkan dapat mengalahkan juara dunia sekalipun. Pada algoritma minimax, pengecekan akan seluruh kemungkinan yang ada sampai akhir permainan dilakukan. Pengecekan tersebut akan menghasilkan pohon permainan yang berisi semua kemungkinan tersebut. Tentunya dibutuhkan resource yang berskala besar untuk menangani komputasi pencarian pohon solusi tersebut berhubung kombinasi kemungkinan untuk sebuah permainan catur pada setiap geraknya sangat banyak sekali.
Berbeda dengan permainan catur, permainan tic-tac-toe ini mempunyai lebih sedikit kemungkinan solusi, sehingga kita akan mempunyai cukup komputasi untuk memainkan setiap kombinasi langkah dari setiap posisi dan kondisi. Namun hal ini dapat dihindari dengan membatasi sejauh mana komputer akan menganalisis hasil dari langkahlangkah yang mungkin (menentukan kedalaman pohon). Tetapi dengan hal ini, kita harus menambah kedalaman pohon tersebut setiap langkahnya agar kedalaman pohon pada state tersebut sama dengan state sebelumnya.
langkah pertama komputer akan menganalisis seluruh pohon permainan. Dan untuk setiap langkahnya, komputer akan memilih langkah yang paling membuat lawan mendapatkan keuntungan minimum, dan yang paling membuat komputer itu sendiri mendapatkan keuntungan maksimum.
Berikut garis besar algoritma minimax secara umum :
Pemakaian algoritma umum diatas untuk permainan tic-tac-toe adalah sebagai berikut :
Cari langkah yang dengan nilai maksimum
IF langkah tersebut merupakan langkah kemenangan
THEN pilih lagkah tersebut.
ketiga masih kosong THEN tutup langkah tersebut
(isi spot kosong ketiga
tersebut).
ELSE melangkah ke state yang mempunyai
kemungkinan menang tertinggi (berdasarkan nilai
BAB IV
IMPLEMENTASI ALGORITMA MINIMAX
Anggaplah ada 2 pemain A dan B. Jika pemain A bisa menang dalam 1 langkah, maka langkah tersebut adalah langkah kemenangannya. Jika pemain B mengetahui bahwa langkah tersebut akan mengarahkan ke hasil akhir dimana pemain A akan menang, dan di lain kondisi ada langkah lain yang akan mengarahkan ke hasil akhir seri, maka langkah terbaik untuk pemain B adalah langkah yang akan mengarahkan hasil akhir permainan ke hasil seri. Di setiap tahap algoritma ini mengasumsikan bahwa pemain A mencoba untuk memaksimalisasi peluang menang. Di lain pihak, pada giliran berikutnya pemain B akan mencoba meminimalisir peluang menang untuk pemain A. Oleh karena itu, A disebut juga maximizing player (MAX) dan B disebut juga minimizing player
(MIN).
Gambar 3.1. Representasi pohon pencarian pada algoritma minimax.
Setelah itu nilai dari setiap simpul diisi dari bawah ke atas dengan nilai yang sudah dievaluasi oleh fungsi heuristic. Simpul milik pemain A (MAX) menerima nilai maksimum dari simpul-simpul anaknya. Simpul milik pemain B (MIN) akan memilih nilai minimum dari simpul anak-anaknya. 5 Berikut pseudocode dari algoritma yang digunakan :
BAB V HASIL ANALISIS
BAB VI
KESIMPULAN DAN SARAN
1. Algoritma minimax merupakan algoritma yang sangat bagus dan cocok untuk pengambilan keputusan oleh AI, terutama dalam permainan nplayer (n>=2).
2. Algoritma minimax menggunakan konsep DFS dalam pembentukan pohon solusi.
3. Pohon solusi dibentuk dari awal permainan sampai akhir permainan. 4. Untuk permainan yang terbilang cukup kompleks seperti permainan catur, pembentukan pohon solusi dari awal permainan sampai akhir permainan akan sulit direalisasikan berhubung kemungkinan yang ada sangat besar.
5. Oleh karena itu, kita dapat membatasi dalamnya pohon solusi pada suatu tahap untuk mempercepat kinerja pengambilan keputusan.
6. Semakin akurat fungsi heuristic yang digunakan, semakin baik pula pengambilan keputusan yang dilakukan oleh AI.
DAFTAR PUSTAKA
Munir, Rinaldi.2006. “Strategi Algoritmik”. Program Studi Informatika, Institut Teknologi Bandung.
Kevin McGee, “Advance Game Programming : AI”, Desember 9, 2005. Wikimedia Foundation, Inc. “A * Search Algorithm”.