PEMBUATAN GAME “Momoy Pencari Jalan” MENGGUNAKAN GTGE JAVA FRAMEWORK
Naskah Publikasi
disusun oleh: Yaniar Prayogo 07.01.2314
JURUSAN TEHNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2010
NASKAH PUBLIKASI
PEMBUATAN GAME “Momoy Pencari Jalan” MENGGUNAKAN GTGE JAVA FRAMEWORK
disusun oleh: Yaniar Prayogo 07.01.2314
Dosen Pembimbing
Emha Taufiq Luthfi, S.T., M.Kom. NIK. 190302125
TANGGAL 06 MARET 2010 KETUA JURUSAN D3-TEKNIK INFORMATIKA
Sudarmawan, S.T., M.T NIK. 190302035
ii
Making Game “Momoy Search Path” Using GTGE Java Framework PEMBUATAN GAME “Momoy Pencari Jalan” MENGGUNAKAN GTGE JAVA FRAMEWORK Yaniar prayogo Jurusan D3-Teknik informatika STMIK AMIKOM YOGYAKARTA ABSTRACT
Many games are circulating in Indonesia comes from outside the product. Butthe most games that circulate in Indonesia is pirated games. Momoy is the game the way the search is made of the GPL because the engine is also GPL. Game "Momoy Search path" will tell a Momoy who will find a way when Momoy out. Whenever find a solution would also left Momoy obstacles from the enemy which would prevent. Momoy to get to the staircase that served to get to the next level. In addition to completing the mission Momoy also collect points to get the position of hiscore. In addition to gaming entertainment and profit loss from the games can player.sensitivity training, practice problem solving, logical and creative thinking. loss of playing a game is forgotten about the time to learn, eat and others. Also this game is Free. Keywords : java game with GTGE framework, GTGE engine, Java Game, Game 2D, Java Framework, 2D.
iii
1
1 . Pendahuluan Salah satu teknologi yang berkembang pesat dan mempengaruhi jutaan manusia di
dunia
adalah
komputer.
Kebutuhan
manusia akan Komputer
sangat
berkembang dengan pesat karena dengan adanya teknologi komputer atau alat yang dapat mempercepat kerja manusia. Meskipun demikian perkembangan dunia game pada akhir-akhir ini juga ikut mengalami berkembangan yang sangat cepat. Game itu sendiri mempunyai pengertian sebuah permainan computer yang dibuat dengan tehnik dan metode animasi. selain itu game juga dapat diartikan suatu hiburan yang dimainkan dengan menggunakan sebuah perangkat keras untuk menampilkan sekaligus untuk melakukan control. Banyak sudah game yang telah dibuat di Indonesia baik game-game yang bersifat edukatif maupun yang bersifat entertaiment biasa. Game yang tersebar diwilayah Indonesia hampir dipastikan bajakan. Karena itu budaya memainkan game bajakan di Indonesia sudah sangat terbiasa atau sudah sangat kental ini akan berakibat buruk bagi generasi penerus. 2.
Landasan Teori
2.1 Java 2.1.1
Pengertian dan Sejarah Java Bahasa pemrograman Java pertama lahir dari The Green Project, yang
berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang. Java adalah bahasa pemrograman berorientasi-objek yang serbaguna. Bahasa ini menyediakan sejumlah perluasan yang didukung pengembangan aplikasi GUI, dan juga pengembangan aplikasi client/server terhadap jaringan lokal(LAN) atau jaringan luas(WAN). Java merupakan kumpulan bentuk dan sifatsifat yang telah dikenal pada bahasa-bahasa pemrograman seperti C, C++, Objective-C, Smaltalk, dan Common Lisp. Dari Objective-C, Java memakai konsep antarmuka dari Smalltalk, Java meminjam model ekstensibilitas sewaktu pengesekusian,
manajemen memori dinamis, dan beberapa pengeksekusian
secara bersamaan(multithreading)/terhadap hal- hal ini, Java menambahkan keamanan, paradigma pemrograman yang sederhana, dan banyak lagi. Alasan lain kepopuleran Java di antara pemrograman adalah bahwa secara arsitekturnya netral. Ia merupakan bahasa penterjemah, dan anda dapat
1
2
menjalankan program Java pada sebarang platform yang memiliki interpreter dan lingkungan runtime. Ini memungkinkan pemrograman menulis kode(dan hanya menulis sekali saja). 2.1.2
Kompiler Java dan interpreter Java Walaupun Java adalah bahasa penerjemah, Dalam proses menjalankan
progam Java harus dikompilasi terlebih dahulu. Kompiler Java atau yang lebih dikenal dengan (javac) berfungsi untuk mengubah kode sumber program menjadi bytecode yang dapat diesekusi dalam lingkungan runtime Java. Sedangkan Interpreter Java (java) menjalankan bytecode terkompilasi pada sistem lokal. Program javac dan java berada dalam direktori bin pada Java Development Kit (JDK). Lokasi file dari kompiler dan intrepeter terdapat pada direktori /local/jdk/bin. 2.1.3
Versi Awal Versi awal Java ditahun 1996 sudah merupakan versi release sehingga
dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal diantarannya : 1. java.lang adalah peruntukan kelas elemen-elemen dasar. 2. java.io adalah peruntukan kelas input dan output. 3. java.util adalah perutukan kelas pelengkap seperti kelas struktur data dan kelas-kelas penanggalan. 4. java.net adalah peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP. 5. java.awt adalah kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI). 6. java.applet adalah kelas dasar aplikasi antarmuka untuk diterapkan pada penjelajah web. 2.1.4
Kelebihan Java Java memiliki banyak kelebihan diantaranya sebagai berikut :
a) Multiplatform, Kelebihan utama dari java ialah dapat dijalankan di beberapa platform / sistem operasi komputer. b) OOP (Object Oriented Programming – Pemrograman Berorentasi Objek) artinya semua aspek yang terdapat di Java adalah Objek. c) Perpustakaan Kelas yang lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program-program yang disertakan dalam pemrograman java) yang membantu pemrograman dalam menyelesaikan programnya.
3
d) Bergaya C++, memiliki sintaks seperti bahasa pemrograman [C++]. e) Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga pemrogram tidak perlu mengatur alokasi memori. 2.1.5
Kekurangan java Selain mempunyai kelebihan Java juga mempunyai kelemahan, diantaranya
a) Tulis sekali, perbaiki dimana saja
Masih ada beberapa hal yang tidak
kompatibel antara platform satu dengan platform lain. b) Mudah didekompilasi, Dekompilasi adalah proses mengembalikan dari kode jadi menjadi kode sumber. Program dapat ditiru oleh orang lain. c) Penggunaan memori yang banyak. 2.2 GTGE Framework 2.2.1
Pengertian GTGE Golden T Game Engine (GTGE) merupakan sebuah 2D Game Library / Game
SDK (Software Development Kit) untuk membuat game yang berkualitas. GTGE merupakan kumpulan fungsi bahasa pemrograman Java (pustaka Java), yang artinya Anda akan menggunakan bahasa pemrograman Java untuk membuat game dengan GTGE. GTGE merupakan suatu pustakan lapisan tingkat tinggi (High Level Interface), artinya programer tidak usah memikirkan perintah tingkat rendah lagi ( yang berhubungan dengan hardaware). GTGE mencoba menutupi (namun tidak mengunci ) fungsi tingkat rendah tersebut dengan menempatkan programmer pada lapisan paling baik agar programmer dapat membuat game dengan senyaman mungkin. Singkatnya GTGE merupakan kumpulan fungsi-fungsi siap pakai untuk membuat game, seperti untuk penggambaran ke layar, polling keyboard dan mouse, pemanggilan suara atau musik, dll. Fungsi-fungsi inilah yang disebut dengan GameEngine. 2.2.2
Kemampuan Engine-engine GTGE Saat mengutilisasi setiap game dari GTGE untuk membuat game yang
sebenarnya, seperti menampilkan gambar, memutar suara, dll. GTGE memiliki 6 buah engine : a. Engine Grafis Engine grafis berisi fungsi-fungsi berhubungan dengan grafis layar. b. Engine Input Berisi fungsi-fungsi untuk mengambil input user dari keyboard dan mouse. c.
Engine Suara Berisi fungsi-fungsi untuk memutar suara.
d. Engine Timer
4
Berisi fungsi-fungsi untuk mengelola frame rate dari game. e. Engine File I/O Berisi fungsi-fungsi untuk mengambil objek file, URL, dan stream dari resource. f.
Engine Citra Berisi fungsi-fungsi untuk meload citra dari file dengan atau tanpa warna transparansi.
2.2.3
Sprite Istilah sprite dalam GTGE, digunakan
untuk mendiskripkan setiap objek
dalam game yang memiliki gambar dan karakteristik. Sprite sendiri dapat diartikan suatu gambar yang terletak di suatu tempat di layar, yang mana gambar tersebut dapat bergerak, beranimasi, dan memiliki karakteristik. 2.2.3.1 Inisialisasi Sprite Objek sprite dalam GTGE, diwakili oleh Sprite class yang berada dalam package com.golde.gamedev.object. Insialisasi sprite sendiri dibagi menjadi 3 langkah yaitu : a. Membuat Objek sprite baru : b. Mengupdate sprite c. Merender (menggambar ke layar) sprite. 2.2.3.2 Pengertian latar game (background) Latar adalah latar dari game yang sedang berjalan. Dengan menggunakan latar maka game tersebut dapat memberikan suasana yang tidak membosankan. 2.2.4
Pengelompokkan sprite Dengan menggunakan SpriteGroup class, merupakan sebuah array yang
dapat membesar dan mengecil sesuai kebutuhan. 2.2.5
Dasar pendeteksian Tubrukan Class CollisionManager merupakan dasar dari seluruh jenis sistem tubrukan
yang disediakan oleh GTGE.Cara Kerja class CollisionManager, yakni : 1. Meregister 2 grup yang akan dideteksi tubrukannya. 2. Mengecek apakah tubrukan terjadi atau tidak : Bagaimana cara pengecekannya diserahkan sepenuhnya kepada turunan (subclass) dari class CollisionManager. 2.2.6
Playfield Playfield disini untuk memudahkan pengorganisasian banyak hal, dimana
SpriteGroup dibuat untuk memudahkan pengorganisasian banyak sprite,
5
sedangkan playfield memudahkan pengorganisasian SpriteGroup, Background dan CollisionManager. 2.3 Netbeans NetBeans mengacu pada dua hal, yakni platform untuk pengembangan aplikasi desktop java, dan sebuah Integrated Development Environment (IDE) yang dibangun Menggunakan platform NetBeans. Platform Netbeans memungkinkan aplikasi dibangun dari sekumpulan komponen perangkat lunak moduler yang disebut “modul”. Sebuah modul adalah suatu arsip Java (Java archive) yang memuat kelas-kelas Java untuk berinetraksi dengan NetBeans Open API dan file manifestasi yang mengidentifikasinya sebagai modul. Aplikasi yang dibangun dengan modul-modul dapat dikembangkan dengan menambahkan modul-modul baru. Karena modul dapat dikembangkan secara independen, aplikasi berbasis platform NetBeans dapat dengan mudah dikembangkan oleh pihak ketiga. Secara mudah dan powerfull. Netbeans IDE adalah IDE open source yang ditulis sepenuhnya dengan bahasa pemrograman Java menggunakan platform Netbeans. Netbeans IDE mendukung pengembangan semua tipe aplikasi Java(J2SE, web, EJB, dan Aplikasi Mobile). Fitur lainnya adalah sistem proyek berbasis Ant, kontrol versi, dan refactoring.
3.1 Gambaran umum Secara umum game ini dirancang agar pengguna dapat terhibur setelah memainkannya. Selain terhibur pengguna game juga dapat berfikir tentang cara mengeluarkan momoy dari halangan-halangan yang tersedia agar dapat melanjutkan ke level berikutnya. Dengan menggunakan logika maka karakter musuh disini dapat bergerak sendiri untuk menghalangi pergerakan dari momoy (karakter utama dari game ini). Dengan tersediannya bantuan di sekitar tempat atau area bermain karakter utama dapat menyerang karakter musuh ataupun melarikan diri dari musuh.
3.2 Analisis Kebutuhan Sistem Pada analisis kebutuhan sistem akan dibagi menjadi 2 bagian diantaranya sebagai berikut :
3.2.1 Analisis kebutuhan sistem fungsional : 1. Sistem harus dapat melakukan entri nama dari pengguna sebagai inisial. Pengguna dapat melakukkan entri nama setelah game berakhir untuk menginisialisasi game pada menu hi-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 mematikkan sound. Pengguna atau pemain dapat mematikkan sound yang berjalan pada game.
6
3.2.2 Analisis kebutuhan sistem non-fungsional A. Perangkat Lunak Perangkat lunak yang diperlukan dalam pembuatan sistem dan pemrosesan data dari sistem yang diusulkan adalah : 1. Microsoft Windows XP sebagai sistem operasinya. 2. Java untuk bahasa pemrograman. 3. GTGE sebagai engine game agar game dapat berjalan. 4. Xml untuk melakukan penyimpanan data. 5. MS Office 2007 untuk membuat laporan. 6. Program-program lain yang mendukung sistem. B. Perangkat Keras Perangkat keras yang dibutuhkan sebagai sarana penunjang berupa seperangkat personal computer dengan spesifikasi sebagai berikut : Minimum recommended 1. Pentium 4 1 Ghz – 2.5 Ghz 2. Memory 512 Mb. 3. Vga On Board. 4. Sound tersedia Maximum recommended 1. Pentium Core 2 duo 2,6 Ghz 2. Memory 2 Gb 3. Vga Asus 8400GS 4. Sound card SoundBlazter. Dengan menggunakan kebutuhan personal Komputer seperti diatas diharapkan pengguna sistem dapat dengan lancar dalam memainkan game ini. C. Brainware Sebagai pelaksana personal dari sistem yang diusulkan adalah : a. Pemain Orang yang akan memainkan game tersebut.
3.2.3 Perancangan Arsitektur Sistem Secara umum, arsitektur sistem aplikasi game “momoy pencari jalan” adalah sebuah aplikasi game dengan menggunakan netbeans sebagai development kitnya dan GTGE framework sebagai engine controlnya. Fungsi dari Engine GTGE sendiri sangat berpengaruh karena semua fungsi menjalankan game terdapat pada engine ini. Pada pembuatan game ini sistem development life cycle yang dipakai menggunakan model waterfall.
7
3.2.4 Perancangan Use Case Diagram Proses pembuatan use case diagram dengan tujuan mempermudah pemahaman UML(uninefed modelling language) sebagai berikut:
3.2.4.1 Use case utama
Gambar 3.2 use case utama Dari hasil analisa jalannya proses game momoy pencari jalan ini memilik satu pengguna. Satu pengguna tersebut memiliki beberapa peranan yang terbagi menjadi 7 buah case yang setiap case mempunyai fungsinya sendiri. Fungsifungsi dari setiap case akan dijabarkan sebagai berikut : 1. Memainkan game, berfungsi untuk melakukan start awal sebelum memainkan game. 2. Menekan tombol keluar, digunakan untuk melakukan fungsi keluar dari game. 3. Melihat hi-score, digunakan untuk melihat hi-score yang didapat oleh seorang pemain. 4. Melihat instructions, didalamnya terdapat beberapa menu diantaranya penjelasan mengenai karakter yang berada di game momoy dan juga masih story dari game tersebut. 5. Melihat credits, fungsi ini hanya digunakan menampilkan dari nama pembuat game tersebut. 6. Melihat options menu, didalamnya terdapat menu untuk mengaktifkan sound dan show FPS. 7. Menentukan level , memilih level apakah akan level berat,ringan, sedang.
8
3.2.4.2 Use case turunan dari use case utama
Gambar 3.3 Usc case tambahan Pada menu melihat options dibagi lagi menjadi 2 buah menu. Didalamnya terdapat fungsi mematikan dan menghidupkan sound dan juga fps.
3.2.4.3 Class diagram Class-class yang dibuat dalam aplikasi game “momoy pencari jalan” berfungsi untuk melihatkan bagaimana turunan antar class. Semua informasi data yang ditampilkan pada aplikasi game ini didapatkan dari implementasi class-class tersebut. Pada gambar diatas akan banyak menjelaskan bagaimana hubungan-hubungan antara class. Pada class diagram terdapat class sebagai berikut:
Gambar 3.4 ClassDiagram part-1
9
Gambar 3.5 ClassDiagram part-2
3.2.4.4 Sequence diagram play game with follow enemy
Gambar 3.6.1 Sequence Diagram follow enemy Sequence diagram diatas menggambarkan proses komunikasi antara obyek sewaktu melakukan permainan. setelah actor atau pemainmengirim sebuah message inisialisasi suatu objek maka objek momoy akan segera memanggil operasi atau method momoy yang akan dilanjutkan memanggil momoySprite atau obyek momoy. Setelah obyek momoy terpanggil maka obyek akan kembali mengirim kepada obyek musuh yang mempunyai metode FollowYour.
10
3.2.4.5 Sequence diagram melihat menu game
Gambar 3.6.4 sequence diagram Menu game Pemain akan melemparkan message ke main menu.setelah itu main menu akan menampilkan options yang berada padanya. Pemain akan melihat tutorial maka dari main-manu akan melemparkan message ke tutorialGame yang jika ada maka akan dikembalikan ke main_menu.
3.2.4.6 Activity diagram Pada perancangan diagram activity dibawah ini menjelaskan bagaimana bussines proses dari aplikasi momoy game ini. Pada diagram terdapat start pada tombol start akan menuju ke dalam pengecekkan map dimana bila map yang dituju tidak ada maka akan terjadi error. Namun jika map tersedia maka proses akan kembali berjalan menuju pencarian momoy character, map, dan enemy
Gambar 3.7 Activity diagram
3.3 Design Antarmuka Layout game disini menggunakan fungsi dari public Background (int w, int h). tampilan terdiri dari 6 buah pilihan, sebagai berikut : 1. Start Game , Berfungsi untuk memulai game yang akan pemain mainkan.
11
2. Intructions , Berfungsi untuk meload game yang sudah pemain simpan. 3. ViewHighScore, Berfungsi untuk Melihat score tertinggi dari pemain. 4. Options Menu , Berfungsi untuk mengatur options-options yang berada pada game momoy. 5. Level , berfungsi untu memilih level 6. Credits , berisi tentang data diri pembuat game berserta engine yang digunakan. 7. Exit Game, Berfungsi untuk keluar dari menu game. 4. Pembahasan 4.1 Implementasi Implementasi dan pembahasan merupakan tahapan yang bertujuan mengubah hasil dari analisis dan rancangan sistem menjadi bentuk yang nyata, dalam hal ini berupa aplikasi game yang berjalan pada piranti desktop komputer. Pada saat pertama kali game dijalankan maka muncul sebuah window yang didalamnya terdapat menu untuk mengatur layar yaitu untuk tampilan agar dapat ditampilkan secara fullscreen atau tidak. Jika tidak maka kita akan mendapat tampilan dengan ukuran 816 x 624. 4.2 Testing Pengujian game dilakukkan untuk meminimalkan bug-bug yang ada pada game tersebut. Dengan melakukkan pengujian akan membuat game lebih sempurna walaupun terkadang pada saat pengujian tidak ditemukkan sedikitpun. Selain penulis sendiri yang terlibat dalam pengujian juga terdapat penguji lain diantaranya : 1. Ahmad Reza prihananto 2. Rahmat setyaji 3. Anton dwi 4. Paiman 4.3 Proses Instalasi Tahap instalasi game terdapat 2 langkah seperti dibawah ini: Langkah 1 : Langsung melakukkan eksekusi ke file .jar yang ada pada folder.
Gambar 4.10 Menjalankan Game
12
Cara hanya dengan mengklik com.golden.momoyfindpatch.jar 2 kali maka secara otomatis akan langsung menjalankan aplikasi tersebut. Langkah 2:
Gambar 4.11 Play dengan .bat Cara kedua juga hanya dengan mengklik PLAY.bat ini jika file .jar tidak ada atau kita harus mengkompilasi terlebih dahulu. Dalam file PLAY.bat terdapat script sebagai berikut:
Gambar 4.12 setting bat 5. Kesimpulan Berdasarkan analisis, perencanaan, implementasi dan pembahasan yang yang telah dilakukan dalam pembuatan game Momoy pencari jalan, dapat diambil kesimpulan sebagai berikut : 1. Teknologi game akan menjadi sebuah kebutuhan utama sebagai alat penghibur. 2. Dengan menggunakan teknologi game orang dapat sebagai ajang adu kecerdasan antar para pemain game.
DAFTAR PUSTAKA Booch, Grady.,Jacobson, Ivar., and Rumbaugh, James, 1996. “The Unified Modelling Languange for Object-Oriented Development: Documentasion set Version 0.91 Addendum UML Update”,San Fransisco,California Jackson, Jerry R and McClellan,Allan L, 1996. Java by example edisi bahasa indonesia. Penerbit ANDI yogyakarta. Leonardo, ian , 2001 .Pemrograman Java 2D . Elex Media Komputindo. Reed,Paul R jr, 2001. Developing Application with java and UML, Addison Wesley. http://www.cragsystems.co.uk/ITMUML/main.htm http:// www.golden-studio.co.id/ http://www.tutorialspoint.com/uml/index.htm http://www.vinci.org/uml/index.html http://www.reinertileset.4players.de/ (Graphic Character in the Game).