• Tidak ada hasil yang ditemukan

PAPER IMPLEMENTASI ALGORITMA MINIMAX PAD

N/A
N/A
Protected

Academic year: 2018

Membagikan "PAPER IMPLEMENTASI ALGORITMA MINIMAX PAD"

Copied!
7
0
0

Teks penuh

(1)

IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN

TIC TAC TOE 5X5”.

Andriana Hadisurya(10112764)1, Mohamad Saeful Ihsan(10112645)2, Galuh Purwa Maharriksa(10112442)3

Fakultas Teknik dan Ilmu Komputer, Jurusan Teknik Informatika Universitas Komputer Indonesia

Jln. Jl. Dipati Ukur No. 112-114-116 Bandung 40132 INDONESIA

1github.com/fenakira (fenakira@gmail.com) 2github.com/mohamadihsan (mars.rizta@gmail.com) 3github.com/galuhpurwa (purwa.maharriksa@gmail.com)

Abstract

Manusia adalah makhluk yang paling sempurna, dianugrahi otak yang cerdas, dan memiliki banyak kelebihan, namun manusia tetap memiliki berbagai kelemahan seperti mudah lelah, mudah lupa, dipengaruhi emosi, subjektif, kurang teliti, malas, dan sebagainya. Kemudian muncul ide untuk menciptakan komputer sebagai alat bantu kerja agar lebih cepat, dan lebih akurat. Namun saat ini komputer tidak hanya mampu bertindak tetapi juga mampu berfikir sehingga muncul istilah Artificial Intellegence (AI) atau Kecerdasan Buatan.

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 Tic Tac Toe, beberapa alasan mengapa Tic Tac Toe digunakan sebagai media penerapan kecerdasan buatan antara lain Tic Tac Toe sangat mudah menentukan ukuran kesuksesan atau kegagalan, sangat mungkin untuk dibandingkan dengan kemampuan manusia, mudah dimainkan.

1. Pendahuluan

1.1. Latar Belakang Masalah

Bermain game merupakan salah satu aktifitas yang sangat disukai oleh sebagian besar masyarakat didunia ini. Alasan mereka bermain game tentunya berbeda-beda, ada yang untuk melepas lelah, ada juga yang memang suka atau hobi bermain game.

Dengan berkembangnya teknologi sekarang ini, game-game ini tidak hanya dapat kita jumpai pada kehidupan nyata, tapi juga dapat kita jumpai d idalam dunia maya. Jenis nya pun semakin banyak dan bervariasi. Salah satu yang cukup menarik perhatian adalah permainan komputer.

Permainan-permainan berbasis komputer ini juga bermacam-macam. 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 computer yang dirancang untuk dapat berlaku seperti pemain manusia atau yang sering dikenal dengan Artificial Inteligince (AI).

Untuk membuat pemain merasa seperti melawan pemain manusia lainnya, diperlukan suatu algoritma yang dapat membuat AI ini mampu mengambil keputusan yang terbaik agar dapat mengalahkan pemain atau setidaknya menghalau pemain menang. Algoritma minimax ini merupakan algoritma yang sangat sering dipakai untuk permasalah tersebut. Dan permainan Tic Tac Toe

merupakan salah satu contoh yang baik dan cukup sederhana untuk kita mengerti bagaimana cara kerja dan efeknya.

Kita sebagai manusia adalah makhluk ciptaan Allah SWT yang paling sempurna, dianugrahi sebuah otak yang sangat canggih, yang tidak bisa dibandingkan dengan komputer manapun.

Kemudian muncul ide untuk menciptakan sebuah komputer yang cerdas, yang mampu berfikir dan bertindak selayaknya manusia. Paradigma lama, memposisikan komputer hanya sebagai alat bantu kerja, agar lebih cepat, lebih akurat dan lebih rapi. Komputer hanya bertindak bila ada instruksi dari manusia. Namun kini paradigma itu mulai berubah, komputer saat ini telah diposisikan sebagai penasehat. Artinya, komputer tidak hanya mampu bertindak tetapi juga mampu berfikir atau istilahnya Artificial Intelligence (AI) atau Kecerdasan Buatan.

Ada beberapa alasan mengapa permainan, khususnya permainan Tic Tac Toe digunakan sebagai media penerapan kecerdasan buatan pada kasus ini, antara lain:

