Implementasi Permainan Reversi menggunakan Penelusuran BFS dengan Konsep Algoritma MinMax

dokumen-dokumen yang mirip
BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search

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

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

BAB 2 TINJAUAN PUSTAKA

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

ALGORITMA MINIMAX DALAM PERMAINAN CHECKERS

BAB III ANALISA DAN PERANCANGAN

PENERAPAN KONSEP ALGORITMA MINIMAX DENGAN MENGGUNAKAN BREADTH-FIRST SEARCH (BFS) PADA PERMAINAN REVERSI SKRIPSI SURYA WIJAYA

MASALAH, RUANG KEADAAN & PENCARIAN

BAB I PENDAHULUAN. 1.1 Latar Belakang

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

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Aplikasi Permainan Battleship Menggunakan Algoritma Runut-Balik Dengan Breadth First Search

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

Permainan Papan Strategi Menggunakan Algoritma Minimax

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

PENERAPAN ALGORITMA MINIMAX PADA PERMAINAN CHECKERS

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN MATH MAZE

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

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

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

Penggunaan Metode Depth First Search (DFS) dan Breadth First Search (BFS) pada Strategi Game Kamen Rider Decade Versi 0.3

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

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

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

BAB 2 LANDASAN TEORI

ALGORITMA PENCARIAN (1)

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Artificial Intelligence

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

Sistem Kecerdasan Buatan. Masalah, Ruang Masalah dan Pencarian Solusi. Masalah. Masalah Sebagai Ruang Keadaan 10/7/2015

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

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin

BAB 1 PENDAHULUAN. Hal 1. 1 Dan W. Patterson, Introduction to Artificial Intelligence and Expert System, Prentice Hall, 1990,

BAB 2 LANDASAN TEORI

Aplikasi Pohon Keputusan pada Permainan Catur

memberikan output berupa solusi kumpulan pengetahuan yang ada.

Penerapan BFS dan DFS pada Pencarian Solusi

Perbandingan Algoritma Brute Force dan Breadth First Search dalam Permainan Onet

PERBANDINGAN METODE PENCARIAN DEPTH-FIRST SEARCH, BREADTH-FIRST SEARCH DAN BEST-FIRST SEARCH PADA PERMAINAN 8-PUZZLE

UKDW BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang

Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones

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

IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN CATUR

UKDW. Bab 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN Latar Belakang

Penerapan BFS dan DFS pada Pencarian Solusi

Perangkat Lunak Simulasi Langkah Kuda Dalam Permainan Catur

Combinatorial Game Theory, Game Tree, dan Intelegensia Buatan

Pemanfaatan Pohon dalam Realisasi Algoritma Backtracking untuk Memecahkan N-Queens Problem

BAB II LANDASAN TEORI

dengan Algoritma Branch and Bound

PENERAPAN ALGORITMA RUNUT-BALIK DALAM PENCARIAN SOLUSI TEKA-TEKI BATTLESHIP

Penerapan Algoritma DFS dan BFS untuk Permainan Wordsearch Puzzle

Penerapan DFS dan BFS dalam Pencarian Solusi Game Japanese River IQ Test

Penggunaan Algoritma DFS dalam Pencarian Strategi Permainan Catur

BAB 2 LANDASAN TEORI

PERBANDINGAN ALGORITMA BFS DAN DFS DALAM PEMBUATAN RUTE PERJALANAN OBJEK PERMAINAN 2 DIMENSI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB III METODE PENELITIAN

Aplikasi Algoritma Traversal Dalam Binary Space Partitioning

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Aplikasi Algoritma MiniMax pada Beberapa Permainan Papan

Pencarian Pohon Solusi Permainan Alchemy Menggunakan Algoritma BFS dan DFS

Penerapan Algoritma Greedy dan Breadth First Search pada Permainan Kartu Sevens

Implementasi Algoritma BFS dan DFS dalam Penyelesaian Token Flip Puzzle

KOMBI ASI GREEDY, MI IMAX, DA ALPHA-BETA PRU I G U TUK PERMAI A REVERSI

Aplikasi dan Analisis Algoritma BFS dan DFS dalam Menemukan Solusi pada Kasus Water Jug

BAB III ALGORITMA BRANCH AND BOUND. Algoritma Branch and Bound merupakan metode pencarian di dalam ruang

