Top Banner
Komunitas eLearning IlmuKomputer.Com Copyright © 2003-2012 IlmuKomputer.Com 1 M M u u d d a a h h M M e e m m b b u u a a t t G G a a m m e e J J 2 2 M M E E M.Octaviano Pratama [email protected] http://tavgreen.com Pada Jaman modern sekarang, teknologi telah berkembang sangat pesat termasuk teknologi berbasis mobile phone. Di tahun-tahun sebelumnya, game hanya berkisar seputar alat komunikasi untuk meneleponatau mengirimkan pesan singkat saja. Namun pada saat ini, mobile phone telah berubah menjadi trend dan gaya hidup. Berbagai perangkat handphone telah dilengkapi dengan teknologi multimedia, office dan games. Berbicara mengenai games di mobile phone, J2ME (Java 2 Mobile Edition ) masih cukup banyak digunakan oleh berbagai vendor mobile. Dalam tutorial singkat ini, akan dibahas langkah-langkah membuat game sederhana, disertai dengan sedikit teori mengenai J2ME dan banyak contoh mengenai praktek pembuatan aplikasinya. Langkah langkah Sebelum membuat game, persiapkan terlebih dahulu software berikut: Netbeans 6.9 or higher yang telah tersedia emulator J2ME Mengenal J2ME Pada bahasan pertama ini, saya akan membahas mengenai pembuatan project dan aplikasi J2ME sederhana. Untuk membangun aplikasi atau games berbasis J2ME, anda dapat menggunakan 2 buah akses User Interface(UI) yaitu Low Level User Interface dan High Level User Interface. Jika High level merupakan UI yang telah tersedia di sistem dan tinggal kita gunakan sedangkan low level merupakan UI yang harus kita desain lagi. Contoh UI High level adalah Alert,Form,Checkbox,ComboBox, dll yang tinggal kita panggil objectnya saja. Untuk low level disini kita harus menggambar layoutnya dengan memanfaatkan kelas canvas atau gamecanvas. Buatlah projek baru dengan nama J2ME1Lisensi Dokumen: Copyright © 2003-2012 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.
18

Gamejavaj2me

Jun 30, 2015

Download

Software

Irwan Syah
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

1

MMuuddaahh MMeemmbbuuaatt GGaammee JJ22MMEE

M.Octaviano Pratama [email protected]

http://tavgreen.com

Pada Jaman modern sekarang, teknologi telah berkembang sangat pesat termasuk teknologi berbasis mobile phone. Di tahun-tahun sebelumnya, game hanya berkisar seputar alat komunikasi untuk „menelepon‟ atau mengirimkan pesan singkat saja. Namun pada saat ini, mobile phone telah berubah menjadi trend dan gaya hidup. Berbagai perangkat handphone telah dilengkapi dengan teknologi multimedia, office dan games. Berbicara mengenai games di mobile phone, J2ME (Java 2 Mobile Edition ) masih cukup banyak digunakan oleh berbagai vendor mobile. Dalam tutorial singkat ini, akan dibahas

langkah-langkah membuat game sederhana, disertai dengan sedikit teori mengenai J2ME dan banyak contoh mengenai praktek pembuatan aplikasinya.

Langkah – langkah Sebelum membuat game, persiapkan terlebih dahulu software berikut:

Netbeans 6.9 or higher yang telah tersedia emulator J2ME

Mengenal J2ME Pada bahasan pertama ini, saya akan membahas mengenai pembuatan project dan aplikasi J2ME sederhana. Untuk membangun aplikasi atau games berbasis J2ME, anda dapat menggunakan 2 buah akses User Interface(UI) yaitu Low Level User Interface dan High Level User Interface. Jika High level merupakan UI yang telah tersedia di sistem dan tinggal kita gunakan sedangkan low level merupakan UI yang harus kita desain lagi. Contoh UI High level adalah Alert,Form,Checkbox,ComboBox, dll yang tinggal kita panggil objectnya saja. Untuk low level

disini kita harus menggambar layoutnya dengan memanfaatkan kelas canvas atau gamecanvas.

Buatlah projek baru dengan nama „J2ME1‟

Lisensi Dokumen: Copyright © 2003-2012 IlmuKomputer.Com

Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan

disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat

tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang

disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang,

kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com.

Page 2: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

2

Berikan nama projek „J2ME1‟ kemudian kedua buah checkbox jangan di ceklist. Jika

telah selesai, klik finish.

Pada „default package‟ di project explorer, klik kanan kemudian „new -> Midlet‟. Kita akan membuat satu buah Midlet. Midlet hanya dimiliki oleh satu project yaitu merupakan kelas yang pertama kali dibuka ketika user menjalankan aplikasi ini nantinya di device mobile.

