• Tidak ada hasil yang ditemukan

Penerapan Algoritma Greedy Pada Permainan Mill Berbasis Android

N/A
N/A
Protected

Academic year: 2016

Membagikan "Penerapan Algoritma Greedy Pada Permainan Mill Berbasis Android"

Copied!
77
0
0

Teks penuh

(1)

PENERAPAN ALGORITMA

GREEDY

PADA PERMAINAN

MILL BERBASIS

ANDROID

SKRIPSI

SUANDO H SIMANJUNTAK

091402035

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

PENERAPAN ALGORITMA

GREEDY

PADA PERMAINAN MILL

BERBASIS

ANDROID

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Teknologi Informasi

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

(3)

ii

PERSETUJUAN

Judul : PENERAPAN ALGORITMA GREEDY PADA

PERMAINAN MILL BERBASIS ANDROID

Kategori : SKRIPSI

Nama : SUANDO H SIMANJUNTAK

Nomor Induk Mahasiswa : 091402035

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI

Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI Diluluskan di

Medan, Februari 2015

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

(4)

PERNYATAAN

PENERAPAN ALGORITMA GREEDY PADA PERMAINAN MILL BERBASIS ANDROID

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Februari 2015

(5)

iv

UCAPAN TERIMA KASIH

Segala puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus atas segala berkat dan pengasihanNya yang sungguh berlimpah, sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi Program Studi S1 Teknologi Informasi Universitas Sumatera Utara.

Penyelesaian skripsi ini tidak terlepas dari bantuan dari berbagai pihak, untuk itu, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada:

1. Kedua orangtua penulis yang telah memberikan dukungan moril dan spiritual, terlebih ayah penulis, Theo Simanjuntak, SE., MM. (+) yang terlebih dahulu meninggalkan dunia saat masa akhir perkuliahan penulis. Penulis juga mengucapkan terima kasih untuk ibu penulis, Rony Herawati Siahaan yang selalu sabar dalam membesarkan dan mendidik penulis hingga saat ini.

2. Ibu Dr. Erna Budhiarti Nababan, M.IT dan Ibu Maya Silvi Lydia, B.Sc., M.Sc selaku pembimbing yang telah banyak meluangkan waktu dan pikirannya, memotivasi dan memberikan kritik dan saran kepada penulis.

3. Bapak Dedy Arisandi, ST., M.Kom dan Bapak Baihaqi Siregar, S.Si., M.T yang telah bersedia menjadi dosen pembanding yang telah memberikan kritik dan saran kepada penulis.

4. Ketua dan Sekretaris Program Studi Teknologi Informasi, Bapak M. Anggia Muchtar, ST.,MM.IT dan Bapak M. Fadly Syahputra, B.Sc.,M.Sc.IT.

5. Terima kasih juga penulis ucapkan kepada teman-teman, Dessy, Jhoannes, Toni, Boho, Leo, Boho, Robert, Ganesha, Anggreiny, Sion, Stella, Cynthia, Riska, Rogate dan seluruh teman-teman seperjuangan yang tidak dapat disebutkan.

(6)

ABSTRAK

Permainan Mill adalah pengembangan dari penggabungan konsep permainan Tic Tac Toe dan permainan Twelve Men's Morris. Permainan mill menggunakan aturan dan konsep permainan Tic Tac Toe yang bertujuan menempatkan 3 bidak masing-masing pemain dalam suatu garis lurus yang dapat berupa garis horisontal, vertikal, ataupun diagonal. Algoritma greedy adalah algoritma yang membentuk solusi langkah demi langkah. Pada setiap langkahnya terdapat banyak pilihan yang perlu dieksplorasi dan pada setiap langkahnya harus dibuat keputusan yang terbaik dalam menentukan pilihan. Maksud dari prinsip tersebut adalah pada setiap langkah dalam Algoritma Greedy diambil keputusan yang paling optimal untuk langkah tersebut tanpa memperhatikan konsekuensi pada langkah selanjutnya. Fungsi prioritas adalah fungsi yang dipadukan dengan algoritma Greedy yang menjadi strategi peletakan bidak oleh komputer di path

yang tersedia pada papan permainan. Tujuan penelitian ini yaitu membangun AI

yang dapat melakukan langkah terbaik peletakan bidak pada papan permainan. Hasil yang diperoleh dari aplikasi yang dibangun yaitu penerapan algoritma

Greedy yang dipadukan fungsi prioritas dapat membangun AI yang kompetitif untuk melawan pemain.

(7)

vi

THE IMPLEMENTATION OF GREEDY ALGORITHM IN MILL GAME

ON ANDROID

ABSTRACT

Mill game is the developement of merging concepts Tic Tac Toe game and Twelve Men's Morris game. Mill game using rules and concepts of Tic Tac Toe and Twelve Men's Morris game. Mill game using rules and concepts of Tic Tac Toe game that the aims to put three pawns of each player in a straight line which can be horizontal, vertical, or diagonal lines. Greedy algorithm is an algorithm that form the solution step by step. At each step there are many options that need to be explored and every step should be made the best decision in determining the choice. The intent of this principle is at each step in the Greedy algorithm is taken decision that the optimal for such a step without regard to the consequences in the next step. Priority Function is a function which combined with Greedy algorithm that become pawns by computer laying on the path provided on the game board. The purpose of this research is to build AI that can do the best move laying pawns on the game board. The result obtained from the application built is application the greedy algorithm that combined with priority function which can build a competitive AI to fight against player.

(8)

DAFTAR ISI

Hal

PERSETUJUAN ii

PERNYATAAN iii

UCAPAN TERIMA KASIH iv

ABSTRAK V

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metodologi Penelitian 3

1.7 Sistematika Penulisan 4

BAB II LANDASAN TEORI 6

2.1 Kecerdasan Buatan (Artificial Intelligence) 6

2.2 Game Playing 6

2.3 Mobile Games 7

2.4 Permainan Mill 7

2.5 Algoritma Greedy 8

2.6 Android 9

2.7 UML (Unified Modeling Language) 12

(9)

viii

BAB III ANALISIS DAN PERANCANGAN 14

3.1 Analisis Permainan 14

3.2 Fungsi Prioritas dan Analisis Algoritma Greedy 15

3.2.1 Fungsi Prioritas 15

3.2.2 Analisis Algoritma Greedy 16

3.3 Perancangan Sistem 22

3.3.1 Flowchart algoritma Greedy 23

3.3.2 Flowchart Aplikasi 24

3.3.3 Pemodelan Visual menggunakan UML 25

3.4 Transisi Layar dan Antarmuka 35

3.4.1 Transisi Layar 35

3.4.2 Antarmuka 35

BAB IV IMPLEMENTASI DAN PENGUJIAN 40

4.1 Implementasi 40

4.1.1 Spesifikasi Perangkat Lunak 40

4.1.2 Spesifikasi Perangkat Keras 40

4.2 Tanpilan Aplikasi 41

4.2.1 Tmpilan Halaman Utama 41

(10)

4.3.2 Pengujian Antarmuka Aplikasi 50 4.3.3 Pengujian Penggunaan Aplikasi 53

BAB V KESIMPULAN DAN SARAN 56

5.1 Kesimpulan 56

5.2 Saran 56

(11)

x

DAFTAR TABEL

Hal

Tabel 3.1 Fungsi Prioritas 15

Tabel 3.2 Giliran ke-1 (Pemain) 17

Tabel 3.3 Giliran ke-2 (Komputer) 18

Tabel 3.4 Giliran ke-3 (Pemain) 19

Tabel 3.5 Giliran ke-4 (Komputer) 19

Tabel 3.6 Giliran ke-5 (Pemain) 20

Tabel 3.7 Giliran ke-6 (Komputer) 21

Tabel 3.8 Giliran ke-7 (Pemain) 21

Tabel 3.9 Giliran ke-8 (Komputer) 22

Tabel 3.10 Use Case Mulai Lawan Kmputer 26

Tabel 3.11 Use Case Mulai Lawan Teman 28

Tabel 3.12 Use Case memilih Duluan Main,Level dan Jlh Putaran 29

Tabel 3.13 Use Case Bermain 30

Tabel 3.14 Use Case Evaluasi Langkah 31

Tabel 3.15 Use Case Statistik 32

Tabel 3.16 Use Case Panduan 33

Tabel 3.17 Use Case Tentang 34

Tabel 4.1 Kategori Pemberian Nilai 51

