] aplikasi permainan congklak berbasis android menggunakan algoritma minimax
TRANSCRIPT
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
1/110
APLIKASI PERMAINAN CONGKLAK BERBASIS ANDROID
MENGGUNAKAN ALGORITMA MINIMAX
SKRIPSI
KARINA AYESHA
081402051
PROGRAM STUDI S1 TEKNOLOGI INFORMASIFAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2013
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
2/110
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 INFORMASIFAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2013
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
3/110
ii
PERSETUJUAN
Judul : APLIKASI PERMAINAN CONGKLAK BERBASISANDROID 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
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
4/110
iii
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
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
5/110
iv
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.
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
6/110
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
7/110
vi
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 cangenerate the best move.
Keywords: Congklak, Minimax, Alpha Beta Pruning , Android
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
8/110
vii
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Tabel ix
Daftar Gambar x
Bab 1 Pendahuluan 11.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 Penelitian 4
1.7 Sistematika Penulisan 4
Bab 2 Landasan Teori 6
2.1
Kecerdasan Buatan 6
2.1.1
Penggunaan Kecerdasan Buatan di berbagai Bidang 7
2.2
Game (Permainan) 9
2.2.1 Teori Game 9
2.2.2 Klasifikasi Game 10
2.3 Permainan Congklak 12
2.3.1 Sejarah Permainan Congklak 12
2.3.2 Aturan Permainan Congklak 13
2.4 Teknik Pencarian (Searching ) 14
2.5
Algoritma Depth-First Search (DFS) 15
2.6 Algoritma Minimax 16
2.7
Algoritma Alpha Beta Pruning 182.8 Android 19
2.8.1 Arsitektur Android 20
2.8.2 Versi Android 22
2.9 Penelitian Sebelumnya 23
Bab 3 Analisis dan Perancangan Aplikasi 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
3.2
Perancangan Sistem 353.2.1
Perancangan Pemodelan Visual Menggunakan UML 35
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
9/110
viii
3.2.1.1 Use Case Diagram 36
3.2.1.2
Activity Diagram 36
3.2.2 Perancangan Aplikasi Permainan 43
3.2.3
Perancangan Antarmuka 44
Bab 4 Implementasi dan Pengujian Aplikasi 504.1 Implementasi 50
4.1.1 Spesifikasi Perangkat Keras 50
4.1.2 Spesifikasi Perangkat Lunak 50
4.2 Tampilan 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.3
Pengujian 574.3.1
Pengujian Aplikasi 58
4.3.2 Pengujian Antarmuka Aplikasi 58
4.3.3
Pengujian Penggunaan Aplikasi 61
Bab 5 Kesimpulan dan Saran 64
5.1 Kesimpulan 64
5.2 Saran 65
Daftar Pustaka 66
Lampiran A
Lampiran B
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
10/110
ix
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 42Tabel 4.1 Kategori Pemberian Nilai 58
Tabel 4.2 Hasil Kuesioner Antarmuka Aplikasi 59
Tabel 4.3 Hasil Kuesioner Penggunaan Aplikasi 61
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
11/110
x
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 29Gambar 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 43Gambar 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.2 Tampilan form Choose Level 53
Gambar 4.3 Tampilan form pilih giliran pemain 53
Gambar 4.4 Tampilan form permainan sebelum permainan dimulai 54Gambar 4.5 Tampilan form permainan saat permainan dimulai 54
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
12/110
xi
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
Gambar 4.11 Tampilan form About 57
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
13/110
v
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 sistemoperasi Android.
Kata kunci: Congklak, Minimax, Alpha Beta Pruning , Android
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
14/110
vi
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 cangenerate the best move.
Keywords: Congklak, Minimax, Alpha Beta Pruning , Android
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
15/110
1
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Congklak merupakan salah satu permainan tradisional yang sangat diminati oleh
berbagai kalangan, khususnya anak-anak. Congklak adalah permainan yang
dimainkan oleh dua orang pemain menggunakan papan congklak yang terdapat 16
buah lubang yang terdiri atas 14 lubang kecil yang saling berhadapan dan 2 lubang
besar (untuk selanjutnya disebut lumbung) yang berada di sisi kiri paling ujung setiap
pemain (Bakri, 2010). Setiap 7 lubang kecil di sisi pemain dan lubang besar di sisi
kirinya dianggap sebagai milik sang pemain. Lumbung berfungsi untuk menampung
jumlah biji yang didapatkan setiap pemain, tentu saja pemain hanya boleh
menjatuhkan biji congklak ke lumbung miliknya, tujuannya agar lumbungnya terisi
banyak biji. Lubang kecil berfungsi sebagai posisi awal jumlah biji pemain dan
menjadi media gerak pemain untuk memindahkan biji agar berpindah sebanyak-
banyaknya ke lumbung milik sendiri.
Seiring berkembangnya pengetahuan dan teknologi, permainan congklak dapat
diselesaikan oleh komputer dengan mengimplementasikan algoritma. Algoritma
Minimax dapat diterapkan pada aplikasi permainan congklak ini karena mampu
menganalisis segala kemungkinan posisi permainan untuk menghasilkan keputusan
yang terbaik. Untuk mempersingkat waktu pencarian sekaligus sebagai optimasi,
maka penulis menggunakan algoritma Alpha Beta Pruning . Alpha Beta Pruning
merupakan algoritma yang akan mengurangi ruang pencarian Minimax sehingga
waktu eksekusi untuk algoritma ini akan lebih efisien.
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
16/110
2
Pencarian solusi pada permainan congklak sudah pernah dilakukan dengan
menggunakan beberapa metode, diantaranya Adha (2009) menggunakan algoritma
Greedy untuk membuktikan solusi optimum yang akan dihasilkan. Algoritma Greedy
dapat memecahkan masalah optimum, namun tidak selalu menghasilkan solusi yang
optimum. Selanjutnya yaitu Bakri (2010) menggunakan algoritma Backtracking.
Algoritma ini secara sistematis mencari solusi persoalan diantara semua kemungkinan
solusi yang ada. Namun langkah yang diambil belum tentu merupakan langkah yang
terbaik, sehingga memungkinkan terjadi terlalu banyak backtracking yang harus
dilakukan.
Perkembangan smartphone/tablet pc berbasis Android sangat pesat beberapa
tahun terakhir. Perkembangan tersebut mengakibatkan meningkatnya aplikasi-aplikasi
mobile berbasis Android. Untuk itu penulis tertarik untuk merancang dan membangun
aplikasi permainan congklak di smartphone/tablet pc berbasis Android.
Berdasarkan uraian diatas, diperlukan metode lain dalam membangun aplikasi
permainan congklak untuk menghasilkan solusi optimum. Oleh sebab itu penulis akan
menerapkan algoritma Minimax yang dioptimasi dengan Alpha Beta Pruning untuk
membuat aplikasi permainan congklak pada smartphone/tablet pc berbasis Android.
1.2 Rumusan Masalah
Congklak termasuk jenis permainan matematika. Dalam memainkannnya seorang
pemain dituntut untuk menghitung cepat dengan memperhitungkan hasil yang akanterjadi sehingga menghasilkan langkah optimum. Kesulitan dari permainan congklak
adalah menentukan lubang mana yang merupakan pilihan terbaik sehingga pemain
dapat terus melanjutkan permainan.
Permasalahan yang dibahas dalam tugas akhir ini adalah diperlukan suatu
teknik pendekatan baru pada permainan congklak untuk menghasilkan langkah
optimum.
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
17/110
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
18/110
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
19/110
5
1.7 Sistematika Penulisan
Adapun sistematika penulisan dalam skripsi ini terdiri dari beberapa bagian utama
sebagai berikut :
BAB 1 PENDAHULUAN
Bab ini berisi uraian latar belakang pemilihan judul skripsi “Aplikasi Permainan
Congklak Berbasis Android Menggunakan Algoritma Minimax”, rumusan masalah,
batasan masalah, tujuan, manfaat, metodologi, serta sistematika penulisan.
BAB 2 LANDASAN TEORI
Pada bab ini dijelaskan mengenai dasar-dasar teori, rujukan dan metode yang
digunakan sebagai dasar dan alat untuk menyelesaikan permasalahan.
BAB 3 ANALISIS DAN PERANCANGAN APLIKASI
Bab ini berisi analisis algoritma Minimax yang dioptimasi dengan Alpha Beta Pruning
dalam permainan congklak dan perancangan aplikasi.
BAB 4 IMPLEMENTASI DAN PENGUJIAN APLIKASI
Bab ini menjelaskan implementasi dari hasil analisis dan perancangan aplikasi serta
pengujian aplikasi.
BAB 5 KESIMPULAN DAN SARAN
Pada bab terakhir akan diuraikan kesimpulan dari seluruh bab-bab sebelumnya dan
hasil penelitian yang diperoleh. Pada bab ini juga memuat saran yang diharapkandapat bermanfaat untuk pengembangan selanjutnya.
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
20/110
6
BAB 2
LANDASAN TEORI
2.1 Kecerdasan Buatan
Menurut Rich and Knight (1991) kecerdasan buatan atau Artificial Intelligence
merupakan suatu proses belajar mengenai cara membuat komputer melakukan hal-hal
yang pada saat itu dapat dilakukan lebih baik oleh manusia. Selain itu definisi
kecerdasan buatan menurut Jogiyanto H (2000) didefinisikan sebagai suatu mesin atau
alat pintar (biasanya adalah suatu komputer) yang dapat melakukan suatu tugas yang
bilamana tugas tersebut dilakukan oleh manusia akan dibutuhkan suatu kepintaran
untuk melakukannya.
Menurut Sri Kusumadewi (2003), kecerdasan buatan jika dibandingkan
dengan kecerdasan alami memiliki beberapa keuntungan, antara lain:
a. Kecerdasan buatan lebih bersifat permanen dan konsisten, karena kecerdasan
alami hanya bergantung kepada ingatan manusia, yang mungkin saja menjadi
lupa pada waktu tertentu. Sedangkan kecerdasan buatan bergantung pada
sistem komputer dan program dari aplikasi kecerdasan buatan tersebut,
sehingga selama aplikasi dan sistem komputer tidak berubah maka kecerdasan
buatan tersebut tidak akan berubah.
b. Kecerdasan buatan lebih mudah diduplikasi dan disebarkan karena berupa
sistem, sehingga dengan mudah memindahkan pengetahuan yang ada pada
sistem tersebut dari suatu komputer ke komputer lain. Sedangkan kecerdasan
alami sulit diduplikasi karena menyampaikan pengetahuan dari satu orang ke
orang lain lebih sulit untuk dilakukan. Selain membutuhkan proses yang sangat
lama, juga diperlukan suatu keahlian khusus untuk menyampaikannya dan
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
21/110
7
tidak semua orang dapat menyampaikan hal yang sama persis dari satu orang
ke orang lain.
c.
Kecerdasan buatan lebih murah dan cepat dibandingkan dengan kecerdasan
alami. Menyediakan layanan komputer akan lebih mudah dan lebih murah
dibandingkan harus mendatangkan seseorang untuk mengerjakan sejumlah
pekerjaan dalam jangka waktu yang lama.
d. Kecerdasan buatan dapat didokumentasikan dengan mudah. Keputusan yang
dibuat oleh komputer dapat didokumentasikan lebih mudah dengan cara
melacak setiap aktivitas dari sistem tersebut. Sedangkan kecerdasan alami sulit
didokumentasikan karena manusia selalu berubah dan sulit untuk melacak
setiap aktivitas yang berhubungan dengan kasus yang sedang dikerjakan serta
membutuhkan waktu lama dalam pelacakan tersebut.
Sedangkan kecerdasan alami memiliki keuntungan sebagai berikut:
a.
Kecerdasan alami bersifat kreatif yaitu kemampuan untuk kerkreasi yang
melekat pada manusia. Kecerdasan buatan belum mampu berkreasi sendiri.
b. Kecerdasan alami memungkinkan manusia menggunakan pengalaman secara
langsung. Sedangkan kecerdasan buatan bekerja berdasarkan input yang
dimasukkan oleh pengguna dan bentuk dari inputan tersebut berupa kode-kode
tertentu yang telah ditentukan pada awal pembutan sistem.
c. Manusia dapat memanfaatkan kecerdasannya secara luas, tanpa batas.
Sedangkan kecerdasan buatan memiliki batasan.
2.1.1 Penggunaan Kecerdasan Buatan di berbagai Bidang
Kecerdasan buatan merupakan suatu hal yang dikembangkan pada sebuah sistem oleh
para ahli untuk masa depan. Beberapa bidang perkembangan kecerdasan buatan ini
adalah sebagai berikut, yaitu (Kusumadewi, 2003):
1.
Expert System (Sistem Pakar)
Sistem pakar ( Expert System) adalah program penasehat berbasis komputer
yang mencoba meniru proses berpikir dan pengetahuan dari seorang pakar
dalam menyelesaikan masalah-masalah spesifik. Contohnya adalah sistem
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
22/110
8
pakar menentukan suatu jenis penyakit, sistem pakar untuk bisnis dan
sebagainya.
2.
Robotik dan Sistem Sensor
Sistem sensor, seperti sistem vision, sistem tactile, dan sistem pemrosesan
sinyal jika dikombinasikan dengan AI, dapat dikategorikan kedalam suatu
sistem yang luas yang disebut sistem robotik.
3. Permainan (Games)
Game playing (permainan game) merupakan bidang AI yang sangat populer
berupa permainan antara manusia melawan mesin yang memiliki intelektual
untuk berpikir. Bermain dengan komputer memang menarik bahkan sampai
melupakan tugas utama yang lebih penting. Komputer dapat bereaksi dan
menjawab tindakan-tindakan yang diberikan oleh lawan mainnya. Banyak
permainan komputer telah dibuat dan dikembangkan. Sebagai contohnya
adalah permainan catur.
4.
Bahasa Ilmiah ( Natural Languange)
Suatu teknologi yang memberikan kemampuan kepada komputer untuk
memahami bahasa manusia sehingga pengguna komputer dapat berkomunikasi
dengan komputer dengan menggunakan bahasa sehari-hari. Bahasa computer
yang khusus pada bidang ini adalah LISP, INTERLISP, SAIL, PLANNER,
KRL, PROLOG.
5.
Pemodelan Kinerja ( Performance) ManusiaPemodelan kinerja manusia telah terbukti merupakan alat yang sangat
bermanfaat dalam merumuskan dan menguji teori-teori penerapan inderawi
manusia.
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
23/110
9
2.2 Game (Permainan)
Game merupakan aktivitas terstruktur yang biasanya bertujuan dalam mendapatkan
kesenangan dan bahkan digunakan sebagai suatu edukasi. Menurut Salen &
Zimmerman (2003) game merupakan suatu sistem yang memiliki aturan-aturan
tertentu dimana pemain akan terlibat di dalam suatu permasalahan sehingga dapat
menghasilkan suatu hasil yang dapat diukur yaitu menang atau kalah. Game umumnya
melibatkan stimulasi mental atau fisik, dan terkadang kedua-duanya. Banyak game
membantu mengembangkan keterampilan praktis, berfungsi sebagai bentuk latihan,
atau melakukan peran pendidikan, simulational , atau psikologis.
2.2.1 Teori Game
Teori permainan adalah suatu cara belajar yang digunakan dalam menganalisa
interaksi antara sejumlah pemain maupun perorangan yang menunjukkan strategi-
strategi rasional (Leyton-Brown & Shoham, 2008).
Teori permainan dapat diklasifikasikan kedalam beberapa bagian, yaitu:
a. Number of Players
Hampir semua jenis permainan papan yang memiliki sistem pencarian langkah
berbasis algoritma pada AI hanya memiliki dua pemain. Sebagian besar bentuk
dasar dari algoritma-algoritma tersebut hanya terbatas untuk dua pemain.
b. Plies, Move and Turns
Suatu hal umum dalam teori permainan adalah giliran (turns) seorang pemainsebagai suatu lapisan ( ply) didalam suatu permainan dan pemain yang
melakukan gilirannya dalam satu putaran disebut langkah (move).
c.
The Goal of the Game
Tujuan umum permainan berbasis strategi adalah untuk menang. Sebagai
pemain, pemain menang jika semua lawan pemain kalah. Hal ini dikenal
sebagai permainan zero-sum, yaitu kemenangan pemain adalah kekalahan
pemain lain. Jika pemain mencetak 1 poin untuk menang, maka akan setara
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
24/110
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
25/110
11
1. Board Games
Board games merupakan permainan yang menggunakan sebuah media papan
sebagai alat atau tempat untuk berinteraksi dan melakukan sebuah permainan .
Biasanya permainan ini dilakukan dengan menggunakan strategi untuk
memenangi permainan tersebut. Contohnya: Catur, Congklak, dll.
2. Card Games
Card games merupakan permainan yang menggunakan satu set kartu sebagai
alat utama permainan. Permainan ini biasanya diawali dengan pengacakan
kartu sehingga membutuhkan kesempatan dan keberuntungan untuk
memenangi permainan ini. Contohnya: permainan kartu Uno, permainan
Poker, permainan Spider Solitare dan sebagainya.
3. Dice Games
Dice games merupakan permainan dadu sebagai elemen utama permainan.
Permainan dilakukan dengan cara mengacak angka dadu kemudian angka dadu
inilah yang menjadi dampak kemungkinan besar kemenangan permainan ini.
Contohnya: Ludo, dadu Poker dan sebagainya.
4. Domino and Tile Games
Domino and tile games merupakan permainan yang menggunakan kartu
berbentuk ubin sebagai alat permainannya. Permainan ini mirip dengan
permainan kartu. Contohnya: Domino dan Mahjong.
5.
Pencil and Paper Games
Pencil and paper games merupakan suatu permainan yang memerlukan media
kertas untuk menggambar arena permainan dan pensil untuk menulis langkah
permainan tersebut. Contohnya, Scrabble, Tic-tac-toe, Sudoku dan sebagainya.
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
26/110
12
2.3 Permainan Congklak
Congklak merupakan suatu permainan tradisional dari Indonesia yang dimainkan oleh
dua orang pemain. Permainan ini dimainkan dengan menggunakan sebuah papan yang
disebut papan congklak dan 98 (14 x 7) buah biji yang dinamakan biji congklak.
Papan congklak terdiri dari 14 lubang kecil dan dua lubang besar (lumbung) yang
terdapat di masing-masing ujung papan.
Gambar 2.1 Papan Congklak
2.3.1 Sejarah Permainan Congklak
Congklak adalah permainan tradisional Indonesia yang berasal dari Arab. Permainan
ini dibawa oleh orang-orang Arab ketika mereka berkunjung ke Indonesia untuk
berdagang beberapa abad yang lalu. Mereka membawa kebudayaaan, agama, bahasa,
makanan, tekstil, permainan, dan lain-lain untuk Indonesia (Pribadi, 2011). Congklak
memiliki banyak nama di setiap wilayah di Indonesia. Nama-nama yang diberikansesuai dengan kebudayaan masing-masing daerah. Nama yang paling umum adalah
congklak. Permainan ini disebut Congkak di Sumatera. Di Jawa, permainan ini
dikenal sebagai Congklak, Dakon, Dhakon atau Dhakonan. Di Lampung, permainan
ini disebut Dentuman lamban. Dan untuk orang Sulawesi, permainan ini disebut
Mokaotan, Maggaleceng, Aggacalang dan Nogarata.
Sejarah permainan congklak berawal dari permainan yang dimainkan oleh
gadis-gadis bangsawan muda di Jawa. Kemungkinan besar pedagang asing
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
27/110
13
berhubungan dekat dengan kelas atas kemudian memperkenalkan congklak kepada
mereka. Dengan berjalannya waktu, popularitas congklak tumbuh sampai sekarang
dan banyak dimainkan oleh kalangan umum juga (Pribadi, 2011).
Terdapat beragam versi dari permainan tradisional congklak. Di Malaysia
congklak terkenal dengan nama congkak, sedangkan orang Afrika, Arab, Jepang, dan
Inggris lebih mengenal jenis permainan ini dengan nama Mancala. Inti permainan
congklak di berbagai negara memiliki kesamaan satu sama lain, yaitu memindahkan
sebanyak-banyaknya biji milik sendiri dan milik lawan untuk dimasukkan ke dalam
lubang besar (lumbung) milik sendiri. Tentunya pemain yang mengumpulkan biji
terbanyak pada lumbung miliknya akan memenangkan permainan. Hal yang
membedakan congklak di setiap negara adalah peraturan permainan, jumlah biji, dan
jumlah lubang yang digunakan.
2.3.2 Aturan Permainan Congklak
Secara umum, aturan permainan congklak tidak jauh berbeda dengan permainan
Mancala. Kedua permainan ini menggunakan media yang sama. Tetapi terdapat
sedikit perbedaan dari kedua jenis permainan ini yaitu arah pergerakan permainan.
Pada permainan congklak, arah pergerakan permainan dilakukan mengikuti arah
jarum jam sedangkan Mancala berlawanan arah jarum jam. Selain itu, pada permainan
congklak apabila biji yang ditangan telah habis dan jatuh pada lubang kecil yang
berisi biji lainnya, maka giliran pemain tersebut dapat dilanjutkan sedangkan pada
Mancala tidak. Untuk lebih jelasnya, peraturan permainan congklak adalah sebagai
berikut (Bakri, 2010):
1.
Papan congklak terdiri dari 2 lubang besar (lumbung) dan 14 lubang kecil.
2. Pada awal permainan, setiap lubang kecil diisi dengan tujuh buah biji
congklak.
3. Permainan dimulai dengan suit untuk menentukan giliran pertama.
4.
Pemain yang mendapat giliran pertama dapat memilih lubang yang akan
dijalankan. Kemudian menjatuhkan biji congklak satu per satu ke setiap
lubang dengan mengikuti arah jarum jam.
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
28/110
14
5. Giliran pemain akan tetap berlanjut jika memenuhi kondisi berikut:
a. Apabila biji congklak di tangan habis di lumbung miliknya maka ia dapat
melanjutkan dengan memilih lubang kecil di sisinya.
b. Apabila biji congklak di tangan habis di lubang kecil yang berisi biji
lainnya, ia dapat melanjutkan permainan.
6. Giliran pemain akan berakhir apabila biji habis di lubang kecil yang kosong
pada daerah permainan sendiri atau lawan. Jika biji jatuh di daerah permainan
sendiri dan di hadapannya terdapat lubang berisi biji, maka ia dapat
mengambil seluruh biji di lubang tersebut (biji sisi lawan). Proses ini
dinamakan “tembak ”.
7.
Permainan selesai apabila sudah tidak ada biji lagi yang dapat diambil atau
salah satu arena pada lubang kecil tidak berisi biji lagi. Apabila biji di salah
satu arena sudah habis, maka biji yang tersisa di arena lainnya di masukkan
seluruhnya ke lumbung miliknya.
8. Pemain yang memiliki biji lebih banyak pada lumbung miliknya akan keluar
sebagai pemenang.
2.4 Teknik Pencarian (Searching)
Pencarian merupakan suatu proses menemukan solusi yang tepat dari suatu
permasalahan (Russell & Norvig, 2010).
Evaluasi strategi pencarian memiliki empat kriteria:
1.
Completeness: Apakah strategi tersebut menjamin menemukan solusi jika
solusinya memang ada?
2. Time complexity: Berapa lama waktu yang diperlukan untuk menemukan
solusi?
3. Space complexity: Berapa banyak memori yang diperlukan untuk melakukan
pencarian?
4.
Optimality: Apakah strategi tersebut menemukan solusi yang paling baik jika
terdapat beberapa solusi berbeda pada permasalahan yang ada?
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
29/110
15
Di dalam kecerdasan buatan, metode pencarian sangat menentukan tingkat
keberhasilan sistem cerdas tersebut. Teknik pencarian ini terbagi atas 2, yaitu
pencarian buta (blind search) dan pencarian heuristik (heuristic search). Pencarian
buta merupakan pencarian yang penelusurannya dimulai dengan tidak ada informasi
awal yang digunakan dalam proses pencarian. Contohnya adalah Breadth-First-
Search (BFS) dan Depth-First-Search (DFS). Sedangkan pencarian heuristik
merupakan pencarian yang penelusurannya dimulai dengan adanya informasi awal
yang digunakan dalam proses pencarian. Contohnya adalah Hill Climbing, Tabu
Search, Genetic Algorithm, Ant Algorithm dan Simulated Annealing (Kusumadewi &
Purnomo, 2005).
2.5 Algoritma Depth-First Search (DFS)
Depth-First Search (DFS) merupakan algoritma pencarian yang paling umum
digunakan. DFS akan melakukan pencarian pada sebuah pohon dengan cara
menelusuri satu cabang sebuah pohon sampai menemukan solusi. Pencarian dilakukan
pada satu node dalam setiap level dari yang paling kiri. Jika pada level yang palingdalam, solusi belum ditemukan, maka pencarian dilanjutkan pada node sebelah kanan.
Node yang kiri dapat dihapus dari memori. Jika pada level yang paling dalam tidak
ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya. Demikian
seterusnya sampai ditemukan solusi. Jika solusi ditemukan maka tidak diperlukan
proses backtracking yaitu penelusuran balik untuk mendapatkan jalur yang diinginkan
(Cormen et al., 2009).
Gambar 2.2 Penelusuran pohon permainan dengan DFS (Coppin, 2004)
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
30/110
16
Pada Gambar 2.2 dapat diketahui bahwa proses penelusuran DFS dimulai dari
A-B-D-G-D-H-D-B-A-C-E-I-E-J. A merupakan root yang menandakan keadaan
belum diambil, lalu ditelusuri hingga kedalaman yang paling dalam sebelah kiri yaitu
G, lalu melakukan proses backtrack ke D lalu lanjut lagi ke H. Proses tersebut
berhenti karena telah mencapai goal state yaitu leaf node J.
Langkah-langkah cara kerja algoritma DFS adalah sebagai berikut:
1. Masukkan root ke dalam struktur data tumpukan ( stack ).
2. Ambil simpul dari tumpukan teratas, dan diperiksa apakah simpul merupakan
solusi.
3.
Jika simpul merupakan solusi, maka pencarian selesai dan hasil dikembalikan.
4. Jika simpul bukan solusi, masukkan seluruh simpul yang bertetangga dengan
simpul tersebut ke dalam tumpukan.
5. Jika tumpukan kosong dan setiap simpul sudah ditelusuri, pencarian selesai
dan solusi tidak ditemukan.
6. Ulangi pencarian dari poin kedua.
2.6 Algoritma Minimax
Algoritma Minimax ialah suatu metode yang sangat bermanfaat untuk permainan dua
pemain sederhana. Metode ini digunakan untuk memilih langkah terbaik yang
diberikan, dimana kedua pemain saling berusaha untuk memenangkan permainan.
Setiap pemain mengetahui langkah-langkah yang mungkin diberikan pada situasi
permainan saat ini. Sehingga untuk setiap langkah dan semua langkah selanjutnyaakan dapat diketahui (M. Tim Jones, 2008). Minimax merupakan algoritma yang
digunakan untuk menentukan pilihan agar memperkecil kemungkinan kehilangan nilai
maksimal.
Algortima Minimax dapat menghasilkan pilihan langkah yang baik dengan
mengasumsikan bahwa pemain lawan akan selalu memilih langkah terbaik untuk
dirinya dan langkah terburuk bagi komputer. Prinsip dasar pada algoritma Minimax
ini adalah jalur yang akan dipilih oleh komputer merupakan jalur maksimum (max
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
31/110
17
node) yang akan menghasilkan nilai maksimum di jalur tersebut, dan saat lawan yang
akan bermain akan meminimalkan (min node) nilai komputer. Jadi, komputer
bertujuan untuk memaksimalkan kemungkinan nilai paling rendah yang akan
diperoleh komputer.
Jika pemain memilih suatu langkah, maka pemain akan memilih langkah yang
akan menghasilkan suatu posisi yang bagus. Kita dapat menganggap bahwa pemain
akan memilih langkah yang akan menuntunnya pada posisi terbaik. Dengan kata lain,
ketika pemain mendapat giliran bermain maka pemain akan mencoba memaksimalkan
nilainya. Ketika lawan mendapat giliran bermain, pemain akan mengganggap bahwa
lawan akan memilih langkah yang akan memberikan pemain posisi terburuk yang
tersedia. Lawan sedang berusaha meminimalkan nilai dari pemain. Untuk proses dan
cara kerja algoritma Minimax yang lebih jelas, dapat dilihat pada gambar berikut:
Level 0
Level 1
Level 2
Gambar 2.3 Cara kerja algoritma Minimax (Coppin, 2004)
Langkah-langkah cara kerja algoritma Minimax adalah sebagai berikut:
1.
Hampiri node pertama pada leaf dengan nilai 5, naik ke parent pada level 2(MAX) masukkan nilai 5, hampiri 2. Karena 21 maka ganti parent pada level 2 (MAX) dengan nilai 3.
4. Karena 3
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
32/110
18
5. Setelah keempat leaf pertama dihampiri, naik lebih tinggi lagi ke level 0
(MAX) masukkan nilai 3.
6.
Begitu seterusnya hingga kita dapatkan hasil akhir dari tree di atas adalah 6.
2.7 Algoritma Alpha Beta Pruning
Pada dasarnya, algoritma Minimax sangat handal untuk menyelesaikan segala masalah
dalam pencarian langkah untuk permainan komputer dengan jumlah kemungkinan
penyelesaian yang kecil. Tetapi, jika algoritma Minimax digunakan pada permainan
dengan jumlah kemungkinan penyelesaian yang besar, algoritma Minimax ini
memerlukan waktu yang sangat lama untuk membangun pohon penyelesaian.
Oleh karena itu, beberapa metode lanjutan dari algoritma Minimax telah
dikembangkan untuk membatasi melonjaknya jumlah simpul dalam pembangunan
pohon penyelesaian. Berbagai jenis metode telah ditemukan untuk meningkatkan
kinerja algoritma Minimax, salah satunya adalah Alpha Beta Pruning . Dengan
menggunakan metode ini maka diharapkan sistem dapat bekerja lebih baik. Untuk
proses dan cara kerja algoritma Alpha Beta Pruning yang lebih jelas, dapat dilihat
pada gambar berikut:
Level 0
Level 1
Level 2
Gambar 2.4 Cara kerja algoritma Alpha Beta Prun ing (Tyugu, 2007)
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
33/110
19
Langkah-langkah cara kerja algoritma Alpha Beta Pruning adalah sebagai berikut:
1. Hampiri node pertama pada leaf dengan nilai 4, naik ke parent pada level 2
(MAX) masukkan nilai 4, hampiri 1. Karena 1
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
34/110
20
sistem operasi Android adalah Shazam, Backgrounds, dan WeatherBug. Sistem
operasi Android dalam situs internet juga dianggap penting untuk menciptakan
aplikasi Android asli, contohnya MySpace dan Facebook.
2.8.1 Arsitektur Android
Secara garis besar, Arsitektur Android terbagi menjadi 5 komponen utama, yaitu
Application and Widgets, ApplicationFramework, Libaries, Android Runtime, dan
Linux Kernel.
Gambar 2.5 Komponen utama Arsitektur Android (Hoog, 2011)
Diagram arsitektur pada Gambar 2.5 menunjukkan bahwa komponen utama arsitektur
Android dibagi menjadi lima bagian, yaitu:
1. Applications and Widgets
adalah layer di mana kita berhubungan dengan aplikasi saja, di mana biasanya kita
download aplikasi kemudian kita lakukan instalasi dan jalankan aplikasi tersebut.
Pada layer tersebut terdapat aplikasi inti seperti email , SMS, kalender, peta, browser,
kontak, dan lain sebagainya. Widgets terdiri dari layer-layer seperti EditText, Spinner,
Button, TextView, dan lain-lain.
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
35/110
21
2. Applications Frameworks
Android merupakan platform yang terbuka, artinya Android menawarkan serta
memberikan kemampuan kepada para pengembangnya untuk membangun aplikasi
yang bagus dan inovatif. Tiap pengembang bebas untuk mengakses perangkat keras,
akses informasi resources, menjalankan service background , mengatur alarm, dan
lain-lain. Pengembang memiliki akses penuh ke API Framework seperti yang
dilakukan oleh aplikasi inti. Arsitektur aplikasi dirancang agar kita dengan mudah
dapat menggunakan kembali komponen yang sudah digunakan (reusable).
Komponen pada Applications Frameworks Android adalah sebagai berikut:
a. Views
b.
Content Provider
c. Resource Manager
d. Notification Manager
e. Activity Manager
3. Libraries
Merupakan layer di mana fitur-fitur Android berada, biasanya para pengembang
aplikasi mengakses libraries untuk menjalankan aplikasinya. Berjalan di atas kernel,
layer ini meliputi berbagai library C/C++ inti seperti Lib-C dan SSL, serta:
- Libraries media untuk pemutaran media audio dan video
- Libraries untuk manajemen tampilan
- Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2Ddan 3D
- Libraries SQLite untuk dukungan database
- Libraries SSL dan WebKit terintegrasi dengan web browser dan security
-
Libraries LiveWebcore mencakup modern web browser dengan engine embeded web view
- Libraries 3D yang mencakup implementasi API OpenGL ES 1.0
4.
Android Runtime
Merupakan layer yang membuat aplikasi Android dapat dijalankan di mana dalam
prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine (DVM)
merupakan mesin yang membentuk dasar kerangka aplikasi Android. Di dalam
android runtime dibagi menjadi dua bagian yaitu:
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
36/110
22
- Core Libraries: Aplikasi Android dibangun dalam bahasa Java,sementara Dalvik
sebagai mesin virtualnya, bukan JVM ( Java Virtual Machine). Sehingga
dibutuhkan sebuah libraries yang berfungsi untuk menerjemahkan bahasa Java/C
yang ditangani oleh Core Libraries ini.
- Dalvik Virtual Machin: Virtual mesin yang berbasis register yang dioptimalkan
untuk menjalankan fungsi-fungsi secara efisien, di mana merupakan
pengembangan yang mampu membuat Linux kernel untuk melakukan threading
dan manajemen tingkat rendah
5. Linux Kernel
Adalah layer dimana inti dari sistem operasi Android itu berada. Berisi file-file sistem
yang mengatur pemrosesan sistem, memory, resource, drivers, dan sistem-sistem
operasi Android lainnya. Linux kernel yang digunakan Android adalah Linux kernel
rilis 2.6
2.8.2 Versi Android
Adapun versi-versi Android yang pernah dirilis adalah sebagai berikut:
Tabel 2.1 Versi-versi Android
Platform Nama Kode Tanggal Rilis Level API
Android 1.0 Apple Pie 23 September 2008 1
Android 1.1 Banana
Bread9 Februari 2009 2
Android 1.5 Cupcake 30 April 2009 3
Android 1.6 Donut 15 September 2009 4Android 2.0
Eclair
26 Oktober 2009 5
Android 2.0.1 3 Desember 2009 6
Android 2.1 12 Januari 2010 7
Android 2.2 Froyo 20 May 2010 8
Android 2.3 – Andoroid 2.3.2
Gingerbread6 December 2010 9
Android 2.3.3 – Android 2.3.7
10
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
37/110
23
Platform Nama Kode Tanggal Rilis Level API
Android 3.0 22 February 2011 11
Android 3.1 Honeycomb 12
Android 3.2 13
Android 4.0 –
Android 4.0.2Ice CreamSandwich
19 October 2011 14
Andorid 4.0.3 15
Android 4.0.4 28 Maret 2012 15
Android 4.1 Jelly Bean 27 Juni 2012 16
Dari Tabel 2.1 dapat dilihat pada setiap perubahan versi android terdapat
perubahan API Level. API Level adalah nilai yang menunjukkan revisi framework
pada platform Android. Nomor versi android yang terus berubah dikarenakan
perubahan API Level. Setiap versi android mendukung tepat satu API Level, namun
tetap mendukung API Level sebelumnya. API Level akan menentukan apakah suatu
aplikasi bisa dijalankan pada suatu platform Android atau tidak.
2.9 Penelitian Sebelumnya
Pencarian solusi pada permainan congklak sudah pernah dilakukan dengan
menggunakan beberapa metode, diantaranya Implementasi Algoritma Greedy Pada
Permainan Congklak (Adha, 2009) dan Analisis dan Implementasi Algoritma
Backtracking Pada Permainan Congklak (Bakri, 2010). Algoritma Minimax juga
sudah pernah diimplementasikan untuk menyelesaikan permainan , diantaranya
Analisis dan Implementasi Kecerdasan Buatan Pada Permainan Checker
Menggunakan Algoritma Minimax Dengan Negascout (Akbar, 2011) dan Algoritma
Minimax Dalam Pengambilan Keputusan Pada Permainan Tic-Tac-Toe (Akbar,
2007).
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
38/110
24
Tabel 2.2 Penelitian Sebelumnya
No Judul Pengarang Tahun Keterangan
1
.
Implementasi
Algoritma Greedy
Pada Permainan
Congklak
Ripandy
Adha
2009 Algoritma Greedy dapat memecahkan
masalah optimum, namun tidak selalu
menghasilkan solusi yang optimum.
2
.
Analisis dan
Implementasi
Algoritma
Backtracking Pada
Permainan
Congklak
Adhhal
Huda Bakri
2010 Algoritma ini secara sistematis mencari
solusi persoalan diantara semua
kemungkinan solusi yang ada. Namun
langkah yang diambil belum tentu
merupakan langkah yang terbaik,
sehingga memungkinkan terjadi terlalu
banyak backtracking yang harus
dilakukan.
3 Analisis dan
Implementasi
Kecerdasan Buatan
Pada Permainan
Checker
Menggunakan
Algoritma
Minimax Dengan
Negascout
Muhammad
Aidil Akbar
2011 Algoritma Minimax kurang efesien
apabila digunakan secara tunggal
sehingga perlu dilakukan pemotongan
dengan Negascout. Pemotongan pada Negascout dapat meminimalkan waktu
yang diperlukan sistem dalam melakukan
pencarian.
4 Algoritma
Minimax Dalam
Pengambilan
Keputusan Pada
Permainan Tic-
Tac-Toe
Khoirush
Sholih
Ridhwaana
Akbar
2007 Algoritma Minimax bekerja secara
rekursif dengan mencari langkah yang
akan membuat lawan mengalami
kerugian minimum. Semua strategi lawan
akan dihitung dengan algoritma yang
sama dan seterusnya.
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
39/110
25
BAB 3
ANALISIS DAN PERANCANGAN APLIKASI
Kecerdasan buatan atau Artificial Intelligence (AI) merupakan bagian dari ilmu
pengetahuan yang penting dalam bidang komputer. Banyak permainan komputer yang
memanfaatkan kecerdasan buatan untuk membuat permainan tersebut bertindak cerdasdengan memilih langkah terbaik pada permainan. Tetapi banyak orang yang
memainkan permainan tersebut tidak mengerti cara kerja dari kecerdasan buatan itu
sendiri. Oleh karena itu, penulis mencoba membuat suatu aplikasi permainan congklak
yang memiliki kecerdasan buatan yaitu dengan menggunakan algoritma Minimax
yang dioptimasi oleh Alpha Beta Pruning dan menjelaskan cara kerja algoritma
tersebut pada permainan congklak.
3.1 Analisis Algoritma
Pada bab sebelumnya telah dijelaskan tentang algoritma Minimax dan cara kerjanya
secara umum. Pada bab ini, penulis akan menjelaskan tentang penerapan algoritma
Minimax yang dioptimasi dengan Alpha Beta Pruning pada permainan congklak yang
akan dirancang. Tetapi sebelum membahas analisis algoritma Minimax dan Alpha
Beta Pruning penulis akan membahas analisis algoritma permainan congklak terlebih
dahulu.
3.1.1 Analisis Algoritma Permainan Congklak
Permainan congklak adalah permainan dengan 2 orang pemain, menggunakan biji
dengan arena permainan umumnya memiliki 16 buah lubang tempat biji diletakkan,
dimana 2 lubang merupakan lumbung (lubang penyimpanan) milik masing-masing
pemain. Tujuan dari permainan congklak adalah memasukkan biji sebanyak-
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
40/110
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
41/110
27
Gambar 3.2 Pohon permainan untuk menemukan langkah fr ee turn
Keterangan:
A1-A7 : merupakan daerah permainan Player 1 B1-B7 : merupakan daerah permainan Player 2. Pada permainan Single Player yang
bertindak sebagai Player 2 adalah AI (komputer)
L1 : daerah lumbung Player 1. Lumbung ini hanya dapat diisi oleh Player 1
L2 : daerah lumbung Player 2. Lumbung ini hanya dapat diisi oleh Player 2
(x,y) : x merupakan jumlah biji yang berada di lumbung. y merupakan jumlah biji
yang berada pada lubang yang dipilih oleh pemain
T (z) : T merupakan langkah tembak yang dilakukan pemain dan z merupakan
jumlah biji yang ditembak
2. Pemilihan langkah melakukan tembak.
Langkah ini dipilih jika tidak tersedia pilihan langkah free turn. Langkah
tembak terjadi apabila biji terakhir yang berada di tangan jatuh di lubang kosong di
arena permainan sendiri dan di hadapannya terdapat lubang lawan yang berisi biji
(biji>0). Atau pemain juga dapat memilih langkah tembak ini pada arena permainan
sendiri jika langkah ini dianggap lebih menguntungkan dibanding menjalalankan biji
B1 B2 B3 B4 B5 B6 B7
B2B1 B3 B4 B5 B6
A1 A2 A3 A4 A5 A6
L2 L2 L2 L2 L2 L2
L2
(0,7) (0,7) (0,7) (0,7) (0,7) (0,7)
(1,8) (1,8) (1,8) (1,8) (1,8)
(7)
(10) (10) (10) (10) (10)
T(9) T(9) T(9) T(9) T(9) T(9)(1,0) (1,0) (1,0) (1,0) (1,0)
(0,7)
(1,8)
(10)
(1,0)
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
42/110
28
pada lubang lain. Berikut ini adalah contoh gambar keadaan papan congklak untuk
menemukan langkah tembak:
B7 B6 B5 B4 B3 B2 B1
2 3 0 1 9 5 0L1 L2
23 20
0 11 8 0 4 12 0
A1 A2 A3 A4 A5 A6 A7
Gambar 3.3 Keadaan papan congklak untuk menemukan langkah tembak
Dari gambar di atas, hasil dari penelusuran pohon permainan adalah memilih
lubang B2. Karena jika biji pada lubang B2 dijalankan akan berhenti pada lubang
yang dapat melakukan tembak. Dan langkah B2 juga menghasilkan poin tertinggi
dibandingkan langkah lubang yang lainnya. Berikut ini adalah gambar pohon
permainan untuk menemukan langkah tembak pada congklak:
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
43/110
29
Gambar 3.4 Pohon permainan untuk menemukan langkah tembak
3.1.2 Analisis Algoritma Minimax
Pada permainan congklak ini algoritma Minimax hanya digunakan pada level Hard .
Algoritma Minimax diterapkan pada simulasi untuk mendapatkan langkah free turn.
B7 B6 B5 B4 B3 B2 B1
A1A5A1 B7
B3 A2B3 A5B5
L2B6
L2 B4
L2
(20,3) (20,9)(20,1) (20,5) (20,1)
(20,10) (21,12)(20,10) (21,5)
(21)(10)
(22,6)(21,0) (21,3)
L2
B2
L2
B1
A6
A6
L2
(21,0)
(21,2)
(21,0) T(14)
(35)
(22,5)
(22,3)
(23,15)
(24,0)
(24)
T(9)
(21)
(20,2)
(29)
(20,0)
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
44/110
30
Langkah simulasi ini dipilih jika tidak tersedia pilihan langkah free turn dan
langkah tembak. Simulasi dilakukan sampai AI menemukan langkah free turn. Berikut
ini adalah contoh gambar keadaan papan congklak pada simulasi menemukan langkah
terbaik:
B7 B6 B5 B4 B3 B2 B1
6 2 3 1 16 0 4L1 L2
48 4
6 2 1 1 0 0 4
A1 A2 A3 A4 A5 A6 A7
Gambar 3.5 Keadaan papan congklak pada simulasi menemukan langkah
terbaik
Dari gambar di atas, hasil dari penelusuran algoritma Minimax adalah memilih
lubang B7. Dalam kondisi ini terdapat dua nilai (free turn) yang sama yaitu 6 pada
lubang B7 dan B3. Penelusuran algoritma Minimax dapat dilihat pada gambar berikut:
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
45/110
31
Gambar 3.6 Pohon permainan menggunakan algoritma Minimax pada simulasi
menemukan langkah terbaik
Karena terdapat dua nilai yang sama yaitu pada lubang B7 dan B3 maka
algoritma Minimax melakukan simulasi pada player dengan tujuan mengetahui nilai
maksimum yang akan diperoleh oleh player.
L2
B7 B6 B5 B4 B3 B2 B1
B2A4 L2 L2
L2
B1 B4 B2 B2
B2
B6
B1
A5
(4,2) (4,3) (4,16) (4,4)
(4,2) (4,0) (5,2)
(5,2)
(4)
(5,6)
L2
(4,0)
A3
B3
A2
L2
(4,6)
(4,5)
(6,3)
A7
B7
(17)
(5)
T(10)
(6)
(4)
(5,0)
B7
(5,3)
(6)
(5,4)
(5,2)
(4,1)
(4,17)
(6,8)
(7,7)
(7,0)
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
46/110
32
Berikut ini adalah gambar keadaan papan congklak setelah lubang B7
menemukan langkah free turn dan pohon permainan menggunakan algoritma
Minimax untuk mengetahui nilai maksimum yang akan diperoleh player (a):
B7 B6 B5 B4 B3 B2 B1
1 0 5 3 18 0 1L1 L2
48 6
7 3 2 0 1 1 5
A1 A2 A3 A4 A5 A6 A7
Gambar 3.7 Keadaan papan congklak setelah lubang B7 menemukan langkah
fr ee turn
Gambar 3.8 Pohon permainan menggunakan algoritma Minimax pada simulasi
player (a)
A7 A6 A5 A4 A3 A2 A1
A3 B1L1 B5
A5 A1A4 B7A2
L1 A6
L1
A6
B2
(48,1) (48,2)
(49,0)
(48,3) (48,7)
(48,2) (48,8)
(48,1)
(49,2)
(52)
(49)
(49,2)
(48,0)
(49,6)
B6
A4
L1
A4
L1
L1
(48,3)
(49,2)
(49,0) T(4)
(53)
(49,2)
(49,0)
(49)
T(4)
(53)
(48,5)
(48,4)
(49,0)
(49)
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
47/110
33
Berikut ini adalah gambar keadaan papan congklak setelah lubang B3
menemukan langkah free turn dan dan pohon permainan menggunakan algoritma
Minimax untuk mengetahui nilai maksimum yang akan diperoleh player (b):
B7 B6 B5 B4 B3 B2 B1
7 3 4 2 1 0 3L1 L2
48 6
7 3 2 2 1 1 5
A1 A2 A3 A4 A5 A6 A7
Gambar 3.9 Keadaan papan congklak setelah lubang B3 menemukan langkah
fr ee turn
Gambar 3.10 Pohon permainan menggunakan algoritma Minimax pada simulasi player
(b)
A7 A6 A5 A4 A3 A2 A1
A3 B1A1 A6
A5A1
A4 B7A2
L1 A4
L1
A4
B2
(48,1) (48,2)
(49,0)
(48,3) (48,7)
(48,2) (48,8)
(48,1)
(49,8)
(49)
(49)
(49,4)
(48,4)
(49,2)
B6
A1
A7
A1A4
B2
(48,3)
(49,3)
(49,9)T(9)
(51)
(49,3)
(49,0)
(49)
T(4)
(58)
B1
L1
L1
L1
L1
B2
B6
A2
L1
(48,4)
(49,4)
(48,5)
(49,0)
(49,4)
(49,4)(48,8)
(48,3)
(48,2)
(49,0)
(49,0)
(50,7)
(49)(49)
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
48/110
34
Dari dua simulasi yang telah dilakukan pada player maka didapatkan hasil
berikut ini:
Gambar 3.11 Pohon penelusuran algoritma Minimax
Berdasarkan gambar di atas dapat dilihat bahwa nilai maksimum yang
diperoleh player jika AI memilih lubang B7 adalah 53 dan nilai maksimum yang
diperoleh player jika AI memilih lubang B3 adalah 58. Oleh sebab itu algoritma
Minimax memilih lubang B7 untuk menghindari kerugian maksimum yang akan
diperoleh AI. Untuk lebih jelasnya penerapan algoritma Minimax pada aplikasi
permainan congklak ini dapat lihat pada pseudocode berikut:
pencarian minimax
{
int AIvalue ← 0
tmpBoard[i] ← 0
int minval ← -99
i ← banyak biji di lumbung simulasi
if(bestmovevalue 0)
if(bestmovevalue < AIvalue)
bestmovevalue ← AIvalue
bestmove ← i
else if(bestmovevalue == Aivalue)
int val ← getMinPlayer(tmpBoard) * -1
if(val > minval)
minval ← val
bestmovevalue ← AIvalue
bestmove ← i
endif
endif
else if(bestmovevalue > Aivalue)
B7
53 58
48524949 495353 515849534949
B7 B3
53
49
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
49/110
35
bestmovevalue ← bestmove
bestmove ← i
endif
return bestmove}
3.1.3 Analisis Algoritma Alpha Beta Pruning
Seperti yang telah dibahas pada bab sebelumnya, penulis menggunakan
algoritma Alpha Beta Pruning untuk mempersingkat waktu pencarian sekaligus
sebagai optimasi algoritma Minimax. Algoritma Alpha Beta Pruning akan mengurangi
ruang pencarian Minimax sehingga waktu eksekusi untuk algoritma ini akan lebih
efisien. Berikut ini adalah contoh pohon permainan yang dianalisis dengan algoritma
Alpha Beta Pruning :
Gambar 3.12 Pohon permainan menggunakan algoritma Alpha Beta Prun ing
3.2 Perancangan Sistem
Perancangan sistem yang akan dibahas meliputi perancangan pemodelan visual
menggunakan UML, perancangan aplikasi permainan, dan perancangan antarmuka.
3.2.1 Perancangan Pemodelan Visual Menggunakan UML
Penulis juga menggunakan UML untuk merancang aplikasi permainan congklak ini.
UML yang digunakan adalah use case diagram dan activity diagram.
B7
53 58
48524949 495353 515849534949
B7 B3
49
53
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
50/110
36
3.2.1.1 Use Case Diagram
Use case diagram adalah teknik untuk mendeskripsikan interaksi antara user dan
aplikasi dalam sebuah sistem. Use case diagram mempresentasikan kegunaan atau
fungsi-fungsi sistem dari perspektif pengguna.
Pemain
Single Player
Multiplayer
Rules
About
Exit
Choose Level
Playing Game
Gambar 3.13 Use Case Diagram
3.2.1.2 Activity Diagram
Activity diagram adalah teknik untuk menggambarkan logika procedural, proses bisnis
dan aplikasi kerja (Fowler, 2005). Activity diagram sebenarnya mirip dengan
flowchart namun diperluas dengan menunjukkan aliran kendali dari satu aktivitas ke
aktivitas lain. Berikut ini adalah tabel proses dan activity diagram aplikasi permainan
congklak.
1) Single Player
Penjelasan proses Single Player dapat dilihat pada tabel berikut ini.
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
51/110
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
52/110
38
Tabel 3.2 Proses Choose Level
Use Case Choose Level
Actors Pemain
Brief Description Use case ini mendeskripsikan proses memilih tingkat kesulitan permainan
Pre-condition Sudah masuk ke form choose level
Flow of events Kegiatan Pemain Respon Sistem
1. Pilih tingkat kesulitan (level )
yang ingin dimainkan, yaitu
easy, medium, atau hard.
2. Tampilkan form permainan
congklak sesuai dengan tingkat
kesulitan yang dipilih
Post-condition Pemain bermain sesuai dengan tingkat kesulitan yang dipilih
Limitation Tidak ada
Penulis mendeskripsikan activity diagram Choose Level yang dapat dilihat pada
gambar berikut ini:
SistemPemain
Pilih Level Tampilkan form permainan sesuai dengan level yang dipilih
Gambar 3.15 Activity diagram Choose Level
3) Multiplayer
Penjelasan proses Multiplayer dapat dilihat pada tabel berikut ini.
Tabel 3.3 Proses Multiplayer
Use Case Multiplayer
Actors Pemain
Brief Description Use case ini mendeskripsikan proses memulai permainan baru untuk
2 orang pemain
Pre-condition Sudah masuk ke form home
Flow of events Kegiatan Pemain Respon Sistem
1. Klik menu “Multiplayer”
2.
Tampilkan form pilih giliran
pemain
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
53/110
39
3. Pilih giliran pemain
4. Tampilkan form permainan
congklak untuk 2 orang pemain
Post-condition Tampilan form permainan congklak untuk 2 orang pemain Limitation Tidak ada
Penulis mendeskripsikan activity diagram Multiplayer yang dapat dilihat pada gambar
berikut ini:
SistemPemain
Klik menu Multiplayer
Tampilkan form permainan untuk 2 orang pemain
Tampilkan form pilih giliran pemain
Pilih giliran pemain
Gambar 3.16 Activity Diagram Mul tiplayer
4) Play
Penjelasan proses Play dapat dilihat pada tabel berikut ini.
Tabel 3.4 Proses Play
Use Case Play
Actors Pemain Brief Description Use case ini mendeskripsikan proses menjalankan permainan
Pre-condition Sudah masuk ke form permainan congklak
Flow of events Kegiatan Pemain Respon Sistem
1. Player 1 memulai permainan
terlebih dahulu dan memilih
lubang yang akan dijalankan
2.
Update papan congkak sesuai
dengan perpindahan biji
congkak
3. Mengevaluasi nilai biji
congkak dan generate langkah
AI
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
54/110
40
4.
Perpindahan biji congkak
AI ditampilkan. Jumlah biji
congkak sudah ter-update
5. Jika permainan berakhir maka
sistem akan menampilkanmessage dialogue menang,
kalah, atau seri.
Post-condition Tampilan message dialogue
Limitation Tidak ada
Penulis mendeskripsikan activity diagram Play yang dapat dilihat pada gambar
berikut ini:
SistemPemain
Player 1 memilih lubang yang akan dijalankan
Update jumlah biji congkak
Tampilan perpindahan biji congkak player 2
Tampilan message dialogue menang, seri, atau kalah
Evaluasi nilai biji congkak
Generate langkah AI
Ya Tidak
End Game?
Gambar 3.17 Activity diagram Play
5) Rules
Penjelasan proses Rules dapat dilihat pada tabel berikut ini.
Tabel 3.5 Proses Rules
Use Case Rules
Actors Pemain
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
55/110
41
Brief Description Use case ini mendeskripsikan proses menampilkan aturan bermain
Pre-condition Sudah masuk ke form home
Flow of events Kegiatan Pemain Respon Sistem
1. Klik menu “Rules”
3. Klik tombol “ Home”2.
Tampilkan form Rules
4. Tutup form “Rules” dan
menampilkan form home
Post-condition Form rules ditutup dan kembali ke home
Limitation Tidak ada
Penulis mendeskripsikan activity diagram Rules yang dapat dilihat pada gambar
berikut ini:
SistemPemain
Klik menu "Rules" Tampilkan form "Rules"
Klik tombol "Home"
Tampilkan form "Home"
Gambar 3.18 Activity diagram Rules
6)
About
Penjelasan proses About dapat dilihat pada tabel berikut ini.
Tabel 3.6 Proses About
Use Case About
Actors Pemain
Brief Description Use case ini mendeskripsikan proses menampilkan tentang pengembang aplikasi
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
56/110
42
Pre-condition Sudah masuk ke form home
Flow of events Kegiatan Pemain Respon Sistem
1. Klik menu “About”
3. Klik tombol “ Home”
2.
Tampilkan form About
4. Tutup form “About” dan
menampilkan form home
Post-condition Form about ditutup dan kembali ke home
Limitation Tidak ada
Penulis mendeskripsikan activity diagram About yang dapat dilihat pada gambar
berikut ini:
SistemPemain
Klik menu "About" Tampilkan form “About”
Klik tombol "Home"
Tampilkan form "Home"
Gambar 3.19 Activity diagram About
7) Exit
Penjelasan proses Exit dapat dilihat pada tabel berikut ini.
Tabel 3.7 Proses Exit
Use Case Exit
Actors Pemain
Brief Description Use case ini mendeskripsikan proses keluar dari aplikasi permainan
congklak
Pre-condition Sudah masuk ke form home
Flow of events Kegiatan Pemain Respon Sistem1. Klik menu “Exit”
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
57/110
43
2. Form home permainan
congklak ditutup
Post-condition Permainan berakhir dan aplikasi permainan congklak ditutup
Limitation Tidak ada
Penulis mendeskripsikan activity diagram Exit yang dapat dilihat pada gambar berikut
ini:
SistemPemain
Klik menu "Exit"
Tampilkan form permainan sesuai dengan level yang dipilih
Gambar 3.20 Activity diagram Exi t
3.2.2 Perancangan Aplikasi Permainan
Pada tahap perancangan aplikasi permainan, penulis akan menggambarkan interaksi
yang dapat dilakukan pengguna terhadap aplikasi permainan yang dibangun. Aplikasi
ini dimulai dengan menampilkan form menu yang berisi menu pilihan Single Player,
Multiplayer, Rules, About, dan Exit . Setiap menu akan menampilkan form selanjutnya
dan aplikasi akan berhenti jika pengguna memilih menu Exit.
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
58/110
44
Start
Tampilkan
Form Menu
Pilih Menu
Single
Player?
Pilih Menu
Multiplayer?
Pilih MenuRules?
Pilih Menu
About?
Exit
End
Tampilkan Form
Choose Level
Tidak
Tidak
Tidak
Tidak
Pilih Giliran
Bermain
BermainCongklak
Permainan
Berakhir
MunculkanPesan
Pemenang
TampilkanForm Rules
Pilih
Tombol
Home
Tampilkan
Form About
Pilih
TombolHome
Tidak
Tidak
Ya
Ya
Ya
TampilkanForm
Permainan
Pilih
tombolPlay?
Pilih
tombolHome?
Tidak
Ya
Ya
Ya
Ya
TidakYa
Gambar 3.21 Flowchart aplikasi permainan
3.2.3 Perancangan Antarmuka
Pada tahap ini akan dirancang tampilan antarmuka dari aplikasi permainan congklak .
Perancangan antarmuka pada aplikasi permainan congklak ini terdiri dari beberapa
tampilan halaman, yaitu halaman menu utama, halaman pilih level , halaman panduan
bermain, halaman tentang yang berisi keterangan pengembang permainan, dan
halaman permainan. Berikut ini adalah rancangan antarmuka dari halaman-halaman
tersebut
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
59/110
45
a. Form Home
Form Home merupakan form yang pertama kali ditampilkan pada saat aplikasi
dijalankan. Form ini berisi menu yang dapat dipilih oleh pengguna yaitu Single
Player , Multiplayer, Rules, About dan Exit . Rancangan antarmuka form ini dapat
dilihat pada gambar berikut:
Gambar 3.22 Form Home
Keterangan:
1. Sound merupakan tombol menu yang berfungsi untuk mengaktifkan dan
menonaktifkan audio
2. Congklak Games merupakan judul aplikasi.
3. Single Player merupakan tombol menu yang berfungsi untuk menampilkan
halaman Choose Level .
4.
Multiplayer merupakan tombol menu yang berfungsi untuk memulai permainanuntuk dua orang pemain.
5. Rules merupakan tombol menu yang berfungsi untuk menampilkan halaman
panduan bermain.
6.
About merupakan tombol menu yang berfungsi untuk menampilkan halaman
tentang pengembang aplikasi.
7. Exit merupakan tombol menu yang berfungsi untuk keluar dari aplikasi.
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
60/110
46
b. Form Choose Level
Form Choose Level merupakan form yang berisi level permainan atau tingkat
kesulitan permainan yang terdiri dari easy, medium, dan hard . Rancangan antarmuka
form ini dapat dilihat pada gambar berikut:
Gambar 3.23 Form Choose Level
Keterangan:
1. Home merupakan tombol menu yang berfungsi untuk kembali ke menu utama.
2. Choose Level merupakan judul dari halaman.
3. Easy merupakan tingkat kesulitan pertama.
4. Medium merupakan tingkat kesulitan kedua.
5. Hard merupakan tingkat kesulitan ketiga.
c.
Form pilih giliran pemain
Form pilih giliran pemain merupakan form untuk memilih siapa yang berhak bermain
terlebih dahulu. Rancangan antarmuka form ini dapat dilihat pada gambar berikut:
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
61/110
47
Gambar 3.24 Form pilih giliran pemain
Keterangan:
1. First Turn merupakan judul dari halaman
2.
Player 1 dipilih untuk memulai permainan dengan Player 1 bermain terlebih
dahulu
3. Player 2 dipilih untuk memulai permainan dengan Player 2 bermain terlebih
dahulu
d. Form Rules
Form Rules merupakan form yang berisi tentang peraturan dan cara bermain sehingga
dapat memberikan informasi kepada pengguna tentang permainan congklak.
Rancangan antarmuka form ini dapat dilihat pada gambar berikut:
Gambar 3.25 Form Rules
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
62/110
48
Keterangan:
1. Home merupakan tombol menu yang berfungsi untuk kembali ke menu utama.
2.
Rules merupakan judul dari halaman.
3.
Merupakan informasi tentang panduan cara bermain
e.
Form About
Form About merupakan form yang berisikan informasi mengenai pengembang
aplikasi. Rancangan antarmuka form ini dapat dilihat pada gambar berikut:
Gambar 3.26 Form About
Keterangan:
1. Home merupakan tombol menu yang berfungsi untuk kembali ke menu utama.
2. About merupakan judul dari halaman.
3.
Merupakan informasi tentang pengembang aplikasi.
f. Form Arena Permainan
Form arena permainan merupakan form yang digunakan untuk bermain permainan
congklak. Rancangan antarmuka form arena permainan dapat dilihat pada gambar
berikut:
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
63/110
49
Gambar 3.27 Form Arena Permainan
Keterangan:
1. Merupakan giliran player 1.
2. Merupakan giliran player 2.
3. Merupakan lumbung milik player 1.
4.
Merupakan lumbung milik player 2.
5. Merupakan sederetan lubang milik player 1.
6. Merupakan sederetan lubang milik player 2.
7.
Merupakan jumlah biji dalam bentuk angka dari setiap lubang/lumbung di
depannya.
8. Pause merupakan tombol menu yang berfungsi untuk melakukan jeda pada
permainan.
9. Home merupakan tombol menu yang berfungsi untuk kembali ke menu
utama.
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
64/110
50
BAB 4
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi
Pada bab ini akan dijelaskan tentang implementasi dan pengujian sistem sesuai
dengan perancangan sistem yang telah dibahas pada bab sebelumnya. Pada tahap ini
seluruh spesifikasi dari aplikasi yang dirancang akan diterjemahkan ke dalam bahasa
pemrograman sehingga menghasilkan sebuah aplikasi.
4.1.1 Spesifikasi Perangkat Keras
Spesifikasi perangkat keras yang digunakan dalam implementasi aplikasi permainan
congklak adalah sebagai berikut:
1. Prosesor Intel Core 2 Solo SU3500.
2. Memory RAM 4GB.
3. Hard Disk 500GB.
4. Monitor 13.3” Acer LED LCD.
4.1.2 Spesifikasi Perangkat Lunak
Implementasi aplikasi permainan congklak ini dilakukan dengan menggunakan bahasa
pemrograman C++ pada Microsoft Visual Studio 2008. Pengkodean aplikasi
menggunakan library Cocos2d-x. Cocos2d-x adalah sebuah framework yang
digunakan untuk membuat game di berbagai platform seperti iOS, Android, Windows
Phone 8, Blackberry, Marmalade, Windows XP/Windows 7, Linux, Mac OSX dan
Windows 8 Metro.
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
65/110
51
Setelah pengkodean dalam bahasa pemrograman C++ selesai, tahap
selanjutnya adalah mengkonversi kode program dalam bahasa pemrograman C++
menjadi librar y untuk dijalankan pada perangkat lunak Eclipse. Eclipse adalah
perangkat lunak yang digunakan sebagai compiler untuk membangun mobile
Application berbasis Android. Kemudian program di-compile dan menghasilkan
aplikasi permainan congklak . Setelah itu aplikasi sudah dapat di-install pada
perangkat keras yang akan digunakan untuk melakukan pengujian aplikasi.
Untuk lebih jelasnya, berikut ini adalah langkah-langkah untuk proses konversi
kode program C++ menjadi sebuah mobile application berbasis Android:
1.
Buat sebuah project C++ baru dengan menggunakan template ‘Cocos2d-win32
Application’.
2. Setelah seluruh kode program C++ selesai, jalankan ‘create-android-
project.bat’.
3.
Kemudian jadi sebuah folder Android project .
4. Copy semua resource dan classes yang telah dibuat sebelumnya ke folder
Android project .
5.
Kemudian jalankan Cygwin.bat dan lakukan perintah berikut :
#cd[spasi]/cygdrive/[path folder penyimpanan Android project yang telah
dibuat] lalu tekan enter
#./build_native.sh lalu tekan enter
6. Setelah proses pada langkah 5 selesai, selanjutnya jalankan perangkat lunak
Eclipse lalu buka Android project yang telah disimpan sebelumnya. Lakukan
clean project. Kemudian run program sebagai mobile application berbasis
Android.
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
66/110
52
4.2 Tampilan Aplikasi
Berikut ini adalah tampilan dari aplikasi permainan congklak.
4.2.1 Tampilan form Menu
Pada halaman ini ditampilkan menu-menu yang dapat dipilih oleh pemain yaitu Single
Player untuk memulai permainan satu orang pemain, Multiplayer untuk memulai
permainan dua orang pemain, Rules untuk melihat panduan bermain, About untuk
melihat keterangan tentang pengembang aplikasi dan Exit untuk keluar dari aplikasi.
Selain itu disediakan juga tombol mute yang terletak di sudut kanan atas untuk
mengaktifkan atau menonaktifkan suara pada aplikasi. Tampilan form menu dapat
dilihat pada gambar 4.1 berikut:
Gambar 4.1 Tampilan form menu
4.2.2 Tampilan form Choose Level
Halaman ini akan ditampilkan ketika pemain memilih menu Single Player. Terdapat
tiga tingkat kesulitan yang dapat dipilih oleh pemain yaitu easy, medium, atau hard.
Pada form ini terdapat tombol home pada pojok kanan atas yaitu agar pemain dapat
kembali ke menu utama. Tampilan form Choose Level dapat dilihat pada gambar 4.2
berikut:
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
67/110
53
Gambar 4.2 Tampilan form Choose Level
4.2.3 Tampilan form pilih giliran pemain
Tampilan ini akan muncul setelah pemain memilih menu Multiplayer . Tampilan form
pilih giliran pemain dapat dilihat pada gambar 4.3 berikut:
Gambar 4.3 Tampilan form pilih giliran pemain
4.2.4 Tampilan form permainan
Form permainan akan ditampilkan setelah pemain memilih tingkat kesulitan yang
ingin dimainkan pada Single Player dan menentukan siapa giliran pertama ( first turn)
yang dapat memulai permainan pada Multiplayer . Form permainan menampilkan
tombol play, tombol home, papan congklak yang diisi masing-masing 7 biji congklak
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
68/110
54
pada tiap lubang kecil, 2 kotak untuk tempat persinggahan biji congklak ketika
pemain mendapatkan giliran bermain, dan kotak putih yang menunjukkan jumlah biji
congklak yang ada di hadapannya . Tampilan form permainan sebelum permainan
dimulai dapat dilihat pada gambar 4.4 berikut:
Gambar 4.4 Tampilan form permainan sebelum permainan dimulai
Tombol home digunakan untuk kembali ke menu utama. Permainan dimulai
ketika pemain menekan tombol play. Terdapat tiga pilihan lubang yang dapat dipilih
oleh pemain. Salah satunya merupakan langkah terbaik hasi penelusuran
Minimax.Tampilan form permainan saat permainan dimulai dapat dilihat pada gambar
4.5 berikut:
Gambar 4.5 Tampilan form permainan saat permainan dimulai
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
69/110
55
Gambar 4.6 Tampilan saat permainan sedang berlangsung
Tombol pause digunakan untuk melakukan jeda pada permainan. Dalam
keadaan paused terdapat tombol reload untuk melakukan restart/retry permainan.
Tampilan form permainan dalam keadaan paused dapat dilihat pada gambar 4.7
berikut:
Gambar 4.7 Tampilan permainan dalam keadaan paused
Pemain dapat melanjutkan permainan dengan menekan tombol play. Dan
apabila pemain menekan tombol home akan muncul message dialog seperti gambar
4.8 berikut:
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
70/110
56
Gambar 4.8 Message dialog
Permainan congklak dikatakan berakhir apabila salah satu arena pemain sudah
tidak terdapat biji congklak lagi. Dan pemain yang memiliki biji congklak yang lebih
banyak pada lumbungnya adalah pemenang dari permainan ini. Tampilan ketika
permainan sudah berakhir dapat dilihat pada gambar 4.9 berikut:
Gambar 4.9 Tampilan ketika permainan sudah berakhir
4.2.5 Tampilan form Rules
Form Rules berisi tentang tata cara bermain congklak. Tampilan form Rules dapat
dilihat pada gambar 4.9 berikut:
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
71/110
57
Gambar 4.10 Tampilan form Rules
4.2.6 Tampilan form About
Form About berisi informasi tentang pengembang aplikasi. Tampilan form About
dapat dilihat pada gambar 4.10 berikut:
Gambar 4.11 Tampilan form About
4.3 Pengujian
Pengujian aplikasi merupakan proses pemeriksaan atau evaluasi sistem untuk
mengetahui apakah sistem yang dibangun telah memenuhi kebutuhan sesuai dengan
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
72/110
58
yang diharapkan. Pengujian aplikasi permainan congklak dilakukan dengan
menggunakan metode pengisian kuesioner oleh beberapa orang pengguna.
Pengujian aplikasi permainan congklak dilakukan pada Samsung Galaxy Tab
GT-P3100. Adapun spesifikasi Samsung Galaxy Tab GT-P3100 adalah :
1.
Sistem operasi Android 4.0.4 (Ice Cream Sandwich).
2. Layar sentuh 7.0”.
3. Resolusi layar WSVGA (1024x600).
4. Mendukung audio MP3, OGG, AAC-LC / AAC / AAC+ / eAAC+, AC-3,
AMR-NB / WB, WMA, WAV, MID, IMY, FLAC.
4.3.1 Pengujian Aplikasi
Pada tahap pengujian ini dilakukan evalusi pada setiap proses dalam aplikasi
permainan congklak. Metode yang digunakan pada tahap pengujian ini adalah metode
black box. Dengan metode black box pengujian hanya dilakukan pada representasi
sistem yang terlihat tanpa perlu mengetahui bagaimana cara kerja sistem tersebut.
Dengan metode black box hasil eksekusi akan dibandingkan dengan hasil yang
diharapkan. Bila hasil eksekusi sesuai dengan hasil yang diharapkan, maka aplikasi
dianggap berhasil. Sebaliknya jika hasil eksekusi tidak sesuai dengan hasil yang
diharapkan maka diperlukan perbaikan pada aplikasi.
4.3.2 Pengujian Antarmuka Aplikasi
Untuk memperoleh hasil penilaian pengguna terhadap antarmuka aplikasi penulis
akan memberikan kuesioner kepada 10 orang pengguna yang bertindak sebagai
responden. Aspek antarmuka yang akan dinilai meliputi desain aplikasi secara umum,
tampilan papan dan biji congklak, warna papan dan biji congklak, tampilan animasi
permainan, desain tombol menu, dan audio aplikasi.
Tabel 4.1 Kategori Pemberian Nilai
No. Alternatif Jawaban Bobot Nilai
1. Sangat Baik 5
2. Baik 4
Universitas Sumatera Utara
-
8/16/2019 ] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax
73/110
59
3. Cukup 3
4. Buruk 2
5. Sangat Buruk 1
Untuk lebih jelasnya, hasil kuesioner dapat dilihat pada lampiran B. Hasil
evaluasi antarmuka aplikasi yang diperoleh dapat dilihat pada Tabel 4.2.
Tabel 4.2 Hasil Kuesioner Antarmuka Aplikasi
No. Sasaran Penilaian
Hasil Pen