IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN CATUR

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI

ALGORITMA MINIMAX DALAM PERMAINAN CHECKERS

APLIKASI GAME TIC TAC TOE 6X6 BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX DAN HEURISTIC EVALUATION

ALGORITMA MINIMAX SEBAGAI PENGAMBIL KEPUTUSAN DALAM GAME TIC-TAC-TOE

BAB I PENDAHULUAN. sangat diandalkan selama kurang lebih 70 tahun lamanya (Mahfudz, 2013:18).

Aplikasi Algoritma MiniMax pada Beberapa Permainan Papan

BAB I PENDAHULUAN. 1.1 Latar Belakang

BAB I. PERSYARATAN PRODUK

BAB III ANALISA DAN PERANCANGAN

BAB IV HASIL DAN PENGUJIAN. Perangkat lunak terdiri dari 2 bagian utama, yaitu game tree untuk

IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN TIC-TAC-TOE SKALA 9X9

UKDW BAB 1 PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

PENERAPAN ALGORITMA MINIMAX PADA PERMAINAN CHECKERS

ALGORITMA MINIMAX PADA GAME ANDROID

Implementasi Permainan Reversi menggunakan Penelusuran BFS dengan Konsep Algoritma MinMax

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang

Combinatorial Game Theory, Game Tree, dan Intelegensia Buatan

PERANCANGAN PENERAPAN ALGORITMA NEGAMAX ALPHA BETA PRUNING PADA PERMAINAN OTHELLO NASKAH PUBLIKASI. diajukan oleh Bayu Trisna Pratama

BAB 1 PENDAHULUAN. mampu digunakan untuk melakukan komputasi yang berhubungan dengan

ANALISIS ALGORITMA MINIMAX DENGAN OPTIMASI ALPHA BETA PRUNIGN PADA PERMAINAN FIVE IN ROW

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB 2 TINJAUAN PUSTAKA

Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search

BAB I PENDAHULUAN. Permainan papan atau biasa disebut dengan Board Games hampir tidak

Implementasi Algoritma Pencarian Shannon Type-A Pada Program Permainan Catur

BAB IV HASIL DAN UJI COBA

BAB 3 METODOLOGI 3.1. Analisis Kebutuhan dan Masalah Analisis Kebutuhan

BAB I PENDAHULUAN. Dalam beberapa tahun terakhir Artificial Intelligence (AI) atau kecerdasan

Perbandingan Penerapan Algoritma Minimax Dengan Algoritma Alpha-Beta Pruning Pada Permainan Othello

BAB III METODE PENELITIAN. Berikut langkah-langkah yang dilakukan dalam penelitian ini :

BAB I PENDAHULUAN. Permainan atau yang saat ini lebih sering disebut dengan game merupakan

Implementasi Algoritma Greedy, BFS, Branch and Bound, dan Metode Heuristik dalam Permainan Reversi

BAB I PENDAHULUAN Latar Belakang Masalah

Aplikasi Pohon Keputusan pada Permainan Catur

ANALISIS DAN IMPLEMENTASI KECERDASAN BUATAN PADA PERMAINAN CHECKER MENGGUNAKAN ALGORITMA MINIMAX DENGAN NEGASCOUT SKRIPSI

BAB I PENDAHULUAN. O, yang bergiliran menandai ruang dalam kotak berukuran 3 3. Pemain yang

BAB III ANALISIS DAN PERANCANGAN SISTEM

PERMAINAN KNIGHT S TOUR DENGAN ALGORITMA BACKTRACKING DAN ATURAN WARNSDORFF

PEMBUATAN APLIKASI PERMAINAN OTHELLO 16X16 BERBASIS DESKTOP DENGAN ALGORITMA ALPHA BETA PRUNNING

BAB III METODE PENELITIAN. Metode penelitian yang digunakan adalah dengan cara mencoba

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB IV HASIL DAN UJI COBA

BAB 1 PENDAHULUAN Latar Belakang

