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

dokumen-dokumen yang mirip
Penerapan Algoritma Greedy dalam Permainan Othello

Penerapan Algoritma Greedy dalam Pembuatan Artificial Intelligence Permainan Reversi

BAB I PENDAHULUAN 1.1 Latar Belakang

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

UKDW BAB 1 PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN. 1.1 Latar Belakang

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

Rancangan Permainan Othello Berbasis Android Menggunakan Algoritma Depth-First Search

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

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

Penerapan Algoritma Greedy dalam Permainan Connect 4

UKDW. Bab 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

PENGEMBANGAN PERMAINAN FIG-JIG PUZZLE DENGAN IMPLEMENTASI ALGORITMA DEPTH FIRST SEARCH (DFS) TUGAS AKHIR

BAB 1 PENDAHULUAN Latar Belakang

Algoritma Greedy dalam Artificial Intelligence Permainan Tic Tac Toe

IMPLEMENTASI ALGORITMA GREEDY PADA GAME SUMMY SKRIPSI REZA HIDAYAT BAYU PRABOWO

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

Penentuan Keputusan dalam Permainan Gomoku dengan Program Dinamis dan Algoritma Greedy

Perangkat Lunak Simulasi Langkah Kuda Dalam Permainan Catur

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

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

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB IV HASIL DAN UJI COBA

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

BAB III ANALISA DAN PERANCANGAN

Implementasi Permainan Reversi menggunakan Penelusuran BFS dengan Konsep Algoritma MinMax

BAB II LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN SISTEM

PENERAPAN ALGORITMA GREEDY PADA PERMAINAN MILL BERBASIS ANDROID SKRIPSI SUANDO H SIMANJUNTAK

BAB I PENDAHULUAN. 1.1 Latar belakang masalah

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

Penerapan Algoritma Greedy dalam Permainan Bantumi

BAB IV HASIL DAN UJICOBA

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

BAB III ANALISA PERANCANGAN DAN PEMODELAN SISTEM

MODIFIKASI METODE BACKTRACKING UNTUK MEMBANTU MENCARI PENYELESAIAN PERMAINAN PEG SOLITAIRE

Perangkat Lunak Permainan Deal or No Deal

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

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

Perangkat Lunak Permainan Kartu Blackjack pada Jaringan Komputer Azizil Hakim Harahap 1), Johanes Terang Kita Perangin-Angin 2), Sugianto 3)

Penggunaan Algoritma Greedy untuk menyelesaikan Permainan Othello

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

BAB III ANALISIS DAN KEBUTUHAN ALGORITMA

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

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA MASALAH DAN PERANCANGAN

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

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

PENERAPAN ALGORITMA MONTE CARLO TREE SEARCH PADA PERMAINAN HALMA SKRIPSI VINCENTIUS

PERANCANGAN PERMAINAN DOMINO BERBASIS ANDROID SKRIPSI MUHAMMAD ANDIKA SYAPUTRA

BAB III ANALISIS DAN PERANCANGAN. Perancangan game mencocokkan gambar ini dibuat agar dapat berjalan

BAB III METODE PENELITIAN

BAB III ANALISA DAN PERANCANGAN

PENYELESAIAN PERMAINAN CHECKERS PADA MOBILE DEVICE BERBASIS ANDROID MENGGUNAKAN ALGORITMA ITERATIVE DEEPENING SEARCH SKRIPSI

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

PERANGKAT LUNAK PERMAINAN SCRABBLE. Ichsan Wiratama 1

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN CONGKLAK

ALGORITMA GREEDY DALAM PERMAINAN DOTS AND BOXES

APLIKASI MOBILE PEMBELAJARAN REAKSI KIMIA BERBASIS ANDROID NASKAH PUBLIKASI. diajukan oleh Edi Hadi Widodo

Penerapan Algoritma Greedy untuk Permainan Halma

