IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN SOS BERSKALA 6X6 M.Ferditya Nugraha 1) , Dessi Putri Hartaningsih 2) , Rizki Kurniadi 3) 1) 2) 3)
Teknik Informatika Universitas AMIKOM Yogyakarta Teknik Informatika Universitas AMIKOM Yogyakarta Teknik Informatika Universitas AMIKOM Yogyakarta
email :
[email protected] 1),
[email protected]) ,
[email protected] 3.) Abstraksi Aplikasi game komputer banyak digunakan oleh masyarakat. Beberapa game memerlukan orang lain untuk dapat dimainkan. Seperti pada game SOS yang dimainkan oleh dua pemain, maka dibutuhkan metode untuk membuat pemain dapat merasakan game dimainkan oleh dua pemain. Dalam paper ini, peneliti akan mengimplementasikan algoritma minimax dalam sebuah permainan SOS. Minimax merupakan salah satu contoh dari Kecerdasan Buatan, minimax adalah suatu algoritma yang menggunakan teknik pencarian Depth-First Search dengan kedalaman terbatas. Adapun media yang cocok untuk penerapan algoritma minimax adalah permainan SOS, beberapa alasan mengapa SOS digunakan sebagai media penerapan kecerdasan buatan antara lain SOS sangat mudah menentukan ukuran kesuksesan atau kegagalan, sangat mungkin untuk dibandingkan dengan kemampuan manusia dan sangat mudah dimainkan. Kata Kunci : Permainan SOS, MiniMax algoritma, Depth-First Search Abstract Computer games applications are widely used by the community. Some games require others to play . As in the SOS game played by two players, it takes a method to make players feel the game played by two players. In this paper, researchers will implement minimax algorithms in an SOS game. Minimax is one example of Artificial Intelligence, minimax is a n algorithm that uses Depth-First Search search techniques with limited depth. The media that is suitable for the application of minimax algorithm is the SOS game, several reasons why SOS is used as a medium of application of artificial intelligence, among others, SOS is very easy to determine the size of success or failure, it is possible to compare with human capabilities and very easy to play. Keywords : SOS Gameplay, MiniMax algorithm, Depth-First Search. 1.
Pendahuluan
Aplikasi game komputer banyak digunakan oleh masyarakat. Beberapa game memerlukan orang lain untuk dapat dimainkan. Seperti pada game SOS yang dimainkan oleh dua pemain, maka dibutuhkan metode untuk membuat pemain dapat merasa game dimainkan oleh dua pemain. Dalam paper ini, peneliti akan mengimplementasikan algoritma minimax dalam sebuah permainan SOS. Kemudian muncul ide untuk membuat sebuah permainan SOS yang dapat mengukur kegagalan dan kesuksesan kemampuan manusia dalam bermain peramainan ini. Ada beberapa alasan mengapa permainan khususnya permainan SOS digunakan sebagai media penerapan kecerdasan buatan pada kasus ini,antara lain: a. Sangat mudah untuk menentukan ukuran kesuksesan kegagalan
b.
Sangat mungkin untuk dibandingkan dengan kemampuan manusia c. Pola aturan permainan SOS ini cukup popular dan mudah untuk dimainkan.dan dapa di mainkan oleh setiap orang (anak-anak atau dewasa) dapat memainkanya. Meskipun ada orang yang belum penah mengenal permainan ini, akan cepat mengerti memainkanya. d. Dengan ansumsi-ansumsi tersebut maka diharapkan setiap pengguna mampu bermain dengan baik bersama computer. Sehingga yang di butuhkan pemain atau user dalam memainkan permainan ini hanyalah ketilitian dan logika berfikir yang baik. Minimax merupakan salah satu teknik Permainan yang terkenal Minimax menggunkan teknik pencarian Dept-First Search dengan menggunkan evaluasi statis dengan mengansumsikan bahwa lawan akan membuat langkah terbaiknya yang dapa dilakukan algoritma
M.Ferditya N , Dessi PH, Rizki K . Implementasi Algoritma Minimax Pada Permainan Sos Berskala 6x6
minimax cocok digunakan untuk permainan catur,othelo,chekers dan tic-tac-toe,sos berdasarkan uraian di ata maka tugas akhir ini di beri judul “IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN SOS BERSKALA 6X6”. 2.
Tinjauan Pustaka
2.1. Permianan SOS SOS adalah (biasanya dua pemain tetapi mungkinlebih) permainan yang dimainkan dengan kertas dan pensil, biasanya dimainkan oleh anak-anak. Hal ini mirip dengan tic-tac-toe tapi dengan kompleksitas yang lebih. Sebelum bermain dimulai, grid n × n kotak (dengan n menjadi 3 atau lebih) ditarik. Pemain pertama yang pindah (yang dapat dipilih oleh, misalnya, lempar koin) menulis baik S atau O dalam salah satu kotak, dimana itu menjadi giliran pemain kedua itu. Pemain kedua memiliki pilihan untuk menulis S atau O dalam sebuah kotak kosong. Tujuan dari permainan ini adalah untuk setiap pemain untuk mencoba untuk membuat (pada gilirannya) lurus urutan SOS antara kotak terhubung (baik diagonal, horizontal, atau vertikal), dan menciptakan banyak urutan seperti mereka bisa. Jika seorang pemain berhasil menciptakan SOS, pemain yang segera mengambil giliran lain, dan terus melakukannya sampai ada SOS dapat dibuat pada giliran mereka. Jika ternyata bergantian antara pemain setelah bergerak masing-masing. Melacak siapa yang membuat yang Soss dapat dilakukan dengan, misalnya, satu pemain berputarputar Soss mereka dan pemain lain menggambar garis yang melalui mereka. Setelah grid telah diisi, pemenangnya adalah pemain yang membuat sebagian Soss. Jika grid diisi dan jumlah Soss untuk setiap pemain adalah sama, maka pertandingan adalah imbang. 2.2 Kecerdasan Buatan Kecerdasan buatan (AI) adalah kecerdasan mesin dan cabang ilmu komputer yang bertujuan untuk menciptakannya. Buku AI mendefinisikan bidang ini sebagai "the study and design of intelligent agents" dimana agen cerdas adalah sistem yang merasakan lingkungannya dan mengambil tindakan yang memaksimalkan peluang yang sukses [1], [2], [3]. John McCarthy, yang menciptakan istilah dalam. 1956 [1], [2], [4] mendefinisikan sebagai "ilmu dan teknik membuat mesin cerdas." [5] AI sangat banyak digunakan dalam applikasi komputer seperti applikasi permainan. Pada two player board games strategy AI digunakan untuk mengatur startegi dan memutuskan langkah sehingga dapat mengimbangi permainan player. Sehingga player yang memainkan applikasi ini seakan-akan dapat bermain dengan player lain.
2.3 Algoritma Minimax Algoritma Minimax Penerapan AI dalam permainan SOS ini menggunakan algoritma minimax dan heuristic evaluation. Minimax merupakan salah satu teknik pencarian menggunakan depth-first search dengan kedalaman terbatas. Minimax adalah sebuah algoritma yang di desain untuk memaksimalkan kemenangan dan meminimalkan kekalahan dalam skenario terburuk di dalam game. Idenya adalah untuk memilih langkah berikutnya yang mempunyai nilai minimax tertinggi (mencapai langkah terbaik ketika melawan musuh yang mempunyai langkah terbaik. Pada permainan SOS 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 langkah-langkah yang mungkin (menentukan kedalaman pohon). Tetapi dengan hal ini, kita harus menambah kedalaman pohon pada state tersebut dama dengan state sebelumnya. Algoritma minimax ini bekerja secara rekursif dengan mencari langkah yang akan membuat lawan mengalami kerugian minimum. Semua strategi lawan akan dihitung dengan algoritma yang sama dan seterusnya. Ini berarti pada 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. Dalam penentuan keputusan tersebut dibutuhkan suatu nilai yang merepresentasikan kerugian atau keuntungan yang akan diperoleh jika langkah tersebut dipilih. Untuk itulah disini digunakan sebuah fungsi heuristic evaluation yang berfungsi untuk mengevaluasi nilai sebagai nilai yang merepresentasikan hasil permainan yang akan terjadi jika langkah tersebut dipilih. Biasanya pada permainan SOS ini digunakan nilai 1,0,-1 untuk mewakili hasil akhir permainan berupa menang, seri, dan kalah. Dari nilai-nilai heuristic inilah komputer akan menentukan simpul mana dari pohon permainan yang akan dipilih, tentunya simpul yang akan dipilih tersebut adalah simpul dengan nilai heuristic yang akan menuntun permainan ke hasil akhir yang menguntungkan bagi komputer. Berikut garis besar algoritma minimax s ecara umum : Cari langkah yang dengan nilai maksimum IF langkah tersebut merupakan langkah kemenangan THEN pilih langkah tersebut. ELSE FOR EACH kemungkinan langkah yang ada Cari langkah lawan yang minimum. RETURN nilai dari langkah tersebut.
Pilih langkah yang bernilai maksimum dari langkahlangkah tersebut.[6]
S O
2.4 Aturan Permainan
S
Berikut beberapa aturan dalam permainan SOS 6x6 : a. Permainan memilih simbol “S” atau “O” untuk digunakan dalam permainan. b. Yang melakukan permainan pertama bebas meletakkan simbol pada papan permainan berukuran 6x6.
Gambar 2. Kondisi Horizontal
c. Komputer (AI) akan jalan sesuai dengan strategi yang dia miliki. d. Pemain ataupun komputer harus membentuk 1 garis lurus baik vertikal, horizontal maupun diagonal. Untuk menyelesaikan permainan ini terdapat 3 kondisi yang mungkin terjadi yaitu : 1. Kondisi Menang Kondisi menang terjadi apabila pemain berhasil membentuk garis lurus yang terdiri dari 5 simbol yang sama secara vertikal, horizontal, maupun diagonal. 2. Kondisi Kalah Kondisi kalah terjadi apabila komputer (AI) mampu membentuk garis lurus yang terdiri dari 5 simbol yang sama secara vertikal, horizontal, maupun diagonal terlebih dahulu 3. Kondisi Seri Kondisi seri terjadi apabila pemain maupun komputer (AI) tidak mampu membentuk garis lurus yang terdiri dari 5 simbol yang sama secara vertikal, horizontal, maupun diagonal. S S S
S O
S S
S
O
`S
Gambar 3. Kondisi Vertikal
3. Metode Penelitian 3.1 Algoritma Minimax Algoritma Minimax merupakan algoritma yang digunakan untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai maksimal. Algoritma Minimax akan melakukan pengecekan pada seluruh kemungkinan yang ada, sehingga akan menghasilkan pohon permainan yang berisi semua kemungkinan permainan tersebut. Dalam algoritma Minimax saat melakukan pencarian nilai maksimum dan minimum akan terjadi banyak simpul yang terjadi maka untuk mengatasi permasalahan dari algoritma Minimax maka dapat dilakukan dengan optimasi.[7]
Gambar 1. Kondisi Diagonal
Gambar 4. Algoritma Minimax
M.Ferditya N , Dessi PH, Rizki K . Implementasi Algoritma Minimax Pada Permainan Sos Berskala 6x6
3.2 Game Game berasal dari kata bahasa inggris yang memiliki arti dasar Permainan. Permainan dalam hal ini merujuk pada pengertian “kelincahan intelektual” (Intellectual Playability Game). Game juga bisa diartikan sebagai arena keputusan dan aksi pemainnya. Ada target-target yang ingin dicapai pemainnya.[8] 3.3 Unity Unity adalah game engine atau alat dari permainan yang memungkinkan orangorang untuk berkreatifitas untuk dapat membangun video game. Dengan menggunakan Unity pengembang dapat membangun video game lebih cepat dan mudah dibandingkan sebelumnya. Unity mempunyai paket dan pilihan ekspor untuk platform lainnya seperti di iPhone, iPod, iPad, perangkat android, Xbox Live Arcade, PS3, dan layanan Nintendo WiiWare.[9] 3.4 CorelDraw CorelDraw adalah software desain grafis yang sangat terkenal yang diciptakan oleh Corel, sebuah perusahaan software yang berkantor pusat di Ottawa, Kanada. CorelDraw termasuk salah satu pengolah gambar berbasis vektor. Dalam program ini tersedia berbagai fasilitas untuk keperluan desain, sehingga memudahkan para pengguna untuk memanfaatkannya. Sebagai pengolah vektor, CorelDraw sering digunakan untuk membuat gambar kartun, logo, ilustrasi dan sebagainya.[10] 4. Hasil dan Pembahasan 5. Kesimpulan dan Saran 6. Daftar Pustaka [1] David Poole, Alan Mackworth, and Randy Goebel, Computational Intelligence: A Logical Approach. New York, United States of America: Oxford University Press, 1998. [2] Stuart J. Russell and Peter Norvig, Artificial Intelligence: A Modern Approach, 2nd ed. Upper Saddle River, New Jersey, United States of America: Prentice Hall, 2003. [3] Nils Nilsson, Artificial Intelligence: A New Synthesis.: Morgan Kaufmann Publishers, 1998. [4] George Luger and William Stubblefield, Artificial Intelligence: Structures and Strategies for Complex Problem Solving, 5th ed.: The Benjamin/Cummings Publishing Company, Inc, 2004. [5] John McCarthy. (2007, November) What Is Artificial Intelligence? [Online]. http://wwwformal.stanford.edu/jmc/whatisai/wh atisai.html [6] Kevin McGee, “Advance Game Programming : AI”, Desember 9, 2005.
[7]Alaik, Khamdan & Saputra, Wahyu S.J 2013, Algoritma Minimax pada Game Android, Universitas Pembangunan Nasional Veteran, Surabaya [8,9] Pranata, Baskara Arya 2015, Mudah Membuat Game dan Potensi Finansialnya dengan Unity 3D, Penerbit Elex Media Komputindo, Jakarta [7] Wahana Komputer 2014, Mobile App Development with Phonegap, Andi Offset, Yogyakrta