BAB 2 TINJAUAN PUSTAKA

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Implementasi Permainan Reversi menggunakan Penelusuran BFS dengan Konsep Algoritma MinMax

Agen Cerdas. Oleh: Dewi Liliana IT PNJ

ALGORITMA MINIMAX DALAM PERMAINAN CHECKERS

PENERAPAN ALGORITMA MINIMAX PADA PERMAINAN CHECKERS

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

Intelligent Agent. PERTEMUAN 10 Diema Hernyka Satyareni, M.Kom

BAB 2 LANDASAN TEORI

BAB 2 TINJAUAN PUSTAKA

BAB III ANALISA DAN PERANCANGAN

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

Implementasi Algoritma Negascout Untuk Permainan Checkers

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

BAB 2 LANDASAN TEORI

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

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

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

Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

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

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

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

ALGORITMA MINIMAX PADA GAME ANDROID

UKDW BAB 1 PENDAHULUAN Latar Belakang

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

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

Aplikasi Pohon Keputusan pada Permainan Catur

IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN CATUR

Combinatorial Game Theory, Game Tree, dan Intelegensia Buatan

Penggunaan Algoritma DFS dalam Pencarian Strategi Permainan Catur

BAB 3 ANALISIS ALGORITMA

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

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

BAB 3 METODOLOGI 3.1. Analisis Kebutuhan dan Masalah Analisis Kebutuhan

Teori Game dan Pembuatan Intelegensi Buatan

Agent Cerdas. Chastine Fatichah. Teknik Informatika Institut Teknologi Sepuluh Nopember November 2012

Permainan Papan Strategi Menggunakan Algoritma Minimax

BAB I PENDAHULUAN. 1.1 Latar Belakang

Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones

Algoritma Greedy dalam Artificial Intelligence Permainan Tic Tac Toe

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

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

UKDW BAB 1 PENDAHULUAN Latar Belakang

IKI30320 Kuliah 8 26 Sep Ruli Manurung. Game playing. Strategi optimal. Bekerja cepat Cutoff Tree pruning. State of the art.

BAB I PENDAHULUAN 1.1 Latar Belakang

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

UKDW. Bab 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

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

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Artificial Intelligence

Pengaplikasian Pohon dalam Algoritma Sebuah Game Catur

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

PENERAPAN ALGORITMA MINIMAX DENGAN OPTIMASI MTD(f) PADA PERMAINAN CATUR

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

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

Oleh Lukman Hariadi

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

BAB II DASAR TEORI Kajian Pustaka a. Penerapan Algoritma Flood Fill untuk Menyelesaikan Maze pada Line Follower Robot [1]

APLIKASI PERMAINAN MUL-MULAN DENGAN MENGGUNAKAN ALGORITMA MINIMAX

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

Aplikasi Algoritma MiniMax pada Beberapa Permainan Papan

BAB I. PERSYARATAN PRODUK

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

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

Aplikasi Teori Graf dalam Permainan Kombinatorial

Ruang Pencarian PERTEMUAN 3

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

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

Penerapan Algoritma Greedy dan Breadth First Search pada Permainan Kartu Sevens

Pengenalan Intelligent Agent

PENERAPAN ALGORITMA BACKTRACKING PADA PERMAINAN MATH MAZE

Algoritma Backtracking Pada Permainan Peg Solitaire

Penerapan Pohon dalam Algoritma Expectiminimax untuk Permainan Stokastik

memberikan output berupa solusi kumpulan pengetahuan yang ada.

BAB 2 TINJAUAN PUSTAKA

Implementasi Graf Pohon dalam Algoritma Minimax untuk Artificial Intelligence

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

BAB III ANALISIS DAN PERANCANGAN

BAB I PENDAHULUAN. generasi pertama pada tahun 1972 dikenal dengan game konsol yang dikeluarkan

BAB 1 PENDAHULUAN 1.1. Latar Belakang

IMPLEMENTASI ALGORITMA STOCHASTIC HILL CLIMBING PADA PERMAINAN MASTERMIND

BAB I PENDAHULUAN Latar Belakang Masalah

SOLUSI ALGORITMA BACKTRACKING DALAM PERMAINAN KSATRIA MENYEBRANG KASTIL

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

Penerapan Algoritma A-star (A*) Untuk Menyelesaikan Masalah Maze

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

ANTIMAGIC PUZZLE. Alwi Afiansyah Ramdan

PERBANDINGAN ALGORITMA MINIMAX DAN NEGASCOUT PADA PERMAINAN CATUR SEDERHANA

