iv
UNIVERSITAS BINA NUSANTARA
_______________________________________________________________________ Jurusan Teknik Informatika
Skripsi Sarjana Komputer Semester Genap 2007/2008
ANALISIS DAN PERANCANGAN PROGRAM PENYELESAIAN GAME CHECKER DENGAN METODE ALGORITMA GENETIK SERTA
PERBANDINGAN DENGAN PROGRAM CHINOOK Angga Pratama 0800772326
Fahmi Rizkiyudha 0800784351 Henglie 0800785120 Abstrak
Penelitian ini dilakukan dengan tujuan untuk menganalisa dan menguji persentase penerapan algoritma genetik terhadap sebuah permainan papan dengan menggunakan program Chinook sebagai tolak ukurnya. Permainan papan yang dipilih adalah permainan Checker, sebuah permainan papan yang sudah dikenal luas di luar negeri, sehingga penelitian ini juga bertujuan untuk memperkenalkan permainan Checker pada masyarakat Indonesia pada khususnya. Metode penelitian yang dipakai dalam skripsi ini adalah dengan melakukan studi untuk mengumpulkan bahan – bahan yang sesuai dengan topik penelitian, serta dilanjutkan dengan perancangan untuk membuat aplikasi game Checker sambil melakukan evaluasi perbandingan dengan program Chinook.Hasil yang dicapai adalah sebuah aplikasi program game Checker untuk pemain melawan komputer AI berbasis algoritma genetik, serta evaluasi perbandingan antara permainan Checker menggunakan algoritma genetik dengan permainan Checker menggunakan program Chinook. Diharapkan bahwa skripsi ini dapat menjadi bahan pertimbangan bagi pengembangan Artificial Intellegence dan pengembangan algoritma genetik dalam pemecahan masalah rumit seperti game.
Kata kunci
v PRAKATA
Puji syukur kepada Tuhan Yang Maha Esa, atas semua penyertaanNya selama masa studi sampai penulisan skripsi ini, sehingga skripsi ini dapat diselesaikan sebagai salah satu syarat kelulusan jenjang Strata Satu ( S1 ) jurusan Teknik Informatika, Universitas Bina Nusantara.
Dalam proses menyelesaikan skripsi yang berjudul Analisis Dan Perancangan Program Penyelesaian Game Checker Dengan Metode Algoritma Genetik Serta Perbandingan Dengan Program Chinook ini, penulis mengalami cukup banyak kesulitan. Namun, berkat bimbingan dan dorongan dari rekan – rekan serta dosen pembimbing juga pertolongan Tuhan, kesulitan – kesulitan tersebut dapat dilalui dengan baik.
Oleh karena itu, perkenankanlah kiranya penulis menyampaikan terima kasih yang sebesar – besarnya kepada :
1. Bapak Prof. Dr. Gerardus Polla, M.App.Sc., selaku Rektor Universitas Bina Nusantara.
2. Kedua orangtua tercinta, adik, dan segenap keluarga yang telah banyak memberikan dukungan baik doa, moril, maupun materi sampai akhir masa studi. 3. Bapak Ir. Tri Djoko Wahjono, M.Sc., selaku dosen pembimbing yang telah
memberikan bimbingan pemecahan permasalahan algoritma serta teknik penulisan skripsi ini.
4. Dosen – dosen Universitas Bina Nusantara yang telah berkenan membagikan ilmunya untuk menjadi bekal bagi penulis dan semua rekan yang lain selama masa studi di Universitas Bina Nusantara.
5. Teman-teman yang tidak dapat disebutkan satu persatu atas dukungan dan motivasinya.
Disadari bahwa skripsi ini masih jauh dari kesempurnaan sehingga penulis sangat mengharapkan masukan – masukan dari semua pihak untuk menjadi tambahan bekal pengetahuan di kemudian hari. Semoga penulisan skripsi ini dapat bermanfaat bagi pembaca dan pihak lain yang berkepentingan.
Jakarta, 21 Juni 2008
vi
DAFTAR ISI
Halaman Judul Luar……….…… i
Halaman Judul Dalam………..…… ii
Halaman Persetujuan Softcover……….….…. iii
Halaman Abstrak……….….... iv
Halaman Prakata……….. v
Daftar Isi………..……… vi
Daftar Tabel………..….…….. x
Daftar Gambar……….… xv
Daftar Lampiran………..…… xvi
BAB 1 PENDAHULUAN 1.1 Latar Belakang……….…… 1
1.2 Ruang Lingkup………. 3
1.3 Tujuan dan Manfaat……….……. 3
1.4 Metodologi……….……... 4
1.5 Sistematika Penulisan……… 5
BAB 2 LANDASAN TEORI 2.1 Algoritma………... 6
2.1.1 Sejarah Algoritma... 7
2.1.2 Definisi Algoritma... 8
2.1.3 Ciri – Ciri Algoritma……… 8
2.1.4 Sifat Algoritma……….… 9
vii 2.1.5.1 Judul (Header)... 11 2.1.5.2 Kamus (Deklarasi)... 12 2.1.5.3 Algoritma (Deskripsi)... 14 2.1.6 Contoh Algoritma………. 15 2.2 Artificial Intelligent……….. 16
2.2.1 Sejarah Artificial Intelligent………. 17
2.2.2 Definisi Artificial Intelligent..……….. 19
2.2.3 Kecerdasan Buatan vs Kecerdasan Alamiah……… 20
2.2.4 Bidang-bidang AI……… 22
2.3 Soft Computing……… 24
2.4 Data……….. 25
2.5 Informasi……….. 25
2.6 Database……….. 26
2.7 State Transition Diagram ( STD )... 27
2.8 Gambaran Umum Checker... 28
2.8.1. Sejarah Checker... 29
2.8.2. Detail Game Checker... 34
2.8.3 Turnamen Checkers………. 37
2.8.3.1 15 Aturan Standar Internasional Turnamen Checker………. 39
2.8.4 Checker Sterategi ……… 42
2.8.4.1 Kendali Pusat... 45
2.8.4.2 Opening, Mid-Game, dan End-Game……….. 47
viii 2.9 Chinook………... 57 2.9.1 Project……….. 57 2.9.2 Penjelasan Chinook……….. 68 2.10 Algoritma Genetik……….…. 70 2.10.1 Teori Genetika... 70
2.10.2 Dasar Algoritma Genetik... 70
BAB 3 ANALISIS DAN PERANCANGAN 3.1 Analisis... 87
3.1.1 Analisis Masalah... 87
3.1.2 Analisis Metode... 88
3.1.3 Usulan Pemecahan Masalah... 90
3.2. Perancangan Algoritma Genetik... 91
3.3. Perancangan Database... 98
3.4 Perangcangan Program... 99
3.4.1 Rancangan Struktur Menu... 99
3.4.2 Rancangan State Transition Diagram ( STD )... 101
3.4.3 Perancangan Modul... 128
3.5 Alur Program Secara Umum……….. 158
BAB 4 IMPLEMENTASI DAN EVALUASI 4.1 Spesifikasi Sistem………. 161
4.2 Implementasi Aplikasi……….. 161
4.2.1 Menu Login... 162
4.2.2 Menu Utama... 163
ix
4.2.4 Menu Rule……….. 164
4.2.5 Modul Permainan Papan Normal……… 165
4.2.6 Modul Permainan Papan Case………. 169
4.2.7 Menu History Game……… 170
4.2.8 Menu About Us……… 170
4.3 Evaluasi……… 171
4.3.1 Perbandingan Algoritma Genetik dengan Chinook... 171
4.3.2 Hasil Evaluasi Sistem... 184
BAB 5 SIMPULAN DAN SARAN 5.1 Simpulan……… 187
5.2 Saran... 188
DAFTAR PUSTAKA... 189 RIWAYAT HIDUP
x
DAFTAR TABEL
Tabel 2.1 Perbedaan antara mikroprosesor dengan otak manusia... 22
Tabel 2.2 Tabel Notasi STD... 27
Tabel 3.1 Field History... 98
Tabel 4.1 Tabel Spesifikasi Hardware……… 161
Tabel 4.2 Daftar generasi dan bobot solusi per langkah... 184
xi
DAFTAR GAMBAR
Gambar 2.1 Papan permainan yang diukir di kuil Luxor... 29
Gambar 2.2 Kemenangan Pion Putih dengan Papan 10x10... 33
Gambar 2.3 Papan Checker... 34
Gambar 2.4 Pion Checker... 35
Gambar 2.5 Posisi Awal Pion Checker... 35
Gambar 2.6 Pion Melangkah Satu Kotak... 36
Gambar 2.7 Pion Putih Memakan Satu Pion Merah... 36
Gambar 2.8 Pion Putih Memakan Dua Pion Merah dalam Satu Langkah... 36
Gambar 2.9 D-line diagonal (Diagram 1)... 49
Gambar 2.10 Contoh Diagonal D-line... 50
Gambar 2.11 A-line diagonal (Diagram 2)... 51
Gambar 2.12 Contoh A-Line... 51
Gambar 2.13 B-Line diagonal yang lemah (Diagram 3)... 52
Gambar 2.14 The C-line diagonal (Diagram 4)………. 53
Gambar 2.15 E-line diagonal (Diagram 5)... 53
Gambar 2.16 F-line diagonal (Diagram 6)... 54
Gambar 2.17 G-line diagonal (Diagram 7)……… 54
Gambar 2.18 Contoh G-Linediagonal……… 55
Gambar 2.19 Contoh G-Line diagonal... 56
Gambar 2.20 Arthur Samuel sedang meneliti pertandingan Checker... 60
Gambar 2.21 Nealey (putih) melangkah g1-f2... 63
xii
Gambar 2.23 Pemain memainkan bidak hitam……….. 69
Gambar 2.24 Langkah awal 11-15... 69
Gambar 2.25 Diagram alir algoritma genetik………..………... 73
Gambar 3.1 Layout Penomoran Papan Checker……….……… 91
Gambar 3.2 Layout Papan Checker Dengan Bidak... 92
Gambar 3.3 Pie Chart Seleksi Roulette – Wheel……….. 94
Gambar 3.4 Struktur Menu Login……….. 99
Gambar 3.5 Struktur Menu Utama ……… 99
Gambar 3.6 Struktur Play Normal ……… 99
Gambar 3.7 Struktur Play Case ……… 100
Gambar 3.8 Struktur Case 1………. 100
Gambar 3.9 Struktur Case 2... 100
Gambar 3.10 Struktur Case 3………. 100
Gambar 3.11 Struktur History Game... 101
Gambar 3.12 Struktur About us ……….. 101
Gambar 3.13 STD Login ………... 101
Gambar 3.14 STD Menu Utama ……… 102
Gambar 3.15 STD Menu Play Normal – Easy ……… 104
Gambar 3.16 STD Menu Play Normal – Medium……….………….. 106
Gambar 3.17 STD Menu Play Normal – Hard ……… 108
Gambar 3.18 STD Menu Play Case – Case 1 – Easy ………. 110
Gambar 3.19 STD Menu Play Case – Case 1 – Medium... 112
Gambar 3.20 STD Menu Play Case – Case 1 – Hard... 114
xiii
Gambar 3.22 STD Menu Play Case – Case 2 – Medium……… 118
Gambar 3.23 STD Menu Play Case – Case 2 – Hard……… 120
Gambar 3.24 STD Menu Play Case – Case 3 – Easy ……….. 122
Gambar 3.25 STD Menu Play Case – Case 3 – Medium……… 124
Gambar 3.26 STD Menu Play Case – Case 3 – Hard……… 126
Gambar 3.27 STD Menu History Game……… 127
Gambar 3.28 STD Menu About us……… 127
Gambar 3.29 Tampilan Login……… 128
Gambar 3.30 Tampilan Modul Utama ……… 129
Gambar 3.31 Tampilan Modul Play Normal ……… 130
Gambar 3.32 Tampilan Rule pada Play Normal - Easy ……… 132
Gambar 3.33 Tampilan Modul Play Normal - Easy ……… 132
Gambar 3.34 Tampilan Rule pada Play Normal - Medium……… 133
Gambar 3.35 Tampilan Modul Play Normal - Medium ……… 134
Gambar 3.36 Tampilan Rule pada Play Normal - Hard ……… 135
Gambar 3.37 Tampilan Modul Play Normal - Hard ……… 136
Gambar 3.38 Tampilan Modul Play Case ……… 137
Gambar 3.39 Tampilan Modul Play Case 1……… 138
Gambar 3.40 Tampilan Rule pada Play Case – Case 1 - Easy ……… 139
Gambar 3.41 Tampilan Modul Play Case – Case 1 - Easy ……… 140
Gambar 3.42 Tampilan Rule pada Play Case – Case 1 - Medium ……… 141
Gambar 3.43 Tampilan Modul Play Case – Case 1 - Medium ……… 141
Gambar 3.44 Tampilan Rule pada Play Case – Case 1 - Hard... 142
xiv
Gambar 3.46 Tampilan Modul Play Case 2……… 144
Gambar 3.47 Tampilan Rule pada Play Case – Case 2 – Easy……… 145
Gambar 3.48 Tampilan Modul Play Case – Case 2 – Easy……… 146
Gambar 3.49 Tampilan Rule pada Play Case – Case 2 – Medium……… 147
Gambar 3.50 Tampilan Modul Play Case – Case 2 – Medium……… 147
Gambar 3.51 Tampilan Rule pada Play Case – Case 2 – Hard……… 148
Gambar 3.52 Tampilan Modul Play Case – Case 2 – Hard……… 149
Gambar 3.53 Tampilan Modul Play Case 3……… 150
Gambar 3.54 Tampilan Rule pada Play Case – Case 3 – Easy……… 151
Gambar 3.55 Tampilan Modul Play Case – Case 3 – Easy……… 152
Gambar 3.56 Tampilan Rule pada Play Case – Case 3 – Medium……… 153
Gambar 3.57 Tampilan Modul Play Case – Case 3 – Medium……… 153
Gambar 3.58 Tampilan Rule pada Play Case – Case 3 – Hard……… 154
Gambar 3.59 Tampilan Modul Play Case – Case 3 – Hard……… 155
Gambar 3.60 Tampilan Modul History Game……… 156
Gambar 3.61 Tampilan Modul About us……… 157
Gambar 3.62 Flowchart Program Secara Umum... 158
Gambar 3.63 Flowchart Proses Algoritma Genetik……… 159
Gambar 4.1 Layar Menu Login... 162
Gambar 4.2 Layar Menu Utama... 163
Gambar 4.3 Layar Menu Level Komputer………. 163
Gambar 4.4 Layar Menu Rule……… 164
Gambar 4.5 Layar Modul Permainan Papan Normal... 165
xv
Gambar 4.7 Layar Status Makan Bidak Musuh... 166
Gambar 4.8 Layar Status Bidak Musuh Berkurang... 167
Gambar 4.9 Bidak Berubah Menjadi Raja... 168
Gambar 4.10 Status Salah Satu Player Menang... 168
Gambar 4.11 Status Draw... 169
Gambar 4.12 Tampilan Modul Permainan Papan Case……… 169
Gambar 4.13 Layar History Game………... 170
Gambar 4.14 Layar Menu About Us……… 170
Gambar 4.15 Status Awal AG vs Player……….. 171
Gambar 4.16 Program AG menjalankan langkah 23-19... 172
Gambar 4.17 Raja merah memakan pion putih 19-10... 172
Gambar 4.18 Pion merah berubah menjadi raja dengan langkah 25-30... 173
Gambar 4.19 Pion putih berubah menjadi raja dengan langkah 6-2... 173
Gambar 4.20 Pion merah menjalankan langkah 25-21... 174
Gambar 4.21 Merah melakukan langkah 18-25... 174
Gambar 4.22 Raja merah memakan raja putih 21-30... 175
Gambar 4.23 Player menyerah kalah ... 175
Gambar 4.24 Status Awal Chinook vs Player……….. 176
Gambar 4.25 Program Chinook menjalankan langkah 23-18... 177
Gambar 4.26 Raja merah memakan raja putih 18-25... 177
Gambar 4.27 Pion putih berubah menjadi raja 8-3... 178
Gambar 4.28 Pion putih berubah menjadi raja 7-2... 178
Gambar 4.29 Player menyerah kalah……… 179
xvi
Gambar 4.31 Pion putih berubah menjadi raja dengan langkah 6-2... 180
Gambar 4.32 Pion putih mengambil langkah 2-6... 180
Gambar 4.33 Raja merah memakan pion putih 22-15... 181
Gambar 4.34 Putih melakukan langkah 6-2... 181
Gambar 4.35 Raja merah memakan pion putih 15-6... 181
Gambar 4.36 Raja putih memakan raja merah 2-9... 182
Gambar 4.37 Pion putih berubah menjadi raja dengan langkah 5-1... 182
Gambar 4.38 Putih melakukan langkah 15-19... 182
Gambar 4.39 Raja putih memakan pion merah 23-16... 183
Gambar 4.40 Merah menyerah kalah……… 183
Gambar 4.41 Grafik hasil evaluasi Pemain vs Algoritma Genetik... 185