Permainan Catur Harimau Menggunakan Algoritma Negamax Pada Platform Android

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
MEDAN
2016

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
MEDAN
2016

Universitas Sumatera Utara

iii

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

:

Pembimbing 2

Pembimbing 1

Romi Fadillah Rahmat, B.Comp.Sc.,M.Sc


Dr. Erna Budhiarti Nababan, M.IT

NIP. 19860303 201012 1 004

NIP. -

Diketahui/ disetujui oleh
Program Studi S1 Teknologi Informasi
Ketua,

Muhammad Anggia Muchtar, ST., MM.IT
NIP. 19800110 200801 1 010

Universitas Sumatera Utara

iv

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
111402040

Universitas Sumatera Utara

v

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.
5. Teman - teman seperjuangan, Rizky Aulia, Ahmad Badril Azmi, Tifani Zata Lini
FY, Ossie Zarina Prayitno, Ayu Cahyany Arrumdany, Indah Fatmi Utari,
Khairunnisa, Abbas Munandar, M. Rifki Aulia, Moh Rizqi Takarina I, Bernike
Purba, Sylvi Evelyn, Irzal Sofyan, Eryco Elditya dan seluruh teman-teman
angkatan 2011 lainnya yang tidak dapat penulis sebutkan satu persatu yang telah

Universitas Sumatera Utara

vi

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.
Penulis menyadari bahwa masih banyak kekurangan dalam skripsi ini, untuk
itu penulis mengharapkan saran dan kritik yang bersifat membangun dari semua
pihak demi kesempurnaan skripsi ini. Akhir kata penulis ucapkan terima kasih.

Universitas Sumatera Utara


vii

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.


Kata kunci : catur harimau, board game, negamax, smartphone, android

Universitas Sumatera Utara

viii

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.

Key word : catur harimau, board game, negamax, smartphone, android

Universitas Sumatera Utara

ix

DAFTAR ISI

Halaman
Persetujuan

iii

Pernyataan

iv


Ucapan Terima Kasih

v

Abstrak

vii

Abstract

viii

Daftar Isi

ix

Daftar Tabel

xii

Daftar Gambar

xiii

BAB 1

PENDAHULUAN

1

1.1 Latar Belakang

1

1.2 Rumusan Masalah

2

1.3 Batasan Masalah

3

1.4 Tujuan Penelitian

3

1.5 Manfaat Penelitian

3

1.6 Metodologi

3

1.7 Sistematikan Penulisan

4

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

ANALISIS DAN PERANCANGAN SISTEM

16

3.1 Arsitektur Umum

16

BAB 2

BAB 3

Universitas Sumatera Utara

x

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

Algoritma negamax

26

3.2.3

3.3 Perancangan Sistem

27

3.3.1 Flowchart Aplikasi

27

3.3.2 Pemodelan Visual menggunakan UML

29

3.3.3

3.3.2.1 Use Case Mulai Permainan

30

3.3.2.2 Use Case Bermaian

31

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

BAB 4

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

IMPLEMENTASI DAN PENGUJIAN SISTEM

42

4.1 Implementasi Sistem

42

4.1.1

Spesifikasi Perangkat Keras

42

4.1.2

Spesifikasi Perangkat Lunak

42

4.1.3

Hasil Eksekusi Aplikasi

43

4.1.3.1 Tampilan Splash Screen

43

Universitas Sumatera Utara

xi

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
4.2.1 Pengujian Aplikasi

4.2.2

4.2.3
BAB 5

48
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

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

Pengujian Kehandalan Agen

62

KESIMPULAN DAN SARAN

64

5.1 Kesimpulan

64

5.2 Saran

64

DAFTAR PUSTAKA

65

Universitas Sumatera Utara

xii

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

Tabel 4.9. Hasil Pengujian Tingkat Kehandalan Agen

62

Universitas Sumatera Utara

xiii

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

13

Papan Permainan Catur Harimau

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.4. Tampilan Halaman Tentang

45

Universitas Sumatera Utara

xiv

Gambar 4.5. Tampilan Halaman Pilih Bidak

45

Gambar 4.6. Tampilan Halaman Pilih Level

46

Gambar 4.7. Tampilan Halaman Permainan Level Mudah

46

Gambar 4.8. Tampilan Halaman Permainan Level Susah

46

Gambar 4.9. Penjelasan Tampilan permainan Catur Harimau

47

Gambar 4.10. Tampilan Notifikasi Game Over

48

Gambar 4.11. Diagram Hasil Pengujian Tingkat Kehandalan Agen

63

Universitas Sumatera Utara