BAB 2 LANDASAN TEORI

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Penerapan Algoritma Brute Force dan Backtracking pada Permainan Skycraper

Pencarian Jalan untuk Menghasilkan Skor Tertinggi pada Permainan Voracity

BAB III METODE PENELITIAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 2 LANDASAN TEORI

Perbandingan Algoritma Brute Force dan Backtracking dalam Permainan Word Search Puzzle

MASALAH, RUANG KEADAAN & PENCARIAN

Transkripsi:

BAB 2 TINJAUAN PUSTAKA 2.1 Kecerdasan Buatan Kecerdasan buatan merupakan salah satu bidang ilmu komputer yang didefinisikan sebagai kecerdasan yang dibuat untuk suatu sistem dengan menggunakan algoritmaalgoritma tertentu sehingga sistem tersebut seolah-olah dapat berpikir seperti manusia (Ben Coppin, 2004). Kecerdasan buatan merupakan cabang dari ilmu komputer yang dalam merepresentasi pengetahuan, lebih banyak menggunakan bentuk simbol-simbol dari pada bilangan, dan memproses informasi berdasarkan metode heuristik atau dengan berdasarkan sejumlah aturan ( Encyclopedia Britannica). Dari beberapa pengertian di atas, maka dapat ditarik suatu kesimpulan bahwa kecerdasan buatan ialah salah satu bagian dari ilmu komputer yang mempelajari perancangan sistem komputer yang cerdas. Maksud dari sistem cerdas yaitu suatu sistem yang dapat memperlihatkan karakteristik yang ada pada tingkah laku manusia, seperti mengerti suatu bahasa, mempelajari, mempertimbangkan, dan memecahkan suatu masalah. Kecerdasan buatan telah memberikan suatu kemampuan baru kepada komputer untuk memecahkan masalah yang lebih besar dan lebih luas, tidak hanya terbatas pada soal-soal perhitungan, penyimpanan data, pengambilan data atau pengendalian yang sederhana saja.

2.1.1 Tujuan Akhir Kecerdasan Buatan Menurut Lenat dan Feigenbaum (1992), terdapat sembilan tujuan akhir dari kecerdasan buatan, yaitu: 1. Memahami pola pikir manusia, mencoba untuk mendapatkan pengetahuan ingatan manusia yang mendalam, kemampuan dalam memecahkan masalah, belajar, dan mengambil keputusan. 2. Otomatisasi, menciptakan sistem yang dapat menggantikan manusia dalam tugas-tugas intelegensi. Menggunakan sistem yang performanya sebaik manusia dalam melakukan pekerjaan. 3. Penguatan intelegensi, membangun sistem untuk membantu manusia agar mampu berpikir lebih baik dan lebih cepat. 4. Intelegensi manusia super, membangun sistem yang mempunyai kemampuan untuk melebihi intelegensi manusia. 5. Menyelesaikan permasalahan, sistem mampu menyelesaikan berbagai masalah yang luas. 6. Wacana koheren, mampu berkomunikasi dengan manusia menggunakan bahasa alami. 7. Belajar, mampu memperoleh data sendiri dan mengetahui bagaimana cara memperoleh data. Sistem mampu membuat hipotesis, penerapan atau pembelajaran secara heuristik dan membuat alasan dengan analogi. 8. Otonomi, mempunyai sistem intelegensi yang beraksi atas inisiatif sendiri.

9. Informasi, mampu menyimpan informasi dan mengetahui cara mengambil informasi. 2.2 Agen Cerdas Agen adalah sesuatu yang dapat mengesan lingkungannya melalui sensors dan mengambil tindakan terhadap lingkungannya melalui actuators. Dengan adanya agen cerdas, maka diharapkan sistem mampu berpikir dan menentukan pilihan langkah yang tepat. Gambar 2.1 Agen berinteraksi dengan lingkungan Untuk setiap deretan persepsi yang mungkin, sebuah agen hendaklah memilih satu tindakan yang diharapkan memaksimalkan ukuran kemampuannya, dengan adanya bukti yang diberikan oleh deretan persepsi dan apapun pengetahuan terpasang yang dimiliki agen itu. Maka agen harus mampu melakukan atau memberi tindakan yang benar. Tindakan yang benar adalah tindakan yang menyebabkan agen mencapai tingkat yang paling berhasil (Stuart Russel, Peter Norvig, 2003). 2.2.1 Karakteristik Lingkungan Agen Berikut adalah beberapa karakteristik lingkungan agen oleh Stuart Russel dan Peter Norvig (2003): 1. Fully observable partially observable

