Penerapan Algoritma Minimax dan Alpha Betha Pruning pada Permainan Reversi.

(1)

! "

# $

$ #

% &


(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.