Labirindroid Mobile Game Development for Android with Java
Muhammad Nizar
Undergraduate Program, Faculty of Industrial Engineering, 2010
Gunadarma University
http://www.gunadarma.ac.id
Keywords : Android, Game, Java, Smartphone, Handphone.
ABSTRACT
The most popular applications in mobile devices is the games industry, there's rarely found a mobile phone with no game features. Than just additional menu, the game has now become mandatory features that must exist in every mobile phone. Smartphone is one of the developments of mobile computing. We have a new operating system operating system for smart phones are android. Android operating system is a good choice for smartphones vendors because it has a less expensive license fees and its open source. This work will disscuss about the making Labirindroid mobile games for mobile phones that use Android operating system. Labirindroid is a puzzle game with seven different labyrinth types. Users can freely choose the labyrinth to be played. There's information on steps that have been done so that users know how many stepsdid he do to solve the maze. With an interesting display applications are expected this game to be an exciting entertainment to relieve the boredom in my spare time. Implementation of this game is made by using the Android SDK, Android Development Tools, and Eclipse IDE. While the programming language used is Java.
Abstrak
Aplikasi yang paling populer dalam industri mobile devices ialah game, Nyaris tak ada mobile phone yang tak punya fitur game. Dari sekadar menu tambahan, game sekarang sudah menjadi fitur wajib yang harus ada dalam setiap mobile phone. Smartphone merupakan salah satu dari perkembangan komputasi mobile. Saat ini terdapat sistem operasi baru untuk smartphone yaitu android. Sistem operasi Android menjadi pilihan yang baik bagi vendor smartphone karena memiliki biaya lisensi lebih murah dan sifatnya yang open source.
Penulisan ini akan membahas tentang pembuatan mobile game Labirindroid untuk mobile phone yang menggunakan sistem operasi android. Labirindroid merupakan sebuah game puzzle yang terdiri 7 labirin dengan jenis yang berbeda-beda. User dapat dengan bebas memilih labirin yang ingin dimainkan. Terdapat informasi langkah yang telah dilakukan agar user mengetahui berapa banyak langkah yang dia lakukan untuk menyelesaikan labirin tersebut. Dengan tampilan yang menarik diharapkan aplikasi game ini dapat menjadi sebuah hiburan yang menarik untuk menghilangkan kebosanan di waktu senggang.
Implementasi game ini dibuat dengan menggunakan Android SDK, Android Development Tools, dan IDE Eclipse. Sedangkan bahasa pemrograman yang digunakan adalah Java.
Kata Kunci: Android, Game, Java, Smartphone, Handphone.
1. PENDAHULUAN
Perkembangan teknologi informasi mempengaruhi industri mobile devices secara global terutama mobile phone. Mobile phone saat ini memang bukan barang yang aneh untuk masyarakat umum. Mobile phone yang pada awalnya hanya diperuntukan untuk melakukan komunikasi percakapan atau dengan mengirim pesan pendek dengan SMS. Seiring perkembangan teknologi, kini mobile phone telah berkembang menjadi sebuah perangkat hiburan dikarenakan banyak fitur menarik tambahan yang dibenamkan seperti aplikasi multimedia, game hingga dapat melakukan koneksi internet. Terlebih lagi kedepannya mobile
devices ditargetkan untuk menjadi generasi PC berikutnya.
Smartphone merupakan salah satu dari perkembangan komputasi mobile. Tampilan fisik yang stylish serta fitur yang menarik seperti teknologi GPS (Global Position System), Accelerometer , koneksi internet, WIFI, dan juga layar sentuh atau touchscreen membuat smartphone semakin diminati oleh para konsumen. Saat ini ada 5 kelompok besar smartphones, yaitu: BlackBerry, iPhone, Symbian, Windows Mobile, dan kini telah hadir Android. Berbeda dengan sistem operasi ponsel lainnya yang tidak gratis, Android merupakan sebuah sistem operasi mobile baru yang bersifat open source dan
juga gratis yang diciptakan oleh Google. Saat ini disediakan Android SDK (software Development Kits) sebagai alat bantu dan API diperlukan untuk mulai mengembangkan aplikasi pada platform
Android menggunakan bahasa
pemrograman Java. Sehingga pihak ketiga yaitu pengembang atau developer dapat membuat aplikasi yang dapat dijalankan pada perangkat mobile berbasis android.
Aplikasi yang paling populer dalam industri mobile devices ialah game, Nyaris tak ada handphone yang tak punya fitur game. Dari sekadar menu tambahan, game sekarang sudah menjadi fitur wajib yang harus ada dalam setiap handphone. Industri mobile game berkembang begitu cepat. Bentuk permainan yang dibenamkan di handphone, makin variatif dan atraktif.
2. LANDASAN TEORI 2.1 Video Game
Game atau permainan adalah sesuatu yang dapat dimainkan dengan aturan tertentu sehingga ada yang menang dan ada yang kalah, biasanya dalam konteks tidak serius atau dengan tujuan menghibur.
Sedangkan video game merupakan game berbasis visual elektronik, jadi disaat kita berinteraksi dengan suatu tampilan visual elektronik dengan menggunakan alat untuk memasukkan perintah dan didalamnya ada kegiatan dalam aturan tertentu dan hasilnya dapat membuat pemainnya terhibur, saat itulah yang dinamakan bermain video game
Gambar 1. Mobile Game pada suatu handphone
(Sumber :
http://mobilegame.com/screenshoot/n97fifa.pn g)
2.2 Android
Android adalah sistem operasi mobile menggunakan versi modifikasi dari kernel Linux [1]. Pada awalnya dikembangkan oleh Android Inc, sebuah perusahaan yang kemudian dibeli oleh Google.
Android merupakan software berbasis kode computer yang bisa didistribusikan secara terbuka (open source). Di dalamnya terdapat sistem operasi, middleware, dan key application [3]. Aplikasi pada platform ini
dikembangkan dalam bahasa
pemrograman java sehingga programmer bisa membuat aplikasi baru di dalamnya, terdapat Android Market yang menyediakan ribuan aplikasi baik yang gratis maupun berbayar, serta memiliki aplikasi native Google yang terintegrasi, seperti push email GMail, Google Maps, dan Google Calendar.
Android sendiri memiliki banyak fitur diantaranya adalah [5] :
1. Merupakan sebuah Application Framework sehingga programmer dapat menggunakan beberapa fungsi yang telah disediakan.
2. Dalvik virtual machine. Tiap aplikasi dalam Android memiliki instance virtual machine yang dapat bekerja secara efisien dalam lingkungan memori yang terbatas. 3. Integrated browser. Web browser
berbasis WebKit engine terdapat pada browser default Android atau pun dapat diintegrasikan dengan aplikasi lain.
4. Optimized graphics. Library grafis 2D yang kaya dan 3D berbasis
OpenGL ES 1.0 yang mendukung akselerasi hardware.
5. SQLite. Basis data relasional yang ringan namun sangat powerful. 6. Media Support. Mendukung
berbagai format audio, video, dan gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) 7. GSM Telephony. Mendukung fungsi
komunikasi GSM.
8. Bluetooth, EDGE, 3G dan WiFi. Mendukung komunikasi pada jaringan (tergantung hardware). 9. Kamera, GPS, kompas dan
accelerometer. Mendukung berbagai fitur yang disediakan oleh hardware.
10. Software Development Kit yang lengkap yaitu termasuk device emulator, tools untuk debugging, profiling memori dan performa, plugin untuk Eclipse IDE.
Smartphone yang menggunakan platform android diantaranya, Google Nexus One, HT Mobile, Samsung, LG, Motorolla, Sony Ericsson. dan juga vendor ponsel lokal seperti Nexian dan IMO.
3. ANALISA DAN PERANCANGAN 3.1 Gambaran Umum Aplikasi
Game Labirindroid merupakan sebuah game bergenre puzzle. Dalam game
tersebut user diharuskan menjalankan sebuah bola yang terdapat pada papan permainan dan harus mengenai sebuah kotak yang ada pada papan permainan untuk menyeleseaikan dan memenangkan permainan ini.
Dalam game Labirindroid ini terdapat 7 labirin dengan tingkat kesulitan dengan jenis papan permainan yang berbeda. Jika labirin pertama user dapat mengenai kotak tersebut maka akan muncul kotak dialog bahwa labirin tersebut berhasil diselesaikan dan akan ada pilihan menu untuk melanjutkan ke labirin berikutnya. Dalam game ini user dapat melihat berapa langkah yang telah dia lakukan dalam memainkan game Labirindroid pada setiap labirin. Jumlah langkah yang paling sedikit ialah yang paling baik.
Setiap labirin memiliki papan/map yang tersusun oleh 5x5,6x6,7x7,8x8 dan 9x9 kotak persegi dan memiliki map permainan yang berbeda dalam setiap labirinnya. Didalam papan permainan terdapat sebuah bola yang akan dijalankan oleh user,kotak yang berupa goal dari permainan tersebut dan dinding/garis yang berfungsi untuk menghalangi jalannya bola. User dapat menggerakkan bola ke kanan,kiri,atas dan bawah sesuai yang dikehendaki. Apabila user sudah menggerakkan bola tersebut maka bola
tersebut tidak akan berhenti hingga bola tersebut mengenai salah satu dinding/garis yang ada pada papan permainan.
3.2 Perancangan Antarmuka Tampilan
Interface utama labirindroid merupakan tampilan utama aplikasi labirindroid ketika dijalankan. Tampilan ini terdapat papan permainan dan menu yang dapat dipilih oleh user.
Gambar 2. Rancangan tampilan antarmuka permainan
Keterangan gambar : 1. Papan Permainan
Merupakan papan permainan game labirindroid, terdapat bola yang dijalankan oleh user, kotak sebagai goal permainan dan garis sebagai dinding pembatas. 1 2 3 4 a d b e c f
2. Teks
Merupakan teks untuk nama labirin yang sedang dimainkan.
3. Teks
Merupakan teks untuk
pemberitahuan langkah yang telah dilakukan user dalam permainan. 4. Menu Pop-Up : Merupakan menu
yang akan keluar jika user memilih tombol menu pada handphone. Menu ini berupa teks dan gambar. Terdapat 6 menu yang ada, yaitu : a. Sebelumnya
Berupa menu untuk kembali pada labirin sebelumnya. b. Restart
Berupa menu untuk memulai permainan kembali dari posisi awal.
c. Selanjutnya
Berupa menu untuk
memainkankan labirin
selanjutnya. d. Bantuan
Menu bantuan untuk membantu user memahami permainan. e. Pilih Labirin
Menu untuk memilih labirin yang diinginkan untuk dimainkan.
f. Tentang
Berupa menu untuk melihat informasi tentang game labirindroid.
4. IMPLEMENTASI DAN UJI COBA
4.1 Spesifikasi Perangkat Keras dan Lunak
Dalam menerapkan rancangan yang telah dibuat, ada beberapa hal yang harus dibutuhkan. Perangkat keras dan perangkat lunak merupakan dua hal yang selalu dibutuhkan dalam mengimplementasikan rancangan yang telah ada.
4.1.1 Spesifikasi Perangkat Keras
Dalam menerapkan dari rancangan yang telah dijelaskan sebelumnya dibutuhkan beberapa perangkat keras untuk menyajikan aplikasi ini. Adapun perangkat yang dibutuhkan ialah :
1. Satu unit PC dengan spesifkasi antara lain:
Prosesor : Pentium IV Memori : 1 Gb
Ruang Penyimpan : 80 Gb Untuk spesifikasi perangkat keras tidak harus sama dengan yang ditulis, yang penting perangkat keras yang digunakan dapat menjalankan perangkat lunak yang digunakan.
4.1.2. Spesifikasi Perangkat Lunak Dalam menerapkan rancangan yang telah dibuat, dibutuhkan beberapa software untuk membuat program game Labirindroid yaitu:
1. Bahasa Pemrograman Java
Dalam hal ini digunakan Java Development Kid (JDK) 1.6 dan Java Runtime Environment (JRE). 2. Sistem Operasi Windows XP
(32-bit)
3. Integrated Development Environment (IDE) Eclipse 3.4.2 4. Android Software Development Kit
(Android SDK)
5. Android Development Tools (ADT)
4.2 Pembuatan Aplikasi Labirindroid Pembuatan game Labirindroid yang dimualai dari tahap penginstallan J2SE SDK, penginstallan IDE Eclipse, Android SDK dan Android Development Tools (ADT).
4.3 Pengkodean Program (Coding) Tahap ini merupakan pengkodean program dengan menggunakan editor eclipse, semua kode diletakkan kedalam folder src.
4.3.1 Pembuatan kelas LabirindroidDB Kelas ini dibuat untuk menyimpan labirin yang berhasil diselesaikan dan total langkah yang dilakukan oleh user, sehingga ketika user ingin memainkan permainan ini kembali, user dapat mengetahui labirin mana yang sudah berhasil diselesaikan dan total
langkah dalam menyelesaikan suatu labirin dan labirin mana yang belum diselesaikan. Database yang digunakan ialah database SQLite yang terdapat pada platform amdroid.
...
public class LabirindroidDBAdapter {
private static final String
DATABASE_NAME =
"labirindroid_db.db";
private static final String
DATABASE_TABLE = "mazes";
private static final int
DATABASE_VERSION = 5;
public static final String
KEY_ID = "_id";
public static final int
ID_COLUMN = 0;
public static final String
KEY_NAME = "name";
public static final int
NAME_COLUMN = 1;
public static final String
KEY_SOLUTION_STEPS =
"solution_steps";
public static final int
SOLUTION_STEPS_COLUMN = 2;
public static final String[]
COLUMNS = { KEY_ID, KEY_NAME, KEY_SOLUTION_STEPS, }; private SQLiteDatabase mDB; private LabirindroidDBOpenHelper mDBHelper; ...
Langkah pertama ialah pendeklarasian variabel yang akan digunakan, seperti nama database, versi database, dan variabel lain yang digunakan untuk table database seperti id ,nama , dan total langkah untuk membuat suatu kolom database.
4.3.2 Pembuatan Kelas Bola
Untuk membuat arah gerak bola dan aturan untuk bola dibuat sebuah kelas yang bernama kelas bola dengan nama file ball.java. Dalam kelas ini menangani semua hal yang berkaitan dengan bola seperti arah gerak,kecepatan dan apabila bola tersebut berhasil mengenai goal.
private boolean isValidMove(int x, int y, Direction dir) {
switch (dir) { case LEFT:
if (x <= 0) return false;
if
((mMap.getWalls(x, y) & Wall.LEFT) > 0 || (mMap.getWalls(x - 1, y) & Wall.RIGHT) > 0 ) return false; break; case RIGHT: if (x >=
mMap.getSizeX() - 1) return false; if ((mMap.getWalls(x, y) & Wall.RIGHT) > 0 || (mMap.getWalls(x + 1, y) & Wall.LEFT) > 0 ) return false; break; case UP: if (y <= 0) return false; if
((mMap.getWalls(x, y) & Wall.TOP) > 0 || (mMap.getWalls(x, y - 1) & Wall.BOTTOM) > 0 ) return false; break; case DOWN: if (y >=
mMap.getSizeY() - 1) return false; if ((mMap.getWalls(x, y) & Wall.BOTTOM) > 0 || (mMap.getWalls(x, y + 1) & Wall.TOP) > 0 ) return false; break; } return true; }
4.4 Ujicoba Game Labirindroid
Pengujian dilakukan dengan menggunakan emulator yang ada dalam Android SDK. Emulator ini dapat berfungsi sebagai sebuah ponsel virtual android yang dijalankan pada PC, dan memiliki fungsi serta spesifikasi (fitur, dimensi layar) yang sama seperti kebanyakan ponsel android lainnya.
Gambar 3. Tampilan program ketika dijalankan
5. PENUTUP 5.1 Kesimpulan
Game Labirindroid yang dibuat telah mampu untuk diaplikasikan kedalam mobile devices yang berbasis android dan game Labirindroid ini juga mampu memenuhi fungsinya sebagai sebuah permainan yang utuh dan layak untuk dimainkan. Berbagai fasilitas seperti menu, grafis, dan terdapat beberapa labirin yang dapat dimainkan menjadikan game Labirindroid ini semakin menarik serta memiliki daya saing dengan permainan lain yang ada saat ini.
5.2 Saran
Penulis menyadari bahwa game yang dibuat masih jauh dari sempurna, oleh karena itu dalam pembuatannya masih banyak kemungkinan pengembangan yang dapat dilakukan. Seperti mengembangkan game menjadi game 3 Dimensi serta memperindah tampilan antar muka permainan agar pengguna aplikasi permainan ini tidak merasa bosan dan jenuh. Dalam content permainan dapat dikembangkan untuk menambah musuh yang berguna membuat permainan semakin menarik dan memiliki tantangan bagi user yang memainkan, menambah labirin baru serta menambahkan elemen sound ke dalam game.
DAFTAR PUSTAKA
[1] Ed Burnette, 2009, Hello Android 2nd Edition, Pragmatic Bookshelf.
[2] Mark L. Murphy, 2009, Beginning Android, Apress Inc.
[3] Mulyadi, ST, 2010, Membuat Aplikasi Untuk Android, Yogyakarta, Multimedia Center Publishing.
[4] Retto Meier, 2009, Professional Android Application Development, Wiley Publising Inc.
[5] Sayed Y. Hashimi and Satya Komatineni, 2009, Pro Android, Apress Inc.
[6]
/detail/game/3/buat-video-games-yuk-bag1-jenis-game [7] URL :http://wahyuadam.web.ugm.ac.id/?p=17 [8] URL :http://justhayu.blogspot.com/2010/02 /mengenal-sistem-operasi-pada-komputer_15.html [9] URL : http://stewardelias.blogspot.com/2010 /04/pengenalan-sistem-operasi-android.html [10] URL:http://febriani.staff.gunadarma.a c.id/Downloads/files/5616/Flowchart. pdf [11] URL: http://wartawarga.gunadarma.ac.id/20 10/02/apa-itu-smartphone/ [12] URL: http://developer.android.com/guide/in dex.html [13] URL: http://id.wikipedia.org/wiki/Symbian_ OS [14] URL: http://telcomcell.blogspot.com/2009/0 7/perkembangan-os-pada-handset.html [15] URL: http://id.wikipedia.org/wiki/IPhone [16] URL: http://en.wikipedia.org/wiki/Java_(pro gramming_language) [17] URL: http://en.wikipedia.org/wiki/Flowchart