(12)

Hal

Gambar 2.1 Papan Permainan Mill 8

Gambar 2.2 Aristektur platform android 10

Gambar 3.1 Giliran ke-1 (Pemain) 17

Gambar 3.2 Giliran ke-2 (Komputer) 18

Gambar 3.3 Giliran ke-3 (Pemain) 18

Gambar 3.4 Giliran ke-4 (Komputer) 19

Gambar 3.5 Giliran ke-5 (Pemain) 20

Gambar 3.6 Giliran ke-6 (Komputer) 20

Gambar 3.7 Giliran ke-7 (Pemain) 21

Gambar 3.8 Giliran ke-8 (Komputer) 22

Gambar 3.9 Flowchart Algoritma Greedy 23

Gambar 3.10 Flowchart Aplikasi 24

Gambar 3.11 Use Case Aplikasi 26

Gambar 3.12 Activity Diagram Lawan Komputer 27

Gambar 3.13 Activity Diagram Lawan Teman 28

Gambar 3.14 Memilih Duluan Main, Level dan Jumlah Putaran 29

Gambar 3.15 Activity Diagram Bermain 30

Gambar 3.16 Activity Diagram Evaluasi Langkah 31

Gambar 3.17 Activity Diagram Statistik 32

Gambar 3.18 Activity Diagram Panduan 33

Gambar 3.19 Activity Diagram Tentang 34

Gambar 3.20 Transisi Layar 36

Gambar 3.21 Antarmuka Halaman Menu Utama 36

Gambar 3.22 Antarmuka Lawan Komputer dan Lawan Teman 37

Gambar 3.23 Antarmuka Statistik 37

Gambar 3.24 Antarmuka Halaman Panduan 38

Gambar 3.25 Antarmuka Halaman Tentang 38

Gambar 3.26 Antarmuka Papan Permainan 39

Gambar 4.1 Tampilan Halaman Menu Utama 41

Gambar 4.2 Halaman Lawan Komputer 42

Gambar 4.3 Pilihan Lomba 1 Mill Lawan Komputer 43

(13)

xii

Gambar 4.4 Pilihan Lomba Banyak Mill Lawan Komputer 43

Gambar 4.5 Halaman Lawan Teman 44

Gambar 4.6 Pilihan Lomba 1 Mill Lawan Teman 45

Gambar 4.7 Pilihan Lomba Banyak Mill Lawan Teman 45

Gambar 4.8 Papan Permainan 46

Gambar 4.9 Notifikasi -1 47

Gambar 4.10 Notifikasi -2 47

Gambar 4.11 Notifikasi -3 48

Gambar 4.12 Notifikasi -4 48

Gambar 4.13 Halaman Statistik 48

Gambar 4.14 Halaman Panduan 49

(14)

ABSTRAK

Permainan Mill adalah pengembangan dari penggabungan konsep permainan Tic Tac Toe dan permainan Twelve Men's Morris. Permainan mill menggunakan aturan dan konsep permainan Tic Tac Toe yang bertujuan menempatkan 3 bidak masing-masing pemain dalam suatu garis lurus yang dapat berupa garis horisontal, vertikal, ataupun diagonal. Algoritma greedy adalah algoritma yang membentuk solusi langkah demi langkah. Pada setiap langkahnya terdapat banyak pilihan yang perlu dieksplorasi dan pada setiap langkahnya harus dibuat keputusan yang terbaik dalam menentukan pilihan. Maksud dari prinsip tersebut adalah pada setiap langkah dalam Algoritma Greedy diambil keputusan yang paling optimal untuk langkah tersebut tanpa memperhatikan konsekuensi pada langkah selanjutnya. Fungsi prioritas adalah fungsi yang dipadukan dengan algoritma Greedy yang menjadi strategi peletakan bidak oleh komputer di path

yang tersedia pada papan permainan. Tujuan penelitian ini yaitu membangun AI

yang dapat melakukan langkah terbaik peletakan bidak pada papan permainan. Hasil yang diperoleh dari aplikasi yang dibangun yaitu penerapan algoritma

Greedy yang dipadukan fungsi prioritas dapat membangun AI yang kompetitif untuk melawan pemain.

(15)

vi

THE IMPLEMENTATION OF GREEDY ALGORITHM IN MILL GAME

ON ANDROID

ABSTRACT

Mill game is the developement of merging concepts Tic Tac Toe game and Twelve Men's Morris game. Mill game using rules and concepts of Tic Tac Toe and Twelve Men's Morris game. Mill game using rules and concepts of Tic Tac Toe game that the aims to put three pawns of each player in a straight line which can be horizontal, vertical, or diagonal lines. Greedy algorithm is an algorithm that form the solution step by step. At each step there are many options that need to be explored and every step should be made the best decision in determining the choice. The intent of this principle is at each step in the Greedy algorithm is taken decision that the optimal for such a step without regard to the consequences in the next step. Priority Function is a function which combined with Greedy algorithm that become pawns by computer laying on the path provided on the game board. The purpose of this research is to build AI that can do the best move laying pawns on the game board. The result obtained from the application built is application the greedy algorithm that combined with priority function which can build a competitive AI to fight against player.

(16)

BAB 1

PENDAHULUAN

1.1. Latar Belakang

Permainan atau lebih sering dikenal dengan istilah game semakin banyak diminati oleh masyarakat pada saat ini. Mulai dari game yang dapat dimainkan pada

platform komputer hingga game pada platform mobile. Game biasanya digunakan untuk sekedar menghibur diri, mengisi waktu senggang dan sarana dalam pembelajaran.

Android adalah sistem operasi mobile yang mulai populer dan berkembang pada saat ini . Perkembangan tersebut mengakibatkan meningkatnya aplikasi-aplikasi mobile berbasis android. Salah satu dari aplikasi - aplikasi tersebut adalah mobilegame. Di awal tahun 2010, mobile game berkembang sangat pesat (terutama di smartphone) hingga dapat mengimbangi portable game device

sehingga mobile game menjadi sangat diminati (Zechner, 2011).

Penulis memilih perangkat smartphone android untuk menjalankan game

didasari oleh pertimbangan keleluasan interaksi pengguna terhadap layar sentuh serta harga smartphone android yang relatif terjangkau. Penulis juga mengharapkan bahwa game yang dibuat dalam perangkat smartphoneandroid ini bersifat menghibur, menarik dan berpotensi membantu proses edukasi.

(17)

2

perkembangan game berbasis android ini. Game tersebut menerapkan

AI(Artificial intelligence) untuk melawan pemain agar pemain berusaha berpikir untuk mengalahkan AI. Contoh game berbasis android yang menerapkan AI

adalah chess, checkers, reversi dan mill.

Dari sekian banyak game android yang menerapkan kecerdasan buatan (artificial intelligence), salah satu yang menarik untuk dijadikan objek penelitian yaitu permainan Mill.

Mill adalah sebuah permainan papan (board game) yang sudah sangat tua, bahkan salah satu yang tertua sepanjang sejarah. Permainan ini banyak ditemukan di berbagai negara. Permainan Mill menggunakan 12 bidak untuk masing-masing pemain (pemain dan AI ). Pemain yang menang adalah pemain yang berhasil menempatkan 3 bidak masing-masing pemain dalam suatu garis lurus yang dapat berupa garis horisontal, vertikal, ataupun diagonal.

Dalam penelitian ini penulis akan menggunakan algoritma Greedy pada permainan Mill ini. Hal ini dikarenakan penggunaan algoritma Greedy

memecahkan masalah langkah per langkah yang dalam setiap langkahnya mengambil pilihan terbaik yang terdapat pada saat itu tanpa mempedulikan konsekuensi ke depannya, dalam hal ini adalah peletakan bidak oleh AI . Hal ini disebut sebagai optimum lokal. Harapan dari algoritma ini dapat membentuk suatu penyelesaian atau optimum global suatu masalah dari optimum lokalnya.

Beberapa penelitian yang menggunakan algoritma Greedy antara lain Hayati (2007) pada permainan Congklak , Kemit (2011) pada permainan Ludo.

1.2. Rumusan Masalah

(18)

1.3. Batasan Masalah

Agar penelitian terarah dari apa yang sudah dirumuskan maka diperlukan batasan masalah. Batasan masalah dalam penelitian ini :

1. Permainan Mill dimainkan oleh 2 pemain (Pemain dan AI)