Page 3: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

3

Klik kanan lagi pada <default package> kemudian „new ->java class‟ berikan nama „utama.java‟

Double klik kelas Midlet dan utama. Kemudian perhatikan potongan script berikut di

kelas midlet :

Page 4: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

4

Terdapat 3 method di dalam class Midlet yaitu startApp,pauseApp dan destroyApp.

Sesuai namanya, startApp merupakan method ketika pertama kali kita menjalankan aplikasi. Pause aktif ketika program dihentikan dan destroyApp aktif ketika Exit program. Sedangkan pada class Utama, hanya memiliki satu buah Construktor yaitu „public Utama‟. Di kelas inilah nantinya program dan game yang akan kita buat.

Isikan class Midlet dengan Program berikut :

Program diatas berarti kita menampilkan objek „ut‟ ke Display (Layar) dimana objek „ut‟ berasal dari instance „Utama‟.

Isikan class Utama dengan program berikut :

Page 5: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

5

Program diatas berarti:

g.setColor(255,0,0);

memberikan set warna Red Aktif(255) g.drawRect(10, 10, 40, 40); menggambar Rectangle dengan posisi X = 10 , Y = 10, SizeX=40 dan SizeY = 40 g.setColor(0,255,0); memberikan set warna Green Aktif(255) g.fillRect(70, 10, 40, 40); mengisi Rectangle dengan posisi X = 70 , Y = 10, SizeX=40 dan SizeY = 40 g.setColor(0,0,255);

memberikan set warna Blue Aktif(255) g.drawString("Menggambar Grafik", 30, 70, 0); Menuliskan string “Menggambar Grafik” di layar dengan posisiX=30, PosisiY=70

Jika dijalankan maka program akan menghasilkan output sebagai berikut :

Page 6: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

6

Sebelum membuat game yang berkualitas, diharapkan anda sudah memahami cara kerja dari class canvas ini. Dikarenakan dalam pembuatan game kita menggunakan juga kelas canvas dan gamecanvas. Jika anda kesulitan dalam mengetahui sintak apa saja yang ada di java, gunakan fasilitas autocomplete code yaitu dengan cara menekan ctrl + spasi seperti berikut :

Perancangan Game Untuk membuat game yang baik, ada baiknya kita melihat contoh game yang telah ada sebelumnya. Biasanya didalam game terdapat beberapa element yaitu :

- Splash Screen, merupakan halaman yang muncul beberapa detik pada saat kita membuka game.biasanya splash screen memunculkan pembuat game/perusahaan game

- Menu, merupakan navigasi menuju permainan, setting,petunjuk dll - Setting, konfigurasi game seperti level permainan

- Petunjuk, cara penggunaan game - Game, memulai game

Buatlah 5 kelas dengan nama diatas pada project „J2ME‟. Disertai dengan package „resource‟ seperti berikut :

Page 7: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

7

Berikut merupakan alur dari game yang akan dibuat :

Splash Screen Splash screen merupakan screen yang muncul selama beberapa detik sebelum masuk ke menu utama. Untuk membuat splash screen dibutuhkan satu buah thread untuk dapat memberikan jeda

beberapa detik. Berikut ScreenShot dari Splash :

Copykan file splash.png anda kedalam Package Resource, kemudian isikan Class

Splash.java sebagai berikut :

Midlet Splash

Menu Setting

Petunjuk

GAME

Page 8: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

8

Program diatas merupakan program untuk menggambar image yang berasal dari file di

„resource/splash.png‟. Isilah file Midlet anda dengan program dibawah ini :

Menu Menu yang akan kita buat muncul setelah splash screen muncul selama 3 detik. Bukalah Class Midlet.Java dan ubah kode yang lama menjadi seperti berikut :

Page 9: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

9

Keterangan :

- Method splash berfungsi untuk menginstance class Splash dan menampilkan di display. - Diberikan thread sleep sebesar 50 ms untuk splash screen kemudian dilanjutkan dengan

Page 10: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

10

mengakses menu utama. Berikut merupakan Class Menu.java :

Page 11: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

11

Keterangan :

- public Menu(Midlet m), konstruktor Menu diisi dengan parsing by reference Midlet yang berasal dari kelas midlet.

- setFullScreenMode(true);, merubah display menjadi full screen menu - this.m = m;, mengisi object m yang ada di class Menu(this) dengan m yang berasal dari

class Midlet - background = Image.createImage("resource/bg_menu.png");merupakan inisialisasi

variable background dengan nama image = bg_menu.png - imgOn[i] = Image.createImage("resource/images_on_" + i + ".png"); merupakan baris

