ANALISIS FAKTOR-FAKTOR KUALITAS PERANGKAT LUNAK ERP MENGGUNAKAN OBJECT ORIENTED METRICS Oleh : Rhamdani (G64104038) Dibimbing oleh : Wisnu Ananta Kusuma, S.T, M.T Toto Haryanto, S.Kom
SKENARIO KESIMPULAN DAN SARAN HASIL DAN PEMBAHASAN METODE PENELITIAN PENDAHULUAN TINJAUAN PUSTAKA METODE PENELITIAN HASIL DAN PEMBAHASAN KESIMPULAN DAN SARAN
Latar Belakang Enterprise Resource Planning Object Oriented Design Object Oriented Metrics Salah satu perhitungan untuk mengukur kualitas perangkat lunak berorientasi objek Mengukur kualitas perangkat lunak ERP yang berorientasi objek Object Oriented Design Cocok untuk pengembangan perangkat lunak ERP Belum menjamin kualitas perangkat lunak Enterprise Resource Planning Integrasi semua proses bisnis dan fungsi Organisasi bisnis yang besar
Tujuan Implementasi kalkulasi object oriented metrics Mengukur dan meningkatkan kualitas desain perangkat lunak berorientasi objek berdasarkan hasil kalkulasi metrics
Ruang Lingkup Metrics yang digunakan adalah object oriented metrics suite yang diajukan Chidamber & Kemerer (1994) Perangkat lunak yang digunakan adalah perangkat lunak berorientasi objek dengan bahasa pemrograman Java
Manfaat Estimasi kualitas perangkat lunak ERP (Ernita 2008) yang berorientasi objek melalui faktor-faktor kualitas perangkat lunak Memperbaiki desain perangkat lunak ERP (Ernita 2008).
Karakteristik (Faktor-Faktor Kualitas) Quality Reliability Reusability Usability Maintainability Understandability Modifiability Testability Availability Complexity Faktor-faktor kualitas perangkat lunak (El-Ahmadi 2006)
Object Oriented Metrics Complexity metrics WMC Inheritance Metrics DIT NOC Communication metrics CBO RFC LCOM Kategori CK metrics (Systa & Yu 1999)
Weighted Methods per Class Dimana, WMC adalah weighted methods per class ci adalah kompleksitas method ke-i dalam satu class Nilai batas atas = 50 (RefactorIT)
Depth of Inheritance Tree Mengukur kedalaman sebuah class dalam inheritance hierarchy Apabila terdapat multiple inheritance, DIT diambil dari panjang maksimum dari node ke root pada tree Nilai batas atas = 5 (RefactorIT)
Number of Children NOC adalah jumlah subclasses langsung yang mewarisi sebuah class pada hierarki class Nilai batas atas = 10 (RefactorIT)
Coupling Between Object banyaknya class yang terpasangkan oleh class yang diukur Class A dikatakan terpasangkan dengan class B jika class A menggunakan method atau instance variable pada class B Nilai batas atas metric ini, sampai saat ini, belum dapat ditemukan
Response For a Class Nilai batas atas = 50 (RefactorIT) Dimana, Ri adalah himpunan methods yang dipanggil oleh method i M adalah himpunan semua methods yang ada di class Nilai batas atas = 50 (RefactorIT)
Lack of Cohesion in Methods Sebuah class C1dengan n buah methods M1, M2, …, Mn {Ij} adalah himpunan instance variable yang digunakan oleh method Mi Dimana, P = {Ii, Ij | Ii ∩ Ij = Ø} Q = {Ii, Ij | Ii ∩ Ij ≠ Ø} Jika semua n himpunan {I1}, {I2}, …, {In} adalah Ø maka P = Ø Belum ditemukan nilai batas atas
METODE PENELITIAN Studi literatur Pengumpulan data Implementasi kalkulasi metrics Analisis hasil kalkulasi metrics Terangkan secara cepat hasil dari Studi literatur, Pegumpulan Data, dan Implementasi kalkulasi metrics
WMC Histogram WMC Metric Min Max Median Stdev WMC 81 9 15.979108 81 9 15.979108 Tabel statistik WMC
WMC cont… Modus = 6, sebanyak 30 class 224 class WMC ≤ 50 12 class WMC > 50 → Diperiksa ulang dan/atau direvisi Histogram WMC Median = 9 Rata-rata nilai WMC ≤ 50 WMC ERP rendah Tabel WMC WMC ≤ 50 bukan berarti tidak kompleks Bisa saja class tersebut melakukan message passing Akan tetapi, WMC ≥ 50 pasti kompleks Catatan WMC
DIT Histogram DIT Metric Min Max Median Stdev DIT 1 3 0.8004236 Tabel statistik DIT
DIT cont… Modus = 1, sebanyak 189 class Semua class DIT ≤ 5 Tidak perlu diperiksa ulang dan/atau direvisi Histogram DIT Median = 1 Rata-rata nilai DIT ≤ 5 DIT ERP rendah Tabel DIT Nilai terkecil DIT pada Java adalah 1 Nilai DIT semakin besar, tingkat reuse semakin tinggi, tapi di lain sisi semakin kompleks (pengujian) Catatan DIT
NOC Histogram NOC Metric Min Max Median Stdev NOC Tabel statistik WMC
NOC cont… Modus = 0, semua class Semua class NOC ≤ 10 Tidak perlu diperiksa ulang dan/atau direvisi Histogram NOC Median = 0 Rata-rata nilai NOC ≤ 10 NOC ERP rendah Tabel NOC Pengembang tidak memanfaatkan subclassing Hal ini mungkin diakibatkan kurangnya komunikasi dalam desain class Semakin rendah NOC, semakin kecil kemungkinan kesalahan subclassing Catatan NOC
CBO Histogram CBO Metric Min Max Median Stdev CBO 25 4 3.7586659 25 4 3.7586659 Tabel statistik WMC
CBO cont… Modus = 1, sebanyak 66 class Pencilan, CBO = 21 dan CBO = 25 Tidak dapat dipastikan apakah kedua pencilan tersebut dapat disarankan untuk diperiksa ulang dan/atau direvisi Histogram CBO Median = 4 CBO ERP cukup rendah Tabel CBO Kedua pencilan tersebut memiliki peluang besar untuk diperiksa dan/atau direvisi Karena semakin besar CBO, semakin sulit dipahami, semakin sulit di-reuse, dan semakin sulit dirawat Catatan CBO
RFC Histogram RFC Metric Min Max Median Stdev RFC 153 20 23.236527 153 20 23.236527 Tabel statistik WMC
RFC cont… Modus = 4, sebanyak 22 class 213 class RFC ≤ 50 23 class RFC > 50 → Diperiksa ulang dan/atau direvisi Histogram RFC Median = 20 Rata-rata nilai RFC ≤ 50 RFC ERP rendah Tabel RFC Tidak ada catatan khusus Catatan RFC
LCOM Histogram LCOM Metric Min Max Median Stdev LCOM 2588 2 312.44596 2588 2 312.44596 Tabel statistik WMC
LCOM cont… Modus = 0, sebanyak 116 class 58 class LCOM ≥ 100 Bahkan, Ada LCOM = 2588 Tidak dapat dipastikan class mana saja yang disarankan untuk diperiksa ulang dan/atau direvisi Histogram LCOM LCOM = 0, bisa terjadi ketika |P| < |Q| Semua {I1}, {I2}, …, {In} adalah Ø Dengan kata lain, class tersebut bisa saja adalah : Class yang tidak memiliki instance variable Class dengan 1 buah method Interface LCOM tinggi bukan berarti cohesiveness rendah Catatan LCOM
LCOM cont… Rosenberg (1998) mengatakan semakin kecil nilai LCOM dibandingkan dengan nilai maksimumnya, semakin baik cohesiveneess-nya, begitu juga sebaliknya. Rumus : Range = [0, 1] RasioLCOM maxLCOM terjadi ketika |Q| = 0. Dengan kata lain, |P| maksimal. NOM = Number of Methods MaxLCOM
LCOM cont… RasioLCOM Min Max Mean Stdev 0.9693 0.3191 0.36702 0.9693 0.3191 0.36702 Semakin dekat rasioLCOM ke 0, semakin cohesive, begitu juga sebaliknya rasioLCOM [0, 0.5] → cohesiveness tinggi rasioLCOM (0.5, 1] → cohesiveness rendah → diperiksa ulang dan/atau direvisi Rata-rata 0.3191, berarti rata-rata cohesiveness ERP tinggi RasioLCOM Class dengan cohesiveness rendah disarankan dipecah menjadi 2 atau lebih class Catatan
Kualitas Perangkat Lunak ERP Metrics Kategori Faktor Kualitas Reusability Usability Understandability Modifiability Testability WMC Rendah NA DIT NOC CBO RFC LCOM
KESIMPULAN CK metrics dapat digunakan untuk menentukan kualitas perangkat lunak berorientasi objek dari beberapa faktor kualitas. CK metrics dapat juga digunakan untuk mengetahui class mana saja yang perlu diperiksa ulang dan/atau direvisi. Tidak semua metrics dapat digunakan langsung untuk mengetahui class mana saja yang perlu diperiksa ulang dan/atau direvisi Perangkat lunak ERP (Ernita 2008) berkualitas baik dari segi usability, understandability, modifiability, dan testability sedangkan dari segi reusabiity bisa dibilang moderat
SARAN Menggunakan object oriented metrics suite lainnya sehingga dapat diketahui kualitas perangkat lunak ERP dari faktor-faktor kualitas lainnya Menggunakan CK metrics untuk mengetahui seberapa besar pengaruh penggunaan framework pada Java terhadap kualitas perangkat lunak
TERIMA KASIH Tidak Mengerti Malu Bertanya Sesat Di Jalan