Tujuan dari penelitian ini adalah sebagai berikut :

1. Menerapkan algoritma Greedy pada permainan Mill untuk mendapatkan langkah terbaik yang dilakukan AI.

2. Mengimplementasi permainan Mill dalam bentuk permainan mobile phone

berbasis android.

1.5. Manfaat Penelitian

Manfaat dari penelitian ini adalah mengasah intiusi/strategi bermain pemain untuk melawan AI pada permainan Mill.

1.6. Metodologi Penelitian

Metodologi penelitian yang digunakan untuk menyelesaikan tugas akhir ini adalah sebagai berikut :

1. Studi Literatur

Pada tahap ini dilakukan studi literatur mengenai permainan Mill, algoritma Greedy dan android dari berbagai buku, jurnal maupun internet.

2. Analisis

(19)

4

3. Perancangan dan Implementasi Sistem

Pada tahap ini dilakukan perancangan sesuai dengan hasil dari analisis sistem serta mengimplementasikan hasil dari analisis dan perancangan ke dalam sistem.

4. Pengujian

Pada tahap ini dilakukan pengujian sistem apakah aplikasi berjalan sesuai dengan tujuan penelitian atau tidak.

5. Penyusunan Laporan

Pada tahap ini dilakukan dokumentasi hasil penerapan Greedy pada permainan Mill yang bertujuan untuk menunjukkan hasil penelitian ini.

1.7. Sistematika Penulisan

Adapun bagian utama dari sistematika penulisan skripsi ini yaitu :

BAB 1. PENDAHULUAN

Bab ini berisi latar belakang diangkatnya judul skripsi, perumusan masalah yang diambil, batasan-batasan masalahnya, tujuan dan manfaat penelitian, metodologi penulisan, dan sistematika penulisan dari penyusunan skripsi ini.

BAB 2. LANDASAN TEORI

Bab ini menjelaskan mengenai landasan teori dari penelitian.

BAB 3. ANALISIS DAN PERANCANGAN

Bab ini menjelaskan mengenai analisis algoritma Greedy untuk pencarian langkah terbaik AI dan perancangan aplikasi pada permainan Mill berbasis android.

BAB 4. IMPLEMENTASI DAN PENGUJIAN APLIKASI

(20)

BAB 5. KESIMPULAN DAN SARAN

(21)

BAB 2

LANDASAN TEORI

2.1. Kecerdasan Buatan (Artificial intelligence)

Kecerdasan buatan atau artificial intelligence merupakan salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia. Pada awal diciptakannya, komputer hanya difungsikan sebagai alat hitung saja. Namun seiring dengan perkembangan jaman, maka peran komputer semakin mendominasi kehidupan umat manusia. Komputer tidak lagi hanya digunakan sebagai alat hitung, lebih dari itu, komputer diharapkan untuk dapat diberdayakan untuk mengerjakan segala sesuatu yang bisa dikerjakan oleh manusia (Kusumadewi,2003).

2.2. Game Playing

Dalam beberapa tahun terakhir Ar tificia l intelligence (AI) telah menjadi garis depan dalam industri game. Hampir semua game sekarang membutuhkan AI

untuk membuat komputer seolah-olah tampak cerdas. Konsep cerdas dibutuhkan untuk mengontrol dan mengklasifikasi karakter pemain atau bukan. Program pertama yang dibuat AI adalah ga me pla ying. Sejarah teori game dimulai dari tahun 1950, ketika komputer mulai dapat diprogram. Ga me

pertama yang menggunakan AI adalah catur. Inisiator teori game dalam AI

adalah Konard Zuse, Claude Shannon, Norbert Wiener, dan Alan Turing. Sejak saat itu, mulai ada kemajuan dalam standard bermain game, sampai-sampai komputer dapat mengalahkan manusia dalam permainan catur, dan dalam banyak game kompetitif lainnya(Sutojo,2011).

(22)

kedua pemain. Game P la ying merupakan problem pencarian yang didefinisikan oleh beberapa komponen berikut ini.

1. Keadaan awal (initial state), yaitu keadaan yang mendefinisikan konfigurasi awal permainan dan mengidentifikasi pemain pertama yang bergerak.

2. Fungsi Penerus (successor function), yang bertugas mengidentifikasi kemungkinan-kemungkinan yang dapat dicapai dari keadaan saat ini. 3. Goa l test, yang bertugas untuk memeriksa apakah suatu keadaan

tertentu adalah kedaan tujuan atau bukan.

4. P a th Cost, yang memberikan nilai numerik untuk keadaan-keadaan dalam permainan.

2.3. Mobile Games

Mobile games secara garis besar diartikan sebagai permainan yang dimainkan pada perangkat mobile seperti telepon genggam, PDA, smartphone, ataupun perangkat permainan portabel (contoh Nintendo Gameboy dan PlayStation Portable).

Penelitian, pengembangan, dan pengujian terhadap mobile games telah membawa masalah dan pertanyaan yang tidak bisa diselesaikan oleh model desain lama. Mobile games mengubah hubungan antara manusia dan komputer yang berakibat tidak hanya dari cara bermain tetapi desain antarmuka dan juga interaksi struktur juga berubah. Kegiatan pemain berubah. Pemain tidak duduk di depan perangkat mereka lagi tetapi benar-benar bisa bergerak bebas sambil bermain (Grueter et al, 2005).

2.4. Permainan Mill

(23)

8

bentuk papan permainan yang sama dengan papan permainan Twelve Men's Morris Twelve Men's Morris yang terbentuk dari 24 node, 8 path horisontal, 8

path vertikal, dan 4 path diagonal. Untuk lebih jelasnya berikut tampilan papan permainan Mill.

Gambar 2.1 Papan Permainan Mill

2.5. Algoritma Greedy

Secara bahasa, greedy memiliki arti rakus atau tamak. Algoritma greedy adalah algoritma yang membentuk solusi langkah demi langkah. Pada setiap langkahnya terdapat banyak pilihan yang perlu dieksplorasi dan pada setiap langkahnya harus dibuat keputusan yang terbaik dalam menentukan pilihan. Prinsip Algoritma

Greedy adalah ”take what you can get now!”. Maksud dari prinsip tersebut adalah pada setiap langkah dalam Algoritma Greedy diambil keputusan yang paling optimal untuk langkah tersebut tanpa memperhatikan konsekuensi pada langkah selanjutnya. Hal ini disebut sebagai optimum lokal. Harapan dari algoritma ini dapat membentuk suatu penyelesaian atau optimum global suatu masalah dari optimum lokalnya.(Munir,2007).

Dalam penerapan algoritma greedy diperlukan elemen-elemen sebagai berikut:

1. Himpunan Kandidat

(24)

Merupakan Himpunan yang telah berisi solusi-solusi yang telah diterima sebagai langkah penyelesaian atau optimum lokal.

3. Fungsi Seleksi

Merupakan fungsi pembatas yang mensortir himpunan kandidat menjadi calon himpunan solusi

4. Fungsi Kelayakan

merupakan fungsi yang memeriksa apakah suatu kandidat yang telah dipilih dapat memberikan solusi yang layak, yakni kandidat tersebut bersama-sama dengan himpunan solusi yang sudah terbentuk tidak melanggar kendala yang ada.

5. Fungsi Obyektif

Fungsi yang memaksimalkan nilai solusi sesuai dengan permasalahannya

2.6. Android

Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi (Safaat, 2012). Android

merupakan generasi baru platform mobile, platform yang memberikan pengembang untuk melakukan pengembangan sesuai dengan yang diharapkannya. Sistem operasi yang mendasari Android dilisensikan dibawah GNU, yang sering dikenal dengan 'copyleft' lisensi dimana setiap perbaikan pihak ketiga harus terus jatuh dibawah terms. Android didistribusikan dibawah Lisensi Apache Software(ASL/Apache2), yang memungkinkan untuk distribusi kedua dan seterusnya. Pengembang aplikasi Android diperbolehkan untuk mendistribusikan aplikasi mereka dibawah skema lisensi apapun yang mereka inginkan.

Kelebihan android (Gargenta, 2011) :

1. Comprehensive platform, yang artinya softwarenya lengkap pada mobile devices.

2. Open source platform, pengembang dapat menggunakan dan

mengembangkannya secara gratis dan memiliki akses terhadap source code platform tersebut.

(25)

10

Arsitektur platform Android dapat dilihat pada gambar 2.2

