] Aplikasi Permainan Congklak Berbasis Android Menggunakan Algoritma Minimax

Embed Size (px)

Citation preview

  • 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