1. Perhitungan CFP Baru dengan Cyclomatic Complexity
Rumus Penghitungan Jalur Independen dengan Metrik CC:
CC = E – N + 2
Di mana:
E = Jumlah busur/link
N = Jumlah simpul
Input
Penghitungan CC yang diperoleh untuk bobot:
Sederhana:
Menengah:
Kompleks:
Output
Penghitungan CC yang diperoleh untuk bobot:
Sederhana:
Menengah:
Kompleks:
Query
Penghitungan CC yang diperoleh untuk bobot:
Sederhana:
Menengah:
Kompleks:
Response For Class (RFC)
Rumus: RFC = Jumlah Method Class1 + Jumlah Method Class2 + ... +
Jumlah Method Class(n).
Screenshot per Class
Metric Software Size
2. Jumlah LOC, NCNB, EXEC per Class
Comment Percentage (CP)
Rumus: CP = Jumlah Komentar/(LOC-Blank), Screenshot per Class.
Weighted Methods per Class (WMC)
Rumus: WMC = Jumlah Method per Class, Screenshot per Class.
Class Jumlah Method
mSipanggang 86
mBeranda 3
mKodeAkun 8
mKodeAkun2 10
mKodeKomponen 7
No. Nama Class LOC Comment Blank
Comment
Percentage (CP)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
3. mKodeOutput 8
mLaporan 4
mPagu 16
mProfil 7
mRekapBulanan 8
mRekapTahunan 9
mTransaksi 12
mUser 8
jumlah 186
Lack of Cohesion (LCOM)
Jika Class1 > Class2, maka LCOM = Class1 – Class2. Selain daripada
itu, LCOM = 0. Di mana:
Class1: Method yang tidak memiliki irisan atribut dengan method lainnya.
Class2: Method yang memiliki irisan atribut dengan method lainnya.
Class 1 Class 2
viewAkun1() ∩ cekKodeAkun1($kode) viewAkun1() ∩ comboAkun1()
viewAkun1() ∩ cekNamaAkun1($nama) viewAkun1() ∩ getKodeAkun1($idKode1)
viewAkun1() ∩ insertAkun($kode1,$uraian) comboAkun1() ∩ getKodeAkun1($idKode1)
viewAkun1() ∩ editAkun($idKode,$kode1,$uraian) cekKodeAkun1($kode) ∩ cekNamaAkun1($nama)
viewAkun1() ∩ deleteAkun($kode1)
comboAkun1() ∩ cekKodeAkun1($kode)
comboAkun1() ∩ cekNamaAkun1($nama)
comboAkun1() ∩ insertAkun($kode1,$uraian)
comboAkun1() ∩ editAkun($idKode,$kode1,$uraian)
comboAkun1() ∩ deleteAkun($kode1)
getKodeAkun1($idKode1) ∩ cekKodeAkun1($kode)
getKodeAkun1($idKode1) ∩ cekNamaAkun1($nama)
getKodeAkun1($idKode1) ∩ insertAkun($kode1,$uraian)
getKodeAkun1($idKode1) ∩
editAkun($idKode,$kode1,$uraian)
getKodeAkun1($idKode1) ∩ deleteAkun($kode1)
cekKodeAkun1($kode) ∩ insertAkun($kode1,$uraian)