Aplikasi Game Berbasis Java 2 Micro Edition (J2ME) TRIO.pdf

42 downloads 158509 Views 62KB Size Report
296. APLIKASI GAME BERBASIS JAVA 2 MICRO EDITION (J2ME). Trio Ardiyanto, Darwin Suhendra, dan Muhammad Sholeh. Jurusan Teknik Informatika, FTI, ...
APLIKASI GAME BERBASIS JAVA 2 MICRO EDITION (J2ME) Trio Ardiyanto, Darwin Suhendra, dan Muhammad Sholeh Jurusan Teknik Informatika, FTI, IST AKPRIND Yogyakarta ABSTRAK Java 2 Micro Edition (J2ME merupakan teknologi terpenting dari Java untuk masa depan. Implementasi Implementasi J2ME dapat ditemukan pada piranti mobile devices. Piranti-piranti mobile device yang baru diluncurkan ke pasar, semuanya sudah mendukung Java, terutama produk tiga besar yaitu: Nokia, Soni Ericcson, Motorola. Salah satu aplikasi yang sangat menarik dan sering dimainkan dalam piranti mobile device adalah game. Dalam makalah ini akan dibahas salah satu permainan game yang dapat dimainkan di mobile device. Aplikasi ini dikembangkan dengan menggunakan J2ME Kata kunci: aplikasi game, J2ME, mobile device PENDAHULUAN Perkembangan dunia informasi saat ini mengarah pada teknologi wireless yang sudah sepantasnya dicermati sebagai langkah maju dari dunia IT untuk mengembangkan informasi yang tak terbatas dan dapat diakses dari mana saja tanpa terbatas akan ruang. Wireless merupakan suatu sistem telekomunikasi yang memberi layanan komunikasi yang bersifat mobile kepada penggunanya. Mobile berarti dapat berpindah dari suatu tempat ketempat lain yang luas dengan mudah. Teknologi wireless ini sangatlah luas mencakup bidang-bidang mulai dari radio, televisi, hingga peralatan komunikasi bergerak, seperti Pager, Handphone, PDA, maupun satelit. Wireless application merupakan aplikasi-aplikasi yang dikembangkan untuk digunakan pada perangkat-perangkat mobile. Saat ini program pada handphone ada tiga jenis, yakni: 1. Program yang dipasang pada handphone, semacam AddressBook, CallRegister, games yang sudah ada pada tiap handphone yang dipakai. 2. Program yang dipasang pada SIM Card, semacam mobile banking BCA. 3. Program yang dijalankan dengan model client-server, semacam aplikasi-aplikasi berbasis WAP (Wireless Access Protocol). Game adalah salah satu aplikasi aplikasi yang tak pernah berhenti dibahas oleh pakar-pakar bidang IT. Mulai dari PC sampai sekarang kedunia wireless game tetap hangat untuk dibicarakan. Dengan adanya Java yang merupakan bahasa pemrograman lintas platform, kita tidak harus bergantung pada salah satu platform saja untuk kepentingan menulis program sekaligus menjalankannya. Penulis sengaja membahas dalam lingkungan sistem operasi Linux karena Java dapat menjembatani kebingungan para programmer Linux akan masa depan aplikasi yang dibuatnya. Pasar aplikasi untuk perangkat mobile (wireless application) ini sangat luas, dan menjadi tantangan bagi para pemprogram di Indonesia khususnya, untuk siap-siap menyambut salah satu teknologi masa depan ini Teknologi Java merupakan sebuah teknologi yang berkembang sangat pesat akhir-akhir ini. Bahkan belakangan ini dikabarkan berusaha mengalahkan Microsoft yang terkenal sebagai kampiun dari produsen operating system dimuka bumi ini. Teknologi Java yang pada awalnya dikenal untuk aplikasi pada desktop (J2SE) ataupun pada aplikasi server (J2EE), kini hadir dengan tenologi terbarunya, J2ME Platform, untuk pembangunan aplikasi pada mobile device seperti mobile phone dan PDA.(http://j2me.winwinfaisal.info) Java 2 Micro Edition (J2ME) yang saat ini semakin populer, merupakan teknologi terpenting dari Java untuk masa depan. Ini dapat kita temukan pada semua mobile devices yang baru diluncurkan ke pasar, semuanya sudah mendukung Java, terutama produk tiga besar yaitu: Nokia, Soni Ericcson, Motorola. Sekilas Tentang MIDlet MIDlet adalah aplikasi yang dibuat menggunakan Java 2 Micro Edition dengan profile Mobile Information Device Profile (MIDP). Aplikasi game (MIDlet Game) yang penulis implementasikan ini masih sangat sederhana, hanya menyertakan suatu koboi yang berjalan melalui suatu padang rumput yang luas yang melompat diatas rumput kering (tumbleweeds). MIDlet game ini seperti silly game, tetapi game yang saya implementasikan hanya menggambarkan paling dasar dari suatu pengembangan implementasi MIDlet game.

296

Sekilas Tentang Java Dari referensi yang diperoleh penulis, bahwa Java awalnya bernama Oak, yakni bagian dari projekGreen yang dikembangkan khusus oleh Sun Microsystem untuk memprogram perangkatperangkat elektronik rumah tangga semacam televise. Namun pada perkembangannya, bahasa Oak ini menjadi bahasa yang bias digunakan untuk pemrograman secara umum dan dikenal menjadi bahasa Java saat ini. Sekilas J2ME (Java 2 Micro Edition) Java 2 Micro Edition merupakan subset dari Java 2 Standard Edition (J2SE) yang ditujukan untuk implementasi pada peralatan embedded system dan handheld yang tidak mampu mendukung secara penuh implementasi menggunakan J2SE. Embedded system adalah produk-produk dengan komputer kecil berada didalamnya, namun aplikasi yang bisa dimanfaatkan dari peralatan tersebut sangatlah spesifik. Hal ini tentu saja berbeda dengan komputer PC yang kita kenal sehari-hari, yang mampu digunakan untuk berbagai aplikasi. Contoh Embedded System yang ada misalnya adalah aplikasi-aplikasi yang memanfaatkan mikroprosesor seperti televisi, sistem keamanan gedung, dan sebagainya. (Antonius Aditya Hartanto, 2003). J2ME sangat berguna untuk membangun sebuah aplikasi pada peralatan dengan jumlah memori dan kapasitas penyimpan yang terbatas, serta kemampuan user interface yang terbatas seperti pada perangkat komunikasi bergerak berupa handphone, PDA dan sebagainya. Bila dibandingkan dengan WAP (wireless application protocol) dengan bahasa pemrograman markup languange-nya yaitu WML (wireless mark up language) maka J2ME memiliki beberapa kelebihan yang berarti. WML sendiri memiliki beberapa kekurangan yaitu: 1. Small display dan limited user input facility. 2. Must always connected. 3. Biasanya devices-nya memiliki memory dan computational resources yang terbatas. Teknologi J2ME ditujukan untuk cakupan user yang luas sekali dari mulai handphone hingga set-top-box yang powerful seperti halnya sebuah komputer yang dilengkapi dengan J2SE atau J2EE. J2ME memiliki beberapa keunggulan yaitu: 1. Sebagaimana kekhasan aplikasi yang ditulis dengan bahasa pemrograman Java maka aplikasi J2ME memiliki ciri running any where, any time, over any device. 2. Aplikasi dapat dijalankan secara on-line maupun off-line. 3. Memiliki kode yang portable. 4. Safe network delivery. 5. Aplikasi yang ditulis dengan J2ME akan memiliki kompatibilitas yang tinggi dengan platform J2SE dan J2EE.(http://j2me.winwinfaisal.info).

HASIL DAN PEMBAHASAN Fungsi Sistem Fungsi sistem ini antara lain: 1. Sistem dapat dioperasikan dengan mudah oleh para pengguna. 2. Sistem dapat menunjukan bahwa aplikasi MIDlet ini sebagai media hiburan alternatif yang menarik. Konfigurasi Perangkat Keras dan Perangkat Lunak. Dalam pembuatan aplikasi MIDlet ini perangkat keras yang digunakan minimal adalah sebuah komputer dengan spesifikasi sebagai berikut: 1. Processor : 166 MHz 2. Memori / RAM : 64 MB 3. Hard Disk : 200 MB 4. VGA Card : 4 MB Dalam pembuatan program aplikasi MIDlet ini, pernagkat keras yang penulis gunakan adalah sebuah komputer dengan konfigurasi sebagai berikut: 1. Processor : Pentium III 800 MHz 2. Memori / RAM : 128 MB 3. Hard Disk : 20 GB 4. VGA Card : 32 MB Dalam pembuatan apliakasi MIDlet yang berbasis Java 2 Micro Edition hal yang pertama diperlukan adalah Java 2 Software Developkit (J2SDK) versi 1.4.0.2. Yang kedua Java 2 Micro Edition

297

(J2ME) Wireless Toolkit versi 2.0. Untuk menjalankan sistem menggunakan emulator yang telah disediakan pada perangkat lunak J2ME Wireless Toolkit 2.0. Pembuatan File Gambar File gambar dapat diperoleh dari foto-foto atau gambar-gambar yang sudah jadi, selanjutnya gambar tersebut dapat diolah atau diedit lagi dengan menggunakan perangkat lunak pengedit gambar. Penulis menggunakan suatu perangkat lunak gratis yang sudah tersedia pada Red Hat Linux 7.2 yaitu The GIMP. Jika belum ada program tersebut dapat di download di http//:www.gimp.org/download.html. Seluruh file gambar yang penulis gunakan berekstensi .png. File Gambar yang penulis gunakan dalam aplikasi game ini adalah sebagai berikut: ¾

boot.png

File ini digunakan sebaga icon game

¾

cowboy.png

File ini digunakan sebagai gambaran objek coboi. ¾

grass.png

File ini digunakan sebagai gambar dari objek rumput liar (grass). ¾

tumbleweed.png

File ini digunakan sebagai gambar objek rumput kering (tumbleweed) yang harus dihindari oleh koboi. Hasil Sistem Setelah mengklik “Run” maka akan muncul tampilan:

Gambar 1: Tampilan icon MIDlet Game Tampilan ini merupakan icon MIDlet Game. Setelah icon diklik dengan menekan tombol Launch yang terletak di sebelah kanan layar maka akan menampilakan layar seperti dibawah ini:

Gambar 2: Tampilan awal MIDlet game

298

Tampilan awal sangat sederhana, langsung menampilkan objek game dengan menu “Start” untuk mulai permainan dan “Exit” keluar game dan kembali ke tampilan icon. Setelah menekan tombol “Start” akan muncul:

Gambar 3: Tampilan saat MIDlet game dijalankan Pada saat game dijalankan coboi berusaha untuk menghindar dari hadangan tumbleweed seperti pada gambar:

Gambar 4: Tampilan saat coboi menghindar dari tumbleweed dengan melompat Pada saat game dijalankan tombol yang saya gunakan akan secara otomatis berubah menjadi tombol “Pause” yang tetap berada disebelah kanan. Saat tombol “Pause” diklik game akan otomatis berhenti sementara seperti pada gambar berikut:

Gambar .5. Tampilan saat MIDlet game dalam keadaan Pause Jika tombol “Start” ditekan kembali maka game akan berjalan kembali, dan game berakhir apabila waktu yang digunakan telah habis. Seperti pada gambar dibawah ini:

299

Gambar 6.Tampilan saat MIDlet game berakhir

packagepetualang; import javax.microedition.lcdui.*; import javax.microedition.lcdui.game.*; /public class Cowboy extends Sprite { static int WIDTH = 32; static int HEIGHT = 48; static int[] FRAME_SEQUENCE = { 3, 2, 1, 2 }; int myInitialX; int myInitialY; int myNoJumpInt = -6; int myIsJumping = myNoJumpInt; int myScoreThisJump = 0; public Cowboy(int initialX, int initialY) throws Exception { super(Image.createImage("/icons/cowboy.png"), WIDTH, HEIGHT); myInitialX = initialX; myInitialY = initialY; defineReferencePixel(WIDTH/2, 0); setRefPixelPosition(myInitialX, myInitialY); setFrameSequence(FRAME_SEQUENCE); } //--------------------------------------------------------// game methods /** * If the cowboy has landed on a tumbleweed, we decrease * the score. */ int checkCollision(Tumbleweed tumbleweed) { int retVal = 0; if(collidesWith(tumbleweed, true)) { retVal = 1; // once the cowboy has collided with the tumbleweed, // that tumbleweed is done for now, so we call reset // which makes it invisible and ready to be reused. tumbleweed.reset(); } return(retVal); } /** * set the cowboy back to its initial position. */ void reset() { myIsJumping = myNoJumpInt; setRefPixelPosition(myInitialX, myInitialY); setFrameSequence(FRAME_SEQUENCE); myScoreThisJump = 0; // at first the cowboy faces right: setTransform(TRANS_NONE); } void advance(int tickCount, boolean left) { if(left) { setTransform(TRANS_MIRROR); move(-1, 0); } else { setTransform(TRANS_NONE); move(1, 0); } if(tickCount % 3 == 0) { // slow the animation down a little if(myIsJumping == myNoJumpInt) { nextFrame(); } else { myIsJumping++; if(myIsJumping < 0) { setRefPixelPosition(getRefPixelX(), getRefPixelY() - (2

Suggest Documents