ISSN 2549-4805 Prosiding Seminar Nasional Informatika dan Sistem Informasi Volume 3, Nomor 3, Okt 2019 - Feb 2020 PENERAPAN ALGORITMA MINIMAX SEBAGAI PENGAMBIL KEPUTUSAN PADA PERMAINAN TIC-TAC-TOE BERBASIS JAVASCRIPT Nurhayati, S.Kom., M.Kom Teknik Informatika, Universitas Pamulang Jl. Surya Kencana No. 1, Pamulang, Tanggerang Selatan-Indonesia E-mail : [email protected] 2019 ABSTRAK Pada saat ini perkembangan teknologi semakin maju. Banyak sekali mesin-mesin canggih yang bermunculan. Mesin mesin itu sudah layaknya seseorang yang bisa menggantikan pekerjaan orang. Bukan hanya itu, perkembangan dalam dunia game semakin berkembang. Dimana banyak game yang telah menananmkan Artifical Intelegent (AI) kedalam game. Sehingga permainan game semakin menarik. Game yang sederhana menjadi menarik dengan ditambahkan AI kedalam program game. Setiap game memiliki tingkat kesulitan mulai dari mudah, menengah dan susah. Banyak algoritma yang dapat diterapkan dalam sebuah game. Salah satu contohnya adalah algoritma minimax. Algoritma minimax merupakan metode yang sangat terkenal dalam pengambilan keputusan untuk meminimalisir peluang kalah atau rugi. Algoritma sederhana namun cukup terkenal untuk pembuatan game sederhana. Dimana algoritma ini bekerja dengan mengukur seberapa baik posisi pada saat itu. Algoritma ini menggunakan heuristic f(n)=1 jika menang, f(n)=() jika permainan seimbang, f(n)=-1 jika komputer kalah. Dengan algoritma minimax komputer akan langsung mencari state hingga state terakhir dari setiap kemungkinan yang ada. Sehingga komputer dengan cepat memiliki solusi terbaik sehingga dapat memenangkan permainan. Dengan menambahkan algoritma minimax pada permainan Tic-tac-toe yang bertindak sebagai AI, membuat komputer dengan leluasa mencari solusi terbaik dan membuat komputer memenangkan permainan. Adapun hasil terbaik yang diperoleh pemain adalah imbang. Algoritma minimax juga tidak terlalu sulit untuk diterapkan pada permainan Tic-tac-toe, Selain itu algoritma ini sangat mudah untuk dipahami Kata Kunci : Tic-tac-toe, Aritifica Intelegent, Minimax Heuristic ABSTRACT At this time the development of technology is increasingly advanced. Lots of sophisticated machines that appear. The machines are like someone who can replace someone else's work. Not only that, developments in the game world are growing. Where many games have embedded Artifical Intelligence (AI) into the game. So the game more interesting. Simple games become interesting by adding AI to the game program. Each game has difficulty levels ranging from easy, medium and difficult. Many algorithms can be applied in a game. One example is the minimax algorithm. Minimax algorithm is a very well-known method of 971 ISSN 2549-4805 Prosiding Seminar Nasional Informatika dan Sistem Informasi Volume 3, Nomor 3, Okt 2019 - Feb 2020 decision making to minimize the chance of losing or losing. Simple algorithm but quite famous for making simple games. Where this algorithm works by measuring how well the position at the time. This algorithm uses the heuristic f (n) = 1 if it wins, f (n) = () if the game is balanced, f (n) = - 1 if the computer loses. With the minimax algorithm the computer will immediately search for the state until the last state of every possibility that exists. So the computer quickly has the best solution so that it can win the game. By adding the minimax algorithm to the Tictac-toe game which acts as an AI, making the computer freely find the best solution and make the computer win the game. The best results obtained by the play]er is a draw. Minimax algorithm is also not too difficult to apply to the game Tic-tac-toe, besides that this algorithm is very easy to understand Keyword : Tic-tac-toe, Aritifica Intelegent, Minimax Heuristic BAB I PENDAHULUAN Tic-Tac-Toe adalah permainan strategi berbentuk kotak 3x3 dimana dua pemain memposisikan secara bergiliran penanda (lingkaran atau silang) yang telah ditentukan. Pemenang adalah yang pertama menempatkan penanda nya menjadi satu baris vertikal, horisontal atau diagonal[1]. Di era serba digital ini permainan Tic-Tac-Toe telah diadaptasi kedalam aplikasi permainan. Penggunaan aplikasi permainan sering kali dilakukan secara seorang diri saja karena tidak ada lawan yang dapat diajak bermain bersama. Beberapa aplikasi permainan harus dilakukan setidaknya oleh dua orang pemain terutama permainan two player, board games, misalnya : permainan catur, Tic-Tac-Toe dan Othello. Agar permainan dapat berjalan dengan semestinya, dibutuhkan lawan tanding untuk mengganti kekosongan pemain tersebut berbentuk digital dengan diterapkannya AI pada komputer sebagai pengambil keputusan. Minimax merupakan salah satu contoh dari kecerdasan buatan yang digunakan untuk menentukan pilihan agar memeperkecil kemungkinan kehilangan nilai maksimal[2]. Beberapa alasan mengapa Minimax cocok diterapkan pada permainan Tic-Tac-Toe antara lain mudah diterapkan, sederhana dan bersifat zero-sum-game (pendapatan poin untuk pemain yang satu merupakan kehilangan poin untuk pemain lawan) yang mana hanya terdapat dua pemain saja. Dalam merancang dan membangun aplikasi ini peneliti menggunakan metode pengembangan sistem waterfall, peneliti menggunakan metode ini karena kualitas dari sistem yang dihasilkan akan baik karena pelaksanaannya dilakukan secara bertahap sehingga tidak terfokus pada tahapan tertentu. Model ini bisa disebut juga dengan clasic life cycle. BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI 2.1 Tic-Tac-Toe Tic Tac Toe adalah permainan yang masuk kategori genre strategy board game yang pada umum nya berbentuk grid 3 x 3 yang dapat dimainkan hanya dengan kertas dan alat tulis saja. Permainan ini mempunyai nama lain Nought & Cross. Ada juga yang menyebutnya X dan O karena umumnya dimainkan dengan menggunakan bidak /simbol huruf X dan huruf O[3]. 2.2 Kecerdasan Buatan / Artifical Intelegence (AI) 972 ISSN 2549-4805 Prosiding Seminar Nasional Informatika dan Sistem Informasi Volume 3, Nomor 3, Okt 2019 - Feb 2020 Kecerdasan buatan atau artificial intelligence merupakan salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia[4]. Pada awal diciptakannya, komputer hanya difungsikan sebagai alat hitung saja. Namun seiring dengan perkembangan jaman, maka peran komputer semakin mendominasi kehidupan umat manusia. Komputer tidak lagi digunakan sebagai alat hitung, lebih dari itu, komputer diharapkan untuk dapat diberdayakan untuk mengerjakan segala sesuatu yang bisa dikerjakan oleh manusia. 2.3 Algoritma Minimax Algortima Minimax merupakan algoritma yang digunakan untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai maksimal. Algoritma ini diterapkan dalam permainan yang melibatkan dua pemain seperti tic-tac-toe, checkers, go dan permainan yang menggunakan strategi atau logika lainnya. Hal ini berarti permainan-permainan tersebut dapat dijelaskan sebagai suatu rangkaian aturan atau premis[5]. BAB III ANALISA DAN PERANCANGAN 3.1. Analisa Sistem Analisa sistem merupakan penguraian dari suatu sistem informasi secara utuh kedalam bagian-bagian komponennya dengan maksud untuk mendefenisikan dan mengevaluasi permasalahan, kesempatan, hambatan yang terjadi dan kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan. 3.2. Perancangan Aplikasi 3.2.1. Use case diagram Use Case merupakan gambaran sekenario dari interaksi antara user dan sistem. sebuah diagram usecase menggambarkan hubungan antara actor (pengguna) dan kegiatan yang dapat dilakukan terhadap aplikasi. Berikut ini adalah usecase diagram yang memperlihatkan peranan aktor dalam interkasinya terhadap sistem. Gambar 3.1 Use Case Diagram Aplikasi Tic-Tac-Toe 973 ISSN 2549-4805 Prosiding Seminar Nasional Informatika dan Sistem Informasi Volume 3, Nomor 3, Okt 2019 - Feb 2020 3.2.2 Acitivity Diagram Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Berikut merupakan alur activity diagram dari aplikasi Tic-Tac-Toe dengan Algoritma Minimax sebagai pengambil keputusan : Gambar 3.2 Activity Diagram Play Tic-Tac-Toe Aktifitas Play dimulai dengan membuka aplikasi,lalu muncul menu utama. Player akan diminta memilih tingkat permainan mudah, normal dan sulit. Setelah memilih tingkatan, pilih play untuk memulai permainan. Disini player akan bermain melawan AI dengan tingkat kesulitan yang sudah dipilih sebelumnya. 3.2.3 Sequence Diagram Sequence diagram digunakan untuk menggambarkan sebuah proses yang dilakukan oleh user atau actor terhadap sistem yang ada. Berikut sequence diagram yang ada pada sistem permainan Tic Tac Toe. Berikut adalah alur sequance diagram dari aplikasi Tic-Tac-Toe. 1. Sequence Diagram Menu Utama 974 ISSN 2549-4805 Prosiding Seminar Nasional Informatika dan Sistem Informasi Volume 3, Nomor 3, Okt 2019 - Feb 2020 Gambar 3. 3 Sequence Diagram Menu Utama Keterangan : Setelah player menjalankan aplikasi maka muncullah splash screen, yang akan langsung menampilkan menu utama. 3.4. Perancangan Antarmuka Pengguna (User Interface) a. Perancangan Menu Utama Gambar 3. 4 Rancangan Tampilan Menu Utama BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Spesifikasi Sistem Implementasi aplikasi diharapakan dapat memberikan kemudahan kepada pengguna aplikasi untuk mencari informasi komponen-komponen yang berada pada komputer. Berikut merupakan spesifikasi perangkat pendukung untuk proses implementasi meliputi spesifikasi perangkat keras (hardware) dan perangkat lunak(software). 975 ISSN 2549-4805 Prosiding Seminar Nasional Informatika dan Sistem Informasi Volume 3, Nomor 3, Okt 2019 - Feb 2020 4.1.1 Spesifikasi Perangkat Keras Hardware atau perangkat keras (dalam hal ini adalah komputer) digunakan untuk menunjang atau membantu dalam pengolahan data, yang diharapkan akan mempermudah pengerjaan dan mengelola informasi, sehingga informasi dan data dapat dipenuhi dengan cepat kepada berbagai pihak yang membutuhkan. Untuk memenuhi standar spesifikasi hardware untuk pembuatan sistem ini diperlukan spesifikasi dari hardware sebagai berikut : 4.1. Notebook Asus No Perangkat Keras Keterangan Intel(R) Celeron(R) CPU 847 1.10 GHz 1 Processor 1.10GHz 2 RAM 4,00 GB 3 Hardisk 500 GB 4 LCD 12”HD Tabel 4.1 Spesifikasi Perangkat Keras Spesifikasi Perangkat Lunak (Software) 4.1.2 Spesifikasi Perangkat Lunak Spesifikasi perangkat linak (software) yang digunakan adalah untuk mengimplementasikan aplikasi media yang digunakan untuk menjalankan sistem dapat dilihat sebagai berikut: No Perangkat Lunak Keterangan 1 Sistem Operasi Windows 7 Ultimate 64 bit 2 Aplikasi Sublime 2 3 Browser Google Chrome, Mozila Firefox Tabel 4. 2 Spesifikasi Perangkat Lunak 4.2. Implementasi Antarmuka Spesifikasi Antarmuka adalah perancangan aplikasi yang telah dibuat. Pada tahap implementasi ini antar muka yang dibuat pada tahap perancangan. Adapun bentuk halaman utama hasil implementasi adalah tampilan menu utama dan papan permainan. a. Tampilan Menu Utama 976 ISSN 2549-4805 Prosiding Seminar Nasional Informatika dan Sistem Informasi Volume 3, Nomor 3, Okt 2019 - Feb 2020 Gambar 4. 1 Tampilan Menu Utama BAB V KESIMPULAN DAN SARAN 5.2 Kesimpulan Kesimpulan yang dapat diberikan setelah meninjau hasil analisa, perancangan, serta tujuan dan manfaat berdasarkan perancangan sistem aplikasi Tic-Tac-Toe dengan algoritma minimax sebagai pengambil keputusan sebagai berikut 1. Dengan membuat sebuah sistem aplikasi permainan Tic-Tac-Toe dengan algoritma minimax sebagai pengambil keputusan dapat mengisi kekosongan pemain pada permainan tersebut 2. Dengan dibuatnya aplikasi ini, kita dapat mengetahui algoritma minimax cocok diterapkan sebagai AI pada permainan Tic-Tac-Toe 3. Algoritma minimax dapat diatur tingkat kedalaman dalam pencarian solusi yang mempengarui tingkat kecerdasan AI 5.2 Saran Untuk pengembangan aplikasi ini lebih lanjut, maka ada beberapa saran yang dapat diajukan agar aplikasi dapat berjalan dan berkembang lebih baik, yaitu: 1. Dapat ditambah variasi atau peraturan tambahan agar penelitian dan aplikasi ini terus berkembang 2. Algoritma minimax bukan satu satunya metode pengambil keputusan yang dapat digunakan, alangkah baik untuk mencoba metode lain yag lebih efektif DAFTAR PUSTAKA [1] Khoirush Sholih Ridhwaana Akbar, Algoritma Minimax dalam Pengambilan Keputusan pada Permainan Tic-tac-toe, Teknik Informatika ITB, Bandung, 2007. [2] Sandi Kosasi, Permainan Papan Strategi Menggunakan Algoritma Minimax, Seminar Nasional Teknologi Informasi, Komunikasi dan Industri (SNTIKI) 6, Pekanbaru, 2014. [3] Christianto, Edo Dwi TA, Implementasi Metode Alpha-beta Pruning Pada Permainan Tic Tac Toe Dengan Visualisasi Simple Directmedia Layer, Undergraduate thesis, Institut Bisnis dan Informatika Stikom Surabaya, 2017 [4] Nurulliana Zi, Implementasi Konsep Kecerdasan Buatan Dengan Metode Best First Search (Bsf) Untuk Pembuatan Game Ular Tangga Modifikasi, Universitas Sumatra Utara, Medan, Skripsi 2011. [5] Ayuningtyas N , Algoritma Minimax Dalam Permainan Checkers, 2006 Irving Vitra, (2006). Konsep permainan Tic-Tac-Toe Menggunakan Algortima Genetika, SNATI, Yogyakarta, 2006 977