Gambar 0.2 Arsitektur platformAndroid (Zechner, 2011)

a. Applications

Applications merupakan program yang langsung berhubungan dengan user. Baik program yang merupakan bawaan dari Android sendiri maupun program yang dibuat oleh developer menggunakan bahasa pemrograman java. Contoh program bawaan dari platform Android sendiri adalah email client, program SMS,

calendar, maps, web browser, contact dan sebagainya.

b. Application Framework

Lapisan ini berisi sekumpulan API yang dapat digunakan oleh programmer

maupun core application dari android. Lapisan ini dirancang untuk memudahkan penggunaan komponen dari Android sendiri. Aplikasi manapun dalam Android

dapat berbagi fungsi sehingga aplikasi lain dapat memanfaatkannya.

Aplikasi pada Android disusun atas beberapa komponen :

1. Sekumpulan views. Digunakan untuk mengatur tampilan pada aplikasi. Contohnya adalah lists, grid, text box, button, bahkan embeddable web browser.

(26)

3. Resource manager. Menyediakan akses kepada resource non-code seperti

localized string, dan file layout.

4. Notification manager. Memungkinkan agar suatu aplikasi dapat menampilkan peringatan yang dapat dikustomasi pada status bar.

5. Activity manager. Mengatur siklus aplikasi dan navigasi antar aplikasi yang sedang berjalan.

c. Libraries

Android mendukung beberapa library C/C++ yang digunakan pada berbagai komponen Android. Kemampuan ini dapat diakses oleh developer melalui

Androidapllication framework.

d. AndroidRuntime

Tiap aplikasi pada Android memiliki proses nya masing-masing. Tiap aplikasi tersebut memiliki instans dari Dalvik virtual machine (VM). Dalvik virtual machine dirancang agar suatu perangkat dapat menjalankan beberapa VM secara efisien. Dalvik VM mengeksekusi file dengan format Dalvik executable format

(.dex) yang dirancang untuk meminimalkan memoryfootprint.

Dalvik VM berbasis register dan dapat menjalankan kelas-kelas yang dikompilasi dengan bahasa pemrograman java dan ditransformasikan menjadi format .dex. Dalvik VM sendiri bergantung pada kernel Linux untuk fungsi dasarnya, seperti threading dan manajemen memori secara low-level.

e. Linux Kernel

(27)

12

manajemen proses, manajemen jaringan, dan driver model. Kernel juga berfungsi sebagai layer abstrak antara hardware dan lapisan lainnya pada software stack.

2.7. UML (Unified Modelling Language)

UML digunakan untuk menggambarkan perancangan awal dari sistem yang akan dibangun. UML memiliki banyak jenis permodelan, tetapi hanya beberapa yang digunakan saja yang akan dibahas. UML merupakan suatu bahasa. Suatu bahasa terdiri dari kata-kata, dan memiliki aturan untuk menggabungkan kata-kata tersebut, sehingga tercipta komunikasi. Sebuah permodelan bahasa adalah suatu bahasa dimana kata-kata dan aturannya berfokus pada penggambaran sistem secara konseptual dan fisik. Sebuah permodelan bahasa seperti UML telah menjadi bahasa standar untuk merencanakan suatu aplikasi (Booch,2005).

Hasil dari permodelan tadi adalah pengertian dari suatu sistem. Satu model saja tidak cukup untuk menggambarkan sistem secara keseluruhan, maka dibutuhkan banyak model yang berhubungan satu dengan yang lainnya untuk memberikan pengertian pada dasar dari sistem.

Keuntungan UML sebagai berikut :

- Sebagai bahasa pemodelan yang general-purpose, difokuskan pada pokok himpunan konsep yang dapat dipakai bersama dan menggunakan pengetahuan bersama dengan mekanisme perluasan.

- Sebagai bahasa pemodelan yang mudah diaplikasikan, dapat diaplikasikan untuk bermacam tipe sistem (software dan non-software), domain dan metode atau proses.

(28)

2.8. Penelitian Terdahulu

Algoritma greedy telah banyak diterapkan dalam penelitian untuk program-program game. Beberapa penelitian yang pernah dilakukan untuk menyelesaikan permasalahan dari suatu game (permainan) dengan menggunakan algoritma

greedy antara lain untuk permainan Congklak(Hayati,2007) dan permainan Ludo(Kemit,2011).

Hayati menggunakan algoritma greedy pada pencarian beberapa solusi optimum dalam permaianan congklak. Permainan congklak adalah sejenis permainan tradisional yang cukup dikenal di berbagai daerah. Permainan ini bertujuan untuk mendapatkan sebanyak-banyaknya biji congklak. Dengan algoritma greedy akan ditentukan lubang yang akan dimainkan untuk menembak lubang lawan dan mendapatkan biji terbanyak.

Kemit menggunakan algoritma greedy pada penentuan langkah dalam permainan ludo. Permainan ludo adalah sebuah permainan papan yang dimainkan hampir seluruh belahan dunia. Permainan ini dimenangkan dengan memindahkan pion-pion yang kita miliki menuju kotak tujuan. Berbagai taktik dapat digunakan untuk mencapai tujuan tersebut. Dengan algoritma greedy akan ditentukan langkah pion untuk memajukan pion, memukul pion lawan, menghalangi pion lawan.

Tabel 2.1 Penelitian Terdahulu

No Peneliti Algoritma Kasus Tahun

1 Hayati Greedy Penentuan langkah

permainan Congklak

2007

2 Kemit Greedy Penentuan langkah

permaianan Ludo

(29)

BAB 3

ANALISIS DAN PERANCANGAN

Dalam bab ini akan dibahas mengenai analisis sistem dan perancangan aplikasi permaian Mill. Penulis mencoba membuat suatu aplikasi permainan Mill yang menerapkan kecerdasan buatan pada komputer yang akan dilawan . Penulis juga mencoba menjelaskan bagaimana cara kerja kecerdasan buatan pada permainan

Mill. Dalam hal ini, penulis menggunakan algoritma Greedy.

3.1. Analisis Permainan

Berikut ini aturan permainan yang ditetapkan oleh penulis untuk aplikasi permainan Mill :

1. Pemain berlomba membentuk 3 bidak segaris (Mill) di path yang tersedia pada papan permainan.

2. Pemain dapat memilih mode melawan komputer atau teman.

3. Pemain dapat memilih mode permainan Lomba 1 Mill atau Lomba Banyak

Mill.

4. Untuk mode melawan komputer, pemain dapat memilih tingkat kesulitan mudah,menengah atau sulit.

5. Pemain dapat memilih siapa yang terlebih dahulu main(pemain atau komputer) dan jumlah putaran permainan yang diinginkan (untuk mode Lomba Banyak

Mill).

6. Untuk mode Lomba 1 Mill , pemain berlomba dengan komputer untuk membentuk sebuah Mill di path yang tersedia. Permainan selesai saat pemain atau komputer telah membentuk sebuah Mill di salah satu path. Permainan juga selesai saat seluruh path pada permaian telah terisi bidak.

(30)

3.2. Fungsi Prioritas dan Analisis Algoritma Greedy

3.2.1. Fungsi Prioritas

Untuk membangun kecerdasan buatan pada komputer, penulis membuat sebuah fungsi prioritas berdasarkan strategi yang diterapkan. Fungsi prioritas inilah yang menjadi strategi peletakan bidak oleh komputer di path yang tersedia pada papan permainan. Berikut tabel fungsi prioritas yang digunakan oleh penulis :

Tabel 3.1 Fungsi Prioritas

(31)

16

Penulis memberikan nilai prioritas berbeda pada No.3 dan No.6 dikarenakan penulis bertujuan agar komputer bisa menyerang dan lebih memilih meletakkan bidaknya pada path yang berisi 2 bidaknya (No.6) untuk membentuk

mill karena nilai prioritasnya (200) lebih besar daripada harus bertahan untuk memblockpath berisi 2 bidak pemain (No.3) yang nilai prioritasnya (100) lebih kecil. Sama halnya dengan No.2 dan No.5 ,komputer akan memilih meletakkan bidaknya pada path yang bernilai prioritas lebih tinggi. Untuk No.1 penulis memberikan nilai prioritas 0 untuk semua path yang belum terisi bidak sama sekali. Untuk no.4 penulis memberikan nilai prioritas 1 saat 1 bidak pemain dan 1 bidak komputer ada di path tersebut.