BAB I PENDAHULUAN. adalah perkembangan dalam bidang permainan. banyak permainan teka-teki yang menjadi populer di kalangan masyarakat.

Masalah, Ruang Keadaan, Pencarian. Kecerdasan Buatan Pertemuan 2 Yudianto Sujana

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB III ANALISA MASALAH DAN PERANCANGAN

Kecerdasan Buatan Penyelesaian Masalah dengan Pencarian

HEURISTIC SEARCH UTHIE

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

PEMODELAN DAN PENGIMPLEMENTASIAN PERMAINAN CONNECT FOUR

KATA PENGANTAR. Maha Esa, yang telah berkenan memelihara dan membimbing penulis, sehingga

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

Pembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle

UKDW BAB 1 PENDAHULUAN Latar Belakang

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

Pemanfaatan Algoritma BFS dalam Menyelesaikan Permasalahan Knight Moves

BAB II LANDASAN TEORI

METODE PENCARIAN DAN PELACAKAN

IMPLEMENTASI BACKTRACKING ALGORITHM UNTUK PENYELESAIAN PERMAINAN SU DOKU POLA 9X9

PENGEMBANGAN ALGORITMA HEURISTIK UNTUK PENYELESAIAN PUZZLE HITORI

GAME EDUKASI MENGENAL DAN MEMBACA BAHASA ARAB

Penerapan Algoritma Alpha-Beta Pruning pada Permainan Nine Men s Morris

BAB 3 ANALISIS ALGORITMA

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penerapan BFS dan DFS dalam Garbage Collection

Masalah, Ruang Keadaan dan Pencarian 4/7/2016. fakultas ilmu komputer program studi informatika

MILIK UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

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

Transkripsi:

Implementasi Permainan Reversi menggunakan Penelusuran BFS dengan Konsep Algoritma MinMax Romi Fadillah Rahmat, Muhammad Anggia Muchtar, Dedy Arisandi Fakultas MIPA Program Studi Teknologi Informasi Universitas Sumatera Utara Email : romi.fadillah@usu.ac.id, anggi.muchtar@usu.ac.id, dedyarisandi@gmail.com Abstrak Reversi merupakan salah satu permainan papan yang murni berbasis strategi dan dimainkan oleh dua pemain pada papan yang berukuran 8 baris dan 8 kolom dan setiap pemain memiliki bidak yang berbeda warna (biasanya hitam dan putih). Saat ini, permainan Reversi dapat ditemukan dengan mudah dalam bentuk aplikasi. Penulis membangun aplikasi permainan Reversi berbasis Kecerdasan Buatan dengan menerapkan konsep algoritma Minimax dan menggunakan algoritma BFS. Penerapan algoritma ini mengefisienkan waktu eksekusi program dan memungkinkan agen cerdas untuk mengalahkan manusia. Pembuatan aplikasi ini bertujuan untuk mengetahui cara kerja suatu agen cerdas pada permainan Reversi. Aplikasi ini dikembangkan menggunakan metode perancangan UML dan bahasa pemrograman Java 1. Pendahuluan Permainan papan (board game) adalah sebuah permainan di mana bidak-bidak diletakkan, dipindahkan ataupun dimakan oleh bidak lawan yang dimainkan di atas papan yang bertanda sesuai dengan peraturan yang berlaku pada permainan tersebut. Permainan papan ada yang murni berbasis strategi, kesempatan ataupun gabungan dari kedua hal tersebut dan biasanya mempunyai suatu tahap kemenangan yang ingin dicapai oleh para pemain. Permainan papan juga mempunyai berbagai jenis yang dibedakan oleh ukuran papan dan jumlah pemain. Reversi merupakan salah satu permainan papan yang murni berbasis strategi dan dimainkan oleh dua pemain pada papan yang berukuran 8 baris dan 8 kolom dan setiap pemain memiliki bidak yang berbeda warna (biasanya hitam dan putih). Pemain dikatakan menang bila pada akhir permainan mempunyai jumlah bidak lebih banyak daripada jumlah bidak lawan. Reversi juga dikenal dengan Othello karena dipasarkan oleh perusahaan permainan Amerika dengan nama Othello. Kecerdasan buatan merupakan salah satu bidang ilmu komputer yang didefinisikan sebagai kecerdasan yang dibuat untuk suatu sistem dengan menggunakan algoritma-algoritma tertentu sehingga sistem tersebut seolah-olah dapat berpikir seperti manusia. Program kecerdasan buatan pertama kali ditulis pada tahun 1951 untuk menjalankan mesin Ferranti Mark di University of Manchester (UK) yang merupakan mesin permainan naskah yang ditulis oleh Christopher Strachey. [1]. Algoritma Minimax adalah salah satu algoritma yang digunakan pada permainan papan yang dimainkan oleh dua pemain dan berbasis zero-sum (pendapatan poin untuk pemain yang satu merupakan kehilangan poin untuk pemain lawan). Algoritma ini sering mendasari pola pikir langkah penyelesaian masalah dalam beberapa jenis permainan papan yang dimainkan di komputer. Secara garis besar konsep algoritma minimax ini adalah meminimalkan kemungkinan kekalahan dan memaksimalkan kemungkinan kemenangan. Breadth-First Search (BFS) merupakan metode pencarian buta (blind search) yang dilakukan pada sebuah pohon yang ditelusuri dari tingkat teratas sampai tingkat terbawah. Pada metode pencarian ini, semua node pada level n akan dikunjungi terlebih dahulu sebelum mengunjungi node-node pada level n+1. Pencarian dimulai dari node akar terus ke level ke-1 dari kiri ke kanan, kemudian berpindah ke level berikutnya demikian pula dari kiri ke kanan hingga ditemukannya solusi. [2]. Pada tahun 199, seorang juara dunia Takeshi Murakami dari Jepang berhasil dikalahkan oleh sebuah program komputer dengan skor 6-0 dalam permainan Othello, yang dirancang oleh Michael Buro, yang diberi nama Logistello. [1]. Mencermati hal-hal di atas, maka penulis berkeinginan untuk menerapkan konsep algoritma

