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

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

Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search

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

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

Implementasi Permainan Reversi menggunakan Penelusuran BFS dengan Konsep Algoritma MinMax

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah Artificial Intelligence

ANALISIS DAN IMPLEMENTASI ALGORITMA MINIMAX DENGAN OPTIMASI ALPHA BETA PRUNING PADA PERMAINAN FIVE IN ROW SKRIPSI NUR JANNAH

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

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

BAB 2 LANDASAN TEORI

BAB I PENDAHULUAN 1.1 Latar Belakang

PENERAPAN ALGORITMA MINIMAX PADA PERMAINAN CHECKERS

BAB III METODE PENELITIAN

UKDW. Bab 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

ALGORITMA MINIMAX DALAM PERMAINAN CHECKERS

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

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

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

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

BAB 2 TINJAUAN PUSTAKA

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

BAB III ANALISA DAN PERANCANGAN

UKDW BAB 1 PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN. remaja maupun orang dewasa. Game ini terdiri dari game tradisional dan

Combinatorial Game Theory, Game Tree, dan Intelegensia Buatan

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PEMBUATAN GAME CONGKLAK DENGAN ALGORITMA ALPHA BETA PRUNNING BERBASIS ANDROID NASKAH PUBLIKASI. diajukan oleh Nofarianto Sihite

Kecerdasan Buatan (Artificial Intelligence) Muhammad Dahria

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

UKDW BAB 1 PENDAHULUAN Latar Belakang

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

BAB I. PERSYARATAN PRODUK

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

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

BAB 3 ANALISIS ALGORITMA

BAB 2 LANDASAN TEORI

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

BAB 2 LANDASAN TEORI

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

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

IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN CATUR

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

BAB 2 LANDASAN TEORI

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

STMIK GI MDP. Program Studi Teknik Informatika Skripsi Sarjana Komputer Semester Genap tahun 2010/2011

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB 1 PENDAHULUAN Latar Belakang

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PERANCANGAN APLIKASI PENCARIAN (SEARCHING) FILE DENGAN MENGGUNAKAN METODE BEST FIRST SEARCH JUNA ESKA,

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

Aplikasi Pohon Keputusan pada Permainan Catur

BAB II LANDASAN TEORI

PEMODELAN DAN PENGIMPLEMENTASIAN PERMAINAN CONNECT FOUR

BAB II LANDASAN TEORI

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

BAB I PENDAHULUAN. Permainan atau yang saat ini lebih sering disebut dengan game merupakan

IMPLEMENTASI DAN PENGUJIAN

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

PENERAPAN ALGORITMA A* PADA PERMASALAHAN OPTIMALISASI PENCARIAN SOLUSI DYNAMIC WATER JUG

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

BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 1 PENDAHULUAN Latar Belakang

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

BAB I PENDAHULUAN Latar Belakang Masalah

BAB III ANALISIS DAN PERANCANGAN

BAB IV HASIL DAN PEMBAHASAN

Perancangan Aplikasi Permainan Reversi Menggunakan Metode Greedy Edy 1), Wilianto 2), Yuliana 3)

Implementasi Algoritma Negascout Untuk Permainan Checkers

BAB I PENDAHULUAN. pada saat ini, maka dari itu banyak fitur-fitur dalam. handphone yang mengandung hiburan. Seperti halnya

PERANGKAT LUNAK PERMAINAN SCRABBLE. Ichsan Wiratama 1

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

Penerapan Algoritma Negamax Dengan Alpha-Beta Pruning pada Permainan Connect Four

memberikan output berupa solusi kumpulan pengetahuan yang ada.

IMPLEMENTASI ALGORITMA MINIMAX PADA PERMAINAN TIC-TAC-TOE SKALA 9X9

BAB I PENDAHULUAN. meliputi perkembangan permainan yang berhubungan dengan kata. Anagram

BAB I PENDAHULUAN 1-1. Howard. W. Sams & Co.1987, hal 1. 1 Frenzel, L.W. Crash Course In Artifical Intelligence And Expert Systems. 1st Edition.

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

