PERANCANGAN MOBILE GAME “KOMODO WARRIOR” BERBASIS J2ME
NASKAH PUBLIKASI
diajukan oleh
Ahmad Chazimul Asror 09.12.4166
kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2013
THE DESIGN OF MOBILE GAME “KOMODO WARRIOR” BASED J2ME PERANCANGAN MOBILE GAME “KOMODO WARRIOR” BERBASIS J2ME Ahmad Chazimul Asror Emha Taufiq Luthfi Jurusan Sistem Informasi STMIK AMIKOM YOGYAKARTA ABSTRACT The development of mobile games at this time is very fast, not least in Indonesia. Mobile gaming has now become an alternative entertainment for the elderly, young, men and women. Game development industry and business have become a promising thing. In Indonesia is still counted as a consumer game, this game viewed from the level of consumption is very high. Therefore, through this thesis to attempt to present a creative mobile games made in the home affairs. The design of this mobile game based on J2ME (Java 2 Micro Edition). The use of J2ME, but uses the Java programming language, excels in portability (ability, can run anywhere), and the safe delivery network. On the other hand, the selection of komodo character as an icon in the design of this mobile game through the game because it wanted to introduce more about the local animal native to Indonesia. In addition, the character is a character unique, cool, and interesting. The concept or the story of this game which tells the story of a warrior dragons adventure complete his mission and a variety of obstacles get in his way. Keywords: game, mobile game, j2me, komodo, java programming
1.
Pendahuluan Perkembangan mobile game saat ini sangat pesat, tidak terkecuali di Indonesia.
Mobile game saat ini sudah menjadi alternatif hiburan bagi semua kalangan. Karena semakin terjangkaunya harga handphone di pasaran, membuat mobile game menjadi sangat dekat dengan masyarakat. Industri dan bisnis pengembangan game juga sudah menjadi suatu hal yang menjanjikan. Di Indonesia masih terhitung sebagai konsumen game, ini dilihat dari tingkat konsumsi game yang sangat tinggi. Banyaknya mobile game yang beredar di masyarakat bertujuan sebagai penghilang rasa stres atau untuk sekedar penghilang kejenuhan yang tentunya banyak menjadikan seseorang membuang waktu untuk hal-hal yang kurang bermanfaat. Terlepas dari fakta tersebut, melalui mobile game sebenarnya ada hal lain yang bersifat positif bagi para pengguna atau konsumen yaitu dapat melatih kecerdasan otak. Dengan banyaknya mobile game yang bermunculan di masyarakat dan begitu antusiasnya masyarakat dalam menerima game, dapat dijadikan alasan untuk membuat sebuah game yang berjalan pada perangkat mobile. Perancangan mobile game ini berbasis J2ME. Di sisi lain, pemilihan karakter komodo sebagai ikon dalam perancangan mobile game ini karena ingin lebih mengenalkan tentang binatang lokal asli Indonesia tersebut. Selain itu, karakter komodo merupakan karakter yang unik dan menarik. Game ini memfokuskan pada jalan cerita atau gameplan yang simple dan menarik. Dengan konsep jenis game maze adventure. Target pengguna game ini untuk konsumsi semua umur. 2.
Landasan Teori
2.1
Game Game berasal dari kata Bahasa Inggris yang memiliki arti dasar permainan.
Permainan dalam hal ini merujuk pada pengertian kelincahan intelektual. Game juga bisa diartikan sebagai arena keputusan dan aksi pemainnya. Ada target-target yang ingin dicapai pemainnya. Kelincahan intelektual, pada tingkat tertentu, merupakan ukuran sejauh mana game itu menarik untuk dimainkan secara maksimal. 2.2
Elemen Game Di dalam sebuah game terdapat beberapa elemen yang akan membentuk
sebuah game itu sendiri yaitu: rules (aturan-aturan), victory condition (kondisi menang) dan lose condition (kondisi kalah), setting, interaction model, perspective (sudut pandang), role (peran), mode, struktur, realisme, dan story (cerita). 2.3
Jenis-Jenis Game Terdapat berbagai macam jenis dalam game, diantaranya: FPS (First Person
Shooter), RTS (Real Time Strategy), RPG (Role Playing Game), construction and
1
management simulation games, vehicle simulation, adventure, action, puzzle, life simulation games, manager simulation, fighting, maze. 2.4
Platform Game Ada beberapa macam platform game, meliputi: PC/komputer, console game, web
based game, mobile game. 2.5
Bahasa Pemrograman Java Java menurut definisi dari Sun adalah nama untuk sekumpulan teknologi untuk
membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan. 2.6
J2ME (Java 2 Micro Edition) J2ME adalah teknologi Java yang diperuntukkan perangkat-perangkat kecil
consumer device, terutama wireless. Beberapa perangkat wireless antara lain PC, PDA, communicator, embedded device, smart card dan ponsel. Teknologi Java mungkin merupakan satu-satunya cara memprogram beberapa perangkat, berbagi logic antara perangkat dan server, pengantaran aplikasi secara dinamis, program yang kompak, lingkungan pengembangan yang aman dan cepat. 2.7
UML (Unified Modeling Language) UML
adalah
bahasa
spesifikasi
standar
untuk
mendokumentasikan,
menspesifikasikan, dan membangun sistem perangkat lunak. Beberapa UML yang sering dipakai yaitu seperti use case diagram, sequence diagram, activity diagram, class diagram. 2.8
Langkah-Langkah Pembuatan Game Adapun langkah-langkah dalam pembuatan game “Komodo Warrior” ini adalah
sebagai berikut: a. Menentukan genre game. b. Menentukan tool yang akan digunakan. c.
Menentukan gameplay.
d. Menentukan grafis yang digunakan. e. Menentukan audio. f.
Perencanaan waktu.
g. Proses pembuatan game. h. Publishing. 2.9
Tool / Software yang Digunakan Dalam pembuatan game ini menggunakan empat tool/software utama, yaitu:
Eclipse Pulsar (Helios), Adobe Photoshop CS3, Adobe Soundbooth CS3, Visual Paradigm for UML 8.1.
2
3.
Analisis
3.1
Analisis Kebutuhan Game
3.1.1
Analisis Kebutuhan Fungsional Adapun analisis kebutuhan fungsional dalam game Komodo Warrior meliputi:
-
Pemain masuk ke dalam game dan akan tampil splash screen dari game.
-
Pada menu utama terdapat tombol Main, Petunjuk, dan Keluar.
-
Jika pemain memilih tombol “Main”, maka akan tampil menu pilihan level.
-
Pada menu pilih level, terdapat tiga level yang ditawarkan, yaitu level 1, 2, dan 3.
-
Jika user atau pemain belum pernah memainkan game, maka pilihan level yang bisa dipilih cuma Level 1. Sedangkan Level 2 dan 3 masih terkunci. Apabila pemaintelah sampai di Level 2 atau Level 3 maka secara otomatis pilihan
-
menuju ke level tersebut akan terbuka dengan sendirinya. Jika pemain memilih tombol “Petunjuk” maka akan keluar tampilan petunjuk tata
-
cara atau cara bermain dari game Komodo Warrior ini sekaligus informasi tentang pembuat game. -
Jika pemain memiih tombo “Keluar”, maka akan keluar dari game.
-
Pada saat pemain masuk pada bagian “Petunjuk”, dengan menekan enter atau ok pada perangkat mobile-nya maka akan kembali ke menu utama.
-
Saat masuk ke permainan maka akan ditampilkan tampilan utama dari game.
-
Pada saat game sedang berjalan, maka permainan dapat dihentikan untuk sementara atau pause game. Setelah itu, pemain akan diberi dua pilihan, yaitu akan melanjutkan permainan
-
atau akan keluar dari game. -
Pemain dapat menggerakkan karakter komodo ke kiri, kanan, atas, dan bawah.
-
Musuh akan datang dari berbagai arah (acak) sesuai dengan tingkat kesulitan tiap level.
3.1.2
Analisis Kebutuhan Non Fungsional Adapun analisis kebutuhan non fungsional dalam game ini meliputi:
a. Kebutuhan Perangkat Keras (Hardware) Spesifikasi hardware minimum yang dapat digunakan untuk menjalankan game ini adalah semua jenis handphone yang bisa menjalankan program java. b. Kebutuhan Perangkat Lunak (Software) Perangkat lunak (software) adalah program yang digunakan untuk menjalankan perangkat keras. Adapun perangkat lunak yang digunakan dalam pembuatan game ini adalah: -
Windows 7 Ultimate
-
Eclipse Pulsar (Helios)
3
-
Adobe Photoshop CS3
-
Adobe Soundbooth CS3
-
Visual Paradigm for UML 8.1
c. Kebutuhan Perangkat Otak (Brainware) Kebutuhan Perangkat Otak (Brainware) merupakan orang yang terlibat pada saat perancangan, pembuatan, dan implementasi. Dalam pembuatan game Komodo Warrior ini melibatkan beberapa pihak antara lain: -
Pembuat game (game maker), yaitu orang yang membuat game.
-
Penguji game (game tester), yaitu orang yang bertugas melakukan pengujian terhadap kelayakan dari game ini.
3.2
Pengguna (user), yaitu orang yang memainkan game.
Analisis Kelayakan Game Analisis ini bertujuan untuk meninjau dari beberapa sisi tentang kelayakan sistem
yang dibuat, yang meliputi: a. Kelayakan Teknologi Handphone bukanlah suatu teknologi yang asing lagi. Hampir semua kalangan memiliki HP. Dan saat ini perangkat tersebut sudah termasuk dalam kebutuhan pokok atau primer. Game ini dibuat untuk semua ponsel yang bisa digunakan untuk menjalankan aplikasi Java atau aplikasi berekstensi jar. b. Kelayakan Hukum Aplikasi ini jika dilihat dari segi hukum tidaklah melanggar hukum, karena aplikasi game ini merupakan aplikasi game yang baru atau bukan dari plagiat. Selain itu, pemrograman java merupakan bahasa pemrograman yang open source. Selain itu juga tidak mengandung unsur SARA (Suku Agama Ras dan Antargolongan). c.
Kelayakan Operasional Sumber daya manusia (SDM) yang ada untuk saat ini sudah banyak mengalami perkembangan yang pesat sehingga pengenalan game seperti ini ke masyarakat akan menjadi mudah. Selain itu, program aplikasi java merupakan program aplikasi yang sudah familiar di masyarakat.
3.3
Perancangan Game
3.3.1
Genre Game Game dengan judul “Komodo Warrior” merupakan sebuah game dua dimensi
ber-genre maze adventure. 3.3.2
Software/Tool Yang Digunakan Software yang digunakan meliputi Eclipse Pulsar (Helios) untuk mengolah dari
sisi pemrograman dan proses creating game-nya, Adobe Photoshop CS3 sebagai pengolah gambar, ikon, karakter, dan desain. Adobe Soundbooth CS3 untuk mengolah
4
audio yang akan diimplementasikan dalam game ini. Sedangkan untuk membuat analisis tentang UML digunakan Visual Paradigm for UML. 3.3.3
Gameplay Gameplay adalah sistem jalannya game tersebut, mulai dari menu, permainan,
save, load, game over, story line, mission success, mission failed, cara bermain dan sistem lainnya harus ditentukan. Game ini menceritakan tentang prajurit komodo yang berusaha menyelamatkan dunianya dari serbuan alien dari planet lain. Pemain akan berada dalam sebuah ruang, di sana diharuskan untuk mencari kunci agar bisa keluar lewat pintu. Kunci dilindungi tembok yang melingkar. Tekan tuas maka salah satu tembok akan terbuka. Setiap pemain melangkah 1 langkah, maka musuh juga akan bergerak 1 langkah. Perancangan level dari game ini berisi beberapa bagian yang menggambarkan sebuah misi yang harus dicapai, serta beberapa tingkat kesulitan dari masing-masing level (misi) yang dibuat pada perancangan game. Dalam game ini dibagi dalam tiga level. 3.3.4
Grafis yang Digunakan Grafis yang digunakan dalam game ini yaitu dua dimensi. Penggunaan karakter
komodo sebagai ikon dalam perancangan mobile game ini karena ingin lebih mengenalkan tentang hewan lokal asli Indonesia tersebut. Selain itu, karakter komodo merupakan karakter yang unik dan menarik, juga belum banyak yang menggunakannya sebagai karakter dalam sebuah game. Dalam bagian ini mencakup dua hal, yaitu perancangan karakter game dan perancangan desain antarmuka atau interface. 3.3.5
Audio Audio yang digunakan dalam pembuatan game ini yaitu musik pada saat
mengambil kunci, suara buka pintu, dan switch. Selain itu musik instrumentasi karya Yasunori Mitsuda yang berjudul Home Telmina dipakai pada bagian menu utama, instructions, maupun credits. Downing Valley digunakan untuk back sound pada game level 1. Dragonrider sebagai latar musik level 2. Terakhir, The Brink of Death untuk musik level 3. 4.
Hasil Penelitian dan Pembahasan
4.1
Manual Game Manual game ini sebenarnya sudah bisa ada di dalam menu Petunjuk game ini.
Namun perbedaan yang sangat signifikan dituliskan di sini adalah manual program di sini akan dibahas dari awal hingga akhir game dan pada menu Petunjuk aplikasi program hanya akan dibahas tentang permainan utamanya saja. 1. Perhatian penggunaan Hal yang harus diperhatikan adalah kebutuhan perangkat dan keperluan permainan adalah sebagai berikut:
5
a. Perangkat mobile yang mendukung aplikasi berbasis java. b. Game ini compatible dengan perangkat mobile yang memiliki ukuran lebar 240 pixel dan tinggi 320 pixel. c. User adalah user tunggal, game tidak bisa dimainkan secara multiplayer. 2. Mulai Permainan Game dimulai dengan mengklik ikon aplikasi setelah program diinstal pada perangkat mobile. Akan tampil splash screen lalu akan muncul menu utama. Pilih tombol “Main” untuk memulai permainan.
Gambar 4.10 Tampilan Menu Utama Tampilan awal setelah splash screen yaitu akan menampilkan menu utama. Di dalam menu utama ini terdapat tiga menu (tombol). Tombol Main merupakan tombol untuk menuju ke permainan. Sedangkan tombol Petunjuk adalah tombol untuk menuju ke halaman petunjuk permainan. jika user ingin keluar dari game maka tinggal memilih tombol Keluar.
Gambar 4.11 Tampilan halaman Petunjuk
6
Halaman Petunjuk merupakan halaman yang dituju oleh user jika user telah memilih tombol Petunjuk. Di dalamnya berisi uraian singkat tentang tata cara permainan dari Komodo Warrior.
Gambar 4.12 tampilan pilih level Tampilan pilih level merupakan tampilan setelah user memilih tombol Main. Di dalamnya terdapat tiga level yang bisa dipilih. Namun apabila user baru pertama kali memainkan game ini maka yang akan tampil atau tombol level yang aktif hanyalah untuk level yang pertama. Jika user telah menyelesaikan level yang pertama, maka secara otomatis tombol untuk level kedua akan aktif, begitu seterusnya untuk yang level ketiga.
Gambar 4.13 Tampilan salah satu stage permainan Tampilan di atas merupakan tampilan salah satu stage yang ada dalam game Komodo Warrior. User diharuskan untuk memenangkan misi dalam stage tersebut untuk menuju ke Stage atau level yang selanjutnya. Pertama pemain
7
harus menuju ke tuas untuk membuka salah satu dinding yang menutup kunci. Setelah mendapatkan kunci maka pemain dapat keluar melalui pintu keluar. Jika user berhasil menyelesaikan misi maka akan muncul tampilan seperti di bawah ini. Juga akan ditampilkan step dan skor yang diperoleh oleh user.
Gambar 4.14 Tampilan jika berhasil menjalankan misi Jika user mengalami kekalahan, atau misi gagal maka akan muncul tampilan Misi Gagal. Lalu akan ada dua tombol, yaitu Ulangi dan Menu. Apabila dipilih tombol Ulangi maka akan mengulangi level yang dimainkan tersebut, sedangkan apabila memilih Menu maka akan kembali ke Menu Utama.
Gambar 4.16 Tampilan saat permainan berakhir atau game over 4.2
Listing Program MIDlet merupakan aplikasi yang dibuat menggunakan J2ME dengan profil Mobile
Information Device Profil (MIDP). MIDlet berupa sebuah kelas abstrak yang merupakan sub kelas dari berntuk dasar aplikasi sehingga antara aplikasi J2ME dan aplikasi management pada perangkat dapat terbentuk. Paket yang digunakan pada aplikasi
8
MIDlet adalah Javax.microedition.midlet yang memiliki kelas MIDlet yang mendefinisikan MIDP dan interaksinya dengan perangkat handheld yang bersangkutan. Kelas ini adalah kelas utama dari sebuah MIDlet artinya semua aplikasi MIDlet harus merupakan turunan dari kelas ini. Sehingga turunannya harus mengimplementasi fungsi-fungsi abstrak di dalamnya. Seperti halnya pada aplikasi ini terdapat pula midletnya yang terdapat di KomodoWarrior.java.
Gambar 4.4 Listing program pada KomodoWarrior.java Method
startApp()
merupakan
method
yang
dipanggil
oleh
Aplication
Management Software (AMS) ketika MIDlet dijalankan atau diresume. Resume, dengan kata lain startApp() akan kembali dijalankan setelah di-pause. Method yang kedua yaitu pauseApp(). Method ini adalah method yang akan dipanggil oleh AMS saat dalam situasi tertentu. Selanjutnya, method destroyApp() yaitu method yang dipanggil untuk destroy MIDlet oleh AMS. Input handler merupakan fungsi yang akan menangani ketika user menekan suatu tombol pada device. Dalam game ini, dibuat menjadi dua macam input, yang pertama untuk menangani input pada layar menu utama dan yang kedua pada permainan. Karena saat menekan tombol atas pada layar menu utama hasilnya akan berbeda ketika user menekan di dalam game. Pada layar menu utama, tombol atas akan menggerakkan kursor ke atas, sedangkan pada game akan menggerakkan pemain satu kotak ke atas. Pada game ini, game input hanya digunakan untuk menggerakkan pemain pada menu utama.
9
Gambar 4.5 Listing program handle input player (arah kiri) Fungsi movePemain(), di bagian awal fungsi dibuat agar x dan y bernilai 0, sehingga x dan y hanya berubah nilainya ketika user menekan tombol. Jika user tidak merubah nilai x dan y, maka pemain (komodo) akan terus bergerak meskipun sudah melepas tombolnya. getKeyState() merupakan fungsi yang akan mengembalikan nilai int, yang merupakan penanda bahwa suatu tombol sedang dalam posisi ditekan. Lalu ada pengecekan, apakah keyState dan GameCanvas.LEFT_PRESSED bernilai tidak 0. Jika true, maka akan menuju ke kode berikutnya. Pada kode selanjutnya ada pengecekan kembali, yaitu pengecekan terhadap tombolTahan. Di sini akan mengecek apakah user masih menekan tombol atau tidak. Jika iya, maka lewati kode di dalamnya. Jika tidak, maka x diubah nilainya menjadi -1. Sebelumnya juga akan dicek terlebih dahulu apakah di dekatnya (arah kiri) terdapat dinding (tembok) atau tidak. Lalu merubah nilai tombolTahan menjadi true sehingga kode di dalam “if” ini tidak akan dilakukan lagi sampai user melepas tombol. Juga merubah arahChar menjadi ke kiri. Dan begitu selanjutnya, sampai pada bagian akhir dari “If-Then-Else” terdapat fungsi untuk merubah kembali tombolTahan menjadi false, sehingga ketika user melepas tombol maka tombolTahan pun berubah kembali menjadi false. Selanjutnya, karena pada pembuatan obstacle, berbeda layer dengan map, maka harus membuat interaksi antara pemain (komodo) dengan obstacle, khususnya obstacle dinding atau tembok. Pada pengecekan ini menggunakan fungsi untuk mengecek dengan parameter masukan posisi dari pemain.
Gambar 4.6 Listing program untuk cek obstacle
10
Fungsi tersebut akan mengecek apakah lokasi dari pemain (x, y) berisi obstacle atau tidak. Jika iya, maka nilai kembali menjadi true dan sebaliknya. Untuk cara pengecekannya, kita letakkan di dalam “if” sebelumnya. Lalu membuat interaksi pemain dengan tuas. Ketika pemain berada di atas tuas, maka akan ada dinding yang hilang. Ketika pemain berada pada tile yang sama dengan tuas tersebut, maka akan ada sebuah dinding yang hilang. Dan saat menonaktifkan tuas tersebut, maka dinding tersebut akan muncul kembali. Kemudian kita buat fungsi bukaObstacle(), yang digunakan untuk melakukan pengecekan terhadap posisi pemain. Karena posX dan posY merupakan posisi dari pemain (yang merupakan posisi dalam array juga), maka dapat digunakan untuk mengecek nilai dari array obstacle. Jika bernilai 0, maka obstacle pada baris dan kolom yang telah ditentukan tersebut akan berubah nilainya menjadi 0, yang artinya dinding akan hilang dan stateTuas pun berubah nilainya menjadi 1. Jika user menginjaknya lagi, maka dinding pun muncul lagi dan stateTuas berubah menjadi 0 kembali.
Gambar 4.7 Listing program untuk membuka obstacle Setelah itu membuat interaksi antara pemain dengan kunci. Ketika kita berada di atas kunci, maka kunci akan pindah ke inventory pemain. Pertama, membuat variable invent, yang berguna untuk menyimpan jumlah kunci. Di sini kita simpan dalam bentuk int, sehingga ketika pemain mengambil kunci, maka invent akan bertambah 1. Caranya sama dengan pengecekan tile wall dan obstacle, cek apakah posisi berdiri pemain tersebut bernilai 9 (obstacle kunci). Jika iya, maka invent bertambah nilainya, lalu object kunci dihilangkan dari canvas dengan cara mengubah nilai array menjadi 0.
11
Gambar 4.8 Listing program untuk mengambil kunci Langkah berikutnya, membuat interaksi pemain dengan pintu. Di mana pintu ini adalah tempat yaang menjadi tujuan dari pemain. Ketika pemain tidak membawa kunci, maka pemain tidak bisa masuk ke pintu tersebut. Ketika pemain membawa kunci, maka akan dapat melewati pintu dan akan memenangkan stage itu. Membuat fungsi cekPintu() untuk mengecek apakah di sekeliling pemain terdapat pintu atau tidak. Jika tidak, maka periksa lagi, apakah invent tidak bernilai 0, jika iya baru merubah obstacle-nya menjadi 8, yaitu gambar pintu terbuka. Dan juga merubah map menjadi 5, agar pemain bisa masuk ke dalam pintu (cek fungsi pada movePemain()). Lalu jumlah invent akan dikurangi. Parameter masukan x dan y berguna untuk menentukan posisi pintu yang akan dibuka (berdasarkan array).
Gambar 4.9 Listing program untuk cek pintu
5.
Kesimpulan Dari semua penjelasan dan pembahasan yang telah dipaparkan dalam penulisan
skripsi ini, dapat ditarik beberapa kesimpulan yaitu: 1. Dari hasil analisis yang telah dilakukan dapat disimpulkan bahwa pengembangan aplikasi berbasis java mudah dilakukan. Mudah dalam hal mendapatkan alat pengembangan dan mempublikasikan aplikasi yang telah dibuat. Namun untuk
12
bersaing dalam pasar mobile game memerlukan kerja keras karena banyaknya aplikasi yang telah tersedia. Aplikasi yang dibuat harus kreatif dan unik. 2. Game Komodo Warrior ini memberikan sesuatu yang berbeda dibandingkan dengan permainan lainnya yang bergenre maze adventure dan belum ada permainan ini pada platform java. Game ini mudah untuk dimainkan (user friendly), aturan-aturan yang diterapkan mudah dipahami. Sehingga game ini cocok untuk semua kalangan. 3. Dengan adanya game Komodo Warrior ini para pengguna permainan ini dapat bermain kapanpun dan di manapun melalui aplikasi pada mobile. Sehingga game ini bisa menjadi penghibur di sela-sela untuk mengisi waktu luang.
Daftar Pustaka Apperley, Thomas H. 2006. Genre and Game Studies: Toward A Criticalapproach to Video Game Genres. Melbourne: University of Melbourne. Hartanto, Antonius Aditya. 2004. Pemrograman Mobile Java dengan MIDP 2.0. Yogyakarta: Andi. Nalwan, Agustinus. 1998. Seri Aplikasi Pemrograman: Pemrograman Animasi dan Game Profesional. Jakarta: Elek Media Komputindo. Neumann, J. Von and Morgenstern. 1953. Theory of Games and Economic Behavior. New Jersey: Princeton University. Raharjo, Budi, dkk. 2007. Tuntunan Pemrograman Java Untuk Handphone. Bandung: Informatika. Shalahuddin, M dan Rosa AS. 2008. Pemrograman J2ME Belajar Cepat Pemrograman Perangkat Telekomunikasi Mobile. Bandung: Informatika. Tim Agate Academy. 2012. Membuat Game J2ME. Bandung: Agate Studio.
13