Minimax dengan menggunakan BFS untuk membuat aplikasi permainan Reversi yang berbasis kecerdasan buatan dan mampu mengalahkan manusia. Dengan menerapkan konsep algoritma Minimax dengan menggunakan algoritma BFS, maka akan memungkinkan terjadinya beberapa cut-off sehingga waktu eksekusi untuk algoritma ini akan lebih efisien. 2. Landasan Teori Permainan Reversi adalah permainan yang dimainkan oleh dua orang pemain. Permainan ini dimainkan di atas papan Reversi persegi yang terdiri dari 8 baris dan 8 kolom kotak-kotak kecil. Peralatan lain yang dibutuhkan adalah koin berwarna gelap dan koin berwarna terang (umumnya warna hitam dan warna putih) masing-masing sebanyak 64 buah. Pada awal permainan akan diletakkan dua koin hitam dan dua koin putih pada tengah-tengah papan. Aturan permainan Reversi secara umum adalah sebagai berikut: 1. Pemain yang menggunakan koin hitam akan bermain terlebih dahulu. 2. Bila pemain koin hitam yang akan bermain, maka koin hitam harus diletakkan di kotak yang dapat dilompati oleh koin hitam lainnya. Dan begitu juga kondisinya untuk pemain yang menggunakan koin putih. Lihat Gambar 1 untuk lebih jelasnya. 3. Apabila salah satu pemain tidak dapat bermain karena tidak ada kotak yang sesuai dengan aturan nomor 2, maka pemain yang satunya lagi yang bermain. 4. Apabila kedua pemain sama-sama tidak dapat mengambil langkah lagi, maka permainan berakhir. Gambar 1 Keadaan Awal dan Kotak yang Mungkin (Langkah Hitam) [1] Permainan Reversi berakhir dengan beberapa kondisi sebagai berikut: 1. Semua kotak pada papan sudah penuh diisi koinkoin. 2. Belum semua kotak pada papan diisi tetapi koinkoin yang ada pada papan hanya tersisa koin-koin dalam 1 warna saja. 3. Kedua pemain setuju untuk mengakhiri permainan (bisa seri ataupun menyerah). Alternatif lain untuk algoritma pencarian adalah Breadth-First Search (BFS). Seperti namanya, algoritma ini lebih mendahulukan pencarian cabang daripada pencarian kedalaman. Jadi, pencarian akan dilakukan dari tingkat n dan akan lanjut ke tingkat n+1 jika dan hanya jika tingkat n telah ditelusuri seluruhnya. Penelusuran pada Gambar 2.10 dimulai dari A-B- C-D-E-F-G-H-I-J di mana A merupakan kedaaan awal dan mencapai J yang merupakan keadaan tujuan. Dapat kita ketahui dengan jelas bahwa penelusuran BFS dilakukan secara tingkat ke tingkat pada pohon permainan. Langkah-langkah cara kerja algoritma BFS adalah sebagai berikut: 1. Masukkan root ke dalam struktur data antrian (queue). 2. Ambil simpul dari awal antrian, lalu periksa apakah simpul merupakan solusi. 3. Jika simpul merupakan solusi, maka pencarian selesai dan nilai dikembalikan. 4. Jika simpul bukan solusi, masukkan seluruh simpul yang bertetangga dengan simpul tersebut ke dalam antrian. 5. Jika antrian kosong dan setiap simpul sudah ditelusuri, maka pencarian selesai dan solusi tidak ditemukan. 6. Ulangi pencarian dari poin kedua. Kompleksitas dalam kondisi terburuk untuk algoritma BFS adalah O(b d ) dengan keterangan b merupakan unsur percabangan pada pohon dan d merupakan tingkat kedalaman yang dicapai BFS saat menemukan solusi. Sedangkan kompleksitas untuk kondisi terbaik pada algoritma BFS adalah O(1), dengan kondisi pencarian simpul pertama langsung menemukan solusi. Algoritma Minimax merupakan algoritma yang digunakan untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai maksimal. Algoritma ini diterapkan dalam permainan yang melibatkan dua pemain dan permainan tersebut menggunakan strategi dan logika. Hal ini berarti permainan-permainan tersebut dapat dijelaskan sebagai suatu rangkaian aturan. Algortima Minimax dapat menghasilkan pilihan langkah yang baik dengan mengasumsikan bahwa pemain lawan akan selalu memilih langkah terbaik untuk dirinya dan langkah terburuk bagi komputer. Prinsip dasar pada algoritma Minimax ini adalah jalur