Aplikasi Teori Graf dalam Permainan Kombinatorial

UKDW BAB 1 PENDAHULUAN Latar Belakang

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PERGERAKAN CHESS KNIGHT DALAM PAPAN CATUR

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

UNIVERSITAS BINA NUSANTARA. Jurusan Teknik Informatika Skripsi Sarjana Komputer Semester Genap 2007/2008

BAB III PERANCANGAN SISTEM

BAB 1 PENDAHULUAN. Berkembangnya game saat ini di Indonesia menumbuhkan minat masyarakat

GAME CATUR JAWA WITH REINFORCEMENT LEARNING

BAB 1 PENDAHULUAN 1.1. Latar Belakang

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Genap tahun 2010/2011

BAB 2 LANDASAN TEORI

Penggunaan Algoritma DFS dalam Pencarian Strategi Permainan Catur

BAB 4. Implementasi dan Evaluasi

Oleh Lukman Hariadi

UKDW. Bab 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

Penerapan Algoritma Minimax Pada Game Macan-macanan

BAB III PERANCANGAN SISTEM

BAB III ANALISA DAN PERANCANGAN

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

BAB I PENDAHULUAN. Permainan antara manusia melawan komputer menjadi sangat populer

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

ANALISIS PENERAPAN ALGORITMA RUNUT-BALIK DALAM PENCARIAN SOLUSI PERSOALAN LOMPATAN KUDA

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN. bahwa catur adalah permainan yang digemari oleh segala usia. kendala bagi seseorang yang tergolong awam dalam catur.

Penerapan Teori Graf untuk Menyelesaikan Teka-Teki Permainan The Knight's Tour

Untuk dapat memainkan game Ultang Dynasty, pemain harus menginstall flash player terlebih dahulu.

KI Kecerdasan Buatan Materi 6: Pencarian dgn. Lihat Status Lawan (Adversarial Search)

BAB II LANDASAN TEORI

BAB IV IMPLEMENTASI DAN PENGUJIAN

UKDW BAB 1 PENDAHULUAN

Permainan Papan Strategi Menggunakan Algoritma Minimax

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS DAN KEBUTUHAN ALGORITMA

BAB III ANALISA DAN PERANCANGAN

Pemanfaatan Algoritma BFS dalam Menyelesaikan Permasalahan Knight Moves

Kecerdasan Buatan (Artificial Intelligence) Muhammad Dahria

Implementasi Algoritma Negascout Untuk Permainan Checkers

ALGORITMA GENETIK SEBAGAI FUNGSI PRUNING ALGORITMA MINIMAX PADA PERMAINAN TRIPLE TRIAD CARD.

BAB I PENDAHULUAN 1-1. Howard. W. Sams & Co.1987, hal 1. 1 Frenzel, L.W. Crash Course In Artifical Intelligence And Expert Systems. 1st Edition.

PEMBUATAN GAME WILD FIRE MENGGUNAKAN ADOBE FLASH CS3

BAB I PENDAHULUAN. remaja maupun orang dewasa. Game ini terdiri dari game tradisional dan

Algoritma Greedy dalam Artificial Intelligence Permainan Tic Tac Toe

BAB III ANALISA PERANCANGAN DAN PEMODELAN SISTEM

BAB 1 PENDAHULUAN Latar belakang. Teknologi telah menjadi bagian dari kehidupan masyarakat hampir di seluruh

menyeluruh untuk mengetahui kinerja sistem, serta kelemahan ataupun kesalahan

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Artificial Intelligence

BAB I PENDAHULUAN. beberapa orang sekaligus dengan menggunakan beberapa komputer yang

BAB IV HASIL DAN UJI COBA

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

Gambar 3.2 Struktur Hierarki Game Spinman

Transkripsi:

IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN CATUR Anton Topadang 1), Dedi Haryanto 2) 1,2) Jurusan Teknologi Informasi, Politeknik Negeri Samarinda Email: antontpd@gmail.com 1), dedihariyanto@gmail.com 2) Abstrak Penelitian ini bertujuan untuk mengaplikasikan atau mengimplementasikan algoritma minimax pada permainan, khususnya pada langkah yang ada pada permainan. Algoritma minimax digunakan untuk menentukan seleksi sehingga dapat meminimalkan kemungkinan hilangnya nilai maksimum. Metodologi yang digunakan pada penelitian ini adalah metode waterfall yang terdiri atas pengumpulan data, analisa, rancangan, implementasi, dan pengujian. Hasil dari penelitian ini bahwa algoritma atau langkah yang digunakan mampu memblokir langkah terpendek dan memenangkan permainan. Kata kunci :, algoritma minimax 1. PENDAHULUAN Catur merupakan permainan taktik, strategi, kecerdasan dan keterampilan. Catur adalah permainan asah otak yang dimainkan oleh dua pemain diatas sebuah papan. Papan berbentuk bujur sangkar, terdiri dari 64 kotak yang berwarna hitam dan putih,untuk pembentukan Artificial Intelligence (AI) game ternyata digunakan pula algoritma minimax Kekuatan komputer yang mengandalkan proses komputasi yang sangat cepat. Algoritma minimax ini digunakan untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai maksimal (Ayuningtyas, 2008). Di setiap tahap algoritma ini mengasumsikan bahwa pemain A mencoba untuk maximizing player(max). Di lain pihak, pada giliran berikutnya pemain B akan mencoba minimizing player(min) (Akbar, 2007). Algoritma minimax dalam permainan checkers masalah dimana AI tersebut tidak pernah kalah, penyebab algoritma minimax membuat yang dapat mencari dan menentukan keputusan terbaik dalam permainan, solusi menambahkan nilai alphabetaalgoritma minimax akan memilih pohon pencarian yang lebih singkat sehingga akan membutuhkan waktu singkat untuk melakukan aksinya(ayuningtyas, 2008). Algoritmam minimax dalam pengambilan keputusan pada permainan Tic-Tac-Toe dimana masalah langkah yang diambil oleh pemain akan menghasilkan hasil yang berbeda-beda, penyebab AI sebagai teknik yang digunakan pada komputer atau video game untuk meproduksi ilusi atau kepintaran karakter yang bukan pemain,solusinya algoritma minimax merupakan algoritma yang sangat bagus dan cocok untuk pengambilan keputusan oleh AI, terutama dalam permainan n player(n>=2)(akbar, 2007). Penelitian yang dilakukan oleh (Ayuningtias, 2008) algoritma minimax memiliki dasar berupa zero sum game, dimana jikapemain mendapatkan nilai tertentu maka pemain lain akan kehilangan nilai yang sama dengan pemain tersebut. (Akbar, 2007) AI akan selalu memilih langkah yang dapat meminimalisir kemungkinan pemain (manusia) untuk menang dengan memblok semua langkah kemenangan pemain. Game (bahasa Indonesia: permainan) adalah permainan yang mengunakan interaksi dengan antarmuka pengguna melalui gambar yang dihasilkan oleh piranti video. Permainan umumnya menyediakan sistem penghargaan, skor yang dihitung berdasarkan tingkat keberhasilan yang dicapai dalam menyelesakan tugas-tugas yang ada di dalam permainan. 2. DASAR TEORI 2.1 Game Game (bahasa Indonesia: permainan) adalah permainan yang mengunakan interaksi dengan antarmuka pengguna melalui gambar yang dihasilkan oleh piranti video. Permainan umumnya menyediakan sistem penghargaan, skor yang dihitung berdasarkan tingkat keberhasilan yang dicapai dalam menyelesakan tugas-tugas yang ada di dalam permainan. 2.2 Catur Catur merupakan permainan taktik, strategi, kecerdasan dan keterampilan. Catur adalah permainan asah otak yang dimainkan oleh dua pemain diatas sebuah papan. Papan berbentuk bujur sangkar, terdiri dari 64 kotak yang berwarna hitam dan putih. Setiap pemain memulai permainan dengan memgang buah putih dan buah hitam masing-masing enam belas buah : satu King (Raja), satu Queen (Ratu), dua Rook (benteng), dua Knight (kuda), dua Bishop (Gajah), dan delapan piont (Sharawati, 2016). 2.3 Algoritma Algoritma adalah sebuah strategi yang mengandalkan kemampuan berfikir secara logis untuk memecahkan suatu masalah. Dalam algoritma, kita mulai dengan berfikir apa yang kita miliki (kekuatan dan kelemahan), selanjutnya kita atur langkah (aksi) agar tujuan atau sasaran yang kita harapkan dapat terwujud.