PENERAPAN POHON PELACAKAN DALAM MENCARI LINTASAN YANG DAPAT DILALUI OLEH SEEKOR SEMUT PADA BIDANG KARTESIAN DENGAN METODE BREADTH FIRST SEARCH

Oleh Lukman Hariadi

GAME EDUKASI MENGENAL DAN MEMBACA BAHASA ARAB

Perbandingan Performa Algoritma Minimax dan Negascout pada Permainan Checkers Berbasis Android

MASALAH, RUANG KEADAAN

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB II MASALAH DAN RUANG MASALAH. Gambar 2.1 sistem yang menggunakan kecerdasan buatan

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

BAB 3 METODOLOGI 3.1. Analisis Kebutuhan dan Masalah Analisis Kebutuhan

ALGORITMA MINIMAX PADA GAME ANDROID

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

UKDW BAB 1 PENDAHULUAN

Permainan Papan Strategi Menggunakan Algoritma Minimax

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

BAB III ANALISIS DAN KEBUTUHAN ALGORITMA

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

MILIK UKDW BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB III METODOLOGI PENELITIAN. Desain penelitian adalah tahapan atau gambaran yang akan dilakukan

Penerapan Struktur Pohon dan Pencarian Solusi Langkah pada Engine Catur

Penerapan Algoritma Minimax Pada Game Macan-macanan

Transkripsi:

Volume : II, Nomor : 1, Pebruari 214 ISSN : 2339-21X ANALISIS ALGORITMA MINIMAX DENGAN OPTIMASI ALPHA BETA PRUNIGN PADA PERMAINAN FIVE IN ROW Vanlyco Simbolon (811362) Mahasiswa STMIK Budidarma Medan Jln. Sisingamangaraja No.338 Simpang Limun Medan Website : http//stmik-budidarma.ac.id, Medan, email:vanlys@yahoo.com ABSTRAK Keberadaan industri game yang berkembang pesat membuktikan bahwa masyarakat menaruh minat yang besar terhadap permainan komputer. Salah satu jenis game komputer yang beredar luas antara lain game kecerdasan buatan, misalnya catur, dan Five In Row. Five In Row merupakan game logika yang membutuhkan strategi untuk mengalahkan lawan dengan menyusun lima buah keping sewarna dalam satu baris baik horizontal, vertikal, maupun diagonal. Algoritma yang diimplementasikan pada permainan ini adalah Minimax yang dioptimasikan dengan Alpha Beta Pruning. Minimax yang merupakan algoritma pohon pencarian akan melakukan penelusuran pada setiap node hingga diperoleh nilai maksimum untuk memenangkan pertandingan. Namun, pohon pencarian pada Five In Row memiliki kedalaman dan ruang lingkup percabangan yang luas, sehingga dibutuhkan waktu cukup lama untuk mengevaluasi seluruh kemungkinan. Untuk itulah dibutuhkan sebuah algoritma yang dapat mengoptimalkan pencarian, yaitu Alpha Beta Pruning. Algoritma ini akan memangkas beberapa percabangan pada pohon pencarian yang tidak mempengaruhi hasil evaluasi Minimax. Dengan adanya Alpha Beta Pruning maka ruang pencarian dapat dikurangi sehingga proses penelusuran dan evaluasi dapat dilakukan lebih cepat. Kata Kunci : Algoritma Minimax, Alpha Beta Pruning, Five In row 1. PENDAHULUAN 1.1. Latar Belakang Masalah Di era globalisasi ini, segala sesuatu tidak dapat lepas dari teknologi. Ketergantungan teknologi ini disebabkan karena perkembangan komputer yang sangat pesat sehingga fungsinya mencakup segala aspek kehidupan. Hal ini dibuktikan dengan fakta bahwa setiap orang saat ini menggunakan komputer sebagai alat bantu seharihari. Namun meskipun teknologi sekarang berkembang dengan pesatnya, setiap orang terutama anak dan remaja, harus melatih diri mengasah otak. Permainan atau game merupakan media pembelajaran langsung dengan pola learning by doing. Pembelajaran yang dilakukan dalam sebuag game merupakan suatu konsekuensi dari sang pemain game untuk dapat melalui tantangan yang ada dalam suatu permainan game yang dijalankan. Dengan demikian maka game menawarkan suatu bentuk media dan metode yang menakjubkan. Game mempunyai potensi yang sangat besar dalam membangun motivasi pada proses pembelajaran. Dengan adanya hiburan, maka kejenuhan yang timbul akibat kesibukan dan rutinitas yang tinggi dapat dihilangkan. Salah satu jenis hiburan adalah game. Game five in row merupakan game logika yang membutuhkan pola pikir dalam menyusun strategi untuk mengalahkan lawan. Five in row telah dikenal sejak beberapa dekade lalu di hampir seluruh belahan dunia meskipun dengan nama berbeda. Salah satu algoritma yang digunakan untuk game five in row adalah Minimax. Minimax merupakan algoritma yang digunakan untuk menentukan pilihan langkah selanjutnya agar memperkecil kemungkinan kehilangan nilai maksimal. Algoritma Minimax adalah algoritma berupa pohon pencarian yang akan menelusuri setiap node untuk memperoleh hasil yang maksimum, namun jika kedalaman dan percabangan pohon terlalu besar maka algoritma Minimax akan memerlukan waktu yang sangat lama untuk mengambil keputusan. Untuk mempersingkat waktu pencarian sekaligus sebagai optimasi, maka digunakanlah algoritma alpha beta pruning. Alpha beta pruning merupakan algoritma yang akan mengurangi ruang pencarian minimax. 1.2. Perumusan Masalah Adapun masalah yang akan dirumuskan oleh penulis sebagai berikut: 1. Bagaimana menggunakan algorirma minimax pada permainan five in row. 2. Bagaimana menggabungkan algoritma minimax dengan alpha beta pruning pada permainan five in row 3. Bagaimana menggunakan aplikasi permainan five in row dengan menerapkan 64