yang akan dipilih oleh komputer merupakan jalur maksimum (max node) yang akan menghasilkan nilai maksimum di jalur tersebut, dan saat lawan yang akan bermain akan meminimalkan (min node) nilai komputer. Jadi, komputer bertujuan untuk memaksimalkan kemungkinan nilai paling rendah yang akan diperoleh komputer. Algoritma Minimax merupakan algoritma dasar pencarian DFS untuk melakukan traversal dalam pohon. DFS akan mengekspansi simpul paling dalam terlebih dahulu. Setelah simpul akar dibangkitkan, algoritma ini akan membangkitkan simpul pada tingkat kedua, yang akan dilanjutkan pada tingkat ketiga, dst. Dalam melakukan traversal, misalkan dimulai dari suatu simpul i, maka simpul selanjutnya yang akan dikunjungi adalah simpul tetangga j, yang bertetangga dengan simpul k, selanjutnya pencarian dimulai lagi secara rekursif dari simpul j. Ketika telah mencapai simpul m, di mana semua simpul yang bertetangga dengannya telah dikunjungi, pencarian akan dirunutbalik ke simpul terakhir yang dikunjungi sebelumnya dan mempunyai simpul j yang belum dikunjungi. Selanjutnya pencarian dimulai kembali dari j. Ketika tidak ada lagi simpul yang belum dikunjungi yang dapat dicapai dari simpul yang telah dikunjungi maka pencarian selesai. Untuk proses dan cara kerja algoritma yang lebih jelasnya lagi, dapat dilihat pada Gambar 2 yang merepresentasikan cara kerja algoritma Minimax. Untuk faktor percabangan pada permainan Reversi mempunyai jumlah yang bervariasi dari tingkat ke tingkat, oleh karena itu kita misalkan saja hanya ada 5 faktor percabangan dari tingkat ke tingkat walaupun pada kenyataannya bisa lebih ataupun kurang. Dengan demikian, kita telah memperoleh nilai untuk faktor percabangan dan juga nilai untuk faktor kedalaman yaitu O(5 60 ). Ini tentu adalah nilai yang sangat besar dan tidak mungkin untuk ditelusuri. Oleh karena itu, penulis membatasi tingkat kedalaman hingga 4 tingkat saja. Pembatasan hingga tingkat tertentu, tentu membuat agen menjadi lebih lemah jika agen hanya mencari koin paling banyak yang bisa didapatkan di setiap tingkat. Namun, penulis tidak menggunakan strategi untuk mencari koin yang bisa didapatkan, tetapi penulis menggunakan fungsi evaluasi yang berupa strategi peletakkan koin pada papan permainan. Jadi, setiap kotak pada papan permainan, mempunyai nilainilai tersendiri. Gambar 3 Strategi peletakkan koin pada kotak Gambar 2 Cara Kerja MinMax 3. Analisis dan Perancangan Untuk penelusuran pohon permainan pada permainan Reversi menggunakan algoritma BFS, maka tingkat kedalaman yang akan ditelusuri adalah jumlah kotak yang belum diisi dikurangi dengan jumlah kotak yang sudah terisi. Kita ketahui bahwa dari awal permainan, sudah ada 4 kotak yang terisi dengan koin, dan jumlah keseluruhan kotak pada permainan Reversi adalah 64 kotak, maka tingkat kedalaman pada permainan Reversi dari awal permainan adalah 60 tingkat. Nilai-nilai pada Gambar 3 merupakan positional strategy pada situs tersebut. Pada gambar tersebut, dapat kita lihat kotak di sudut mempunyai nilai yang tertinggi, sedangkan untuk kotak yang mengelilingi kotak sudut mempunyai nilai negatif. Kotak sudut merupakan kotak yang paling menguntungkan karena jika ada koin yang sudah terletak di sudut, maka koin tersebut tidak dapat diganggu lagi. Sedangkan kotak yang berada di sekitar sudut merupakan kotak yang dapat menyebabkan lawan mendapatkan kotak sudut, oleh karena itu kotak tersebut diberi nilai negatif. Jadi, secara keseluruhan strategi ini bertujuan agar agen berusaha untuk mendapatkan kotak sudut dan kotak pinggir, dan berusaha untuk tidak meletakkan koin di kotak-kotak yang mempunyai nilai negatif yang dapat menyebabkan lawan mendapatkan kotak sudut dan kotak pinggir.