BAB III ANALISA DAN PERANCANGAN. sampai tahap pengujian saja tidak sampai tahap pemeliharaan.

BAB III ANALISIS DAN PERANCANGAN

BAB III METODOLOGI 3.1 Analisis Kebutuhan Sistem Analisis Kebutuhan Fungsional

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

UKDW BAB 1 PENDAHULUAN Latar Belakang

BAB III ANALISA DAN PERANCANGAN

BAB IV HASIL DAN PEMBAHASAN

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

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

BAB I PENDAHULUAN Latar Belakang Masalah

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

BAB I PENDAHULUAN. cara berpikir manusia yang disebut sebagai artificial intelligence atau lebih

Implementasi Algoritma Greedy Dua Sisi pada Permainan 2048

BAB 1 PENDAHULUAN Latar Belakang

Implementasi Algoritma Greedy pada Permainan Ludo


IMPLEMENTASI ALGORITMA HILL CLIMBING DAN ALGORITMA A* DALAM PENYELESAIAN PENYUSUNAN SUKU KATA DASAR DENGAN POLA PERMAINAN BINTANG KEJORA

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

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

ABSTRACT. Keyword: Algorithm, Depth First Search, Breadth First Search, backtracking, Maze, Rat Race, Web Peta. Universitas Kristen Maranatha

ABSTRAK. Kata kunci: Kartu, Domino, Poin, Smartphone, Android

PENGEMBANGAN SISTEM PAKAR BERBASIS ATURAN UNTUK MENENTUKAN MATA KULIAH YANG AKAN DIAMBIL ULANG (REMEDIAL) DENGAN METODE FORWARD CHAINING

BAB 1 PENDAHULUAN 1.1 Latar Belakang Masalah

Pemilihan Monster yang Akan Digunakan dalam Permainan Yu-Gi-Oh! Capsule Monster Coliseum

Penerapan Algoritma Greedy Pada Permainan Killbots

Penyelesaian Permainan Sliding Puzzle 3x3 Menggunakan Algoritma Greedy Dengan Dua Fungsi Heuristik

PERANCANGAN APLIKASI GAME KARTU UNO BERBASIS CLIENT SERVER SKRIPSI EDWIN PRAWIRO HAKIM

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISIS MASALAH DAN PERANCANGAN PROGRAM

PENERAPAN ALGORITMA GREEDY DALAM PENCARIAN SOLUSI TERBAIK PADA PERMAINAN TETRIS

JURNAL INFORMATIKA SIMULASI PERGERAKAN LANGKAH KUDA MENGGUNAKAN METODE BREADTH FIRST SEARCH

Penerapan Algoritma Greedy untuk Permainan Flood It

IMPLEMENTASI ALGORITMA GREEDY BEST FIRST SEARCH PADA APLIKASI PERMAINAN CONGKLAK UNTUK OPTIMASI PEMILIHAN LUBANG DENGAN POLA BERFIKIR DINAMIS

Penerapan Algoritma Greedy dan Breadth First Search pada Permainan Kartu Sevens

Penggunaan Algoritma Greedy Untuk Menyelesaikan Permainan Cluedo

DAFTAR ISI. Halaman HALAMAN JUDUL LEMBAR PERSETUJUAN LEMBAR PENGESAHAN LEMBAR PERSEMBAHAN MOTTO ABSTRAK ABSTRACK

Transkripsi:

