Perangkat Lunak
If a and b
Then procedure x
Then procedure y
Endif
Logika Gabungan
Simpul predikat adalah simpul yang memiliki lebih dari
satu edges atau links.
Kompleksitas Siklomatis
Kompleksitas siklomatis (Cyclomatic Complexity)
adalah metriks PL yang memberikan pengukuran
kuantitatif terhadap kompleksitas logis suatu program.
Nilai cyclomatic complexity mendefinisikan jumlah
independen path pada basis program.
Jalur independen adalah jalur yang melalui program
yang mengintroduksi sedikitnya satu rangkaian
statement proses baru atau suatu kondisi baru.
Jalur Independen
Jalur 1 : 1-11
Jalur 2 : 1-2-3-4-5-10-1-11
Jalur 3 : 1-2-3-6-8-9-10-1-11
Jalur 4 : 1-2-3-6-7-9-10-1-11
Jalur 5 : 1-2-3-4-5-10-1-2-3-6-8-9-10-1-11 (tidak
termasuk dalam independent path)
Kompleksitas Siklomatis
Cara menghitung kompleksitas :
1. Jumlah region grafik alir sesuai dengan kompleksitas
siklomatis.
2. Kompleksitas siklomatis V(G) untuk grafik alir G
ditentukan sebagai V(G)= E-N+2.
3. Kompleksitas siklomatis V(G) untuk grafik alir G
ditentukan sebagai V(G)=P+1.
Dimana : E=Jumlah edge grafik alir
N=Jumlah simpul grafik alir
P=Jumlah simpul predikat
Test Cases
PDL for test design
Identifying Nodes
Flowgraph Procedure Average
Cuplikan Kode Program
Do while records remain read record;
Calculate process;
If record field 1 = 0
Then process record;
Store in buffer; Increment counter;
Else if record field 2 = 0
Then reset counter;
Else process record; Store in file;
End if;
End if;
End do;
End
Contoh Soal 1
Pertanyaan :
1. Region?
2. Edge dan node?
3. Simpul predikatnya?
4. Independent Path?
5. Cyclomatic Complexity?
Contoh Soal 2
Contoh Soal 3
Pertanyaan :
1. Berapa jumlah cyclomatic complexity-nya ?
2. Jalur yang menyatakan bahwa properti
tersedia, calon pengguna memiliki cukup uang
dan bermaksud untuk membeli properti
tersebut, ditunjukkan pada independen path
yag mana ?
3. Jalur yang menyatakan bahwa properti
tersedia tetapi calon pengguna tidak memiliki
cukup uang, ditunjukkan pada independen path
yag mana ?
Matriks Grafik (Graph Matrices)
Matriks grafik (Graph Matrix) adalah matriks bujur
sangkar yang ukurannya sama dengan jumlah
simpul/node pada grafik alir.
Graph matrix otomatis menggenerasi flowgraph dan
mendeterminasi aliran dasar proses.
Graph matrix :
1. Bujursangkar dengan sisi merepresentasikan simpul.
2. Baris dan kolom merepresentasikan simpul.
3. Nilai 1 merepresentasikan hubungan antar simpul.
Contoh Graph Matrix
Flowgraph 1 Flowgraph 2
Flowgraph 1
Graph Matrix
Flowgraph 2
Graph Matrix
Flowgraph 1
Connection Matrix
Contoh Soal Graph Matrix
Node 1 2 3 4
1 a b
2 c d
3 e f
4 g
Pertanyaan :
1. Konversikan matriks grafik di atas menjadi
flowgraph!
2. Buatlah Connection Matrix!
3. Berapa nilai dari Cyclomatic Complexity?
Pengujian Struktur Kontrol
Condition Testing bertujuan untuk mengeksekusi
semua kondisi logik dari sebuah modul program.
Pengujian kondisi (Condition Testing) adalah sebuah
metode desain test case yang menggunakan kondisi
logis yang ada pada suatu modul program.
Metode pengujian kondisi berfokus pada pengujian
setiap kondisi yang ada pada program.
Keuntungan :
1. Memperkirakan pengujian berdasarkan kondisi
adalah hal yang simpel.
2. Cakupan pengujian dapat mengarahkan pada
penambahan kasus uji untuk semua program.
Condition Testing
Mendefinisikan :
1. Relational Expression (E1 op E2) : E1 dan E2 adalah
arithmetic expression
2. Simple Condition : Variabel boolean atau relation
expression dan diawali dengan operator NOT
3. Compound Condition : Dua atau lebih simple conditions,
operator boolean dan tanda kurung
4. Boolean Expression : Kondisi tanpa relational expression
Condition Testing
Strategi yang termasuk condition testing :
1. Branch Testing
2. Domain Testing
3. Branch dan Relational Operator Testing
Kegunaan ujicoba kondisi adalah untuk mendeteksi,
baik kesalahan kondisi dalam suatu program tetapi
juga kesalahan lain dalam program.
Tujuan pengujian kondisi adalah mendeteksi tidak
hanya kesalahan di dalam program tetapi juga
kesalahan lain dari program.
Pengujian Aliran Data
Data Flow Testing adalah metode yang menyeleksi
jalur test program menurut lokasi pendefinisian dan
menggunakan variabel program.
Data flow Testing, setiap statement dalam program
diasumsikan diisi dengan angka yang unik dan tidak
ada fungsi yang mengubahnya.
Pengujian Loop
Loop adalah dasar dari banyak algoritma.
Pengujian Loop merupakan teknik pengujian white
box yang secara ekslusif berfokus pada validitas
konstruksi loop.