APLIKASI PERMAINAN CONGKLAK BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX SKRIPSI KARINA AYESHA 081402051
APLIKASI PERMAINAN CONGKLAK BERBASIS ANDROID
MENGGUNAKAN ALGORITMA MINIMAX
SKRIPSI
KARINA AYESHA
081402051
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2013 APLIKASI PERMAINAN CONGKLAK BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar
Sarjana Teknologi Informasi KARINA AYESHA
081402051 PROGRAM STUDI S1 TEKNOLOGI INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN
2013
PERSETUJUAN
Judul : APLIKASI PERMAINAN CONGKLAK BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX
Kategori : SKRIPSI Nama : KARINA AYESHA Nomor Induk Mahasiswa : 081402051 Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI Fakultas :
ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (FASILKOMTI) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, 19 Februari 2013
Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Dra.Elly Rosmaini, M.Si Sajadin Sembiring, S.Si, M.Comp.Sc NIP 196005201985032002 Diketahui/Disetujui oleh Program Studi S1 Teknologi Informasi Ketua, Prof. DR. Opim S Sitompul, M.Sc NIP 19610817 198701 1 001
PERNYATAAN
APLIKASI PERMAINAN CONGKLAK BERBASIS ANDROID MENGGUNAKAN ALGORITMA MINIMAX SKRIPSI Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 19 Februari 2013 KARINA AYESHA 081402051
PENGHARGAAN
Puji syukur penulis ucapkan kepada Allah SWT yang telah melimpahkan rahmat dan karunia- Nya sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Departemen Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
Ucapan terima kasih penulis sampaikan kepada Sajadin Sembiring, S.Si, M.Comp.Sc selaku pembimbing pertama dan Dra. Elly Rosmaini, M.Si selaku pembimbing kedua yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan kepada penulis. Ucapan terima kasih juga ditujukan kepada Sarah Purnamawati, ST, M.Sc dan Dedy Arisandi, ST, M.Kom yang telah bersedia menjadi dosen penguji. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Departemen Ilmu Komputer dan Teknologi Informasi, Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Teknologi Informasi Departemen Teknologi Informasi FASILKOMTI USU.
Tidak lupa juga penulis ucapkan terima kasih kepada Ayahanda Alfian Anwar, S.E. dan Ibunda Hj.T.Meisyura yang memberikan dukungan, doa, dan semangat tanpa henti. Untuk abang penulis, Willy Sahira dan adik penulis, Wiruza Mahesa yang selalu memberikan dorongan kepada penulis selama menyelesaikan skripsi ini. Terima kasih penulis ucapkan kepada teman-teman terdekat yang selalu memberikan dukungan, Saysa Mauli Ramadhani, Ahwania Muchtar, Halida Rahmah, Indriazel Syaputri, Rahmatika, Elfina, Mauza Saputri, Syahfitri Kartika Lidya, Cahya Rizki, Ishri Ifdhillah, dan Karina Andi serta teman-teman satu angkatan yang sama-sama berjuang dalam penyusunan skripsi. Sekali lagi penulis mengucapkan terima kasih kepada semua pihak yang membantu dalam penyelesaian tugas akhir ini yang tidak dapat disebutkan satu persatu, terima kasih atas ide, saran dan motivasi yang telah diberikan.
ABSTRAK
Congklak merupakan salah satu permainan tradisional yang sudah semakin langka saat ini.Permainan ini dimainkan oleh dua pemain dengan menggunakan sebuah papan congklak dan biji congklak yang berjumlah 14 x 7 buah. Pemain yang berhasil mengumpulkan biji lebih banyak di lumbungnya adalah pemenang dari permainan ini. Kesulitan dari permainan congklak adalah menentukan lubang mana yang merupakan pilihan terbaik sehingga pemain dapat terus melanjutkan permainan . Algoritma Minimax dapat diterapkan pada permainan congklak ini karena mampu menganalisis segala kemungkinan posisi permainan untuk menghasilkan langkah optimum. Untuk mengurangi ruang pencarian sekaligus sebagai optimasi, maka penulis menggunakan algoritma Alpha Beta Pruning. Hasil yang diperoleh dari aplikasi yang dibangun adalah bahwa implementasi algoritma Minimax pada permainan congklak dapat menghasilkan langkah terbaik. Permainan congklak ini dibangun pada sistem operasi Android. Kata kunci: Congklak, Minimax, Alpha Beta Pruning, Android
CONGKLAK APPLICATION BASED ON ANDROID USING
MINIMAX ALGORITHM
ABSTRACT
Congklak is one of the traditional games which getting rare nowadays. Therefore, the author build a congklak game application based on Android to conserve the game and make the congklak game be more practical and economical. Congklak game application is built by implementing Minimax algorithm because it is able to analyze all the possible positions of the game to generate optimum step. To reduce the search space and also as optimization, the author use Alpha Beta Pruning algorithm. The results obtained from the application which has been built shows that the implementation Minimax algorithm on congklak game can generate the best move.
Keywords: Congklak, Minimax, Alpha Beta Pruning, Android
DAFTAR ISI
Halaman Persetujuan ii
2.1.1 Penggunaan Kecerdasan Buatan di berbagai Bidang
2.2 Game (Permainan)
2.3 Permainan Congklak
2.7 Algoritma Alpha Beta Pruning
2.8.1 Arsitektur Android
19
2.8 Android
18
15
16
2.6 Algoritma Minimax
2.8.2 Versi Android
2.5 Algoritma Depth-First Search (DFS)
14
2.4 Teknik Pencarian (Searching)
20
23 Bab 3 Analisis dan Perancangan Aplikasi
22
2.9 Penelitian Sebelumnya
2.3.2 Aturan Permainan Congklak
25
3.1 Analisis Algoritma
25
3.1.1 Analisis Algoritma Permainan Congklak
25
3.1.2 Analisis Algoritma Minimax
29
3.1.3 Analisis Algoritma Alpha Beta Pruning
35
35
35
13
12
Pernyataan iii
1
3
1.3 Batasan Masalah
2
1.2 Rumusan Masalah
1
1.1 Latar Belakang
Bab 1 Pendahuluan
2.3.1 Sejarah Permainan Congklak
Daftar Gambar x
Daftar Tabel ix
Daftar Isi vii
Abstract vi
Abstrak v
Penghargaan iv
1.4 Tujuan Penelitian
3
1.5 Manfaat Penelitian
3
12
10
2.2.2 Klasifikasi Game
9
2.2.1 Teori Game
9
7
6
2.1 Kecerdasan Buatan
6
4 Bab 2 Landasan Teori
1.7 Sistematika Penulisan
4
1.6 Metodologi Penelitian
3.2 Perancangan Sistem
3.2.1 Perancangan Pemodelan Visual Menggunakan UML
3.2.1.1
36 Use Case Diagram
3.2.1.2
36 Activity Diagram
3.2.2
43 Perancangan Aplikasi Permainan
3.2.3
44 Perancangan Antarmuka
Bab 4 Implementasi dan Pengujian Aplikasi
50
4.1
50 Implementasi
4.1.1
50 Spesifikasi Perangkat Keras
4.1.2
50 Spesifikasi Perangkat Lunak
4.2
52 Tampilan Aplikasi
4.2.1
52 Tampilan Form Menu
4.2.2
52 Tampilan Form Choose Level
4.2.3
53 Tampilan form pilih giliran pemain
4.2.4
53 Tampilan form permainan
4.2.5
56 Tampilan form Rules
4.2.6
57 Tampilan form About
4.3
57 Pengujian
4.3.1
58 Pengujian Aplikasi
4.3.2
58 Pengujian Antarmuka Aplikasi
4.3.3
61 Pengujian Penggunaan Aplikasi
Bab 5 Kesimpulan dan Saran
64
5.1
64 Kesimpulan
5.2
65 Saran Daftar Pustaka
66 Lampiran A Lampiran B
DAFTAR TABEL
Halaman
Tabel 2.1 Versi-versi Android22 Tabel 2.2 Penelitian Sebelumnya
24 Tabel 3.1 Proses Single Player
37 Tabel 3.2 Proses Choose Level
38 Tabel 3.3 Proses Multiplayer
39 Tabel 3.4 Proses Play
39 Tabel 3.5 Proses Rules
41 Tabel 3.6 Proses About
42 Tabel 3.7 Proses Exit
42 Tabel 4.1 Kategori Pemberian Nilai
58 Tabel 4.2 Hasil Kuesioner Antarmuka Aplikasi
59 Tabel 4.3 Hasil Kuesioner Penggunaan Aplikasi
61
DAFTAR GAMBAR
45 Gambar 3.23 Form Choose Level
37 Gambar 3.15 Activity diagram Choose Level
38 Gambar 3.16 Activity diagram Multiplayer
39 Gambar 3.17 Activity diagram Play
40 Gambar 3.18 Activity diagram Rules
41 Gambar 3.19 Activity diagram About
42 Gambar 3.20 Activity diagram Exit
43 Gambar 3.21 Flowchart aplikasi permainan
44 Gambar 3.22 Form Home
46 Gambar 3.24 Form pilih giliran pemain
35 Gambar 3.13 Use Case Diagram
47 Gambar 3.25 Form Rules
47 Gambar 3.26 Form About
48 Gambar 3.27 Form Arena Permainan
49 Gambar 4.1 Tampilan form menu
52 Gambar 4.2 Tampilan form Choose Level
53 Gambar 4.3 Tampilan form pilih giliran pemain
53 Gambar 4.4 Tampilan form permainan sebelum permainan dimulai
54 Gambar 4.5 Tampilan form permainan saat permainan dimulai
36 Gambar 3.14 Activity diagram Single Player
34 Gambar 3.12 Pohon permainan menggunakan algoritma Alpha Beta Pruning
Halaman
28 Gambar 3.4 Pohon permainan untuk menemukan langkah tembak
Gambar 2.1 Papan Congklak12 Gambar 2.2 Penelusuran pohon permainan dengan DFS
15 Gambar 2.3 Cara kerja algoritma Minimax
17 Gambar 2.4 Cara kerja algoritma Alpha Beta Pruning
19 Gambar 2.5 Komponen utama Arsitektur Android
20 Gambar 3.1 Keadaan papan congklak untuk menemukan langkah free turn
26 Gambar 3.2 Pohon permainan untuk menemukan langkah free turn
27 Gambar 3.3 Keadaan papan congklak untuk menemukan langkah tembak
29 Gambar 3.5 Keadaan papan congklak pada simulasi menemukan langkah terbaik
33 Gambar 3.11 Pohon penelusuran algoritma Minimax
30 Gambar 3.6 Pohon permainan menggunakan algoritma Minimax pada simulasi menemukan langkah terbaik
31 Gambar 3.7 Keadaan papan congklak setelah lubang B7 menemukan langkah
free turn
32 Gambar 3.8 Pohon permainan menggunakan algoritma Minimax pada simulasi
player (a)
32 Gambar 3.9 Keadaan papan congklak setelah lubang B7 menemukan langkah
free turn
33 Gambar 3.10 Pohon permainan menggunakan algoritma Minimax pada simulasi
player (b)
54
Gambar 4.6 Tampilan saat permainan sedang berlangsung55 Gambar 4.7 Tampilan permainan dalam keadaan paused
55 Gambar 4.8 Message dialog
56 Gambar 4.9 Tampilan ketika permainan sudah berakhir
56 Gambar 4.10 Tampilan form Rules
57 Gambar 4.11 Tampilan form About
57