Topadang dan Haryanto, IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN CATUR Langkah-langkah pemecahan masalah bisa dilakukan dengan berbagai cara setiap cara tersebut juga bisa berbeda-beda antara satu orang dengan orang lainya. Karena setiap orang belum tentu memiliki latar belakang kehidupan yang sama dan belum tentu memiliki pemikiran yang sama atas suatu masalah (Wayudi, 2004). 2.4 Netbeans NetBeans merupakan salah satu proyek open source yang disponsori oleh Sun Microsystem. Proyek ini berdiri pada tahun 2000 dan platfrom. NetBeans IDE merupakan produk yang digunakan untuk melakukan pemrograman baik menulis kode, mengompilasi, mencari kesalahan, dan mendistribusikan program. Sedangkan platfrom adalah sebuah modul yang merupakan kerangka awal dalam membangun aplikasi desktop yang besar. 2.5 Algoritma Pencarian Pencarian atau pelacakan merupakan salah satu teknik untuk menyelesaikan permasalahan AI. Keberhasilan suatu sistem salah satunya ditentukan oleh kesuksesan dalam pencarian dan pencocokan. Teknik dasar pencarian memberikan suatu kunci bagi banyak sejarah penyelesaian yang penting dalam bidang AI. Ada beberapa alpikasi yang menggunakan teknik pencarian ini, yaitu: Papan game dan puzzle (tictac-toe,,menara hanoi). Konsep pencarian untuk suatu solusi dalam ruang keadaan (state space) merupakan pusat AI. Pencarian adalah suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkianan ruang keadaan(state space). Ruang keadaan merupakan suatu ruang yang berisi semua keadaan yang mungkin. Secara umum proses pencarian dapat dilakukan sebagai berikut: 1. Memeriksa keadaan sekarang/awal. 2. Mengeksekusi aksi yang dibolehkan untuk memindahkan ke keadaan berikut. 3. Memeriksa jika keadaan baru merupakan solusinya. Jika tidak, keadaan baru tersebut menjadi keadaan sekarang dan proses ini diulangi sampai solusi ditemukan atau ruang keadaan habis terpakai. 2.6 Konsep Algoritma Minimax Algoritma minimax ini digunakan untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai maksimal. Algoritma ini diterapkan dalam permainan yang melibatkan dua pemain, permainan mengunakan strategi atau logika lainnya. Hal ini permainan-permainan dapat dijelaskan sebagai suatu rangkaian aturan premis Algoritma ini mulai dikembangkan dari teori game zero-sum. Teori ini mendiskripsikan situasi dimana jika terdapat pemain yang mengalami pendapatan, dan pemain lain akan kehilangn dengan nilai yang sama dari pendapatan tersebut, dan sebaliknya (Ayuningtyas, 2008). Gambar 1. Pohon pencarian algoritma minimax Jika langkah tersebut dipilih anggaplah ada 2 pemain A dan B. Jika pemain A menang dalam 1 langkah, maka langkah tersebut adalah langkah kemenang. Jika pemain B mengetahui bahwa langkah tersebut akan mengarah 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 mengarah hasil akhir permainan ke hasil seri. Di setiap tahap algoritma ini mengasumsikan bahwa pemain A mencoba untuk memaksimalkan peluang menang. Di lain pihak, pada giliran berikutnya pemain B akan mencoba meminimalisir peluang menang untuk pemain A. Oleh karena itu, A disebut juga MAX dan B disebut juga MIN (Akbar, 2007). 3. HASIL DAN PEMBAHASAN 3.1 Membuat papan Pada tahap ini, papan dibuat dengan ukuran 8 x 8. Papan yang sudah di rancang bisa dilihat pada Gambar 2. Gambar 2. Papan Catur 3.2 Perancangan letak bidak Tahap perancagan ini menampilkan letak-letak bidak pada game. Papan sudah dirancang bisa dilihat pada Gambar 3. 29

