Upload
soe-die
View
211
Download
12
Embed Size (px)
Citation preview
1
1. JUDUL
Rancang Bangun Game Rumah Perkalian Menggunakan Algoritma
Minimax Berbasis Android
2. ABSTRAK
Rumah perkalian merupakan salah satu game edukasi matematika yang
dapat membantu anak dalam belajar perkalian dengan cara bermainan yang
menyenangkan. Game ini pada dasarnya hampir sama dengan Tic-Tac-Toe
hanya saja terdapat perhitungan perkalian dalam memainkannya. Game ini
menerapkan Algoritma Minimax sebagai AI (Artificial Intelligence) lawan
tanding pemain. Minimax adalah algoritma yang menerapkan teknik
pencarian Depth First Search (DFS) dengan kedalaman terbatas dengan
algoritma tersebut komputer mampu memainkan permainan Tic-Tac-Toe dan
sejenisnya.
Perkembangan game juga tidak lepas dari perkembangan teknologi yang
semakin pesat, salah satunya adalah teknologi smartphone seperti Android.
Android adalah OS yang bersifat Open Source dan banyak peminatnya.
Platform ini cocok digunakan sebagai device untuk mengimplementasikan
game Rumah Perkalian ini.
Kata Kunci: Rumah Perkalian, DFS (Dept First Search), AI (Artificial
Intelligence), Minimax.
3. LATAR BELAKANG
Game atau permainan pada dasarnya adalah suatu hal yang
menyenangkan bagi semua orang. Semua game memiliki tujuan dan
manfaatnya masing-masing, mulai dari hanya sekedar hiburan untuk
menghilangkan stres, menguji kecerdasan dan ketangkasan, bahkan sampai
kepada proses pembelajaran dan lain sebagainya.
Game Rumah Perkalian adalah sebuah game yang pada dasarnya
mengadopsi konsep permainan Tic-Tac-Toe dan termasuk ke dalam jenis
game puzzle namun disisipi dengan proses pembelajaran matematika yaitu
2
perkalian. Dalam game ini pemain secara tidak langsung dituntut untuk
menghafal/menerapkan perhitungan perkalian dan hasilnya dengan cepat.
Game ini sangat cocok untuk mereka yang ingin belajar perkalian dan bagi
mereka yang ingin mengasah kemampuan berfikir dalam menyelesaikan
suatu permasalahan yang melibatkan faktor perhitungan. Game ini sudah ada
sejak tahun 90-an khususnya dikalangan anak SD. Namun tidak semua orang
atau anak mengenal permainan ini atau bisa dikatakan belum populer, padahal
jika dilihat dari segi manfaatnya sangat besar dalam membantu proses
pembelajaran.
Berkaca pada permainan Tic-Tac-Toe, permainan ini termasuk game
puzzle yang sangat populer mulai dari permainan manualnya sampai pada
permainan digitalnya. Dalam permainan digitalnya diperlukan sebuah
kecerdasan buatan yang dapat memainkan permainan ini. Salah satu
algoritma yang dapat dipakai untuk kecerdasan buatan adalah Algoritma
Minimax. Algoritma Minimax merupakan salah satu teknik algoritma
permainan yang terkenal. Minimax menggunakan teknik pencarian Depth-
First Search dengan kedalaman terbatas dan fungsi evaluasi yang digunakan
adalah fungsi evaluasi statis. Algoritma ini mengansumsikan bahwa lawan
akan membuat langkah terbaiknya yang dapat dilakukan, algoritma Minimax
cocok digunakan untuk permainan Catur, Othello, Checkers, dan Tic-Tac-
Toe.[1] Algoritma ini akan dipakai dalam game Rumah Perkalian yang akan
dibuat.
Selain itu, pada era tekhnologi seperti sekarang ini perkembangan
tekhnologi tumbuh semakin pesat hingga melahirkan sebuah mobile phone
yang pintar seperti layaknya komputer atau lebih dikenal dengan smartphone.
Kehadiran smartphone memberikan alternatif platform untuk game, selain
karna strukturnya yang hampir sama dengan komputer juga karna kapasitas
penyimpanan memorinya yang besar sehingga dapat menampung game-game
mulai dari kapasitasnya yang kecil hingga yang besar sekalipun. Salah satu
smartphone yang ada ialah Android. Salah satu alasan mengapa Android
banyak digunakan adalah karna Android bersifat Open Source. Sehingga
3
banyak developer aplikasi bahkan game yang mengembangkan aplikasinya
pada Android.
Berdasarkan hal-hal di atas, maka penulis berkeinginan mencoba
menerapkan algoritma Minimax sebagai kecerdasan buatan bagi komputer
(lawan pemain) untuk membuat aplikasi Game Rumah Perkalian pada
smartphone Android.
4. PERUMUSAN MASALAH
Berdasarkan permasalahan yang telah dipaparkan pada latar belakang
tersebut di atas, maka didapatkan perumusan masalah sebagai berikut :
1. Bagaimana cara merancang dan membuat Game Rumah Perkalian.
2. Bagaimana mengimplementasikan Algoritma Minimax pada komputer
sebagai lawan tanding pemain.
3. Bagaimana implementasi Game Rumah Perkalian pada smartphone
berbasis Android.
5. TUJUAN DAN MANFAAT
5.1. Tujuan
Berdasarkan perumusan masalah di atas, maka tujuan yang ingin dicapai
dalam penelitian ini adalah sebagai berikut :
1. Untuk merancang dan membangun Game Rumah Perkalian.
2. Menerapkan Algoritma Minimax sebagai kecerdasan buatan pada
komputer sebagai lawan tanding pemain dalam Game Rumah
Perkalian.
3. Membuat game edukasi yang dapat dimainkan pada smartphone
berbasis Android.
4
5.2. Manfaat
Adapun manfaat yang diharapkan dari penelitian ini adalah sebagai
berikut :
1. Dari segi teori, diharaparkan dapat menunjukkan implementasi
Algoritma Minimax sebagai kecerdasan buatan pada lawan tanding
pemain di Game Rumah Perkalian ini.
2. Dari segi edukasi, diharapkan dapat membantu pemain dalam belajar
berhitung perkalian dengan cara bermain.
6. BATASAN MASALAH
Batasan masalah yang akan digunakan dalam penelitian ini adalah :
1. Game ini hanya dimainkan oleh satu pemain saja (player versus
komputer).
2. Game ini akan dibuat dengan menggunakan software Eclipse.
3. Bentuk papan permainan berbentuk matriks 9x9, algoritma pencarian
serta pelacakan yang digunakan yaitu menggunkana algoritma
minimax, dan algoritma ini tidak menggunakan optimasi.
4. Game ini hanya dapat digunakan pada smartphone berbasis Android
dengan versi android 2.3 (Gingerbread) keatas.
5. Game ini khususnya ditujukan bagi anak yang ingin belajar berhitung
perkalian (anak SD kelas 4-6) dan umumnya bagi mereka yang ingin
bermain game puzzle dengan perhitungan.
7. STUDI PUSTAKA
7.1 Tinjauan Pustaka
7.1.1 Aplikasi Rumah Perkalian Berbasis Web Untuk Pembelajaran
Perkalian Siswa Sekolah Dasar [2]
Dyah Ayu (2007) melakukan perancangan dan pembuat Aplikasi
Rumah Perkalian berbasis web, tujuan dari pembuatan aplikasi ini
lebih diarahkan sebagai media pembelajaran bagi sekolah dasar.
Dalam penelitian ini tidak disebutkan metode atau algoritma apa yang
digunakan untuk membuat aplikasi tersebut. Aplikasi ini dibuat untuk
5
merubah permainan yang dulunya masih manual menjadi yang praktis
dan bisa dimainkan oleh dua pemain yang saling bergantian yang
mana sasaran utamanya adalah anak sekolah dasar yang sedang belajar
perkalian. Dari penelitian ini dapat diambil kesimpulan bahwa aplikasi
yang dibuat lebih ditekankan pada pemvisualisasian permainan yang
manual ke dalam bentuk web yang bisa membantu anak untuk dalam
belajar perkalian yang tidak membosankan.
7.1.2 Pembuatan Kecerdasan Buatan untuk Permainan Catur Jawa
dengan menggunakan Algoritma Minimax [3]
Sesuai dengan judul yang ada pada penelitian ini, tujuan yang ingin
dicapai adalah berusaha untuk membuat sebuah kecerdasan buatan
untuk permainan catur jawa dengan menggunakan algoritma Minimax
serta mengoptimasi algoritma Minimax dengan algoritma Alpha-Beta
untuk performa yang lebih baik.
Tidak jauh berbeda dengan permainan Tic-Tac-Toe, konsep yang
dilakukan pada penelian ini tetap mengedepankan solusi terbaik
sebagai hasil akhir sehingga di sini terdapat pengoptimasian algoritma
Minimax dengan menggunakan Alpha-Beta. Kedalaman pada
Minimax yang digunakan adalah maksimum 6 kedalaman.
Dari penelitian ini memberikan kesimpulan bahwa Algoritma
Minimax mungkin bukan jawaban terbaik untuk semua jenis
permainan yang membutuhkan kecerdasan buatan yang menyerupai
manusia. Kendati demikian, algoritma ini sangat cocok untuk
diimplementasikan pada permainan-permainan yang melibatkan dua
orang, di mana setiap pemain mengetahui semua langkah-langkah
yang mungkin dari pemainlawannya seperti catur, catur jawa,
checkers, dan lain sebagainya.
Perhitungan algoritma yang membutuhkan waktu pencarian yang
lama ini dapat dioptimasi dengan beberapa cara, misalnya dengan
menggunakan alpha-beta cutoffs atau membatasi kedalaman pohon
pencarian. Kompleksitas algoritma minimax bergantung pada
kedalaman maksimum pohon pencarian. Kecerdasan buatan untuk
6
permainan catur jawa dapat dibuat dengan menggunakan algoritma
minimax
7.1.3 Algoritma Minimax dalam Pengambilan Keputusan pada
Permainan Tic-Tac-Toe [4]
Lingkup permasalahan yang dicoba untuk dibahas pada penelitian
ini adalah penggunaan algoritma Minimax untuk membuat AI yang
dapat mencari dan menentukan keputusan terbaik dalam permainan
Tic-Tac-Toe agar AI atau komputer tidak akan pernah kalah dari
pemain.
Pada penelitian ini algoritma Minimax digunakan untuk membuat
pohon solusi dari awal permainan sampai akhir permainan dengan
semua kemungkinan kondisi dijadikan simpul dari pohon solusi yang
pada akhirnya menuntun AI atau komputer pada hasil akhir
kemenangan atau paling tidak seri.
Kesimpulan yang didapat dari penelitian ini adalah:
1. Algoritma minimax merupakan algoritma yang sangat bagus dan
cocok untuk pengambilan keputusan oleh AI, terutama dalam
permainan nplayer (n>=2).
2. Untuk permainan yang terbilang cukup kompleks seperti
permainan catur, pembentukan pohon solusi dari awal permainan
sampai akhir permainan akan sulit direalisasikan berhubung
kemungkinan yang ada sangat besar. Oleh karena itu, kita dapat
membatasi dalamnya pohon solusi pada suatu tahap untuk
mempercepat kinerja pengambilan keputusan.
3. Semakin akurat fungsi heuristic yang digunakan, semakin baik pula
pengambilan keputusan yang dilakukan oleh AI.
4. Dengan menggunakan algoritma minimax untuk AI dalam
permainan tic-tac-toe pada penelitian ini, pemain (manusia) tidak
akan pernah menang melawan AI tersebut.
7
7.1.4 Implementasi Algoritma Minimax pada Permainan Tic-Tac-Toe
Skala 9x9 [1]
Tujuan penelitian ini adalah untuk membandingkan langkah
komputer yang random dengan langkah komputer yang menggunakan
algoritma Minimax untuk permainan Tic-Tac-Toe. Serta untuk
mengetahui solusi pencarian dan pelacakan yang dilakukan algoritma
Minimax pada permainan ini.
Setelah dilakukan pengujian, maka penelitian ini memberikan
kesimpulan bahwa komputer yang menggunakan langkah random
selalu kalah dan komputer tidak memiliki kesempatan untuk menang
ataupun seri. Sedangkan komputer yang menggunakan Minimax
memberikan pernyataan bahwa Minimax adalah teknik pelacakan atau
pencarian dengan kedalam terbatas, semakin banyak level
kedalamannya maka langkah yang dibuat akan lebih baik karena
komputer dapat lebih mengetahui prediksi langkah ke depan.
7.1.5 Aplikasi Permainan Capsah Banting dengan Penerapan
Algoritma Minimax [5]
Penelitian ini bertujuan untuk menguji seberapa baik penggunaan
Algoritma Minimax dalam permainan Capsah Banting. Capsah
Banting adalah satu permainan kartu yang cukup terkenal, diciptakan
di Cina sekitar tahun tahun 1980. Permainan ini memiliki tujuan akhir
untuk menghabiskan kartu secepat mungkin dan memaksimalkan
akumulasi skor sepanjang permainan (kombinasi kartu hampir sama
dengan poker). Player dinyatakan menang apabila semua kartu telah
habis dan player tersebut mendapatkan nilai positif hasil akumulasi
dari sisa kartu pemain yang kalah dan sebaliknya yang kalah akan
mendapatkan nilai negatif dari jumlah kartu yang tersisa.
Disini, Minimax digunakan untuk memperkirakan kartu apakah
yang dapat dikeluarkan pada 1 langkah ke depan.[5] Tujuan dari
permainan ini diterapkan pada Minimax dengan cara menjumlahkan
nilai kombinasi kartu yang dikeluarkan pemain mulai dari awal
sampai terakhir dan hal ini disebut sebagai fungsi evaluasi.
8
Penelitian ini memberikan kesimpulan bahwa Algoritma Minimax
yang diterapkan memiliki kekurangan pada kedalam pencarian pada
pohon solusi yang hanya untuk satu putaran serta waktu pelacakan
yang lama jika kartu yang dikeluarkan sudah banyak. Permainan ini
juga melibatkan faktor peluang bagi pemain sehingga sebaik apapun
algoritma yang digunakan tetap memiliki peluang kekalahan. Karna
jenis permainan ini adalah imperfect information (imformasi keadaan
lawan yang tidak lengkap) mengakibatkan kinerja pelacakan Minimax
tidak seakurat seperti pada catur atau Tic-Tac-Toe yang berkategori
perfect information. Serta kehandalan Minimax dalam mencari solusi
sangat bergantung terhadap fungsi evaluasi yang digunakan.
7.2 Landasan Teori
7.2.1 Perkalian
Perkalian adalah operasi matematika penskalaan satu bilangan
dengan bilangan lain. Operasi ini adalah salah satu dari empat operasi
dasar di dalam aritmetika dasar (yang lainnya adalah perjumlahan,
perkurangan, dan perbagian). Perkalian terdefinisi untuk seluruh
bilangan di dalam suku-suku perjumlahan yang diulang-ulang;
misalnya, 3 dikali 4 (seringkali dibaca "3 kali 4") dapat dihitung
dengan menjumlahkan 3 salinan dari 4 bersama-sama:
3 x 4 = 4 + 4 + 4 = 12 [6]
Perkalian juga sering disebut penjumlahan berganda. Perkalian
memiliki sifat yang hampir sama dengan penjumlahan dimana sifat
tidak dipengaruhi jika dikalikan dengan 1. Dimana perkalian angka 1
dengan angka yang lainnya menghasilkan angka tersebut. Dalam
sistem perkalian hasil satu bisa sama artinya dengan sisi yang satunya
sehingga hasilnya tidak dapat berubah (AXB =BXA). Sedangkan nilai
nominal 0 tidak mempunyai arti dalam perkalian karena angka
berapapun dikalikan 0 menghasilkan angka 0.
7.2.2 Game
Game merupakan kata dalam bahasa inggris yang berarti
permainan. Permainan adalah sesuatu yang dapat dimainkan dengan
9
aturan tertentu sehingga ada yang menang dan ada yang kalah,
biasanya dalam konteks tidak serius atau dengan tujuan refreshing.
Dalam kamus bahasa Indonesia “Game” adalah permainan.
Permainan merupakan bagian dari bermain dan bermain juga bagian
dari permainan keduanya saling berhubungan. Permainan adalah
kegiatan yang kompleks yang didalamnya terdapat peraturan, play dan
budaya. Sebuah permainan adalah sebuah sistem dimana pemain
terlibat dalam konflik buatan, disini pemain berinteraksi dengan
sistem dan konflik dalam permainan merupakan rekayasa atau buatan,
dalam permainan terdapat peraturan yang bertujuan untuk membatasi
perilaku pemain dan menentukan permainan. Game bertujuan untuk
menghibur, biasanya game banyak disukai oleh anak-anak hingga
orang dewasa. Games sebenarnya penting untuk perkembangan otak,
untuk meningkatkan konsentrasi dan melatih untuk memecahkan
masalah dengan tepat dan cepat karena dalam game terdapat berbagai
konflik atau masalah yang menuntut kita untuk menyelesaikannya
dengan cepat dan tepat.
Menurut Kresna Ade Putra (2010), Sesuatu dapat dikatakan sebuah
game jika memiliki ciri-ciri umum yang ada pada game, yaitu :
1. Memiliki 2 pemain.
2. Kesempatan bermain bergantian.
3. Kerugian seorang pemain adalah keuntungan bagi pemain lain.
4. Pemain mengetahui seluruh informasi state dari game.
5. Tidak mengandung probabilistik seperti dadu.
Berdasarkan ciri-ciri di atas dapat diberikan contoh game yakni,
chess, go, Nim, tic tac toe, othello, dsb. Sedangkan yang terlihat
seperti game namun sebenarnya tidak termasuk kategori game adalah
seperti, bridge, solitaire, backgammon, roulette, dan sejenisnya.[7]
7.2.3 Rumah Perkalian
Rumah Perkalian merupakan sebuah game yang konsep
permainannya hampir sama dengan game Tic-Tac-Toe hanya saja
terdapat perhitungan perkalian dalam memainkannya. Game ini
10
termasuk dalam kategori perfect information, karna pemain
mengetahui secara lengkap informasi tentang permainan dan keadaan
lawannya. Gambar berikut ini adalah tampilan dari Game Rumah
Perkalian.
Gambar 7.1. Game Rumah Perkalian
1. Game ini dimainkan oleh dua orang pemain. Masing-masing
pemain memilki biji atau warna atau simbol yang berbeda.
2. Terdapat dua tabel berisi angka, tabel pertama (9x9) adalah arena
permainan dimana pemain harus meletakkan biji-bijinya pada
angka-angka tersebut sehingga terletak pada 5 blog berurutan baik
horisontal, vertikal maupun diagonal sesuai dengan hasil perkalian
pada tabel kedua. Tabel kedua (1x9) adalah arena untuk
meletakkan biji yang dapat dipindah yang digunakan untuk
melakukan perkalian.
3. Pertama-tama pemain 1 menaruh bijinya pada tabel kedua, (misal
pada angka 1) maka dia juga meletakkan biji di tabel pertama pada
angka 1.
4. Selanjutnya pemain 2, misal meletakkan pada angka 9, maka ia
harus meletakkan bijinya juga pada tabel pertama pada angka hasil
9×1 yaitu 9.
11
5. Selanjutnya pemain 1 menggeser bijinya di tabel kedua, misal pada
angka 2, maka ia meletakkan bijinya lagi pada tabel pertama hasil
dari 2×9 yaitu 18. Begitu juga untuk giliran pemain 2 dan
seterusnya.
6. Jika hasil perkalian yang ada pada tabel pertama lebih dari 1 maka
pemain hanya boleh memilih satu kotak saja.
7. Jika hasil perkalian yang diinginkan pada tabel pertama sudah tidak
ada atau sudah ditempati berarti pemain tidak bisa
menggunakannya lagi.
8. Jika terdapat biji berurutan sebanyak 5 blok tanpa terputus baik
vertikal, horizontal, maupun diagonal berarti dialah pemenangnya.
7.2.4 Kecerdasan Buatan (Artificial Intelligence / AI) dalam Game
Kecerdasan Buatan (Artificial Inteligence) merupakan bagian dari
ilmu komputer yang mempelajari bagaimana membuat mesin
(komputer) dapat melakukan pekerjaan seperti dan sebaik yang
dilakukan oleh manusia bahkan lebih baik daripada yang dilakukan
manusia. Dengan demikian, sistem yang menggunakan kecerdasan
buatan, akan mencoba untuk memberikan output berupa solusi dari
suatu masalah berdasarkan kumpulan pengetahuan yang ada.
Gambar 7.2. Penerapan Konsep Kecerdasan Buatan
Dalam mengimplementasi sistem Kecerdasan Buatan, diperlukan
algoritma-algoritma paralel. Algoritma-algoritma tersebut antara lain
untuk pencarian, optimasi, pengukuran kepuasan, sistem produksi,
pencocokan pola dan graf. Untuk mendukung algoritma-algoritma
tersebut, diperlukan struktur data untuk merepresentasikan
pengetahuan yang mampu melakukan manipulasi paralel.
12
Dalam sebuah permainan, AI digunakan untuk memodelkan
komputer dalam bersikap dan mengambil keputusan layaknya seperti
manusia atau musuh dari pemain yang dianggap memiliki kemampuan
serta tujuan yang sama. Hal yang semacam ini seringkali disebut
dengan karakter antagonis.
Karakter antagonis (komputer) adalah karakter yang dalam
permainan memiliki tujuan yang sama dengan pemain yaitu
memenangkan permainan, untuk mewujudkan tujuan ini karakter
tersebut dapat melakukan aksi kepada pemain dan sebaliknya pemain
dapat melakukan aksi kepada karakter lawan yang sesuai dengan
aturan permainan. Contoh sederhana dari karakter antagonis adalah
dalam permainan pertarungan (fighting), karakter lawan adalah
karakter yang harus 'dikalahkan' oleh pemain dengan melakukan aksi
(serangan), fungsi AI pada karakter antagonis adalah melakukan aksi-
aksi yang dapat memperbesar peluang karakter tersebut untuk
menang.[4]
Sedangkan dalam permainan yang berjenis puzzle biasanya AI
digunakan untuk memprediksi jalur atau langkah yang akan diambil
oleh pemain dan mencoba menghalanginya untuk dapat
memenangkan permainan.
7.2.5 Algoritma Minimax
John von Neuman pada tahun 1944 menguraikan sebuah algoritma
search pada game, dikenal dengan nama Minimax, yang
memaksimalkan posisi pemain dan meminimalkan posisi lawan.[8]
Algoritma Minimax adalah termasuk salah satu algoritma
pencarian (searching) kategori DFS (Dept-First Search) atau disebut
juga dengan pencarian secara dengan kedalaman terbatas, dan fungsi
evaluasi yang digunakan adalah fungsi evaluasi statis, dengan
mengansumsikan bahwa lawan akan membuat langkah terbaiknya
yang dapat dilakukan,. Algoritma ini paling populer dan cocok untuk
diterapkan dalam permainan dengan dua orang pemain, seperti Catur,
Tic-Tac-Toe dan yang lainnya yang merupakan permainan logika.
13
Karna permainan tersebut adalah permainan logika maka permainan
tersebut merupakan sekumpulan aturan main, dan dasar pemikiran
yang logis. Sehingga dapat dilakukan penafsiran kemungkinan
langkah apa yang akan dilakukan selanjutnya. Bahkan sebagian
pemain mengetahui semua langkah yang mungkin akan diambil oleh
lawan.
Seperti yang disebutkan bahwa Minimax memiliki basis DFS
sehingga juga memiliki pohon pencarian. Pada pohon pencarian yang
dibangun terdapat dua macam simpul yang menunjukkan
kemungkinan langkah yang akan diambil oleh lawan serta perlu
ditentukan pula batas maksimum kedalaman pohon kemungkinan
yang akan dibuat untuk memperkecil ruang pencarian. Misal batas
kedalam yang ditentukan adalah 4 maka masing-masing kedalam
tersebut adalah:
1. Akar : kondisi dari permainan yang sedang berlangsung.
2. Move : kemungkinan langkah yang akan diambil pemain.
3. Opponent’s move : langkah yang harus diambil lawan setelah
pemain melangkah.
4. Player’s next move : langkah selanjutnya yang mungkin
diambil pemain setelah lawan mengambil langkah.
Selain itu pada algoritma Minimax terdapat nilai minimum (MIN)
dan maksimum (MAX). Simpul maksimum adalah simpul yang
memilih simpul anaknya dengan nilai terbesar, sehingga menjadi nilai
dari simpul maksimum tersebut (simpul MAX). Sedangkan simpul
minimum adalah simpul yang memilih simpul anak dengan nilai
terkecil, yang kemudian menjadi nilai dari simpul minimum tersebut
(simpul MIN).
Simpul MAX merupakan simpul yang merepresentasikan langkah
terbaik yang dapat diambil oleh seorang pemain. Sedangkan simpul
MIN merupakan simpul yang merepresentasikan langkah yang dapat
diambil oleh lawan yang dianggap dapat meminimalkan skor lawan
dan memaksimalkan skor pemain dengan menimbang langkah yang
14
dapat diambil oleh pemain pada giliran berikutnya. Contohnya adalah
seperti berikut:
Gambar 7.3. Pohon dinamis algoritma Minimax
Dari pohon di atas, diperoleh keputusan bahwa pemain akan
mengambil langkah yang mengarah ke simpul bernilai 7 karena
simpul tersebut menuju ke arah kemungkinan langkah yang terbaik.[9]
8. METODOLOGI PENELITIAN
Langkah-langkah yang ditempuh dalam penelitian ini adalah meliputi
kegiatan-kegiatan sebagai berikut:
1. Studi Literartur
Pada tahap ini penulis mencari dan memahami literatur yang berkaitan
dengan permasalahan yang ada seperti:
a. Algoritma Minimax dan Penerapannya,
b. Game Rumah Perkalian
2. Analisis Sistem
Menganalisa bagaiamana cara menerapkan konsep algoritma Minimax pada
permainan Game Rumah Perkalian.
3. Perancangan dan Implementasi Algoritma
15
Pada tahap ini dilakukan perancangan sesuai dengan hasil dari analisis sistem
dan dilanjutkan dengan mengimplementasikan hasil analisis ke dalam sistem.
4. Uji Coba dan Evaluasi
Pada tahap ini dilakukan pengujian dan evaluasi terhadap hasil dari
implementasi sistem. Sehingga dapat diketahui kesesuaian sistem terhadap
permasalahan.
5. Penyusunan Laporan
Pada tahap ini dilakukan penulisan mengenai apa yang diperoleh dan
dikerjakan mulai dari kegiatan studi literatur hingga menghasilkan hasil
yang diinginkan yaitu rancang bangun game Rumah Perkalian menggunakan
algoritma Minimax berbasis Android.
9. RANCANGAN SISTEM
9.1. Alur Penelitian
Langkah penelitian yang akan dilakukan tergambar pada diagram alir berikut
ini:
Gambar 9.1. Alur Penelitian
16
9.2. Konsep Game
Gambar 9.2. Diagram Konsep Game
1. Modul Utama
Modul utama bertanggung jawab sebagai penentu giliran pemain yang
akan melangkah selanjutnya, serta mengidentifikasi permainan jika telah
selesai.
2. Manusia (Human Player)
Dalam hal ini human player adalah user yang akan bermaina melawan
komputer, setelah melakukan pergerakan maka human player akan
menunggu pergerakan komputer.
3. Komputer (Artificial Intelligence)
Komputer menentukan pergerakan terbaik dengan konsep algoritma
Minimax menggunakan dengan kedalaman yang ditentukan untuk
memperkirakan langkah berikutnya.
4. Evaluator
Evaluator disini bertindak untuk mengevaluasi siapa yang menang sesuai
dengan peraturan atau algoritma yang telah ditentukan.
17
9.3. Rancangan Game
Gambar 9.3. Flowchart Rancangan Sistem pada Game
18
10. JADWAL KEGIATAN
Adapun jadwal kegiatan yang akan dilaksanakan seperti tabel 1.
Tabel 1. Jadwal kegiatan
No Tahap Pelaksanaan
Bulan
Bulan I Bulan II Bulan III Bulan IV
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1 Studi Literatur
2 Analisis Sistem
3
Perancangan dan
Implementasi
Algoritma
4 Uji Coba dan Evaluasi
5 Penyusunan Laporan
11. DAFTAR PUSTAKA
[1] Firmansyah, D., H. Implementasi Algoritma Minimax Pada Permainan Tic-
Tac-Toe Skala 9x9. 2009. URL:
http://elib.unikom.ac.id/files/disk1/317/jbptunikompp-gdl-dickyherma-
15803-1-01cover.pdf, diakses tanggal 10 September 2013.
[2] Ayu, D. Aplikasi Rumah Perkalian Berbasis Web Untuk Pembelajaran
Perkalian Siswa Sekolah Dasar. 2007. URL: http://www.eepis-
its.edu/uploadta/abstrakdetail.php?id=201, diakses tanggal 26 Agustus 2013.
[3] Bahr, A., B. Pembuatan Kecerdasan Buatan untuk Permainan Catur Jawa
dengan menggunakan Algoritma Minimax. 2008. URL:
http://informatika.stei.itb.ac.id/~rinaldi.munir/Stmik/2007-
2008/Makalah2008/MakalahIF2251-2008-084.pdf, diakses tanggal 28
Agustus 2013.
[4] Akbar, K., S., R. Algoritma Minimax dalam Pengambilan Keputusan pada
Permainan Tic-Tac-Toe. 2007. URL:
http://webmail.informatika.org/~rinaldi/Stmik/2006-
2007/Makalah_2007/MakalahSTMIK2007-024.pdf, diakses tanggal 12
September 2013.
19
[5] Toba, H., dan Kurniawan, B. Aplikasi Permainan Capsah Banting dengan
Penerapan Algoritma Minimax. Jurnal Informatika. 4: 12-27. 2008.
[6] Wikipedia Indonesia, Ensiklopedia Bebas. Perkalian. 2013. URL:
http://id.wikipedia.org/wiki/Perkalian, diakses tanggal 27 September 2013.
[7] Putra, K., A. Game Nim dengan Reinforcement Learning. Proyek
AkhirProgram Studi Teknik Informatika – Politeknik Elektronika Negeri
Surabaya. Surabaya. 2010.
[8] Anonim. Bab 4 Algoritma Pencarian (Searching Algorithm). 2007. URL:
http://lecturer.eepis-its.edu/~entin/Kecerdasan%20Buatan/Buku/Bab%204%
20Algoritma%20Pencarian.pdf, diakses tanggal 27 September 2013.
[9] Amelia, A. Penerapan Algoritma DFS pada Permainan Othello. 2012.
URL: http://informatika.stei.itb.ac.id/~rinaldi.munir/Stmik/2012-
2013/Makalah2012/Makalah-IF3051-2012-090.pdf, diakses tanggal 23
September 2013.