JURNAL ILMIAH CORE IT e-issn: 2548-3528 p-issn: 2339-1766 Perancangan Aplikasi Permainan Reversi Menggunakan Metode Greedy Edy 1), Wilianto 2), Yuliana 3) STMIK IBBI Jalan Sei Deli No. 18 Medan e-mail: edyhua93@gmail.com, wiliantogan@yahoo.com, mickey_yuli@hotmail.co.id Abstrak Reversi merupakan permainan catur sederhana yang menggunakan papan permainan dan keping hitam putih. Reversi dimainkan oleh dua orang. Permasalahan muncul apabila tidak ada teman yang dapat diajak bermain atau pemain tidak memiliki perangkat permainan. Untuk mengatasi masalah ini, dapat dibangun suatu aplikasi permainan Reversi. Metode Greedy digunakan untuk membangun kecerdasan komputer. Metode Greedy akan menghitung dan selalu menempatkan keping pada petak, dimana Greedy bisa memakan atau membalik keping pemain yang paling banyak, tetapi bila ada keping yang dapat diletakkan di sudut papan, maka peletakan keping pada sudut papan akan lebih diprioritaskan. Aplikasi menerapkan kecerdasan buatan pada komputer dengan menggunakan algoritma Greedy, sehingga komputer akan selalu meletakkan keping pada petak permainan, dimana komputer bisa memakan atau membalikkan keping pemain yang paling banyak, namun komputer akan memprioritaskan penempatan keping pada sudut papan bila memungkinkan. Aplikasi mencatat daftar nilai tertinggi user saat mengalahkan komputer dan dapat menampilkan langkah-langkah yang valid yang dapat dilakukan, sehingga dapat membantu pemain. Kata kunci: Permainan, Reversi, Greedy. Abstract Reversi is a simple chess game that uses board games and black and white pieces. Reversi is played by two people. Problems arise if no friend can be invited to play or the player does not have a game device. To solve this problem, a Reversi game application can be built. The Greedy method is used to build computer intelligence. The Greedy method will calculate and always place the slice on the plot, where Greedy can eat or flip the player's most chips, but if there are pieces that can be placed on the corners of the board, then the placement of the slings on the board will be prioritized. Applications apply artificial intelligence to computers using the Greedy algorithm, so the computer will always put the pieces on the game plot, where the computer can eat or turn the player's most chips, but the computer will prioritize the placement of the chip at the corners of the board whenever possible. The app keeps a record of the user's highest score when it beats the computer and can display valid steps that can be done, so it can help the player. Keywords: Games, Reversi, Greedy. 1. Pendahuluan Game komputer berkembang pesat pada era teknologi informasi. Sebuah permainan dapat dimainkan dengan cepat, mudah dan murah dengan menggunakan game komputer. Salah satu permainan papan yang sangat terkenal dan populer adalah Reversi. Permainan Reversi merupakan permainan catur sederhana yang menggunakan papan permainan dan keping hitam putih. Papan permainan dibagi menjadi petak-petak kecil dengan jumlah dan ukuran yang sama sebagai media untuk menempatkan keping permainan. Keping berwarna hitam dan putih. Permainan Reversi dapat dimainkan oleh dua orang pemain. Apabila ada seorang pemain yang ingin bermain, maka pemain tersebut perlu mengajak temannya, bertemu secara fisik dan pemain harus membawa perangkat permainan. Masalah akan muncul apabila tidak ada teman yang dapat diajak bermain atau pemain tidak memiliki perangkat permainan. Untuk mengatasi masalah ini, permainan Reversi dapat dibuat menjadi aplikasi game, sehingga pemain dapat memainkan Reversi sendirian (melawan komputer), kapanpun dan dimanapun tanpa perlu berinteraksi langsung secara fisik dengan objek permainan, kecuali melalui perantara komputer. Setiap pemain bergerak berdasarkan giliran pada permainan Reversi. Permainan akan berakhir bila seluruh papan permainan sudah terisi penuh. Pemain dengan jumlah keping terbanyak pada papan