Volume : II, Nomor : 1, Pebruari 214 ISSN : 2339-21X algoritma minimax dengan optimasi alpha beta pruning. 1.3. Batasan Masalah Ada pun yang menjadi batasan masalah penulis, yaitu: 1. Ukuran papan dalam permainan five in row adalah 1*1. 2. Pemainan five in row dimainkan oleh 2 player 3. Permainan pertama adalah human player 4. Level permainan five in row sampai dengan 6 tingkat 5. Aplikasi dibangun dengan menggunakan Java 2 Micro Edition 1.4. Tujuan dan Manfaat Penelitian 1.4.1. Tujuan Penelitian Adapun tujuan dari penulis skripsi ini adalah: 1. Menggunakan algoritma minimax pada permainan five in row 2. Menggabungkan algoritma minimax dengan alpha beta pruning pada permainan five in row 3. Menggunakan aplikasi permainan five in row dengan menerapkan algoritma minimax dengan optimasi alpha beta pruning 1.4.2 Manfaat Penelitian Adapun manfaat dari penelitian skripsi ini adalah: 1. Melatih konsentrasi dan logika berpikir 2. Meningkatkan kreatifitas dalam menyusun strategi untuk mengalahkan five in row berbasis kecerdasan buatan. 3. Agar dapat mengolah aplikasi permainan five in row agar bermain secara optimal dalam waktu yang relatif singkat. 2. LANDASAN TEORI 2.1 Kecerdasan Buatan Artificial Intelligence atau kecerdasan buatan merupakan cabang dari ilmu komputer yang konsern dengan pengautomatisasi tingkah laku cerdas. (Desiani dan Arhami, 26.hal 17). Pengertian lain menyebutkan bahwa kecerdasan buatan adalah salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia. (Kusumadewi, 23. hal 57). Sedangkan Kristanto menyatakan bahwa kecerdasan buatan adalah bagian dari ilmu pengetahuan komputer yang khusus ditujukan dalam perancangan otomatisasi tingkah laku cerdas dalam sistem kecerdasan komputer. Sistem memperlihatkan sifat-sifat khas yang dihubungkan dengan kecerdasan dalam kelakuan yang sepenuhnya bisa menirukan beberapa fungsi otak manusia, seperti pengertian bahasa, pengetahuan, pemikiran, pemecahan masalah dan sebagainya (Kristanto, 24. Hal 86). Dari beberapa pengertian di atas, dapat ditarik kesimpulan bahwa kecerdasan buatan merupakan bagian dari ilmu komputer yang menitikberatkan pada perancangan otomatisasi tingkah laku cerdas. Namun, defenisi yang telah disebutkan di atas belum cukup memadai sebab istilah cerdas itu sendiri belum dipahami sepenuhnya. Kecerdasan alami dalam hal ini kecerdasan manusia berbeda dengan kecerdasan buatan. Berikut beberapa kelebihan kecerdasan buatan dan kecerdasan alami. 1. Kecerdasan buatan lebih tahan lama dan konsisten, bahkan dapat dikatakan permanen sejauh program dan sistemnya tidak diubah. 2. Kecerdasan buatan lebih mudah diduplikasi dan disebarluaskan, berbeda dengan kecerdasan alami yang membutuhkan proses belajar mengajar untuk mentransfer kecerdasan. 3. Kecerdasan buatan dapat didokumentasi. 4. Kecerdasan buatan cenderung dapat mengerjakan perkerjaan lebih baik dan lebih cepat dibanding dengan kecerdasan alami. Kelebihan kecerdasan alami antara lain: 1. Kecerdasan alami bersifat kreatif. Kecerdasan alami dapat berkembang dengan mudah dan dapat menciptakan kreasi baru. 2. Kecerdasan alami memungkinkan manusia untuk menggunakan pengalaman secara langsung. Sedangkan pada kecerdasan buatan harus bekerja dengan input-output simbolik. 3. Manusia dapat memanfaatkan kecerdasannya secara luas, tanpa batas. Sedangkan kecerdasan buatan memiliki batasan. 2.2 Five In Row Five In Row merupakan permainan logika berjenis board-game yang dimainkan oleh dua pemain dimana setiap pemain berusaha menyusun lima buah bidak sewarna dalam satu baris baik horizontal, vertikal maupun diagonal. Ukuran papan permainan Five In Row bervariasi, mulai dari 7 x 7 kotak, 8 x 8 kotak hingga 19 x 19 kotak. Penulis membatasi aplikasi Five In Row ini hanya pada papan berukuran 1 x 1 kotak. Board-game adalah permainan yang menggunakan papan sebagai dasar permainannya. Biasanya komponen atau isi dari board game 65

