SKRIPSI
KARINA AYESHA
081402051
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
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
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,
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
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.
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.
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.
DAFTAR ISI
1.4Tujuan Penelitian 3
1.5Manfaat Penelitian 3
1.6Metodologi Penelitian 4
1.7Sistematika Penulisan 4
Bab 2 Landasan Teori 6
2.1Kecerdasan Buatan 6
2.1.1 Penggunaan Kecerdasan Buatan di berbagai Bidang 7
2.2Game (Permainan) 9
2.2.1 Teori Game 9
2.2.2 Klasifikasi Game 10
2.3Permainan Congklak 12
2.3.1 Sejarah Permainan Congklak 12 2.3.2 Aturan Permainan Congklak 13 2.4Teknik Pencarian (Searching) 14 2.5Algoritma Depth-First Search (DFS) 15
2.6Algoritma Minimax 16
2.7Algoritma Alpha Beta Pruning 18
2.8Android 19
2.8.1 Arsitektur Android 20
2.8.2 Versi Android 22
2.9Penelitian Sebelumnya 23
Bab 3 Analisis dan Perancangan Aplikasi 25
3.1Analisis 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
3.2Perancangan Sistem 35
3.2.1.1Use Case Diagram 36
3.2.1.2Activity Diagram 36
3.2.2 Perancangan Aplikasi Permainan 43
3.2.3 Perancangan Antarmuka 44
Bab 4 Implementasi dan Pengujian Aplikasi 50
4.1Implementasi 50
4.1.1 Spesifikasi Perangkat Keras 50 4.1.2 Spesifikasi Perangkat Lunak 50
4.2Tampilan Aplikasi 52
4.2.1 Tampilan Form Menu 52
4.2.2 Tampilan Form Choose Level 52 4.2.3 Tampilan form pilih giliran pemain 53 4.2.4 Tampilan form permainan 53
4.2.5 Tampilan form Rules 56
4.2.6 Tampilan form About 57
4.3Pengujian 57
4.3.1 Pengujian Aplikasi 58
4.3.2 Pengujian Antarmuka Aplikasi 58 4.3.3 Pengujian Penggunaan Aplikasi 61
DAFTAR TABEL
Halaman
Tabel 2.1 Versi-versi Android 22
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
DAFTAR GAMBAR
Halaman
Gambar 2.1 Papan Congklak 12
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 28 Gambar 3.4 Pohon permainan untuk menemukan langkah tembak 29 Gambar 3.5 Keadaan papan congklak pada simulasi menemukan langkah terbaik 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) 33
Gambar 3.11 Pohon penelusuran algoritma Minimax 34 Gambar 3.12 Pohon permainan menggunakan algoritma Alpha Beta Pruning 35
Gambar 3.13 Use Case Diagram 36
Gambar 3.14 Activity diagram Single Player 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 45
Gambar 3.23 Form Choose Level 46
Gambar 3.24 Form pilih giliran pemain 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.6 Tampilan saat permainan sedang berlangsung 55 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