3.2.2. Analisis Algoritma Greedy

Penulis membangun kecerdasan buatan (AI) komputer dengan menerapkan algoritma Greedy . Algoritma Greedy dipadukan dengan fungsi prioritas yang sudah disebutkan sebelumnya untuk penelusuran kemungkinan langkah terbaik yang akan dipilih komputer. Adapun elemen-elemen algoritma Greedy yang digunakan daladalah sebagai berikut :

1. Himpunan Kandidat (HK) : himpunan path yang ada dalam papan permainan Mill yaitu H1, H2, H3, H4, H5, H6, H7, H8, V1, V2, V3, V4, V5, V6, V7, V8, D1, D2, D3, D4.

2. Fungsi Prioritas (FP) : seperti penjelasan pada Tabel 3.1.

3. Himpunan Solusi (HS) : Himpunan path yang tidak bernilai prioritas 0 (berisi bidak)

4. Fungsi Seleksi dan Kelayakan (FSK) : seleksi path yang bernilai prioritas paling tinggi dari Himpunan Solusi.

(32)

Penulis mengambil sebuah sampel permainan untuk dianalisis menggunakan algoritma greedy. Penjelasan analisis terebut adalah sebagai berikut

Gambar 3.1 Giliran ke-1 (Pemain)

Pada gambar 3.1 penulis dapat membuat tabel penjelasan penerapan algoritma greedy sebagai berikut

Tabel 3.2 Giliran ke-1 (Pemain)

HK H1 H2 H3 H4 H5 H6 H7 H8 V1 V2 V3 V4 V5 V6 V7 V8 D1 D2 D3 D4

FP 10 0 0 0 0 0 0 0 10 0 0 0 0 0 0 0 10 0 0 0

HS H1, V1, D1

FSK H1, V1, D1

FO V1

(33)

18

Gambar 3.2 Giliran ke-2 (Komputer)

Tabel 3.3 Giliran ke-2 (Komputer)

Gambar 3.3 Giliran ke-3 (Pemain)

HK H1 H2 H3 H4 H5 H6 H7 H8 V1 V2 V3 V4 V5 V6 V7 V8 D1 D2 D3 D4

FP 10 0 0 20 0 0 0 0 1 0 0 0 0 0 0 0 10 0 0 0

HS -

FSK -

FO -

(34)

Tabel 3.4 Giliran ke-3 (Pemain)

HK H1 H2 H3 H4 H5 H6 H7 H8 V1 V2 V3 V4 V5 V6 V7 V8 D1 D2 D3 D4

FP 100 0 0 20 0 0 0 0 1 0 0 10 0 0 0 0 10 0 0 0

HS H1, H4, V1, V4, D1

FSK H1

FO H1

Ket Komputer memilih meletakkan bidak pada node yang ada di path H1 (lihat Gambar 3.4)

Gambar 3.4 Giliran ke-4 (Komputer)

Tabel 3.5 Giliran ke-4 (Komputer)

HK H1 H2 H3 H4 H5 H6 H7 H8 V1 V2 V3 V4 V5 V6 V7 V8 D1 D2 D3 D4

FP - 0 0 20 0 0 0 0 1 0 0 10 0 0 0 20 10 20 0 0

HS -

FSK -

FO -

(35)

20

Gambar 3.5 Giliran ke-5 (Pemain)

Tabel 3.6 Giliran ke-5 (Pemain)

Gambar 3.6 Giliran ke-6 (Komputer)

HK H1 H2 H3 H4 H5 H6 H7 H8 V1 V2 V3 V4 V5 V6 V7 V8 D1 D2 D3 D4

FP - 0 0 20 0 10 0 0 1 0 0 10 10 0 0 20 10 20 0 0

HS H4, H6, V1, V4, V5, V8, D1, D2

FSK H4, V8, D2

FO D2

(36)

Tabel 3.7 Giliran ke-6 (Komputer)

HK H1 H2 H3 H4 H5 H6 H7 H8 V1 V2 V3 V4 V5 V6 V7 V8 D1 D2 D3 D4

FP - 20 0 20 0 10 0 0 1 0 0 10 10 0 20 20 10 200 0 0

HS -

FSK -

FO -

Ket Komputer menunggu langkah pemain selanjutnya untuk dievaluasi ( Lihat Gambar 3.7 )

Gambar 3.7 Giliran ke-7 (Pemain)

Tabel 3.8 Giliran ke-7 (Pemain)

HK H1 H2 H3 H4 H5 H6 H7 H8 V1 V2 V3 V4 V5 V6 V7 V8 D1 D2 D3 D4

FP - 1 0 20 0 10 0 0 1 0 0 100 10 0 20 20 10 200 0 0

HS H2, H4, H6, V1, V4, V5, V7, V8, D1, D2

FSK D2

FO D2

(37)

22

Gambar 3.8 Giliran ke-8 (Komputer)

Tabel 3.9 Giliran ke-8 (Komputer)

Pada Gambar 3.8 terlihat Komputer berhasil membuat Mill pada path D2. Dengan demikian Komputer berhasil mengalahkan Pemain pada giliran ke-8.

3.3. Perancangan Sistem

Pada bagian ini penulis akan menguraikan gambaran aplikasi yang akan dirancang dan sebagai tahapan persiapan sebelum penerapan dan pengimplementasian di

Android.

HK H1 H2 H3 H4 H5 H6 H7 H8 V1 V2 V3 V4 V5 V6 V7 V8 D1 D2 D3 D4

FP - 1 20 20 0 10 0 0 1 0 0 100 10 20 20 20 10 - 0 0

HS -

FSK -

FO -

(38)

3.3.1 Flowchart Algoritma Greedy

Flowchart Algoritma Greedy yang diterapkan dalam permainan Mill menunjukkan proses evaluasi terhadap penentuan langkah terbaik yang dapat dilakukan AI. Flowchart Algoritma Greedy tersebut dapat dilihat pada gambar

START

Gambar 3.9 Flowchart Algoritma Greedy

3.3.2 Flowchart Aplikasi

(39)

24

salah satu dari menu tersebut, aplikasi akan menampilkan halaman lainnya. Alur

(flowchart) dari aplikasi permainan dapat dilihat pada gambar START

(40)

3.3.3 Pemodelan Visual Menggunakan UML

Dalam perancangan aplikasi permainan, penulis menggunakan bahasa pemodelan UML. Model UML yang digunakan antara lain use case diagram dan activity diagram.

Use Case adalah deskripsi fungsi sebuah sistem dari perspektif pengguna.

Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara user(pengguna) dengan sistem itu sendiri melalui sebuah cerita bagaimana sistem dipakai. User (pengguna) biasanya disebut dengan actor. Actor yang berperan dalam sistem ini adalah pemain dan AI.

Untuk mendapatkan use case dari actor ,maka terlebih dahulu ditentukan interaksi apa saja yang dapat dilakukan actor terhadap sistem. Berikut interaksi yang dapat dilakukan actor terhadap sistem :

1. Mulai Lawan Komputer 2. Mulai Lawan Teman 3. Melihat Statistik 4. Melihat Panduan 5. Melihat Tentang

Activity diagram adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah

(41)

26

Gambar 3.11 Use Case Aplikasi

Tabel dokumentatif dan Activity Diagram dari Use Case aplikasi pada Gambar 3.10 adalah sebagai berikut

Tabel 3.10 Use Case Mulai Lawan Komputer

Nama Use Case Mulai Lawan Komputer

Aktor Pemain

Deskripsi Use case ini berfungsi untuk memulai permainan

Pre Condition Pemain memilih menu Lawan Komputer pada Menu Utama

Flow Of Events Kegiatan Aktor Respon Sistem

- Pemain menekan tombol Lawan Komputer pada halaman Menu Utama

(42)

Activity diagram untuk use case Mulai Lawan Komputer dapat dilihat pada gambar 3.12

Pemain Sistem

Menekan Tombol Lomba 1 Mill/Banyak Mill

Menampilkan pilihan duluan main,level,jlh putaran

Menekan Tombol "Back"

Menutup Halaman Lawan Komputer

Gambar 3.12 Activity Diagram Mulai Lawan Komputer

(43)

28

Tabel 3.11 Use Case Mulai Lawan Teman

Pemain Sistem

Menekan Tombol "Lawan Teman"

Menampilkan Pilihan Lomba 1 Mill dan Banyak Mill

Menekan Tombol "Back"

