• Tidak ada hasil yang ditemukan

Laporan Tugas Akhir Fix Last

N/A
N/A
Protected

Academic year: 2018

Membagikan "Laporan Tugas Akhir Fix Last"

Copied!
71
0
0

Teks penuh

(1)

PENERAPAN METODE RECURSIVE DIVISION DAN METODE DEPTH FIRST SEARCH DALAM PEMBUATAN GAME HELP

SAKERA OUT PADA PERANGKAT BERGERAK

TUGAS AKHIR

Oleh: Moh. Supandi 120411100027

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK

UNIVERSITAS TRUNOJOYO MADURA BANGKALAN

(2)

PENERAPAN METODE RECURSIVE DIVISION DAN METODE DEPTH FIRST SERCH DALAM PEMBUATAN GAME HELP

SAKERA OUT PADA PERANGKAT BERGERAK Moh. Supandi

(12.04.1.1.1.00027)

Pembimbing I : Yonathan Ferry Hendrawan, S.T., MIT. Pembmbing II : Cucun Very Angkoso, S.T., MT.

ABSTRAK

Dalam pembuatan sebuah game terdapat 2 cara yang bisa dilakukan. Cara yang pertama adalah dengan cara dinamis, sedangkan cara yang kedua adalah cara statis. Cara dinamis memiliki kelebihan dibandingkan dengan cara yang statis yaitu konten yang ada pada game tidak mudah dihafalkan oleh pemain. Konten tersebut dapat berupa dunia pada game, jalan cerita, aktor, musuh, peluru, serta, aspek lainnya. Cara yang statis memiliki kelemahan yaitu segala aspek yang ada pada game tidak akan pernah mengalami perubahan sehingga pemain dapat dengan mudah memenangkan permainan dengan menghafalakan aspek yang ada pada game. Salah satu cara untuk membuat sebuah game yang dinamis adalah dengan menerapkan metode Recursive Division dan metode Depth First Search(DFS). Metode Recursive Division adalah metode untuk membangun sebuah maze. Sedangkan metode Depth First Search adalah metode untuk mencari jalan keluar pada maze. Pada penelitian ini, kedua metode tersebut diterapkan pada pembuatan game yang berjudul Help Sakera Out. Game ini akan berjalan pada perangkat bergerak Android. Hasil penelitian menunjukkan bahwa metode Recursive Division cederung lebih cepat dari pada metode pembandingnya dan layout yang dihasilkan memiliki ciri khusus yaitu terdapat 1 jalan keluar pada tengah-tengah maze.

(3)

DAFTAR ISI

2.2.2.1. Cara Kerja Metode Recursive Division...6

2.2.3. Metode Depth First search(DFS)...9

2.2.4. Android...12

4.3. Penjelasan User Interface dan Menu-menu...28

4.4. Pengujian...36

4.4.1. Ujicoba pada Emulator WVGA 1024 MB...36

4.4.2. Ujicoba pada ponsel IRO 1024MB...40

4.4.3. Ujicoba Layout...42

BAB V...55

5.1. Kesimpulan...55

(4)
(5)

DAFTAR GAMBAR

Gambar 2.1 Maze 5x5 kosong...7

Gambar 2.2 Acak Dinding dan jalur pada maze...7

Gambar 2.3 Mengulangi langkah 2...8

Gambar 2.4: Hasil akhir maze...8

Gambar 2.5. Ilustrasi masalah...9

Gambar 2.6 Tandai node awal...10

Gambar 2.7 Langkah ke 2...10

Gambar 2.8 Langkah 3...11

Gambar 2.9 Hasil akhir DFS...11

Gambar 2.10 Flowchart Metode Depth First Search...12

Gambar 3.1 Flowchart Generate Level...16

Gambar 3.2 Halaman awal game...17

Gambar 3.3 Game Play...18

Gambar 4.5 Halaman informasi game...32

Gambar 4.6 Halaman Game Play...32

Gambar 4.7 Halaman bantun...33

Gambar 4.8 Halaman Pause...34

Gambar 4.9 Halaman menang...35

Gambar 4.10 Halaman kalah...36

Gambar 4.11 Ujicoba pada emulator...37

Gambar 4.12 Ujicoba pada ponsel...40

Gambar 4.13 Recursive Level 1...43

Gambar 4.14 Aldous Broder level 1...43

Gambar 4.15 Recursive Division level 2...43

Gambar 4.16 Aldous Broder level 2...43

Gambar 4.17 Recursive Division level 3...44

Gambar 4.18 Aldous Broder level 3...44

(6)

Gambar 4.20 Aldous Broder level 4...44

Gambar 4.21 Recursive Division level 5...45

Gambar 4.22 Aldous Broder level 5...45

