PEMBUATAN GAME “LITTLE ENGLISH” MENGGUNAKAN GTGE FRAMEWORK SEBAGAI MEDIA PEMBELAJARAN BAHASA INGGRIS
Naskah Publikasi
disusun oleh: Moh. Baharudin M
07.01.2408
Rina Rahayu
07.01.2423
JURUSAN TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2010
THE MAKING OF"LITTLE ENGLISH " GAME USING GTGE FRAMEWORK AS ENGLISH EDUCATION MEDIA
PEMBUATAN GAME “LITTLE ENGLISH” MENGGUNAKAN GTGE FRAMEWORK SEBAGAI MEDIA PEMBELAJARAN BAHASA INGGRIS
Moh Baharudin M Rina Rahayu Jurusan D3 Teknik Informatika STMIK AMIKOM YOGYAKARTA ABSTRACT The method of learning while playing is very suitable to be applied to children. Especially at the present time where English lessons are started early. This Java-based game is made using a GTGE Framework. GTGE is Golden T Game Engine, a 2D Game Library / Game SDK (Software Development Kit) to create a quality game. This game is the way it works is there is a player, who guessed an object (eg animal pictures, colors, numbers etc) by mentioning its’ name in English. As in other games, in this game there are also levels of assessment. The author uses Netbeans 6.7.1 as a tool for encoding Java programming language, whereas for image processing using Photoshop CS 2. In addition, the Bitmap Combine necessary to combine the objects and Bitmap Masking to create a background image to be transparent. The purpose of making this game is to train English skills so they can increase their knowledge of English and ease in learning English on a daily basis. This English-learning game is a means for learning English by fun and in educative way. Keywords : game, programming, Java, GTGE
1. Pendahuluan Perkembangan teknologi komputer juga sangat berpengaruh terhadap perkembangan game. Game berbasis java saat ini sudah familiar dan sangat dikenal baik anak-anak maupun orang dewasa. Game java yang menggunakan game engine memberikan kemudahan dalam pembuatannya. Selain gratis dan bisa digunakan dalam berbagai macam platform, di Indonesia juga terdapat suatu pengembang game bernama
Golden
T
Game
Studio
yang
mengembangkan
Golden
T-Game
engine(GTGE) framework. Bidang yang akan diterapkan pada tugas akhir ini adalah pembuatan game edukasi bahasa Inggris. Pemilihan game edukasi bahasa Inggris ini dimaksudkan sebagai sarana pembelajaran bahasa Inggris yang menghibur dan mendidik. Game edukasi ini akan dibuat denga menggunakan GTGE sebagai framework. Sehingga, pada tugas akhir ini, akan dirancang dan diimplementasikan sebuah game pembelajaran bahasa Inggris yang diharapkan dapat digunakan secara maksimal dalam proses pembelajaran anak. 2. Landasan Teori 2.1 Java
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. Pemrograman Java berorientasi objek (Object Oriented Programming), 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. 2.2
Golden T Game Engine (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 dapat membuat game dengan senyaman mungkin. GTGE memberikan akses ke fungsi hardware tersebut secara langsung dengan cara yang paling mudah. a. Kemampuan Engine GTGE 1. Engine Input 2. Engine Grafis 3. Engine Suara 4. Engine Timer 5. Engine File I/O 6. Engine Citra b. Sprite Istilah sprite, dalam GTGE, digunakan untuk mendeskripsikan setiap objek dalam game yang memiliki gambar dan karakteristik, Objek sprite ini, dalam GTGE, diwakili oleh Sprite class yang berada dalam package com.golden.gamedev.object. Langkah-langkah inisialisasi sprite : 1. Membuat objek sprite baru 2. Meng-update sprite 3. Me-render sprite c. Collision (Tubrukan) GTGE menyediakan 5 jenis pendeteksian tubrukan sebagai berikut. 1. BasicCollisionGroup class. Jenis tubrukan yang paling mendasar, hanya mendeteksi apakah tubrukan terjadi atau tidak. 2. CollisionGroup class. Mendeteksi apakah tubrukan terjadi atau tidak beserta dengan beberapa informasi mengenai tubrukan tersebut, seperti sisi yang bertubrukan dan posisi sebelum tubrukan terjadi. 3. PreciseCollisionGroup class. Posisi sebelum tubrukan terjadi dihitung secara tepat, sehingga sprite yang bertubrukan dapat kembali tepat sebelum tubrukan terjadi.
4. AdvanceCollisionGroup class. Jenis tubrukan yang dapat mendeteksi tubrukan antara satu sprite dengan banyak sprite sekaligus dalam sekali waktu, misalnya tubrukan antara player dengan blok yang dipijaknya, player dapat berpijak dalam beberapa blok sekaligus dan player mesti berhenti tepat diatas blok-blok tersebut.
2.3
Netbeans
NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra dan terus bertambah. Sun Microsystems mendirikan proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. 2.4
Bitmap Combine
Bitmap Combine adalah alat untuk mengkombinasikan beberapa gambar menjadi satu file. Sebagai contoh, sebelum dikombinasi ada 3 file gambar suatu animasi robot yang berjalan.
2.5
Bitmap Masking
Bitmap Masking adalah alat untuk menjadikan suatu warna tertentu dalam sebuah gambar menjadi transparan. Walaupun GTGE mendukung pembuatan transparansi di dalam runtime, tetapi lebih baik untuk melakukannya di luar aplikasi untuk mendapatkan performa penuh selama runtime.
2.6
Photoshop
Photoshop adalah software yang digunakan untuk memodifikasi gambar atau foto secara profesional baik meliputi modifikasi obyek yang sederhana maupun yang sulit sekalipun. 2.7
UML (Unified Modelling Language)
UML (Unified Modelling Language) adalah sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model sebuah sistem. UML menggunakan class dan operation dalam konsep dasarnya. Maka ia lebih cocok digunakan untuk pembuatan aplikasi yang menggunakan pemrograman
berorientasi objek. UML mempunyai berbagai jenis diantaranya : Use Case Diagram, Class Diagram, Activity Diagram dan Sequence Diagram. 3. Analisis dan Rancangan 3.1
Analisis Kebutuhan Fungsional a. Pemain dapat menuliskan nama setelah mencetak high score b. Pemain dapat memilih untuk berlatih atau bermain quiz c.
3.2
Pemain dapat melihat daftar high score
Ide dan Gagasan
Ide dari pembuatan game ini bermula dari keinginan untuk memberikan ilmu yang telah kami dapat kepada instansi tempat magang. Kami ingin membuat suatu perangkat lunak yang bisa mendidik dengan cara yang menyenangkan untuk anakanak peserta didik. 3.3
Story Board (Sinopsis)
Game ini berupa kuis yang isinya adalah menebak nama-nama benda berupa hewan, angka dan alat alat rumah tangga yang biasa di jumpai dalam bahasa Inggris. User menebak gambar-gambar dengan mengklik salah satu dari empat pilihan kata yang tersedia. Jika jawaban user benar maka akan mendapat nilai 1, jika salah maka tidak mendapat nilai. Di akhir game user bisa memasukkan nama dan akan tersimpan di storage memory game, dengan syarat user harus mencetak high score. 3.4
Perancangan Animasi dan Suara
Efek animasi dibuat pada button pilihan jawaban, pada saat user menmpelkan pointer pada button maka akan tibul efek perubahan warna pada button. Setiap jawaban yang salah akan ada perubahan pada indikator kesempatan. Indikator kesempatan ini berupa gambar lampu merah. 3.5
Perancangan Timer
Timer dibutuhkan utuk membatasi waktu dari setiap pertanyaan. Timer untuk setiap nomor soal adalah 20 detik. Apabila user belum selesai menjawab soal dalam waktu yang telah ditentukan, maka secara otomatis akan masuk ke soal berikutnya dan user dianggap gagal menjawab soal tersebut.
3.6
Perhitungan Skor
Jawaban benar mendapat skor 1, sedangkan jawaban yang salah tidak mendapat skor atau 0. Setelah semua pertanyaan selesai dijawab, maka skor yang diperoleh akan terakumulasi dan muncul dalam tampilan high score untuk selanjutnya user bisa memasukkan nama yang diinginkan dan menyimpannya.
3.7
Perancangan Level dan Soal
Dalam game ini terdapat tiga level,masing masing level memiliki soal tersendiri,untuk level 1 soal berjumlah 10,level dua berjumlah 20 dan level tiga berjumlah 30 soal. Setiap soal di load secara random. Tipe soal setiap level berbeda. 3.8
Perancangan Tutorial Mode
Dalam game ini terdapat mode tutorial, sehingga user dapat belajar terlebih dahulu sebelum masuk ke mode game. Dalam mode tutorial ini berisi gambar beserta nama gambar tersebut. Jadi user bisa menghafalkannya. 3.9
Penyimpanan Skor
Pada bagian ini akan dijelaskan mengenai pembuatan desain dan pengolahan score yang akan digunakan dalam permainan ini, meliputi : nomor urut, total score, nama pemain dan level permainan . Aplikasi ini menggunakan sebuah file hiScore.dat sebagai media penyimpanan. 3.10 Perancangan Gambar Game Little English ini mempunyai beberapa tampilan yaitu: a. Tampilan Menu Pada tampilan menu, user dapat memilih untuk memulai permainan baru, melihat high score yang sudah tersimpan sebelumnya, ataupun keluar dari mode menu (exit game). b. Tampilan Tutorial Mode Pada mode tutorial, user bisa mempelajari semua pertanyaan berikut jawaban yang benar. Jadi user bisa menghafalkannya. c.
Tampilan Pertanyaan / Game
Pada mode permainan, user harus menjawab pertanyaan yang ditampilkan dengan cara memlih jawaban yang tersedia. Setelah semua pertanyaan selesai dijawab, maka mode game akan menampilkan high score. d. Tampilan High Score Pada tampilan high score ini berisi sepuluh nilai tertinggi yang telah tersimpan sebelumnya. Dan apabila ada nilai yang lebih tinggi di capai oleh user, maka secara
otomatis akan menempatkan nilai tersebut pada urutannya, dari nilai tertinggi sampai terendah. 3.11 Perancangan Use Case Diagram Diagram ini menggambarkan interaksi antara pengguna dengan system, dalam hal ini adalah player dan game, diagram Use Case game Little English adalah sebagai berikut :
Gambar 3. 1 Use Case Diagram
3.12 Perancangan Activity Diagram Diagram Aktivitas memudahkan kita dalam memahami langkah – langkah aliran kerja, diagram ini memodelkan langkah kerja ( workflow ),dari use case sehingga dapat diketahui siapa yang bertanggung jawab atas masing – masing aktivitas dan obyek – obyek yang digunakan dalam aliran kerja.
Gambar 3. 2 Activity Diagram
3.13 Perancangan Sequence Diagram Diagram ini menggambarkan tentang fungsionalitas dari masing – masing Use Case dan interaksi yang terjadi antar obyek dalam sistem. 3.14 Perancangan Class Diagram Diagram Class menggambarkan hubungan / relasi dan interaksi yang yang terjadi antar class yang ada pada game Little English, diagram ini membantu programmer untuk mendapatkan struktur system sebelum menuliskan kode program. 4. Implementasi dan Pembahasan 4.1
Pembuatan Item ITEM
Nama
Gambar
Fungsi
pointer
Melakukan seleksi (pointing)
Indicator
Sebagai penanda kesempatan yang
kesempatan
tersisa
Button jawab
Sebagai
tempat
menjawab
pertanyaan,nantinya button ini akan
diberi text jawaban
Gambar
Merupakan salah satu contoh dari
pertanyaan
pertanyaan yang harus di jawab
Button Study
Untuk ke mode study/Tutorial
Button Quiz
Untuk ke mode quiz
Button Score
Untuk melihat high score
Button Exit
Untuk keluar dari game
Button Menu
Untuk kembali ke mode menu Untuk beralih ke gambar berikutnya
Button Next
pada mode latihan/tutorial
Button
Untuk beralih ke gambar sebelumnya
Previous
pada mode latihan/tutorial
4.2
Pengimplementasian Animasi dan Suara
Pembuatan gambar animasi menggunakan adobe photoshop. Kemudian digambungkan dengan menggunakan software bitmap combine dari golden studios. Sedangkan pemanggilan sound hanya dengan memanggil method play sound dan play music pada package com.golden.gamedev.GameObject pada GTGE. 4.3
Pengimplementasian Timer Game
Timer digunakan untuk membatasi waktu dari user pada saat menjawab pertanyaan di mode game, serta timer untuk intro update level dan game over. Pembuatan
timer
menggunakan
class
Timer
pada
package
com.golden.gamedev.object. 4.4
Pengimplementasian Skoring dan High Score
Penghitungan score dihitung ketika terjadi klik pada jawaban dan pada class colisson akan memanggil method CekJawaban(). Dan method tersebut akan melakaun pengecekan nilain integer pada atribut di file txt. Integer tesebut adalah 1,2,3,4 dimana 1 adalah jawaban benar untuk A,2 untuk B,3 untuk C dan 4 untuk D.
4.5
Pengimplementasian Pemanggilan Soal dan Pengaturan Level
Soal di ambil dari sebuah file text(.txt) yang berisi array list yang nanti akan di baca oleh java string tokenizer, pemanggilan dari string tokenizer diambil secara satu persatu berdasarkan urutan yang di lakukan oleh method setSoal(). Dalam array list tesebut berisi nomor soal,nama file gambar, pilihan jawaban a,b,c dan d,beserta jawaban benar. Isi dalam array tersebut dipisahkan dengan tanda koma. Kemudian file txt tersebut diolah pada methode loadSoal(). Soal yang diload dari file txt diambil secara acak oleh method yang disediakan oleh engine GTGE, yang dinamakan methode getRandom(). 4.6
Pengimplementasian Mode Tutorial
Mode tutorial berisi gambar beserta penjelasan dari nama gambar tersebut. Pemanggilan gambar dan nama menggunaka metode yang hampir sama dengan pemanggilan soal pada mode game. Gambar dan nama diambil dari sebuah file txt dan diolah oleh methode loadSoal(). 4.7
Pembuatan Tampilan Background Game
Background ini dibuat menggunakan adobe photoshop, background ini berupa gambar dengan ukuran 800x600 pixel dan bertipe .PNG.
Gambar 4. 1 Background Game 4.8
Pembuatan Menu
Di bagian menu ini, user dapat memilih tobol tombol dengan melakukan klik pada tombol tersebut.
Gambar 4. 2 Tampilan Menu 4.9
Pengujian Sistem
Hasil dari pengimplementasian akan dilakukan pengujian, tampilan awal pada saat game dijalankan adalah sebagai berikut : 4.9.1 Menu Dalam tampilan awal player akan diberikan beberapa pilihan menu , yaitu : a. Study, menu ini digunakan untuk masuk ke dalam Tutorial game. b. Quiz, menu ini digunakan untuk masuk ke game mode. c.
Score, digunakan untuk melihat high score (nilai tertinggi ) yang tersimpan.
d. Exit, menu ini digunakan untuk keluar dari menu/exit game.
4.9.2 Tutorial
Ketika pemain memilih mode tutorial maka akan muncul tampilan seperti dibawah ini :
Gambar 4. 3 Tampilan Tutorial Ketika pemain memilih tombol next, maka gambar akan beralih ke gambar berikutnya. Dan ketika pemain memilih tombol previous maka gambar akan beralih ke gambar sebelumnya. Dalam mode ini pemain juga bisa langsung ke mode quiz dengan memilih tombol quiz. Ataupun kembali ke menu utama dengan memilih tombol menu.
4.9.3 Intro Game Ketika pemain memilih menu Quiz maka akan muncul tampilan seperti di bawah ini:
Gambar 4. 4 Tampilan Intro
Form intro ini akan muncul beberapa detik, didalamnya terdapat petunjuk untuk bermain.kemudian akan langsung masuk ke pertanyaan level pertama
4.9.4 Mode Game Level
Gambar 4. 5 Tampilan Mode Game / Kuis
Pada bagian level pertama, pemain diharuskan menjawab setiap pertanyaan yang keluar dengan melakukan klik pada tombol jawab yang tersedia sebelum waktu habis,waktu disini dihitung disetiap pertanyaan. Jadi setiap pertanyaan memiliki waktu tersendiri. Waktu untuk menyelesaikan setiap pertanyaan adalah 20 detik. Jika pemain menghabiskan waktu tanpa menjawab pertanyaan maka lampu merah akan menyala dan kesempatan berkurang serta akan beralih kepertanyaan berikutnya secara otomatis. Contohnya seperti gambar dibawah:
Gambar 4. 6 Gambar Saat Jawaban Salah
Pada mode game ini ada 3 level yang harus diselesaikan. Untuk level satu terdapat 10 pertanyaan. Dan jika kesepuluh pertanyaan tersebut telah selesai maka akan masuk ke intro update level, seperti gambar dibawah ini:
Gambar 4. 7 Intro Update Level
Intro ini hanya berlangsung selama 3 detik, hal ini hanya bertujuan untuk memberi tanda bahwa telah terjadi update level. Setelah level terupdate maka game akan menampilkan soal untuk level dua. Pada level dua ini terdapat 20 pertanyaan. Persyaratan untuk dua ini sama dengan level pertama .Yang membedakan adalah jumlah soalnya. Untuk kesempatan dan timer untuk menjawab soal dibuat sama disetiap levelnya. Tampilan dari level kedua adalah sebagai berikut
Gambar 4. 8 Tampilan Level Dua Ketika pemain telah menyelesaikan semua pertanyaan pada level kedua, maka akan menuju ke tampilan intro update level dan menuju ke level tiga
Adapun tampilan intro update level tiga adalah sebagai berikut :
Gambar 4. 9 Tampilan Intro Update
Setelah selesai intro update level, maka akan masuk ke level tiga, berikut adalah tampilannya:
Gambar 4. 10 Tampilan Level Tiga
Setelah level terupdate maka game akan menampilkan soal untuk level tiga. Pada level tiga ini terdapat 30 pertanyaan yang harus diselesaikan oleh pemain.
4.9.5 High Score Setelah semua pertanyaan selesai dijawab oleh user, maka game akan menuju ke tapilan high score. Seperti gambar berikut :
Gambar 4. 11 Tampilan High Score
5. Kesimpulan Berdasarkan perencanaan, perancangan dan implementasi yang dilakukan dapat diambil kesimpulan sebagai berikut : a. Golden T Game Engine dapat digunakan untuk membangun sebuah game dengan genre quiz sebagai media pembelajaran bagi anak anak untuk membantu menghafal nama-nama objek dalam bahasa inggris. b. Dalam pembuatan game little english ini perlu dipersiapkan perencanaan dalam pembuatan pertanyaan berikut gambar yang digunakan beserta aturan dari permainannya. Agar mudah dimengerti, karena game ini ditujukan untuk anak-anak. c.
Pemakaian Golden T Game Engine yang berisi fungsi – fungsi siap pakai memudahkan programer dalam implementasi, karena programer tidak perlu membuat method sendiri untuk memutar suara, mengatur sprite, dan fungsi - fungsi dalam pembuatan game yang lain.
DAFTAR PUSTAKA
Siallagan, Sariadin. 2009. Pemrograman Java: Dasar-Dasar Pengenalan Dan Pemahaman, Yogyakarta : Penerbit Andi. Kadir, Abdul. 2008. Dasar Pemrograman Java 2. Yogyakarta : Penerbit Andi. Avestro, Joyce. 2007. JENI Pengenalan Pemrograman 1. Jardiknas. Oracle Corporation. 2010. Netbeans IDE Java http://netbeans.org/index_id.html. diakses tanggal 29 April 2010.
Kode
Terbuka.
Dharwiyanti, Sri. 2003. Pengantar Unified Modeling Language (UML). Jakarta : Ilmu Komputer. Soliq. 2006. Pemodelan Sistem Informasi Berorientasi Objek Dengan UML. Surabaya : Graha Ilmu. Paulus, Tuerah. 2004. Powerful Game Engine. http://goldenstudios.or.id/products/GTGE/index.php. diakses tanggal 25 April 2010.