Sabtu, 19 Juli 2014






IMPLEMENTASI ALGORITMA PRIM DAN DEPTH FIRST SEARCH PADA
PEMBUATAN MAZE GAME BERBASIS ANDROID OS MOBILE
M Khoiril Anwar 1, Cucun Very Angkoso 2 , Arik Kurniawati 3
1,2,3Jurusan Teknik Informatika, Fakultas Teknik, Universitas Trunojoyo Madura
Jl. Raya Telang, PO. BOX. 2 Kamal, Bangkalan-Madura
1anwarkhoiril@gmail.com,2cucunvery@if.trunojoyo.ac.id, 3ayyiik@yahoo.com
Abstrak
Teknologi mobile game beroperating system open source berkembang dengan sangat pesat. Operating system google android menjadi operating system yang sedang ramai dikembangkan para developer game. Karena keragaman variasinya, mobile game memiliki banyak peminat dari berbagai kalangan, hal inilah yang menjadi dasar bagi para pengembang untuk terus mengembangkan mobile game. Game yang sederhana/simple dengan target pengguna yang tidak dibatasi umur menjadi orientasi para pengembang game sehingga mampu menarik sebanyak mungkin pengguna. Pada penelitian ini dirancang sebuah maze mobile game berbasis operating system Android untuk mengasah kemampuan berfikir dikembangkan dengan mengimplementasikan algoritma Prim dan Depth First Search. Dalam perancangan game, algoritma Prim diterapkan untuk pembuatan lintasan dari maze sedangkan algoritma Depth First Search diterapkan pada saat melakukan proses pencarian solusi permasalahan dalam game.
Dalam pengujian telah dilakukan pada beberapa perangkat mobile dan selanjutnya hasilnya dapat disimpulkan bahwa algoritma Prim dan Depth First Search dapat berfungsi dengan baik pada resolusi screen 320 x 480 pixels dalam pembentukan lintasan dan pencarian solusi dari maze.
Kata kunci : Mobile Game, Android, Algoritma Prim, Algoritma Depth First Search.
Abstract
Mobile game technology with an open source operating system has grown rapidly. A Google Android is one of the most popular open source operating system which being intensively discuss among game developer. Mobile game has a lot of interest from various parties, because of the diversity of its variations. This is the basis for the developers to continue to develop mobile games. In this study, a mobile game to hone thinking ability has been developed to implement the algorithm Prim and Depth First Search. Game developing is starting with applying Prim algorithm at the time creating the track of the maze then the process go through by applying Depth First Search algorithm for searching the best solution of the game.
From the experiment that was done, we can make a conclusion of the test results is that the algorithm Prim and Depth First Search can perform best when creating formation of the track and searching for the solutions of the maze at the screen resolutions of the mobile device with 320 x 480 pixels.
Key words : Mobile Game, Android, Prim Algorithm, Depth First Search Algorithm.

PENDAHULUAN
Perkembangan teknologi game sangatlah pesat, tidak hanya pada komputer dan perangkat-perangkat yang

khusus di desain untuk memainkan game seperti Playstation, X-box dan sejenisnya melainkan juga pada handphone. Kebanyakan orang memainkan game untuk menghilangkan stress dan mengisi


waktu luang. Karena handphone memiliki kepraktisan untuk dibawa kemana-mana dibandingkan dengan perangkat elektronik lainnya, maka saat ini telah banyak pihak yang berminat untuk mengembangkan fitur-fitur yang ada di handphone termasuk fitur game.
Dalam pengembangan teknologi handphone, hal mendasar yang perlu di pertimbangkan adalah masalah operating system yang dipakai, karena sudah tentu suatu aplikasi tidak akan bisa berjalan di operating system yang berbeda, para pengembang pun sudah pasti memilih untuk memgembangkan suatu aplikasi pada handphone yang memiliki operating system yang dianggap terbaik.
Operating system Android adalah operating system yang free dan open source. Hal inilah yang menjadi dasar perkembangan teknologi Android yang begitu pesat dibandingkan dengan teknologi-teknologi handphone yang lainnya.
Pada proyek akhir ini, penulis ingin membuat sebuah aplikasi mobile game tentang permainan maze / labirin yang nantinya akan di implementasikan pada Android OS mobile. Game engine yang dipakai untuk membantu dalam pembuatan aplikasi ini adalah LIBGDX yaitu salah satu framework 2D dan 3D
untuk     Android yang berbasis
OpenGL. LIBGDX di kembangkan oleh Badlogic games yang bersifat open sources dan menggunakan bahasa java sebagai bahasa pemrogramannya.
Perumusan Masalah
Dari latar belakang yang sudah dijelaskan sebelumnya dimunculkan sebuah masalah yaitu membuat sebuah maze game berbasis Android OS mobile dengan mengimplementasikan algoritma Prim dan Depth First Search.
Tujuan Proyek
1.            Dapat    mengimplementasikan
algoritma Prim pada pembentukan lintasan maze.
2.            Dapat    mengimplementasikan
algoritma Depth First Search dalam