Volume : II, Nomor : 1, Pebruari 214 ISSN : 2339-21X adalah board atau papan itu sendiri, kartu, dan token-token yang melambangkan bagian-bagian dari tema yang diusungkan oleh boar game itu sendiri. Menurut Sakata dan Ikawa menuliskan sejak beberapa dekade lalu permainan five in row profesional asal Jepang menyatakan bahwa pemain yang pertama kali mendapatkan giliran akan memenangkan permainan. Oleh sebab itu, penulis menentukan pemain yang mendapat giliran pertama adalah human player 2.2.1 Aturan Permainan Five In Row Berikut ini adalah beberapa ketentuan dan peraturan dalam permainan five in row. 1. Papan permainan dalam keadaan kosong. 2. Papan permainan Five In Row berukuran 1 x 1 kotak. 3. Dua pemain, hitam dan putih melangkah bergiliran memindahkan kepingan masingmasing ke kotak yang kosong pada papan. 4. Pemain hitam adalah pemain pertama, dalam hal ini human player. 5. Keping-keping yang telah diletakkan pada kotak tidak dapat dipindahkan ataupun ditangkap. 6. Pemain yang pertama kali membentuk lima keping sewarna baik secara vertikal, horizontal maupun diagonal dinyatakan menang. 7. Jika papan permainan telah penuh namun belum ada pemain yang membentuk Five In Row, maka permanian dinyatakan seri. 2.2.2 Jenis Five In Row Sampai saat ini, Five In Row terus dikembangkan sehingga bermunculan berbagai varian Five In Row. Berikut adalah beberapa jenis permainan Five In Row yang ada saat ini, namun permainannya memiliki beberapa batasan dan peraturan berbeda. 1. Five In Row dengan papan berukuran 19 x 19 kotak. Karena Go memiliki ukuran papan serupa, maka Five In Row pun turut diciptakan sehingga pemain dapat mengembangkan strategi. 2. Profesional Five In Row yang umumnya disebut Renju, merupakan tipe permainan asimetris yang tidak seimbang. Langkah pemain hitam dibatasi tidak boleh membentuk overline (lebih dari 5 keping) ataupun membentuk doubleline, misalnya tiga-tiga atau empat-empat. Untuk penelitian ini, penulis hanya akan membahas Five In Row standar yang aturan permainannya telah disebutkan di atas. 2.3 Algoritma Pencarian Ruang keadaan dalam Five In Row dapat dipresentasikan dengan pohon pencarian ( tree search). Tiap-tiap node pada pohon berhubungan dengan keadaan yang mungkin dalam permainan tersebut. Setiap move (gerakan) akan menyebabkan perubahan dari keadaan sekarang (current state) ke keadaan selanjutnya ( child state). Permasalahan yang sangat rumit yang dihadapi adalah menentukan child state mana yang terbaik. Beberapa cara yang digunakan untuk mengefektifkan proses pencarian adalah (Kusumadewi, 23): Membentuk suatu prosedur sedemikian hingga hanya gerakan-gerakan yang baik saja yang dibangkitkan. 1. Membentuk suatu prosedur pengujian sedemikian hingga path yang terbaik yang akan di-explore pertama kali. 2. Pohon ( tree) merupakan graph yang masing-masing node-nya (kecuali root) hanya memiliki satu induk ( parent), dengan kata lain tidak memiliki cycle. Node yang tidak memiliki child disebut terminal node. Ada beberapa hal yang biasa dilakukan dalam pohon pencarian adalah sebagai berikut: 1. Melihat ke depan seberapa banyak langkah yang memungkinkan. 2. Menghapus percabangan yang tidak berhubungan pada pohon pencarian ataupun dengan metode-metode tertentu jika ada. 3. Menggunakan informasi penghitungan guna menghitung seberapa besar nilai suatu posisi. Metode pencarian yang umumnya digunakan pada pohon pencarian adalah Breadth First Search (BFS) atau Depth First Search (DFS). Karena ruang pencarian pohon permaianan Five In Row terlalu besar, maka penggunaan metode BFS dirasa tidak tepat, sebab metode ini membutuhkan kapasitas memori yang besar. Berbeda dengan metode DFS yang hanya membutuhkan memori relatif kecil. 2.4. Minimax Minimax merupakan salah satu algoritma yang paling sering digunakan untuk game kecerdasan buatan seperti catur, yang menggunakan teknik Depth First Search. Algoritma Minimax akan melakukan pengecekan pada seluruh kemungkinan yang ada, sehingga akan menghasilkan pohon permainan yang berisi semua kemungkinan tersebut. Keuntungan penggunaan algoritma Minimax adalah mampu menganalisis semua kemungkinan posisi permainan untuk menghasilkan keputusan terbaik dengan mencari langkah yang akan membuat lawan mengalami 66

