GAME TIC TAC TOE

Untuk memenuhi salah satu tugas mata kuliah AI

KELOMPOK 8 IF- C/ VI

Gustania Kania Wulandari Ludi Adha Kurnia

(208 700 838) (208 700 864) (208 700 866)

JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SUNAN GUNUNG DJATI BANDUNG 2011

Dalam permainannya terdapat Sembilan buah ruang (3x3) berbentuk kotak yang bersekat-sekat dan dua buah benda yang digunakan untuk mengisi ruang tersebut. Jika jumlah item yang bisa diisi pada kotak berjumlah sama antara kedua jenis bentuk item dan tidak membentuk suatu susunan komposisi apapun maka permainan dianggap seri dan jika anda sebagai pemain anda tidak bisa mengisi atau menyusun item secara berurutan ataupun jika komputer lebih dulu menyusun bentuk itemnya secara benar lebih dulu. Contohcontoh permainan yang menggunakan AI adalah permainan catur. bridge. Untuk membuat pemain merasa seperti melawan pemain manusia lainnya. diantaranya sebagai berikut: . A. Algoritma minimax ini merupakan algoritma yang sangat sering dipakai untuk permasalah tersebut. tic-tac-toe dan lain sebagainya. permainan ini adalah permainan menyusun tiga buah item yang berbentuk sama dan tersusun secara vertikal. horizontal maupun diagonal. Salah satu kelebihannya adalah kita tidak harus mencari orang untuk menjadi lawan tanding jika ingin bermain karena permainan berbasis komputer ini sudah mendukung single-player mode dimana kita dapat bermain sendiri melawan komputer yang dirancang untuk dapat berlaku seperti pemain manusia atau yang sering dikenal dengan Artificial Inteligince (AI). horizontal ataupun diagonal dimana setiap item dapat diisi pada kotak berdasarkan navigasi yang kita pilih. Item tersebut akan tersusun sampai tersusun tiga buah item yang sama. Aturan Permainan : Games tic tac toe ini memiliki aturan main (Rule) yang digunakan selama berlangsungnya permainan. go. diperlukan suatu algoritma yang dapat membuat AI ini mampu mengambil keputusan yang terbaik agar dapat mengalahkan pemain atau setidaknya menghalau pemain menang. baik secara vertikal. yaitu item yang berbentuk silang dan lingkaran. othello. Permainan dimulai dengan membuat atau mengisi salah satu bentuk item pada salah satu kotak bersekat.GAME TIC TAC TOE PENDAHULUAN Permainan-permainan berbasis komputer ini juga bermacam-macam. Dan permainan tic-tac-toe merupakan salah satu contoh yang baik dan cukup sederhana untuk kita mengerti bagaimana cara kerja dan efeknya. Rancangan Permainan Tic tac toe adalah salah satu game klasik yang hanya bisa dimainkan oleh dua orang pemain. maka anda dianggap kalah dalam permainan dan komputer lawan anda yang menang begitupun bila kejadian sebaliknya. checkers.

