• Tidak ada hasil yang ditemukan

BAB IV IMPLEMENTASI DAN PENGUJIAN. harus dapat mendukung kerja software yang kita gunakan yaitu Greenfoot:

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB IV IMPLEMENTASI DAN PENGUJIAN. harus dapat mendukung kerja software yang kita gunakan yaitu Greenfoot:"

Copied!
28
0
0

Teks penuh

(1)

55

4.1 Implementasi.

4.1.1 Speksifikasi Kebutuhan Sistem

Di bawah ini merupakan spesifikasi kebutuhan dimana sistem yang ada

harus dapat mendukung kerja software yang kita gunakan yaitu Greenfoot:

1.Komputer Dekstop ( hardware )

a. Prosesor Intel Pentium 4 2,4 Ghz

b. DDR2 RAM 1 GB

c. Harddisk 80 GB 5400 RPM

2.Perangkat Lunak( Software )

a. JVM (Java Virtual Machine)

b. JDK 1.5

c. Sistem operasi multiflatform ( windows, linux, dan lainya )

4.2 Tampilan Aplikasi

4.2.1 Tampilan halaman awal

Untuk memulai aplikasi ini penulis membuat halaman muka yang

menampilkan pilihan-pilihan modul yang ingin dijalankan oleh user seperti

gambar berikut:

(2)

Gambar 4.1 Halaman awal

Dari tampilan tersebut user dapat memilih salah satu dari empat modul

dengan menekan tombol sesuai dengan perintah yang ada pada tampilan tersebut

yaitu “x” untuk memulai game pengurangan,”z” untuk game penjumlahan,”c”

untuk mengakses game perkalian dan “v’ untuk memulai game pembagian.

Tampilan kode program untuk halaman tersebut adalah:

(3)

4.2.2 Tampilan Modul Penjumlahan

Tampilan ini mengambarkan jalannya permainan yaitu objek pertanyaan

yang bergerak dari kanan ke kiri dan objek jawabannya bergerak di bawah dari

kiri ke kanan seperti tampilan pada gambar 4.2.