Volume : II, Nomor : 1, Pebruari 214 kerugian. Fungsi evaluasi yang digunakan adalah fungsi evaluasi statis dengan asumsi lawan akan melakukan langkah terbaik yang mungkin. Pada minimax dikenal adanya istilah ply yaitu gerakan pemain max dan lawan min. Algoritma minimax memiliki kelemahan yang dirasa cukup menyulitkan. Algoritma ini menelusuri seluruh node yang ada pada pohon pencarian mulai dari kedalaman awal hingga kedalaman akhir, sehingga waktu yang dibutuhkan relatif lama. Jika ada m kedalaman maksimum dan ada b langkah yang dapat dilakukan di tiap node, maka time complexity dari algoritma adalah O(b m ). 2.4.1 Alpha Beta Pruning Untuk menyiasati banyaknya node yang ditelusuri oleh minimax, perlu dibuat sebuah optimasi yang dapat mereduksi kemungkinan yang akan dianalisis. Alpha beta pruning merupakan optimasi dari algoritma minimax yang akan mengurangi jumlah node yang dievaluasi oleh pohon pencarian. Algoritma ini akan berhenti mengevaluasi langkah ketika terdapat minimal satu langkah yang lebih buruk daripada langkah yang dievaluasi sebelumnya. Sehingga langkah berikutnya tidak perlu dievaluasi lebih jauh. Dengan algoritma ini hasil optimasi dari algoritma minimax tidak akan berubah. ISSN : 2339-21X memperbaiki nilai β dari nilai anak-anaknya. Jika α > β, maka evaluasi dihentikan (Kusumadewi, 23). Jika tiap depth berada dalam best case (langkah terbaik selalu langsung didapat) maka time complexity algoritma adalah O(b m/2 ) dengan b = faktor percabangan tiap node dan m = depth maksimum (Russell dan Norvig, 23). Bandingkan dengan time complexity minimax yang O(b m ), dengan demikian penggunaan alpha beta pruning dapat menghemat banyak waktu. 3. ANALISIS 3.1. Analisis Analisis sistem adalah proses menentukan kebutuhan sistem, apa yang harus dilakukan sistem untuk memenuhi kebutuhan klien (user). Tahapan analisis kebutuhan merupakan tahap awal untuk membangun sebuah sistem atau aplikasi. Dengan adanya analisis ini diharapkan agar nantinya dihasilkan aplikasi yang baik dan sesuai dengan kebutuhan. 3.1.1 Representasi Lingkungan Lingkungan merupakan tempat agen melakukan interaksi. Lingkungan permainan five in row berupa papan (board) yang direpresentasikan dengan array sebagai berikut. 1 9 8 7 6 5 Gambar 1 Pohon Alpha Beta Pruning http://protokol-gallery.blogspot.com/teorigraph.html/121/12 4 3 Variabel alpha (α) digunakan sebagai batas bawah node max, sedangkan variabel beta (β) digunakan sebagai batas atas node min. Pada node min, evaluasi akan dihentikan apabila telah didapat node anak yang memiliki nilai lebih kecil dibanding dengan nilai batas bawah (α), sebaliknya pada node max evaluasi akan dihentikan apabila telah didapat node anak yang memiliki nilai lebih besar dibanding dengan nilai batas atas (β). Pada root pohon pencarian, nilai α diset sama dengan - sedangkan nilai β diset sama dengan +. Node yang melakukan maksimasi akan memperbaiki nilai α dari nilai anak-anaknya, sedangkan node yang melakukan minimasi akan 2 1 2 3 4 5 6 7 8 9 1 Gambar 2. Papan Five In Row 3.1.2 Representasi Material Material permainan five in row yang berupa kepingan ( piece) direpresentasikan sebagai berikut: No piece =, User piece = 1, dan Computer piece = 2. Kepingan pemain (user piece) 67

