June 24, 2014

Menghitung Cyclomatic Complexity

Hola
CMIIW
berikut adalah sampel mengejarkan Cyclomatic Complexity

Apa sih tujuannya? di dalam flowchart : agar dapat tahu jumlah path yang perlu dilaksanakan agar semua proses dilewati

Sebelumnya, anda perlu menghafal bahwa

V(G) = E - N + 2


Lalu didapat sebuah soal (lihat graph A di sebelah kiri)


Graph A adalah Flowchart dari sebuah program. Kita perlu mengubah ke bentuk B
sebelum menghitung menggunakan rumus, perlu di ketahui
cara mengubah dari flowchart (A) ke flowgraph (B):



-Setiap prosess dan IF, maka dihitung sebagai 1 node
-lihat pada proses 4 dan 5, pada graph kanan dijadikan satu karena prosesnya beruntun. berbeda dengan proses 1 (karena proses 1 bercabang)
-Setiap penggabungan kembali dari proses percabangan dihitung 1 node (lihat angka 9 dan 10)
-Anda boleh memasukkan Start dan End sebagai node (terserah anda)
tetapi sebaiknya ikuti saja cara di atas
End dihitung 1 node
Start tidak di hitung



maka anda siap menggunakan rumus V(G) = E - N + 2
Catatan :
V(G) = Jumlah Minimum path yang kita perlukan agar dapat melintasi semua proses.
N = Jumlah node (berlaku untuk yang telah berubah menjadi tabel yang kanan)
E = edge (garis pengubung antara node)



dari informasi di atas maka :
V(G) = 11 - 9 + 2
V(G) = 4
maka jumlah path minimal yang harus di ambil agar semua terlewati cukuplah 4 path
Itu dia, Cyclomatic Complexity nya adalah 4


Kita lakukan pengecekan path asal2an, pastikan semua node terlewati (untuk gambar B)
Path 1:     1-11
Path 2:     1-2-3-4-5-10-1-11
Path 3:     1-2-3-6-8-9-10-1-11
Path 4:     1-2-3-6-7-9-10-1-11

disini saya telah menemukan 4 path



Buku Software engginering halaman 482