Penerapan Algoritma Minimax dan Alpha Betha Pruning pada Permainan Reversi.
! "
# $
$ #
% &
(2)
Universitas Kristen Maranatha #
) #
! "
# # # # # #
#
) )
)
#
(3)
* '
#
+ & #
+ , #
+ ) #
+
-. -. & /
/ / - . /
/ 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
(4)
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/
-- *
(5)
, 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
(6)
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
(7)
- *
(8)
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 dengan fungsi pruning.
(9)
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 20 responden beserta bukti identitas diri.
(10)
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
(11)
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 menghentikan langkah lawan (informasi lebih lanjut ada pada lampiran).
(12)
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; Prentice – Hall,1995.
(1)
- *
(2)
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
(3)
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 20 responden beserta bukti identitas diri.
(4)
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
(5)
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 menghentikan langkah lawan (informasi lebih lanjut ada pada lampiran).
(6)
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; Prentice – Hall,1995.