Gambar 4.23 Recursive Division level 6...45

Gambar 4.24 Aldous Broder level 6...45

Gambar 4.25 Recursive Division level 7...46

Gambar 4.26 Aldous Broder level 7...46

Gambar 4.27 Recursive Division level 8...46

Gambar 4.28 Aldous Broder level 8...46

Gambar 4.29 Recursive Division level 9...47

Gambar 4.30 Aldous Broder level 9...47

Gambar 4.31 Recursive Division level 10...47

Gambar 4.32 Aldous Broder level 10...47

Gambar 4.33 Recursive Division level 11...48

Gambar 4.34 Aldous Broder level 11...48

Gambar 4.35 Recursive Division level 12...48

Gambar 4.36 Aldous Broder level 12...48

Gambar 4.37 Recursive Division level 13...49

Gambar 4.38 Aldous Broder level 13...49

Gambar 4.39 Recursive Division level 14...49

Gambar 4.40 Aldous Broder level 14...49

Gambar 4.41 Recursive Division level 15...50

Gambar 4.42 Aldous Broder level 15...50

Gambar 4.43 Recursive Division level 16...50

Gambar 4.44 Aldous Broder level 16...50

Gambar 4.45 Recursive Division level 17...51

Gambar 4.46 Aldous Broder level 17...51

Gambar 4.47 Recursive Division level 18...51

Gambar 4.48 Aldous Broder level 18...51

Gambar 4.47 Recursive Division level 19...52

Gambar 4.50 Aldous Broder level 19...52

Gambar 4. 49 Division level 20...52

(7)

DAFTAR TABEL

Tabel 2.1 Penelitian sebelumnya...5

Tabel 3.1 Daftar Algoritma generate maze...15

Table 3.2 Perbedaan pada tiap level...21

Table 4.1 Spesifikasi perangkat...28

Tabel 4.2 Ujicoba metode Recursive Division...38

Tabel 4.3 Ujicoba Metode Aldous Broder...39

Tabel 4.4 Ujicoba Metode Recursive Division...41

Tabel 4.5 Ujicoba pada metode Aldous Broder...42

Tabel 4.6 Ujicoba Layout...43 BAB I

PENDAHULUAN 1.1. Latar Belakang

Game merupakan sebuah hiburan yang saat ini banyak digemari oleh berbagai kalangan, mulai dari anak-anak hingga orang dewasa. Selain sebagai media untuk bersenang-senang, game juga dapat dijadikan sebagai media untuk belajar yang efektif seperti misalnya game matematika yang banyak beredar baik dikomputer maupun dperangkat bergerak Android.

Hingga saat ini,game yang dapat di unduh pada perangkat bergerak android jumlahnya banyak sekali dengan berbagai jenis game yang berbeda-beda. Jenis game puzzle yang bisa diunduh melalui situs store.google.com kebanyakan merupakan game puzzle yang mudah ditebak baik dalam pembuatan alur cerita pada game ataupun pembuatan dunia pada game. Pembutan game yang statis dapat membuat pemain dengan mudah menghafal game yang mereka mainkan sehingga game akan terasa tidak memiliki tantagan.

(8)

1.2. Perumusan Masalah

Dari uraian latar belakang yang telah dipaparkan, rumusan masalah yang dapat diangkat adalah sebagai berikut:

1. Bagaimana membuat sebuah maze dengan menggunakan metode Recursive Division?

2. Bagaimana mencari jalan keluar pada maze dengan menggunakan metode Depth First Search.

3. Bagaimana membuat sebuah game dinamis dengan menerapkan metode Recursive Division dan metode Depth First Search.

1.3. Tujuan dan Manfaat

Tujuan dan manfaat yang dapat diambil dari permasalahan diatas antara lain:

1. Tujuan

Tujuan pada peelitian ini adalah:

1. Membuat game dinamis yang layout pada game tidak mudah dihafalkan oleh pemain.

2. Menerapkan metode Recursive Division pada pembuatan layout game.

3. Menerapkan metode Depth First Search untuk mencari jalan keluar pada layout game.

2. Manfaat

Manfaat yang dapat diambil dari penelitian ini adalah terujinya sebuah metode dalam membangun maze pada sebuah game sehingga kecepatan yang dimiliki oleh metode Recursive Division dapat dimanfaatkan oleh peneliti senlajutnya.

1.4. Batasan Masalah

Batasan masalah dari penelitian ini antara lain:

1. Perangkat bergerak Android minimal yang digunakan adalah perangkat bergerak Android dengan versi 4.2(Jelly Bean).

2. Resolusi minimal perangkat bergerak Android yang digunakan adalah 320x480 pixel.

3. Ukuran maze minimal 2x2. 4. Ukuran maze maksimal 21x21.