public class land extends World { public land()

{ super(900, 600, 1); }

public void act() { if(Greenfoot.isKeyDown("x")) { gamePengurangan(); } else if(Greenfoot.isKeyDown("z")) { gamePenjumlahan(); } else if(Greenfoot.isKeyDown("c")) { gamePerkalian(); } else if(Greenfoot.isKeyDown("v")) { gamePembagian(); } }

(4)

Gambar.4.2 Tampilan modul penjumlahan

Kode program dari tampilan :

public void gamePenjumlahan() { setBackground("land2.png"); Greenfoot.playSound("underground.mid") ; addObject(new Tambah1(),100,50); addObject(new Tambah2(),70,150); addObject(new Tambah3(),200,100); addObject(new Tambah4(),300,50); addObject(new Tambah5(),800,50); addObject(new Tambah6(),450,150); addObject(new Tambah7(),380,100); addObject(new Tambah8(),500,50); addObject(new Tambah9(),600,100); addObject(new Tambah10(),700,120); addObject(new time(),50,300); addObject(skor,70,280); populate2(); }

(5)

public void populate2() { addObject(new Tb1(), 150,450); addObject(new Tb2(), 550,430); addObject(new Tb3(), 50,520); addObject(new Tb4(), 300,540); addObject(new Tb5(), 400,450); addObject(new Tb6(), 600,510); addObject(new Tb7(), 800,480); addObject(new Tb8(), 700,500); addObject(new Tb9(), 280,450); addObject(new Tb10(),450,540); }

public void tambahNilai() {

skor.tambah(20); }

public void selesai() {

addObject(new PapanSkor(skor.nilaiAkhir()*5), 400,250); Greenfoot.playSound("nilhu.mp3") ;

(6)

4.2.2.1 Tampilan Pertanyan penjumlahan

Pertanyaan yang telah disediakan akan begerak dari kanan ke kiri, seperti

dalam gambar 4.3:

Gambar 4.3 Tampilan pertanyaan game penjumlahan 1

Gambar 4.4 Tampilan pertanyaan game penjumlahan 2

Dari 2 gambar diatas dapat dilihat perbedaan posisi pertanyaan pada gambar 4.3

dan gambar 4.4. Kode untuk pertanyaan tersebut adalah:

import greenfoot.*;

public class Tambah10 extends Penjumlahan {

public void act() { setLocation(getX()-1, getY()); if(getX()==0) { setLocation(899,getY()); } } }

(7)

4.2.2.2 Tampilan Waktu pada penjumlahan

Untuk menentukan batas waktu berlangsungnya game ini,penulis

menggunakan panda yag bergerak dari kiri ke kanan,seperti yang ada pada

gambar.

Gambar 4.5 Pergerakan waktu 1

Gambar 4.6 Pergerakan waktu 2

Gambar 4.7 Hasil akhir user

Dari gambar 4.5 sampai gambar 4.7 dapat dilihat pergerakan panda yang bergerak

ke kanan yang berarati semakin kekanan waktu yang tersisa semakin sedikit dan

dapat mengakhiri permainan.Sedangkan kode program untuk waktu adalah:

(8)

4.2.2.3 Tampilan Nilai

Untuk memberi membuat game ini menarik dengan nilai yang didapat

User akan bertambah jika jawaban yang dipilih User sesuai dengan pertanyaan

yang di pilih.contoh nya dapat dilihat pada gambar 4.8.

Gambar 4.8 Tampilan skor saat game baru dimulai

import greenfoot.*;

public class time extends Actor {

public void act() { setLocation(getX()+1, getY()); if(getX()==894) { ((land) getWorld()).selesai(); Greenfoot.stop(); } } }

(9)

Gambar 4.9 Tampilan skor saat user mendapatkan nilai

Kode untuk nilai diatas adalah

import greenfoot.*; import java.awt.Font; import java.awt.Color;

public class Nilai extends Actor {

private int angka = 0; private int target = 0; private String huruf; private int panjangHuruf; public Nilai(String depan) {

huruf=depan;

panjangHuruf = (huruf.length() + 2) * 16;

setImage(new GreenfootImage(panjangHuruf, 24)); GreenfootImage gambar = getImage();

Font jenisHuruf = gambar.getFont();

gambar.setFont(jenisHuruf.deriveFont(24.0F)); gantiGambar();

}

private void gantiGambar() {

GreenfootImage gambar = getImage(); gambar.clear();

gambar.setColor(Color.RED);

gambar.drawString(huruf + angka, 1, 18); }

(10)

4.2.2.4 Tampilan Jawaban

Objek jawaban, bergerak dari kiri ke kanan seperti pada gambar di

bawah ini:

Gambar 4.10 Tampilan jawaban 1

Gambar 4.11 Tampilan jawaban 2

Gambar di atas menggambarkan pergerakan yang kode nya dapat dilihat

sebagai berikut:

4.2.3 Tampilan Game Pengurangan

import greenfoot.*;

public class Tambah10 extends Penjumlahan {

public void act() { setLocation(getX()+1, getY()); if(getX()==899) { setLocation(0,getY()); } } }

(11)

4.2.3 Tampilan Modul Pengurangan

Pada game pengurangan teknik pembuatanya hampir sama dengan game

penjumlahan tapi yang membedakannya selain soal dan jawabannya, disini juga

background diubah agar ada variasi seperti pada gambar.

Gambar 4.12 Tampilan awal game pengurangan

Kode program diatas dapat dilihat dibawah ini

public void gamePengurangan() { setBackground("land1.png"); addObject(new kurang1(),100,50); addObject(new kurang2(),70,150); addObject(new kurang3(),200,100); addObject(new kurang4(),300,50); addObject(new kurang5(),800,50); addObject(new kurang6(),450,150); addObject(new kurang7(),380,100); addObject(new kurang8(),500,50); addObject(new kurang9(),600,100); addObject(new kurang10(),700,120); addObject(new time(),50,300); addObject(skor,70,280); populate1();

(12)

public void populate1() { addObject(new Jk1(), 150,450); addObject(new jk2(), 550,430); addObject(new jk3(), 50,520); addObject(new Jk4(), 300,540); addObject(new jk5(), 400,450); addObject(new jk6(), 600,510); addObject(new Jk7(), 800,480); addObject(new jk8(), 700,500); addObject(new Jk9(), 280,450); addObject(new JK10(),450,540); }

public void tambahNilai() {

skor.tambah(20); }

public void selesai() {

addObject(new PapanSkor(skor.nilaiAkhir()*5), 400,250); Greenfoot.playSound("nilhu.mp3") ;

(13)

4.2.3.1 Tampilan Pertanyaan Pengurangan

Berikut ini adalah tampilan soal pengurangan yang bergerak dari kanan ke

kiri

Gambar 4.13 Tampilan pergerakan Pertanyaan 1

Gambar 4.14 Tampilan pergerakan Pertanyaan 2

Sedangkan kode programnya sebagai berikut:

import greenfoot;.*;

public class kurang10 extends pengurangan {

public void act() { setLocation(getX()-1, getY()); if(getX()==0) { setLocation(899,getY()); } } }

(14)

4.2.3.2 Tampilan Jawaban Pengurangan

Berikut tampilan jawaban dari game pengurangan:

Gambar 4.15 Tampilan pergerakan Jawaban 1

Gambar 4.16 Tampilan pergerakan Jawaban 2

Sedangkan kode dari tampilan di atas adalah

import greenfoot.*;

public class jk8 extends ANGKA {

public void act()

{ setLocation(getX()+1, getY()); if(getX()==894) { setLocation(0,getY()); } } }

(15)

4.2.4 Tampilan Game Perkalian

Dalam game perkalian penulis menggunakan background dan cara

bermain yang berbeda, perbedaan ini dibuat agar game lebih menarik seperti pada

gambar.

Gambar 4.17 Tampilan muka game perkalian

Dalam gambar di atas tampak buah apel yang diumpamakan oleh penulis jatuh

dari pohon,di dalam apel itu ada pertanyaan perkalian yang jawabannya terdapat

pada apel di bawahnya,dan jika user dapat mencocokan pertanyaan dengan

jawaban yang benar maka akan muncul pertanyaan selanjutnya.dan kode nya

adalah.

public void gamePerkalian() { setBackground("awal.png"); Greenfoot.playSound("underground.mid") ; addObject(new k1(), Greenfoot.getRandomNumber(620), 0); addObject(skor,70,280); populate3();

(16)

{

addObject(new k2(), 100, 0); }

public void lanjut2() {

addObject(new k3(), Greenfoot.getRandomNumber(620), 0); }

public void lanjut3() {

addObject(new k4(), Greenfoot.getRandomNumber(620), 0); }

public void lanjut4() {

addObject(new k5(), Greenfoot.getRandomNumber(620), 0); }

public void lanjut5() {

addObject(new k6(), Greenfoot.getRandomNumber(620), 0); }

public void lanjut6() {

addObject(new k7(), Greenfoot.getRandomNumber(620), 0); }

public void lanjut7() {

addObject(new k8(), Greenfoot.getRandomNumber(620), 0); }

public void lanjut8() {

addObject(new k9(), Greenfoot.getRandomNumber(620), 0); }

public void lanjut9() {

addObject(new k10(), Greenfoot.getRandomNumber(620), 0); }

(17)

4.2.4.1 Tampilan pertanyaan game perkalian

Seperti telah dijalaskan diatas,pertanyaan di game perkalian ini

bergerakdari atas kebawah,seperti pada gambar dibawah.

Gambar 4.18 Tampilan pergerakan game perkalian 1

(18)

Untuk kode dari tampilan pertanyaan itu adalah:

4.2.4.2 Tampilan jawaban game perkalian

Dalam game perkalian berbeda dengan dua game sebelumnya, yaitu onjek

jawaban bergerak,dalam game ini objek jawaban hanya diam dan tidak bergerak.

Gambar 4.20 Tampilan jawaban perkalian

Untuk kode tampilannya sebagai berikut:

import greenfoot.*;

public class k10 extends perkalian {

public void act() { setLocation(getX(), getY()+1); if (getY()==700) { ((land) getWorld()).lanjut3(); getWorld().removeObject(this); } } }

(19)

4.2.5 Tampilan Game Pembagian

Game pembagian ini menempatkan objek pertanyaan seperti game

penjumlahan dan pengurangan. Tapi di sini waktunya yang berbeda, karena objek

jawaban yang akan menentukan waktu game akan berakhir.

Gambar 4.21 Tampilan muka game pembagian

Kode dari tampilan gambar di atas:

public void populate3() { addObject(new a(),170,570); addObject(new b(),250,550); addObject(new c(),330,480); addObject(new d(),400,400); addObject(new e(),570,440); addObject(new f(),660,570); addObject(new g(),760,500); addObject(new h(),860,530); addObject(new i(),80,570); addObject(new j(),500,570); }

(20)

public void gamePembagian() { setBackground("tom.jpg"); populate4(); addObject(new Jba(), 10, 550); addObject(skor,70,280); }

public void populate4() { addObject(new Jb1(),50,40); addObject(new Jb2(),200,40); addObject(new Jb3(),350,40); addObject(new Jb4(),500,40); addObject(new Jb5(),650,40); addObject(new Jb6(),850,150); addObject(new Jb7(),700,150); addObject(new Jb8(),550,150); addObject(new Jb9(),400,150); addObject(new Jb10(),250,150); }

public void sambung1() {

addObject(new Jbb(), 10, 550); }

public void sambung2() {

addObject(new Jbc(),10, 550); }

public void sambung3() {

addObject(new Jbd(), 10, 550); }

(21)

public void sambung5() {

addObject(new Jbf(), 10, 550); }

public void sambung6() {

addObject(new Jbg(), 10, 550); }

public void sambung7() {

addObject(new Jbh(), 10, 550); }

public void sambung8() {

addObject(new Jbi(), 10, 550); }

public void sambung9() {

addObject(new Jbj(), 10, 550); }

(22)

4.2.5.1 Tampilan Soal game pembagian

Soal dari game pembagian ini bergerak secara berbeda,lima dari kiri

kekanan,dan lima dari kanan ke kiri.Seperti yang ada pada gambar dibawah.

Gambar 4.22 Pergerakan soal 1

Gambar 4.23 Pergerakan soal 2

Kode untuk 5 tampilan diatas adalah:

Kode tampilan soal yang dibawah adalah:

import greenfoot.*;

public class Jb1 extends Pembagian {

public void act()

{ setLocation(getX()+1, getY()); if(getX()==894) { setLocation(0,getY()); } } }

(23)

4.2.5.2 Tampilan jawaban di game pembagian

Untuk jawaban digame ini berfungsi juga untuk menentukan waktu

berakhir game ini.

Gambar 4.24 Pergerakan jawaban 1

Gambar 4.25 Pergerakan jawaban 2

import greenfoot.*;

public class Jb1 extends Pembagian {

public void act()

{ setLocation(getX()+1, getY()); if(getX()==0) { setLocation(894,getY()); } } }

(24)

Kode nya adalah sebagai berikut:

\

4.2.5.3 Tampilan waktu game pembagian

Gambar 4.26 Tampilan waktu dalam game pembagian

import greenfoot.*;

public class Jbj extends ANGKA {

public void act() {

setLocation(getX()+1, getY()); }

(25)

Kode nya adalah:

4.2.6 Tampilan drag and drop

Game ini menggunakan sistem drag and drop agar user bisa

memainkannya dengan mudah,selain itu juga dapat membuat interaksi antara user

dan komputer.

Gambar 4.27 Drag and Drop game perkalian

import greenfoot.*;

public class Jbi extends ANGKA {

public void act() { setLocation(getX()+1, getY()); if (getX()==450) { ((land) getWorld()).sambung9(); } if(getX()==894) { ((land) getWorld()).selesai(); Greenfoot.stop(); } } }

(26)

Gambar 4.28 Drag and Drop game pengurangn

Gambar 4.29 Drag and drop game pembagian

(27)

Kode dari tampilan ini adalah:

if (Greenfoot.mouseDragged(this)) {

MouseInfo mouse = Greenfoot.getMouseInfo(); setLocation(mouse.getX(), mouse.getY()); }

if(Greenfoot.mouseClicked(null)) { int x = -getImage().getWidth()/4; int y = +getImage().getHeight()/4;

Jba jba=(Jba) getOneObjectAtOffset(x , y, Jba.class); if(jba!= null) {

jba.pop();

getWorld().removeObject(this); }

}

public void pop() {

((land) getWorld()).tambahNilai(); getWorld().removeObject(this); }

(28)

4.3 Pengujian

Pada Perancangan ini apliksi permainan perlu dilakukan pengujian aplikasi

yang dibuat oleh penulis sebagai vertifikasi atas apa yang telah dirancang.Hal ini

dilakukan karena untuk menguji kemungkinan terjadi kesalahan dan untuk

memastikan fungsi-fungsi dalam modul aplikasi ini dapat berjalan dengan

baik.Tahapan ini meliputi skenario pengujian aplikasi.

4.3.1 Metode BlackBox Testing

Adalah pengujian dengan metode test dari perspektif eksternal, tidak ada

informasi mengenai internal software. Pengujian ini dilakukan baik secara

fungsional ataupun nonfungsional, walaupun umumnya yang dilakukan adalah

fungsional. Pengujian ini dapat dilakukakn pada semu level test, semakin tinggi

level yang diuji semakin besar kemungkinan untuk melakukan blackbox testing.

Pengujian ini dapat mendeteksi adanya bagian dari spesifikasi yang tidak di

implementasikan, tetapi kelemahannya tidak bisa mendeteksi adanya bagian dari

speksifikasi kemungkinan kesalahan implementasi.

Pengujian metode blackbox testing dilakukan dengan menjalankan aplikasi

“Game Pembelajaran” ini terlebih dahulu.setelah itu dilakukan dengan

mempraktekkan fungsi-fungsi yang objek yang ada pada aplikasi apakah

berfungsi sebagaimana mestinya.

Gambar

Gambar 4.1 Halaman awal
Gambar 4.3 Tampilan pertanyaan game penjumlahan 1
Gambar 4.7 Hasil akhir user
Gambar 4.8 Tampilan skor saat game baru dimulai import greenfoot.*;
+7

Referensi

Dokumen terkait

user dapat meminjamkan dokumen untuk keperluan tertentu dengan cara menekan tombol pinjam maka sistem akan mengkonfirmasi apakah “Apakah Ingin Meminjam Dokumen ?” dan kalau kita

Pada tampilan jendela contoh soal matriks ini terdapat tombol sama dengan “ = ” dimana fungsi dari tombol ini adalah untuk melihat penjelasan- penjelasan

Adanya perbedaan tampilan pada kedua alat penguji tersebut (emulator J2ME dengan telepon genggam) jika pada telepon genggam pemain tidak ada halaman memilih menggunakan

Halaman daftar ayat ini akan tampil jika pengguna sudah memilih salah satu ayat yang ada dengan menekan tombol Pilih. Maka akan tampil surat per ayat yang berisi huruf

Setelah form terisi semua dengan benar maka user (pasien) menekan tombol “register” maka akan langsung masuk menuju halaman utama dari aplikasi Pada tahap ini sistem

Pada menu ini terdapat tombol stok, jika menekan tombol tersebut user bisa mengetahui laporan dari semua stok yang ada di toko.. Menu

Pada tampilan menu permainan pilih ilmuwan muslim, user dipersilahkan untuk memilih gambar ilmuwan muslim yang akan dimainkan dalam game puzzle.. Gambar 4.5

Dari tampilan Menu Utama gambar 9, user dapat memulai dengan memilih tombol “Select” untuk memulai proses pencarian bluetooth device yang akan berperan sebagai server yang