yang menginisialisasi tiap gambar(total 4 gambar) - new Thread(this).start();memulai threa - g.drawImage(background, 0, 0, 0);menggambar image di object graphic untuk

kemudian ditampilkan di display - if (posisi == i) { g.drawImage(imgOn[i], 40, 55 * i + 60, 0); } , jika posisi(variable

pembantu) sama dengan posisi looping, maka draw image yang bertipe on.

- protected void keyPressed(int keyCode) merupakan method untuk menampung apa saja yang dilakukan oleh tombol / keypad mobile phone, hasilnya dikirim ke parameter dengan variable keyCode.

- if ((keyCode == -2 || keyCode == 56) && posisi != 3) posisi++; Jika keycode sama dengan -2 (tombol keypad atas) dan keycode sama dengan 56(tombol keypad nomor 8) dan posisi tidak lebih dari 3(akhir image), maka posisi ditambah 1

Page 12: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

12

Tambahkan 4 Image tipe on dan 4 image tipe off anda kedalam package resource. Output dari program adalah sebagai berikut :

Petunjuk,Setting & Tentang

Untuk menu ini, anda dapat mengexplorasi sesuai dengan kreasi anda dengan bantuan class canvas. Misalnya seperti contoh berikut di menu tentang :

Untuk membuat button back, anda dapat menginstance class Command seperti berikut : private Command back = new Command("Back", Command.BACK, 1); public void commandAction(Command c, Displayable d) { if(c==back)

{

Page 13: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

13

m.menu(); }

}

Game Utama

Game ini bertema GatotKaca Runner. Yaitu game trial berdurasi 30 detik dimana gatotkaca berperang melawan musuhnya. Berikut cuplikannya :

Konsep dari game :

- Background awan akan jalan dari kanan ke kiri. Ketika image habis, maka akan direfresh dengan image baru sehingga image tidak akan terputus dan terus bergerak

- Terdapat 2 karakter yaitu gatotkaca(kanan) dan musuh(kiri) ketika gatotkaca menyerang(tekan tombol 5/tengah), maka roket akan keluar

- Jika musuh terkena roket, maka score akan bertambah secara random - Limit waktu yang diberikan selama 30 detik. Jika telah habis, maka game akan keluar.

Berikut list programnya :

Page 14: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

14

Page 15: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

15

Page 16: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

16

Page 17: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

17

Installasi Aplikasi di Device Mobile Semua contoh program diatas menggunakan device dengan layar 240(width) x 320(height)

sehingga apabila device anda berlayar resolusi lain maka anda harus merubah source code terutama posisi X dan Y. Untuk mendownload program ke device anda, tekan Shift + F11 (Clean and Build) kemudian masuk ke folder dist pada project anda kemudian copykan file .Jad dan .Jar ke device Mobile anda.

Penutup Dalam penyusunan E-book ini, penulis mengucapkan terima kasih kepada rekan-rekan dari batch6 ITB – Seamolec dan tim pengajar dari Seamolec khususnya mas Abdul Rizal Adompo yang telah membantu dalam penyampaian materi kepada penulis sehingga penulis dapat menyelesaikan E-Book ini. Penulis juga menyadari banyaknya kekurangan, oleh karena itu penulis mengharapkan mendapat kritik dan saran agar penulis dapat menyusun E-book lainnya dengan lebih baik lagi. Apabila pembaca terdapat kesulitan dalam mengaplikasikan materi-materi yang telah diulas sebelumnya, silahkan menghubungi penulis di http://tavgreen.com. Untuk Source Code dari E-Book ini dapat didownload di

http://octavianopratama.wordpress.com .Nantikan E-book selanjutnya “Game Development Android” yang sedang penulis selesaikan.

Referensi

Taufiq, Andik, 2010 , Pemprograman Grafik dengan Java. Bandung : Informatika.

Page 18: Gamejavaj2me

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2012 IlmuKomputer.Com

18

Biografi Penulis M.Octaviano Pratama . Alumni Teknik Komputer Unpad dan saat ini berstatus sebagai Mahasiswa D4 Teknik Informatika Kesehatan ITB kerjasama Seamolec. Penulis aktif sebagai assisten laboratorium Komputer

Unpad , Penulis buku dan tutorial jaringan komputer dan pemrograman, pemilik situs http://tavgreen.com. Beberapa bidang IT yang ditekuni penulis diantaranya Pemrograman web, Java, basis data, Modeling , Robotika, Program Scripting dan Jaringan Komputer. Anda dapat menghubungi penulis pada alamat dibawah : http://www.tavgreen.com [email protected]