(9)

1.5. Metodologi Penelitian

Adapun metodologi penelitian yang digunakan adalah sebagai berikut: 1. Menganalisa kebutuhan.

2. Studi litearatur dan pengumpulan data, yaitu melakukan tinjauan pustaka tentang konsep dan teori tentang metode yang digunakan dalam membangun game dinamis. 3. Perancangan dan desain game yang akan dibangun. 4. Implementasi metode bahasa pemrograman dalam

pembuatan game pada IDE Eclipse. 5. Uji coba program

6. Menganalisa kesalahan program. 7. Perbaikan kesalahan pada program

8. Penyusunan laporan, pada tahapan penulisan laporan disesuaikan pada sistematika penulisan penelitian yang ada.

1.6. Sistematika Penulisan

Sistematika pembahasan yang digunakan untuk menyelesaikan Tugas Akhir adalah sebagai berikut :

BAB I : PENDAHULUAN

Bab ini membahas tentang latar belakang penelitian, ruang lingkup, tujuan dan manfaat penulisan, metodologi penulisan, dan sistematika penulisan.

BAB II : STUDI PUSTAKA

Bab ini membahas mengenai landasan teori-teori pokok yang digunakan dalam menyusun penelitian ini. Landasan teori yang dibahas meliputi teori umum dan teori khusus.

BAB III : PERANCANGAN SISTEM

Dalam bab ini akan menjelaskan mengenai rancangan yang digunakan dalam pembuatan sistem

BAB IV : IMPLEMENTASI SISTEM

Bab ini akan menjelaskan mengenai hasil implementasi dari aplikasi.

BAB V : KESIMPULAN DAN SARAN

(10)
(11)
(12)

BAB II STUDI PUSTAKA 2.1. Tinjauan Pustaka

Tinjauan pustaka merupakan teori dasar dan teori pendukung diadakannya penelitian ini. Teori-teori tersebut antara lain:

2.2.1. Penelitian Sebelumnya

Terdapat 2 penelitian sebelumnya yang membahas tentang implementasi metode dalam membuat maze. Penlitian ini dapat dilihat pada tabel 2.1.

Tabel 2.1 Penelitian sebelumnya

Penelitain ini berfokus pada pembuatan maze

Pada penelitian ini, maze digunakan sebagai dunia pada game. Player harus

(13)

2.2. Landasan Teori

Landasan teori merupakan teori dasar yang digunakan dalam penelitian ini. Terdapat beberapa teori dan metode yang dijelaskan, antara lain:

2.2.1. Maze

“Maze merupakan koleksi jalan biasanya dari pintu masuk menuju pintu keluar” [ CITATION Her00 \l 1057 ] . Maze sering juga dikenal dengan kata labirin. Labirin dan maze memiliki kesamaan, namun keduanya adalah suatu hal yang berbeda. Maze memiliki jalan yang berliku-liku dan terdapat percabangan pada beberapa jalan dan memiliki beberapa jalan buntu. Labirin juga merupakan jalan yang berliku-liku, namun labirin tidak memiliki percabangan pada jalannya dan juga tidak terdapat jalan buntu. Terdapat beberapa metode yang dapat digunakan untuk membangun maze. Masing-masing metode memiliki kelebihan dan kekurangan. Pada penelitan ini maze digunakan untuk membangun layout pada game yang berentuk jalan. Metode yang digunakan adalah metode Recursive Division. Selain metode untuk membangun maze, digunakan juga sebuah metode yang dapat mencari jalan keluar pada maze, yaitu metode Depth First Serach(DFS) .

2.2.2. Metode Recursive Division

Metode Recursive Division adalah metode dalam pembuatan maze. dalam pembuatan maze, metode ini memiliki cara yang unik dari metode-metode yang ada. Metode ini berfokus pada pembuatan dinding . Hal ini sangat berbeda dengan kebanyakan metode yang berfokus pada pembuatan jalur. Meskipun dalam membangun maze cenderung tidak sama dengan metode yang lainnya, metode ini juga memiliki kesamaan dengan metode yang lain, yaitu dalam membangun jalannya.

2.2.2.1. Cara Kerja Metode Recursive Division

Cara kerja metode Recursive Division dapat dilihat pada ilustrasi gambar 2.1 hingga gambar 2.4. Berikut penjelasan dari masing-asing gambar.

(14)

Gambar 2.1 Maze 5x5 kosong

2. Gambar 2.2: acak sebuah dinding kemudian acak juga sebuah jalur pada dinding yang telah terbentuk. Maze akan terbagi menjadi 2 bagian.

Gambar 2.2 Acak Dinding dan jalur pada maze.

(15)

Gambar 2.3 Mengulangi langkah 2.

