Membuat Game “THINKING AND SHOOT” Dengan NetBeans IDE 6.8
Tugas Akhir untuk memenuhi sebagian persyaratan mencapai gelar Ahli Madya pada jenjang Diploma III jurusan Teknik Informatika
Disusun oleh : Ibrahim Azis
07.01.2246
Dadang Prasetyo
07.01.2249
JURUSAN TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2010
NAS SKAH PU UBLIKASI Mem mbuat Gam me “THINK KING AND D SHOOT”” Denggan NetBea ans IDE 6.88 Disusun oleh o : I Ibrahim Azzis
07.001.2246
D Dadang Prasetyo
07.001.2249
D Dosen Pemb bimbing
Han nif Al Fatta a, M.Kom NIK.19030 02096
Taanggal 28 Ju uni 2010
Ketua Jurrusan D3 Teknik Infformatika
S Sudarmawa an, MT NIK. 190302035
Making Games “THINKING AND SHOOT” With NetBeans IDE 6.8 Membuat Game “THINKING AND SHOOT” Dengan NetBeans IDE 6.8 Ibrahim Azis Dadang Prasetyo Jurusan D3 Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT Game "Thinking And Shoot" is a kind of two-dimensional games that run on PCs comprised of various dynamic animated images. Game "Thinking And Shoot" tells the story of the attack from alien spacecraft from outer space who wants to destroy the earth. In order to maintain the population of planet Earth sustain the planet by doing resistance against aircraft aliens from outer space by doing shots. In this thesis will discuss how to create movement patterns that game and since moving to right to left, shooting, doing arithmetic calculations that are arranged into an interesting game, educate and entertain. This game is built using the Java programming language with Netbeans 8.6 and utilize the tool GTGE 2D Game Library. Keywords: two-dimensional game, java, library GTGE
1.
Pendahuluan Perkembangan teknologi yang sangat pesat dewasa ini menyebabkan
kebutuhan akan teknologi yang semakin besar pula, tidak hanya dalam pekerjaan, dalam 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. Jika dahulu orang hanya mengenal pong maka sekarang ada puluhan ribu game dengan jenis yang bermacam-macam di dunia ini. Perkembangan game saat ini berkembang pesat. Saat ini game tidak hanya dimainkan di komputer, yang hanya bisa dimainkan dengan teman yang kita kenal tetapi saat ini sudah banyak game di dunia maya atau yang sering kita sebut dengan game on-line yang di mainkan oleh banyak orang dalam satu permainan, walaupun jarak mereka saling berjauhan dan tidak saling mengenal Berdasarkan hal di atas tersebut, penulis ingin membuat sebuah game yang unik dan menarik tetapi juga mengandung unsur pendidikan. Game yang penulis buat menggunakan bahasa pemrograman java dengan library GTGE. Game yang dibuat merupakan sejenis game education yang dijalankan di desktop. Game ini merupakan game petualangan pesawat luar angkasa yang menuntut pemainnya agar dapat berpikir cepat karena harus melakukan perhitungan dahulu sebelum melakukan aksi penembakan terhadap pesawat musuh. Sesuai dengan topik yang dipaparkan di atas, maka dalam Tugas Akhir ini penulis mengambil judul “THINKING AND SHOOT”.
2.
Landasan Teori
2.1
Apa itu Teknologi Java?
2.1.1
Sebuah Bahasa Pemrograman Sebagai sebuah bahasa pemrograman, Java dapat membuat seluruh bentuk
aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain. Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai system operasi dan bersifat open source. 2.1.2
Sebuah Development Environment Sebagai sebuah peralatan pembangun, teknologi Java menyediakan banyak
tools : compiler, interpreter, penyusun dokumentasi, paket kelas dan sebagainya. 2.1.3
Sebuah Aplikasi Aplikasi dengan teknologi Java secara umum adalah aplikasi serba guna
yang dapatdijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE). 2.1.4
Sebuah Deployment Environment Terdapat dua komponen utama dari Deployment Environment. Yang
pertama adalah JRE, yang terdapat pada paket J2SDK, mengandung kelas–kelas untuk semua paket teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dan sebagainya. Komponen yang lain terdapat pada Web Browser. Hampir seluruh Web Browser komersial menyediakan interpreter dan runtime environment dari teknologi Java. 2.2
Mengapa Mempelajari JAVA? Berdasarkan white paper resmi dari SUN, Java memiliki karakteristik
berikut :
1.
Sederhana Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.
2.
Berorientasi objek (Object Oriented) Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.
3.
Dapat didistribusi dengan mudah Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java.
4.
Interpreter Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.
5.
Robust Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling untuk membantu mengatasi error pada pemrograman.
6.
Aman Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.
7.
Architecture Neutral Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform yang berbeda dengan Java Virtual Machine.
8.
Portabel Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.
9.
Performance Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).
10.
Multithreaded Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.
11.
Dinamis Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.
2.3
Library GTGE 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. 2.4
Aplikasi NetBeans NetBeans mengacu pada dua kerangka platform untuk aplikasi desktop
Java, dan lingkungan pengembangan terintegrasi atau lebih dikenal dengan Integrated Development Environment (IDE) untuk pengembangan dengan Java, JavaScript, PHP, Python, Ruby, Groovy, C, C + +, Scala, Clojure dan masih banyak lagi (untuk gambaran lebih lengkap kunjungi situs netbeans). NetBeans IDE ditulis dalam bahasa Java dan berjalan dimanapun di mana Java Virtual Machine (JVM) terinstal, seperti Windows, Mac OS, Linux, dan Solaris. Sebuah Java Development Kit (JDK) diperlukan untuk pengembangan fungsionalitas Java, tetapi tidak diperlukan untuk pengembangan di bahasa pemrograman lain. Platform NetBeans memungkinkan aplikasi untuk dikembangkan dari satu set komponen perangkat lunak moduler yang disebut modul. Aplikasi yang berbasis platform NetBeans (termasuk NetBeans IDE) dapat dikembangkan lagi oleh pihak ketiga. 2.5
Unified Modelling Language (UML) Unified Modelling Language (UML) adalah sebuah "bahasa" yg telah
menjadi
standar
dalam
industri
untuk
visualisasi,
merancang
dan
mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun demikian, UML tetap dapat digunakan untuk modeling aplikasi prosedural dalam VB atau C.
3.
Perancangan
3.1
Use Case Diagram Use Case Diagram Digunakan untuk menampilkan layanan yang bisa
diminta oleh actor dari sistem. Pada perancangan game kali ini terlebih dahulu dibuat pemodelan program dengan use case diagram yang menggambarkan peran dari obyek dalam sebuah sistem.
Gambar 3.1.1 Use Case Diagram Utama Pada use case diagram utama memperlihatkan bahwa obyek pemain dapat menjalankan game dengan menekan tombol Play, melihat petunjuk cara memainkan game dengan memilih Bantuan dan mengakhiri game dengan memilih Keluar.
Gambar 3.1.2 Use Case Diagram Turunan Play
Use case untuk menu play memperlihatkan bahwa pemain pada saat memainkan game dapat melakukan input angka dan menembak.
3.2
Class Diagram Class Diagram digunakan untuk menampilkan entiti dunia nyata, elemen
dari analisa dan desain, atau implementasi class dan relasinya. Diagram yang digunakan untuk menampilkan beberapa kelas serta paket yang ada di dalam sistem yang sedang dikembangkan. Di dalam class diagram dibawah ini memberikan gambaran tentang sistem dan relasi relasi yanga ada didalamnya. Berikut gambaran class diagram dalam membangun game “Thinking And Shoot”.
Gambar 3.2.1 Class Diagram Bagian 1
Gambar 3.2.2 Class Diagram Bagian 2
Gambar 3.2.3 Class Diagram Bagian 3
3.3
Sequence Diagram Sequence Diagram digunakan untuk fokus pada perubahan pesan antara
grup dari suatu obyek dan urutan pesan tersebut. Pemodelan sequence diagram ini digunakan untuk mengetahui urutan-urutan pesan yang akan dijelaskan sebagai berikut :
Gambar 3.3.1 Sequence Diagram Untuk Menu Play
Gambar 3.3.2 Sequence Diagram Untuk Menu Bantuan
Gambar 3.3.3 Sequence Diagram Untuk Menu Exit
4.
Pembahasan Implementasi dan pembahasan merupakan suatu tahapan yang bertujuan
merubah dari rancangan sistem yang telah dibuat, menjadi suatu karya nyata yang dapat dinikmati, dalam hal ini berupa sebuah game. Dari rancangan sistem yang dibuat menjelaskan bagaimana interaksi atau hubungan antara class dan object didalam sebuah game. Inti dari semua yang akan dibahas disini adalah berupa implementasi dari sistem tersebut, game yang dibuat based on desktop (berjalan pada computer desktop) berdimensi tampilan 640 x 480 windowed dan juga dapat berjalan dengan tampilan fullscreen. Hasil dari sistem dan karya game dijelaskan sebagai berikut: 4.1
Game Setting Pada saat game pertama kali dijalankan maka tampil sebuah window
dimana didalamnya terdapat game setting atau pilihan opsi Fullscreen dan Bufferstrategy.
Gambar 4.1.1 Setting Tampilan Secara default setting tampilan adalah fullscreen dan bufferstrategy dalam keadaan aktif. User bisa merubah opsi tampilan dari fullscreen menjadi windowed (640 x 480) dengan menghilangkan tanda centang. Begitu juga pada opsi bufferstrategy.
4.2
Intro game GTGE
Gambar 4.2.1 Intro Game
Gambar 4.1.2 adalah loading intro game yang muncul setelah tombol OK pada setting tampilan gambar 4.1.1 diklik. Tampilan ini sebagai tanda karena game menggunakan framework dari GTGE.
4.3
Main menu
Gambar 4.3.1 Main Menu
Pada main menu terdapat 3 pilihan menu yaitu Play, Bantuan, Keluar. Untuk memilih menu dengan cara mengklik menu yang di pilih menggunakan kursor. Dalam tampilan menu utama terlihat bahwa menu yang terseleksi terdapat tampilan seolah-olah ada perisai pelindung 2 dimensi berwarna merah yang melindunginya. Main menu ini adalah class parent dengan nama class ThinkGameSelection.java yang fungsinya sebagai tempat untuk menu-menu didalam game serta menginisialisasi gambar, sound yang ada ditampilan menu ini, termasuk highlight ketika memilih salah satu diantara menu sebagai tanda kalau menu itu dipilih. 4.4
Pengaturan opsi menu
Gambar 4.4.1 Menu Game ThinkGameSelection.java juga salah satu class yang berfungsi untuk mengatur, menampilkan serta menyusun menu-menu button dalam bentuk tampilan pesawat seperti gambar 4.1.4 diatas. 4.5
Menu Bantuan
Gambar 4.5.1 Menu Bantuan
4.6
Level Game Dalam permainan game Thinking And Shoot terdapat 6 level yang
masing-masing level mempunyai tingkat kesulitan yang berbeda-beda. Untuk keterangan lebih lanjut akan di jelaskan seperti di bawah ini :
Gambar 4.6.1 Level 1
Gambar 4.1.14 adalah tampilan dari game level 1. Pada level ini adalah level yang paling mudah sebagai pengenalan untuk pertama kali bermain dalam game ini. Hanya ada operator penambahan dalam level ini. Level 1 hanya melakukan operator penambahan. Dalam level ini angkaangka yang muncul akan di acak tetapi nilainya tidak akan lebih dari 10. Jadi akan muncul 2 angka yang harus ditambahkan dan masing-masing nilainya tidak akan lebih dari 10.
4.7
Instalasi Berikut adalah proses instalasi game “Thinking And Shoot”. Dikarenakan
game ini menggunakan fasilitas java serta GTGE, maka game ini dibuat untuk pembelajaran kedepan yang bersifat open source dan multiplatform (dapat berjalan diberbagai system operasi) bisa di Windows, Linux ataupun Mac. Dengan mengeksekusi ekstensi file .jar maka game ini akan langsung berjalan.
Dengan catatan terlebih dahulu terinstal java, rekommendasi harus java 1.4 atau java yang terbaru.
Gambar 4.7.1 Eksekusi file .jar 5.
Kesimpulan Berdasarkan analisis, perencanaan, dan pembahasan yang telah dilakukan
dalam pembuatan game “Thinking And Shoot” dapat diambil kesimpulan sebagai berikut : a.
Game Thinking And Shoot dapat dijadikan sebagai media pembelajaran dan hiburan alternatif bagi anak-anak pada khusunya dan masyarakat pada umumnya.
b.
Game ini mampu berjalan dengan pilihan tampilan mode fullscreen dan mode windowed yang dapat diatur oleh user.
c.
Pemanfaatan framework GTGE sangatlah efektif untuk membangun sebuah game 2 dimensi berbasis java.
d.
Kolaborasi penggunaan Aplikasi Netbeans dan framework GTGE dapat mempermudah programmer dalam pembuatan sebuah aplikasi game dengan beberapa fasilitas yang include didalamnya.
DAFTAR PUSTAKA
http://www.goldenstudios.or.id/ http://goldenstudios.or.id/forum/showthread.php?tid=437 http://tutorialspoint.com/ http://www.java2s.com/Tutorial/Java/CatalogJava.htm http://java.sun.com/docs/books/tutorial/ http://www.freejavaguide.com/ http://planetsourcecode.com/ Tim Dosen, 2009. Panduan Penyusunan Tugas Akhir D3 TI, STMIK AMIKOM YOGYAKARTA.