Menutup Halaman Lawan Teman

Gambar 3.13 Activity Diagram Mulai Lawan Teman Nama Use Case Mulai Lawan Teman

Aktor Pemain

Deskripsi Use case ini berfungsi untuk memulai permainan

Pre Condition Pemain memilih menu Lawan Teman pada Menu Utama

Flow Of Events Kegiatan Aktor Respon Sistem

- Pemain menekan tombol Lawan Teman pada halaman Menu Utama

- Pilhan mode Lomba 1 Mill dan Lomba Banyak Mill ditampilkan

(44)

Tabel 3.12 Use Case Memilih Duluan Main, Level dan Jumlah Putaran

Pemain Sistem

Menekan Tombol Lomba 1 Mill/Banyak Mill

Menampilkan pilihan duluan main,level,jlh putaran

Menekan Tombol "Back"

Menutup Halaman Lomba 1 Mill / Banyak Mill

Gambar 3.14 Activity Diagram Memilih Duluan Main, Level dan Jumlah Putaran Nama Use Case Memilih Duluan Main, Level dan Jumlah Putaran

Aktor Pemain

Deskripsi Use case ini berfungsi untuk memilih konfigurasi sebelum bermain

Pre Condition Pemain memilih menu Lomba 1 Mill atau Lomba Banyak Mill

Flow Of Events Kegiatan Aktor Respon Sistem

- Pemain menekan tombol Lomba 1 Mill tau Lomba Banyak Mill

- Pilihan konfigurasi Duluan Main, Level dan Jumlah Putaran ditampilkan

(45)

30

Tabel 3.13 Use Case Bermain

Pemain Meletakkan Bidak

Mengupdate papan permainan

Pemain Sistem

Gambar 3.15 Activity Diagram Bermain

Nama Use Case Bermain

Aktor Pemain

Deskripsi Use case ini berfungsi untuk memulai permainan dengan meletakkan bidak ke papan permainan Mill

Pre Condition Papan permainan sudah ditampilkan di layar

Flow Of Events Kegiatan Aktor Respon Sistem

-Pemain dan komputer mulai meletakkan bidak di papan permainan

-Sistem mengupdate papan permainan

(46)

Tabel 3.14 Use Case Evaluasi Langkah

Cek papan permainan

Evaluasi Nilai Langkah

Memilih Langkah Terbaik

AI Meletakkan Bidak

Mengupdate Papan Permainan

AI Sistem

Gambar 3.16 Activity Diagram Evaluasi Langkah Nama Use Case Evaluasi langkah

Aktor AI

Deskripsi Use case ini berfungsi untuk mengevaluasi langkah AI yang akan dijalankan pada gilirannya.

Pre Condition Pemain telah meletakkan bidaknya

Flow Of Events Kegiatan Aktor Respon Sistem

-AI mengecek papan permainan -AI mengevaluasi nilai langkah -AI memilih langkah terbaik -AI meletakkan bidak

- Sistem mengupdate papan permainan

(47)

32

Tabel 3.15 Use Case Statistik

Menekan Tombol "Statistics"

Menampilkan Halaman Statistics

Menekan Tombol "Back"

Menutup Halaman Statistics

Pemain Sistem

Gambar 3.17 Activity Diagram Statistik Nama Use Case Lihat Statistik

Aktor Pemain

Deskripsi Use case ini berfungsi untuk melihat statistik menang/kalah pemain melawan AI

Pre Condition Pemain memilih menu Statistics pada halaman Menu Utama

Flow Of Events Kegiatan Aktor Respon Sistem

-Pemain menekan tombol Statistics pada halaman menu utama

-Menampilkan Halaman Statistik

(48)

Tabel 3.16 Use Case Panduan

Menekan Tombol "Panduan"

Menampilkan Halaman Panduan

Menekan Tombol "Back"

Menutup Halaman Panduan

Pemain Sistem

Gambar 3.18 Activity Diagram Panduan Nama Use Case Lihat Panduan

Aktor Pemain

Deskripsi Use case ini berfungsi untuk melihat bantuan dan tata cara bermain aplikasi Mill

Pre Condition Pemain memilih menu Panduan pada halaman Menu Utama

Flow Of Events Kegiatan Aktor Respon Sistem

-Pemain menekan tombol Panduan pada halaman menu utama

-Sistem menampilkan halaman Panduan

- Menutup halaman Panduan

(49)

34

Tabel 3.17 Tabel Use Case Tentang

Menekan Tombol "Tentang"

Menampilkan Halaman Tentang

Menekan Tombol "Back"

Menutup Halaman Tentang

Pemain Sistem

Gambar 3.19 Activity Diagram Tentang Nama Use Case Lihat Tentang

Aktor Pemain

Deskripsi Use case ini berfungsi untuk melihat tentang latar belakang game yang dibuat.

Pre Condition Pemain memilih menu Tentang pada halaman Menu Utama

Flow Of Events Kegiatan Aktor Respon Sistem

-Pemain menekan tombol Tentang pada halaman menu utama

-Sistem menampilkan halaman Tentang

(50)

3.4. Transisi Layar dan Antarmuka

3.4.1 Transisi Layar

Transisi layar merupakan pergantian layar atau halaman permainan dari satu halaman ke halaman lain. Transisi layar terjadi sesaat setelah user menekan tombol yang tampak di layar.

Penulis menggambarkan diagram transisi layar yang dapat terjadi di dalam sistem. Berikut diagram transisi layar pada sistem. Pada Menu Utama terdiri dari 5 tombol antara lain tombol Lawan Komputer, Lawan Teman, Statistik, Panduan, dan Tentang yang jika diklik salah satunya akan mentransisi ke halaman baru.

Menu Utama Lawan Komputer

Panduan Lawan Teman

Statistik Tentang

Gambar 3.20 Transisi Layar

3.4.2 Antarmuka

(51)

36

a. Halaman Menu Utama

Halaman ini adalah halaman yang pertama muncul saat aplikasi dijalankan. Pada layar perangkat akan muncul halaman Menu Utama yang menampilkan logo,

background image, dan beberapa tombol antara lain tombol Lawan Komputer, tombol Lawan Teman, tombol Statistik, tombol Panduan, dan tombol Tentang. Berikut rancangan tampilan halaman Menu Utama.

LOGO

Lawan Komputer

Lawan Teman

Statistik

Panduan

Tentang

Gambar 3.21 Antarmuka Halaman Menu Utama

b. Halaman Lawan Komputer dan Lawan Teman

(52)

Lomba 1 MIll

Lomba Banyak MIll

LOGO

Gambar 3.22 Antarmuka Lawan Komputer dan Lawan Teman

c. Halaman Statistik

Berikut rancangan tampilan halaman Statistik.

PEMENANG LEVEL

KOMPUTER PEMAIN LEVEL

Gambar 3.23 Antarmuka Halaman Statistik

d. Halaman Panduan

(53)

38

PANDUAN

Gambar 3.24 Antarmuka Halaman Panduan

e. Halaman Tentang

Berikut rancangan tampilan halaman Tentang.

TENTANG

Gambar 3.25 Antarmuka Halaman Tentang

f. Papan Permainan

(54)

LOGO

Papan Permainan

Bidak

Player 12 12 Bidak AI

(55)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

Implementasi dan pengujian sistem sesuai dengan analisis dan perancangan sistem pada bab sebelumnya akan dijelaskan pada bab ini. Penjelasan tentang implementasi sistem dilakukan untuk mengetahui hasil dari aplikasi yang dirancang dan pengujian sistem dilakukan untuk membuktikan jika aplikasi dapat berjalan baik pada perangkat Android.

4.1 Implementasi

Implementasi aplikasi Permainan Mill dibuat menggunakan bahasa pemrograman

Java berbasis Android dengan menggunakan Android Developer Tool (ADT) Eclipse JunoBuild: v21.1.0-569685.

4.1.1 Spesifikasi Perangkat Lunak

Adapun spesifikasi perangkat lunak yang digunakan dalam membangun dan menjalankan software adalah :

1. Windows 7 Home Premium 64-bit

2. Eclipse Juno

3. Android Operating System versi 4.2.2 (Jelly Bean)

4. CorelDRAW X4

Untuk perangkat android digunakan adalah LG G2.

4.1.2 Spesifikasi Perangkat Keras

Adapun spesifikasi perangkat keras yang digunakan dalam membangun dan menjalankan software adalah :