JUST TI, Volume 9 Nomor 1, Januari 2017: 28-32 Gambar 3. Perancangan Letak bidak Catur 3.3 Membuat interface pada permainan Komponen-komponen NetBeans yang diperlukan untuk membangun form pada permainan ini antara lain Jpanel, Jlabel, JSlider, JButton. Desain JPanel tersebut secara umum sebagai berikut: Gambar 4. Menu Utama Pada Gambar 4 JPanel menu utama permainan merupakan menu tampilan awal ketika permainan ini dijalankan. Terdapat dua button(tombol) yang berfungsi menampilkan pilihan New Game,dan Quit. 3.4 Algoritma Minimax pada permainan Setelah perancangan membuat papan, perancangan letak bidak, membuat interface pada permainan dan implementasi langkah-langkah. Maka proses implementasi algoritma minimax untuk mengoptimalkan langkah langkah pada computer dapat dilaksanakan. Gambar 5. Papan dan bidak Pada gambar 5 menunjukan contoh papan yang sudah menerapkan proses algoritma minimax, terdapat 2 pemain dalam permainan pemain A mewakili user dan pemain B mewakili computer. Pada saat pemain A mengerakan sebuah bidak ke suatu petak, maka computer langsung membalas langkah tersebut. Maka langkah-langkah algoritma yang diambil pemain A dan pemain B adalah: 1. Mulai. 2. Memilih level permainan dan memilih warna bidak. 3. Pemain A memilih bidak warna putih dan pemain B memilih bidak warna hitam. 4. Pemain A memilih langkah D2 ke D3 dan pemain B memilih langkah B8 ke C6. 5. Tampilkan output langkah empat. 6. Pemain A memilih langkah G1 ke H3 dan pemain B memilih langkah G8 ke F6. 7. Tampilkan output langkah enam. 8. Pemain A memilih langkah A2 ke A4 dan pemain B memilih langkah D7 ke D6. 9. Tampilkan output langkah delapan. 10. Pemain A memilih langkah C1 ke D2 dan pemain B memilih langkah C8 ke H3. 11. Tampilkan output langkah sepuluh. 12. Pemain A memilih langkah G2 ke H3 dan pemain B memilih langkah E7 ke E6. 13. Tampilkan output langkah dua belas. 14. Selesai. Tabel 1. Trace dari langkah-langkah algoritma. No Pemain A Pemain B langkah Pion Pion Pion Kuda Kuda Gajah Pion Pion Pion Kuda Kuda Gajah output 1 2 3 1 1 1 2 3 1 2 4 D3 - - - - - - - - C6 - - - 5 D3 - - - - - - - - C6 - - Gambar 4.13 6 D3 - - H3 - - - - - C6 F6 - - 7 D3 - - H3 - - - - - C6 F6 - Gambar 4.14 30