Karena papan permainan Reversi bersimetris secara horizontal, vertikal, dan diagonal, maka papan permainan Reversi hanya memiliki 10 kotak yang unik. Dari 10 kotak yang unik inilah penulis menyimpan semua nilai-nilai strategi seperti tampak pada Gambar 3.1. Untuk memperjelas kotak-kotak unik yang dimaksud, penulis mengvisualisasikan pada Gambar 3.2 berikut. Gambar 5 Kondisi yang menghasilkan cut-off Dari Gambar 5, dapat ditelusuri menjadi sebuah pohon permainan. Di sini, koin putih adalah koin agen. Berikut adalah gambar pohon permainan yang ditelusuri oleh algoritma BFS dan algoritma DFS. Gambar 4 Kotak-kotak unik pada papan permainan Reversi Pada Gambar 4, dapat dilihat bahwa hanya ada 10 kotak yang unik (dari 0 sampai 9). Sebagai contoh untuk kotak sudut diberi nilai 0, maka untuk semua kotak 0 diisi dengan nilai 99 karena kotak 0 merupakan kotak sudut. Tujuan pembuatan kotak-kotak unik adalah untuk mempermudah proses penelusuran dan juga menghemat memori yang digunakan. Kelebihan menggunakan algoritma BFS adalah algoritma BFS dapat melakukan cut-off pada suatu keadaan saat penelusuran pada pohon permainan. Dengan adanya cut-off tersebut, tentu ini akan menghemat waktu penelusuran pada pohon permainan karena tidak seluruh pohon permainan harus ditelusuri. Kondisi yang akan menghasilkan cut-off adalah pada saat penelusuran di tingkat lawan yang akan menyebabkan agen kehilangan semua koin di papan permainan (skor agen = 0). Karena kondisi ini merupakan akhir permainan dan agen kalah dengan tidak ada koin yang tersisa di papan permainan, maka jalur pada tingkat agen yang menuju ke jalur ini di tingkat lawan akan dihapus dan tidak ditelusuri lebih lanjut lagi. Gambar 6 Pohon permainan dengan BFS dan DFS Gambar 6 menunjukkan pohon permainan yang ditelusuri dengan algoritma BFS dan algoritma DFS. Angka-angka yang terdapat pada setiap node merupakan jumlah koin yang akan diperoleh agen. Penelusuran dengan BFS jelas lebih efisien di saat terjadi cut-off ini, karena untuk jalur kedua (jalur yang terjadi cut-off), penelusuran dilakukan hanya sampai tingkat kedua saja, sedangkan dengan DFS, penelusuran terjadi hingga tingkat ketiga yang seharusnya tidak perlu ditelusuri lagi. Oleh karena itu, jelas algoritma BFS lebih unggul pada cut-off ini. Algoritma Minimax telah dijelaskan di bab sebelumnya dan telah diketahui bahwa algoritma Minimax menggunakan penelusuran Depth-First Search (DFS) untuk menelusuri pohon permainan. Dan telah kita ketahui bahwa penelusuran menggunakan Breadth-First Search (BFS) dapat menghasilkan cut-off yang lebih efisien daripada algoritma DFS. Oleh karena itu, penulis tidak sepenuhnya menerapkan algoritma Minimax, tetapi hanya menggunakan konsep algoritma Minimax untuk mendapatkan nilai optimal. Untuk memperjelas bagaimana konsep algoritma Minimax bekerja, perhatikan Gambar berikut beserta penjelasannya.

