! "
# $
$ #
% &
Universitas Kristen Maranatha #
) #
! "
# # # # # #
#
) )
)
#
* '
#
+ & #
+ , #
+ ) #
+
-. -. & /
/ / - . /
/ 0 ( /
/ 1 ) 2 /
/ 3 . 0
/ 4 * 0
/ 5 ) * 1
. . && + ) 3
0 / ( # 3
0 0 + ) 5
0 0 / 5
0 0 0 6
0 1 ( # 7
0 1 / 8# ( # /9
0 1 0 ( # /9
. . &&& /1
1 / * /1
1 / / : ; + /1
1 / 0 # + /3
1 / 0 / / /3
Universitas Kristen Maranatha #
1 / 0 1 - ) /5
1 / 1 ; + /6
1 0 ; # * /7
. &< & 00
3 / - , 00
3 0 = : , 04
. < 2 14
4 / 2 > . ) 14
4 / / 2 14
4 / 0 2 ) ( # 16
4 / 1 2 - < 33
4 / 3 2 - 34
4 0 2 > ? ) 35
4 0 / @ ) !" 35
4 0 0 @ ) !" 36
4 0 1 . @ !" 36
4 0 3 A . 2 !" 37
4 0 4 < - !" 37
4 0 5 ) . 2 !" 3B
. <& 49
5 / 49
5 0 * 49
+ 4/
-- *
, 0 / 3
, 0 0 - 2 3
, 0 1 . 2 2 4
, 0 3 . 2 4
, 0 4 . 2 4
, 0 5 - * . 2 5
, 0 6 6
, 0 7 A 7
, 0 B . ( # B
, 0 /9 . ! 5 5" /
, 0 // . ! 5 5" /0
, 1 / : ; + /1
, 1 0 # + / /3
, 1 1 # + 0 /4
, 1 3 # + - ) ! 0 " /5
, 1 4 & /6
, 1 5 /7
, 1 6 + < : /7
, 1 7 + < / 0 /B
, 1 B + < ' /B
, 1 /9 + < ) 4 09
, 3 / : 00
, 3 0 0 / 01
, 3 1 * 01
, 3 3 ) 4 - 03
Universitas Kristen Maranatha #
) / / ) * 0996 1
) / 0 ) * 0997 1
) 3 / @ ) 04
) 3 0 @ ) 05
) 3 1 . @ 05
) 3 3 ; @ ; 06
) 3 4 , 07
) 3 5 , C 19
) 3 6 , ) 11
) 4 / ? 14
) 4 0 2 ) 16
) 4 1 . 2 A 39
) 4 3 . 2 3/
) 4 4 + - # / # # 0 30
) 4 5 + - # 3 # - # 4 30
) 4 6 + - # 7 # - # B 31
) 4 7 2 - < ! - # /" 33
) 4 B 2 ! 0 " 34
) 4 /9 @ ) 35
) 4 // @ ) 36
) 4 /0 = @ @ 36
) 4 /1 2 2 37
) 4 /3 < - 37
- *
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Semakin pesatnya perkembangan game/permainan di Tanah Air,
mengharuskan pecinta game untuk memilih game yang ingin dimainkan dalam kurun
waktu tertentu. Kebanyakan game yang ramai dibicarakan, memfasilitasi pecinta
game untuk mengatasi ‘tantangan’ yang telah disiapkan. Setelah ‘tantangan’ tersebut
diatasi, maka pecinta game akan mencari ‘tantangan’ yang lebih sulit untuk diatasi.
Keadaan di atas yang memotivasi untuk memperlengkapi sebuah game yang
tidak hanya menyediakan ‘tantangan’, tetapi juga mengajak pecinta game untuk
berpikir jauh kedepan, sebelum melangkah.
Ada beberapa permainan yang mengasah kemampuan berpikir pemainnya,
antara lain catur, dan othello/reversi. Pandangan yang mengatakan bahwa
memainkan othello/reversi lebih mudah dibandingkan bermain catur yang
menjadikan othello/reversi sebagai game yang akan diperlengkapi dengan
kecerdasan buatan.
Dengan mengambil topik “Penerapan Algoritma Minimax dan Alpha Beta
Pruning dalam Permainan Reversi”, di masa yang akan datang pecinta game tidak
hanya melihat game sebagai ‘alat pemuas’ semata, melainkan melihat game dari
sudut pandang manfaat yang diperoleh.
1.2 Rumusan Masalah
Berdasarkan latar belakang di atas, dapat dirumuskan hal-hal baru yang
ingin dipelajari. Hal-hal tersebut adalah :
1. Bagaimana menerapkan algoritma minimax dalam game othello/reversi?
2. Membuktikan bahwa algoritma minimax akan semakin efektif ketika
menggunakan fungsi pruning.
1.3 Tujuan
Berdasarkan rumusan masalah di atas, akan dibangun sebuah game
othello/reversi dengan menggunakan algoritma minimax yang telah dimodifikasi
1.4 Batasan Masalah
Batasan-batasan yang membatasi permainan ini, antara lain :
1. Permainan ini tidak dapat dimainkan secara jaringan/network.
2. Jumlah pemain 1 hingga 2 orang (1-2 player)
3. Permainan terbagi menjadi 10 level (easy, medium, dan hard) dengan
rincian sebagai berikut :
Level easy, mengunakan 1 kedalaman algoritma minimax.
Level medium, mengunakan 6 kedalaman algoritma minimax.
Level hard, mengunakan 10 kedalaman algoritma minimax.
4. Game akan menyimpan nama 5 orang dengan nilai tertinggi pada setiap
level dalam satuan persen (%). Jumlah biji merupakan nilai ukur.
1.5 Sistematika Pembahasan
Sistematika pembahasan akan membahas garis besar setiap bab dalam
karya ilmiah ini secara singkat.
Bab I Pendahuluan
Berisi latar belakang mengapa topik ini diangkat, intisari masalah yang ingin
dipelajari, tujuan pembuatan karya ilmiah yang mampu menjawab intisari
masalah, batasan masalah, dan jadwal penyelesaian karya ilmiah.
Bab II Dasar Teori
Berisi aturan permainan Reversi, dan algoritma yang menunjang penerapan
permainan ini (Algoritma Minimax).
Bab III Analisa dan Pemodelan
Berisi arsitektur permainan Reversi (Use Case Diagram + Activity/State
Diagram + Class Diagram), dan penjelasan design (visual) dan layout yang
diimplementasikan pada permainan reversi.
Bab IV Perancangan dan Implementasi
Berisi screenshot permainan Reversi beserta penjabaran dari setiap method
(fungsi) yang digunakan.
Bab V Pengujian
Berisi laporan pengujian terhadap tiap class/method/fungsi yang dibuat
(whitebox) dan laporan dari kuisoner (blackbox) yang diberikan pada minimal
3 Bab VI Kesimpulan dan Saran
Berisi manfaat karya ilmiah bagi beserta jawaban atas tujuan yang telah
dijelaskan di atas, dan hal-hal yang dapat dikembangkan untuk karya ilmiah
selanjutnya.
1.6 Time Schedule
Berikut ini adalah time schedule dalam menyelesaikan karya ilmiah ini.
Tabel 1. 1 Time Schedule tahun 2007
Bulan September Oktober November Desember
Minggu I II III IV I II III IV I II III IV I II III IV
Bimbingan
Mengerjakan
Laporan
Mengerjakan
Game
Tabel 1. 2 Time Schedule tahun 2008
Bulan Februari Maret April Mei Juni
Minggu I II III IV I II III IV I II III IV I II III IV I II III IV
Bimbingan
Mengerjakan
Laporan
Mengerjakan
Game
BAB VI
KESIMPULAN DAN SARAN
6.1 Kesimpulan
Sesuai dengan tujuan yang telah diuraikan pada Bab I, maka algoritma
minimax dengan fungsi pruning berhasil diterapkan pada permainan othello/reversi
yang memiliki 10 tingkat kesulitan. Pengetahuan yang belum diperoleh sebelum dan
saat mengerjakan karya ilmiah kemudian dipertegas oleh pengetahuan yang
diperoleh setelah karya ilmiah ini diselesaikan adalah:
1. Fungsi pruning akan mempersingkat waktu mencari langkah terbaik sebesar
lebih dari 69.31% bila dibandingkan pencarian tanpa menggunakan fungsi
pruning (berdasarkan pengamatan pada tabel 5.1)
2. Tingkat kesulitan akan mempengaruhi kemenangan (berdasarkan pengamatan
pada tabel 5.3).
3. Level yang lebih tinggi memiliki persentase kemenangan yang lebih besar
(berdasarkan pengamatan pada tabel 5.3)
4. Langkah pertama akan memiliki persentase menang yang lebih kecil
(berdasarkan pengamatan pada tabel 5.3 dan tabel 5.4).
5. selisih level pada range atas (misal level 8 & 9) tidak terlalu memberi dampak
bagi pengambilan keputusan bila dibandingkan dengan selisih level pada range
bawah (misal level 1 & 2).
6.2 Saran
Pengembangan terhadap permainan othello/reversi yang dapat dilakukan
antara lain:
1. Mengantisipasi langkah yang paling dominan diambil oleh lawan (informasi lebih
lanjut ada pada lampiran).
2. Memperoleh langkah terbaik dengan memberi prioritas tertinggi pada biji yang
tidak dapat dibalik lagi (informasi lebih lanjut ada pada lampiran).
3. Memperoleh langkah terbaik dengan memberi prioritas pada langkah yang akan
51
DAFTAR PUSTAKA
1. Bunyamin, Hendra; Object Oriented Theory and Design; Universitas Kristen
Maranatha, 2007.
2. Munir, Rinaldi; Algoritma & Pemograman dalam Bahasa Pascal dan C
Buku 1; Informatika Bandung, 2003
3. Risal, Laurentius; Object Oriented Theory and Design; Universitas Kristen
Maranatha, 2007.
4. Russel, Stuart J & Norvig, Peter; Artificial Inteligence : A Modern Aproach;