Apabila sensor pada suatu agen dapat mengakses seluruh keadaan pada lingkungan, maka lingkungan itu dapat dikatakan fully observable terhadap agen. Lebih efektif lagi lingkungan dikatakan fully observable jika sensor dapat mendeteksi seluruh aspek yang berhubungan dengan pilihan aksi yang akan dilakukan. Lingkungan yang fully observable biasanya sangat memudahkan, karena agen tidak perlu mengurus keadaan internal untuk terus melacak keadaan lingkungan. Suatu lingkungan bisa menjadi partially observable akibat ada gangguan dan ketidakakurasian sensor ataupun karena ada bagian keadaan yang hilang dari data sensor. Permainan Checker bersifat fully observable karena seluruh keadaan pada papan permainan dan bidakbidak yang ada semua dapat dipersepsi dengan baik. 2. Deterministic stochastic Apabila keadaan lingkungan selanjutnya sepenuhnya bergantung pada keadaan sekarang dan juga tindakan yang akan dilakukan oleh agen, maka lingkungan tersebut bersifat deterministic. Sedangkan stochastic adalah kebalikan dari deterministic, dimana keadaan selanjutnya tidak bergantung pada keadaan sekarang dan juga tindakan yang akan dilakukan oleh agen. Apabila lingkungan bersifat deterministic terkecuali untuk tindakan dari agen, maka lingkungan tersebut bersifat strategic. Permainan Checker bersifat deterministic karena keadaan selanjutnya bergantung pada keadaan sekarang. 3. Episodic sequential Untuk lingkungan yang bersifat episodic, pengalaman agen dibagi-bagi menjadi beberapa episode pendek. Tiap episode terdiri dari apa yang dirasakan agen dan kemudian melakukan satu tindakan tertentu. Kualitas dari tindakan agen hanya tergantung pada episode itu saja, karena tindakan selanjutnya tidak tergantung pada tindakan apa yang akan dilakukan di episode sebelumnya. Lingkungan episodic lebih sederhana karena agen tidak perlu memikirkan langkah-langkah pada keadaan selanjutnya. Sedangkan pada lingkungan sequential, tindakan saat sekarang dapat mempengaruhi tindakan selanjutnya. Permainan Checker bersifat sequential karena agen berpikir untuk langkah-

langkah selanjutnya dan seluruh langkah yang akan diambil oleh agen saling bergantung. 4. Static dynamic Apabila lingkungan dapat berubah saat agen sedang mengambil keputusan, maka lingungan tersebut bersifat dynamic, sebaliknya bersifat static. Lingkungan yang bersifat static lebih mudah dihadapi karena agen tidak perlu memperhatikan lingkungannya saat dia sedang mengambil tindakan, maupun waktu yang terus berjalan. Apabila lingkungan tidak berubah seiring waktu berjalan, namun menyebabkan nilai kemampuan agen berubah-ubah, maka lingkungan tersebut bersifat semidynamic. Permainan Checker bersifat static karena saat agen mengambil tindakan, lingkungan tidak berubah dan juga tidak mempengaruhi nilai kemampuan agen. 5. Discrete continuous Apabila kesan dan tindakan yang akan diterima dan dilakukan oleh agen telah ditetapkan dengan jelas, maka lingkungan tersebut bersifat discrete. Catur bersifat discrete, karena langkah yang akan diambil terbatas dan tertentu. Sedangkan pengendara taxi bersifat continuous, karena kecepatan dan lokasi pada taksi untuk suatu jangka tertentu mempunyai nilai yang terus-menerus berubah. Permainan Checker bersifat discrete karena seluruh kesan dan tindakan telah jelas ditetapkan sesuai dengan peraturan permainan. 6. Single agent multiagent Agen pemecah permainan teka teki silang berada pada lingkungan yang bersifat single agent. Agen pemain catur berada pada lingkungan yang bersifat multiagent. Ada hal lain yang memberikan perbedaan lingkungan agen, yaitu akan hal apakah agen memberikan bantuan kepada agen lain atau apakah agen akan memaksimalkan kemampuannya bergantung pada prilaku agen lain. Permainan Checker bersifat multiagent karena memikirkan langkah yang akan diambil oleh lawan.