nilai 6 dan nilai 4. Dengan demikian, jalur kiri merupakan jalur yang akan dipilih oleh agen dan merupakan nilai yang optimal dari pada 2 jalur lainnya dalam penelusuran dengan kedalaman 3 tingkat. 4. Implementasi dan Pengujian Gambar Penelusuran BFS dan konsep algoritma Minimax Tingkat max merupakan tingkat saat agen mengambil langkah, sedangkan tingkat min merupakan tingkat saat lawan mengambil langkah. Penjelasan Gambar adalah sebagai berikut: 1. Penelusuran BFS menghasilkan data-data antrian seperti tampak pada gambar. 2. Setelah data-data antrian diperoleh, maka penerapan konsep algoritma Minimax dilakukan. Semua tingkat tidak berisi nilai, kecuali tingkat diisi dengan data-data antrian. 3. Untuk mengisi data-data di tingkat-2 (tingkat max), maka dilakukan seleksi data-data yang paling maksimal dari tingkat. Seleksi dilakukan pada setiap data-data yang mempunyai parent yang sama. Sebagai contoh, perhatikan 4 data paling kiri di tingkat {8,,,9}. Data-data tersebut hanya mempunya 2 parent yaitu 8 dan mempunyai parent yang sama, dan 9 mempunyai parent yang sama. Oleh karena itu, seleksi hanya dapat dilakukan antara 8 dan, serta dan 9, sehingga diperoleh nilai 8 dan 9. (untuk mengetahui parent dari setiap data, digunakan variabel jalur yang ada pada setiap data) 4. Setelah data-data di tingkat-2 diperoleh, maka dilakukan seleksi data-data di tingkat-2 untuk mengisi data-data di tingkat-1 (tingkat min). Kalau tadi kita mencari nilai maksimal di tingkat max, di tingkat min kita mencari nilai minimal. 5. Proses tersebut berakhir dengan nilai maksimal 8 yaitu jalur yang paling kiri pada. Nilai 8 yang diperoleh merupakan nilai yang optimal, karena jika kita melangkah ke jalur kiri (nilai 8), sebagus apapun pilihan langkah lawan, paling sedikit kita memperoleh nilai 8. Sedangkan untuk jalur tengah dan jalur kanan, kita hanya dapat memperoleh Penjelasan tentang implementasi sistem dilakukan untuk mengetahui hasil dari aplikasi yang dirancang, dan pengujian sistem dilakukan untuk membuktikan kebenaran proses berpikir agen cerdas yang berjalan pada sistem. Implementasi aplikasi permainan Reversi dibuat menggunakan bahasa pemrograman Java berbasis Applet dan menggunakan Integrated Development Environment (IDE) Netbeans 6.5. Berikut akan dijelaskan hasil eksekusi aplikasi permainan Reversi yang dijalankan di browser Mozilla Firefox. Penjelasan dimulai dari tampilan awal aplikasi. Gambar 8 Halaman awal Penjelasan penomoran pada Gambar 8 adalah sebagai berikut: 1. Judul (tidak termasuk dalam Applet) 2. Status melangkah 3. Status permainan 4. Papan permainan 5. Status kotak yang valid dan berapa koin yang diperoleh 6. Koin hitam. Koin putih 8. Tombol mulai baru yang akan menampilkan jendela baru jika diklik 9. Tombol undo langkah 10. Tombol minta bantuan