pencarian solusi dari maze yang telah terbentuk.
3.            Dapat mengimplementasikan maze game pada Android OS mobile.
TEORI PENUNJANG Maze game
Maze game adalah sebuah permainan yang bertujuan untuk mencari jalan keluar dari labirin / jalan yang membingungkan. Terdapat banyak sekali variasi dari maze game untuk membuatnya menjadi lebih menarik. Pada penelitian kali ini akan di buat sebuah maze game klasik yaitu pencarian jalan keluar dengan dibatasi oleh waktu tertentu yang nantinya akan diterapkan pada Android OS mobile. Di bawah ini adalah contoh tampilan lintasan dari maze game.
Android
Android adalah operating system untuk handphone yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang untuk
menciptakan       aplikasi  mereka
sendiri,Awalnya Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler.
Di dunia ini terdapat dua jenis distributor operating system Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar– benar bebas distribusinya tanpa


dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD) [1].
LIBGDX
LIBGDX adalah salah satu framework 2D&3D untuk Android yang berbasis OpenGL. LIBGDX ini dikembangkan oleh BadLogic Games dan bersifat Open Source dengan lisensi Apache 2.0 sehingga dapat digunakan untuk proyek game komersil. LIBGDX menggunakan bahasa Java sebagai bahasa pemrogramannya dan dapat berjalan di semua platform yang mendukung Java (Windows, Mac, Linux, Android). Saat ini LIBGDX telah mencapai versi 0.9.2
dan        masih    terus      berlanjut
perkembangannya didukung oleh komunitas yang sangat aktif [2].
Algoritma Prim
Algoritma Prim digunakan untuk mencari pohon pembangkit minimum dari graph terhubung berbobot dengan cara mengambil sisi / ruas garis yang memiliki bobot terkecil dari graph, dimana ruas garis tersebut bersisian dengan pohon terentang yang telah dibuat dan yang tidak membentuk siklus [3].
Untuk mencari pohon pembangkit minimum T dari graph G dengan Algoritma Prim dapat dilakukan dengan langkah-langkah sebagai berikut:
1. Ambilah satu simpul sembarang (misalnya v1 € G) dan masukkan simpul tersebut ke dalam graph T yang merupakan graph kosong.
2. Tambahkanlah satu rusuk yang terhubung dengan v dengan bobot yang paling minimum (misalnya e ) dan titik ujung lainnya ke T sehingga T terdiri dari sebuah rusuk e dan dua buah simpul yang merupakan titik-titik ujung dari rusuk e (salah satu titik ujung harus memuat simpul v ).
3. Pada langkah berikutnya, pilihlah sebuah rusuk dalam E(G) yang bukan E(T) dengan syarat yang harus dipenuhi sebagai berikut:

a.            Rusuk tersebut menghubungkan salah satu simpul V(T).
b.            Rusuk tersebut mempunyai bobot minimal.
4. Ulangilah langkah tersebut (langkah 2-3) hingga diperoleh (n-1) rusuk dalam E(T) dengan n adalah banyaknya simpul dalam G.
Algoritma Depth First Search
Pencarian dengan algoritma Depth First Search (DFS) dilakukan dari node awal secara mendalam hingga yang paling akhir atau sampai ditemukan tujuan. Dengan kata lain simpul cabang atau anak terlebih dahulu yang dikunjungi. Sebagai ilustrasi dapat dilihat pada gambar 1.