Volume : II, Nomor : 1, Pebruari 214 akan berwarna hitam, sedangkan kepingan komputer (computer piece) akan berwarna putih. 2 1 1 2 1 1 1 1 2 2 1 2 2 ISSN : 2339-21X User merupakan pemain yang pertama kali melangkah untuk memulai permainan. Namun, user dapat memilih menu yang terdapat pada menu bar aplikasi tersebut untuk mengganti level, melihat petunjuk permainan ataupun keluar dari aplikasi. b. Tampilan Permainan Tampilan permainan yang sedang berlangsung dapat dilihat pada gambar 5. Gambar ini memperlihatkan user dan AIPlayer dalam beberapa kondisi kemenangan. 2 1 1 2 2 Gambar 3. Algoritma Papan Five In Row 4. Implementasi Aplikasi Tahap implementasi merupakan lanjutan dari tahap perancangan. Pada tahap ini seluruh spesifikasi dari aplikasi yang dirancang akan diterjemahkan ke dalam bahasa pemrograman sehingga menghasilkan sebuah perangkat lunak. Aplikasi permainan Five In Row ini secara khusus penulis beri nama JFiNRo, untuk membedakannya dengan aplikasi serupa. 4.4 Tampilan Aplikasi Berikut ini akan diperlihatkan tampilan antarmuka dari aplikasi JFiNRo. a. Tampilan Utama Tampilan utama dari aplikasi permainan JFiNRo ini dapat dilihat pada gambar 4. Gambar tersebut memperlihatkan tampilan papan pada awal permainan. Ketika permainan dimulai, papan dalam kondisi kosong seperti yang diperlihatkan oleh gambar. (c) Gambar 5 : Kondisi Akhir Permainan Gambar (a) memperlihatkan bahwa user (black piece) kalah melawan AI ( red piece). Sedangkan gambar (b) memperlihatkan hal sebaliknya dimana user menang melawan AI, dan gambar (c) adalah permainan yang ber akhir seri antara user dan AI. Gambar 4: Papan Permainan Gambar 6 : Message Dialog 68