Gambar 9 Tampilan agen berpikir Status melangkah pada permainan dapat berubahubah jika pemain yang bermain adalah manusia dan agen. Jika manusia yang akan melangkah, maka statusnya adalah Silahkan Melangkah, sedangkan jika agen yang akan melangkah, maka statusnya adalah Agen Sedang Berpikir. Dengan adanya status ini, maka pemain manusia dapat mengetahui bahwa agen sedang melakukan proses pencarian terhadap langkah yang akan dia lakukan. Berikut adalah tampilan apabila agen yang akan melangkah. Tombol mulai baru akan menampilkan jendela mulai baru yang berfungsi untuk menentukan pemain 1 dan pemain 2, kemudian mengulang permainan dari awal. Saat jendela mulai baru masih aktif, semua fungsi pada tampilan awal tidak dapat dijalankan. Berikut adalah tampilan jendela mulai baru. Gambar Tampilan minta bantuan Gambar 12 Tampilan akhir permainan dan papan telah penuh Gambar 10 Jendela mulai baru Tombol bantuan akan menampilkan bantuan pada status di bawah papan permainan. Bantuan didapatkan sama seperti cara berpikir agen yang dirancang yaitu melalui algoritma Breadth-First Search dan konsep algoritma Minimax. Bantuan tidak wajib diikuti oleh pemain, karena bantuan hanya berupa kalimat yang merujuk kepada kotak pada papan permainan. Berikut adalah tampilan status minta bantuan. Telah kita ketahui bahwa akhir permainan dari permainan Reversi adalah pada saat kedua pemain sudah tidak bisa mengambil langkah lagi. Akhir permainan bisa terjadi saat papan telah penuh terisi maupun pada saat papan belum penuh terisi. Berikut adalah tampilan pada saat permainan telah berakhir. Gambar 13 Tampilan akhir permainan dan papan belum penuh Pegujian dilakukan untuk membuktikan bahwa algoritma Breadth-First Search (BFS) dan konsep algoritma Minimax telah bekerja sesuai dengan rancangan pada agen cerdas. Pengujian agen cerdas

tidak dapat dilakukan untuk data yang terlalu besar, sehingga penulis membatasi data yang akan diuji tidak lebih dari 100 data. Data yang dimaksud adalah data yang diperoleh dari proses penelusuran algoritma BFS yang kemudian akan dicari nilai optimalnya menggunakan konsep algoritma Minimax. Pengujian dilakukan dengan melakukan uji coba menggunakan 3 buah sampel posisi papan Reversi yang berbeda, kemudian dilakukan pendataan secara manual dengan menelusuri pohon permainan hingga tingkat ke-4 kemudian ditelusuri kembali untuk mendapatkan nilai optimalnya menggunakan konsep algoritma Minimax. Berikut adalah ketiga sampel yang diuji. 4.1. Sampel posisi 1 14 14 14-23 14 14 14-5 14-5 14-1 1-23 14-14 1 1 14-23 14-14 - 1 14 Gambar 14 Sampel posisi 1 (giliran langkah putih) Tabel 1 Data Antrian Tingkat 4 Sampel 1 1 2 3 4 Nilai 1 14 1 1 14 1 1 14 14 1 1 14 14 14 14 1-5 14-23 1 14-5 Tabel 2 Pencarian Nilai Optimal Sampel 1 0 (max) 1 (min) 2 (max) 3 (min) 4-5 -23-5 -23-5 -5-5 - - -23 - - - -23 - - - - -