Dengan memahami karakteristik lingkungan pada agen cerdas yang akan dirancang, maka pembuatan agen cerdas dapat dilakukan dengan lebih baik. 2.3 Permainan Checker Checker ialah suatu permainan papan dengan menggunakan keterampilan murni dari dua pemain yang mengikuti sejumlah aturan-aturan dalam permainan, dan berusaha untuk memenangkan permainan dengan cara memakan semua bidak lawan dalam papan atau dengan membuat semua bidak lawan tidak dapat melakukan gerakan. 2.3.1 Papan dalam Permainan Checker Papan Checker tersusun oleh 64 persegi bergantian antara sisi gelap dan terang, yang disusun ke dalam satu kumpulan persegi yang terdiri dari 8 baris dan 8 kolom dan dibatasi oleh garis netral. Papan Checker resmi dari World Checker/Draught Federation (WCDF) ialah berwarna hijau dan putih untuk mewakili sisi gelap dan terang. Persegi-persegi hijau dengan jumlah 32 yang terdapat pada papan Checker ialah daerah yang digunakan dalam permainan. Papan Checker menandai semua persegi hijau dimulai dari angka 1 sampai dengan 32, dengan tujuan sebagai notasi resmi permainan dan digunakan untuk merekam permainan. 2.3.2 Bidak dalam Permainan Checker Bidak resmi yang digunakan oleh WCDF ialah bidak berbentuk lingkaran, dengan warna merah dan putih untuk mewakili sisi gelap dan terang. Pada awal permainan, seorang pemain harus memiliki 12 bidak berwarna gelap, dan pemain lainnya harus memiliki 12 bidak berwarna terang. Bidak berwarna

gelap harus terletak pada 12 persegi pertama dimulai dari kiri ke kanan yaitu pada 1 sampai 12, dan bidak berwarna terang akan berada pada 12 persegi terakhir yaitu pada 21 sampai 32. Lihat gambar 2.2 untuk mengetahui bentuk papan dan bidak pada permainan Checker, serta kondisi awal permainan. Gambar 2.2 Bentuk papan Checker dan kondisi awal permainan 2.3.3 Metode Permaian Metode dalam permainan Checker adalah sebagai berikut: 1. Untuk memulai suatu permainan, pemain harus memilih secara acak warna dari bidak yang akan mereka mainkan. Untuk permainan berikutnya, mereka akan bertukaran warna. 2. Kedua pemain mendapat giliran melakukan suatu langkah pada bidak mereka. Pemain dengan bidak berwarna merah selalu memulai permainan dengan melakukan langkah pertama, dan kemudian dibalas putih. 3. Bidak-bidak hanya dapat melakukan langkah pada persegi berwarna hijau, tidak akan pernah pada persegi berwarna putih. 4. Terdapat dua jenis bidak dalam permainan yaitu bidak pion dan bidak raja.

2.3.4 Bidak Pion Bidak pion adalah bidak yang pertama didapat pada saat memulai permainan. Lihat gambar 2.3 untuk mengetahui bentuk dari bidak pion. Gambar 2.3. Bidak pion Aturan-aturan pada bidak pion adalah sebagai berikut: 1. Gerakan sederhana dari pion ialah bergerak satu langkah maju secara diagonal, menuju persegi hijau yang kosong dan bedekatan. Gambar 2.4. Gerakan sederhana pion 2. Suatu gerakan menangkap dari pion adalah perpindahan bidak dari satu persegi hijau menuju suatu persegi hijau kosong diagonal di depannya, jika persegi diagonal depan terdekatnya ditempati oleh bidak lawan, maka posisi akhir dari pion berada pada persegi hijau kosong yang searah diagonal depan dari bidak lawan yang dilewatinya. Ketika selesai melakukan lompatan maka bidak yang tertangkap akan dihapus dari papan. Gambar 2.5. Gerakan menangkap pion. 3. Ketika suatu pion mencapai baris depan terjauh atau dikenal dengan baris raja. Maka pion akan berubah menjadi raja, dan ia akan melengkapi giliran