User akan dihalangi oleh komputer untuk mencapai goal (tujuan) karena komputer telah diberi kecerdasan buatan sehingga komputer juga berusaha untuk menjadi pemenang. . komputer harus secara konsisten melakukan langkah-langkah sesuai prioritas di bawah ini dengan mendahulukan langkah dengan prioritas tertinggi.. Strategi yang harus dirancang oleh algoritma game Untuk menang atau mencegah kekalahan dalam game ini. Dalam permainan ini. 2. Menahan lawan agar tidak membentuk tiga baris yang sempurna (horisontal. Menciptakan strategi dengan melakukan langkah yang membuat kita mempunyai dua kemungkinan penyempurnaan baris. Menyempurnakan 3 buah baris diagonal. user bebas meletakkan simbol di mana saja di papan permainan. vertikal maupun diagonal). 6. ataupun diagonal. 3. 1. 3. User memulai permainannya terlebih dahulu. Kondisi Menang: Goal untuk menyelesaikan games Tic Tac Toe ini adalah membuat sebuah deretan tiga simbol yang dapat dibentuk secara vertical.vertikal.3 ). Untuk mencapai suatu goal (tujuan) maka user harus menghindari terbentuknya kondisi yang membentuk secara vertical. 4. horizontal ataupun diagonal. 2. 5.1. Mencegah lawan membuat dua tanda yang berdampingan. horizontal. dan user menentukan posisi dari simbol (o/x) yang akan dimainkan. Agar berhasil komputer harus melengkapi langkahnya tanpa mengorbankan prioritas yang lebih tinggi secara konsisten. Memperbesar kemungkinan kemenangan dengan membuat dua tanda yang berdampingan. Mencegah posisi lawan mempunyai pola yang bisa membuatnya menang (contoh:pola sebagaimana no. atau horizontal. Beberapa pola tersebut antara lain: 4. Pemain hanya mempunyai satu kali kesempatan pada setiap giliran.

080 game berakhir seri  31. dengan rincian (jika X jalan terlebih dahulu) : o 131.B.880 posisi akhir jika belum diperhitungkan menang atau kalahnya. . Alur Pembuatan Game Tic Tac Toe Dengan bantuan kalkulasi program komputer secara langsung yang terimplementasi dalam program untuk permainan tic tac toe di dapat statistik sebagai berikut :  Analisa terhadap 765 bentuk yang essensial  362. Berdasarkan pembagian sifat dari sudut pandang dunia Artificial Intelligence.  26. satu lawan satu.  Zero-sum.380 posisi akhir jika diperhitungkan menang atau kalahnya (memperhitungkan bentuk simetri).  One-player games (pemain melawan environment yang telah dibuat oleh computer. jig-saw puzzle).(contoh lain : Rubik's cube. ada kemungkinan lawan akan menghalangi setiap strategi yang akan kita wujudkan.  Perfect information.904 game dimenangkan oleh O o 46. Klasifikasi game tic tac toe berdasarkan Artificial Intelligence Setelah kita tahu bagaiman game ini kita bisa tinjau game tersebut dari sudut pandang Artificial Intelligence.jika salah satu pemain menang maka pemain yang lain kalah.  two person.896 kemungkinan jalannya suatu game. Representasi pohon bagi Artificial Intelligence game ini Kita dapat dapat merepresentasikan seluruh kemungkinan permainan dengan graf berarah yang biasa di sebut game tree (berbentuk pohon n-ary). Node dari pohon (tree) tersebut merepresentasikan keadaan game. game tic tac toe mempunyai sifat seperti di bawah ini:  State-of-the-art : algoritma berjalan di suatu komputer tertentu dan melakukan langkah yang dikalkulasi terlebih dahulu. pada saat tertentu kedua pemain tau seluruh kondisi dan posisi lawan.168 posisi jika tidak memperhitungkan bentuk simetri. Sisi berarah pada pohon tersebut merepresentasikan keadaan atau posisi tanda pada game. (contoh lain : catur).  255.184 game dimenangkan oleh X o 77.

mN. yaitu menang kalah atau draw. Salah satu cara untuk menciptakan Artificial Intelligence yang sesuai adalah dengan menganalisa seluruh game tree. Jika ada kondisi start tersebut terdapat N kemungkinan langkah yaitu : m1. kita harus menambah .380 kemungkinanan Algoritma Minimax Algoritma minimax merupakan basis dari semua permainan berbasis AI seperti permainan catur misalnya. Sedangkan untuk game tic tac toe mempunyai jumlah penyelesaian sebanyak 26. sehingga kita akan mempunyai cukup komputasi untuk memainkan setiap kombinasi langkah dari setiap posisi dan kondisi. SN.. Namun hal ini dapat dihindari dengan membatasi sejauh mana komputer akan menganalisis hasil dari langkahlangkah yang mungkin (menentukan kedalaman pohon). Pada algoritma minimax. permainan tic-tac-toe ini mempunyai lebih sedikit kemungkinan solusi. Jumlah daun di dalam sebuah game tree yang komplit disebut kompleksitas game tree. pengecekan akan seluruh kemungkinan yang ada sampai akhir permainan dilakukan. 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. Daun pada pohon ini merepresentasikan kondisi akhir pada permainan. Berbeda dengan permainan catur. sebuah game tree tic tac toe yang lengkap mempunyai 1040 nodes. maka akan terbentuk sisi-sisi terhadap node state ke dua sebanyak N juga : S1.sedangkan pada tiap daun diselipkan kondisi akhir pertandingan. m2. Pengecekan tersebut akan menghasilkan pohon permainan yang berisi semua kemungkinan tersebut. AI permainan catur tentunya sudah sangat terkenal dimana AI tersebut bahkan dapat mengalahkan juara dunia sekalipun. kita sudah membangun suatu game tree. Tetapi dengan hal ini.. game dimulai pada node akar. S2. Dapat diselipkan pula beberapa nilai efisiensi pada tap node. Dengan memperhitungkan kemungkinan langkah pada tiap tahap.Sebagai contoh misalkan. Namun.

Oleh karena itu.kedalaman pohon tersebut setiap langkahnya agar kedalaman pohon pada state tersebut sama dengan state sebelumnya. pada langkah pertama komputer akan menganalisis seluruh pohon permainan. maka langkah terbaik untuk pemain B adalah langkah yang akan mengarahkan hasil akhir permainan ke hasil seri. Dari nilai-nilai heuristic inilah komputer akan menentukan simpul mana dari pohon permainan yang akan dipilih. Di lain pihak. Biasanya pada permainan tic-tac-toe ini digunakan nilai 1. dan di lain kondisi ada langkah lain yang akan mengarahkan ke hasil akhir seri. maka langkah tersebut adalah langkah kemenangannya. dan yang paling membuat komputer itu sendiri mendapatkan keuntungan maksimum. seri. Algoritma minimax ini bekerja secara rekursif dengan mencari langkah yang akan membuat lawan mengalami kerugian minimum.0. komputer akan memilih langkah yang paling membuat lawan mendapatkan keuntungan minimum. . ELSE IF lawan mempunyai 2 spot terisi dalam satu garis dengan spot ketiga masih kosong THEN tutup langkah tersebut (isi spot kosong ketiga tersebut). Di setiap tahap algoritma ini mengasumsikan bahwa pemain A mencoba untuk memaksimalisasi peluang menang. Untuk itulah disini digunakan sebuah fungsi heurisitic untuk mengevaluasi nilai sebagai nilai yang merepresentasikan hasil permainan yang akan terjadi jika langkah tersebut dipilih.-1 untuk mewakilkan hasil akhir permainan berupa menang. Semua strategi lawan akan dihitung dengan algoritma yang sama dan seterusnya. Dalam penentuan keputusan tersebut dibutuhkan suatu nilai yang merepresentasikan kerugian atau keuntungan yang akan diperoleh jika langkah tersebut dipilih. Dan untuk setiap langkahnya. Jika pemain A bisa menang dalam 1 langkah. tentunya simpul yang akan dipilih tersebut adalah simpul dengan nilai heuristic yang akan menuntun permainan ke hasil akhir yang menguntungkan bagi komputer. PENERAPAN ALGORITMA MINIMAX Anggap lah ada 2 pemain A dan B. Jika pemain B mengetahui bahwa langkah tersebut akan mengarahkan ke hasil akhir dimana pemain A akan menang. pada giliran berikutnya pemain B akan mencoba meminimalisir peluang menang untuk pemain A. ELSE melangkah ke state yang mempunyai kemungkinan menang tertinggi (berdasarkan nilai heuristic yang dibangkitkan). dan kalah. Pemakaian algoritma untuk permainan tictac-toe adalah sebagai berikut : IF ada langkah kemenangan THEN pilih langkah tersebut. A disebut juga maximizing player (MAX) dan B disebut juga minimizing player (MIN). Ini berarti.

Setelah itu nilai dari setiap simpul diisi dari bawah ke atas dengan nilai yang sudah dievaluasi oleh fungsi heuristic. Representasi pohon pencarian pada algoritma minimax. Setelah itu.Pembentukan pohon pencarian solusi digunakan dengan menggunakan konsep depthfirst. dimulai dari awal permainan sampai akhir permainan. Simpul milik pemain B (MIN) akan memilih nilai minimum dari simpul anak-anaknya. Simpul milik pemain A (MAX) menerima nilai maksimum dari simpul-simpul anaknya. Contoh: . posisi akhir permainan dievaluasi melalui sudut pandang MAX seperti gambar dibawah ini : Gambar 2.

org/~rinaldi/..com/2009/03/aplikasi -multimedia-game-tac-tic-toe_14.blogspot./MakalahSTMIK2007-024.informatika..pdf www.informatika.html .org/%7Erinaldi/Stmik/20062007/Makalah_2007/MakalahSTMIK2007-024.pdf http://ce6388.Referensi: http://webmail.