PEMBUATAN GAME PEMBELAJARAN BIOLOGI “REPRODUKSI SEL
DAN SUBSTANSI GENETIKA” MENGGUNAKAN TEKNOLOGI JAVA 2
STANDARD EDITION (J2SE) UNTUK SISWA SMA
Naskah Publikasi
Disusun oleh :
Fatkhul Jannah 07.01.2222
Yeti Ekasari 07.01.2258
JURUSAN TEKNIK INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AMIKOM
YOGYAKARTA
2010
ii
MAKING LEARNING GAMES ON THE BIOLOGI OF “CALLS
REPRODUKSI AND SUBSTANTION GENETIC” USING TECNOLOGI
JAVA 2 STANDARD EDITION (J2SE) FOR HIGH SCHOOL STUDENTS
PEMBUATAN GAME PEMBELAJARAN BIOLOGI “REPRODUKSI SEL
DAN SUBSTANSI GENETIKA” MENGGUNAKAN TEKNOLOGI JAVA 2
STANDARD EDITION (J2SE) UNTUK SISWA SMA
Fatkhul Jannah 07.01.2222
Yeti Ekasari 07.01.2258
Jurusan D3 Teknik Informatika
STMIK AMIKOM YOGYAKARTA
ABSTRACT
General description of this game is designed so that users can be entertained after
the play, in this game the player must complete a different challenge every level,
by creating a random cell images into a perfect picture. In the education puzzle
games require intelligence or logic to complete the game. Besides, there are
examples that can simplify the original image to create puzzle players. In addition
there are also examples of material that the image must be heard because the
material is very important in this game, let players not only play but also get
knowledge of reproductive cells. That's the purpose the author makes the game
"of learning (education)"
Keyword: Java game dengan GTGE framework
iii
1. Pendahuluan
Hiburan merupakan salah satu kebutuhan utama masyarakat kita saat ini,
terutama bagi manusia dengan segudang kesibukan dan aktifitas yang kerap
menyita banyak waktu. Seiring dengan teknologi yang tengah berkembang
pesat, masyarakat membutuhkan hiburan yang variatif mulai dari music,
film hingga hiburan interaktif seperti game.
Game saat ini sangat bervariasi seiring dengan makin berkembangnya
perangkat lunak dan perangkat keras yang ada. Game Edukasi atau
pembelajaran adalah salah satu jenis game yang dibutuhkan oleh sebagian
besar kalangan masyarakat terutama anak muda dan remaja. Game edukasi
sendiri merupakan game fiksi interaktif yang biasanya menggunakan grafis
statik atau diam.
Masyarakat saat ini masih beranggapan bahwa game hanya permainan
tidak berguna dan sering kali hanya membuang waktu dengan percuma,
karena itu perlu dibuktikan bahwa game tidak hanya untuk hiburan namun
juga bisa memberi banyak manfaat seperti halnya game edukasi. Misalnya
pada siswa yang saat ini sering mengalami kesulitan dalam memahami
materi pelajaran dalam kelas karena kurangnya media penyampaian yang
lebih menarik minat siswa dan membantu para siswa untuk dapat lebih
memahami dan memudahkan guru untuk menyampaikan materi, karena
siswa lebih mudah paham dengan cara penyampaian yang lebih interaktif,
seperti menggunakan game, yang jarang sekali dilakukan oleh guru.
1
2. Landasan Teori
2.1 Sejarah Perkembangan Game
Pertama kali game dibuat adalah tictatoe pada tahun 1952
dikembangkan oleh A.S.Douglas yang dimainkan pada vaccum tube
computer, kemudian pada tahun 1958 dengan nama tenis for two
dikembangkan oleh Willy Higginbothman yang dimainkan pada
oscilloscope dihubungkan dengan analog donner computer. Pada tahun
1960an (1960-1670) di tahun 1961-1962 muncullah game Space War
yang dikembangkan oleh MIT dengan menggunakan vector graphic yang
dimainkan pada computer PDP-1, kemudian Sega mengeluarkan game
arcada pertama yang electronic shooting game tahun 1971, Nalon Bushel
Develops Computer Space.
2.2 Element Dasar Dalam Game
Dalam suatu game terdapat beberapa elemen yang menyusun game
tersebut, seperti jenis game, karakter dalam game, background, elemen
sound/suara, dan gerakan-gerakan dasar.
2.3 Teori Langkah Pembuatan Game
Teori yang digunakan dalam pembuatan suatu game antara lain:
a. Mentukan tujuan(reaching goals)
b. Tentang keputusan yang di lakukan(decision)
c. Adanya hadiah atau nilai (reward)
d. Memiliki alur (flow)
2
2.4 Sistem Perangkat Lunak
2.4.1 Netbeans 6.7
Untuk melakukan konfigurasi database pada netbeans IDE,
tidaklah sesulit yang dibayangkan. Karena digunakan netbeans IDE
untuk membuat program-program java. Netbeans IDE menyediakan
fitur-fitur yang sangat lengkap. semua kebutuhan programmer, tidak
hanya java tersedia di netbeans IDE ini. Teman-teman bisa
mendownload versi netbeans IDE 6.5. Untuk yang terbaru adalah
versi 6.7.
2.5 Teknologi Java
Aplikasi adalah program yang biasanya disimpan dan di eksekusi
dari komputer lokal. Applet adalah program yang biasanya disimpan
pada komputer yang jauh,yang dikoneksikan pemakai lewat web
browser. Komputer jauh menjalankan web server yang memberi
layanan terhadap permintaan web browser. Kebanyakan bahasa
pemrograman modern berdiri di atas pustaka-pustaka kelas yang telah
ada untuk mendukung fungsionalitas bahasanya. Pada bahasa Java,
kelompok-kelompok kelas yang berkaitan erat dimasukkan dalam satu
paket, bervariasi sesuai edisi Java. Java adalah bahasa yang dapat
dijalankan dimanapun dan di sembarang platform apapun, di beragam
lingkungan: Internet, intranets, consumer electronic products, dan
computer applications.
3
Java 2 Standar Edition (J2SE), J2SE menyediakan lingkungan
pengembangan yang kaya fitur, stabil, aman, dan cross-
platform. Edisi ini mendukung konektivitas basis data,
rancangan user interface, masukkan/ keluaran (input/output),
dan pemrograman jaringan (network programming), dan
termasuk sebagai paket-paket dasar bahasa Java.
Java 2 Enterpise Edition (J2EE), J2EE menyediakan tempat
untuk membangun dan menjalankan multitier enterprise
editions. J2EE berisi paketpaket di J2SE ditambah paket-paket
untuk mendukung pengembangan Enterprise JavaBeans, Java
Servlets, JavaServer Pages, XML, dan kendali transaksi yang
fleksibel.
Java 2 Micro Edition (J2ME), J2ME selain menyedikan
bahasa Java yang sama, unggul dalam portabilitas
(kemampuan dapat dijalankan dimanapun), safe network
delivery, seperti J2SE dan J2EE. Aplikasi-aplikasi dapat
diskalakan (dimampukan) agar dapat bekerja dengan J2SE dan
J2EE. J2ME adalah untuk beragam consumer electronic
product, seperti pager, smart card, cell phone, handheld PDA,
dan set-top box.
2.5.1 Golden T Game Engine (GTGE)
Golden T Game Engine (GTGE) merupakan sebuah 2D Game Library
/ Game SDK (Software Development Kit) untuk membuat game yang
4
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
computer). 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.
3. Analisis dan Perancangan
3.1 Analisi SWOT
Untuk menemukan akar masalah maka diadakan analisis terhadap
faktor-faktor lingkungan yang mempengaruhi sistem, yaitu faktor
kekuatan, kelemaham, peluang, dan hambatan atau sering disebut dengan
analisis SWOT ( Strength, Weakness, Opportunity, and Threat ).
Strength ( Kekuatan) Kekuatan dalam sistem ini, dalam game
pembelajaran “Reproduksi sel dan Substansi genetika” ini terhadap
game-game yang pernah ada terletak pada penggunaan
teknologinya yaitu menggunakan J2SE dan GTGE sebagai java
game library selain itu teknologi ini relative mudah untuk
digunakan.
5
Weakness ( kelemahan) Kurangnya sumber daya manusia yang
memadai, sehingga banyak hal yang tidak mampu di
implementasikan oleh sistem ke dalam bentuk program. Misalnya
kurangnya refrensi sehingga game belum dapat dikembangkan
dengan baik, selain itu game puzzle juga kurang menarik, sehingga
itu bisa menjadi kelemahan dalam pembuatan game ini.
Opportunity (peluang) Peluang dalam sistem ini yaitu dari segi
teknologi yang digunakan, masih belum banyak yang
menggunakan teknologi tersebut, sehingga peluang untuk
mendistribusikan lebih besar, misalnya; kesekolah-sekolah
menggingat ini merupakan game edukasi, sehingga game ini lebih
mudah untuk diterima oleh siswa.
Threat ( hambatan) Kurangnya refrensi maupun buku panduan
tentang GTGE sebagai library yang di gunakan dalam pembuatan
game. Sehingga banyak ide yang tidak bisa di implementasikan ke
dalam program. Selain GTGE ada juga engine yang lain yang lebih
menarik yaitu : Mugen freewer 2D fighting, game angine yang
dirancang oleh elecbyte dengan ditulis dalam bahasa C dengan
allegro library.
3.2 Perancangan Sistem
Game ini dibuat untuk diimplementasikan pada PC (Personal
Computer) dengan sifat dekstopbase. Bahasa pemrograman yang
6
7
digunakan adalah java 2 standar edition yang sudah termasuk dalam paket
Netbeans 6.7
3.2.1 UML (Unified Modelling Languange)
Unified Modelling Languange (UML) adalah sebuah “bahasa” yang telah
menjadi strandar dalam indrustri untuk visualisasi, merancang dan
mendokumentasi system piranti lunak. UML menawarkan sebuah strandar untuk
merancang model sebuah sistem. UML menggunakan class dan operation dan
konsep dasarnya. Maka ia lebih cocok digunakan untuk pembuatan aplikasi yang
menggunakan pemrograman beorientasi objek. UML mempunyai beberapa jenis
diantaranya :
1. Use Case, menggambarkan fungsionalitas yang diharapkan dari sebuah
sistem.
Gambar 3.1: use case diagram
7
2. Class diagram, spesifikasi yang jika diinstansiasi akan menghasilkan
sebuah objek dan merupakan inti dari pengembangan dan desain
berorientasi objek.
Gambar 3.2: class diagram
3. Activity diagram, menggambarkan berbagai aliran aktivitas dalam
sistem yang sedang dirancang, bagaimana masing-masing alir berawal,
decision yang mungkin terjadi, dan bagaimana mereka berakhir.
8
Gambar 3.5: Activity diagram
4. Sequence diagram, menggambarkan interaksi antara objek di dalam
dan disekitar sistem (termasuk pengguna, display, dan sebagainya)
berupa massage yang digambarkan terhadap waktu.
Gambar 3.4 : Sequence diagram
4. Pembahasa
4.1 Implementasi
Implementasi merupakan tahapan yang bertujuan mengubah hasil dari
analisis dan rancangan system menjadi bentuk yang nyata, dalam hal ini
berupa aplikasi game yang berjalan pada piranti desktop komputer.
9
4.2 Pembuatan Program
Tahapan pertama yang dilakukan adalah pembuatan project baru pada
java class library, lalu pembuatan java package yang kemudian
dilanjutkan dengan pembuatan java class dengan klik kanan pada
package, pilih new kemudian java class, yang selanjutnya akan dimulai
tahap coding.
Gambar 4.7: pembuatan java class
10
Game ini dapat berjalan apabila sebelum coding dimulai di tambahkan terlebih
dahulu GTGE library golden_0_2_3.jar dan GTGE_GUI_0_1_0.jar atau sesuai
kebutuhan pada libraries, mengingat game ini menggunakan GTGE sebagai game
engine.
Gambar 4.8: penambahan gtge library
Pada saat pertama kali game dijalankan akan tampil logo dari game engine seperti
yang terlihat gambar dibawah ini
Gambar 4.9: logo game engine
11
Dengan menambahkan script pada bagian main seperti ini:
{ distribute = true; }
Maka secara otomatis akan memanggil game dengan loading logo GTGE engine.
Selanjutnya akan dilakukan tahap pembuatan game. Perlu diketahui inilah rangka
dasar dari pembuatan game.
4.2.1 Insert gambar puzzle dan membuat frem work
Public void initResources () {
frame = new FrameWork(bsInput, getWidth(), getHeight()); }
private void initLevel() {
int imageNum = level;
image = getImage("images/puzzle" + imageNum + ".png", false);
width = image.getTileWidth();
height = image.getHeight();
}
InitResources dan initLevel merupakan sebuah method untuk
menterjemahkan fungsi dari frame work dan image.
Gambar 4.10: tampilan utama game
12
4.2.2 Membuat button
TButton btn5 = new CustomButton(this, "NEXT", 430, 20, 85, 85){
public void doAction(){
if (++level > 4) {
level = 1; }
initLevel(); } };
btn5.setToolTipText("klik button ini\nuntuk lanjut\n"
+ "menuju\nlevel selanjutnya");
4.2.3 Menampilkan button materi
Button materi di gunakan untuk menampilkan materi dari
Reproduksi sel dan Substansi Genetika
final TFloatPanel about = new TFloatPanel("ABOUT-MATERI", true, true,
420, 0, 280, 480);
// set about box always in front of other floating panel
about.setLayer(about.getLayer() + 1);
about.setVisible(false);
TLabel lbAbout = new TLabel("", 15, 15, 450, 480);
String text =
"ReproduksiSel dan SubstansiGenetika\n" ;
lbAbout.setText(text);
lbAbout.UIResource().put("TextVerticalAlignmentInteger",UIConstants.TOP);
lbAbout.UIResource().put("TextFont",fontManager.getFont(new Font("Verdana",
Font.HANGING_BASELINE, 10)));
about.add(lbAbout);
frame.add(about);
TButton btn8 = new CustomButton(this, "MATERI", 430, 275, 85, 85){
public void doAction () {
13
about.setVisible(!about.isVisible());
setToolTipText((about.isVisible())
? "hide materi" : "show materi");
playSound("images/clik.wav"); }
};
btn8.setToolTipText("seputar materi\n" +
"reproduksi sel\ndan substansi genetika" );
4.2.4 Penggerakan gambar
Slidesel.clear();
swapsel.clear();
int lastDir = 0;
int counter = 0;
boolean firstsel = false;
emptysel.x = col-1;
emptysel.y = row-1;
int i = 0, j = 0;
// pergerakan target
while (counter++ < 12*(level+1) || !firstsel ||
// slot yang terakhir harus kosong
// sebelum suffling diakhiri
(emptysel.x != col-1 || emptysel.y != row-1)) {
int direction;
do {
i = emptysel.x;
j = emptysel.y;
do {
// arah pergerakan acak
direction = getRandom(1, 4);
14
} while ((getRandom(0, 10) < 8) &&
// kadang-kadang berulang diijinkan
// untuk menghindari arah kocokan berulang
((direction == 1 && lastDir == 2) ||
(direction == 2 && lastDir == 1) ||
(direction == 3 && lastDir == 4) ||
(direction == 4 && lastDir == 3)));
switch (direction) {
case 1: i--; break; // shuffle to left
case 2: i++; break; // right
case 3: j--; break; // up
case 4: j++; break; // down }
4.2.5 Memecah gambar
private void initLevel() {
gameState = SHUFFLING;
switch (level) {
case 1:
case 2: col = 4; row = 4;
break;
case 3: col = 5; row = 5;
break;
case 4: col = 6; row = 6;
break; }
selImages = ImageUtil.splitImages(image, col, row);
int w = selImages[0].getWidth(), // tile dimension
h = selImages[0].getHeight();
if (level == imageNum) {
String dna = String.valueOf(i + 1);
15
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g.setColor(Color.PINK);
f.drawString(g, dna, GameFont.LEFT, 0, (h/2) -
(f.getHeight()/2),
selImages[i].getWidth()); }
Gambar 4.11: About Materi
4.2.6 Penulisan text
Dibuat tampilan text di awal game dan diakhir bila susunan game
benar, dan jika gameState = win akan secara otomatis text akan
ditampilkan.
gameState = (win) ? SOLVED : PLAYING;
if (win) {
BufferedImage solved = ImageUtil.createImage(image.getWidth(),
image.getHeight());
// menulis text jika puzzle image benar
Graphics2D g = solved.createGraphics();
16
g.drawImage(image, 0, 0, null);
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g.setColor(Color.BLACK);
f.drawString (g, "bagus, anda sukses di level " + level , GameFont.CENTER, 0, (height/2) -
(f.getHeight()/2), width);
g.dispose();
5. Kesimpulan
Berdasarkan analisis, perancangan, implementasi yang telah dilakukan
dalam pembuatan game Pembelajaran (education) Biologi “reproduksi sel dan
substansi genetika”, dapat diambil kesimpulan sebagai berikut:
1. Teknologi game ini akan menjadi sebuah kebutuhan sebagai alat
pembelajaran bagi siswa terutama SMA karena game dengan tema seperti
ini belum ada di sekolah-sekolah
2. Dengan teknologi game siswa lebih bisa memahami materi karena siswa
sulit memahami pelajaran reproduksi dengan manual maka dibuat game
pembalajaran ini.
17