76
IMPLEMENTASI DAN PENGUJIAN
4.1 Production
Production adalah tahapan membuat asset, pemrograman source code dan mengintegrasikan dari keduanya.
4.1.1 Asset Gambar
Tahapan ini merupakan tahapan membuat dan pengumpulan bahan yang sesuai dengan kebutuhan untuk dijadikan asset. Berikut asset-asset yang digunakan pada game ilmuwan muslim.
Tabel 4.1 Assets Game
No Asset Keterangan No Asset Keterangan
1 Background / Latar pada game 9 Score Kuis 2 Image Ilmuwan Muslim 10 Berhasil menyelesaikan puzzle 3 Button menu source image 11 Simbol Hint 4 Header Image 12 Melanjutkan permainan 5 Home Button 13 pause 6 Sound On 14 Button Option 7 Sound Off 15 Restart permainan 8 Back Menu Button
4.1.2 Implementasi Algoritma
a. Algoritma Linear Congruential Generator
Implementasi algoritma Linear Congruential Generator diterapkan pada pengacakan posisi soal pada game kuis. Berikut tampilan source code algoritma Linear Congruential Generator.
1. public void LCG(){
2. int [] arraysoal = new int[10]; 3. int zi = 10; //Jumlah Bilangan Acak
4. int a = Random.Range(1, 50); //Faktor Pengali 5. int c = 4; //Increment / Penambah
6. int m = 50; //Modulus (Range Tertinggi) 7. int z0 = Random.Range(1, 50);; //Nilai Awal 8. Int a2 = 3; //faktor pengali pengganti 9. Int hasilLCG;
10. hasilLCG = z0;
11. for(int i=0; i<zi; i++){ //Mulai Menjalankan Rumus LCG
12. hasilLCG = (a*hasilLCG + c) %m;
13. if(i==0){arraysoal[i] = hasilLCG}
14. else{
15. for(int j=0; j<i; j++){
16. if(arraySoal[j]==hasilLCG){
17. hasilLCG = (a*hasilLCG + a2) %m;
18. a2 = a2 + j;
19. j = -1;
20. }
21. }arraySoal[i] = hasilLCG;
22. } } }
Penjelasan source code algoritma Linear Congruential Generator
Tabel 4.2 Penjelasan Algoritma Linear Congruential Generator
b. Algoritma A-Star (A*)
Implementasi algoritma A* diterapkan untuk menyelesaikan persoalan puzzle. Dengan menggunakan rumus heuristik, maka pencarian akan lebih cepat dan optimal. Berikut tampilan source code dan penjelasan algoritma A*.
Baris
Ke - Keterangan
1 Membuat method dengan LCG
2 Membuat arraySoal dengan isi array 10 buah 3 Membuat variabel zi dengan nilai 10
4 Membuat variabel a dengan nilai angka acak dari 1-50 5 Membuat variabel c dengan nilai 4
6 Membuat variabel m dengan nilai 50 7 Membuat variabel z0 dengan nilai 9 8 Membuat variabel a2
9 Membuat variabel hasilLCG
10 Nilai awal hasilLCG sama dengan z0
11 Pengulangan sebanyak 10 kali sesuai dengan jumlah soal 12 Menghitung hasilLCG untuk mendapatkan nomor soal 13 Jika ini iterasi pertama maka masukan ke dalam array [0] 14 Jika bukan iterasi pertama jalankan else
15 Perulangan dengan nilai batas yaitu I dari perulangan sebelumnya 16 Mengecek apakah nilai di dalam array sama dengan hasilLCG 17 Jika ya maka lakukan penghitungan ulang untuk hasilLCG 18 Mengganti nilai faktor pengali cadangan
19 Mengurangi nilai j
1. while (!kelasPuzzle.AStarSolved && SL.Count > 0){ 2. kelasNode = SL.First ().Value;
3. SL.RemoveAt (0);
4. if (_AreNodesSame (kelasNode, kelasPuzzle.goalNode)) { 5. kelasPuzzle.AStarSolved = true; 6. break;} 7. } 8. Ns = kelasNode.GetSuccessors (); 9. foreach (ClassNode2 SN in Ns){ 10. SN.heuristik = _HitungHeuristik (SN); 11. string key = _KeyBuild (SN);
12. try {
13. KeyInHist = History.ContainsKey (key); 14. } catch { Debug.LogError ("ADA ERROR BROH");} 15. if (KeyInHist){
16. try {
17. CostInHistLarger = (History [key].cost > SN.cost); 18. } catch {Debug.LogError ("ADA ERROR BROH");}
19. if (CostInHistLarger){
20. History [key].cost = SN.cost;
21. SL.Add (SN.heuristik + SN.cost, SN);
22. try {
23. LgotLarger = (SL.Count > maxL);
24. } catch {Debug.LogError ("ADA ERROR BROH");}
25. if (LgotLarger)
26. maxL = SL.Count;
27. }
28. } else {
29. SL.Add (SN.heuristik + SN.cost, SN);
30. History.Add (key, SN);
31. try {
32. LgotLarger = (SL.Count > maxL);
33. } catch {Debug.LogError ("ADA ERROR BROH");} 34. if (LgotLarger)
35. maxL = SL.Count;
36. }
37. } 38. }
Tabel 4.3 menjelaskan source code dari gambar 4.2
Tabel 4.3 Penjelasan Algoritma A-Star Baris
ke-
Keterangan
1 Melakukan perulangan dengan kondisi: puzzle belum terselesaikan dan isi dalam SortList berjumlah lebih dari 0
2 Memberikan nilai pada kelasNode dengan nilai pada SortList yang berada pada urutan pertama.
3 Hapus isi nilai SortList pada urutan pertama 4 Jika kelasNode sama dengan goalNode, maka
5 Puzzle telah tersusun/terselesikan. Beri nilai true pada kelasPuzzle.AstarSolved
6 Hentikan perulangan while
8 Mencari Successors/turunan dari kelasNode kemudian masukan pada List <ClassNode> Ns
9 Melakukan perulangan sebanyak isi dari list Ns. Masukan tiap isi nilai dalam list Ns kedalam ClassNode SN.
10 Menghitung nilai heuristik node yang berada dalam SN, dengan memanggil method _HitungHeuristik ()
11 Membuat Node yang berupa array menjadi deret string “key” dengan memanggil method _KeyBuild()
12 Menjalankan Try exception handling
13 Jika string key sudah berada pada history maka nilai KeyInHist menjadi true
14 Exception handling catch akan dijalankan jika terjadi error. Jika tidak terjadi error maka kode dalam try yang akan dieksekusi
15 Jika nilai KeyInHist adalah true, maka 16 Menjalankan Try exception handling
17 Mengecek apakah nilai cost dari history.key lebih besar dari SN.cost maka CostInHistLarger (true) atau history.key lebih kecil dari SN.cost maka CostInHistLarger (false)
18 Exception handling catch akan dijalankan jika terjadi error. Jika tidak terjadi error maka kode dalam try yang akan dieksekusi
19 Jika CostInHistLarger bernilai true
20 Update nilai cost dalam History.key dengan nilai cost SN 21 Masukan nilai SN dan juga heuristik+cost kedalam SortList SL 22 Menjalankan Try exception handling
23 Jika jumlah nilai yang berada dalam SortList SL lebih dari maxL maka nilai LgotLager (true) bila tidak maka nilai LgotLager (false)
24 Exception handling catch akan dijalankan jika terjadi error. Jika tidak terjadi error maka kode dalam try yang akan dieksekusi
25 Jika LgotLager bernilai true, maka
Tabel 4.3 Penjelasan Algoritma A-Star (Lanjutan) 28 Jika nilai KeyInHist adalah false, maka
29 Masukan nilai SN dan juga heuristik+cost kedalam SortList SL 30 Tambahkan SN dan key kedalam List History
31 Menjalankan Try exception handling
32 Jika jumlah nilai yang berada dalam SortList SL lebih dari maxL maka nilai LgotLager (true) bila tidak maka nilai LgotLager (false)
33 Exception handling catch akan dijalankan jika terjadi error. Jika tidak terjadi error maka kode dalam try yang akan dieksekusi
34 Jika LgotLager bernilai true, maka
35 Nilai maxL sama dengan jumlah isi nilai SortList SL Berikut source code dari method untuk menghitung heuristik. 1. private int _HitungHeuristik(ClassNode2 Nh){ 2. int he = 0;
3. for (int i = 0; i < kelasPuzzle.puzzleSize; i++) { 4. for (int j = 0; j < kelasPuzzle.puzzleSize; j++) {
5. if (Nh.nodeState [i, j] != 0) {
6. int noTile = Nh.nodeState[i,j];
7. GetGoalXY(noTile); 8. he = he + Math.Abs(i-goalY) + Math.Abs(j-goalY); 9. } 10. } 11. } 12. return he; 13. }
Gambar 4.3 Source Code Menghitung Heuristik. Tabel 4.4 menjelaskan source code dari gambar 4.3
Tabel 4.4 Penjelasan Source Code Menghitung Heuristik Baris
ke- Keterangan
1 Method _HitungHeuristik tipe int dengan menerima nilai ClassNode. 2 Memberikan nilai pada variabel he = 0
3 Melakukan perulangan untuk menentukan x
4 Melakukan perulangan untuk menentukan y (perulangan bersarang) 5 Jika node [x,y] bukan 0, maka
6 set nilai noTile = Nomor Ubin Puzzle berdasarkan nodeState[i,j] 7 Memanggil method GetGoalXY() untuk mencari posisi tujuan dari
(noTile)
8 Hitung heuristik dari nomor tile puzzle tersebut 10 Mengembalikan nilai he;
4.1.3 Implementasi User Interface
Berikut merupakan antarmuka yang ada pada game Ilmuwan Muslim : 1. Tampilan Menu Utama
Selang beberapa detik dari splash screen maka akan muncul halaman menu utama. Terdapat 5 button menu dan 3 button untuk setting sound yang tersedia pada menu utama
Gambar 4.4 Antarmuka Menu Utama.. 2. Tampilan Menu Permainan
Pada tampilan menu permainan pilih ilmuwan muslim, user dipersilahkan untuk memilih gambar ilmuwan muslim yang akan dimainkan dalam game puzzle. Gambar 4.5 merupakan tampilan dari antarmuka menu permainan
3. Tampilan Game Play Puzzle
Pada ketika pemain sudah memilih gambar ilmuwan muslim, maka scene yang ditampilkan merupakan scene permainan game puzzle.
Gambar 4.6 Antarmuka Game Play Puzzle. 4. Tampilan Menu Cerita
Pada tampilan menu Cerita pilih ilmuwan muslim, user dipersilahkan untuk memilih cerita ilmuwan muslim yang akan dibaca, dan juga terdapat pilihan kuis untuk bermain kuis.
Gambar 4.7 Antarmuka Menu Cerita. 5. Tampilan Cerita Ilmuwan Muslim
Gambar 4.8 merupakan tampilan cerita ilmuwan muslim yang telah dipilih.
Gambar 4.8 Antarmuka Cerita Ilmuwan Muslim. 6. Tampilan Score
Gambar 4.9 merupakan isi dari halaman score yang berisikan informasi score dari game yang telah dimainkan.
Gambar 4.9 Antarmuka Score 4.2 Testing
Testing dalam konteks ini dilakukan oleh pihak internal untuk menguji apakah game sudah layak untuk tahap selanjutnya atau harus mengalami perbaikan.
4.2.1 Formal Details Testing
Pengujian Formal Details dilakukan untuk menilai fungsi fitur (features functional) dan kesulitan atau tantangan permainan (balanced). Untuk menguji
kualitas kriteria Internal complete, dapat dilakukan secara bersamaan dengan features functional test,
4.2.1.1 Features Functional
Untuk menguji features functional, yaitu melalui playtesting atau memainkan game.
a. Uji Halaman Menu Utama
Tabel 4.4 merupakan Uji fungsi halaman menu utama. Tabel 4.5 Uji Fungsi Halaman Menu Utama
No Skenario Hasil Keterangan
Ya Tidak
1 Klik Tombol Puzzle
2 Klik Tombol cerita
3 Klik Tombol Score
4 Klik Tombol tentang
5 Klik Tombol Sound
6 Klik Tombol Musik
7 Klik Tombol exit
b. Uji Halaman Game Play
Berikut tabel pengujian fungsi halaman game play puzzle. Tabel 4.6 Uji Fungsi Halaman Game Play Puzzle
Berikut tabel pengujian fungsi halaman game play kuis
No Skenario Hasil Keterangan
Ya Tidak
1 Slide Papan Puzzle
2 Pengacakan Puzzle
3 Klik Button Solve puzzle
4 Timer
Tabel 4.7 Uji Fungsi Halaman Game Play Kuis
c. Uji Halaman Pilih Cerita
Berikut tabel pengujian fungsi halaman pilih cerita Tabel 4.8 Uji Fungsi Halaman Pilih Cerita
d. Uji Halaman Cerita Ilmuwan
Berikut tabel pengujian fungsi halaman cerita ilmuwan Tabel 4.9 Uji Fungsi Halaman Cerita Ilmuwan
e. Uji Halaman Tentang
Berikut tabel pengujian fungsi halaman Tentang. Tabel 4.10 Uji Fungsi Halaman Tentang
No Skenario Hasil Keterangan
Ya Tidak
1 Klik Tombol Menu Tentang
No Skenario Hasil Keterangan
Ya Tidak
1 Pengacakan Soal
2 Next soal setelah terjawab 3 Klik Button jawaban
4 Timer
No Skenario Hasil Keterangan
Ya Tidak
1 Klik Button Kuis
2 Klik Button All Ilmuwan 3 Klik Button Kategori Ilmuwan
4 Ketik Search Ilmuwan
5 Daftar Ilmuwan
No Skenario Hasil Keterangan
Ya Tidak
1 Gambar Ilmuwan
2 Nama Ilmuwan
f. Uji Halaman Score
Tabel berikut merupakan uji fungsi halaman Score Tabel 4.11 Uji Fungsi Halaman Score
4.2.1.2 Internal Complete
internal complete akan melaporkan bug report berupa loophole dan dead-end.
a. Loophole adalah kerentanan game untuk di hack atau dimanipulasi menggunakan cheat.
b. Dead-end yaitu kondisi ketika user tidak dapat melanjutkan permainan disebabkan adanya kesalahan pada game.
Tabel 4.12 Uji Internal Complete
No Skenario Hasil Keterangan
Ya Tidak
1 Loophole
2 Dead-end
4.2.1.3 Balance
Pengujian faktor yang mempengaruhi tingkat keseimbangan challenge permainan agar game memiliki tingkat kesulitan yang beragam. Faktor yang mempengaruhi yaitu algoritma dalam permainan.
a. Pengujian Algoritma A-Star
Algoritma A-Star digunakan sebagai metode penyelesaian permasalahan puzzle. Pengujian algoritma akan dihadapkan pada:
No Skenario Hasil Keterangan
Ya Tidak
1 Button Score Puzzle
2 Button Score Size
1. Node awal (puzzle yang sudah teracak) sebagai kondisi pertama. 2. Goal node / node tujuan (puzzle yang sudah tersusun) sebagai kondisi
akhir.
3. Berapa langkah dan waktu yang ditempuh untuk menyelesaikan permasalahan puzzle dari node awal menuju node tujuan?
Gambar 4.10 Node Awal Dan Node Tujuan
Gambar 4.11 Penyelesaian Permasalahan Puzzle
Berdasarkan Gambar 4.11 dapat dihitung expanded node berjumlah 2 dan akar/child node yang dibuat berjumlah 5.
1. Algoritma A-Star Pada Puzzle 3x3
Tabel 4.12 hasil pengujian terhadap algoritma A-Star pada game play puzzle 3x3.
Tabel 4.13 Pengujian Algoritma A-Star 3x3 No Node Awal (Puzzle Teracak) Jumlah Langkah Solusi Waktu (ms) Exp. Node Child Node Berhasil Tersusun Y N 1 11 97 16 53 2 25 160 440 1162 3 21 289 643 1683 4 24 519 2062 5398 5 27 970 4170 11803 6 22 121 156 395 7 24 308 1073 2891 8 19 145 280 751 9 22 248 830 2215 10 23 215 736 1960
Keterangan: Tabel 4.13 pengujian algoritma A-Star pada puzzle 3x3 secara lengkap dapat dilihat pada LAMPIRAN A.
Dari tabel pengujian 4.13 dapat diketahui nilai efisiensi algoritma A-Star untuk menyelesaikan permasalahan puzzle 3x3:
1. Jumlah Langkah Solusi
Langkah paling sedikit = 11 langkah Langkah paling banyak = 29 langkah Rata-rata =
=
= 21 langkah2. Waktu
Nilai waktu tercepat = 97 ms = 0,097 detik Nilai waktu terlama = 1171 ms = 1,171 detik Rata-rata =
=
= 311,42 ms = 0,33142 detik 3. Expanded NodeNilai terkecil = 16 exp.node Nilai terbesar = 4527 exp.node Rata-rata =
=
= 976 exp.node4. Child Node
Nilai terkecil = 44 child node Nilai terbesar = 12069 child node Rata-rata =
=
= 2617 child node5. Tingkat Keberhasilan
−
× 100%
=
× 100% = 100%Tingkat keberhasilan pencarian solusi masalah puzzle 3x3 dengan algoritma A-Star adalah 100% dari 50 pengujian. Maka dapat dipastikan
algoritme A-Star dapat mencari langkah solusi pada permasalahan puzzle dan dapat menyelesaikan dengan waktu yang sangat cepat yaitu dengan rata-rata 311,.42 ms atau 0,33142 detik. waktu tempuh untuk pencarian solusi memiliki kecenderungan akan berbanding lurus dengan expanded node dan juga child node yang dibuat. Semakin banyak expanded node dan child node yang dibuat maka akan semakin bertambah pula waktu tempuh pencarian. Berikut gambar diagram algoritma A-Star pada puzzle 3x3.
Gambar 4.12 Diagram Pengujian Puzzle 3x3 (Langkah dan Waktu) 0 100 200 300 400 500 600 700 800 900 1000 1100 1200 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 W akt u (ms) Langkah Algoritma A* pada Puzzle 3x3
Gambar 4.13 Diagram Pengujian Puzzle 3x3 (Waktu dan Exp.Node)
Gambar 4.14 Diagram Pengujian Puzzle 3x3 (Exp.Node dan Child Node)
2. Algoritma A-Star Pada Puzzle 4x4
Pengujian pada puzzle 4x4 akan dibatasi karena pencarian algoritma A-Star akan menggunakan memori yang terlalu besar (>300mb) seiring dengan bertambahnya data di dalam list. Ketentuan pada puzzle 4x4 sebagai berikut:
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 0 50 100 150 200 250 300 350 400 450 500 550 600 650 700 750 800 850 900 95010001050110011501200 Ex pan d ed N ode Waktu (ms) Algoritma A* pada Puzzle 3x3
0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000 11000 12000 0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 C hild Node Expanded Node Algoritma A* pada Puzzle 3x3
a. Batas expanded node untuk setiap permasalahan yaitu tidak lebih dari 200.000 expanded node.
b. Jika melebihi batas expanded node, maka pencarian algoritma A-Star dinyatakan gagal.
Tabel 4.13 hasil pengujian terhadap algoritma A-Star pada game play puzzle 4x4.
Tabel 4.14 Pengujian Algoritma A-Star 4x4 No Node Awal (Puzzle Teracak) Jumlah Langkah Solusi Waktu (ms) Exp. Node Child Node Berhasil Tersusun Y N 1 125 84720 202.695 625.042 2 37 2705 7.534 23.161 3 118 76902 187.543 574.110 4 111 68003 172.577 517.606 5 92 55739 138.993 412.580 6 86 45749 116.672 350.109 7 90 48511 122.225 365.735
Tabel 4.14 Pengujian Algoritma A-Star 4x4 (Lanjutan) No Node Awal (Puzzle Teracak) Jumlah Langkah Solusi Waktu (ms) Exp. Node Child Node Berhasil Tersusun Y N 8 136 93572 224.362 698.119 9 170 120466 295.223 902.488 10 75 38002 98.196 292.821
Keterangan: Tabel 4.14 pengujian algoritma A-Star pada puzzle 4x4 secara lengkap dapat dilihat pada LAMPIRAN B.
Dari tabel pengujian 4.14 dapat diketahui nilai efisiensi algoritma A-Star untuk menyelesaikan permasalahan puzzle 4x4:
1. Jumlah Langkah Solusi
Langkah paling sedikit = 18 langkah Langkah paling banyak = 122 langkah Rata-rata =
=
= 74 langkah2. Waktu
Nilai tercepat = 187 ms = 0,187 detik Nilai terlama = 78065 ms = 73,533 detik
Rata-rata =
=
= 40117, 70 ms = 40,1177 detik3. Expanded Node
Nilai terbesar = 199.468 exp.node Rata-rata =
=
. . = 102580 exp.node 4. Child NodeNilai terkecil = 843 child node Nilai terbesar = 611.100 child node Rata-rata =
=
. . = 311873 child node 5. Tingkat Keberhasilan − × 100%=
× 100% = 68%Tingkat keberhasilan penyelesaian masalah puzzle 4x4 dengan algoritma A-Star adalah 68% dari 50 pengujian. Tingkat keberhasilan sangat dipengaruhi oleh size/ukuran puzzle 4x4 berjumlah 16 ubin (lebih banyak dari puzzle 3x3 berjumlah 9) dan rumitnya acakan puzzle sehingga algoritma A-Star harus bekerja keras untuk terus melakukan perulangan untuk membuat expanded node dan child node. Semakin lama waktu tempuh proses algoritma A-Star berjalan, maka akan semakin besar pula nilai dari expanded node dan child node yang akan berpengaruh pada memori yang akan digunakan karena data tersebut disimpan di dalam list akan semakin bertambah. Berikut diagram algoritma A-Star pada puzzle 4x4.
Gambar 4.15 Diagram Pengujian Puzzle 4x4 (Langkah dan Waktu)
Gambar 4.16 Diagram Pengujian Puzzle 4x4 (Waktu dan Exp.Node) 0 10000 20000 30000 40000 50000 60000 70000 80000 0 25 50 75 100 125 Wa ktu (ms) Langkah Algoritma A* pada Puzzle 4x4
0 25000 50000 75000 100000 125000 150000 175000 200000 0 10000 20000 30000 40000 50000 60000 70000 80000 Ex pan d ed No de Waktu (ms) Algoritma A* pada Puzzle 4x4
Gambar 4.17 Diagram Pengujian Puzzle 4x4 (Exp.Node dan Child Node) b. Pengujian Algoritma Linear Congruential Generator
Pengujian akan dilakukan terhadap 50 soal untuk mendapatkan 10 soal secara acak dan tidak terjadi perulangan nomor soal. Berikut tabel 4.12 hasil pengujian pengacakan algoritma linear congruential generator dan Random Class Unity3D.
Tabel 4.15 Pengujian Algoritma LCG dan Random
ke- Input Nomor Soal Hasil Pengacakan
a c m z0 Output LCG Output Random (Class in Unity3D)
1 11 4 50 5 9-3-37-11-25-29-23-7-31-45 15-45-8-35-47-18-11-47-19-18 2 45 4 50 1 49-9-10-4-34-36-24-37-19-13 48-13-14-44-4-4-12-9-22-26 3 13 4 50 7 45-39-11-47-15-49-41-37-35-9 42-41-9-36-11-15-18-13-25-3 4 40 4 50 7 34-14-13-4-16-44-17-18-24-19 22-4-34-12-29-13-29-2-32-10 5 48 4 50 5 44-16-22-10-34-36-32-40-24-6 9-1-37-17-5-18-39-16-8-28 6 12 4 50 7 38-10-24-42-8-1-4-2-28-40 36-47-47-38-24-32-19-13-4 7 37 4 50 2 28-40-34-12-48-30-14-22-18-20 27-22-12-4-26-30-49-45-1-5 8 9 4 50 5 49-45-9-35-19-25-29-15-39-5 14-13-35-39-27-3-15-18-12-35 9 38 4 50 5 44-26-42-1-4-6-32-20-14-36 44-37-1-47-36-17-43-41-30-8 10 19 4 50 4 30-24-10-44-40-14-20-34-1-4 32-29-10-26-25-32-46-41-7-47 11 49 4 50 3 1-3-4-50-2-5-49-6-48-7 23-33-31-25-10-22-22-13-22-18 12 11 4 50 6 20-24-18-2-26-40-44-38-22-46 77-5-38-49-12-7-21-7-14-8 0 100000 200000 300000 400000 500000 600000 0 25000 50000 75000 100000 125000 150000 175000 200000 Ch ild N ode Expanded Node Algoritma A* pada Puzzle 4x4
Tabel 4.15 Pengujian Algoritma LCG dan Random (Lanjutan)
ke- Input Nomor Soal Hasil Pengacakan
a c m z0 Output LCG Output Random (Class in Unity3D)
13 17 4 50 6 6-7-23-45-19-27-13-25-29-47 36-3-30-20-21-20-1-49-8-44 14 19 4 50 7 37-7-8-6-18-46-28-36-38-26 2-30-37-35-48-28-23-32-16-38 15 2 4 50 7 18-40-34-22-48-50-4-12-28-10 40-29-45-30-42-31-17-34-14-15 16 12 4 50 7 38-10-24-42-8-50-4-2-28-40 48-2-1-37-49-18-32-27-43-14 17 22 4 50 8 20-44-42-38-30-14-32-18-40-34 6-6-41-24-12-18-42-15-5-38 18 44 4 50 7 12-32-33-6-18-46-28-36-38-26 16-21-41-31-6-26-23-25-3-33 19 41 4 50 3 27-11-5-9-23-47-31-25-29-43 18-39-23-13-46-35-1-9-49-17 20 15 4 50 6 49-14-15-29-39-41-19-42-34-18 28-19-35-5-9-14-22-40-20-28 21 42 4 50 1 46-36-16-26-37-8-40-34-32-48 37-43-31-25-32-24-12-4-25-7 22 28 4 50 6 22-20-14-46-42-30-44-36-12-40 21-43-35-32-44-16-25-28-34 23 29 4 50 1 33-11-23-21-13-31-3-41-42-1 26-41-30-6-4-32-8-3-28-3 24 26 4 50 9 38-42-46-50-4-8-12-16-20-24 34-47-44-24-13-41-26-21-37-29 25 36 4 50 8 42-16-30-34-28-12-36-38-4-48 47-8-36-13-30-21-26-37-42-1 26 18 4 50 9 16-42-10-34-43-28-8-48-18-37 18-44-39-7-10-3-39-22-3-40 27 9 4 50 7 17-7-8-26-38-46-18-16-48-36 14-12-7-36-31-9-11-23-36-8 28 9 4 50 1 13-12-43-41-23-11-3-31-33-1 48-13-41-9-18-1-48-13-30-8 29 33 4 50 3 3-4-36-42-40-24-46-22-30-44 39-36-27-2-19-35-45-9-1-17 30 4 4 50 4 20-34-40-14-10-44-30-24-28-4 1-22-23-43-27-10-44-39-24-11
Output LCG Berhasil 30 Output Random Berhasil 16
Gagal 0 Gagal 14
*Hasil Output dengan warna hitam: Berhasil *Hasil Output dengan warna merah: Gagal
*Hasil Output dengan warna biru menunjukkan terjadinya perulangan nomor soal.
Berdasarkan tabel 4.12 telah dilakukan pengujian terhadap algoritma LCG dan Random (Class yang berada dalam Unity3D) sebanyak 30 kali, dapat diketahui tingkat keberhasilan algoritma LCG dan Random sebagai berikut: LCG = ℎ × 100%
=
× 100% = 100% Random = ℎ × 100%=
× 100% = 53,3%Pengacakan menggunakan Class Random yang berada di dalam Unity3D memiliki tingkat keberhasilan sebesar 53,3%. Sedangkan pengacakan menggunakan algoritma LCG memiliki tingkat keberhasilan sebesar 100%. Ini menunjukkan bahwa modifikasi pada algoritma LCG berjalan dengan baik dengan output hasil pengacakan berbeda-beda dan seolah-olah tidak terjadi perulangan. Dengan membuat modifikasi berupa event handle, LCG dapat menerima inputan variabel yang beragam. Ketika proses pengacakan terjadi persamaan nomor soal pada periode tertentu maka akan dilakukan update terhadap nilai c kemudian melanjutkan kembali proses pengacakan. Dengan demikian pengacakan algoritma LCG tidak lagi tergantung pada variabel-variabel inputan z0 (bilangan pembangkit awal) maupun a (faktor pengali).
4.2.2 Formal Details Table
Berikut tabel formal details yang dibuat berdasarkan hasil uji testing Tabel 4.16 Formal Details Fitur
Fitur
Change Scene Cerita
Menu Utama Game Play Kuis
Menu Bermain Puzzle Pengacakan Soal
Game Play Puzzle Score
Pathfinding Puzzle Tentang
Menu Cerita Sound. Musik
Pilih Ilmuwan Game Rule
Tabel 4.17 Formal Details Kualitas Kualitas
Functional
Internal Complete
4.3 Beta
Pengujian beta dilakukan dengan cara menyebar kuesioner menggunakan teknik simple random sampling dimana anggota sample dari populasi dilakukan secara acak tanpa memperhatikan strata yang ada dalam populasi. Kuesioner diberikan kepada generasi muda rentang usia 11 tahun sampai 15 tahun. Kuesioner terdiri dari beberapa aspek penilaian yaitu aplikasi yang menarik (fun), kemudahan dalam menjalankan aplikasi game, dan adanya bug report pada feature availability. Sistem penskoran menggunakan skala pengukuran teknik likert, tabel 4.16 adalah skor untuk jawaban kuesioner.
Tabel 4.18 Skala Kuesioner
Skala jawaban Keterangan Nilai
SS Sangat Setuju 5
S Setuju 4
BS Biasa Saja 3
TS Tidak Setuju 2
STS Sangat Tidak Setuju 1
Sebelum menyelesaikan perhitungan hal yang harus diketahui terlebih dahulu adalah interval (jarak) dan interpretasi persen, agar mengetahui penilaian dengan metode mencari interval skor persen (I).
I = 100 / jumlah skor likert 100/5 = 20
Maka interval nya adalah 20. Jarak dari terendah 0% hingga tertinggi 100%. Secara kontinum dapat digambarkan seperti gambar 4.8.
Gambar 4.18 Skor Kontinum Skor =
4.3.1 Fun
Pertanyaan yang diajukan kepada responden terkait dengan penilaian aspek aplikasi yang menarik (Fun Criteria).
a. Konten aplikasi (Puzzle, Kuis, Cerita) Tabel 4.19 Skala Kuesioner Fun a
Kode Jawaban SS S BS TS STS
Frekuensi Jawaban 11 12 14 3 -
Skor 11 * 5 = 55 12 * 4 = 48 14*3 = 42 3 * 2 = 6 -
Jumlah Skor 151
Interpretasi skor Skala tertinggi * jml responden = 5 * 40 = 200 Persentase 151/200 * 100% = 75.5 %
Berdasarkan hasil persentase nilai di tabel 4.19 dapat disimpulkan bahwa penilaian terhadap layout / konten aplikasi menarik adalah 75.5% (setuju). b. Perpaduan warna tidak mencolok.
Tabel 4.20 Skala Kuesioner Fun b
Kode Jawaban SS S BS TS STS
Frekuensi Jawaban 7 17 15 1 -
Skor 7*5 = 35 17*4 = 68 15*3 =45 1*2 = 2 -
Jumlah Skor 150
Interpretasi skor Skala tertinggi * jml responden = 5 * 40 = 200 Persentase 150/200 *100 % = 75%
Berdasarkan hasil persentase nilai di tabel 4.20 dapat disimpulkan bahwa penilaian terhadap perpaduan warna tidak mencolok adalah 75%.
c. Menu, window, icon aplikasi menarik. Tabel 4.21 Skala Kuesioner Fun c
Kode Jawaban SS S BS TS STS
Frekuensi Jawaban 10 9 17 4 -
Skor 10*5 = 50 9*4 = 36 17*3=51 4*2=8 -
Jumlah Skor 145
Interpretasi skor Skala tertinggi * jml responden = 5 * 40 = 200 Persentase 145/200 *100 % = 72.5%
Berdasarkan hasil persentase nilai di tabel 4.21 dapat disimpulkan bahwa penilaian terhadap menu, window, icon aplikasi menarik adalah 75.5%. d. Audio
Tabel 4.22 Skala Kuesioner Fun d
Kode Jawaban SS S BS TS STS
Frekuensi Jawaban 6 13 19 2 -
Skor 6*5 = 30 13*4 = 52 19*3=57 2*2=4 -
Jumlah Skor 143
Interpretasi skor Skala tertinggi * jml responden = 5 * 40 = 200 Persentase 143/200 *100 = 71.5%
Berdasarkan hasil persentase nilai di tabel 4.22 dapat disimpulkan bahwa penilaian terhadap perpaduan material seperti audio, video, dll sudah tepat adalah 70.5% (setuju).
Tabel 4.23 Rata-Rata Persentase Dari Pertanyaan Aspek Aplikasi yang Menarik
% Pertanyaan a Pertanyaan b Pertanyaan c Pertanyaan d
75.5 % 75% 72.5% 71.5%
Rata-rata (75.5 + 75 +72.5 +71.5) %/4 = 73.6 %
Dari hasil persentase ke empat pertanyaan yang diajukan menghasilkan rata-rata sebesar 73.6% (setuju). Dan dapat dikategorikan aplikasi ini menarik untuk dimainkan. Digambarkan dengan garis kontinum pada gambar 4.19
Gambar 4.19 Garis Kontinum Rata-Rata Dari Aspek Aplikasi Menarik 4.3.2 Accessibility
Pertanyaan yang diajukan kepada responden terkait dengan penilaian aspek kemudahan dalam pemahaman pengoperasian.
a. Kemudahan pengoperasian game
Tabel 4.24 Skala Kuesioner Accessibility a
Kode Jawaban SS S BS TS STS
Frekuensi Jawaban 14 17 6 3 -
Skor 14*5 = 70 17*4 = 68 6*3 = 18 3*2=6 -
Jumlah Skor 162
Interpretasi skor Skala tertinggi * jml responden = 5 * 40 = 200 Persentase 169/200 *100 = 81%
Berdasarkan hasil persentase nilai di tabel 4.24 dapat disimpulkan bahwa penilaian terhadap kemudahan dalam pengoperasian aplikasi adalah 81%. b. Kemudahan Pemahaman Game Play
Tabel 4.25 Skala Kuesioner Accessibility b
Kode Jawaban SS S BS TS STS
Frekuensi Jawaban 9 21 9 1 -
Skor 9*5 = 45 21*4= 84 9*3 = 27 1*2= 2 -
Jumlah Skor 158
Interpretasi skor Skala tertinggi * jml responden = 5 * 40 = 200 Persentase 158/200 *100 = 79%
Berdasarkan hasil persentase nilai di tabel 4.25 dapat disimpulkan bahwa penilaian terhadap kemudahan dalam pemahaman ketika bermain (Game Play) adalah 79%.
Tabel 4.26 Rata-Rata Persentase Dari Pertanyaan Aspek Kemudahan Aplikasi
% Pertanyaan 1 Pertanyaan 2
81 % 79%
Rata-rata (81 + 79) % / 2 = 80 %
Dari hasil persentase kedua pertanyaan yang diajukan menghasilkan rata-rata sebesar 80%. Dan dapat dikategorikan aplikasi ini mudah untuk dimainkan. Digambarkan dengan garis kontinum pada gambar 4.20
Gambar 4.20 Garis Kontinum Rata-Rata Dari Aspek Kemudahan Aplikasi
Tabel Formal Details pengujian beta yaitu sebagai berikut. Tabel 4.27 Formal Detail Fitur Kualitas Features Internal Complete Balance Fun Accessibility 4.4 Release
Aplikasi yang telah dibuat dan sudah siap untuk disebarluaskan maka akan dapat diunggah ke situs (play store), agar siapa saja dapat dengan mudah mengunduh dan menggunakan aplikasi secara gratis.