BAB III PEMBAHASAN
3.3. Code Generation
3.3.1. Testing
Aplikasi pembelajaran yang telah dibuat, selanjutnya diuji melalui teknik pengujian perangkat lunak yang meliputi pengujian white box dan pengujian black box.
A. Whitebox Testing
1. Bagian Aliran Menu Utama
Terdapat 3 menu utama diantaranya menu game, menu pengaturan, menu about dan pada masing-masing menu memiliki sub menu. Berikut bagan aliran menu utama.
Gambar III.33.
Bagan Alir Menu Utama
2. Bagian Aliran Menu Game
Terdapat 3 menu utama diantaranya menu matematika, menu Bahasa inggris, menu puzzle dan pada masing-masing menu memiliki sub menu.
Berikut bagan aliran menu game.
Gambar III.34.
Bagan Alir Menu Game
Gambar III.35.
Grafik Alir Menu Utama Keterangan:
Note 1 : Mulai aplikasi halaman loading Note 2 : Menu utama
Note 3 : Tombol menu game.
Note 4 : Isi game pembelajaran Matematika, Bahasa Inggris, Puzzle Note 5 : Tombol Pengaturan
Note 6 : Tombol suara Note 7 : Tombol About Note 8 : Masuk ke About Note 9 : Tombol Keluar
Note 10 : Tombol Selesai Program
Kompleksitas siklomatis (pengukuran kuantitatif terhadap kompleksitas logis suatu program) dari grafik alir dapat diperoleh dengan perhitungan.
Dimana:
E = Jumlah edge grafik alir yang ditandakan dengan gambar panah N = Jumlah simpul grafik alir yang ditandakan dengan gambar lingkaran
Dimana:
P = Jumlah predikat (Node yang memiliki cabang) Sehingga kompleksitas siklomatisnya:
1. V(G) = (E – N) + 2
= (12 – 10) + 2
= 4
2. V(G) = P + 1
= 3 + 1
= 4
V(G) = E – N + 2
V(G) = P + 1
3. Independent Path
Path 1 = 1 – 2 – 3 – 4 – 9 – 10 Path 2 = 1 – 2 – 3 – 5 – 6 – 9 – 10 Path 3 = 1 – 2 – 3 – 5 – 7 – 8 – 9 – 10 Path 4 = 1 – 2 – 3 – 5 – 7 – 9 – 10 B. Blackbox Testing
Pengujian program menggunakan blackbox testing yang fokus terhadap proses masukan dan keluaran program. Pengujian ini bertujuan untuk mengetahui apakah animasi sudah sesuai dengan yang diinginkan atau belum.
Tabel III.14.
Hasil Pengujian Blackbox Testing
Input/Event Proses Output/Next
Stage
Hasil Pengujian Tombol
Game
btn_game.addEventListener(MouseE vent.CLICK, tombol_game);
function
tombol_game(event:MouseEvent):vo id
{
gotoAndStop("32");
}
Masuk ke Menu Game
Sesuai
Tombol Pengaturan
btn_pengaturan.addEventListener(M ouseEvent.CLICK,
tombol_pengaturan);
function
tombol_pengaturan(event:MouseEve nt):void
{
gotoAndStop("34");
}
Masuk pada pengaturan game
Sesuai
Tombol About
btn_about.addEventListener(MouseE vent.CLICK, tombol_about);
Masuk pada menu about
Sesuai
function
tombol_about(event:MouseEvent):vo id
{
gotoAndStop("33");
} Tombol
Matematika
btn_mtk.addEventListener(MouseEv ent.CLICK, tombol_mtk);
function
tombol_mtk(event:MouseEvent):voi d
{
gotoAndStop("35");
}
Untuk Masuk ke game matematika
Sesuai
Tombol Bahasa Inggris
btn_bi.addEventListener(MouseEven t.CLICK, tombol_bi);
function
tombol_bi(event:MouseEvent):void {
gotoAndStop("38");
}
Untuk masuk pada game bahasa inggris
Sesuai
Tombol
Puzzle btn_puzzle.addEventListener(Mouse Event.CLICK, tombol_puzzle);
function
tombol_puzzle(event:MouseEvent):v oid
{
gotoAndStop("51");
}
Untuk masuk pada game puzzle
Sesuai
Tombol Play
btn_play_mtk.addEventListener(Mo useEvent.CLICK,
tombol_mulai_mtk);
function
tombol_mulai_mtk(event:MouseEve nt):void
{
gotoAndStop("37");
}
Untuk memulai game matematika
Sesuai
Tombol Petunjuk
btn_petunjuk_mtk.addEventListener(
MouseEvent.CLICK, tombol_petunjuk_mtk);
Untuk memberikan cara
bermain
function
tombol_petunjuk_mtk(event:MouseE vent):void
{
gotoAndStop("36");
}
pada game yang dipilih
Tombol Soal Pada Matematika
stop();
btn_backgame.visible=false;
var nilai:Number = 0;
var no_soal:Number = 0;
var max_soal:Number = 10;
var hasil:hasil_mc;
var soal:Array = [["Berapakah hasil dari 8 X 2 = ?", "16", "15", "14",
"13"],
["Berapakah hasil dari 42 : 7 = ?", "6", "5", "7",
"8"],
["Berapakah hasil dari 34 + 21 = ?", "55", "45",
"53", "49"],
["Berapakah hasil dari 23 - 7 = ?", "16", "15", "14",
"17"],
["Berapakah hasil dari 47 + 38 = ?", "85", "80 ",
"95", "90"],
["Berapakah hasil dari 67 - 16 = ? ", "51", "50",
"49", "52"],
["Berapakah hasil dari 8 X 7 = ? ", "56", "54",
"58", "60"],
["Berapakah hasil dari 60 : 3 = ? ", "20", "15",
"19", "11"],
["Berapakah hasil dari 12 X 3 = ? ", "36", "37",
"25", "26"],
["Berapakah hasil dari 45 : 3 =? ", "15", "14", "25",
"20"],
["Berapakah hasil dari 124 + 37 =?", "161", "150",
"160", "151"],
Untuk memilih jawaban, jika benar akan mendapatka n nilai 10 dan jika jawaban salah tidak akan mendapatka n nilai kosong.
Sesuai
["Berapakah hasil dari 98 - 23 =?", "75", "65",
"55", "45"],
["Berapakah hasil dari 11 X 7 =?", "77", "67",
"73", "75"],
["Berapakah hasil dari 13 X 2 =?", "26", "27",
"28", "29"],
["Berapakah hasil dari 32 : 2 =?", "16", "27", "15",
"14"]];
var temp_soal:Array;
var temp_jawaban:Array;
function acak_soal():void{
//mengacak soal
temp_soal = soal.slice(0, soal.length);
for (var i:Number = 0; i <
soal.length; i++){
var acak:Number = Math.floor(Math.random()*soal.leng th);
var temp:Array = temp_soal[acak];
temp_soal[acak] = temp_soal[i];
temp_soal[i] = temp;
} }
function restart():void{
//restart kuis, semua variabel dikembalikan ke posisi semula
acak_soal();
nilai = 0;
no_soal = 0;
max_soal = 10;
score_txt.text = "0";
restart_btn.visible = false;
btn_backgame.visible=true;
btn_exit_soal.visible=true;
soal_habis.visible=false;
}
function tampilkan_soal():void{
//tampilkan soal
soal_txt.text =
temp_soal[no_soal][0];
//acak jawaban
temp_jawaban =
temp_soal[no_soal].slice(1, 5);
for (var i:Number = 0; i <
temp_jawaban.length; i++){
var acak:Number = Math.floor(Math.random()*temp_ja waban.length);
var temp:String = temp_jawaban[acak];
temp_jawaban[acak]
= temp_jawaban[i];
temp_jawaban[i] = temp;
}
//tampilkan jawaban
jawaban_1.jawaban_txt.text = temp_jawaban[0];
jawaban_2.jawaban_txt.text = temp_jawaban[1];
jawaban_3.jawaban_txt.text = temp_jawaban[2];
jawaban_4.jawaban_txt.text = temp_jawaban[3];
}
function setup_awal():void{
restart();
tampilkan_soal();
//mengatur jawaban jawaban_1.stop();
jawaban_2.stop();
jawaban_3.stop();
jawaban_4.stop();
jawaban_1.addEventListener(
MouseEvent.CLICK, cek_jawaban);
jawaban_2.addEventListener(
MouseEvent.CLICK, cek_jawaban);
jawaban_3.addEventListener(
MouseEvent.CLICK, cek_jawaban);
jawaban_4.addEventListener(
MouseEvent.CLICK, cek_jawaban);
//listener untuk efek tombol
jawaban_1.addEventListener(
MouseEvent.MOUSE_OVER, mouse_over);
jawaban_2.addEventListener(
MouseEvent.MOUSE_OVER, mouse_over);
jawaban_3.addEventListener(
MouseEvent.MOUSE_OVER, mouse_over);
jawaban_4.addEventListener(
MouseEvent.MOUSE_OVER, mouse_over);
//mouse out
jawaban_1.addEventListener(
MouseEvent.MOUSE_OUT, mouse_out);
jawaban_2.addEventListener(
MouseEvent.MOUSE_OUT, mouse_out);
jawaban_3.addEventListener(
MouseEvent.MOUSE_OUT, mouse_out);
jawaban_4.addEventListener(
MouseEvent.MOUSE_OUT, mouse_out);
//tombol restart
restart_btn.addEventListener(
MouseEvent.CLICK, ulangi);
btn_backgame.visible=true;
btn_exit_soal.visible=true }
function
mouse_over(e:MouseEvent):void{
e.currentTarget.gotoAndStop (2);
}
function
mouse_out(e:MouseEvent):void{
e.currentTarget.gotoAndStop (1);
}
function
cek_jawaban(e:MouseEvent):void{
var no_jawaban:Number = Number(e.currentTarget.name.substr (8))-1;
if
(temp_jawaban[no_jawaban] ==
temp_soal[no_soal][1]){
//jawaban benar tampilkan_hasil(1);
btn_backgame.visible=false;
nilai+=10;
score_txt.text = String(nilai);
btn_exit_soal.visible=false;
}else{
//jawaban salah tampilkan_hasil(2);
btn_backgame.visible=false;
btn_exit_soal.visible=false;
} }
function
tampilkan_hasil(tp:Number):void{
hasil = new hasil_mc();
hasil.x = 264;
hasil.y = 268;
hasil.gotoAndStop(tp);
hasil.scaleX = 0.2;
hasil.scaleY = 0.2;
hasil.waktu = 0;
hasil.tp = tp;
hasil.addEventListener(Event .ENTER_FRAME, gerak_hasil);
addChild(hasil);
btn_backgame.visible=true;
btn_exit_soal.visible=false;
soal_habis.visible=false;
}
function gerak_hasil(e:Event):void{
var ob:Object =
e.currentTarget;
if (ob.scaleX < 1){
ob.scaleX+=0.2;
ob.scaleY+=0.2;
}
if (ob.waktu > -1 && ob.tp <
3){
ob.waktu++;
if (ob.waktu > 60){
ob.waktu = -1;
//tambah no soal
no_soal++;
ob.removeEventListener(Eve nt.ENTER_FRAME, gerak_hasil);
removeChild(DisplayObject(
ob));
if (no_soal <
max_soal){
tampilkan_soal();
}else{
soal_habis.visible=true;
restart_btn.visible = true;
btn_backgame.visible=true;
btn_exit_soal.visible=true;
} }
} }
function ulangi(e:MouseEvent):void{
//hasil.removeEventListener(
Event.ENTER_FRAME, gerak_hasil);
//removeChild(DisplayObject (hasil));
restart();
restart_btn.visible = false;
//tampilkan_hasil(3);
tampilkan_soal();
btn_backgame.visible=true;
btn_exit_soal.visible=true }
setup_awal();
btn_backgame.addEventListener(Mo useEvent.CLICK,
fl_ClickToGoToAndStopAtFrame_1 95);
function
fl_ClickToGoToAndStopAtFrame_1 95(event:MouseEvent):void
{
gotoAndStop("32");
} Tombol
Kembali
btn_back.addEventListener(MouseE vent.CLICK, tombol_back);
function
tombol_back(event:MouseEvent):voi d
{
gotoAndStop("31");
}
Untuk kembali pada menu utama
sesuai
Tombol OK stop();
function
clikpergi(event:MouseEvent):void {
if (input.text == "t-shirt") {
skor+=10;
nextFrame();
} else {
nextFrame();
}
cek.visible = false;
}
cek.addEventListener(MouseEvent.C LICK,clikpergi);
Untuk melihat hasil apakah jawaban dari game tebak gambar benar atau salah.
sesuai
Tombol Level 1
btn_level1.addEventListener(Mouse Event.CLICK, tombol_level1);
function
tombol_level1(event:MouseEvent):v oid
{
gotoAndStop("52");
Untuk memulai game sesuai dengan levelnya.
Sesuai
Tombol Keluar
import fl.motion.MotionEvent;
stop();
notif.visible=false;
btn_exit.addEventListener(MouseEv ent.CLICK,btnKeluar_122);
function
btnKeluar_122(e:MouseEvent):void{
notif.visible=true;
}
Untuk keluar dari aplikasi game asah otak
Sesuai