a. Pola aturan permainan Tic Tac Toe ini cukup populer dan mudah untuk dimainkan, diasumsikan anak-anak atau dewasa dapat memainkannya. Meskipun ada orang yang belum pernah mengenal permainan ini, diharapkan orang tersebut cepat dapat memainkannya. b. Sangat mungkin untuk dibandingkan dengan

(2)

c. Sangat mudah untuk menentukan ukuran kesuksesan, atau kegagalan.

d. Dengan asumsi-asumsi tersebut, maka diharapkan setiap pengguna mampu bermain dengan baik bersama komputer. Sehingga yang dibutuhkan pemain atau user dalam memainkan permainan ini hanyalah ketelitian dan logika berfikir yang baik.

Minimax merupakan salah satu teknik permainan

yang terkenal. Minimax menggunakan teknik pencarian Depth-First Search dengan kedalaman terbatas, dan fungsi evaluasi yang digunakan adalah fungsi evaluasi statis, dengan mengansumsikan bahwa lawan akan membuat langkah terbaiknya yang dapat dilakukan, algoritma minimax cocok digunakan untuk permainan catur, Othello, checkers, dan Tic Tac Toe.

Tugas dari minimax adalah memetakan seluruh kemungkinan permainan dimana masing-masing hasil akhir permainan punya nilai Heuristik. Minimax dirancang untuk memaksimalkan keuntungan dan meminimalkan kerugian dalam kasus terburuk dari bermain game. Tujuan dari minimax ini yaitu memilih peluang terkecil agent kalah atau memilih peluang terbesar agar agent bisa menang. Idenya adalah untuk memilih langkah berikutnya dengan nilai minimax tertinggi (terbaik playoff dicapai terhadap lawan bermain langkah terbaik mereka).

Game tic-tac-toe itu sendiri merupakan permainan klasik berjenis permainan papan (board-game) dengan papan permainan dengan ukuran tertentu, disini kami buat dalam ukuran 5x5. Dalam game tic-tac-toe terdapat dua puluh lima buah ruang (5x5) berbentuk kotak yang bersekat (bidak). Game ini menggunakan dua simbol pemain yaitu X atau O. Game ini dimulai dengan mengisi salah satu bentuk simbol pada salah satu bidak, hingga lima buah simbol yang berbentuk sama tersusun membentuk garis vertikal, atau horizontal.

Berdasarkan uraian di atas, maka Tugas Besar ini diberi judul “IMPLEMENTASI ALGORITMA

MINIMAX PADA PERMAINAN TIC TAC TOE

5

X

5

.

1.2. Identifikasi Masalah

Beberapa masalah pokok yang akan dibahas pada penelitian ini antara lain: pada permainan Tic TacToe 5x5, adapun tujuannya yaitu :

a. Untuk mengetahui solusi pencarian dan pelacakan yang dilakukan algoritma minimax pada permainan Tic Tac Toe.

b. penggunaan algoritma minimax untuk membuat AI yang dapat mencari dan menentukan keputusan terbaik dalam permainan Tic Tac Toe sedemikian sehingga AI tersebut dapat mengalahkan pemain.

1.4. Batasan Masalah

a. Permainan ini dimainkan oleh satu orang pemain melawan komputer.

b. Bentuk papan permainan berbentuk matriks 5x5. c. Algoritma pencarian dan pelacakan yang

digunakan yaitu menggunakan algoritma minimax.

2. Landasan Teori

2.1. Konsep Dasar Kecerdasan Buatan

Kecerdasan buatan atau lebih dikenal sebagai Artificial Intelligence, memiliki beberapa defenisi, antara lain :

a. Artificial intelligence adalah ilmu yang mengembangkan komputer supaya dapat bekerja dan berpikir serta mengambil keputusan seperti layaknya manusia.

b. Artificial intelligence merupakan salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia.

c. Artificial intelligence merupakan software yang memungkinkan komputer digital bisa meniru beberapa fungsi otak manusia yang terbatas.

2.2. Konsep Dasar Algoritma

Defenisi Algoritma, “Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis”. Sedangkan menurut Kamus Besar Bahasa Indonesia, terbitan Balai Pustaka, 1988. “Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah”.

2.3. Algoritma Pencarian Artificial Intelligence

Pencarian dan pelacakan merupakan salah satu hal penting yang menentukan keberhasilan dan kesuksesan sebuah kecerdasan buatan. Pada dasarnya terdapat 2 teknik pencarian dan pelacakan yang digunakan dalam kecerdasan buatan, yaitu Pencarian Buta (Blind Search) dan Pencarian Heuristik (Heuristic Search).

