Anda di halaman 1dari 6

REKAYASA PERANGKAT LUNAK

“SOFTWARE METRIC”

Ezra Tifanie Gabriella Kabnani

(180030695)

Software metrics adalah suatu tipe pengukuran (measurement) yang terkait software
systems, proses pembangunannya, atau dokumentasinya. Dengan bantuan software metrics, kita
akan dapat memperkirakan kualitas produk software maupun proses pembangunannya. Proses
yang berkualitas akan menghasilkan produk yang berkualitas pula.

Jenis-jenis software metric:

1. LOC (Line of Code)


Pengukuran LOC ini termasuk dalam jenis Size-oriented Metric atau pengukuran
berdasarkan ukuran untuk menentukan kualitas fisik suatu perangkat lunak. Size-oriented
metric ini dapat dilakukan dengan metode LOC (line of code) atau dengan SLOC (source
line of code)
Dari pengukuran jumlah LOC pada suatu perangkat lunak, dapat diperoleh:
a. Kesalahan per KLOC (ribuan LOC)
b. Kekurangan atau cacat pada spesifikasi per KLOC
c. Harga per LOC
d. Jumlah halaman dokumentasi per LOC
Contoh:
Sebuah proyek software akademik dari suatu perguruan tinggi dibuat dengan
melibatkan 5 orang untuk menyelesaikan 18000 LOC software dalam waktu 10 bulan.
Ternyata pada aplikasi software tersebut ditemukan 30 kesalahan (error). Proyek tersebut
membutuhkan biaya sebesar Rp 250.000.000 dan didokumentasikan ke dalam 400 halaman.
Dari uraian tersebut tentukan besaran metrik dari effort, produktivitas, kualitas dan
biaya (cost) dan dokumentasi proyek tersebut !
Rumus perhitungan :
 Effort = person * time  5 * 10 = 50
 Produktivitas = KLOC / org  18 / 5 = 3,6
 Kualitas = Kesalahan / KLOC  30 / 18 = 1,7
 Biaya = Rupiah / LOC  250jt / 18ribu = 13.890
 Dokumentasi = Lembar / KLOC  400 / 18 = 22,2
2. FP (Function Point)
Metrik function point merupakan pengukuran yang berorientasi kepada fungsi
perangkat lunak atau Function-oriented Metric, adalah pengukuran fungsionalitas yang
disampaikan oleh aplikasi sebagai suatu nilai normalisasi. Perhitungan dengan metode
Function Point menuntut untuk dilakukan oleh seorang profesional yang berpengalaman
karena memiliki tingkat subyektifitas yang cukup tinggi.

Contoh soal:

Langkah pertama: Menghitung Crude Function Points (CFP)


Crude Function Points (CFP) adalah untuk menghitung bobot nilai dari komponen-
komponen Function Point yang dikaitkan dengan software yang akan dibuat. Dimana
terdapat 5 komponen yaitu:
a. Input, Berkaitan dengan interface yang lakukan pengguna/user dalam memasukan data
pada aplikasi.
b. Output, Berkaitan dengan output yang dihasilkan aplikasi untuk pengguna/user yang
dapat berupa laporan di print atau yang ditampilkan pada layar.
c. Query, Berkaitan dengan query terhadap data yang tersimpan.
d. File, berkaitan dengan logic penyimpan data yang dapat berupa file atau semacam
database relational.
e. Eksternal Interface, Berkaitan dengan komunikasi data pada parangkat/mesin yang
lain, contoh nya adalah membuat aplikasi SMS Server yang membutuhkan. koneksi
pada perangkat keras Modem telepon.
Langkah kedua: Menghitung Relative Complexity Adjustment Factor (RCAF)

RCAF digunakan untuk menghitung bobot kompleksitas dari software berdasarkan


14 karakteristik.

Penilaian Komplesitas memilik skala 0 s/d 5

0 = Tidak Pengaruh

1 = Insidental

2 = Moderat

3 = Rata-rata

4 = Signifikan

5 = Essential
Karakteristik tersebut merupakan ketetapan atau konstanta yang dibuat oleh
Function Point Internasional User Group (IFPUG), namun pada case study diatas nilai
RCAF telah diketahui, yaitu 547.

Langkah ketiga: Menghitung Function Point (FP)

Yaitu proses melakukan perhitungan untuk mendapat nilai Function point dari
sofrware yang akan dibangun

Rumus FP:

FP = CFP x (0.65 + 0.01 x RCAF)

(Angka 0.65 dan 0.01 adalah ketetepan atau konstanta yang dibuat oleh Function Point
Internasional User Group (IFPUG))

Sehingga dalam study kasus tersebut Function Pointnya adalah:

FP = 547 x (0.65 + 0.01 x 547) = 667.34

3. Cyclomatic complex
Cyclomatic Complexity adalah sebuah software metric yang menyediakan ukuran
kuantitatif dari kompleksitas logika dari sebuah program. Dengan menggunakan hasil
pengukuran atau perhitungan dari metric cyclomatic complexity, kita dapat menentukan
apakah sebuah program merupakan program yang sederhana atau kompleks berdasarkan
logika yang diterapkan pada program tersebut. Apabila dikaitkan dengan pengujian
perangkat lunak (software testing), cyclomatic complexity dapat digunakan untuk
menentukan berapa minimal test caseyang harus dijalankan untuk menguji sebuah program
dengan menggunakan teknik basis path testing. Pada pengujian basis path, aliran control
logika digambarkan dengan menggunakan flow graph. Berikut ini adalah notasi struktur
kontrol pada flow graph untuk menggambarkan sekuensial, seleksi, maupun perulangan:
Notasi lingkaran disebut sebagai flow graph node yang digunakan untuk
menggambarkan statement-statement berikut:

1. Satu atau lebih statement secara sekuensial yang dikelompokkan


2. Percabangan seleksi dari satu statement kedua pilihan statement (seleksi)
3. Penggabungan dua statement yang dilanjutkan pada satu statement yang sama (merge)

Sedangkan notasi garis panah disebut sebagai edge atau link, menggambarkan aliran
kontrol. Setiap edge harus dihubungkan dari/ke sebuah node, meskipun node tersebut tidak
mewakili sebuah statement khusus. Area yang dibatasi oleh node dan edge disebut sebagai
region.

Berikut ini adalah contoh flow graph:

Dari flow graph yang sudahtersedia, cyclomatic complexity dari sebuah program
dapat dibuat dengan menggunakan rumus: V(G) = E—N+2

V(G) : cyclomatic complexity

E : total jumlah edge

N : total jumlah node

Pada contoh flow graph di atas (Gambar 2.), dapat dihitung cyclomatic complexity-
nya sebagai berikut:

V(G) = 11 edges – 9 nodes + 2

=4

Angka 4 dari hasil perhitungan cyclomatic complexity menunjukan jumlah


independent path dari basis path testing, atau dengan kata lain menunjukkan jumlah
pengujian yang harus dijalankan untuk memastikan semua statement pada program
dijalankan minimal sekali (semua statement telah diuji).

Hasil independent path pada contoh di atas dapat dijabarkan sebagai berikut:

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

Anda mungkin juga menyukai