4. Gambar 2.4: Proses rekursif dihentikan karena semua area sudah tidak dapat dibagi 2.

(16)

2.2.3. Metode Depth First search(DFS)

Metode Depth First Search merupakan sebuah metode yang dapat digunakan untuk mencari jalur. jalur yang dimaksud dapat berupa jalur pada maze, labirin atau sebuah percabangan tertentu.

2.2.3.1. Cara Kerja Metode Depth First Search

Terdapat sebuah kasus yang dapat dilihat pada gambar 2.5. Titik awal adalah node 1 sedangkan titik tujuan adalan node 5.

Gambar 2.5. Ilustrasi masalah

(17)

Gambar 2.6 Tandai node awal

Langkah selanjutnya adalah dengan mengecek apakah node yang sedang aktif merupakan node tujuan, jika bukan maka lihat sebelah kiri node aktif. Jika terdapat sebuah node disebelah kiri node yang sedang aktif, maka kunjungi dan tandai. Ilustrasi ini dapat dilihat pada gambar 2.7.

Gambar 2.7 Langkah ke 2

(18)

disebelah kanan node yang sedang aktif maka node yang sedang aktif dinaikkan 1 dan langusng pindah ke node sebelah kanan. langkah selanjutnya adalah dengan mengulangi langkah 1 dan langkah 2 hingga ditemukan titik tujuan. Ilustrasi ini dapat dilihat pada gambar 2.8.

Gambar 2.8 Langkah 3

Langkah terakhir adalah jika titik tujuan sudah ditemukan, maka proses pencarian titik tujuan dihentikan dan jalur yang dilalui diberikan tanda. Seperti yang dapat dilihat pada gambar 2.9.

(19)

Langkah-langkah diatas dapat dibuat diagram alur seperti pada gambar 2.10.

Gambar 2.10 Flowchart Metode Depth First Search

2.2.4. Android

(20)

Google, Pada November 2007 Google mengumumkan bahwa mereka sedang mengembangkan ponsel Google dengan OS(Operating System) mobile terbaru yang mereka namai Android. OS Android ini sebenarnya didasarkan pada kernel Linux dan dirancang oleh Open Handset Alliance yang terdiri dari sekelompok puluhan pembuat hardware, carrier dan perusahaan terkait perangkat mobile lainnya, diantaranya Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, Nvidia, dll. Open Handset Alliance dibentuk untuk mengembangkan Android yang bersifat open source yang sourcenya di berikan secara gratis bagi para pengembang (developer) .

Sampai saat ini, Android mengeluarkan hingga beberapa versi antara lain:

1. Tanpa nama (Android versi 1.01.1) 2. Cupcake (Android versi 1.2 – 1.5) 3. Donut (Android versi 1.6) 4. Eclair (Android versi 2.0 – 2.1) 5. Froyo (Android versi 2.2 – 2.2.3) 6. Gingerbread (Android versi 2.3 - 2.4) 7. Honeycomb(Android versi 3.0 – 3.2) 8. Ice Cream Sandwich (Android versi 4) 9. Jelly Bean (Android versi 4.1-4.3) 10. Kikat (Android versi 4.4)

11. Lollipop (Android versi 5.0)

12. Android Marshmallow (Android versi 6.0) 2.2.5. Metode Pembanding

(21)
(22)

BAB III

PERANCANGAN SISTEM 3.1. Algoritma Generate Maze

Algoritma generate mazeadalah algoritma yang digunakan untuk membangun maze. terdapat bebreapa algortima yang dapat digunakan untuk membangun maze. Algoritma-algoritma yang dimaksud dapat dilihat pada tabel 3.1.

Tabel 3.1 Daftar Algoritma generate maze

Algoritma

Tipe

Fokus

Tabel 3.1 merupakan hasil penelitian yang dilakukan oleh amstrolog. Ujicoba dilakukan dengan menjalankan masing-masing metode pada ukuran maze sebesar 100x100[Kasih referensi]. Pada penelitian ini, metode yang digunakan adalah metode Recursive Division dimana metode ini merupakan metode tercepat dari beberapa metode yang lainnya. Berikut Algoritma Recursive Division.

1. Buat matriks dengan ukuran NxM 2. Buat tembok pada bagian terluar matriks.

3. Buat tembok secara vertikal pada posisi x=N/2 sepanjang M 4. Buat 1 jalan secara acak pada tembok yang sudah selesai

dibuat.

5. Matriks akan terbagi menjadi 2 bagian. Bagian pertama terletak pada x1=0, x2=N/2, y1=0 dan y2=M. Bagian 2 terletak pada posisi x1=n/2+1, x2=N, y1=0 dan y2=M.