3. Analisis dan Perancangan 3.1. Analisis

(3)

yang meliputi aturan permainan, dan komponen-komponen permainan.

3.2. Aturan Permainan

Sebelum ke aturan permainan, disini akan di gambarkan keadaan awal dalam game Tic Tac Toe 5x5 ini akan menampilkan arena permainan dengan papan kotak-kotak yang berdimensi 5x5, dimana terdapat 5 baris dan 5 kolom. Objek yang akan bermain dalam game ini adalah “user” atau pemain dan komputer yang telah diberi AI.

Didalam game ini terdapat menu sebelum memasuki permainan, antara lain :

1. Mulai Permainan : jika memilih menu ini maka akan masuk ke bagian permainan dan didalamnya anda akan diberi pilihan lagi apakah anda akan bermain pertama atau kedua.

2. Keluar : untuk keluar dari permainan. Ada beberapa aturan dalam permainan ini, antara lain :

a. Permainan dimulai ketika pemain sudah memilih akan jalan terlebih dahulu atau kedua. Pemain diberi tanda atau symbol X dan komputer diberi tanda O.

b. Yang melakukan permainan pertama, bebas meletakan simbol dipapan kotak yang tersedia. c. Komputer (AI) akan jalan sesuai dengan strategi

yang dia punya.

d. Pemain ataupun komputer harus membentuk satu garis lurus baik vertikal, horizontal untuk memenangkan permainan ini.

e. Komputer yang telah diberi AI bertugas menghalangi pemain untuk menang dengan cara meletakkan simbol O di garis yang dibuat oleh pemain.

Kemudian goalnya adalah menyelesaikan permainan ini dengan membuat sebuah garis lurus yang terdiri 5 kotak deretan simbol secara vertical, horizontal.

Terdapat beberapa kondisi yang mungkin terjadi pada permainan ini, yaitu :

1. Kondisi Menang

Kondisi menang terjadi apabila kita berhasil membentuk sebuah garis lurus yang terdiri dari 5 buah simbol X, baik secara horizontal atau vertical.

2. Kondisi Kalah

Kondisi kalah terjadi apabila kita tidak berhasil membentuk 5 buah simbol X secara horizontal ataupun vertikal. Atau kondisi dimana AI menang terlebih dahulu.

3. Kondisi Seri

Kondisi seri terjadi apabila semua kotak telah terisi tetapi belum ada yang bisa membentuk 5 buah simbol secara berurutan secara vertical ataupun horizontal.

3.3. Komponen-komponen Permainan

Komponen penelusuran dalam aplikasi minimax pada permainan Tic Tac Toe ini adalah :

- Initial State

(4)

Gambar 3.1. Keadan Awal - Operator

Operator pada permainan ini adalah pemain dapat meletakkan simbolnya (X atau O) secara sembarang di kotak yang masih kosong.

3.4. Analisis Algoritma Minimax

Peran komputer sebagai lawan tanding tentunya harus didukung dengan kemampuan yang dimiliki oleh komputer, dengan demikian algoritma minimax yang diterapkan pada algoritma dari bentuk permainan tersebut bertujuan agar komputer memiliki kemampuan tanding yang baik.

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 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 langkah-langkah 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.

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.

(5)

Source Code Algoritma Minimax

3.4.1. Spesifikasi Algoritma Minimax

- Kompleksitas Waktu : O(bm)

Yaitu jumlah node dari seluruh level (b0 + b1 +b2

(6)

- Kompleksitas Ruang : O(m)

Mengasumsikan bahwa kita menelusuri pohon DFS satu jalur dalam satu waktu.

3.5. Analisis Sistem

Pembahasan selanjutnya akan menjelaskan tentang cara kerja sistem yang sedang berjalan dan

Kita dapat membatasi kedalaman yang kita cari ke depan (keterbatasan sumber daya) dalam rangka untuk membuatnya lebih layak. Oleh karena itu mencari 3 lapisan depan untuk melihat apakah sesuatu yang mengerikan terjadi, bukan sampai akhir permainan.

Heuristic Evaluation selanjutnya akan diimplementasikan pada bahasa pemrograman. Setelah implementasi maka dilakukan pengujian terhadap sistem yang baru dan akan dilihat kekurangan-kekurangan pada aplikasi yang baru untuk pengembangan sistem selanjutnya.

4.1. Implementasi

Anggap lah 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.

Pembentukan pohon pencarian solusi digunakan dengan menggunakan konsep Depth-First, dimulai dari awal permainan sampai akhir permainan.

Berikut ini merupakan langkah yang dilakukan komputer dan juga pemain:

4.1.1. Pendukung Laptop

Perangkat keras dan perangkat lunak yang digunakan untuk mengimplementasikan aplikasi di laptop sebagai berikut:

1) Perangkat Lunak

