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
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.
2
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)
3
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.
4
Java 2 Standar Edition (J2SE), J2SE menyediakan lingkungan pengembangan yang kaya fitur, stabil, aman, dan crossplatform. 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
5
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.
6 7
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
menggunakan
digunakan,
teknologi
mendistribusikan
lebih
masih
tersebut, besar,
belum
sehingga
misalnya;
banyak
yang
peluang
untuk
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
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
8
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.
9
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.
10
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
11
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
12
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
menterjemahkan fungsi dari frame work dan image.
Gambar 4.10: tampilan utama game
method
untuk
13
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.HANGING_BASELINE, 10))); about.add(lbAbout); frame.add(about); TButton btn8 = new CustomButton(this, "MATERI", 430, 275, 85, 85){ public void doAction () {
Font("Verdana",
14
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);
15
} 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);
}
16
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();
17
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.