Volume : II, Nomor : 1, Pebruari 214 Gambar 6 menunjukkan message dialog yang ditampilkan ketika permainan berakhir, yaitu (a) kalah, (b) menang atau (c) seri. c. Tampilan Menu Berikut adalah tampilan dari menu yang terdapat pada aplikasi permainan JFiNRo ini. Gambar (a) adalah submenu dari menu Game dan gambar (b) adalah submenu dari menu About. Gambar 7 : Menu Aplikasi d. Tampilan Game Play Tampilan game play akan muncul ketika user memilih menu About atau menekan Alt+A melalui keyboard. Game play berisikan petunjuk singkat aturan permainan beserta author aplikasi seperti yang tertera pada gambar 8 berikut ini. Gambar 8 : Tampilan Game Play 4.5 Pengujian Aplikasi Pengujian merupakan teknik yang menentukan apakah solusi menyelesaikan persoalan. Tahap pengujian ini merupakan tahap terpenting dari keseluruhan proses pengembangan aplikasi, sebab pada tahap inilah akan dievaluasi apakah aplikasi yang dibangun sesuai dengan rencana dan keinginan atau tidak. Pengujian lebih ditujukan untuk menghasilkan perangkat lunak yang bebas kesalahan setidaknya secara teknik, sebab bebas kesalahan secara total tidaklah mungkin, seperti dikatakan Edsgar Djikstra dalam Hariyanto yaitu pengujian hanya dapat menunjukkan keberadaan bug, namun tidak dapat menunjukkan ketidakberadaannya. Pengujian adalah proses pemeriksaan atau evaluasi sistem atau komponen sistem secara manual atau otomatis untuk memverifikasi apakah sistem memenuhi kebutuhan-kebutuhan yang dispesifikasikan atau mengidentifikasi perbedaanperbedaan antara hasil yang diharapkan dengan hasil yang terjadi. (Hariyanto, 24). ISSN : 2339-21X Beberapa manfaat adanya pengujian ini antara lain menyingkap atau menemukan kesalahan pada perangkat lunak dan mendemonstrasikan fungsi-fungsi perangkat lunak bekerja sesuai dengan spesifikasi, kebutuhan serta kinerjanya. Pengujian yang akan dilakukan pada aplikasi ini adalah pengujian integrasi, pengujian antarmuka dan pengujian kehandalan dengan menggunakan metode black box testing dan kuisioner. 4.5.1 Pengujian Integrasi Aplikasi Pengujian integrasi merupakan pengujian terhadap sistem atau subsistem lengkap dengan komponen-komponen penyusunnya yang terintegrasi. Metode yang digunakan pada pengujian ini adalah black box. Dengan black box, pengujian hanya dilakukan pada representasi sistem yang terlihat tanpa perlu mengetahui bagaimana cara kerja sistem tersebut. Black box hanya melakukan pengujian dengan membandingkan masukan dan keluaran yang dihasilkan apakah sesuai dengan harapan atau tidak. Bila sesuai maka aplikasi dianggap layak dan berhasil, sebaliknya apabila tidak sesuai maka perlu dilakukan lagi perbaikan terhadap aplikasi tersebut. Pengujian integrasi ini akan dilakukan pada dua platform berbeda, yaitu Windows dan Linux untuk memastikan keadaan aplikasi pada kedua sistem operasi itu dapat bekerja dengan baik. Berikut ini adalah pengujian integrasi aplikasi pada tiap proses pada masing-masing platform. 5. KESIMPULAN DAN SARAN 5.1 Kesimpulan Berdasarkan pembahasan dan penelitian yang telah dipaparkan pada bab sebelumnya maka dapat diambil kesimpulan seperti berikut ini. 1. Algoritma Minimax tidak efisien apabila digunakan secara tunggal pada permainan Five In Row ini karena ruang pencarian yang terlalu besar, sehingga perlu dilakukan pemangkasan dengan Alpha Beta Pruning. 2. Aplikasi JFiNRo dapat berjalan baik pada beberapa platform seperti Windows dan Linux dengan sama baiknya. 3. Untuk mendapatkan bobot nilai dari pohon pencarian, maka perlu didefinisikan bobot formasi yang terbentuk oleh keping, baik dari user maupun AI kemudian dilakukan evaluasi. 4. Sebelum melakukan implementasi program, perlu dibuat sebuah rancangan yang jelas dari sebuah aplikasi agar tidak terjadi fungsi yang tumpang tindih ataupun tidak sesuai dengan kebutuhan. Untuk itulah diperlukan rancangan konseptual dan rancangan fisik. 69