Topadang dan Haryanto, IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN CATUR 8 D3 A4 - H3 - - D6 - - C6 F6 - - 9 D3 A4 - H3 - - D6 - - C6 F6 - Gambar 4.15 10 D3 A4 - - - D2 D6 - - C6 F6 H3 11 D3 A4 - - - D2 D6 - - C6 F6 H3 Gambar 4.16 12 D3 A4 H3 - - D2 D6 E6 - C6 F6 - - 13 D3 A4 H3 - - D2 D6 E6 - C6 F6 - Gambar 4.17 3.5 Pengujian Algoritma Minimax Algoritma minimax dipanggil ketika papan yang digunakan berhasil dijalankan, minimax berhasil memanggil pohon solusi dari awal permainan hingga akhir. a. Pengujian Game Pada awal tampilan ada beberapa tombol pilihan yaitu new game dan quit. Fungsinya tombol new game akan menampilkan JPanel, pemain memilih level permainan dan warna bidak, papan akan ditampilkan. Gambar 6. Menu Permainan Papan yang disediakan berjumlah satu, papan awalnya terisi oleh bidak dengan menerapkan algoritma minimax tiap tiap langkah yang dilakukan computer dari awal permainan hingga akhir permainan. Dalam tahapan ini dilakukan pengujian pada game yang sudah dirancang hasil pengujian bisa dilihat pada tabel 2. Pengujian dilakukan pada NetBeans saat aplikasi pertama kali di-run maka akan menampilkan menu utama seperti pada Gambar 7. Tabel 2. Pengujian game No Pengujian Hasil Keterangan 1 Menu Utama Berhasil Berhasil menampilkan menu utama permainan 2 Papan Berhasil Papan berhasil di tampilkan di layar 3 Letak Berhasil Berhasil disusun bidak untuk bidak papan 4 Langkah Berhasil Penerapan berhasil langkah dilakukan pada bidak 5 Minimax Berhasil Penerapan berhasil dilakukan pada langkah dan bidak Setelah tombol New Game diklik maka akan menampilkan Jpanel options, pemain memilih level permainan dan warna bidak, papan secara langsung bidak tersusun sesuai letaknya. Contoh options dan papan yang sudah melakukan langkah ditunjukan pada Gambar 7. Pada Gambar 7 JPanel options dan langkah minimax berhasil dijalankan pada langkah pertama sampai dengan akhir permainan. Gambar 7 Langkah-langkah permainan 31

4. KESIMPULAN Berdasarkan hasil penelitian pengamatan selama perancangan, implementas dan proses pengujian yang telah dilakukan, diperoleh simpulan bahwa Algoritma Minimax bisa diterapkan dalam langkah langkah pada permainan. Aplikasi ini sudah diuji coba pada NetBeans. Minimax akan selalu memilih langkah yang meminimalisir kemungkinan dari langkah yang diambil pemain untuk menang dan memblok semua langkah kemenangan hingga permainan mengarahkan ke hasil akhir berupa kekalahan atau seri Beberapa kekurang masih terdapat dalam permainan ini yang dapat digunakan sebagai masukan untuk pengembangan lebih lanjut diantarnya: 1. Menambahkan algoritma optimasi untuk mempercepat perhitungan simpul pohon pencarian 2. Jumlah menu yang terbatas, memungkinkan untuk menambahkan beberapa tombol. REFERENSI [1] Akbar, K.S.R., (2007). Algoritma Minimac Dalam Pengambilan Keputusan pada Permainan Tic-Tac-Toe. MAKALAH IF2251 STRATEGI ALGORITMATIK. [2] Ayuningtyas, N. (2008). Algoritma Minimax Dalam Permainan Checkers. [3] Desiani, A, & Arhami, M. (2006). Konsep kecerdasan buatan.yogyakarta:andi. [4] Fikri, R dkk. (2005). Pemrograman java.yogyakarta:andi. [5] Firmansyah, D.H.,(2009). Implementasi Algoritma Minimax Pada Permainan Tic-Tac-Toe skala 9X9,Makalah Seminar Akademik Universitas Komputer Indonesia. [6] Rijaul, F dkk. (2005). Pemrograman java. Yogyakarta:Andi. [7] Sharaswati, A. (2016). Taktik dan strategi menang bermain. Yokyakarta: Pustaka Diantara. [8] Wahudi, B. (2004). Pengantar struktur data dan Agoritma. Yogyakarta:Andi.