permainan. Pion dinobatkan menjadi raja ditandai dengan meletakkan mahkota di atasnya sebelum langkah berikutnya dilakukan. 2.3.5 Bidak Raja Bidak raja ialah bidak yang didapat ketika suatu pion mencapai baris depan terjauh atau baris raja. Lihat gambar 2.6 untuk mengetahui bentuk dari bidak raja. Gambar 2.6. Bidak Raja Aturan-aturan pada bidak raja adalah sebagai berikut: 1. Gerakan sederhana dari raja menyerupai langkah pada pion, tetapi raja memiliki kekuatan untuk melakukan langkah mundur. Raja mampu bergerak satu langkah maju atau mundur secara diagonal, menuju persegi hijau yang kosong dan berdekatan. Gambar 2.7. Gerakan sederhana raja 2. Gerakan menangkap dari raja termasuk kemampuan untuk menangkap mundur. Seperti gerakan menangkap dari pion, gerakan menangkap pada raja ialah perpindahan raja dari satu persegi hijau menuju suatu persegi hijau kosong diagonal terdekatnya (maju atau mundur), jika persegi diagonal terdekatnya ditempati oleh bidak lawan. Maka posisi akhir dari raja berada pada persegi hijau kosong yang searah diagonal dari bidak lawan yang

dilewatinya. Ketika selesai melakukan lompatan maka bidak yang tertangkap akan dihapus dari papan. Gamber 2.8. Gerakan Menangkap dari raja 2.3.6 Gerakan Menangkap Secara Umum Gerakan menangkap atau melompat adalah suatu gerak paksaan. Setiap lompatan yang menciptakan kemungkinan untuk melakukan gerakan melompat berikutnya harus berlanjut sampai semua lompatan selesai. Tidak ada pilihan untuk berhenti pada suatu bagian dari lompatan. Hanya satu pengecualian dalam hal ini adalah jika pion mencapai baris raja ketika melakukan lompatan, maka ia akan menjadi raja tetapi tidak dapat melakukan lompatan berikutnya sampai lawannya telah melakukan langkah. Raja yang baru harus menunggu giliran bermain berikutnya Jika pemain menolak melakukan suatu lompatan, maka pemain akan dikeluarkan dari permainan. Namun, Jika terdapat dua atau lebih jalur untuk melompat, pemain harus memilih salah satu jalur yang mereka inginkan, langkah yang dipilih tidak harus yang memperoleh keuntungan terbanyak. Bidak-bidak yang telah dilompati akan dihapus dari papan setelah lompatan selesai.

2.3.7 Kemenangan Permainan Gambar 2.9. Gerakan beberapa lompatan Permainan dimenangkan jika telah terpenuhi salah satu dari ketentuan kemenangan permainan, ketentuan tersebut antara lain: 1. Permainan dimenangkan jika lawannya telah mengundurkan diri atau mengakui kekalahannya. 2. Permainan dimenangkan oleh pemain yang berhasil menghabisi semua bidak lawan. 3. Permainan dimenangkan jika lawan tidak memiliki langkah yang mungkin dilakukan, karena semua sisa bidak lawan telah terhambat dan tidak dapat melakukan langkah lagi. 2.3.8 Permainan Seri Permainan dinyatakan seri jika telah terpenuhi salah satu dari ketentuan seri permainan, ketentuan tersebut antara lain: 1. Suatu permainan dinyatakan seri ketika kedua pemain setuju untuk menyatakan permainan mereka dengan hasil yang seimbang. 2. Ketika seorang pemain menyatakan suatu permainan seri, dan pemain lawan tidak setuju dengan hasil seri. Maka pemain yang menyatakan seri dapat

meminta wasit untuk menghitung 40 hitungan langkah. Hitungan dimulai dari langkah pertama pemain penyerang, setelah seorang pemain menyatakan seri. Hitungan hanya dilakukan pada gerakan pemain penyerang. Pemain penyerang harus menunjukkan kepada wasit posisi menguat dalam 40 langkah ini. Hitungan 40 langkah ini dapat diulang kapan saja ketika. a. Pemain yang menyatakan seri menarik pernyataannya karena posisinya yang semakin menguat. b. Terjadinya perubahan antara pion menjadi raja, dikarenakan pion telah mencapai baris raja. c. Terjadinya penangkapan bidak dalam permainan. Setelah 40 langkah diselesaikan dan menunjukkan suatu posisi menguat, pemain penyerang tetap harus menyelesaikan kemenangannya. Hitungan 40 langkah tetap mampu diminta lagi oleh pemain yang menyatakan seri. 2.4 Pohon Permainan Pohon permainan merepresentasikan kepada kita kondisi-kondisi yang mungkin kita hadapi pada permainan dimulai dari kondisi yang sedang kita hadapi sekarang hingga beberapa kondisi ke depan. Sebuah pohon permainan merupakan representasi grafis dari contoh permainan. Pohon permainan menyediakan informasi akan pemain, hasil, strategi, dan pilihan langkah. Pohon permainan dapat direpresentasikan dengan baik pada permainan yang berbasis giliran (turn-based game). Pohon permainan memiliki root yang merupakan representasi dari kondisi dimana langkah belum diambil, nodes pada pohon yang merepresentasikan keadaan-keadaan yang mungkin diambil pada permainan, dan arcs yang merepresentasikan langkah. Penggunaan pohon permainan pada permainan yang dimainkan oleh dua pemain direpresentasikan dengan cara bergantian. Untuk edges dari tingkat pertama ke tingkat kedua merepresentasikan langkah-langkah yang dapat diambil oleh pemain pertama, sedangkan untuk edges dari tingkat kedua ke tingkat ketiga