6. Buat tembok secara horisontal pada posisi x1=0, x2=N/2, y1=M/2 dan y2=M/2.

7. Buat 1 jalan secara acak pada tembok yang sudah selesai dibuat.

(23)

3.2. Flowchart Generating Level

Generating Level merupakan bagian yang penting pada game. Ada bagian ini akan dijelaskan level yang terbentuk pada game melalui diagram alur yang dapat dilihat pada gambar 3.1.

Gambar 3.1 Flowchart Generate Level

(24)

1. Saat pemain memainka game pada level pertama, level secara otomatis diatur menjadi level 1.

2. Sistem akan melakukan pengecekan apakah sudah level maksimum atau pemain dianggap sudah memilih level selanjutnya . dalam hal ini masih dianggap benar semua. 3. Sistem akan memanggil fungsi GenerateMaze untuk

pembuatan layout pada game.

4. Sistem akan membuat layout pada game berdasarkan hasil dari fungsi GenerateMaze.

5. Pemain akan memainkan game.

6. Pemain akan ditanya melanjutkan ke permainnan selanjutnya atau tidak. Jika pemain memilih iya, maka pemain akan mendapatkan level baru.

7. Langkah diulangi hingga pemain tidak lagi memilih untuk melanjutkan game atau level sudah maksimum.

3.3. Skenario Game

Pada bagian ini akan dibahas mengenai setiap modul yang dibangun pada game diantaranya:

3.3.1. Home

(25)

Gambar 3.2 Halaman awal game

Berikut penjelasan dari gambar 3.2

1. Tombol START

Tombol ini berfungsi untuk memulai permainan. 2. Tombol Sett

Tombol ini berfungsi untuk menuju halaman pengaturan. 3. Tombol About

Dignakan untuk menuju halaman tentang game. 4. Tombol LVL DWN

Digunakan untuk menurunkan level yang Ingin dimainkan. 5. Tombol LVL UP

Digunakan untuk menambah level yang ingin dimainkan. 3.3.2. Game Play

(26)

Gambar 3.3 Game Play

Berikut penjelasan dari gambar 3.3

1. Warna hitam merupakan maze yang terbentuk. Maze ini merupkan layout daru game. Layout ini berfungsi sebagai jalur yang harus dilewati oelh aktor pada game.

2. Lingkaran berwarna merah muda merupakan musuh yang harus dihadapi oleh aktor pada game.

3. Lingkaran berwarna hijau merupakan aktor. Pemain harus menggerakkan aktor pada game untuk memenangkan permainan.

3.3.3. Setting

(27)

Gambar 3.4 Halaman Setting

Terdapat tiga menu yang dapat dgunakan oleh pemain saat menekan tombol setting yang ada dihalama home antara lain:

1. Tombol Metode

Tombol ini berfungsi untuk memilih metode yang digunakan untuk membangun layout pada game.

2. Tombol Reset

Digunakan untuk mengembalikan nilai level dan nilai skor pada game.

3. Tombol Silent

(28)

3.4. MockUp Game

pada bagian ini akan digambarkan rancangan game play mulai dari tata letak layout hingga tataletak pemain, skor, musuh, dan jumlah peluru yang dimiliki oleh pemain. Gambar 3.5 merupakan mockup dari game.

Gambar 3.5 Mockup game

Berikut penjelasan daari gambar 3.5.

1. Gambar 03 pada bagian kiri atas gambar merupakan informasi peluru yang dimiliki oleh pemain.

2. Tombol tanda tanya pada bagian atas digunakan untuk mencari jalan keluar.

3. Tombol pause pada bagian kanan atas digunakan untuk menghentikan sementara permainan.

4. Kotak merupakan aktor dari game yang harus digerakkan oleh pemain.

(29)

6. Lingkaran berwarna merah merupakan tombol untuk menembakkan peluru.

7. Panah berwarna merah merupakan tombol yang dapat digunakan oleh pemain untuk menggerakkan aktor paa game. Tujuan dari game ini adalah pemain harus menggerakkan aktor pada game untuk menuju jalan keluar tanpa tertangkap oleh dengan melewati layout yang berbetuk maze. ukuran maze yang terbentuk juga mempengaruhi jumlah musuh yang keluar. Perbedaan ukuran maze dan jumlah msuh ini dapat dilihat pada tabel 3.2.

Table 3.2 Perbedaan pada tiap level Level Ukuran Maze Jumlah Musuh

1 2x2 2

Tabel 3.2 Perbedaan pada tiap level Level Ukuran Maze Jumlah Musuh

(30)
(31)

BAB IV

IMPLEMENTASI SISTEM 4.1. Implementasi Bahasa Pemrograman