Pencarian nilai optimal pada Tabel 2 mendapatkan nilai yang merupakan langkah (baris 1 kolom 6) pada Tabel 1. Pada Gambar 14, tertulis ambil langkah baris 1 kolom 6 sehingga ini membuktikan agen telah berpikir dengan benar sesuai dengan algoritma BFS dan konsep algoritma Minimax. Pengujian secara manual terhadap ketiga sampel ini memperoleh nilai yang sama dengan nilai yang diperoleh dari agen cerdas. Dengan demikian, agen cerdas sudah dapat berpikir sesuai dengan yang diharapkan. 4.2. Sampel posisi 2 Gambar Sampel posisi 3 (giliran langkah hitam) Gambar Sampel posisi 2 (giliran langkah putih) Tabel 4 Data Antrian Tingkat 4 Sampel 2 Nilai 1 2 3 4 1 12-2 18 1 99 1 12 18-4 99 12 1-5 99 18 1 12-6 99 99 Tabel 4 Pencarian Nilai Optimal Sampel 2 99 99 99 99 99 99 99 99 99 99 99 99 99 99 99 Pada Tabel 4, terdapat 3 pilihan langkah yang mempunyai nilai yang sama. Untuk kasus ini, agen akan mengambil langkah yang pertama kali dia peroleh yaitu langkah 12 (baris 1 kolom 2) dan langkah ini sesuai dengan Gambar. 4.3 Sampel posisi 3 Pencarian nilai optimal pada Tabel 6 mendapatkan nilai 91 yang merupakan langkah 22 (baris 2 kolom 2) pada Tabel 5. Pada Gambar, tertulis ambil langkah baris 2 kolom 2 sehingga ini membuktikan agen telah berpikir dengan benar sesuai dengan algoritma BFS dan konsep algoritma Minimax. Tabel 5 Data Antrian Tingkat 4 Sampel 3 1 2 3 4 Nilai 21 22-91 22 21 3 2 1 3 12 21 123 1-2 8 22 21-91 2-10 1 0 12 22-91 22 12 3 1 3 2 22-10 21 12 123 12-91 22-10 2 12 0 1 0 12 91 22 21 12 3 1 2 0 2 1 2 12 22 0 0 21 2 1 22 3 22 12 2 21 2 Tabel 6 Pencarian Nilai Optimal Sampel 3 0 (max) 1 (min) 2 (max) 3 (min) 4-91 -91-91 3 3 3 3 123 123-91 8 8 123-91 -91-10 -10 0 91-91 -91 3 3-91 3 3-10 -91 123 123-91 -91 123-10 -10 0

91 5. Kesimpulan 91 91 0 0 0 91 91 3 3 0 0 2 2 0 0 0 3 3 2 2 2 Berdasarkan hasil analisis dan pengujian yang dilakukan pada bab sebelumnya, maka kesimpulan yang dapat diambil adalah sebagai berikut: 1. Aplikasi permainan Reversi yang dirancang mempunyai representasi papan Reversi tersendiri serta mempunyai bagian penting yaitu, fungsi evaluasi, algoritma penelusuran pohon permainan dan algoritma pencari nilai optimal. 2. Fungsi evaluasi yang digunakan adalah strategi peletakkan koin pada papan permainan, sehingga agen berupaya untuk mendapatkan posisi-posisi yang menguntungkan (sudut dan pinggir) serta berupaya untuk tidak menempati posisi-posisi yang mengakibatkan lawan mendapatkan posisi-posisi yang menguntungkan. 3. Jika ada jalur lawan yang mengakibatkan jumlah koin agen menjadi nol, maka algoritma Breadth- First Search (BFS) akan melakukan pemotongan (cut-off) pada jalur agen yang menuju ke jalur lawan tersebut. 4. Pemotongan (cut-off) pada algoritma Breadth- First Search (BFS) menjadikan algoritma lebih efisien dan mencegah agen untuk kalah dengan kondisi tidak ada koin yang tersisa pada papan. 5. Pencarian menggunakan algoritma Breadth-First Search lebih efisien dibanding algoritma Depth- First Search dalam hal pemotongan (cut-off) pohon permainan berdasarkan jumlah koin agen. 6. Daftar Pustaka [1]B. Coppin, Artificial Intelligence Illuminated, Jones and Barnet, USA, 2004. [2]S. Kusumadewi, Artificial Intelligence (Teknik dan Aplikasinya, Graha Ilmu, Yogyakarta, 2003.