46 permainan akan menjadi pemenang. Artificial Intelligence (AI), atau lebih sering disebut dengan kecerdasan buatan, dirancang sebagai lawan dari pemain. Prioritas utama dari AI adalah menempatkan keping di keempat sudut pada papan permainan, yaitu sudut kiri atas, kiri bawah, kanan atas dan kanan bawah. Keping yang berada di sudut tidak dapat dibalik oleh pemain, sehingga memperbesar potensi AI untuk menang. AI akan menempatkan kepingnya pada petak, dimana AI dapat memakan keping pemain paling banyak, jika tidak ada keping yang dapat diletakkan pada sudut permainan. Metode ini disebut dengan Greedy. Metode Greedy memiliki arti rakus atau tamak, dan memiliki prinsip Take what you can get now! atau Ambillah apa yang dapat anda ambil saat ini. Algoritma Greedy mendapatkan solusi melalui tahapan langkah per langkah (step by step) dan selalu mengambil pilihan terbaik yang ada pada saat itu tanpa memperhatikan konsekuensi ke depan. Harapannya adalah pemilihan alternatif terbaik pada setiap langkah akan berakhir dengan hasil terbaik. Metode Greedy akan menghitung dan selalu menempatkan keping pada petak, dimana Greedy bisa memakan keping pemain yang paling banyak. 2. Metodologi Penelitian Perancangan aplikasi permainan Reversi menggunakan metode Greedy ini dilakukan dengan menggunakan metodologi siklus hidup pengembangan sistem, atau biasa disebut juga dengan Waterfall. Tahapan dari metodologi penelitian dapat digambarkan dalam bentuk diagram alir, seperti terlihat pada Gambar 1. Analisis Kebutuhan Sistem Desain / Perancangan Sistem Penulisan Kode Program (Coding) Pengujian Program Gambar 1. Metodologi Penelitian 2.1. Analisis Kebutuhan Sistem Analisis sistem bertujuan untuk mengetahui hal-hal yang harus dilakukan dalam mengembangkan aplikasi. Analisis kebutuhan dari sistem usulan merupakan proses identifikasi dan evaluasi permasalahan-permasalahan yang ada, sehingga sistem yang dibangun sesuai dengan kriteria yang diharapkan. Oleh karena itu, sistem yang dibangun harus memenuhi kebutuhan sebagai berikut: 1. Aplikasi mendukung permainan Reversi dengan ukuran 8 x 8. 2. Aplikasi menggunakan algoritma Greedy untuk menentukan langkah yang diambil oleh komputer. 3. Aplikasi dapat menampilkan skor bagi pemain dan komputer. 4. Aplikasi dapat menampilkan history gerakan pemain dan komputer. 5. Aplikasi dapat menampilkan petak-petak yang dapat ditempati keping pemain. 6. Aplikasi dapat menyimpan nama pemain yang berhasil masuk ke dalam 20 nilai tertinggi. Nilai diperoleh dari waktu yang dibutuhkan oleh pemain untuk mengalahkan komputer. Komputer dirancang sebagai lawan dari pemain. Langkah-langkah yang diambil oleh komputer digerakkan secara otomatis dengan menggunakan kecerdasan buatan (Artificial Intelligence atau AI). Algoritma yang digunakan AI untuk pengambilan keputusan dalam permainan Reversi ini adalah algoritma Greedy. Greedy merupakan metode yang paling populer untuk memecahkan persoalan