1. Processor: Intel(R)Core(TM)i7-2677M CPU T6500 @1.80GHz(4 CPUs).

2. Memory(RAM): 6 GB

3. Hard Disk 125 GB

(56)

4.2 Tampilan Aplikasi

4.2.1 Tampilan Halaman Menu Utama

Pada halaman menu utama ditampilkan tombol-tombol menu yang dapat dipilih pemain diantaranya menu lawan komputer untuk melawan AI, menu lawan teman untuk melawan pemain lain secara bergantian (bermain dalam 1 perangkat) , dan menu statistik untuk melihat riwayat hasil pertandingan sebelumnya dari pemain baik melawan AI ataupun melawan teman. Tampilan halaman menu utama pada permainan Mill dapat dilihat pada gambar 4.1.

Gambar 4.1 Tampilan Halaman Menu Utama

4.2.2 Tampilan Halaman Menu Lawan Komputer

(57)

42

sebanyak-banyaknya hingga akhir putaran permainan. Menu Tampilan halaman menu lawan komputer dapat dilihat pada gambar 4.2

Gambar 4.2 Halaman Lawan Komputer

4.2.2.1 Pilihan Lomba 1 Mill lawan komputer

(58)

Gambar 4.3 Pilihan Lomba 1 Mill Lawan Komputer

4.2.2.2 Pilihan Lomba Banyak Mill lawan komputer

Tampilan pilihan lomba banyak mill pada halaman lawan komputer hampir sama dengan tampilan pilihan lomba 1 mill tetapi dalam kotak dialog pilihan lomba banyak mill ini, penulis menambahkan pilihan jumlah putaran yang akan dimainkan. Tampilan pilihan lomba banyak mill lawan komputer dapat dilihat pada gambar 4.4

(59)

44

4.2.3 Tampilan Halaman Menu Lawan Teman

Tampilan halaman menu lawan teman hampir sama dengan tampilan halaman lawan komputer tetapi dalam menu lawan teman ini, lomba 1 mill dan lomba banyak mill diperlombakan untuk 2 pemain yang menggunakan perangkat. Tampilan halaman menu lawan teman dapat dilihat pada gambaar 4.5

Gambar 4.5 Halaman Lawan Teman

4.2.3.1 Pilihan Lomba 1 Mill Lawan Teman

Tampilan pilihan lomba 1 Mill berisi kotak dialog yang hanya berisi pilihan siapa terlebih dahulu main ( pemain 1 atau pemain 2). Tampilan pilihan lomba 1 mill

(60)

Gambar 4.6 Pilihan Lomba 1 Mill Lawan Teman

4.2.3.2 Pilihan Lomba Banyak Mill Lawan Teman

Tampilan pilihan lomba banyak mill berisi kotak dialog yang berisi jumlah putaran permainan yang dimainkan dan pilihan siapa terlebih dahulu main (pemain 1 atau pemain 2). Tampilan pilihan lomba 1 mill lawan teman dapat dilihat pada gambar 4.7

(61)

46

4.2.4 Halaman Papan Permainan

Halaman papan permainan menampilkan papan permainan yang terbentuk dari 24 node yang akan diisi oleh bidak pemain maupun komputer. Pada papan permainan ini , penulis sudah menentukan pemain akan memakai bidak putih, sedangkan

komputer akan menggunakan bidak merah. Permainan dilakukan secara bergiliran dimulai dari pemain ataupun AI. Pada halaman papan permainan juga ditampilkan jumlah batu yang tersisa di bawah papan permainan, dimana setiap pemain maupun AI diberikan 12 batu masing-masing sebelum permaianan dimulai. Sedangkan setelah menekan tombol pilihan perangkat, akan muncul reset board

yang berguna mengkosongkan semua node yang berisi bidak. Tampilan halaman papan permainan dapat dilihat pada gambar 4.8

Gambar 4.8 Papan Permainan

Pemain dan komputer saling meletakkan bidak di papan, dan tampilan jumlah batu di bawah papan permainan pun berkurang. Pada permainan lomba 1 mill

(62)

yang berisi pemain atau komputer telah menang serta tombol menu untuk kembali ke menu utama dan tombol main lagi untuk memulai permainan baru. Tampilan notifikasi tersebut dapat dilihat pada gambar 4.9 dan gambar 4.10

Gambar 4.9 Notifikasi-1 Gambar 4.10 Notifikasi-2

(63)

48

Gambar 4.11 Notifikasi-3 Gambar 4.12 Notifikasi-4

4.2.5 Halaman Statistik

Halaman Statistik menampilkan riwayat permainan yang telah dimainkan oleh pemain. Tampilan halaman statistik dapat dilihat pada gambar 4.13

(64)

4.2.6 Halaman Panduan

Halaman Panduan menampilkan panduan cara bermain mill dapat dilihat pada gambar 4.14

Gambar 4.14 Halaman Panduan

4.2.7 Tentang

Halaman tentang menampilkan informasi pengembang aplikasi permainan mill

dapat dilihat pada gambar 4.15

(65)

50

4.3 Pengujian

Pengujian aplikasi merupakan proses pemeriksaan atau evaluasi sistem untuk mengetahui apakah aplikasi yang dibangun sudah dapat berjalan sesuai dengan yang diharapkan penulis dan pengguna. Pengujian aplikasi permainan mill

dilakukan pada LG G2. Adapun spesifikasi LG G2 yang digunakn adalah : 1. Sistem Operasi Android (Jelly Bean).

2. Layar sentuh 5.2"

3. Resolusi layar (1920 X 1080)

4.3.1 Pengujian Integrasi

Pada tahapan pengujian ini dilakukan evaluasi pada setiap proses dalam aplikasi permainan mill. Metode yang digunakan pada tahap pengujian aplikasi 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 ini , hasil eksekusi aplikasi akan dibandingkan dengan hasil yang diharapkan oleh penulis. Jika hasil eksekusi aplikasi sesuai dengan yang diharapkan, maka aplikasi dianggap berhasil. Sebaliknya, jika hasil eksekusi tidak sesuai harapan maka diperlukan perbaikan terhadap aplikasi.

4.3.2 Pengujian Antarmuka Aplikasi

(66)

Tabel 4.1 Kategori Pemberian Nilai

Untuk lebih jelasnya ,hasil kuesioner dapat dilihat pada lampiran B. Hasil penilaian antarmuka aplikasi yang diperoleh dapat dilihat pada Tabel 4.2

Tabel 4.2 Sasaran Penilaian antarmuka aplikasi

No. Sasaran Penilaian Sangat

Baik Baik Cukup Buruk

Dari hasil kuesionar antarmuka tersebut, kemudian dapatdihitung nilai setiap sasaran penilaian dengan menggunakan persamaan (1)

Qk = (f/N) * Ik (1)

dimana :

Qk = nilai setiap k (k=sangat baik ,baik,cukup,buruk dan sangat buruk)

No. Pilihan Jawaban Bobot Nilai

1. Sangat Baik 5

2. Baik 4

3. Cukup 3

4. Buruk 2

(67)

52

f = total responden dalam k N = jumlah responden Ik = nilai k

Berikut perhitungan terhadap sasaran penilaian berdasarkan persamaan (1).

1. Desain Aplikasi Secara Umum

Qsangat baik + Qbaik + Qcukup + Qburuk + Qsangat buruk = (1/8)*5 + (3/8)*4 + (4/8)*3 + (0/8)*2 + (0/8)*1 = 3,625

2. Tampilan papan permainan

Qsangat baik + Qbaik + Qcukup + Qburuk + Qsangat buruk = (4/8)*5 + (4/8)*4 + (0/8)*3 + (0/8)*2 + (0/8)*1 = 4,5

3. Warna papan permainan dan bidak

Qsangat baik + Qbaik + Qcukup + Qburuk + Qsangat buruk = (1/8)*5 + (5/8)*4 + (2/8)*3 + (0/8)*2 + (0/8)*1 = 3,875

4. Tampilan animasi permainan

(68)

5. Desain Tombol Menu

Qsangat baik + Qbaik + Qcukup + Qburuk + Qsangat buruk = (0/8)*5 + (2/8)*4 + (4/8)*3 + (2/8)*2 + (0/8)*1 = 2,9

Kemudian dapat dihitung nilai total keseluruhan dari aspek antarmuka dengan menggunakan persamaan (2).

Qtotal = ∑Qk/n (2)