merepresentasikan langkah-langkah yang dapat diambil oleh pemain kedua, dan begitu seterusnya. Leaf nodes pada pohon permainan merepresentasikan keadaan akhir pada permainan, dimana permainan tersebut dimenangkan, dikalahkan ataupun seri. Pada permainan yang sederhana, untuk mencapai leaf nodes mungkin dapat direpresentasikan, tetapi untuk permainan yang rumit seperti Checker, pencapaian leaf nodes sangat tidak dimungkinkan karena percabangan pada pohon permainan yang sangat besar. Gambar 2.10 Contoh pohon permainan tic-tac-toe (Ben Coppin, 2004) Berikut adalah penjelasan pohon permainan tic-tac-toe pada Gambar 2.10: 1. Terdapat root yang merupakan keadaan awal dimana permainan belum dimulai dan langkah belum diambil. 2. Edges yang menghubungkan tingkat pertama (root) dengan tingkat kedua merupakan langkah pemain pertama dan begitu seterusnya. Sehingga pohon

permainan tersebut merepresentasikan langkah kedua pemain bergantian. secara 3. Untuk nodes pada pohon tersebut merepresentasikan keadaan-keadaan yang dapat diambil oleh pemain yang akan melangkah. 4. Percabangan pertama yang dihasilkan adalah 9, kemudian untuk percabangan berikutnya adalah 8, dan begitu seterusnya hingga mencapai keadaan akhir (leaf nodes). 2.5 Algoritma Minimax Dalam suatu permainan sederhana, terdapat algoritma yang digunakan untuk mencari langkah terbaik dari situasi sekarang. Algoritma yang paling terkenal ialah algoritma Minimax. Algoritma Minimax ialah suatu metode yang sangat bermanfaat untuk permainan dua pemain sederhana. Metode ini digunakan untuk memilih langkah terbaik yang diberikan, dimana kedua pemain saling berusaha untuk memenangkan permainan. Setiap pemain mengetahui langkah-langkah yang mungkin diberikan pada situasi permainan saat ini. Sehingga untuk setiap langkah dan semua langkah selanjutnya akan dapat diketahui (M. Tim Jones, 2008). Minimax merupakan algoritma yang digunakan untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai maksimal. Algoritma ini dapat diterapkan dengan baik pada permainan yang melibatkan dua pemain yang saling bergantian seperti tic-tac-toe, othello, Checker, catur, go, dan permainan yang menggunakan strategi atau logika lainnya (Nadhira Ayuningtyas, 2008). Permainan tersebut memiliki karakteristik yang sama, yakni permainan dengan informasi lengkap. Setiap pemain mengetahui semua langkah yang mungkin dari pemain lawannya. Sehingga pemain bisa tetap memantau kondisi permainan sewaktu permainan sedang berlangsung.

Jika pemain memilih suatu langkah, maka pemain akan memilih langkah yang akan menghasilkan suatu posisi yang bagus. Kita dapat menganggap bahwa pemain akan memilih langkah yang akan menuntunnya pada posisi terbaik. dengan kata lain, ketika pemain mendapat giliran bermain maka pemain akan mencoba memaksimalkan nilainya, perhatikan gambar 2.11. Gambar 2.11 Langkah pemain pada algoritma Minimax (Ian Milington, 2006) Ketika lawan mendapat giliran bermain, pemain akan mengganggap bahwa lawan akan memilih langkah yang akan memberikan pemain posisi terburuk yang tersedia. Lawan sedang berusaha meminimalkan nilai dari pemain, perhatikan gambar 2.12. Gambar 2.12 Langkah lawan pada algoritma Minimax (Ian Milington, 2006) Algoritma Minimax merupakan salah satu implementasi dari pencarian DFS (Depth-First Search) dalam melakukan pencarian pada pohon. DFS akan menelusuri 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 repersentasi pohon pada algoritma Minimax, terdapat dua jenis node, yaitu node min dan node max. Max akan memilih langkah dengan nilai tertinggi dan min akan memilih langkah dengan nilai terendah. Untuk proses dan cara kerja