47 optimasi. Greedy berarti rakus atau tamak. Algoritma Greedy memiliki prinsip Take what you can get now! atau Ambillah apa yang dapat anda ambil saat ini. Oleh karena itu, algoritma Greedy membentuk solusi langkah per langkah (step by step) dan selalu mengambil pilihan terbaik yang dapat diperoleh pada saat itu tanpa memperhatikan konsekuensi ke depan, dengan harapan pemilihan opsi terbaik pada setiap langkah akan berakhir dengan pencapaian hasil yang terbaik. Algoritma Greedy akan selalu menghitung dan menempatkan keping di petak, dimana Greedy bisa memakan keping yang paling banyak. 2.2. Perancangan Sistem Perancangan aplikasi, terdiri dari perancangan tampilan aplikasi dan perancangan database. Perancangan tampilan aplikasi dilakukan dengan merancang bentuk form di dalam aplikasi secara sederhana. Tools yang digunakan untuk merancang prototype ini adalah Microsoft Visio. Penggambaran proses dilakukan dengan menggunakan flowchart. 2.3. Penulisan Kode Program Penulisan kode program (coding) dilakukan dengan menggunakan bahasa pemrograman Microsoft Visual Basic.Net 2010 dan menggunakan database Microsoft Access 2007. Komponen yang digunakan dalam pembuatan perangkat lunak ini adalah komponen standard VB.Net standard, tanpa komponen tambahan dari luar. 2.4. Pengujian Sistem Proses pengujian berfokus pada fungsionalitas dari aplikasi. Pengujian akan dilakukan dengan menggunakan metode black box testing dengan beberapa skenario pengujian sebagai berikut: 1. Pengujian terhadap proses meletakkan keping pemain pada kotak yang valid (kotak yang dapat ditempatkan keping pemain). 2. Pengujian terhadap proses meletakkan keping pemain pada kotak yang tidak valid (kotak yang tidak dapat ditempatkan keping pemain). 3. Pengujian terhadap proses memakan atau membalikkan keping lawan. 4. Pengujian terhadap langkah komputer dengan menggunakan algoritma Greedy. 5. Pengujian terhadap proses pass (pemain atau komputer tidak dapat jalan). 6. Pengujian terhadap proses berakhirnya permainan. 7. Penguijan terhadap daftar nilai tertinggi (highest score). 3. Hasil dan Analisis Analisis akan dilakukan pada proses permainan dan proses analisis pengambilan keputusan dengan algoritma Greedy. Proses permainan mencakup ukuran papan yang digunakan dan aturan permainan Reversi, sedangkan proses analisis pengambilan keputusan menggunakan algoritma Greedy. 3.1. Proses Permainan Reversi Dua keping Reversi berwarna hitam dan putih diletakkan di tengah-tengah papan permainan yang berukuran 8 x 8 dengan susunan diagonal di awal permainan, seperti terlihat pada gambar 2. Gambar 2. Posisi Awal Permainan Perancangan Aplikasi Permainan Reversi Menggunakan Metode Greedy (Edy, Wilianto, Yuliana )

48 Aturan permainan Reversi selanjutnya adalah sebagai berikut: 1. Pemain hitam melangkah terlebih dahulu. 2. Keping hitam harus diletakkan di kotak kosong, dimana keping hitam akan mengapit satu atau beberapa keping putih secara berurutan dalam posisi horizontal, vertikal dan diagonal di antara dua buah keping hitam. Dengan demikian, maka keping hitam dapat diletakkan pada posisi c4, d3, e6 dan f5 (kotak ditandai dengan tanda ), seperti terlihat pada gambar 3. Gambar 3. Posisi yang dapat ditempati Keping Hitam 3. Satu atau beberapa keping putih yang berada di antara apitan dua buah keping hitam akan dibalik menjadi keping hitam, seperti contoh berikut: jika keping hitam diletakkan pada c4, maka keping putih pada kotak d4 berada di antara apitan keping hitam pada kotak c4 dan keping hitam pada kotak e4, sehingga keping putih dibalik menjadi keping hitam, seperti terlihat pada gambar 4. Gambar 4. Keping Putih pada d4 dibalik Menjadi Keping Hitam 4. Giliran berikutnya adalah pemain putih meletakkan keping putih pada papan permainan dengan mengikuti aturan yang sama, yaitu keping putih harus diletakkan di kotak kosong, sehingga dua keping putih mengapit satu atau beberapa keping hitam. Keping hitam yang berada di antara apitan keping putih akan diubah menjadi keping putih, seperti contoh berikut: jika pemain putih meletakkan keping pada c5, maka posisi permainan akan seperti pada gambar 5.