dimana :

Qtotal = Nilai untuk keseluruhan penilaian n = jumlah sasaran penilaian

Sehingga diperoleh nilai keseluruhan sebagai berikut : Qtotal = (3,625 + 4,5 + 3,875 + 2,65 + 2,9) / 5

= 3,51

Qtotal yang didapatkan bernilai 3,51 yang berarti bahwa hasil penilaian pengguna terhadap aspek antar muka pengguna aplikasi permainan mill adalah 'Cukup' .

4.3.3 Pengujian Penggunaan Aplikasi

(69)

54

Tabel 4.3 Sasaran Penilaian penggunaan aplikasi

No. Sasaran Penilaian Sangat

Baik Baik Cukup Buruk

Dari hasil kuesionar penggunaan aplikasi tersebut, kemudian dapatdihitung nilai setiap sasaran penilaian. Berikut perhitungan terhadap sasaran penilaian berdasarkan persamaan (1).

1. Kemudahan menjalankan aplikasi

(70)

= (1/8)*5 + (5/8)*4 + (2/8)*3 + (0/8)*2 + (0/8)*1 = 3,875

Kemudian dapat dihitung nilai total keseluruhan dari aspek penggunaan aplikasi dengan menggunakan persamaan (2).

Qtotal = ∑Qk/n (2)

dimana :

Qtotal = Nilai untuk keseluruhan penilaian n = jumlah sasaran penilaian

Sehingga diperoleh nilai keseluruhan sebagai berikut : Qtotal = (4,375 + 4,75 + 3,875) / 3

= 4,33

(71)

BAB 5

KESIMPULAN DAN SARAN

5.1. Kesimpulan

Berdasarkan hasil analisa dan pengujian yang dilakukan pada bab sebelumnya, maka kesimpulan yang dapat diambil adalah sebagai berikut:

1. Algoritma Greedy dapat diterapkan dalam menemukan langkah terbaik yaitu peletakan bidak oleh AI.

2. Fungsi Prioritas yang dipadukan dengan Algoritma Greedy menjadikan AI

lebih kompetitif baik dalam memprioritaskan untuk membentuk Millnya sendiri ataupun untuk menghalangi pemain membentuk Mill.

5.1. Saran

Beberapa saran yang dapat penulis berikan untuk pengembangan selanjutnya antara lain :

1. Menggunakan algoritma lain yang lebih efisien dalam hal pencarian langkah terbaik membentuk Mill dibanding algoritma Greedy.

2. Menambah jumlah node dan path yang lebih banyak sehingga ruang pencarian lebih luas.

(72)

DAFTAR PUSTAKA

Booch, G. Rumbaugh, J. Jacobsoon, I. (2005). Unified Modelling Language User Guide. Addison-Wesley Professional.

Coppin, Ben. 2004. Artificial intelligence Illuminated. United States of America: Jones and Bartlett.

Gargenta, M. 2011. Learning Android. United States of America: O’Reilly Media. Hayati, A. 2007. Beberapa implementasi algoritma greedy dalam permainan

congklak.

Kemit, L. 2011. Penentuan Langkah dengan Greedy dalam Permainan Ludo.

Kusumadewi, S., Artificial intelligence (Teknik dan Aplikasinya), Yogyakarta: Graha Ilmu, 2003

Munir, R. 2007. Strategi Algoritma . Teknik Informatika: Bandung.

Prasetyo, R.M.K. Penyelesaian Permainan Checkers Pada Mobile Device Berbasis Android Menggunakan Algoritma Iterative Deepening Search. Skripsi. Universitas Sumatera Utara

Russell, S. J. dan Norvig, P. 2010. Artificial intelligence: A Modern Approach.

Third Edition. New Jersey: Pearson Education.

Safaat H, N. 2012. Pemrograman Aplikasi Mobile Smartphone Dan Tablet PC Berbasis Android. Bandung: Informatika Bandung.

Samuel, J. 2007. Analisa penggunaan algoritma greedy pada permainan “fivelink” T. Sutojo, S.Si., M.Kom., Edy Mulyanto, S.Si., M.Kom., Dr. Vincent

Suhartono, Kecerdasaan Buatan, Yogyakarta : Andi, 2011 Zechner, M. 2011. Beginning Android Games. New York: Apress.

(73)

58

(74)

LAMPIRAN LISTING PROGRAM

int prioritas[] = new int[arrayMil.length];

for (int i = 0; i < arrayMil.length; i++) {

if (jumlahPemainPadaPathTarget[i] == 0

&& jumlahKomputerPadaPathTarget[i] == 0) {

prioritas[i] = 0;

} else if (jumlahPemainPadaPathTarget[i] == 1

&& jumlahKomputerPadaPathTarget[i] == 0) {

prioritas[i] = 10;

} else if (jumlahPemainPadaPathTarget[i] == 2

&& jumlahKomputerPadaPathTarget[i] == 0) {

prioritas[i] = 100;

} else if (jumlahPemainPadaPathTarget[i] == 1

&& jumlahKomputerPadaPathTarget[i] == 1) {

prioritas[i] = 1;

(75)

60

&& jumlahKomputerPadaPathTarget[i] == 1) {

prioritas[i] = 20;

} else if (jumlahPemainPadaPathTarget[i] == 0

&& jumlahKomputerPadaPathTarget[i] == 2) {

prioritas[i] = 200;

}

}

3.Listing Program Fungsi Seleksi dan Kelayakan

int path_prioritas_tertinggi = 0;

int id_prioritas_tertinggi = -1;

// cari prioritas tertinggi (FUNGSI SELEKSI DAN KELAYAKAN)

for (int i = 0; i < arrayMil.length; i++) {

if (path_prioritas_tertinggi < prioritas[i]) { path_prioritas_tertinggi = prioritas[i];

int random_tertinggi = new Random().nextInt(size);

// random_tertinggi jadikan id prioritas tertinggi (FUNGSI OBJEKTIF) id_prioritas_tertinggi = daftar_prioritas_tertinggi

(76)
(77)

62

Nama : Jurusan : Angkatan : Tanda tangan :

Judul : Penerapan Algoritma Greedy Pada Permainan Mill Berbasis Android

Responden menilai dengan cara men-check list (√)

A. Penilaian aspek antar muka

No Penilaian aspek antar muka Sangat baik

Baik Cukup Buruk Sangat buruk 1 Desain aplikasi secara umum

2 Tampilan Papan Permainan 3 Warna Papan dan bidak 4 Tampilan animasi permainan 5 Desain tombol menu

B. Penilaian aspek pengguna aplikasi

No Penilaian aspek pengguna aplikasi

Sangat baik

Baik Cukup Buruk Sangat buruk 1 Kemudahan Menjalankan

Aplikasi

2 Kesesuaian tingkat kesulitan AI

3 Aturan Permainan .

Gambar

Tabel 3.1 Fungsi Prioritas
Tabel 3.2 Giliran ke-1 (Pemain)
Gambar 3.10 Flowchart Aplikasi
Tabel 3.14 Use Case Evaluasi Langkah
+7

Referensi

Dokumen terkait

Bunganya lebar dan saling terpisah, sepal (helai kelopak bunganya) berwarna hijau terang yang mana ukuran sisi atasnya kurang lebih 18 x 6 mm, ujungnya melingkar ke belakang,

Namun secara umum dapat dijelaskan bahwa Ordo Siluriformes merupakan kelompok ikan yang memiliki bentuk tubuh kombinasi, berkumis atau bersungut, memiliki sirip

Promosi bukan hanya memperkenalkan suatu produk atau keunggulan pada produk tersebut tetapi kegiatan promosi dimaksudkan untuk dapat berkomunikasi dengan konsumen, sehingga

Sequence diagram menjelaskan secara detail urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case: interaksi yang terjadi antar class, operasi apa

 Jadi, pemanasan global adalah merupakan meningkatnya temperatur di planet bumi secara global, meliputi peningkatan temperatur atmosfir, temperatur laut dan

Kawasan hutan rakyat adalah kawasan hutan yang berada pada tanah yang telah dibebani hak atas tanah yang dibuktikan dengan alas titel atau hak atas tanah, yang

Larutan baku 1.000 µg/mL Cd dan Pb Larutkan 1 g Cd dan begitu juga untuk larutan standar Pb dengan 7 mL HNO3 pekat dalam gelas piala 250 mL, masukkan ke dalam labu ukur 1.000