Gambar 1 Pencarian dengan DFS
( Sumber: Pratiwi, 2011 )
Berdasarkan       gambar,               proses
pencarian            dilakukan             dengan
mengunjungi cabang terlebih dahulu hingga tiba di simpul terakhir. Jika tujuan yang diinginkan belum tercapai maka pencarian dilanjutkan ke cabang sebelumnya, turun ke bawah jika masih ada cabangnya. Begitu seterusnya sampai ditemukan tujuannya (goal).
DFS memiliki kelebihan diantaranya adalah cepat mencapai kedalaman ruang pencarian. Jika diketahui lintasan solusi permasalahan akan panjang maka DFS tidak akan memboros waktu untuk melakukan sejumlah besar keadaan ‘dangkal’ dalam permasalahan graph / pohon. DFS jauh lebih efisien untuk ruang pencarian dengan banyak cabang karena tidak perlu mengevaluasi semua simpul pada suatu level tertentu [4].


PERANCANGAN SISTEM
Pada perancangan sistem menjelaskan tentang uraian dan bahan yang akan digunakan dan cara kerja system dalam tugas akhir implementasi algoritma Prim dan Depth First Search pada pembuatan maze game berbasis Android os mobile .
Deskripsi Sistem
Sistem ini dirancang dengan menggunakan software Android SDK, Eclipse dengan tambahan plugin ADT(Android development tools) untuk mengembangkan aplikasi Android dan LIBGDX sebagai frameworknya.
Aplikasi yang dibuat berupa game labirin, dimana inti dari permainannya adalah menemukan jalan keluar dari labirin dengan waktu secepat cepatnya.
Berikut adalah penerapan algoritma Prim dalam proses pembentukan maze:
1.            Pilih random sel sebagai titik awal
2.            Jadikan random sel tersebut sebagai titik mulai
3.            Pilih random sel sebagai titik selesai
4.            Jadikan tepi-tepi dari kotak lintasan sebagai wall
5.            Pilih random sel tetangga
6.            Jika sel yang terpilih kosong lakukan langkah 7, jika tidak ulangi langkah 4
7.            Jadikan sel tetangga yang dipilih = path
8.            Jadikan sel tetangga sebelah samping belakang path = wall
9.            Ulangi langkah 5, 6, 7, 8 sampai tidak ada sel yang kosong
Dalam pencarian solusinya, di gunakan algoritma Depth First Search, berikut algoritma penyelesaiannya :
1.            Pilih titik mulai sebagai titik awal, akan dikenali sebagai current sel
2.            Pilih secara acak sel terdekat yang bisa dikunjungi, sama seperti proses pembuatan maze. Hanya ada 4 gerakan yang diperbolehkan yaitu atas, bawah, kiri dan kanan.
3.            Apabila sel belum pernah di datangi maka pindah current sel ke sel tersebut. Pilih lagi sel tetangga secara acak.

4.            Apabila sel menemui tembok atau wall, maka kembali ke sel sebelumnya.
5.            Lakukan langkah-langkah ini sampai menemukan sel yang menjadi selesai atau pintu keluar.
Skenario Game
Pada penelitian tugas akhir maze game ini skenario disusun berdasarkan waktu.
1.            Pada level pertama dan kedua, waktu tidak dibatasi, jadi seorang player akan dituntut untuk mencari jalan keluar dengan waktu secepat cepatnya yang nantinya waktu tercepatlah yang akan ditulis di menu nilai tertinggi / highscore.
2.            Pada level ketiga, waktu dibatasi hanya 1,5 menit.Jika dalam waktu 1,5 menit player dapat menemukan
pintu keluar,       maka player
memenangkan permainan.
3.            Sebaliknya, Jika dalam waktu 1,5
menit player       tidak dapat
menemukan pintu keluar dari labirin, maka player dinyatakan kalah.
IMPLEMENTASI DAN ANALISIS
Uji Coba Skenario
Untuk memastikan bahwa sistem berjalan sebagaimana mestinya, penulis akan menyusun skenario yang akan diuji coba antara lain :
1.            Pengujian dengan menggunakan emulator.
2.            Pengujian dengan handphone android.
Dalam bab ini dibahas mengenai skenario hasil uji coba yang telah dirancang oleh penulis. Uji coba dilakukan untuk mengetahui apakah sistem dapat berjalan sebagaimana mestinya dengan lingkungan uji coba yang telah ditentukan serta dilakukan sesuai dengan sekenario uji coba.
Pengujian Dengan Emulator 1. Main Menu Maze Game


Gambar 2 menampilkan menu utama dari maze game yaitu menu mulai, petunjuk dan pembuat


Gambar 4 Nilai tertinggi

2.            Tampilan Pilih Level
Jika tombol mulai pada gambar 2 diklik, maka akan muncul screen baru yaitu screen pilih level seperti di tunjukkan oleh gambar 3.

