PERANCANGAN GAME “GO ASTRAY” MENGGUNAKAN J2SE
Naskah Publikasi
Diajukan Oleh : ADITYA KURNIAWAN 07.11.1725
Kepada
SEKOLAH TINGGI MENAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2011
DESIGN OF GAME “GO ASTRAY” USING J2SE
PERANCANGAN GAME “GO ASTRAY” MENGGUNAKAN J2SE
Aditya Kurniawan Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT Technological developments in the world today is very fast. Including one of which is the technology game. Game is a combination of graphics, sounds, and animations that can be enjoyed by everyone. Game technology developed at this time have been able to display a variety of interesting stories to be played as a medium of entertainment that is fun to relaxation people are too busy byhis job so it is less time for entertainment . So I wanted to design a game called "GO Astray" suitable for children and adults. Game "GO Astray" is a kind of adventure games that run on the desktop. Game "GO Astray" here to tell about the main characters find a way out because of getting lost and to find a way out that we are required to think logically in order to complete the mission at every level, in addition to the main character looking for a way out can add points by taking every toy that is in the game. Makers of this game using Netbeans 6.9.1 Java2SE with Tool and use the Library GTGE (Golden T Game Engine), a free license (Open Source). By Library GTGE we can create games with ease, the result of making games using the Library GTGE also quite satisfying because we do not have to make low-level programming language, the game "GO Astray" consists of 20 levels of adventure that includes forests, a labyrinth, river flow and a few pitfalls that can entertain gamers. Keywords: Game, Java2SE, Library GTGE (Golden T Game Engine), Netbeans, Game Engine, free license.
1. Latar Belakang Masalah Perkembangan teknologi yang sangat pesat saat ini menyebabkan kebutuhan akan teknologi yang semakin besar. Tidak hanya dalam pekerjaan
dunia hiburan pun
sekarang ini teknologi juga sangat berperan, mulai dari film, musik dan bahkan hiburan interaktif atau yang biasa kita sebut video game. Video game atau yang sekarang ini lebih sering disebut game saja, jenisnya semakin bervariasi sejalan dengan perkembangan teknologi perangkat keras dan perangkat lunak. Perkembangan game saat ini berkembang pesat. Dahulu untuk membangun game membutuhkan kemampuan yang lebih seperti kemampuan dalam pemrograman. Pada saat ini para developer dapat membangun game lebih mudah dengan menggunakan game engine. Pembuatan game yang unik dan menarik menggunakan bahasa pemrograman java dengan netbeans 6.9.1. Game ini merupakan sejenis game arcade yang dijalankan di desktop. Game ini menceritakan tentang tokoh utama yang tersesat, dan berusaha untuk mencari jalan keluar dalam permainan kita dituntut untuk berpikir logis agar bisa menyelesaikan misi di tiap levelnya. Sesuai dengan topik yang telah dipaparkan di atas, maka untuk skripsi penyusun mengambil judul : “Perancangan Game GO ASTRAY Menggunakan J2SE”.
2. Metode Penelitian Metode-metode yang digunakan untuk memperoleh data-data yang diperlukan dalam penelitian ini adalah : 1. Kepustakaan Metode yang digunakan untuk mendapatkan konsep-konsep teoritis menggunakan buku-buku, internet, dan CD sebagai bahan referensi dalam mendapatkan informasiinformasi yang dibutuhkan. 2. Study Literatur Metode pengambilan data dengan menggunakan literature yang ada seperti dengan memanfaatkan fasilitas internet yaitu dengan mengunjungi situs-situs web yang berhubungan dengan game development.
3. Landasan Teori 3.1 Java 2 Standard Edition ( J2SE ) Ada dua produk utama di platform Java SE keluarga: a. Java SE Runtime Environment (JRE) Java Runtime Environment (JRE) menyediakan perpustakaan, Java Virtual Machine, dan komponen lainnya untuk menjalankan applet dan aplikasi yang ditulis dalam bahasa pemrograman Java. Selain itu, dua kunci teknologi penyebaran adalah bagian dari JRE: Java Plug-in, yang memungkinkan untuk menjalankan applet di browser populer dan Java Web Start, yang menyebarkan aplikasi mandiri melalui jaringan. Itu juga merupakan fondasi bagi teknologi di Java 2 Platform, Enterprise Edition (J2EE) untuk pengembangan perangkat lunak perusahaan dan penyebaran. JRE tidak mengandung alat dan utilitas seperti compiler atau debugger untuk mengembangkan applet dan aplikasi. b. Java Development Kit (JDK) JDK merupakan superset dari JRE, dan berisi segala sesuatu yang ada di JRE, ditambah alat seperti compiler dan debugger yang diperlukan untuk mengembangkan applet dan aplikasi. The konseptual diagram di atas menggambarkan semua komponen teknologi dalam platform Java SE dan bagaimana mereka cocok bersama. 3.2 Library GTGE (Golden T Game Engine) Golden T Game Engine (GTGE) merupakan sebuah 2D Game Library / Game SDK (Software Development Kit) untuk membuat game yang berkualitas dengan mudah. GTGE merupakan kumpulan fungsi bahasa pemograman Java (pustaka Java), yang artinya Anda akan menggunakan bahasa pemograman Java untuk membuat game dengan GTGE. GTGE merupakan suatu pustaka lapisan tingkat tinggi (High Level Interface), artinya programmer tidak perlu mengkhawatirkan perintah tingkat rendah lagi (yang menyangkut perintah ke hardware komputer). GTGE mencoba menutupi (namun tidak mengunci) fungsi tingkat rendah tersebut dengan menempatkan programmer pada lapisan yang paling baik agar programmer dapat membuat game dengan senyaman mungkin. GTGE memberikan akses ke fungsi hardware tersebut secara langsung dengan cara yang paling mudah. Singkatnya GTGE merupakan kumpulan fungsi-fungsi siap pakai untuk membuat game, seperti fungsi untuk penggambaran ke layar, polling keyboard dan mouse, pemanggilan suara atau musik, dll. Fungsi-fungsi inilah yang disebut dengan Game Engine.
GTGE merupakan kumpulan fungsi-fungsi Java untuk membuat game 2D. Agar fungsi-fungsi tersebut dapat digunakan, secara teknis berarti GTGE harus terlebih dahulu diinstall. Dalam konteks Java, ini berarti memasukkan pustaka GTGE ke dalam classpath game. Ada 2 langkah dalam menjalankan game GTGE : 1. Compile : mengubah kode program game (.java) menjadi bytecode (.class). 2. Run : menjalankan bytecode (.class) tersebut. Dalam 2 langkah inilah pustaka GTGE harus ada di dalam classpath game tersebut.
Gambar 3.1 langkah-langkah pustaka GTGE di dalam classpath game Dalam bahasa pemograman Java, setiap fungsi berada didalam class, demikian juga halnya dengan fungsi-fungsi GTGE. Dan untuk memudahkan pencarian dan penggunaan fungsi dari dalam suatu class, Java mendukung pengelompokan sekelompok class ke dalam suatu package. GTGE memanfaatkan hal ini seoptimal mungkin untuk membuat GTGE API terstruktur dengan baik, dan membuat pencarian dan penggunaan fungsi GTGE menjadi sangat mudah. GTGE membuat suatu class berdasarkan fungsi-fungsi tertentu (misalnya membuat class untuk fungsi grafis), dan mengelompokkan class-class yang berkarakteristik sama (misalnya class-class engine) ke dalam sebuah package. Untuk jelasnya mari kita lihat diagram isi GTGE :
Gambar 3.2 GTGE Library
Dapat
kita
lihat
diatas,
class-class
dengan
karakteristik
yang
sama
dikelompokkan ke dalam satu package, class graphics, class input, class sound yang merupakan class engine dikelompokkan ke dalam package engine, dan class sprite, class background, class collision yang merupakan class game object dikelompokkan ke dalam package game object. Secara garis besar terdapat 3 package utama dalam GTGE : 1) Package com.golden.gamedev Package ini berisi kumpulan class inti yang menginisialisasi engineengine game dari GTGE.
Gambar 3.3 Package gamedev
2) Package com.golden.gamedev.engine Package ini berisi class-class engine GTGE, mulai dari engine grafis, input, suara, dll.
Gambar 2.4 Package Engine GTGE
3) Package com.golden.gamedev.object Package ini berisi class-class objek game, seperti sprite, latar game, dll.
Gambar 3.5 Package Game Object
3.3 Analisis kebutuhan Sistem Pada analisis kebutuhan sistem akan dibagi menjadi 2 bagian diantaranya sebagai berikut : 3.3.1
Analisis Kebutuhan Sistem Fungsional :
1. Sistem harus dapat melakukan entri nama dari pengguna sebagai inisial. Pengguna harus dapat menaklukkan entri nama setelah game berakhir untuk menginisialisasi game pada menu high score. 2. Sistem harus dapat melakukan penghitungan point dari setiap level. Pengguna dapat melihat score yang terkumpul dari setiap level. 3. Sistem harus dapat mengaktifkan sound dan mematikan sound. Pengguna atau pemain dapat mematikan sound yang berjalan pada game. 3.3.2
Analisis Kebutuhan Sistem Non-Fungsional :
1. Perangkat Lunak Perangkat lunak yang diperlukan dalam pembuatan sistem dan pemrosesan data dari sistem yang diusulkan adalah : a) Microsoft Windows XP sebagai sistem operasinya. b) Java untuk bahasa pemrograman. c) GTGE sebagai engine game agar game dapat berjalan. d) XML untuk melakukan penyimpanan data. e) MS Office 2007 untuk membuat laporan. f)
Program-program lain yang mendukung sistem.
2. Perangkat Keras Perangkat
keras
yang
dibutuhkan
sebagai
sarana
penunjang
seperangkat personal computer dengan spesifikasi sebagai berikut :
berupa
Minimum recommended : a) Pentium 4 1 Ghz-2.5 Ghz. b) Memory 512 Mb. c) Vga On Board. d) Sound tersedia. Perangkat yang direkomendasikan : a) Pentium Core 2 Duo 2.6 Ghz. b) Memory 2 Gb. c) Vga Asus 8400GS d) Sound card Soundblaster. Dengan menggunakan kebutuhan personal komputer di atas diharapkan pengguna sistem dapat dengan lancar dalam memainkan game ini. 3. Pengguna Pengguna merupakan seseorang yang menjalankan game ini. 3.4 Perancangan Sistem 3.4.1
Perancangan Sistem Secara Umum
Gambar 3.6 Use Case Diagram
Use case menjelaskan urutan kegiatan yang dilakukan actor dan sistem untuk mencapai suatu tujuan tertentu. Walaupun menjelaskan kegiatan, namun use case hanya menjelaskan apa yang dilakukan oleh actor dan sistem bukan bagaimana actor dan sistem melakukan kegiatan tersebut. jalannya proses game goastray memiliki satu pemain. Satu pemain tersebut memiliki beberapa peranan yang terbagi menjadi 9 buah case yang setiap case mempunyai fungsinya sendiri. Fungsi-fungsi dari setiap case akan dijelaskan sebagai berikut : 1. Memulai game, berfungsi untuk memulai permainan. 2. Melihat petunjuk permainan, berfungsi untuk melihat petunjuk penggunaan dan apa saja yang harus dilakukan seorang pemain dalam menjalankan game ini. 3. Pengolahan data poin berupa bentuk penyimpanan data para pemain di urutkan dari poin terbanyak sampai urutan ke 10, yang tersimpan di hiscore.dat . 4. Melihat High score, berfungsi melihat daftar nilai tertinggi dari seorang pemain bisa di lihat dari hiscore.dat . 5. Mengubah settingan suara, berfungsi mengaktifkan atau menon-aktifkan suara dari game. 6. Mengubah settingan level permainan, berfungsi merubah level permainan dari easy, normal, atau hard. 7. Melihat credits, berfungsi menampilan nama pembuat game. 8. Setingan layar game bisa di pilih fullscren 9. Keluar dari game, berfungsi untuk keluar dari game.
4 .4.1
Implementasi dan Pembahasan Uji Coba Game Game yang selesai dibuat seperti yang telah dibahas pada bab
sebelumnya perlu suatu pengujian untuk melihat adanya bug (error) di dalam game. Berikut pengujiannya seperti terlihat pada tabel 4.1 :
No
Fungsi
Status
1
Fullscreen
Berjalan baik
2
Bufferstrategy
Berjalan baik
3
Menu
Berjalan baik
4
Start Game
Berjalan baik
5
Petunjuk
Berjalan baik
6
Hi-Score
Berjalan baik
7
Setting suara
Berjalan baik
8
Setting Level
Berjalan baik
9
Credits
Berjalan baik
10
Quit Game
Berjalan baik
11
Level 1-20
Berjalan baik
12
Multiplatform
Iya
Tabel 4.1 Hasil Pengujian
4.2
Hasil dan Pembahasan Pembuatan game Go Astray menggunakan fasilitas serta library GTGE,
maka game ini bersifat open source dan multiplatform(dapat berjalan di semua sistem operasi). Dengan mengeksekusi ekstensi file .jar seperti pada gambar 4.1 game game Go Astray akan langsung berjalan.
Gambar 4.1 Eksekusi .jar
Secara default setting tampilan adalah fullscreen dan bufferstrategi dalam keadaan aktif. User bisa mengubah opsi tampilan dari fullscreen menjadi windowed(640 x 480) dengan menghilangkan tanda centang di dalamnya. Begitu juga pada opsi bufferstrategi. Pada opsi bufferstrategy berfungsi untuk kualitas tampilan yang lebih baik tetapi jika user mengalami masalah pada grafik game maka user bisa menonaktifkan opsi tersebut.
1.
Loading Gambar GTGE
Gambar 4.3 Gambar Loading GTGE Gambar 4.3 adalah loading game yang muncul setelah tombol OK pada setting tampilan gambar 4.2 di klik. Tampilan ini sebagai penanda karena game ini menggunakan framework dari GTGE. 2.
Menu Utama
Gambar 4.4 Gambar Menu Utama
Pada menu utama terdapat 7 pilihan menu di antaranya Start Game, Petunjuk, Hi-Score, Suara : ON/OFF, Level : Normal/Easy/Hard, Credits, Quit Game.
Gambar 4.5 Gambar Menu Petunjuk part 1
Gambar 4.6 Gambar Menu Petunjuk part 2 Gambar diatas merupakan menu petunjuk yang ada pada game, yaitu petunjuk penggunaan tombol keyboard saat bermain di game Go Astray.
1. Hi-Score
Gambar 4.7 Gambar HighScore Gambar di atas merupakan gambar pada menu highscore. Setiap game yang berakhir dan nilai score-nya bisa disimpan dan kita dapat melihatnya di menu hi-score.
2. Credits
Gambar 4.8 Gambar Tampilan Credits Credits merupakan tampilan untuk menunjukkan siapa saja yang berperan dalam pembuatan game tersebut.
3. Sprite
Gambar 4.9 Gambar Sprite
5
Penutup
5.1 Kesimpulan Berdasarkan uraian bab-bab sebelumnya, maka dapat diambil kesimpulan dari penelitian skripsi ini adalah sebagai berikut : Kesimpulan yang dapat diambil dari tugas akhir ini adalah : 4. Game “GO ASTRAY”dapat berjalan di semua sistem operasi karena java merupakan multiplatform. 5. Game “GO ASTRAY”dapat berjalan dalam pilihan fullscreen dengan tampilan 640x480 pixel. 6. Game “GO ASTRAY”dapat dijadikan sarana hiburan bagi anak-anak maupun orang dewasa. 7. Pemanfaatan library GTGE sangatlah efektif untuk membangun sebuah game 2 dimensi berbasiskan java. 8. Petunjuk
5.2 Saran Beberapa saran untuk pengembangan game ini agar di masa mendatang game ini menjadi lebih sempurna : 1. Game “GO ASTRAY” masih menggunakan teknologi 2 dimensi, penulis mengharapkan di masa depan dapat dikembangkan dalam bentuk 3 dimensi agar tampilan grafisnya menjadi lebih hidup dan nyata. 2. Game ini masih single player, penulis mengharapkan di masa depan dapat dikembangkan menjadi multiplayer sehingga akan menjadi lebih baik. 3. Perlu di kembangkan lagi pemanfaatan library GTGE dengan teknologi yang berkembang sekarang, seperti adanya layar lebar 1280x800 dll.
DAFTAR PUSTAKA
Tuerah,
P.
2009.
Create
and
Play
wonderfull
Java
Games
http://www.goldenstudios.or.id/forum/forumdisplay.php?fid=21.
with
GTGE.
diakses
pada
tanggal 1 Oktober 2010. Gozali, J. 2008. 11 Tips Jitu untuk Mengerjakan Skripsi Teknik Informatika. http://skripsitugasakhir.blogspot.com/2007/07/tips-untuk-mengerjakan-skripsiteknik.html. diakses 2 Oktober 2010. http://www.turbosquid.com/ . diakses 3 Januari 2011 http://img164.imageshack.us. diakses 17 Januari 2011 http://dosen.amikom.ac.id/index.php/materi/EmhaTaufiqLuthfi, ST,M.Kom. diakses 14 April 2011.