algoritma yang lebih jelasnya lagi, dapat dilihat pada gambar 2.13 yang merepresentasikan cara kerja algoritma Minimax. Gambar 2.13 Illustrasi cara kerja algoritma Minimax (Ben Coppin, 2004) Dari gambar 2.13, proses pencarian dimulai dari jalur paling kiri terlebih dahulu, sehingga DFS akan menelusuri simpul paling kiri bawah yaitu 5. Nilai 5 disimpan sebagai nilai maksimum sementara karena berada di tingkat max, kemudian DFS melakukan backtrack dan menelusuri simpul yang bertetangga dengan simpul 5 yaitu simpul 2. Karena nilai 5 lebih besar dari nilai 2, maka nilai 2 tidak disimpan. Lalu DFS akan melakukan backtrack ke tingkat min sehingga nilai 5 yang diperoleh akan disimpan sebagai nilai minimum sementara. Untuk simpul 1 dan 3, nilai 3 yang akan disimpan karena merupakan nilai maksimum di tingkat max. Saat mencapai tingkat min, sudah ada nilai minimum sementara yaitu 5, namun karena nilai 3 lebih kecil daripada nilai 5, maka nilai 5 akan digantikan dengan nilai 3. Nilai 3 akan disimpan sebagai nilai maksimum sementara di tingkat paling atas karena merupakan tingkat max. Lalu penelusuran jalur kanan akan dilakukan dengan cara yang sama seperti penelusuran jalur kiri sehingga diperoleh nilai 6. Karena nilai maksimum sementara pada tingkat paling atas adalah nilai 3, maka nilai 3 akan digantikan dengan nilai 6 karena nilai 6 lebih besar daripada nilai 3. Dengan demikian, jalur yang akan dipilih menggunakan algoritma Minimax adalah jalur sebelah kanan karena untuk

kondisi terburuknya, kita akan mendapatkan nilai 6 sedangkan jika kita memilih jalur kiri, kita hanya akan mendapatkan nilai 3. Pada dasarnya, algoritma Minimax sangat handal untuk menyelesaikan segala masalah dalam pencarian langkah untuk permainan komputer dengan jumlah kemungkinan penyelesaian yang kecil. Tetapi, jika algoritma Minimax digunakan pada permainan dengan jumlah kemungkinan penyelesaian yang besar seperti pada permainan Checker, algoritma Minimax ini memerlukan waktu yang lama untuk membangun pohon penyelesaian. Oleh karena itu, beberapa metode lanjutan dari algoritma Minimax telah dikembangkan untuk membatasi melonjaknya jumlah simpul dalam pembangunan pohon penyelesaian. Berbagai jenis metode telah ditemukan untuk meningkatkan kinerja algoritma Minimax, salah satunya adalah Negascout. Dengan menggunakan metode ini maka diharapkan sistem dapat bekerja lebih baik. 2.6 Negascout Negascout adalah salah satu metode pencarian minimax dengan berasumsi bahwa langkah pertama yang diambil merupakan langkah terbaik, sedangkan sisanya merupakan langkah terburuk. Namun jika ternyata ada langkah yang lebih baik dari langkah pertama, maka akan terjadi proses research atau proses pencarian ulang (Aske Plaat, 1994). Dalam memperkecil jendela pencarian agar mendapat jendela pencarian dengan lebar nol. Negascout akan memotong hampir semua cabang-cabang dari pohon, untuk membuat suatu pencarian yang sangat cepat. Tetapi sayangnya, ia akan memotong semua cabang-cabang berguna bersamaan dengan yang tidak berguna. Hal ini tidak berlaku jika algoritma dimulai dengan hasil yang benar. Suatu jendela nol dapat dilihat sebagai sebuah uji coba. Uji coba dilakukan jika nilai sebenarnya sama dengan nilai yang ditebak (Ian Milington, 2006).