Implementasi bahasa pemrogram merupakan implemetsi semua metode terhadap bahasa pemrograman yang digunakan yaitu bahasa java. Hasil implentasi antara lain:

1. Implementasi metode Reursive Division

Baris program dibawah ini merupakan baris program dari

Random position = new Random();

recursive(0, 0, n, n, position.nextBoolean()); maze[0][1] = 0;

maze[maze.length - 1][maze.length - 2] = 0;

}

(32)

int rand = Clear.nextInt(x2 - x1);

int rand = Clear.nextInt(y2 - y1); rand = (rand * 2) + (y1 * 2) + 1;

public void setMaze(int x, int y) { maze[x][y] = 2;

}

2. Implementasi metode Depth First Search

(33)

private void setVisit() {

public void setNode(int x,int y) { visit[x][y] = 1; x = node.get(node.size() - 1).x; y = node.get(node.size() - 1).y; }

(34)

for (int i = 0; i < node.size(); i++) {

maze.setMaze(node.get(i).x, node.get(i).y); }

}

3. Implementasi metode Aldous Broder

(35)
(36)

} }

4.2. Lingkungan Ujicoba

Lingkungan pengujian aplikasi meliputi perangkat keras dan perangkat lunak yang digunakan dalam menjalankan game. Pada tabel 4.1 disebutkan spesfikasi perangkat yang telah digunakan untuk

Sistem Operasi : Android 4.2 Perangkat lunak

4.3. Penjelasan User Interface dan Menu-menu

Pada bagian ini terdapat tampilan yang perlu dipahami oleh pemain antara lain:

1. Home

(37)

Gambar 4.1 Halaman Home 1. Tombol Play

Tombol ini berfungsi untuk memainkan game. 2. Tombol Informasi

Tombol ini berfungsi untuk melihat inforasi seputar game. 3. Tombol Setting

Tombol ini berfungsi untuk menuju halaman setting. 4. Tomol Arah

Tombol ini berfungsi untuk menurunkan atau menaikkan level. 2. About

(38)

Gambar 4.2 Halaman About

3. Setting

Halaman ini berfungsi untuk mengatur beberapa hal yang ada pada game. Halaman ini dapat dilihat pada gambar 4.3.

(39)

Berikut penjelasan dari ketiga tombol yang ada pada gambar 4.3. 1. Tombol Metode

Tombol ini berfungsi untuk mengubah metode yang digunakan untuk membut layout pada game.

2. Tombol Reset

Tombol ini berfungsi untuk mengubah nilai skor menjadi 0 disemua level dan mengubah level yang terbua hanya level 1. 3. Tombol Volume

Tombol ini berfungsi untuk mematikan dan menyalakan musik. 4. Tombol Kembali

Tombol ini berfungsi untuk kembali kehalaman home. 4. Loading Screen

Loading screen adalah sebuah halaman yang berfungsi untuk memanggil gambar yang akan ditampilkan di game. Halaman loading screen dapat dilihat pada gambar 4.4.

Gambar 4.4 Halaman Loading

5. Info Game Play

(40)

level yang sedang dimainkan. Halaman ini dapat dilihat pada gambar 4.5.

Gambar 4.5 Halaman informasi game

6. Game Play

(41)

Gambar 4.6 Halaman Game Play

Berikut penjelasan dari gambar 4.6. 1. Tombol Arah

Tombol ini berfungsi untuk menggerakkan aktor pada game. 2. Tombol Tembak

Tombol ini berfungsi untuk mengeluarkan peluru. 3. Tombol Pause

Untuk menhentikan sementara permainan. 4. Tombol Bantuan

Menunjukkan jalan keluar pada layout. 7. Help Screen

(42)

Gambar 4.7 Halaman bantun

Bantuan disini diwakili oleh kotak berwarna kuning tua yang terbentuk dari posisi aktor hingga jalan keluar.

8. Pause Screen

(43)

Gambar 4.8 Halaman Pause

Terdapat beberapa tombol yang dapat digunakan pada halaman pause ini, antaranya:

1. Tombol Main menu

Tombol ini berfungsi untuk kembali kehalaman home. 2. Tombol Restart

Tombol ini berfungsi untuk membuat layout baru pada level yang sedang dimainkan.

3. Tombol Lanjut

Tombol ini berfungsi untuk melanjutkan permainan yang sepat dihentikan tanpa membuat layout baru pada game.

9. Win Screen

(44)

Gambar 4.9 Halaman menang

Terdapat beberapa tombol yang dapat digunakan oleh pemain antara lain:

1. Tombol Main Menu

Tombol ini berfungsi untuk kembali kehalaman home. 2. Tombol Restart

Tombol ini berfungsi untuk meminkan kembali level yang sama dengan layout yang berbeda.