49 Gambar 5. Keping Putih Diletakkan Pada Kotak c5 5. Pemain harus pass dan melewatkan gilirannya ke pemain lain jika pemain tidak dapat jalan karena tidak ada keping yang dapat diletakkan, sesuai dengan aturan yang berlaku, seperti contoh yang terlihat pada gambar 6, dimana pemain hitam tidak dapat jalan dan harus pass ke pemain putih. 1 2 3 4 5 6 7 8 a b c d e f g h Pemain Hitam tidak bisa melangkah Gambar 6. Pemain Hitam Tidak Bisa Jalan 6. Permainan akan berakhir jika kedua pemain sama-sama tidak bisa melangkah atau apabila papan permainan sudah penuh. 7. Pemain dengan jumlah keping terbanyak adalah pemenang dari permainan. 3.2. Pengambilan Keputusan dengan Algoritma Greedy Pemain lawan dirancang sebagai lawan dari pemain yang dapat digerakkan secara otomatis dengan menggunakan Kecerdasan Buatan (Artificial Intelligence atau AI). Algoritma yang digunakan AI untuk pengambilan keputusan dalam permainan Reversi ini adalah algoritma Greedy. Algoritma Greedy merupakan metode yang paling populer untuk memecahkan persoalan optimasi. Greedy berarti rakus atau tamak, sehingga algoritma Greedy memiliki prinsip Take what you can get now! atau Ambillah apa yang dapat anda ambil saat ini. Algoritma Greedy membentuk solusi langkah per langkah (step by step) dan selalu mengambil pilihan terbaik yang dapat diperoleh pada saat itu tanpa memperhatikan konsekuensi ke depan, dengan harapan pemilihan opsi terbaik pada setiap langkah akan berakhir dengan pencapaian hasil yang terbaik (optimum global). Algoritma Greedy akan selalu menghitung dan menempatkan keping di petak, dimana Greedy bisa memakan keping pemain yang paling banyak. Keadaan permainan awal Reversi seperti terlihat pada gambar 7, dengan AI adalah pemain putih. Perancangan Aplikasi Permainan Reversi Menggunakan Metode Greedy (Edy, Wilianto, Yuliana )

50 Gambar 7. Keadaan Awal Permainan Keadaan permainan seperti terlihat pada gambar 4.6, maka algoritma Greedy akan menghitung banyaknya kepingan hitam yang dapat dibalik menjadi keping putih pada setiap kotak, dan memutuskan untuk meletakkan keping putih pada kotak dimana terdapat keping hitam yang paling banyak untuk dibalik menjadi keping putih. Illustrasinya dapat dilihat pada gambar 8. Gambar 8. Keadaan Permainan Gambar 8 memperlihatkan bahwa AI memutuskan untuk meletakkan keping putih pada kotak a1 dimana kotak a1 mendapatkan nilai paling maksimum, yaitu 4 atau dengan kata lain AI dapat membalik 4 keping hitam. Kotak a1 adalah kotak dimana AI dapat membalikkan keping lawan paling banyak bila dibandingkan dengan kotak lainnya. Rincian algoritma Greedy yang akan digunakan AI untuk pengambilan keputusan dalam permainan Reversi adalah sebagai berikut: 1. Periksa setiap kotak di sekitar kepingan dan catat banyaknya keping user yang dapat dibalik. 2. Pilih kotak dengan nilai paling tinggi dan tempatkan keping AI pada kotak tersebut. 3. Jika terdapat beberapa kotak dengan nilai maksimum yang sama, maka AI akan memilih salah satu kotak. Proses pengambilan keputusan AI dalam permainan Reversi dapat digambarkan dalam bentuk flowchart, seperti terlihat pada gambar 9.