Algoritma Negascout cukup efisien, tetapi melakukan pemeriksaan posisi papan lebih dari yang diperlukan. Pemotongan cabang memungkinkan algoritma untuk mengabaikan bagian dari pohon yang tidak mungkin berisi langkah terbaik. ini menghasilkan dua jenis pemotongan yaitu pemotongan alpha dan pemotongan beta. 2.6.1 Pemotongan Alpha Gambar 2.14 menunjukkan suatu pohon permainan sebelum proses dilakukan. Untuk lebih mudah melihat bagaimana nilai-nilai diproses, kita akan menggunakan algoritma Minimax untuk ilustrasi ini. Gambar 2.14 Pohon permainan dengan pemotongan alpha (Ian Milington, 2006) Kita memulai proses dengan cara kerja algoritma Minimax. Jika seorang pemain memilih langkah A, maka lawannya akan memberikan tanggapan dengan langkah C, dan memberikan pemain nilai 5. Maka kita akan menaikkan nilai 5. Sekarang algoritma akan melihat nilai langkah pada B. Terlihat langkah pertama di B ialah E, yang memiliki nilai 4. Tidak peduli berapakah nilai dari F, karena lawan akan selalu memaksa pemain dengan nilai 4. Bahkan tanpa mengetahui nilai F, pemain dapat menyadari bahwa langkah B ialah salah, karena ia dapat memperoleh nilai 5 pada langkah A, dan pada langkah B akan mendapat nilai maksimum 4 atau bahkan lebih rendah. Untuk melakukan pemotongan dengan cara ini, kita perlu melacak nilai terbaik yang pasti dapat kita capai. Bahkan, nilai ini membentuk batas bawah pada nilai yang

dapat kita capai. Kita mungkin menemukan urutan langkah yang lebih baik dalam pencarian, tapi kita tidak akan pernah menerima urutan langkah yang memberikan kita nilai yang lebih rendah. Batas bawah ini dinamakan nilai alpha dan pemotongannya dinamakan dengan pemotongan alpha. 2.6.2 Pemotongan Beta Pemotongan beta bekerja dengan cara yang sama. Nilai beta terus melacak nilai batas tertinggi dari nilai apa yang kita harapkan. Kita memperbaharui nilai beta ketika kita menemukan suatu langkah yang dipaksakan oleh lawan. Pada posisi itu kita tahu tidak ada nilai yang lebih besar dari beta. Jika kita menemukan urutan langkah yang bernilai lebih besar dari nilai beta maka kita dapat abaikan saja, karena kita tahu bahwa kita tidak akan pernah diberi kesempatan untuk mendapatkannya. 2.6.3 Pemotongan Alpha Beta Bersamaan nilai-nilai dari alpha dan beta memberikan suatu jendela kemungkinan langkah. Pemain tidak akan pernah memilih untuk melakukan langkah yang nilainya lebih kecil dari alpha, dan lawan kita tidak akan pernah membiarkan kita melakukan langkah yang lebih besar dari beta. Nilai pada akhirnya harus terletak antara alpha dan beta. Ketika pencarian mulai dilakukan pada pohon, nilai-nilai dari alpha dan beta diperbaharui. Jika cabang dari pohon yang ditemukan di luar dari nilai-nilai ini, maka akan dilakukan pemotongan pada cabang. 2.6.4 Zero-Width Test Pemotongan jenis alpha dan beta telah kita ketahui sejauh ini ialah terkadang disebut jenis fail-soft". Jika gagal, maka ia akan mengembalikan nilai terbaik yang

diperolehnya sejauh ini. Pada dasarnya pemotongan alpha beta hanya akan mengembalikan baik nilai alpha ataupun nilai beta sebagai nilai jika gagal (tergantung apakah itu gagal tinggi atau gagal rendah). Informasi tambahan dalam jenis fail-soft dapat membantu menemukan suatu solusi. Hal ini memungkinkan kita untuk menebak nilai awal dan mengulangi pencarian dengan jendela yang lebih masuk akal (Zero- Width Test). Tanpa fail-soft, kita tidak akan tahu seberapa jauh gerakan yang kita tebak. Pada dasarnya algoritma Negascout menggabungkan pencarian Minimax dengan pemotongan alpha beta dan pemanggilan zero-width test. Negascout tidak selebar pencarian dengan algoritma Minimax. Negascout menggunakan algoritma pemotongan alpha dan beta untuk melakukan uji coba tersebut. Negascout bekerja dengan melakukan pemeriksaan secara menyeluruh pada langkah pertama dalam setiap posisi papan. Hal ini dilakukan pada suatu jendela pencarian luas, sehingga algoritma tidak gagal. Berturut-turut langkah diuji menggunakan suatu jalur berdasarkan nilai dari langkah pertama. Jika berhasil, maka akan diulangi pada jendela dengan lebar sebenarnya. Gambar 2.15 Pohon permainan dengan algoritma Negascout (Ian Milington, 2006)