PERMAINAN CATUR HARIMAU MENGGUNAKAN ALGORITMA NEGAMAX PADA PLATFORM ANDORID
SKRIPSI
DENO SUMARTA 111402040
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERMAINAN CATUR HARIMAU MENGGUNAKAN ALGORITMA NEGAMAX PADA PLATFORM ANDORID
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi
DENO SUMARTA 111402040
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : PERMAINAN CATUR HARIMAU MENGGUNAKAN
ALGORITMA NEGAMAX PADA PLATFORM ANDROID
Kategori : SKRIPSI
Nama : DENO SUMARTA
Nomor Induk Mahasiswa : 111402040
Program Studi : S1 TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing :
Diketahui/ disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
Muhammad Anggia Muchtar, ST., MM.IT NIP. 19800110 200801 1 010
Pembimbing 2
Romi Fadillah Rahmat, B.Comp.Sc.,M.Sc
NIP. 19860303 201012 1 004
Pembimbing 1
Dr. Erna Budhiarti Nababan, M.IT
-PERNYATAAN
PERMAINAN CATUR HARIMAU MENGGUNAKAN ALGORITMA NEGAMAX PADA PLATFORM ANDORID
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Juni 2016
Deno Sumarta
UCAPAN TERIMA KASIH
Segala puji dan syukur penulis sampaikan kepada Tuhan Yang Maha Esa yang telah memberikan berkat-Nya yang melimpah sehingga penulis dapat menyelesaikan skripsi ini dengan baik untuk memperoleh gelar Sarjana Komputer, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.
Skripsi ini penulis persembahkan kepada orangtua penulis, Bapak Syamsul Bahri dan Ibu Yemmi yang selalu memberikan doa, semangat, dukungan, perhatian, kasih sayang, dan pengorbanan. Semoga Allah SWT memberikan kebahagiaan kepada kedua orangtua penulis. Terima kasih penulis ucapkan kepada kakak dan abang penulis, Yessi Syefriani, Yendri Nofira, Deni Suryadi, M. Rizki, Rizki Arviandi dan Riri Asnelli yang selalu memberikan semangat dan dukungan dalam pengerjaan skripsi ini.
Penulis menyadari bahwa penelitian ini tidak akan terwujud tanpa bantuan banyak pihak. Dengan kerendahan hati, penulis ucapkan terima kasih kepada :
1. Ibu Dr. Erna Budhiarti Nababan, M.IT sebagai dosen pembimbing I dan Bapak Romi Fadillah Rahmat, B.Comp.Sc.,M.Sc sebagai dosen pembimbing II yang telah meluangkan waktu, pikiran, saran, dan kritiknya untuk penulis dalam menyelesaikan skripsi ini.
2. Ketua dan Sekretaris Program Studi S1 Teknologi Informasi, Bapak M. Anggia Muchtar, S.T., MM.IT. dan bapak Mohammad Fadly Syahputra, B.Sc.,M.Sc.IT. 3. Bapak Mhd Safri Lubis, ST., M.Kom selaku dosen pembimbing akademik yang
selalu memberi saran dalam proses akademik penulis.
4. Seluruh dosen yang mengajar serta staf Tata Usaha Program Studi Teknologi Informasi Universitas Sumatera Utara.
bersedia menjadi teman diskusi dan memberikan dukungan kepada penulis, semoga kita meraih kesuksesan.
6. Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapankan satu persatu yang telah membantu menyelesaikan skripsi ini.
ABSTRAK
Permainan catur harimau adalah permainan berjenis board game yang membutuhkan strategi dan ketermpilan dari kedua pemain untuk memenangkan permainan dengan cara menghabisi semua bidak kambing untuk pemain yang menggunakan bidak harimau dan mematikan langkah bidak harimau untuk pemain yang menggunakan bidak kambing. Permainan catur harimau ini dirancang pada smartphone dengan platform android yang penggunanya terus meningkat dari tahun ketahun sehingga orang lebih banyak menggunakan smartphone masing-masing untuk bermain game. Agar user dapat bermain game pada smartphone, maka penulis mengimplementasikan algoritma negamax pada permainan catur harimau ini. Algoritma negamax merupakan algoritma pohon pencarian yang akan melakukan penelusuran pada setiap node hingga ditemukan nilai maksimum. Algoritma negamax merupakan bentuk sederhana dari algoritma minimax yang hanya menggunakan fungsi maksimal untuk mencari nilai maksimum, tidak seperti minimax yang menggunakan dua buah fungsi yaitu maksimal dan minimal sehingga penulisan code lebih sederhana. Permainan catur harimau ini dapat berjalan dengan baik pada smartphone dengan platform android.
CATUR HARIMAU GAME USING NEGAMAX ALGORITHM
ON ANDROID PLATFORM
ABSTRACT
Catur harimau game is one of the board games which uses strategy and skill from both players to win the game by eliminating all of the goat pieces for tiger piece player and stop all tiger piece moves for the goat one. Catur harimau game is built on smartphone with android platform which statistic states that the users are increasing from time to time, so people use smartphone to play a game more often. In order the user can play a game on their smartphone, author implements negamax algorithm on catur harimau game. Negamax algorithm is a three search algorithm that excecutes all of the nodes
until finding the maximum score. Negamax algorithm is a simple form from minimax algorithm that only uses maximal function to find the best score, unlike minimax that uses two functions, which are minimal function and maximal function in order to
simplify the code. This game works well on smartphone with android platform.
DAFTAR ISI
Halaman
Persetujuan iii
Pernyataan iv
Ucapan Terima Kasih v
Abstrak vii
1.7 Sistematikan Penulisan 4
BAB 2 LANDASAN TEORI 6
2.1 Game 6
2.2 Kecerdasan Buatan pada Game 7
2.3 Algoritma 8
2.4 Algoritma pada Board Game 9
2.5 Algoritma Minimax 10
2.6 Algoritma Negamax 11
2.7 Android 12
2.8 Catur Harimau 12
2.9 Penelitian Terdahulu 14
BAB 3 ANALISIS DAN PERANCANGAN SISTEM 16
3.1.1 Move generator 17
3.1.2 Funsi Evaluasi 17
3.1.3 Memanggil Algoritma pencarian 17
3.2 Analisis Algoritma Negamax 18
3.2.1 Pohon Permainan 18
3.2.2 Fungsi Evaluasi 19
3.2.2.1 Nilai Melompat 20
3.2.2.2 Nilai Masuk 20
3.2.2.3 Nilai Posisi 20
3.2.3 Algoritma negamax 26
3.3 Perancangan Sistem 27
3.3.1 Flowchart Aplikasi 27
3.3.2 Pemodelan Visual menggunakan UML 29 3.3.2.1 Use Case Mulai Permainan 30 3.3.2.2 Use Case Bermaian 31 3.3.3 Perancangan Antarmuka 32
3.3.3.1 Halaman Utama 32
3.3.3.2 Halaman Pilih Bidak 33 3.3.3.3 Halaman Pilih level 34 3.3.3.4 Halaman Bermain 34 3.3.4 Storyboard Permainan 35 3.3.4.1 Storyboard Halaman Utama 35 3.3.4.2 Storyboard Pilih Bidak 36 3.3.4.3 Storyboard Pilih Level 37 3.3.4.4 Storyboard Permainan Level Mudah 37 3.3.4.5 Soryboard Permainan Level Susah 39
BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 42
4.1 Implementasi Sistem 42
4.1.3.2 Tampilan Menu Utama 43 4.1.3.3 Tampilan Hamalam Bantuan 44 4.1.3.4 Tampilan Halaman Tentang 44 4.1.3.5 Tampilan Halaman Play 45
4.2 Pengujian Sistem 48
4.2.1 Pengujian Aplikasi 48
4.2.1.1 Tampilan Halaman Utama 48
4.2.1.2 Play 49
4.2.1.3 Help 50
4.2.1.4 About 50
4.2.2 Pengujian Agen 50
4.2.2.1 Pengujian Agen Pertama 51 4.2.2.2 Pengujian Agen Kedua 53 4.2.2.3 pengujian Agen Ketiga 56 4.2.2.4 Pengujian Agen Keempat 59 4.2.3 Pengujian Kehandalan Agen 62
BAB 5 KESIMPULAN DAN SARAN 64
5.1 Kesimpulan 64
5.2 Saran 64
DAFTAR TABEL
Hal.
Tabel 2.1. Penelitian Terdahulu 14
Tabel 3.1. Nilai Posisi Bidak Harimau 21
Tabel 3.2. Nilai Posisi Bidak Kambing 22
Tabel 3.3. Tabel Dokumentatif Use Case Mulai Permainan 30 Tabel 3.4. Tabel Dokumentatif Use Case Bermain 31
Tabel 3.5 Tabel Storyboard Halaman Utama 36
Tabel 3.6 Tabel Storyboard Pilih Bidak 36
Tabel 3.7 Tabel Storyboard Pilih Level 37
Tabel 3.8 Tabel Storyboard Permainan Level Mudah 37 Tabel 3.9 Tabel Storyboard Permainan Level Susah 39 Tabel 4.1. Hasil Evaluasi Tampilan Halaman Utama 48
Tabel 4.2. Hasil Evaluasi Proses Play 49
Tabel 4.3. Hasil Evaluasi Tampilan Help 50
Tabel 4.4. Hasil Evaluasi Tampilan About 50
Tabel 4.5. Pengujian Agen Pertama 51
Tabel 4.6. Pengujian Agen Kedua 54
Tabel 4.7. Pengujian Agen Ketiga 57
Tabel 4.8. Pengujian Agen Keempat 59
DAFTAR GAMBAR
Hal. Gambar 2.1. Struktur Kecerdasan Buatan pada Game 8 Gambar 2.2. Pohon Permainan dari Permainan Tic Tac Toe 10 Gambar 2.3. Ilustrasi Kerja Algoritma Minimax 11 Gambar 2.4. Ilustrasi Kerja Algoritma Negamax 12
Gambar 2.5 Papan Permainan Catur Harimau 13
Gambar 3.1. Arsitektur umum 16
Gambar 3.2. Kondisi Permainan Catur Harimau 18
Gambar 3.3. Pohon Permainan Catur Harimau 19
Gambar 3.4. Pohon Permainan dengan Nilai Evaluasi pada Kedalaman 1 25 Gambar 3.5. Pohon Permainan dengan Nilai Evaluasi pada Kedalaman 2 25 Gambar 3.6. Pohon permainan dengan Nilai Evaluasi pada Leaf Node 26 Gambar 3.7. Proses Perubahan Nilai Node menggunakan Algoritma
Negamax pada Kedalaman 1 26
Gambar 3.8. Proses Perubahan Nilai Node menggunakan Algoritma
Negamax pada Kedalaman 2 27
Gambar 3.9. Flowchart Aplikasi 28
Gambar 3.10. Use Case Aplikasi 30
Gambar 3.11. Activity Diagram Mulai Permainan 31
Gambar 3.12. Activity Diagram Bermain 32
Gambar 3.13. Tampilan Halaman Utama 33
Gambar 3.14. Tampilan Halaman Pilih Bidak 33
Gambar 3.15. Tampilan Halaman Pilih Level 34
Gambar 3.16. Tampilan Halaman Bermain 35
Gambar 4.1. Tampilan Splash Screen 43
Gambar 4.2. Tampilan Halaman Menu Utama 43
Gambar 4.3. Tampilan Halaman Bantuan 44
Gambar 4.5. Tampilan Halaman Pilih Bidak 45
Gambar 4.6. Tampilan Halaman Pilih Level 46