3. Tombol Lanjut

Tombol in berfungsi untuk melanjutkan permainan dengan level yang baru dan layout yang baru pula.

10. Lose Screen

(45)

Gambar 4.10 Halaman kalah

Pada gambar 4.10, terdapat 2 tombol yang dapat digunakan oleh pemain antara lain:

1. Tombol Main Menu

Tombol ini berfungsi untuk kembali kehalaman awal game. 2. Tombol Restart

Tombol ini berfungsi untuk mengulang game tanpa merubah layout yang sudah dimainkan oleh pemain.

4.4. Pengujian

Ujicoba dilakukan untuk melihat kecepatan yang dimiliki oleh metode Recursive Division dan metode Aldous Broder. Selain untuk melihat kecepatan, ujicoba dilakukan untuk melihat layout yang dihasilkan oleh masing-masing metode.

4.4.1. Ujicoba pada Emulator WVGA 1024 MB

(46)

Gambar 4.11 Ujicoba pada emulator

(47)

Tabel 4.2 Ujicoba metode Recursive Division

Recursive Division Emulator

(48)

Tabel 4.3 Ujicoba Metode Aldous Broder

Recursive Division Emulator

Pada percobaan ini, metode yang digunakan adalah metode Aldous Broder. Kecepatan terbaik adalah pada saat level 1 yaitu dengan waktu 0.02 detik sedangkan waktu terlama yang dibuthkan oleh metode ini adalah pada saat level 18 yaitu selama 4.5 detik.

Dari hasil ujicoba pada emulator ini, terlihat bahwa metode Recursive Division memiliki kecepatan yang lebih baik dari pada metode Aldous Broder

(49)

4.4.2. Ujicoba pada ponsel IRO 1024MB

Percobaan kali ini dilakukan pada ponsel IRO. Ujicoba dilakukan dengan menjalankan kedua metode secara bergantian. Masing-masing metode djalankan 5 kali pada masing-masing level. Gambar hil percobaan dapat dilihat pada gambar 4.12.

Gambar 4.12 Ujicoba pada ponsel

(50)

Tabel 4.4 Ujicoba Metode Recursive Division

Recursive Division Emulator

(51)

Tabel 4.5 Ujicoba pada metode Aldous Broder

Recursive Division Emulator

Hasil percobaan pada tabel 4.5 menunjukkan kecpatan metode Aldous Broder pada ponsel lebih lambat dibandingkan metode Recursive Division. Hal ini dapat dilihat pada kecepatan terbaik yang dimiliki oleh metode Aldous Brode adalah selama 0.0016 pada level 1. 4.4.3. Ujicoba Layout

(52)

Tabel 4.6 Ujicoba Layout

Level Recursve Division Aldous Broder 1

Gambar 4.13 Recursive Level 1

Gambar 4.14 Aldous Broder level 1

2

Gambar 4.15 Recursive

(53)

3

Gambar 4.17 Recursive

Division level 3 Gambar 4.18 level 3Aldous Broder 4

Gambar 4.19 Recursive

(54)

5

Gambar 4.21 Recursive

Division level 5 Gambar 4.22 level 5Aldous Broder 6

Gambar 4.23 Recursive

(55)

7

Gambar 4.25 Recursive

Division level 7 Gambar 4.26level 7 Aldous Broder 8

Gambar 4.27 Recursive

(56)

9

Gambar 4.29 Recursive

Division level 9 Gambar 4.30 Aldous Broderlevel 9 10

Gambar 4.31 Recursive

(57)

11

Gambar 4.33 Recursive

Division level 11 Gambar 4.34 level 11Aldous Broder 12

Gambar 4.35 Recursive

(58)

13

Gambar 4.37 Recursive

Division level 13 Gambar 4.38 level 13Aldous Broder 14

Gambar 4.39 Recursive

(59)

15

Gambar 4.41 Recursive

Division level 15 Gambar 4.42 level 15Aldous Broder 16

Gambar 4.43 Recursive

(60)

17

Gambar 4.45 Recursive

Division level 17 Gambar 4.46 level 17Aldous Broder 18

Gambar 4.47 Recursive

(61)

19

Gambar 4.47 Recursive

Division level 19 Gambar 4.50 level 19Aldous Broder 20

Gambar 4. 49 Division

level 20 Gambar 4.52 level 20Aldous Broder

(62)
(63)
(64)

BAB V Search untuk mencari jalan keluar pada layout.

2. Metode Recursive Division memiliki kecepatan lebih stabil pada ponsel dengan kecepatan trebaik pada level 1 yaitu selama 0.000013 detik.

3. Metode Recursive Division lebih cepat dibandingkan dengan metode Aldous Broder dengan perbedaan kecepatan selama 0.0015 detik pada kecepatan terbaik kedua metode dan 0.88 pada kecepatan terlamban kedua metode

