LAMPIRAN A
LAMPIRAN HASIL EVALUASI
GAME
SUMMY
DENGAN METODE
BLACK
BOX TESTING
a.
Hasil evaluasi pada Tampilan Halaman Menu Utama
Tabel Hasil Evaluasi Tampilan Halaman Menu Utama
No.
Sasaran
b.
Hasil Evaluasi pada Tampilan Halaman
Game
d.
Hasil Evaluasi Tampilan Halaman Tentang
Tabel Hasil Evaluasi Tampilan Halaman Tentang
No.
Sasaran
Pengujian
Hasil yang
Diharapkan
Hasil Pengujian
Kesimpulan
1.
Tampilan
halaman
Tentang
Aplikasi dapat
menampilkan
halaman Tentang
Aplikasi berhasil
menampilkan
halaman Tentang
Valid
2.
Tutup
halaman
Bantuan
Aplikasi dapat
menutup halaman
Tentang ketika
area luar halaman
Tentang diklik
Aplikasi dapat
menutup halaman
Tentang ketika
area luar halaman
Tentang diklik
Valid
e.
Hasil Evaluasi Resolusi Layar Monitor terhadap Tampilan Summy
1.
Resolusi Layar Monitor 800 x 600
Pixel
(Terpotong)
2.
Resolusi Layar Monitor 1024 x 720
Pixel
(Terpotong)
Gambar Tampilan
Summy
pada resolusi monitor 1024 x 720
pixel
3.
Resolusi Layar Monitor 1280 x 720
Pixel
(Terpotong)
4.
Resolusi Layar Monitor 1366 x 768
Pixel
(Tidak Terpotong)
Gambar Tampilan
Summy
pada resolusi monitor 1366 x 768
pixel
f.
Hasil Evaluasi Performa pada Game Summy
Spesifikasi beberapa komputer yang akan digunakan dalam percobaan adalah
sebagai berikut:
1.
Operating System : Windows 7 Ultimate 32-bit SP1
CPU
: Intel Mobile Core 2 Duo T5870 @ 2.00GHz
RAM
: 2,00GB
Motherboard
: ASUSTeK Computer Inc. K40IN
Graphics
: Generic PnP Monitor (1366x768@62Hz)
512MB NVIDIA GeForce G102M
Storage
: 232GB Seagate ST9250315AS ATA Device (SATA)
2.
Operating System : Windows 7 Ultimate 64-bit SP1
CPU
: Intel Core i3 2310M @ 2.10GHz
RAM
: 4,00GB Dual-Channel DDR3 @ 665MHz
Motherboard
: ASUSTeK Computer Inc. K43E (CPU 1)
Graphics
: Generic PnP Monitor (1366x768@60Hz)
Intel HD Graphics 3000
Storage
: 465GB TOSHIBA MQ01ABF050 SCSI Disk Device
CPU
: Intel Core i5 4200U @ 1.60GHz
RAM
: 8,00GB Dual-Channel DDR3 @ 798MHz
Motherboard
: ASUSTeK COMPUTER INC. X450LCP
Graphics
: Generic PnP Monitor (1366x768@60Hz)
Intel HD Graphics Family (ASUStek Computer Inc)
2047MB NVIDIA GeForce GT 720M
Storage
: 465GB Hitachi HGST HTS545050A7E680
Tabel Hasil Evaluasi Performa pada Game Summy yang Dicoba pada Beberapa
Komputer Berbeda
Kotak di
tangan
Kotak di papan
Hasil
Bentuk
Komputer Waktu
FPS
terendah
1,3,5,7,9,+,x,-
=
19x3=57
1
0,017
44
2
0,017
60
3
0,017
60
3,4,5,6,7,8,9,-
=
94-58=36
1
0,217
20
2
0,217
28
3
0,200
32
0,2,4,6,8,x,:,-
=
8-6=2
1
0,017
44
2
0,017
60
3
0,017
60
1,2,3,4,5,6,7,+
=
63+12=75
1
0,233
12
2
0,267
28
3
0,217
56
3,4,5,6,7,8,9,-
94-58=36
1
0,283
20
2
0,217
40
3
0,167
60
0,2,4,6,8,x,:,=
96:48=2
1
0,170
24
2
0,170
56
1,3,5,7,9,+,-,=
93-78=15
1
0,217
24
2
0,017
32
3
0,017
56
1,2,3,4,5,6,7,=
76-45=31
1
1,850
12
2
3,117
20
3
3,567
56
4,5,6,7,8,9,=,+
679+5=684
1
1,950
32
2
1,100
48
LAMPIRAN B
LAMPIRAN PETUNJUK CARA BERMAIN PADA
GAME SUMMY
Cara bermain pada
game Summy
:
2.
Jika pemain ingin menukarkan salah satu kotak miliknya dengan kotak yang
lain, pemain dapat melakukan
drag and drop
kotak yang dimaksud ke menu
Tukar.
5.
Pemain dapat mengakhiri gilirannya jika telah menyusun bentuk yang valid
untuk memperoleh poin atau jika ingin melewati gilirannya dengan cara
mengklik menu Lanjut.
LAMPIRAN C
LAMPIRAN LISTING PROGRAM
Kode Program Class GreedyProcess:
Imports System.TextImports System.Threading.Tasks Class GreedyProcess
Private Function PermutasiDikurangi(Data() As String, DaftarYangDihapus As String) As String()
Dim DataKandidat = Data.ToList
Dim Dftr = DaftarYangDihapus.Split("/"c) For Each dft In Dftr
If dft <> "" Then
DataKandidat.Remove(dft) End If
Next
Return DataKandidat.ToArray End Function
Structure JenisList
Friend ListNumerik() As String Friend ListOperator() As String End Structure
Private Function PisahNumerik(Data() As String) As JenisList Dim T As List(Of String) = Data.ToList
Dim D() As String = T.ToArray Dim TipeList As New JenisList Dim i = 0
Dim j = 0 For Each S In D
If Integer.TryParse(S, 0) Then
ReDim Preserve TipeList.ListNumerik(i) TipeList.ListNumerik(i) = S
i += 1 Else
ReDim Preserve TipeList.ListOperator(j) TipeList.ListOperator(j) = S
j += 1 End If Next
Return TipeList End Function
Friend Sub SusunKandidatParalelDanSetUpHasil(Data() As String, KandidatSource As GamePlay.KandidatCPUBaseKoordinat, Kpbntu As List(Of
Vector2), IsHorizontal As Boolean, TileYangDipegang As TileBoard(), TileBoard As TileBoard(,), loopState As ParallelLoopState)
Dim TempData = Data
If AktifCPU AndAlso Not CPUPlaceSet AndAlso
CInt(TimeSpan.FromSeconds(WaktuTungguBerjalan).ToString("mm")) < BatasWaktuTunggu Then
Array.Reverse(TempData)
Private Sub SusunKandidatDanSetUpHasilnya(Data() As String, KandidatSource As GamePlay.KandidatCPUBaseKoordinat, Kpbntu As List(Of Vector2), IsHorizontal As Boolean, TileYangDipegang As TileBoard(), TileBoard As TileBoard(,),
End If + CDbl(B(j).Replace("/", "")) = CDbl(C(k).Replace("/", "")) Then
'OPTerpakai.Append(OP) - CDbl(B(j).Replace("/", "")) = CDbl(C(k).Replace("/", "")) Then
If CDbl(A(i).Replace("/", "")) * CDbl(B(j).Replace("/", "")) = CDbl(C(k).Replace("/", "")) Then
'OPTerpakai.Append(OP) / CDbl(B(j).Replace("/", "")) = CDbl(C(k).Replace("/", "")) Then
End If Next End Sub
Friend Function Permutasi(NPermutasi As Integer, Data() As String) As List(Of String)
If i > 0 Then
Private Sub CekKePapanPermainan(Solusi As String, KandidatSource As
GamePlay.KandidatCPUBaseKoordinat, KPbntu As List(Of Vector2), IsHorizontal As Boolean, TileYangDipegang As TileBoard(), TileBoard As TileBoard(,), loopState As ParallelLoopState)
Dim avb = AvaibleFormula(Solusi, KandidatSource, KPbntu, TileBoard) Dim Cocok As Boolean = False
Private Function AvaibleFormula(HasilSolusi As String, KandidatSource As GamePlay.KandidatCPUBaseKoordinat, KPembantu As List(Of Vector2), TileBoard As TileBoard(,)) As Integer
Private Function KelayakanCPU(avb As UInt16, Koordinat As Vector2, Solusi As String, KPembantu As List(Of Vector2), IsBaris As Boolean, Player As TileBoard(), TileBoard As TileBoard(,)) As Boolean
Dim Sol As List(Of Char) = Solusi.ToList Koordinat.Y - If(IsBaris, 1, 0)).Value <> 127 Then
Return False If(IsBaris, Koordinat.Y - k.Y, Koordinat.X - k.X) = avb - i Then
Kpem.Remove(k) Koordinat.Y, Koordinat.X) - (avb - i) >= 0) AndAlso
(TileBoard(Koordinat.X - If(Not IsBaris, (avb - i), 0), Koordinat.Y - If(IsBaris, (avb - i), 0)).Value = 127 And
Not TileBoard(Koordinat.X - If(Not IsBaris, (avb - i), 0), Koordinat.Y - If(IsBaris, (avb - i), 0)).IsBlocked) Then Plyr.Remove(p)
End If Koordinat.Y + If(IsBaris, 1, 0)).Value <> 127 Then
Return False avb), 0), Koordinat.Y + If(IsBaris, (i + 1 - avb), 0)).Value <> 127 Then
Return False If(IsBaris, k.Y - Koordinat.Y, k.X - Koordinat.X) = i - avb Then
Kpem.Remove(k) avb), 0), Koordinat.Y + If(IsBaris, (i + 1 - avb), 0)).Value <> 127 Then
Return False Koordinat.Y, Koordinat.X) + (i - avb) < TileBoard.GetLength(0)) AndAlso
(TileBoard(Koordinat.X + If(Not IsBaris, i - avb, 0), Koordinat.Y + If(IsBaris, i - avb, 0)).Value = 127 And
Plyr.Remove(p)
Private Sub CPU_LetakHasilTervalidasi(avb As UInt16, Koordinat As Vector2, Solusi As String, IsHorizontal As Boolean, TileYangDipegang As TileBoard(), TileBoard As TileBoard(,)) Koordinat.Y, Koordinat.X) - (avb - i) >= 0) AndAlso
(TileBoard(Koordinat.X - If(Not IsHorizontal, (avb - i), 0), Koordinat.Y - If(IsHorizontal, (avb - i), 0)).Value = 127 And
Not TileBoard(Koordinat.X - If(Not IsHorizontal, (avb - i), 0), Koordinat.Y - If(IsHorizontal, (avb - i), 0)).IsBlocked) Then p.IsBlocked = True
TileYangDipegang(Array.IndexOf(Plye, p)).IsBlocked = True
TileBoard(Koordinat.X - If(Not IsHorizontal, (avb - i), 0), Koordinat.Y - If(IsHorizontal, (avb - i), 0)).Value = p.Value
Exit For Koordinat.Y, Koordinat.X) + (i - avb) < TileBoard.GetLength(0)) AndAlso
(TileBoard(Koordinat.X + If(Not IsHorizontal, i - avb, 0), Koordinat.Y + If(IsHorizontal, i - avb, 0)).Value = 127 And
Not TileBoard(Koordinat.X + If(Not IsHorizontal, i - avb, 0), Koordinat.Y + If(IsHorizontal, i - avb, 0)).IsBlocked) Then
p.IsBlocked = True
TileYangDipegang(Array.IndexOf(Plye, p)).IsBlocked = True