a) Sistem Operasi Windows 7 b) Dev C

2) Perangkat Keras

a) Processor Intel Core i3 1.80 GHz b) VGA Intel HD 4000

c) Memory (RAM) 4 GB

4.2. Pengujian Sistem

Pengujian aplikasi permainan Tic-Tac- Toe dilakukan dengan tujuan agar aplikasi yang dibangun memiliki kualitas yang lebih baik dan sesuai dengan yang diharapkan. Untuk mewujudkan tujuan dari uji coba sistem maka dibutuhkan penanganan kesalahan atas proses input, penanganan atas proses output, penanganan kesesuaian lingkungan, menjalankan program dari awal sampai akhir, dan menjalankan program secara tidak berurutan.

4.2.1.Pengujian permainan Tic-Tac-Toe

dengan algoritma minimax

Minimax adalah teknik pelacakan atau pencarian dengan kedalaman terbatas, semakin banyak level kedalamannya maka langkah yang dibuat akan lebih baik karena komputer dapat lebih mengetahui prediksi langkah kedepan.

4.2.2. Hasil Analisis

(7)

jika pemain melakukan langkah yang salah, maka AI akan langsung menggunakan kesempatan tersebut

5. Kesimpulan

Permainan Tic Tac Toe ini merupakan permainan satu lawan satu. Game ini kami buat aturan yaitu hanya pemain melawan komputer. Untuk setiap permainan satu lawan satu, hampir selalu digunakan algoritma Minimax dalam permainan komputer. Proses pembangunan pencarian Minimax dilakukan dengan metode Depth-First-Search. Algoritma Minimax mampu menganalisis segala kemungkinan posisi permainan untuk menghasilkan keputusan yang terbaik. Oleh karena itu, dalam permainan Tic Tac Toe yang kami buat ini menggunakan algoritma minimax.

Algoritma minimax merupakan algoritma yang sangat bagus dan cocok untuk pengambilan

keputusan oleh AI. Algoritma minimax ini menggunakan konsep DFS dalam pembentukan pohon solusi. Pohon solusi dibentuk dari awal permainan sampai akhir permainan.

Semakin akurat fungsi heuristic yang digunakan, semakin baik pula pengambilan keputusan yang dilakukan oleh AI. Dengan menggunakan algoritma minimax untuk AI dalam permainan Tic Tac Toe, pemain (manusia) akan kesulitan melawan AI tersebut.

REFERENSI

[1] http://wiki.bethanycrane.com/minimax [2] http://www.weijima.com/index.php?

Gambar

Gambar 3.1. Keadan Awal

Referensi

Dokumen terkait

Nama serta alamat majikan / perniagaan sendiri (jika sudah bersara, nyatakan jenis pekerjaan, nama dan alamat majikan / perniagaan yang terdahulu). Name and address of employer /

Untuk dalem Yudaning- ratan yang tadinya sebagai bagian dari tiga buah dalem yang memanjang dari barat ke timur, hanya mempunyai satu seketeng yang memisahkan area publik dengan

dan Zn dalam air laut dan siput sedut (C. montagnei), batas aman konsumsi siput sedut serta tingkat pencemaran logam berat di perairan Desa Gemuruh Pulau Kundur, Provinsi

Kesehatan Olahraga (Sport Medicine) membahas semua aspek medis dan olahraga muali dari aspek-aspek anatomis, fisiologis, psykologis orkes, gizi, aklimasisasi, cedera olahraga,

penyelesaian perselisihan Hubungan Industrial dan Hambatan-hambatan apa yang timbul dalam penyelesaian hubungan industrial melalui

Dalam proses memacu mutu manusia tersebut, Hidup Sehat tidak cukup dengan pelayanan kesehatan gratis, atau adanya kesediaan yang mudah diakses, tetapi

Seperti yang sudah dijelaskan dalam pembahasan sebelumnya bahwa inti dari viral marketing adalah strategi pemasaran yang dapat menyebabkan orang-orang

Pada hasil penelitian ini menunjukkan bahwa siswa kelas XI SMA Islam Hidayatullah Semarang memiliki tingkat hardiness yang cenderung kuat, yang berarti siswa memiliki