51 START Periksa setiap kotak dan berikan nilai sebesar banyaknya keping user yang dapat dibalik oleh AI Max = Nilai paling tinggi pada kotak Max = 0? YA Pass dan lewatkan giliran ke user TIDAK Letakkan keping AI pada kotak yang memiliki nilai = Max Balik keping user yang terapit menjadi keping AI END Gambar 9. Flowchart Pengambilan Keputusan AI Komputer atau AI akan memprioritaskan penempatan keping pada sudut dan tidak mengambil keputusan berdasarkan algoritma Greedy jika terdapat kondisi dimana komputer dapat menempatkan bidak pada sudut papan. 3.3. Penentuan Nilai Tertinggi Nilai tertinggi ditentukan dari waktu yang dibutuhkan pemain untuk mengalahkan komputer. Semakin cepat waktu yang diperoleh, maka rangking pemain akan semakin tinggi. Jika ada beberapa pemain yang memperoleh waktu yang sama, maka yang dihitung adalah jumlah keping pemain saat permainan berakhir. Semakin banyak jumlah keping pemain, maka pemain akan memperoleh rangking yang lebih tinggi. 3.4. Analisa Pemodelan Sistem Pemodelan aplikasi dirancang dengan menggunakan Unified Modeling Language (UML). Use case adalah diagram UML yang dapat digunakan untuk menganalisis dan memodelkan sistem. Gambar 10 adalah use case dari aplikasi yang dibangun. Gambar 10. Diagram Use Case dari Aplikasi Perancangan Aplikasi Permainan Reversi Menggunakan Metode Greedy (Edy, Wilianto, Yuliana )

52 Gambar 10 menunjukkan interaksi antara pengguna dan sistem di dalam diagram use case. Aktor use case adalah user yang memainkan aplikasi. Use case Permainan terdiri dari use case Input nama, use case mulai permainan baru, use case tampilkan letak keping valid. Use case Nilai Tertinggi meliputi use case Hapus Semua Nilai. Class diagram dari sistem dapat dilihat pada gambar 11. Pemain + Nama + KepingPemain + BisaJalan + LetakkanKeping Reversi + PapanReversi + NilaiPemainAI + Waktu + MulaiPermainan + UbahGiliran + VerifikasiSeri + VerifikasiPemenang + TampilkanGerakanLegal + PermainanBaru Papan + ListPetak + ListKeping AI + KepingAI + BerpikirGreedy + BisaJalan + LetakkanKeping NilaiTertinggi + DaftarNilai + TampilkanNilai + RefreshPapan Gambar 11. Class Diagram dari Sistem Gambar 11 memperlihatkan bahwa sistem memiliki beberapa class, seperti class Reversi, class Papan, class Pemain, class AI dan class NilaiTertinggi. Proses yang terjadi di dalam aplikasi juga dapat digambarkan dengan activity diagram seperti terlihat pada gambar 12. USER Bermain melawan Komputer SISTEM Melakukan perhitungan algoritma Greedy dan bermain melawan user Menekan tombol Permainan Menampilkan form Input Nama Memasukkan nama pemain Menyimpan nama dan menampilkan form Permainan Menekan tombol Mulai Permainan Baru Menampilkan form Pilih untuk memilih yang jalan terlebih dahulu, apakah pemain atau komputer Memilih apakah pemain atau komputer yang jalan terlebih dahulu Memulai waktu permainan Memilih petak untuk meletakkan keping pemain Melakukan perhitungan dengan algoritma Greedy dan memilih petak dengan nilai tertinggi. Sudut petak lebih diprioritaskan untuk diletakkan keping oleh komputer Memeriksa akhir permainan. Menyimpan nama dan jumlah keping ke database apabila pemain memenangkan permainan dan masuk pada 20 nilai tertinggi Gambar 12. Activity Diagram dari Sistem