Perbedaan antara level pertama,kedua dan ketiga adalah pada besar dimensi lintasan dan waktunya. Untuk level pertama, besar lintasannya adalah 20 x 20 sedangkan level kedua dan ketiga adalah 30 x 30. Pada level pertama dan kedua,waktu yang diberikan tidak terbatas, player dituntut untuk mencari jalan keluar dengan waktu secepat-cepatnya agar bisa mengalahkan nilai tertinggi/highestscore. Sedangkan pada level ketiga, waktu dibatasi hanya 1,5 menit. Jika dalam waktu tersebut player tidak dapat menemukan jalan keluar, maka player dinyatakan kalah.
3.            Tampilan Nilai Tertinggi
Waktu terbaik akan dicatat tiap level pada menu nilai tertinggi. Seperti di tunjukkan pada gambar 4.

4.            Level Pertama
Gambar 5 menunjukkan level pertama dari maze game. Pada level pertama, ukuran dimensi dari labirin adalah 20 x 20 dengan waktu tak terbatas. Pada game ini terdapat menu ganti lintasan, lihat solusi,gerak otomatis dan menu utama. Jika menu gerak otomatis di klik, maka kotak hijau / player akan bergerak secara otomatis mencari jalan keluar dengan mengimplementasikan algoritma DFS.

5.            Level Kedua
Gambar 6 menunjukkan level kedua dari maze game. Pada level kedua, ukuran dimensi dari labirin adalah 30 x 30 dengan waktu tak terbatas. Tiap level memiliki menu yang sama yaitu menu ganti lintasan, lihat solusi, gerak otomatis dan menu utama. Dengan waktu yang tak terbatas, seorang player berusaha menemukan jalan keluar dengan waktu secepat- cepatnya untuk di catat pada menu nilai tertinggi.



6.            Level Ketiga
Gambar 7 menunjukkan level ketiga dari maze game. Pada level ketiga, ukuran dimensi dari labirin adalah 30 x 30 dengan waktu yang dibatasi hanya dengan 1,5 menit. Jika dalam waktu tersebut seorang player tidak dapat menemukan jalan keluar, maka player dinyatakan kalah.

Gambar 7 Level ketiga
7.            Menu Petunjuk
Gambar 8 menunjukkan menu petunjuk dari maze game. Pada menu ini akan ditampilkan informasi mengenai aturan dan bagaimana cara memainkan maze game ini.
8.            Tampilan Gerak Otomatis
Jika menu solusi otomatis diklik maka player akan bergerak secara otomatis mencari jalan keluar dengan menerapkan

algoritma Depth First Search. Seperti di tunjukkan pada gambar 9.

Pengujian Dengan Handphone
Untuk pengujian pertama digunakan handphone Samsung Galaxy Ace dengan resolusi 480 x 320 pixels, Android versi 2.3.4.
1. Main Menu Maze Game Pada Samsung
Untuk main menu dapat tampil dengan normal seperti di tunjukkan oleh gambar 10. Semua menu dapat berfungsi dengan baik, mulai dari menu mulai, menu petunjuk dan menu pembuat. Tampilan pada main menu sesuai dengan tampilan yang ada di emulator.

Gambar 10 Main menu pada Samsung
galaxy ace
2.            Tampilan Maze Game Pada Samsung
Pada pengujian dengan menggunakan handphone Samsung galaxy ace, pembentukan lintasan dari maze game dengan mengimplementasikan algoritma Prim dapat berjalan dengan baik seperti di tunjukkan pada gambar 11.
3.            Tampilan Gerak Otomatis Pada Samsung


Jika menu solusi otomatis diklik maka player akan bergerak secara otomatis mencari jalan keluar dengan menerapkan algoritma Depth First Search seperti di tunjukkan pada gambar 12.

Gambar 11 maze game pada Samsung
galaxy ace

Gambar 12 Solusi otomatis pada
Samsung galaxy ace
Untuk pengujian kedua digunakan handphone Motorola droid X dengan resolusi 840 x 420 pixels, Android versi 2.3.3.
2. Main Menu Maze Game Pada Motorola

Gambar 13 Main menu pada Motorola
Gambar 13 menunjukkan tampilan main menu dari maze game. Untuk tampilan main menu dapat berjalan dengan baik sesuai harapan walau

