E. Graph Matrices
Berikut in adalah graph matrices dari algoritma A Setelah flow graph diberi nomor dan cyclomatic complexity telah dihitung, selanjutnya dibuat tabel
graph matrics yang dapat dilihat pada tabel 4.3.
Tabel 4.3 Graph Matrices A
Keterangan: 1. Baris dan kolom merepresentasikan simpul
2. Nilai 1 merepresentasikan adanya keterhubungan antar simpul Setelah dilakukan pengujian, hasil yang didapat dapat dilihat pada tabel 4.4 :
Tabel 4.4 Hasil Uji White Box Penerapan Algoritma A
No Path
Node n Hasil yang
diharapkan Hasil Sesuai Uji
Kasus Keterangan
1 1-2-3-4-5-8-9-
10-11-12-13-14- 15-16-32
Menghasilkan rute
terpendek dari A
Menghasilkan rute terpendek
dari A [ ] Alur terlewati
[ ] Alur tidak terlewati
2 1-2-3-4-5-8-9-
10-11-17-18-19- 20-21-8-9-10-
Memeriksa apakah node
tetangga dari Memeriksa
apakah node tetangga dari
[ ] Alur terlewati [ ] Alur tidak terlewati
N 1
2 3
4 5
6 7
8 9
10 NE
-1 1
1 1
2-1=1 2
1 1-1=0
3 1
1-1=0 4
1 1
2-1=1 5
1 1-1=0
6 1
1 2-1=1
7 1
1-1=0 8
1 1-1=0
9 1
1-1=0 10
SumE+1 3+1=4
11-17-18-19-22- 23-24-25-26-27-
28-29-30-31-32 node yang
diperiksa masuk pada
closed list node yang
diperiksa masuk pada closed list
3 1-2-3-4-5-8-9-
10-11-17-18-19- 22-23-24-25-26-
27-28-29-30-31- 32
Memeriksa Fn terkecil
pada setiap node tetangga
dari node yang
diperiksa untuk
dijadikan node
selanjutnya yang akan
menjadi parent
Memeriksa Fn terkecil pada
setiap node tetangga dari
node yang diperiksa untuk
dijadikan node selanjutnya yang
akan menjadi parent
[ ] Alur terlewati [ ] Alur tidak terlewati
4 1-2-3-4-5-6-7-
32
Node yang diperiksa
sama dengan node tujuan
Node yang diperiksa sama
dengan node tujuan
[ ] Alur terlewati [ ] Alur tidak terlewati
Kesimpulan: Berdasarkan hasil pengujian pada tabel 4.4 maka dapat disimpulkan hasil
uji kasus setiap node pada independent path A berjalan sesuai hasil yang diharapkan yaitu semua alur terlewati 1 kali.
2. Pengujian Fuzzy Logic
Dibawah ini merupakan kasus algoritma Fuzzy Logic untuk menguji perangkat lunak yang sudah dibangun dengan menggunakan metode white box, berdasarkan
skenario pengujian aplikasi yang dijabarkan.
A. Algoritma
1 Function Fuzzy_Logic 2 {
3 var jarak = 0.0 ; 4 var kekuatan = 0.0 ;
5 var hitPoints = 0.0 ; 6 var posisiTarget = 0.0 ;
7 var posisiPlayer = 0.0 ; 8 var damage = 0 ;
9 if jarak = 40 { 10
jarak = kekuatan_lemah ; 11
} 12
else if jarak = 30 = 70 { 13
jarak = kekuatan_sedang ; 14
} 15
else if jarak = 60 = 100 { 16
jarak = kekuatan_kuat ; 17
} 18
jarak = posisiTarget - posisiPlayer ; 19
kekuatan = new kekuatan ; 20
if kekuatan = 80 { 21
kekuatan = kekuatan_lemah ; 22
} 23
else kekuatan = 20 =80 { 24
kekuatan = kekuatan_kuat ; 25
} 26
kekuatan = hitPoints - damage ; 27
fungsi_trapesium = jarak, kekuatan ; 28
fungsi_segitiga = jarak, kekuatan ; 29
implikasi_nilai = jarak, kekuatan ; 30
periksa_rule = jarak, kekuatan ; 31
hitung_defuzzyfikasi = rule ; 32
if hitung_defuzzyfikasi = 10 { 33
hitung_defuzzyfikasi = melarikan_diri ; 34
} 35
else if hitung_defuzzyfikasi = 10 =20 { 36
hitung_defuzzyfikasi = bertahan ;
37 }
38 else if hitung_defuzzyfikasi = 20 =30 {
39 hitung_defuzzyfikasi = menyerang
; 40
} 41 }
B. Flow Graph
1,2
3,4,5,6, 7,8
9,10
12,13
15,16, 17
18,19
20,21, 22
23,14, 25
26,27, 28,29,
30,31
32,33 11
14
N
N
y N
34 35,36
38,39
37 40
41
N N
Gambar 4.17 Flow Graph Fuzzy Logic
Kerangan : = Menggambarkan kondisi
= Menggambarkan aksi
C. Cylomatic Complexity VG
Cyclomatic complexity akan digunakan dalam menguji path yang nantinya akan digunakan untuk mencari jumlah path dalam satu jalur. Berikut ini adalah
perhitungan Cyclomatic complexity yang diperoleh dari gambar yang nantinya akan digunakan sebagai jumlah aksi pada independent path.
VG = E – N + 2
VG = 22 – 18 + 2
VG = 6 Di mana:
E = jumlah edge pada grafik alir N = jumlah node pada grafik alir
Jadi, Cyclomatic complexity untuk gambar 4.xx adalah 6
D. Independent Path
Independent Path adalah jalur yang melintasi atau melalui program dimana sekurang-kurangnya terdapat proses perintah yang baru atau kondisi yang
baru. Berdasarkan Cyclomatic complexity maka terdapat 6 path, yang terdiri dari :
Path 1 = 1-2-3-4-5-6-7-8-9-10-11-18-19-20-21-22-26-27-28-29-30-31- 32-33-34-41
Path 2 = 1-2-3-4-5-6-7-8-9-10-11-18-19-23-24-25-26-27-28-29-30-31- 32-33-35-36-38-39-40-41
Path 3 = 1-2-3-4-5-6-7-8-9-10-12-13-14-18-19-20-21-22-26-27-28-29-
30-31-32-33-35-36-37-41
Path 4 = 1-2-3-4-5-6-7-8-9-10-12-13-14-18-19-23-24-25-26-27-28-29-
30-31-32-33-35-36-38-39-40-41
Path 5 = 1-2-3-4-5-6-7-8-9-10-12-13-15-16-17-18-19-20-21-22-26-27- 28-29-30-31-32-33-35-36-38-39-40-41