53 Gambar 12 memperlihatkan aktivitas yang dilakukan oleh user dan respons dari sistem di dalam aplikasi permainan Reversi. Activity diagram dimulai dari saat user menekan tombol Permainan dan berakhir saat salah satu pemain menang. 4. Kesimpulan dan Saran Setelah menyelesaikan perancangan aplikasi permainan reversi menggunakan metode Greedy, beberapa hal yang dapat ditarik sebagai kesimpulan adalah sebagai berikut: 1. Aplikasi menerapkan kecerdasan buatan pada komputer dengan menggunakan algoritma Greedy, sehingga komputer akan selalu meletakkan keping pada petak permainan, dimana komputer bisa memakan atau membalikkan keping pemain yang paling banyak, namun komputer akan memprioritaskan penempatan keping pada sudut papan bila memungkinkan. 2. Aplikasi dapat menampilkan langkah-langkah yang valid yang dapat dilakukan, sehingga dapat membantu pemain. 3. Aplikasi menampilkan history pergerakan user dan komputer, sehingga dapat diketahui langkahlangkah yang dilakukan selama permainan. 4. Aplikasi mencatat daftar nilai tertinggi, sehingga dapat diketahui 20 pemain tercepat yang berhasil mengalahkan komputer. Beberapa saran yang dapat diberikan dan mungkin dapat membantu dalam pengembangan aplikasi ini lebih lanjut adalah: 1. Dipertimbangkan untuk mengembangkan aplikasi menggunakan metode kecerdasan buatan lainnya, seperti algoritma DFS, algoritma heuristik atau algoritma A*, sehingga dapat dibandingkan metode terbaik yang dapat menjadi lawan bagi user. 2. Dipertimbangkan untuk menambahkan komponen winsock dan teknik pemrograman jaringan, sehingga aplikasi ini dapat dimainkan melaui jaringan lokal dan jaringan internet. 3. Dipertimbangkan untuk mengembangkan aplikasi sehingga dapat mendukung ukuran papan Reversi yang fleksibel. Referensi : [1] Ayuliana. (2009). Testing dan Implementasi. Jakarta: Gunadarma. [2] Kendall dan Kendall (2010). Analisis dan Perancangan Sistem. Jakarta: PT. Indeks. [3] Munir. (2011). Algoritma Greedy. Bandung: Sekolah Teknik Elektro dan Informatika ITB. [4] Pangajow. (2011). RPG Studio. Jakarta: Elex Media Komputindo. [5] Prasetyo. (2011). Stategi Bermain Othello. Jakarta: Genethello. [6] Pressman, R. (2012). Rekayasa Perangkat Lunak. Yogyakarta: Andi. [7] Rouf (2013). Pengujian Perangkat Lunak dengan Menggunakan Metode White Box dan Black Box. Semarang: STMIK Himsya. [8] Sibero. (2011). Langkah Mudah Membuat Game 3D. Yogyakarta: Mediakom. [9] Sigiro. (2011). Analisis Dan Implementasi Penyelesaian Game Minesweeper Menggunakan Algoritma Greedy Best First Search. Medan: Universitas Sumatera Utara [10] Sitorus. (2015). Algoritma dan Pemrograman. Yogyakarta: Andi. [11] Sutojo. (2011). Kecerdasan Buatan. Yogyakarta: Andi. [12] Tarigan. (2013). Analisis Dan Implementasi Algoritma Linear Search Pada Permainan Word Scramble. Medan: Universitas Sumatera Utara. [13] Utami dan Sukrisno. (2015). 10 Langkah Belajar Logika dan Algoritma Menggunakan Bahasa C dan C++ di GNU/Linux. Yogyakarta: Andi. [14] Wahid. (2014). Dasar-Dasar Algoritma & Pemrograman. Yogyakarta: Andi. [15] Winarto, E. dan Zaki, A. (2010). Dasar-Dasar Pemograman dengan Visual Basic 2010. Jakarta: PT. Elex Media Komputindo. [16] Yulita. (2013). Algoritma dan Pemrograman. Yogyakarta:STMIK Amikom. [17] Zulhidayati. (2013). Aplikasi Algoritma Greedy dan Program Dinamis pada Permainan Greedy Spiders. Bandung: Universitas Pendidikan Indonesia. Perancangan Aplikasi Permainan Reversi Menggunakan Metode Greedy (Edy, Wilianto, Yuliana )