Volume : II, Nomor : 1, Pebruari 214 ISSN : 2339-21X 5. Semakin tinggi level permainan, maka semakin lama pula waktu yang dibutuhkan AI untuk mengevaluasi langkah sebab ruang pencarian semakin besar. 5.2 Saran Berikut ini adalah beberapa saran yang perlu dipertimbangkan untuk menjadi landasan penelitian selanjutnya. 1. Aplikasi JFiNRo memiliki kelemahan pada lamanya waktu yang diperlukan untuk eksekusi langkah komputer. Kelemahan ini mulai dapat dirasakan pada level 4. 2. Sebaiknya perlu dikembangkan aplikasi serupa namun dengan beberapa pilihan lawan, misalnya human player versus human player dan sebagainya. 3. Ukuran papan permainan dapat ditambah, sehingga pemain memiliki kesempatan lebih besar untuk mengembangkan strategi baru. 4. Sebaiknya aspek multimedia perlu ditambahkan, misalnya grafik ataupun suara untuk mendukung tampilan aplikasi. DAFTAR PUSTAKA [1] Kristanto, Andri. 24. Kecerdasan Buatan. Yogyakarta : Graha [2] Fowler, Martin. 24. UML Distilled Edisi 3 Panduan Singkat Bahasa [3] Vebrina, Yus Gias. 28. Penerapan Q Learning pada Aplikasi Board [4] Yatini, Indra. 27. Interaksi Manusia dan Komputer. Yogyakarta : Graha Ilmu. [5] http://rifqi-ilkom.web.ugm.ac.id/archives /16 212--1. Java [6] http://sttdb.wordpress.com pengertian uml/21/7/13.uml [7] Desiani dan Arhami, 26. hal 17. Konsep Kecerdasan Buatan. [8] Russel, Stuart, dan Norvig, Peter. 24. Artificial Intelligence 7