dengan resolusi yang berbeda. Semua menu dapat berfungsi dengan baik, mulai dari menu mulai, menu petunjuk dan menu pembuat. Tampilan pada main menu sesuai dengan tampilan yang ada di emulator.
2.            Tampilan Pilih Level Pada Motorola Pada tampilan pilih level, tampilan hanya muncul pada sisi pojok bawah sebelah kiri seperti di tunjukkan oleh gambar 14. Menu-menu yang ada pada tampilan pilih level tidak bisa berjalan dengan baik.

Gambar 14 Pilih level pada Motorola
3.            Tampilan Maze Game Pada Motorola
Sama seperti tampilan pilih level, tampilan maze game juga hanya muncul pada sisi pojok bawah sebelah kiri dengan tombol-tombol menu semuanya tidak berfungsi. Seperti di tunjukkan pada gambar 15.

Gambar 15 Maze Game pada
Motorola
4.            Tampilan Menu Petunjuk Pada Motorola




Tampilan menu petunjuk hanya berada pada sisi pojok bawah sebelah kiri dengan tombol-tombol menu tidak berfungsi dengan baik. Seperti di tunjukkan pada gambar 16.

Gambar 16 Petunjuk pada Motorola ANALISA HASIL UJI COBA
Setelah dilakukan uji coba dengan beberapa perangkat dapat dijelaskan pada Tabel 1 di bawah ini.
Tabel 1 Perbedaan resolusi screen
Tipe
Smart
phone    Resolu si
Screen   Tam it
p
an           Algoritm
a             Prim
(Generat e Labirin)           Algori tma
(Pen carian solusi)
Emulat or            320        x
480        sesuai    sesuai    sesuai
Samsun g Galaxy Ace       320        x
480 pixels            sesuai    sesuai    sesuai
Motorol a Droid
X             420        x
820 pixels            Tidak sesuai        Tidak sesuai        Tidak sesuai
Setelah dicoba ternyata smartphone android tipe Motorola Droid X dengan resolusi 420 x 820 pixels tidak bisa menjalankan perangkat lunak ini dengan sempurna (tampilan game hanya berada di pojok bawah sebelah kiri). Karena dalam pembuatannya sangat ditentukan oleh koordinat. Perubahan ukuran layar dapat membuat game tidak berjalan dengan semestinya.
Berdasarkan hasil pengujian, “maze game” membutuhkan standart spesifikasi untuk dapat berjalan dengan baik. Untuk lebih jelas melihat spesifikasi tersebut daapt dilihat pada tabel 2

Tabel 2 Spesifikasi untuk maze game
Type      Requirements
Processor            800 MHz
RAM      278MB
Resolusi Screen  320 x 480 pixels
OS          Android 2.3 Gingerbread
KESIMPULAN
Dari hasil pengujian dan analisa pada bab sebelumnya maka diambil kesimpulan
1.            Dari hasil pengujian dan analisa maze game dapat berjalan dengan baik pada smartphone android yang memiliki resolusi screen 320 x 480 pixels. Aplikasi game ini masih belum bisa berjalan lancar pada tipe smartphone android yang memiliki resolusi screen lebih besar dari 320 x 480 pixels.
2.            Algoritma Prim dapat berfungsi dengan baik dalam pembentukan lintasan dari labirin pada handphone dengan resolusi 320 x 480 pixels.
3.            Algoritma DFS dapat berfungsi dengan baik dalam pencarian jalan keluar dari labirin yang telah terbentuk pada handphone dengan resolusi 320 x 480 pixels.
DAFTAR PUSTAKA
[1]          Bernard Y.A. Arti Android beserta fasilitas yang ada di dalamnya. April 2011. URL: http://www.infoteknologi .com/selular/apa-itu-Android/. Diakses tanggal 14 Desember 2011.
[2]          Zechner M.          Introduction.
Agustus 2011.URL:http://code.google.co m/p/libgdx/wiki/Introduction. Diakses tanggal 14 Desember 2011.
[3]          Emut. Aplikasi algoritma Prim dalam menentukan pohon pembangkit minimum pada suatu Graph. Pendidikan Matematika. Universitas Negeri Yogyakarta. 1: 3-5. 2008
[4] Pratiwi E.A., Efendi R dan Malik            Solving Hashi dan Depth First        R.F. Penyelesaian Game Puzzle    Search. Teknik Informatika.          Hashiwokakero dengan teknik     Universitas Sriwijaya. 1: 2. 2011




Tidak ada komentar:

Posting Komentar