4. Layaout yang dihasilkan oleh metode Recursive Division memiliki kelemahan yaitu hanya tredapat 1 jalan pada tengah-tngah layout, hal ini dapat membuat pemain dengan mudah menemukan jalan keluar pada alayout.

5. Metode Aldous Broder layout yang dihasilkan beragam, akan tetapi karena proses pembuatanya secara acak, jalan keluar yang dihasilkan dapat berupa huruf L saja sehingga pemain tidak perlu berfikir untuk mencari jalan keluar pada layout. 5.2. Saran

(65)

DAFTAR PUSTKA

[1] M. K. Anwar, "Implementasi Algoritma Prim Dan Depth First Search Pada Pembuatan Maze Game Berbasis Android OS Mobile," 2012.

[2] N. Maulida, "Rancang Bangun Game Maze Sebagai Game Edukasi Bahasa Inggris Pada Anak.," 2015.

[3] W. D. Pullen, "Maze Classification," 20 November 2015. [Online]. Available: http://www.astrolog.org/labyrnth/algrithm.htm. [Accessed 30 Nopember 2015].

(66)

LAMPIRAN 1. Program pemilihan algortiam pada game

public class MazeGenerator {

private final int RECURSIVE = 0;

private final int BRODER = 1;

private final int RANDOM = 2;

private long start, end;

private int maze[][];

public MazeGenerator(int level, int

metode) {

start = System.nanoTime(); ChooseMethod(level, metode); end = System.nanoTime(); Log.d("Waktu Generate : ", ""

+ (float) ((float) (end - start) / (float) 1000000000)

+ " Detik"); }

private void ChooseMethod(int level, int

(67)

}

public void setMaze(int x, int y) { maze[x][y] = 2;

}

public int[][] getMaze() {

return maze; }

}

2. Program peletakan dan pergerakan musuh

public class Enemie extends GameObject {

MazeGenerator maze;

int direction, xM, yM, rotation;

float timer;

public final float width, height;

public Enemie(float x, float y, float w,

float h, MazeGenerator maze,

int xM, int yM) {

// TODO Auto-generated constructor stub

public void getDirection() {

(68)

direction = 1;

public void Moved() {

(69)
(70)

xM--;

public void update(float deltaTime) { timer += deltaTime;

if (timer >= 1) { Moved();

bounds.lowerLeft.set(position).sub(bounds.wid th / 2-(width/2), bounds.height /

2-(height/2));

public class Peluru extends GameObject {

public final float width, height;

public int rotation;

public Peluru(float x, float y, float w,

float h, int rotation) {

// TODO Auto-generated constructor stub

super(x, y, w, h);

(71)

this.height = h;

this.rotation = rotation; }

public void update() {

switch (rotation) { th / 2-(width/2), bounds.height /

2-(height/2)); }

Gambar

Tabel 2.1 Penelitian sebelumnya
Gambar  2.2 Acak Dinding dan jalur pada maze.
Gambar 2.5. Ilustrasi masalah
Gambar 2.7 Langkah ke 2
+7

Referensi

Dokumen terkait

Berdasarkan data yang diperoleh kemudian dilakukan analisa menggunakan metode SWOT, dimana dengan menganalisa dari kekuatan, kelemahan, peluang, dan ancaman apa saja yang

22 Menurut sejarah sudah 12 Orang Wali Nagari Parit sejak zaman Belanda sampai sekarang, dengan ibu kota pertama adalah Air Balam, pada tahun 1957 dengan wali nagari Sutan Syeh

Puskesmas Sedayu I, Panggang Ds.. Puskesmas Sedayu

pengembangan masyarakat desa di Papua Barat (1982 s/d 1987), kemu- dian mengajar di Program Pascasarjana Studi Pembangunan di UKSW (1989-1994), dan sebagai pendukung hak bangsa

Pasar adalah suatu lahan pada lokasi yang ditentukan oleh Kepala Daerah tanpa atau dengan bangunan-bangunan dalam batas-batas tertentu dan dipergunakan para penjual dan pembeli

Untuk mencari nilai maksimum atau minimum lokal maka masing- masing piksel pada citra hasil DoG akan di bandingkan dengan 8 piksel disekitarnya yang berada pada skala yang

Berdasarkan hasil yang ada dalam analisis regresi linier berganda didapatkan bahwa dua indikator yaitu faktor lingkungan dan citra perguruan tinggi berpengaruh secara

y Agar strategi pembangunan yang kita pilih tidak membuat negara bangsa kita terjajah lagi oleh bangsa lain maka kita harus mengenali polarisasi dunia saat ini. y Secara