Analisis Perbandingan framework php berdasarkan moose ck dan properti kualitas disain menggunakan metode analytic hierarchy process (AHP)
WAHYU RIFA’I DWI SEPTIAN
106091002976
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
(2)
iii
Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta, pada hari Jum’at tanggal 10 Desember 2010. Skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Program Teknik Informatika
Jakarta, Desember 2010 Tim Penguji,
Tim Pembimbing,
Mengetahui, Penguji I
Viva Arifin, MMSI NIP. 19730810 200604 2 005
Pembimbing II
Imam M Shofi, MT NIP. 19720205 200801 1 010
Pembimbing I
Husni Teja Sukmana, Ph.D NIP. 19771030 200112 1 003
Penguji II
Yusuf Durrachman, MIT, M.Sc NIP. 19710522 200604 1 002
Dekan
Fakultas Sains Dan Teknologi
DR. Syopiansyah Jaya Putra, M.Sis NIP. 19680117 200112 1 001
Ketua Program Studi Teknik Informatika
Yusuf Durrachman, MIT, M.Sc NIP. 19710522 200604 1 002
(3)
ii Skripsi
Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh
Wahyu Rifa’i Dwi Septian 106091002976
Menyetujui,
Pembimbing 1
Husni Teja Sukmana, Ph.D NIP. 19771030 2001 12 1 003
Pembimbing 2
Imam M Shofi, MT NIP. 19720205 2008 01 1 010
Mengetahui,
Ketua Program Studi Teknik Informatika
Yusuf Durrachman, MSc, M.IT NIP. 19710522 2006 04 1 002
(4)
v
Berdasarkan MOOSE CK dan Properti Kualitas Disain Menggunakan Metode
Analytic Hierarchy Process (AHP). Di bawah bimbingan HUSNI TEJA
SUKMANA, Ph.D dan IMAM M. SHOFI, MT.
Keberadaan framework PHP menjadi suatu tantangan tersendiri untuk dicoba penggunaannya dalam membuat aplikasi berbasis web. Framework PHP yang sangat banyak tersedia menjadi kendala bagi seseorang untuk memilih menggunakannya. Karena belum adanya penelitian mengenai perbandingan framework PHP ini, sehingga penulis mencoba untuk membandingkan dan mencari kualitas framework PHP terbaik. Sehingga penelitian ini difokuskan untuk mendapatkan tujuan framework PHP terbaik berdasarkan kualitas disain
modelnya. Dalam penelitian mengenai skripsi ini penulis mencoba
membandingkan 5 framework PHP berdasarkan kualitas disain modelnya dengan menggunakan parameter MOOSE CK dan properti kualitas disain, kemudian
digabungkan dengan metode Analytic Hierarchy Process (AHP) untuk
menentukan kualitas disain model framework terbaik. Penulis juga menggunakan tool PHP Depend untuk menghitung nilai MOOSE CK pada masing-masing framework PHP. Framework PHP tersebut adalah Yii, CodeIgniter, CakePHP, Symfony dan Zend. Hasil akhir dari penelitian ini menunjukkan bahwa framework CakePHP memiliki kualitas disain model framework terbaik dibandingkan dengan framework Yii, CodeIgniter, Symfony dan Zend.
Kata Kunci: framework PHP, Analytic Hierarchy Process (AHP), MOOSE CK, Properti kualitas disain, PHP Depend.
Jumlah Halaman : 118 halaman Jumlah Daftar Pustaka : 33 sumber
(5)
vi
Based MOOSE CK and Quality Property Design Method Using Analytic
Hierarchy Process (AHP). Under the guidance of HUSNI TEJA SUKMANA,
Ph.D dan IMAM M. SHOFI, MT.
The existence of the PHP framework becomes a challenge to try its use in creating web-based applications. The existence of the PHP Framework is very much available to be obstacles for a person to choose to use it. Due to the lack of comparative research on this PHP framework, so the author tries to compare and find the best PHP framework quality. So the research was focused on getting the best PHP framework objectives based on the quality of the design model. In a study of this thesis the author tries to compare 5 PHP framework based on the quality of the design model using the parameters of MOOSE CK and design quality properties, then combined with the method of Analytic Hierarchy Process (AHP) to determine the best framework model of design quality. The author also uses a PHP Depend tool to calculate the value of MOOSE CK Depend on each PHP framework. PHP Framework is Yii, CodeIgniter, CakePHP, Symfony and Zend. The final results of this study indicate CakePHP that the various frameworks have the best quality design framework model compared with Yii framework, CodeIgniter framework, Symfony framework and Zend framework.
Keywords: framework PHP, Analytic Hierarchy Process (AHP), MOOSE CK, Properti kualitas disain, PHP Depend.
Total Pages : 118 pages Total References : 33 source
(6)
Gambar 3.2. Kerangka Berpikir I Menggabungkan metode AHP, parameter MOOSE CK
dan parameter properti kualitas disain sofware
properti kualitas software dan metode AHP
Menentukan properti kualitas disain software
Menentukan korelasi antara MOOSE CK dan properti kualitas disain software
I. Pembobotan MOOSE CK
Perbandingan nilai skala Saathy pada parameter MOOSE CK
Menjumlahkan total pada masing-masing kolom
Membagi masing-masing cell dengan jumlah total sesuai dengan kolom
Menghitung rata-rata pada setiap baris
Hasil faktor Pembobotan
Menghitung Weighted Sum Vector
Menghitung Consistency Vector
Menghitung Consistency Ratio
Menghitung Consistency Index
Menghitung Lambda
Cek
Consistency Ratio
Faktor pembobotan parameter MOOSE CK dapat digunakan
CR < 0.1
CR >= 0.1
II. Evaluasi MOOSE CK
Menghitung parameter Moose CK (WMC, DIT, NOC, CBO, FC, LCOM) pada masing-masing
framework dengan tool PHP Depend
Data parameter WMC, DIT, NOC, CBO, RFC, LCOM pada
masing-masing framework
Perbandingan nilai parameterMOOSE CK pada masing-masing framework
Mnghitung total nilai parameter MOOSE CK pada masing-masing framework
Menghitung rata-rata masing-masing baris Membagi masing-masing cell dengan jumlah total
sesuai dengan kolom
Hasil faktor evaluasi MOOSE CK pada
(7)
Gambar 3.2. Kerangka Berpikir II (lanjutan)
III. Pembobotan Properti Kualitas IV. Evaluasi Properti Kualitas
Perbandingan nilai skala Saathy pada properti kualitas disain software
Menjumlahkan total pada masing-masing kolom
Membagi masing-masing cell dengan jumlah total sesuai dengan kolom
Menghitung rata-rata pada setiap baris
Hasil faktor Pembobotan
Menghitung Weighted Sum Vector
Menghitung Consistency Vector
Menghitung Consistency Ratio
Menghitung Consistency Index
Menghitung Lambda
Cek
Consistency Ratio
Faktor pembobotan properti kualitas disain softwaredapat
digunakan
CR < 0.1
CR >= 0.1
Hasil faktor pembobotan MOOSE CK pd
masing-masing framework
Menghitung faktor evaluasi sesuai dengan properti kualitas disain software
Hasil kualitas dari keseluruhan framework
Menghitung final evaluasi masing-masing
software
Hasil faktor evaluasi MOOSE CK pd
masing-masing framework
Hasil faktor evaluasi properti kualitas disain
software
Hasil faktor bobot properti kualitas
disain software
Menerapkan metode yang telah dirumuskan pada sebuah studi kasus
Hasil Evaluasi Keseluruhan
(8)
vi
(9)
vii
Alloh SWT, yang telah memberikan begitu banyak nikmat dan karunianya kepada penulis. Shalawat serta salam semoga selalu tercurahkan kepada Nabi Muhammad SAW, kepada para keluarganya, para sahabatnya hingga kepada umatnya hingga Yaumil Akhir.
Rasa syukur yang teramat dalam terus penulis ucapkan dalam penyelesaian Skripsi ini. Skripsi ini penulis buat sebagai syarat kelulusan dalam menempuh pendidikan jenjang Strata-1 (S1) di Universitas Islam Negeri Syarif Hidayatullah Jakarta. Selain itu penulis berharap apa yang penulis teliti, yang dijelaskan dalam skripsi ini dapat dipergunakan dengan baik oleh semua pihak yang membutuhkan, sehingga perkembangan ilmu pengetahuan dan teknologi khususnya di Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta dapat lebih maju dan lulusannya dapat bekerja secara kooperatif dengan semua elemen informatika dari seluruh dunia. Secara khusus penulis ingin menyampaikan terima kasih kepada:
1. Bapak DR. Syopiansyah Jaya Putra, M.Sis selaku Dekan Fakultas Sains dan
Teknologi yang telah memberikan suatu komitmen, dorongan, dan program pendidikan sesuai kebutuhan mahasiswanya.
2. Bapak Yusuf Durachman, M.Sc, MIT selaku Ketua Program Studi Teknik Informatika yang telah memberikan suatu komitmen, dorongan dan program pendidikan sesuai kebutuhan mahasiswanya.
3. Bapak Husni Teja Sukmana, Ph.D selaku dosen pembimbing I yang telah memberikan dukungan baik secara moril maupun teknis.
4. Bapak Imam M Shofi, MT selaku dosen pembimbing II yang telah
memberikan dukungan baik secara moril maupun teknis.
5. Kepada Ibu Mahmudah dari Bagian Beasiswa untuk mahasiswa UIN Syarif Hidayatullah Jakarta, yang telah banyak membantu penulis dan mendukung untuk selalu semangat dalam belajar dan jangan pernah putus asa. Terimakasih juga penulis sampaikan kepada semua dosen TI/SI yang mengajarkan banyak ilmu ke penulis.
(10)
viii
Alhamdulillah. Semoga kalian selalu dalam lindungan-Nya dan senantiasa diberikan kesehatan, Amin. Terima kasih atas bimbingan kalian selama ini kepada penulis.
7. Kepada saudara-saudaraku seperjuangan, Ganis Miftahuddin (Kakak), Arief Rahmansyah (Deaman) dan Mila Robiah Amalia (Mila) yang telah memberikan dukungannya untuk penulis sehingga penulis dapat sabar dalam menyelesaikan Praktek Kerja Lapangan dan penulis laporan ini, dapat menjadi teman curhat yang baik dan menghibur. Semoga Alloh SWT membalas kebaikan kalian.
8. Kepada seseorang yang selalu berusaha menyemangati penulis dalam
menyelesaikan Skripsi ini, Herawati Am.Keb. Terimakasih atas dukungannya, semoga Alloh SWT membalas kebaikanmu dan senantiasa memberikan yang terbaik untukmu. Semoga tetap Istiqomah dan jangan pernah menyerah dengan keadaan.
9. Seluruh anggota UswahTech, semoga kalian mendapatkan apa yang dicita-citakan, Amin. Kepada seluruh teman – teman KKN 76, teman - teman Teknik Informatika kelas D angkatan 2006 dan Seluruh kawan-kawan jurusan Teknik Informatika dan Sistem Informasi angkatan 2006 UIN Syarif Hidayatullah Jakarta, tetaplah semangat menggapai cita-citamu.
Kesempurnaan hanyalah milik Alloh Ta’ala, penulis mohon maaf yang sebesar-besarnya jika adanya kekurangan dalam meyelesaikan Skripsi ini, begitu banyak kesalahan yang terjadi baik disengaja maupun tidak disengaja. Akhirnya, semoga laporan Skripsi ini bermanfaat.
Jakarta, 13 Desember 2010
(11)
ix
HALAMAN JUDUL ... . i
HALAMAN PERSETUJUAN ... . ii
HALAMAN PENGESAHAN ... iii
HALAMAN PERNYATAAN ... iv
ABSTRAK ... v
KATA PENGANTAR ... vii
DAFTAR ISI ... ix
DAFTAR GAMBAR ... xiv
DAFTAR TABEL ... .xv
DAFTAR ISTILAH ... .xx
BAB I PENDAHULUAN 1.1. Latar Belakang ... 1
1.2. Rumusan Masalah ... 3
1.3. Batasan Masalah ... 4
1.4. Tujuan dan Manfaat ... 5
1.4.1.Tujuan ... 5
1.4.2. Manfaat ... 5
1.5. Metodologi Penelitian ... 7
(12)
x
2.1.1.Weighted Methods Per Class (WMC)... 11
2.1.2. Depth of Inheritance Tree (DIT) ... 12
2.1.3. Number of Children (NOC) ... 13
2.1.4. Coupling Between Object Classes(CBO)... 13
2.1.5. Response for a Class (RFC) ... 14
2.1.6. Lack of Cohesion Method (LCOM) ... 14
2.2. Properti Kualitas Disain Software ... 15
2.2.1. Hubungan Properti Kualitas Disain Software dan Parameter MOOSE CK ... 17
2.2.2. Pengaruh Parameter MOOSE CK pada Properti Kualitas Disain Software ... 19
2.3. Analytic Hierarchy Process (AHP) ... 21
2.3.1. Prinsip-Prinsip Dasar Analytic Hierarchy Process (AHP). ... 24
2.4. Mengenal Framework PHP Yang Digunakan Dalam Penelitian .. 37
2.4.1.Framework Yii ... 38
2.4.2.Framework CodeIgniter ... 39
2.4.3.Framework CakePHP ... 40
2.4.4.Framework Symfony... 40
(13)
xi
BAB III METODOLOGI PENELITIAN PERBANDINGAN
3.1. Tahapan-Tahapan Metodologi Penelitian ... 45
3.1.1. Pendalaman Mengenai Parameter MOOSE CK, Parameter Properti Kualitas dan Metode AHP ... 46
3.1.2. Menentukan Properti Kualitas Disain Software ... 47
3.1.3. Menentukan Korelasi Antara MOOSE CK dengan Properti Kualitas Disain Software ... 48
3.1.4. Menggabungkan Metode AHP, Parameter MOOSE CK dan Parameter Properti Kualitas Disain Software ... 49
3.1.5 Menerapkan Metode yang Telah Dirumuskan pada Sebuah Studi Kasus ... 50
3.2. Kerangka Berpikir ... 52
BAB IV ANALISIS PENELITIAN 4.1. Pembobotan Parameter MOOSE CK ... 55
4.1.1.Perbandingan Nilai Skala Saaty pada Parameter MOOSE CK ... 57
4.1.2.Menjumlahkan Total pada Masing-Masing Kolom ... 58
4.1.3.Membagi Masing-Masing Cell Dengan Jumlah Total ... 59
4.1.4.Menghitung Rata-Rata Pada Setiap Baris ... 60
(14)
xii
4.1.9.Menghitung Consistency Ratio ... 63
4.2. Evaluasi Parameter MOOSE CK ... 63
4.2.1.Pengukuran Parameter MOOSE CK ... 64
4.2.2.Perbandingan Nilai Parameter MOOSE CK pada Masing Masing Software ... 66
4.2.3.Menghitung Total Nilai Parameter MOOSE CK pada Masing-Masing Software ... 69
4.2.4.Membagi Masing-Masing Cell dengan Jumlah Total ... 70
4.2.5.Menghitung Rata-Rata Pada Masing-Masing Baris ... 70
4.2.6.Menghitung DIT, NOC, CBO, RFC LCOM ... 72
4.2.6.1.Perhitungan Faktor Evaluasi DIT... 72
4.2.6.2.Perhitungan Faktor Evaluasi NOC ... 75
4.2.6.3.Perhitungan Faktor Evaluasi CBO ... 79
4.2.6.4.Perhitungan Faktor Evaluasi RFC ... 83
4.2.6.5.Perhitungan Faktor Evaluasi LCOM ... 86
4.3. Pembobotan Properti Kualitas Disain ... 90
4.3.1.Perbandingan Nilai Skala Saaty Pada Properti Kualitas Disain Software ... 92
4.3.2.Menjumlahkan Total Pada Masing-Masing Kolom ... 92
(15)
xiii
4.3.7.Menghitung Lambda ... 97
4.3.8.Menghitung Consistency Index ... 97
4.3.9.Menghitung Consistency Ratio ... 97
4.4. Evaluasi Properti Kualitas Disain ... .98
4.4.1.Menghitung Faktor Evaluasi Sesuai dengan Properti Kualitas Disain Software ... .99
4.4.2.Menghitung Final Evaluasi Masing-Masing Framework ... ...101
BAB V PENUTUP 5.1. Kesimpulan ... 112
5.2. Saran ... 113
(16)
xiv
Gambar 2.1. Pemetaan Macam-Macam Metric ... 10
Gambar 2.2. McCall’s Software Quality Factors ... 15
Gambar 2.3. Struktur Hirarki ... 25
Gambar 3.1. Metodologi Penelitian ... 45
Gambar 3.2. Kerangka Berpikir I ... 52
Gambar 3.2. Kerangka Berpikir II (lanjutan) ... 53
Gambar 4.1. Empat Tahapan Utama Metode Pengukuran Kualitas Disain Software ... 55
Gambar 4.2. Proses Pembobotan Parameter MOOSE CK ... 56
Gambar 4.3. Proses Evaluasi Parameter MOOSE CK ... 64
Gambar 4.4. Proses Pembobotan Properti Kualitas Disain Software ... 91
Gambar 4.5. Prosedur Evaluasi Properti Kualitas Disain Software ... .99
Gambar 4.6. Nilai Evaluasi Properti Kualitas Disain pada Masing-Masing Framework PHP ... 108
Gambar 4.7. Nilai Final Evaluasi Properti Kualitas Disain pada Masing- Masing Framework PHP ... 110
(17)
xv
Tabel 2.1. Pemetaan Model Kualitas Software Antara ISO 1926-1,
McCall, Bhoem ... 16
Tabel 2.2. Hubungan Properti Kualitas Software dan Parameter Metric ... 18
Tabel 2.3. Hubungan dan Pengaruh Parameter Metric ... 20
Tabel 2.4. Skala Saaty ... 30
Tabel 2.5. Perbandingan Antara Sistem 1, Sistem 2 dan Sistem 3 ... 31
Tabel 2.6. Menjumlahkan pada Masing-Masing Kolom ... 31
Tabel 2.7. Hasil Pembagian Masing-Masing Cell dengan Jumlah Total ... 32
Tabel 2.8. Faktor Evaluasi pada Parameter Hardware ... 32
Tabel 2.9. Weighted Sum Vector ... 33
Tabel 2.10. Consistency Vector ... 33
Tabel 2.11. Random Index ... 34
Tabel 2.12. Hasil Faktor Evaluasi ... 35
Tabel 2.13. Perbandingan Hardware, Software dan Vendor Support ... 35
Tabel 2.14. Jumlah Total pada Masing-Masing Kolom ... 36
Tabel 2.15. Hasil Pembagian Masing-masing Cell dengan Jumlah Total ... 36
Tabel 2.16. Hasil Rata-Rata Pada Masing-Masing Baris ... 36
Tabel 2.17. Hasil Pembobotan Parameter ... 37
Tabel 2.18. Final Evaluasi ... 37
(18)
xvi
Properti Kualitas Disain Software yang akan digunakan
dalam Penelitian ... 49
Tabel 4.1. Pemetaan Metric dengan Object Oriented Design Element... 57
Tabel 4.2. Hasil dari Perbandingan Antara Parameter ... 58
Tabel 4.3. Jumlah Total pada Masing-Masing Kolom ... 59
Tabel 4.4. Membagi Masing-Masing Cell dengan Jumlah Total ... 59
Tabel 4.5. Hasil Pembagian dari Masing-Masing Cell ... 60
Tabel 4.6. Rata-Rata pada Masing-Masing Parameter MOOSE CK Sebagai Bobot Parameter MOOSE CK... 60
Tabel 4.7. Weighted Sum Vector ... 61
Tabel 4.8. Consistency Vector ... 62
Tabel 4.9. Jumlah Class pada Masing-Masing Framework PHP ... 65
Tabel 4.10. Hasil Parameter MOOSE CK pada Masing-Masing Framework PHP ... 66
Tabel 4.11. Consistency Vector ... 67
Tabel 4.12. Perbandingan Parameter WMC pada Masing-Masing Framework PHP ... 68
Tabel 4.13. Hasil Perbandingan Parameter WMC pada Masing- Masing Framework PHP ... 68
(19)
xvii
Masing Framework PHP ... 72
Tabel 4.18. Hasil Perbandingan Parameter DIT pada Masing- Masing Framework PHP ... 73
Tabel 4.19. Jumlah Total pada Masing-Masing Framework PHP ... 73
Tabel 4.20. Membagi Cell dengan Jumlah Total ... 74
Tabel 4.21. Menghitung Rata-Rata Tiap Baris ... 74
Tabel 4.22. Perbandingan Parameter NOC pada Masing- Masing Framework PHP ... 75
Tabel 4.23. Hasil Perbandingan Parameter NOC pada Masing- Masing Framework PHP ... 76
Tabel 4.24. Jumlah Total pada Masing-Masing Framework PHP ... 77
Tabel 4.25. Membagi Cell dengan Jumlah Total ... 78
Tabel 4.26. Menghitung Rata-Rata Tiap Baris ... 78
Tabel 4.27. Perbandingan Parameter CBO pada Masing- Masing Framework PHP ... 79
Tabel 4.28. Hasil Perbandingan Parameter CBO pada Masing- Masing Framework PHP ... 80
Tabel 4.29. Jumlah Total pada Masing-Masing Framework PHP ... 80
Tabel 4.30. Membagi Cell dengan Jumlah Total ... 81
(20)
xviii
Masing Framework PHP ... 83
Tabel 4.34. Jumlah Total pada Masing-Masing Framework PHP ... 84
Tabel 4.35. Membagi Cell dengan Jumlah Total ... 85
Tabel 4.36. Menghitung Rata-Rata Tiap Baris ... 85
Tabel 4.37. Perbandingan Parameter LCOM pada Masing- Masing Framework PHP ... 86
Tabel 4.38. Hasil Perbandingan Parameter LCOM pada Masing- Masing Framework PHP ... 87
Tabel 4.39. Jumlah Total pada Masing-Masing Framework PHP ... 88
Tabel 4.40. Membagi Cell dengan Jumlah Total ... 88
Tabel 4.41. Menghitung Rata-Rata Tiap Baris ... 89
Tabel 4.42. Nilai Parameter MOOSE pada Masing-Masing Framework PHP ... 90
Tabel 4.43. Perbandingan Properti Kualitas Disain Software ... 92
Tabel 4.44. Penjumlahan Total pada Masing-Masing Kolom ... 93
Tabel 4.45. Pembagian Masing-Masing Cell dengan Jumlah Total ... 93
Tabel 4.46. Hasil Pembagian Masing-Masing Cell dengan Jumlah Total ... 94
Tabel 4.47. Perhitungan Rata-Rata Properti Kualitas Disain ... 94
Tabel 4.48. Hasil Perhitungan Bobot Properti Kualitas Disain ... 95
(21)
xix
Tabel 4.52. Final Evaluasi ... 101
Tabel 4.53. Perhitungan Faktor Evaluasi pada Properti Kualitas
Disain Framework Yii ... 102
Tabel 4.54. Perhitungan Faktor Evaluasi pada Properti Kualitas
Disain Framework CodeIgniter ... 103
Tabel 4.55. Perhitungan Faktor Evaluasi pada Properti Kualitas
Disain Framework CakePHP ... 104
Tabel 4.56. Perhitungan Faktor Evaluasi pada Properti Kualitas
Disain Framework Symfony ... 105
Tabel 4.57. Perhitungan Faktor Evaluasi pada Properti Kualitas
Disain Framework Zend ... 106
Tabel 4.58. Nilai Evaluasi Properti Kualitas Disain pada
Masing-Masing Framework PHP ... 107
Tabel 4.59. Hasil Perhitungan Final Evaluasi ... 109
Tabel 4.60. Hasil Final Evaluasi Properti Kualitas Disain pada
(22)
xx
untuk mengambil sebuah tujuan terbaik dengan melibatkan banyak faktor
dan juga kriteria, yang mengacu pada nilai konsistensi.
2. Consistency Index : Menghitung nilai konsistensi yang ada kemudian
dibandingan dengan rasio index panduan.
3. Consistency Ratio : Membagi nilai consistency index dengan tabel random
Index panduan.
4. Consistency Vector : Menghitung konsistensi nilai dari hasil perhitungan
weighted sum vector.
5. Framework : Merupakan kerangka kerja yang terdiri dari kumpulan class
fungsi-fungsi yang dapat digunakan kembali untuk keperluan sistem atau
sub sistem lainnya.
6. Hardware : Perangkat keras merupakan slah satu elemen dari sistem
komputer, suatu alat yang bisa diraba oleh manusia secara langsung, yang
mendukung proses komputerisasi.
7. MOOSE CK : Metric For Object Oriented Software
Engineering-Chidamber Kemerer, salah satu parameter yang digunakan untuk mengukur metric sebuah aplikasi dilihat dari aspek orientasi kualitas
(23)
xxi
9. Object Oriented Programming : Merupakan paradigma dalam membuat
program dengan menggunakan objek data yang di dalamnya terdiri dari
metode dan fungsi yang saling berinteraksi untuk membuat disain aplikasi
atau program.
10. PHP Depend : Tool yang digunakan untuk menghitung nilai MOOSE CK
pada masing-masing farmework PHP.
11. Properti Kualitas Disain : Parameter untuk menghitung kualitas sebuah
disain software berdasarkan aspek object oriented design model.
12. Software : Perngkat lunak adalah istilah umum untuk data yang diformat
dan disimpan secara digital, termasuk program komputer, dokumentasinya
dan berbagai informasi yang bisa dibaca dan ditulis oleh komputer, dengan
kata lain bagian dari sistem komputer yang tidak berwujud.
13. Software Metric : Ukuran beberapa buah properti spesifikasi dari bagian
software/aplikasi tersebut.
14. web : Sekumpulan sistem yang saling terkait dengan dokumen yang
memiliki tautan yang dapat diakses dengan internet melalui web browser.
15. Weighted Sum Vector : Merupakan nilai rata-rata dari tiap baris
(24)
BAB I PENDAHULUAN
1.1. Latar Belakang
Keberadaan teknologi informasi saat ini memegang peranan yang
sangat signifikan, apalagi untuk perusahaan-perusahaan berskala
menengah keatas. Tidak dapat dipungkiri, hal tersebut terjadi karena
dengan teknologi informasi ini akan dapat menunjang dan menaikkan
income perusahaan, sehingga setiap perusahaan mencoba untuk menerapkan teknologi informasi di dalamnya. Sebagai contohnya adalah
website e-commerce perusahaan ataupun aplikasi-aplikasi untuk menunjang kegiatan perusahaannya, seperti aplikasi akunting.
Pemilihan aplikasi yang sesuai dengan kebutuhan untuk menjawab
permasalahan yang ada, menjadi hal yang harus sangat diperhatikan.
Karena hal ini dapat menyebabkan baik buruknya suatu kinerja dari
perusahaan yang bersangkutan dalam menjalankan bisnisnya. Akan terasa
lebih rumit lagi jika aplikasi yang ditawarkan sangatlah beragam
macamnya.
Dalam penelitian tugas akhir ini, penulis mencoba untuk
menggunakan metode yang ada untuk diterapkan dalam dunia informatika
dalam hal pemilihan software framework yang terbaik. Namun tentu saja
metode ini tidak terbatas pada dunia teknologi informasi, tapi juga dalam
(25)
perbandingan kelayakan jalan beton dan aspal atau juga dapat dijadikan
sebagai alat bantu pengambilan keputusan pemilihan calon tenaga kerja.
Dalam penelitian tugas akhir ini penulis mencoba untuk
membandingkan kualitas disain software pada framework PHP. Alasan
mengapa penulis meneliti kualitas disain software, karena disain sebuah
aplikasi software sangat mempengaruhi kinerja/performa dari sebuah
software tersebut, baik itu aplikasi dektop maupun aplikasi web.
Beberapa riset terdahulu telah menghasilkan alat ukur kualitas
software yang diwujudkan dalam beberapa parameter-parameter seperti
MOOD, MOOD2 (Metric for Object Oriented Design) dan MOOSE
(Metric for Object Oriented Software Engineering). Parameter ukuran kualitas software ini biasa disebut dengan Object Oriented Metric (OO
Metric).
Dalam penerapan OO Metric, kualitas software diinterpretasikan
dalam parameter-parameter yang sesuai dengan OO Metric yang
digunakan. Tetapi nilai-nilai dari parameter tersebut belum cukup untuk
menentukan kualitas software mana yang lebih baik dari software yang
lain, sehingga diperlukan metode untuk mengkombinasikan keseluruhan
nilai tersebut menjadi sebuah nilai yang menginterpretasikan kualitas
software relatif terhadap software yang lain dalam domain aplikasi/fungsi yang sama.
(26)
Pada penelitian ini penulis mencoba untuk mengambil 5 contoh
framework PHP yang paling banyak diminati oleh programmer web
menurut versi phpframeworks.com.
Kelima framework tersebut akan diukur dan dibuat peringkat
berdasarkan penilaian secara objektif dari hasil nilai kuantitatif MOOSE
CK (Metric for Object Oriented Software Engineering, Chidamber,
Kemerer), properti kualitas dan diolah menggunakan metode Analytic Hierarcy Process (AHP).
1.2. Rumusan Masalah
1. Dapatkah sebuah framework PHP memberikan kontribusi yang
baik dalam pemrograman, khususnya aplikasi web?
2. Apakah dari sudut pandang kualitas disain model mempengaruhi
kualitas sebuah framework PHP?
3. Mengapa dibutuhkan pengukuran kualitas disain model sebuah
framework PHP?
4. Bagaimana cara mengukur kualitas disain model sebuah
framework PHP?
5. Framework PHP manakah yang paling baik berdasarkan kualitas
(27)
1.3. Batasan Masalah
Berdasarkan penjelasan dari latar belakang diatas, penggunaan OO
Metric saja tidak cukup untuk menentukan kualitas suatu software dengan software yang lainnya. Sehingga diperlukan metode umum tambahan yang dapat menggabungkan parameter-parameter yang dihasilkan OO metric
untuk diolah sehingga memberikan sebuah nilai kualitas software yang
bersangkutan. Sehingga metode ini juga dapat dipakai oleh orang yang
ingin mengevaluasi software lainnya, namun disarankan dengan domain
yang sama. Setelah didapatkan nilai kualitasnya maka akan dapat dibuat
peringkat software mana yang memiliki nilai kualitas terbaik.
Banyak faktor yang dapat mempengaruhi hasil dari penelitian ini,
seperti jenis OO Metric, tool yang digunakan, jenis aplikasi yang
dievaluasi dan masih banyak faktor lain yang mempengaruhinya. Oleh
karena itu ruang lingkup penelitian ini adalah sebagai berikut:
1. Studi kasus akan menggunakan aplikasi framework PHP yang
sudah cukup dikenal dan banyak diminati oleh para programmer
web versi www.phpframeworks.com. Hal ini karena framework
PHP telah menerapkan konsep Object Oriented Programming,
seperti kita tahu bahwa membuat suatu koding pada saat sekarang
bukanlah seperti spaghety code lagi. Sehingga muncul kemudahan
dalam membangun aplikasi web dengan framework yang telah
(28)
disain kualitas antara aplikasi web masih tergolong sangat jarang
jika dibandingkan dengan aplikasi desktop.
2. Pengukuran kualitas disain software menggunakan parameter
MOOSE CK dan tool PHP Depend. Pada saat ini telah banyak OO
Metric seperti MOOD, MOOD2 dan lain-lainnya. MOOSE CK sengaja dipilih karena dari penelitian sebelumnya telah
menghasilkan pemetaan antara MOOSE CK dan properti kualitas.
PHP Depend dipilih karena parameter yang dimilikinya sebagian besar sama dengan parameter MOOSE CK.
1.4. Tujuan dan Manfaat 1.4.1. Tujuan
Tujuan dari membandingkan kualitas kelima framework
tersebut adalah untuk mengetahui kualitas disain software dari
kelima framework, manakah yang paling baik. Sehingga akan
dapat memberikan rekomendasi kepada programmer web dalam
membangun aplikasi web menggunakan framework PHP.
1.4.2. Manfaat
Dari penelitian tugas akhir ini diharapkan memberikan nilai
(29)
Bagi Sivitas Akademik Fakultas Sains dan Teknologi :
1. Dapat memberi rekomendasi manakah framework yang
paling baik digunakan, khsusunya dalam membangun
aplikasi web.
2. Metode yang penulis pakai dapat dipergunakan untuk
menganalisis kembali software yang diiginkan dan tentunya
yang memiliki domain atau fugsi yang sama.
3. Dapat menjadi referensi dalam pembelajaran untuk mengukur
kualitas disain software yang lainnya, baik itu aplikasi
desktop maupun aplikasi web.
Bagi Penulis :
1. Menerapkan ilmu-ilmu yang diperoleh selama kuliah.
2. Membandingkan teori dan pendapat yang ada dengan
keadaan sebenarnya.
3. Mengetahui ketiga framework PHP mana yang terbaik dalam
hal kualitas disainnya.
Bagi Mahasiswa :
1. Dapat dijadikan referensi untuk menggali informasi
mengenai framework PHP yang terbaik, khususnya dalam
(30)
2. Memberikan pengetahuan umum mengenai framework PHP
secara lebih rinci.
1.5. Metodologi Penelitian
Dalam pembuatan laporan tugas akhir ini, penulis menggunakan metode penelitian kepustakaan (Library Research). Metode penelitian ini
dengan menggunakan buku-buku, jurnal atau paper yang berhubungan
dengan permasalahan yang akan dibahas dalam penulisan laporan tugas
akhir ini. Selain itu penulis juga menggunakan sarana internet untuk
mendapatkan informasi mengenai topik tugas akhir seperti artikel yang
berhubungan dengan topik, milis (mailing list) pemrograman web,
forum-forum diskusi, maupun chatting dengan praktisi pemrograman web yang
bersangkutan.
1.6. Sistematika Penulisan
Sistematika Penulisan laporan ini adalah sebagai berikut :
BAB I : PENDAHULUAN
Bab ini adalah bab pendahuluan. Pada bab ini, Penulis
menerangkan latar belakang pemilihan judul tugas akhir penelitian,
rumusan dan batasan masalah, tujuan dan manfaat penelitian, metodologi
(31)
BAB II : LANDASAN TEORI
Bab ini merupakan penjelasan MOOSE Chidamber Kemerer
(MOOSE CK), properti kualitas disain software seperti efficiency,
understandability, reusability, testability, maintainability akan dibahas dengan melihat hubungan antara parameter-parameter MOOSE CK dan
properti kualitas disain software. Penjelasan metode Analytic Hierarchy
Process disertai dengan menggunakan contoh.
BAB III : METODOLOGI PENELITIAN
Bab ini berisi metodologi penelitian yang digunakan dalam
penelitian ini.
BAB IV : ANALISIS PENELITIAN
Bab ini berisi hasil penelitian framework PHP dengan kombinasi
parameter MOOSE CK, parameter properti kualitas disain software dan
metode Analytic Hierarchy Process (AHP). Dalam bab ini juga dibuat
diagram alur dari beberapa tahapan pengukuran kualitas disain software.
BAB V : PENUTUP
Bab ini berisi kesimpulan dari penelitian yang telah dilakukan dan
(32)
BAB II
LANDASAN TEORI
Dalam perkembangannya, aplikasi web tidak jauh berbeda dengan aplikasi
desktop. Kedua-duanya mempunyai peran yang sangat penting dan memiliki keunggulan tersendiri. Kedua aplikasi tersebut sama-sama berkembang dengan
pemrograman yang lebih cenderung kearah berorientai objek. Dalam penelitian ini
penulis mencoba untuk mengukur kualitas sebuah software aplikasi web, dalam
hal ini adalah framework PHP. Penelitian ini dilakukan untuk menentukan
kualitas disain software terbaik dari kelima framework yang banyak digunakan
oleh programmer web menurut versi www.phpframeworks.com. Kenapa penulis
memilih framework PHP? Karena pada framework PHP telah ada sifat Object
Oriented Programming dalam membuat suatu aplikasi website. Jika berbicara mengenai Object Oriented Programming maka juga berbicara mengenai kualitas
disain suatu software, hal tersebut adalah yang akan diperbandingkan untuk
mendapatkan kualitas framework terbaik.
Kualitas disain sebuah software sangatlah penting untuk dapat selalu
diukur, dengan demikian maka setiap pengembang akan dapat mengetahui sejauh
mana kualitas software-nya dapat berjalan dengan baik. Sehingga apabila
ditemukan sebuah permasalahan akan dapat dengan cepat ditangani. Nilai dari
pengukuran kualitas sebuah software dinamakan metric. Menurut The IEEE
Standard Glossary (dalam Software Engineering, 1992) mendefinisikan metric sebagai berikut, “metric as a quantitative measure of the degree to which a
(33)
system, component, or process possesses a given attribute”. Penelitian tugas akhir ini berdasarkan nilai metric untuk mengukur kualitas disain sebuah software.
Gambar 2.1. Pemetaan Macam-macam Metric
(Sumber: Global Journal of Computer Science and Technology: A Survey-Object Oriented Quality Metrics)
Menurut Efano Hermawan (2007: 7), “telah banyak penelitian yang dilakukan untuk memformulasikan seperangkat parameter yang dapat digunakan
untuk mengukur kualitas disain software berorientasi objek. Masing-masing
kelompok peneliti menghasilkan seperangkat parameter. Parameter yang sama
dihasilkan oleh peneliti meskipun dengan nama atau istilah yang berbeda,
sebagian lain merupakan parameter unik yang dihasilkan oleh kelompok tersebut.
Seperangkat parameter tersebut biasa disebut dengan Object Oriented
Metric (OO Metric). Beberapa penelitian tersebut menghasilkan beberapa kriteria kualitas software yang berbeda-beda, tergantung darimana peneliti itu melihatnya.
METRICS
Project Based Metric Design Based Metric
Resources Product
Proce Traditional Object Oriented
…Etc CP
SLOC
(34)
Sebagian penelitian yang lain berusaha menghubungkan antara OO Metric dan
properti kualitas”.
Bab ini akan menguraikan seperangkat parameter OO Metric menurut
Chidamber, Kemerer, properti kualitas dan metode Analytic Hierarchy Process
(AHP). AHP merupakan metode pemilihan beberapa objek berdasarkan
kriteria-kriteria yang ada pada objek yang dibandingkan. AHP akan dijelaskan lebih rinci
setelah penjelasan mengenai Parameter OO Metric menurut Chidamber, Kemerer
dan properti kualitas disain software.
2.1. METRICS FOR OBJECT ORIENTED SOFTWARE ENGINEERING
CHIDAMBER, KEMERER (MOOSE CK)
MOOSE CK merupakan salah satu metric yang dipergunakan
untuk mengukur kualitas disain sebuah software berdasarkan enam
parameter dengan melihat pada perspektif Object Oriented Design
2.1.1 Weighted Methods Per Class (WMC)
WMC berhubungan secara langsung terhadap kompleksitas
dari sebuah objek, karena metode adalah properti dari sebuah objek
dan kompleksitas sebuah objek ditentukan oleh properti.
WMC=
n
i
Ci 1
(35)
Jumlah metode dan kompleksitas dari metode merupakan
salah satu indikator berapa lama waktu dan usaha yang dibutuhkan
untuk membangun dan memelihara objek. Objek dengan jumlah
metode yang lebih banyak dapat membatasi kemungkinan objek
tersebut untuk digunakan kembali (reuse).
Nilai WMC yang tinggi mempunyai kecenderungan
kegagalan software. Menurut www.aivosto.com toleransi nilai
WMC adalah antara 20-50 dalam sebuah class, atau maksimum
10% dari jumlah metode dalam sebuah class. Penelitian yang lain
menurut Basili, dengan sampel 30 proyek C++, menunjukkan
semakin tinggi nilai WMC akan meningkatkan bugs dan
menurunkan kualitas.
Namun penelitian tersebut juga tidak menyebutkan berapa
optimum range yang dapat digunakan. Pada penelitian yang sama mengatakan bahwa nilai yang tinggi untuk proyek VB terlihat
diperbolehkan.
2.1.2 Depth of Inheritance Tree (DIT)
Kedalaman dari sebuah class dalam inheritance hirarki
dimana angka maksimum dimulai dari class leaf dan menurun pada
class root pada sebuah hirarki. Sehingga hirarki yang dalam akan menyebabkan tingginya kompleksitas dari disain karena makin
(36)
Rekomendasi www.aivosto.com nilai DIT adalah 5 atau
kurang. Dokumentasi Visual Studio.Net menyebutkan nilai DIT ≤ 5. Beberapa sumber lainmengijinkan nilai DIT sampai dengan 8.
2.1.3 Number of Children (NOC)
NOC adalah jumlah subclass dalam sebuah class hierarchy.
NOC merupakan indikator besarnya pengaruh sebuah class
terhadap disain sistem secara keseluruhan. Semakin besar nilai
NOC, semakin besar pula potensi ketidakcocokan sub class dengan
abstraksi pada parent class.
Hal ini dapat mengakibatkan kesalahan penggunaan sub
class seperti ketika menggunakan salah satu sub class dari sekian banyak sub class yang lain dalam salah satu program.
2.1.4 Coupling Between Object Classes (CBO)
CBO menghitung class yang berhubungan dengan class
yang lain. Hal ini dihitung terhadap non-inheritance class.
Sehingga semakin sedikit class yang berhubungan maka
mengindikasikan class yang baik. Karena meningkatkan
modularity dan reuse.
Semakin banyak class yang tidak tergantung satu sama lain
akan lebih baik untuk digunakan dalam aplikasi yang lain. Hal ini
(37)
Berapa nilai maksimum yang diijinkan? CBO > 14 terlalu tinggi
menurut Houari A Sahraoui.
2.1.5 Response for a Class (RFC)
RFC adalah jumlah semua metode yang dipanggil sebagai
respon terhadap diluar objek dari sebuah class. RFC juga
mengukur komunikasi antara objek. Hal ini berlaku terhadap
semua metode yang diakses dalam class hirarki. Sehingga semakin
banyak metode yang digunakan untuk merespon objek dari luar
semakin kompleks dan meningkatkan waktu tes.
2.1.6 Lack of Cohesion Method (LCOM)
LCOM mengukur ketidaksamaan metode dalam sebuah
class dari instance variabel atau atribut. Dengan tingginya kohesi berarti mengindikasikan semakin baik class tersebut.
Sehingga lebih sederhana dan memiliki sifat reusability
yang tinggi. Sedangkan semakin rendah kohesi atau lack of
cohesion maka semakin kompleks class tersebut.
Semua parameter MOOSE CK tersebut digunakan sebagai
tolak ukur dalam perbandingan framework PHP yang akan
dilakukan. Parameter-parameter tersebut akan digabungkan dengan
parameter properti kualitas, mengenai properti kualitas lebih
(38)
2.2. PROPERTI KUALITAS DISAIN SOFTWARE
Beberapa penelitian telah menghasilkan model kualitas software
dan perspektif yang berbeda-beda, McCall melihat dari tiga perspektif
yaitu product revision, product transition dan product operations. Dari
masing-masing perspektif dikembangkan menjadi beberapa faktor kualitas
software yaitu maintainability, flexibillity, testability, portability, reusability, interoperability, correctness, reliability, efficiency, integrity, usability. Sehingga total memiliki 11 faktor kualitas software.
Gambar 2.2. McCall’s Software Quality Factors (Sumber: Roger S Pressman, Software Engineering, hal.463)
Menurut BW. Boehm, et al (dalam Jurnal MTI UI Volume 5, No.1,
2007). BW. Boehm memiliki tujuh faktor kualitas portability, reliability,
efficiency, usability, testability, understandability, flexibility.
ISO juga mengeluarkan model kualitas software yang dituangkan
dalam ISO1926-1 dan memiliki 6 karakteristik kualitas software
functionality, reliability, usability, efficiency, maintainability, portability yang masing-masing dipecah dalam beberapa subkarakteristik.
PRODUCT TRANSITION PRODUCT REVISION
PRODUCT OPERATION
Maintainability Flexibility Testability
Portability Reusability Interoperability
(39)
Tabel 2.1. Pemetaan Model Kualitas Software Antara ISO 1926-1, McCall, Boehm
ISO 1926-1 McCall Boehm
Functionality
Suitability
Accurateness Correctness
Interoperability Interoperability
Compliance
Security Integrity
Reliability Reliability Reliability
Maturity
Fault Tolerance
Recoverability
Usability Usability Usability
Understandability Understandability
Learnability
Operability
Efficiency Efficiency Efficiency
Time Behaviour
Resource Behaviour
Maintainability Maintainability
Analyzability
Changeability
Stability
Testability Testability Testability
Portability Portability Portability
Adaptability Flexibility Flexibility
Installability
Conformance
Replaceability Reusability
(Sumber: Tesis MTI UI Volume 5, No.1, 2007)
Melihat tabel 2.1 hampir semua struktur ISO1926-1 mirip dengan
McCall (1977) dan Boehm (1978). Hal ini disebabkan karena fungsi dari
karakteristik kualitas software yang berbeda-beda. Beberapa karakteristik
kualitas memiliki nama yang berbeda meskipun artinya sama.
(40)
fungsionalitas software apakah telah sesuai dengan kebutuhan
(requirement) software.
Namun apabila dihubungkan dengan kualitas disain software pada
aspek orientasi objek dan disesuaikan dengan OO Metric maka hanya
beberapa karakteristik atau properti kualitas yang dapat dievaluasi untuk
mengukur kualitas kode dan disain yaitu efficiency, complexity,
understandability, reusability, maintainability/testability.
1. Efficiency : Apakah disain dan implementasi software telah
dilakukan dengan efisien?
2. Complexity : Dapatkah implementasi software digunakan lebih
efektif sehingga menurunkan tingkat kompleksitas?
3. Understandability : Apakah disain software lebih mudah
dimengerti?
4. Reusability : Apakah kualitas disain software mendukung
penggunaan kembali (reuse)?
5. Maintainability/Testability : Apakah disain software mendukung
untuk kemudahan testing dan perubahan?
2.2.1. Hubungan Properti Kualitas Disain Software dan Parameter MOOSE CK
Berdasarkan properti kualitas yang telah dipilih, Linda H
Rosenberg dan Lawrence E Hyaat telah memetakan dengan
(41)
Complexity (CC). CC adalah salah satu metric yang dihasilkan oleh Thomas J. McCabe dan Charles W. Butler. Metric ini membahas
mengenai struktur logika yaitu jumlah pernyataan keputusan
ditambah dengan 1. Contoh sebagai berikut IF A=B AND C=D
THEN, logika IF mempunyai nilai 1 ditambah dengan 1, sehingga
pada logika ini nilai CC=2.
Masing-masing parameter dalam metric memiliki
kontribusi yang berbeda pada properti kualitas disain software.
Pada tabel 2.2 adalah hasil pemetaan menurut Linda H Rosenberg
dan Lawrence E Hyaat.
Tabel 2.2. Hubungan Properti Kualitas Software dan Parameter Metric
Properti Kualitas
Software
Parameter Metric
Efficiency LCOM, CBO, DIT, NOC
Complexity CC (Traditional Metric)
Understandability WMC, RFC, DIT
Reusability WMC, LCOM, CBO, DIT, NOC
Maintainability/Testability WMC, RFC, DIT, NOC
(Sumber: Buku Linda H Rosenberg, Software Quality Metrics for Object Oriented Environments, 2003)
Pada tabel 2.2 diatas tampak bahwa penelitian Linda H
Rosenberg dan Lawrence E Hyaat pada tahun 2003, menunjukkan
(42)
tapi menggunakan Cyclomatic Complexity (CC). Pada riset yang
lain pada tahun 1993 terutama properti maintainability/testability
menggunakan parameter yang hampir sama, DIT, NOC, RFC,
LCOM, WMC, DAC, NOM, SIZE1, SIZE2, MPC. Sedangkan
menurut Magiel Bruntink dan Arie Van Deursen (dalam Jurnal
MTI UI, 2007: 13), DIT, LCOM, NOC, RFC, WMC, FOUT,
LOCC, NOF, NOM, Parameter-parameter yang dicetak tebal tidak termasuk MOOSE CK.
2.2.2. Pengaruh Parameter MOOSE CK pada Properti Kualitas Disain Software
Penelitian Linda H Rosenberg dan Lawrence E Hyatt
mengenai hubungan dan pengaruh antara parameter-parameter OO
Metric dan properti kualitas disain software menunjukkan bahwa nilai parameter MOOSE CK berbanding terbalik dengan kualitas
(43)
Tabel 2.3. Hubungan dan pengaruh parameter metric
Metric Objective
Testing Efforts
Understand-ability
Maintain- ability
Develop Effort
reuse
Complexity ↓ ↓ ↑ ↑
Size (LOC) ↓ ↓ ↑ ↑
Comment % ↑ ↓ ↑ ↓
WMC ↓ ↑ ↓ ↑
RFC ↓ ↓ ↑ ↑
LCOM ↓ ↑ ↑ ↓ ↑
CBO ↓ ↓ ↑ ↑ ↑
(Sumber: Buku Linda H Rosenberg, Applying and Interpreting Object Oriented Metrics, 1998)
Tampak pada tabel 2.3 Linda H Rosenberg dan Lawrence E
Hyaat pada tahun 1998 tidak hanya menggunakan OO metric tetapi
juga menggabungkan dengan traditional metric yaitu LOC dan
komentar (Comment). Tidak hanya itu, properti kualitas yang
digunakan hampir sama dengan penelitian selanjutnya pada tahun
2003 yaitu properti understandability, maintainability dan reuse,
sedangkan properti yang lain berbeda.
Meskipun terdapat beberapa perbedaan penelitian Linda H
Rosenberg pada tahun yang berbeda namun kedua penelitian
tersebut menegaskan bahwa MOOSE CK memiliki nilai yang
(44)
2.3. ANALYTIC HIERARCHY PROCESS (AHP)
Metode Analytic Hierarchy Process (AHP) dikembangkan oleh
Thomas L. Saaty pada tahun 70-an ketika di Warston School. Metode AHP merupakan salah satu metode yang dapat digunakan dalam sistem
pengambilan keputusan dengan memperhatikan faktor-faktor persepsi,
preferensi, pengalaman dan intuisi. AHP menggabungkan
penilaian-penilaian dan nilai-nilai pribadi ke dalam satu cara yang logis.
Analytic Hierarchy Process (AHP) dapat menyelesaikan masalah multikriteria yang kompleks menjadi suatu hirarki. Masalah yang
kompleks dapat diartikan bahwa kriteria dari suatu masalah yang begitu
banyak (multikriteria), struktur masalah yang belum jelas, ketidakpastian
pendapat dari pengambil keputusan, pengambil keputusan lebih dari satu
orang, serta ketidakakuratan data yang tersedia. Menurut Saaty, hirarki
didefinisikan sebagai suatu representasi dari sebuah permasalahan yang
kompleks dalam suatu struktur multi level dimana level pertama adalah
tujuan, yang diikuti level faktor, kriteria, sub kriteria, dan seterusnya ke
bawah hingga level terakhir dari alternatif. Dengan hirarki, suatu masalah
yang kompleks dapat diuraikan ke dalam kelompok-kelompoknya yang
kemudian diatur menjadi suatu bentuk hirarki sehingga permasalahan akan
tampak lebih terstruktur dan sistematis.
Metode ini adalah sebuah kerangka untuk mengambil keputusan
dengan efektif atas persoalan dengan menyederhanakan dan mempercepat
(45)
kedalam bagian-bagiannya, menata bagian atau variabel ini dalam suatu
susunan hirarki, memberi nilai numerik pada pertimbangan subjektif
tentang pentingnya tiap variabel dan mensintesis berbagai pertimbangan
ini untuk menetapkan variabel yang mana yang memiliki prioritas paling
tinggi dan bertindak untuk mempengaruhi hasil pada situasi tersebut.
Metode ini juga menggabungkan kekuatan dari perasaan dan logika yang
bersangkutan pada berbagai persoalan, lalu mensintesis berbagai
pertimbangan yang beragam menjadi hasil yang cocok dengan perkiraan
kita secara intuitif sebagaimana yang dipersentasikan pada pertimbangan
yang telah dibuat.
Analytic Hierarchy Process (AHP) mempunyai landasan aksiomatik yang terdiri dari :
1. Reciprocal Comparison, yang mengandung arti si pengambil keputusan
harus bisa membuat perbandingan dan menyatakan preferensinya.
Preferensinya itu sendiri harus memenuhi syarat resiprokal yaitu kalau
A lebih disukai dari B dengan skala x, maka B lebih disukai dari A
dengan skala 1:x.
2. Homogenity, yang mengandung arti preferensi seseorang harus dapat
dinyatakan dalam skala terbatas atau dengan kata lain
elemen-elemennya dapat dibandingkan satu sama lain. Kalau aksioma ini tidak
dapat dipenuhi maka elemen-elemen yang dibandingkan tersebut tidak
homogenous dan harus dibentuk suatu cluster (kelompok
(46)
3. Independence, yang berarti preferensi dinyatakan dengan
mengasumsikan bahwa kriteria tidak dipengaruhi oleh
alternatif-alternatif yang ada melainkan oleh objektif secara keseluruhan. Ini
menunjukkan bahwa pola ketergantungan atau pengaruh dalam model
AHP adalah searah keatas, artinya perbandingan antara elemen-elemen
dalam satu level dipengaruhi atau tergantung oleh elemen-elemen
dalam level di atasnya.
4. Expectations, artinya untuk tujuan pengambilan keputusan, struktur
hirarki diasumsikan lengkap. Apabila asumsi ini tidak dipenuhi maka
si pengambil keputusan tidak memakai seluruh kriteria dan atau
objektif yang tersedia atau diperlukan sehingga keputusan yang
diambil dianggap tidak lengkap.
Tahapan-tahapan pengambilan keputusan dalam metode AHP pada
dasarnya adalah sebagai berikut :
1. Mendefenisikan masalah dan menentukan solusi yang diinginkan
2. Membuat struktur hirarki yang diawali dengan tujuan umum,
dilanjutkan dengan kriteria-kriteria dan alternatif - alternatif pilihan
yang ingin di rangking.
3. Membentuk matriks perbandingan berpasangan yang menggambarkan
kontribusi relatif atau pengaruh setiap elemen terhadap masing-masing
tujuan atau kriteria yang setingkat diatas. Perbandingan dilakukan
(47)
menilai tingkat-tingkat kepentingan suatu elemen dibandingkan
elemen lainnya.
4. Menormalkan data yaitu dengan membagi nilai dari setiap elemen di
dalam matriks yang berpasangan dengan nilai total dari setiap kolom.
5. Menghitung nilai eigen vector dan menguji konsistensinya, jika tidak
konsisten maka pengambilan data (preferensi) perlu diulangi. Nilai
eigen vector yang dimaksud adalah nilai eigen vector maksimum yang diperoleh dengan menggunakan matlab maupun dengan manual.
6. Mengulangi langkah, 3, 4, dan 5 untuk seluruh tingkat hirarki.
7. Menghitung eigen vector dari setiap matriks perbandingan
berpasangan. Nilai eigen vector merupakan bobot setiap elemen.
Langkah ini untuk mensintetis pilihan dalam penentuan prioritas
elemen pada tingkat hirarki terendah sampai pencapaian tujuan.
8. Menguji konsistensi hirarki. Jika tidak memenuhi dengan CR < 0,100
maka penilaian harus diulangi kembali.
2.3.1. Prinsip-Prinsip Dasar Analytic Hierarcy Process (AHP)
Dalam menyelesaikan persoalan dengan metode AHP ada beberapa
(48)
1. Decomposition
Pengertian decomposition adalah memecahkan atau membagi
problema yang unsurnya ke bentuk hirarki proses pengambilan utuh
menjadi unsur keputusan, dimana setiap unsur atau elemen saling
berhubungan. Untuk mendapatkan hasil yang akurat, pemecahan dilakukan
terhadap unsur-unsur sampai tidak mungkin dilakukan pemecahan lebih
lanjut, sehingga didapatkan beberapa tingkatan dari persoalan yang hendak
dipecahkan. Struktur hirarki keputusan tersebut dapat dikategorikan
sebagai complete dan incomplete. Suatu hirarki keputusan disebut
complete jika semua elemen pada suatu tingkat memiliki hubungan terhadap semua elemen yang ada pada tingkat berikutnya, sementara
hirarki keputusan incomplete kebalikan dari hirarki complete.
Bentuk struktur dekomposisi yakni :
Tingkat pertama : Tujuan keputusan (Goal)
Tingkat kedua : Kriteria-kriteria
Tingkat ketiga : Alternatif-alternatif
Gambar 2.3. Struktur Hirarki
(Sumber: Jurnal Umum Universitas Sumatera Utara)
Tujuan
Kriteria 1
Alternatif 2 Alternatif 1
Kriteria 2 Kriteria 3 Kriteria 4
(49)
Hirarki masalah disusun untuk membantu proses pengambilan
keputusan dengan memperhatikan seluruh elemen keputusan yang terlibat
dalam sistem. Sebagian besar masalah menjadi sulit untuk diselesaikan
karena proses pemecahannya dilakukan tanpa memandang masalah
sebagai suatu sistem dengan suatu struktur tertentu.
2. Comparative Judgement
Comparative judgement dilakukan dengan penilaian tentang kepentingan relatif dua elemen pada suatu tingkat tertentu dalam kaitannya
dengan tingkatan diatasnya. Penilaian ini merupakan inti dari AHP karena
akan berpengaruh terhadap urutan prioritas dari elemen elemennya. Hasil
dari penilaian ini lebih mudah disajikan dalam bentuk matriks pairwise
comparisons yaitu matriks perbandingan berpasangan memuat tingkat preferensi beberapa alternatif untuk tiap kriteria. Skala preferensi yang
digunakan yaitu skala 1 yang menunjukkan tingkat yang paling rendah
(equal importance) sampai dengan skala 9 yang menujukkan tingkatan paling tinggi (extreme importance).
3. Synthesis of Priority
Synthesis of priority dilakukan dengan menggunakan eigen vector method untuk mendapatkan bobot relatif bagi unsur unsur pengambilan keputusan.
4. Logical Consistency
Logical consistency merupakan karakteristik penting AHP. Hal ini dicapai dengan mengagresikan seluruh eigen vector yang diperoleh dari
(50)
berbagai tingkatan hirarki dan selanjutnya diperoleh suatu vektor
composite tertimbang yang menghasilkan urutan pengambilan keputusan. Akan timbul banyak masalah dalam membuat keputusan
melibatkan sejumlah faktor. Sebagai contoh ketika perusahaan
mendapatkan penawaran implementasi sistem informasi dari beberapa
vendor. Tentu saja pemilihan sistem informasi tidak berdasarkan sistem mana yang lebih murah. Ada beberapa faktor yang harus dipertimbangkan
seperti beberapa dukungan hardware, stabilitas software, layanan vendor,
harga dan lain sebagainya.
Pemilihan akan menjadi semakin sulit karena masing-masing
vendor memiliki keunggulan yang berbeda-beda. Seperti vendor A menawarkan harga murah tetapi hardware kurang kompatibel dan layanan
vendor kurang baik, sedangkan vendor B harga lebih mahal, namun hardware lebih kompatibel dan layanan lebih baik. Mungkin pada kasus yang lain seperti pemilihan mobil terbaik untuk kita gunakan, ada banyak
faktor yang dapat mempengaruhi keputusan kita untuk membeli, seperti
dari segi kegunaan mobilnya, harganya sesuai budget atau tidak,
pelayanannya, onderdilnya mudah didapatkan atau tidak. Masing-masing
dealer memiliki keunggulan tersendiri dan faktor diatas yang akan menjadi pertimbangan kita dalam memilihnya.
Berdasarkan kedua contoh diatas maka diperlukan sebuah metode
untuk mengevaluasi dan memberikan pembobotan pada faktor-faktor
(51)
Volume 5, no.1 ada 2 metode yang dapat digunakan untuk membuat
keputusan ketika menghadapi multi kriteria faktor. Metode yang pertama
adalah Multifactor Evaluation Process (MFEP). Pada metode ini
pemberian nilai menggunakan skala 0-1, semakin lebih penting faktor
tersebut akan diberikan nilai yang lebih tinggi.
Namun ada beberapa kelemahan metode ini menurut Barry Render
dan Ralph M, karena tidak ada tes konsistensi maka nilai yang dimasukkan
akan menjadi tidak valid ketika pembuat keputusan tidak benar-benar
mengerti domain masalahnya. Pembuat keputusan juga harus benar-benar
menguasai domain masalahnya sehingga yang dimasukkan bukan
merupakan nilai perkiraan tetapi nilai sebenarnya.
Metode kedua adalah Analytic Hierarchy Process (AHP). Ada
beberapa kelebihan pada metode ini dibandingkan sebelumnya. Metode
AHP mempunyai tes konsistensi sehingga apabila hasil evaluasi pembuat
keputusan tidak memenuhi konsistensi maka hasil evaluasi harus diulang
kembali. Kelebihan yang kedua adalah pemberian nilai merupakan
perbandingan antara 2 item sehingga masih dapat memasukkan nilai
perkiraan dan nilai ini akan menjadi valid apabila tes konsistensi
terpenuhi. AHP adalah sebuah metode perbandingan berpasangan terhadap
beberapa objek yang akan dievaluasi. AHP pertama kali dipublikasikan
oleh Thomas L. Saathy dalam bukunya yang berjudul “The Analytic Hierarchy Process” tahun 1980. Sejak di publikasikan tahun 1980 AHP telah dipergunakan dalam berbagai permasalahan. Dari permasalahan
(52)
sosial, ekonomi, kesehatan, engineering dan sekarang dalam bidang
teknologi informasi. Hasil akhir dari metode AHP adalah faktor
pembobotan dan faktor evaluasi, sehingga item-item yang di evaluasi dapat
diberikan peringkat berdasarkan nilai yang dihasilkan.
Dalam memberikan nilai pada masing-masing objek atau faktor
yang akan di evaluasi, AHP memberikan skala 1-9 . Semakin besar nilai
yang diberikan berarti objek atau faktor tersebut semakin penting.
Misalnya ada objek A dan objek B, masing-masing memiliki faktor X, Y,
Z. Apabila diberikan nilai 3 pada perbandingan objek A dan objek B untuk
faktor X, maka pembacaan nilai 3 adalah objek A sedikit lebih penting
daripada objek B pada faktor X. Pembacaan “sedikit lebih penting” dapat dirubah dengan menyesuaikan konteks permasalahan. Seperti sedikit lebih
baik, atau lebih bagus, yang terpenting adalah pemberian nilai
menunjukkan perbandingan antara dua objek.
Tabel 2.4 di bawah ini adalah skala Saathy yang digunakan dalam
implementasi metode AHP. Seperti pada penjelasan sebelumnya, pada
kolom keterangan dapat merubah kata-kata “agar” sesuai dengan topik permasalahan. Pada baris terakhir merupakan kebalikan dari nilai
perbandingan. Sehingga seperti pada contoh diatas apabila objek A
mempunyai nilai 3 dibandingkan nilai B, maka nilai B mempunyai nilai
(53)
Tabel 2.4. Skala Saaty
Nilai Keterangan
1 Sama penting (equal)
3 Sedikit lebih penting (Moderate)
5 Jelas Lebih Penting (Strong)
7 Sangat Jelas Penting (Very Strong)
9 Mutlak Lebih Penting (Extreme)
2,4,6,8 Apabila ragu-ragu antara dua nilai yang
berdekatan
1/(1-9) Kebalikan nilai tingkat kepentingan dari
skala 1-9
(Sumber: Buku Thomas L Saathy, Decision Making with the Analytic Network Process, 2006)
Agar metode AHP menjadi lebih jelas, berikut ini penulis berikan
contoh prosedur penggunaan AHP. Contoh ini membandingkan 3 buah
sistem dengan parameter yang berpengaruh adalah hardware, software dan
dukungan vendor.
1. Faktor evaluasi objek terhadap sebuah parameter.
Pembobotan dapat menggunakan perbandingan antara beberapa
objek. Nilai yang dimasukkan dengan menggunakan skala pada tabel
(54)
Tabel 2.5. Perbandingan antara sistem 1, sistem 2 dan sistem 3
(Sumber: Tesis MTI UI Volume 5, No.1, 2007)
Tabel 2.5 menjelaskan bahwa sistem-1 memiliki hardware
sedikit lebih baik daripada sistem-2 sehingga diberi nilai 3. Dan untuk
perbandingan sistem-1 memiliki hardware mutlak lebih baik daripada
3 dan diberikan nilai 9. Sedangkan perbandingan untuk
2 dengan 1 merupakan kebalikan dari perbandingan dari
sistem-1 dengan sistem-2 sehingga diberikan nilai sistem-1/3. Begitu juga dengan
perbandingan sistem-3 dengan sistem-1 merupakan kebalikan dari
perbandingan sistem-1 dengan sistem-3 yaitu 1/9. Nilai 1 diberikan
karena dibandingkan pada item yang sama semisal sistem-1 dengan
sistem-1.
2. Menjumlahkan pada masing-masing kolom.
Tabel 2.6. Menjumlahkan pada masing-masing kolom
Hardware Sistem-1 Sistem-2 Sistem-3
Sistem-1 1 3 9
Sistem-2 0.3333 1 6
Sistem-3 0.1111 0.1677 1 --- + --- + --- +
Total 1.4444 4.1667 16.0 (Sumber: Tesis MTI UI Volume 5, No.1, 2007)
Hardware Sistem-1 Sistem-2 Sistem-3
Sistem-1 1 3 9
Sistem-2 1/3 1 6
(55)
3. Membagi masing-masing cell dengan jumlah total pada kolom yang
sesuai
Tabel 2.7. Hasil pembagian pada masing-masing cell dengan jumlah total
Hardware Sistem-1 Sistem-2 Sistem-3
Sistem-1 1/1.4444=0.6923 3/4.1667=0.7200 9/16=0.5625 Sistem-2 0.3333/1.4444=0.2300 1/4.1667=0.2400 6/16=0.375 Sistem-3 0.1111/1.4444=0.0769 0.1677/4.1667=0.0400 1/16=0.0625
(Sumber: Tesis MTI UI Volume 5, No.1, 2007)
4. Untuk mendapatkan prioritas sistem berdasarkan hardware maka
dihitung rata-rata setiap baris.
Tabel 2.8. Faktor evaluasi pada parameter hardware
Rata-rata
0.6583 (0.6923+0.7200+0.5625)/3
0.2819 (0.2300+0.2400+0.3750)/3
0.0598 (0.0769+0.0400+0.0625)/3
(Sumber: Tesis MTI UI Volume 5, No.1, 2007)
5. Menghitung Consistency Ratio
Setelah mendapatkan faktor evaluasi diperlukan cek konsistensi
terhadap perbandingan yang telah dilakukan dengan menghitung
Consistency Ratio.
Sebelum menghitung consistency ratio terlebih dahulu menghitung
Weighted Sum Vector. Hal ini dilakukan dengan hasil faktor evaluasi tabel 2.8 dikali dengan perbandingan tabel 2.5.
(56)
Tabel 2.9. Weighted Sum Vector
Weighted Sum Vector
(0.6583)(1) + (0.2819)(3) + (0.0598)(9) 2.0423 (0.6583) (0.3333) + (0.2819)(1) + (0.0598)(6) 0.8602 (0.6583)(0.1111) + (0.2819)(0.1677) + (0.0598) (1) 0.1799
(Sumber: Tesis MTI UI Volume 5, No.1, 2007)
Langkah selanjutnya adalah menghitung consistency vector. Hal ini
dilakukan dengan membagi weighted sum vector tabel 2.9 dengan nilai
evaluasi tabel 2.8.
Tabel 2.10. Consistency Vector
Consistency vector
2.0423/0.6583 = 3.1025
0.8602/0.2819 = 3.0512
0.1799/0.0598 = 3.0086
(Sumber: Tesis MTI UI Volume 5, No.1, 2007)
Setelah menghitung consistency vector diperlukan menghitung
lambda dan consistency index.
CI =
) 1 (
) (
n n
... (2.1)
Keterangan : CI = Consistency Index
n = Jumlah item yang dibandingkan
Lambda dihitung dengan menjumlah hasil dari tabel 2.10 dan
dibagi dengan jumlah item yang dibandingkan dalam kasus ini n=3.
λ =
3
3.0086) 3.0512
(3.1025
(57)
CI =
1 -3
3) -(3.0541
= 0.027
Menghitung consistency ratio dengan membagi hasil dari
consistency index dengan random index tabel 2.11.
CR = RI CI
... (2.2)
Keterangan :
CR : Consistency Ratio
CI : Consistency Index
RI : Random Index
Tabel 2.11. Tabel Random Index
n RI
2 0.00
3 0.58
4 0.90
5 1.12
6 1.24
7 1.32
8 1.41
(Sumber: Tesis MTI UI Volume 5, No.1, 2007)
CR = 0.58 0.027
= 0.0466
Consistency ratio dipergunakan untuk mengukur seberapa besar konsistensi dalam membandingkan antara objek. Semakin besar nilai
CR semakin tidak konsisten. CR mempunyai batasan yaitu nilai 0.1 atau kurang. Jika ternyata CR melebihi 0.1 maka diperlukan
(58)
perbandingan kembali antara objek. Sehingga dengan melihat nilai CR
diatas maka nilai evaluasi tabel 2.8 dapat diterima.
Untuk faktor-faktor yang lain seperti software dan parameter lain
yang mempengaruhi objek tersebut dilakukan dengan prosedur yang
sama, sehingga dihasilkan hasil faktor evaluasi tabel 2.12.
Tabel 2.12. Hasil faktor evaluasi
Faktor Sistem-1 Sistem-2 Sistem-3
Hardware 0.6583 0.2819 0.0598
Software 0.0874 0.1622 0.7504
vendor 0.4967 0.3967 0.1066
(Sumber: Tesis MTI UI Volume 5, No.1, 2007)
6. Pembobotan parameter
Pembobotan parameter dapat mempergunakan cara yang sama
yaitu dengan membandingkan antara parameter tersebut dengan nilai
perbandingan menggunakan tabel 2.6.
Tabel 2.13. Perbandingan hardware, software dan vendor support
Hardware Software Vendor Support
Hardware 1 1/8 1/3
Software 8 1 3
Vendor Support 3 1/3 1
(Sumber: Tesis MTI UI Volume 5, No.1, 2007)
Seperti yang ditunjukkan pada tabel 2.13 bahwa software memiliki
nilai kepentingan yang lebih besar dibandingkan dengan hardware
dengan nilai 8 dan nilai software sedikit lebih penting daripada vendor
(59)
Menjumlahkan total pada masing-masing kolom seperti pada tabel
2.14 di bawah ini.
Tabel 2.14. Jumlah total pada masing-masing kolom
Hardware Software Vendor Support
Hardware 1 1/8 1/3
Software 8 1 3
Vendor Support 3 1/3 1
--- + --- + --- +
Total 12 1.4583 4.3333
(Sumber: Tesis MTI UI Volume 5, No.1, 2007)
Membagi pada masing-masing cell dengan jumlah total.
Tabel 2.15. Hasil pembagian masing-masing cell dengan jumlah total
Hardware Software Vendor Support
Hardware 1/12=0.0833 1/8 / 1.4583=0.0857 1/3 / 4.3333=0.0769
Software 8/12=0.6667 1 / 1.4583=0.6857 3 / 4.3333=0.6923
Vendor Support 3/12= 0.3333 1/3 / 1.4583=0.2285 1 / 4.3333=0.2307
(Sumber: Tesis MTI UI Volume 5, No.1, 2007)
Menghitung rata-rata pada masing-masing baris seperti tabel 2.16
Tabel 2.16. Hasil rata-rata pada masing-masing baris
Rata-rata
0.082 (0.0833+0.0857+0.0769)/3
0.6816 (0.6667+0.6587+0.6923)/3
0.2364 (0.3333+0.2285+0.2307)/3
(Sumber: Tesis MTI UI Volume 5, No.1, 2007)
(60)
Tabel 2.17. Hasil pembobotan parameter
Vendor Support
Hardware 0.082
Software 0.6816
Vendor Support 0.2364
(Sumber: Tesis MTI UI Volume 5, No.1, 2007)
Setelah dihasilkan pembobotan parameter diperlukan cek
konsistensi seperti pada langkah nomor 5.
7. Final Evaluasi
Setelah didapatkan bobot pada masing-masing parameter dan
faktor evaluasi, maka masing-masing bobot tabel 2.17 dikalikan
dengan masing-masing faktor evaluasi tabel 2.12.
Tabel 2.18. Final Evaluasi
Final Evaluasi
Sistem-1 (0.082 x 0.6583 + 0.6816 x 0.0874 + 0.2364 x 0.4967) = 0.231 Sistem-2 (0.082 x 0.2819 + 0.6816 x 0.1622 + 0.2364 x 0.3967) = 0.2275 Sistem-3 (0.082 x 0.0596 + 0.6816 x 0.7504 + 0.2364 x 0.1066) = 0.5416
(Sumber: Tesis MTI UI Volume 5, No.1, 2007)
Pada tabel 2.18 tampak bahwa peringkat 1 adalah sistem-3
kemudian sistem-1 dan terakhir sistem-2.
2.4. MENGENAL FRAMEWORK PHP YANG DIGUNAKAN DALAM PENELITIAN
Penulis mengambil contoh framework PHP yang dibandingkan
(1)
8
1.5.4 Weighting Design Software Quality PropertiesPhase weighting of property in general quality of design software the same procedure with a weighting parameter CK moose. The difference is that the objects compared, namely CK Moose object parameters and properties of software design quality. However, to clarify the overall design quality of software measurement methods, the authors will explain the process of weighting the quality of software design.
Table 8. Property Comparison of Quality Design Software Efficie ncy Understa ndability Reusab ility Maintain ability/ Testabilit y Efficiency 1 1/4 1/6 1/7 Understanda
bility 4 1 1/2 1/4 Reusability 6 2 1 1/2 Maintainabil
ity/
Testability 7 4 2 1
(Source: MTI UI Thesis Volume 5, No.1, 2007) Here are the results of weight measurement properties of quality design.
Table 9. Weight Calculation Results Property Design Quality
Faktor Bobot
Efficiency 0.0527 Understandability 0.1571 Reusability 0.2865 Maintainability/
Testability
0.5036 (Source: MTI UI Thesis Volume 5, No.1, 2007)
1.5.5 Property Evaluation Software
Design Quality
Evaluation of the quality of software design is the last stage of the four main stages software design quality measurement method. At this stage using the results of the three previous stages of the weighting factor Moose CK, CK Moose outcome evaluation factors and results of the weighting factor of software design quality properties. There are two more stages in the evaluation
of properties of software design quality evaluation factor in accordance with the properties of quality software design and calculate the final evaluation of each PHP framework.
Table 10. Calculation of Evaluation Factors in Software Design Quality Property Properti
Kualitas
Framework (Yii versi 1.0.12,
CodeIgniter versi 1.7.2,
CakePHP versi 1.3.3, Symfony
versi 1.4.8, Zend versi 1.10.8)
Efficiency (FE)DIT (BM) DIT + (FE) NOC
(BM) NOC + (FE) CBO (BM) CBO +
(FE) LCOM (BM) LCOM
Understandabil
ity
(FE) WMC (BM) WMC + (FE) DIT
(BM) DIT + (FE) RFC (BM) RFC
Reusability (FE) WMC (BM) WMC + (FE) DIT
(BM) DIT + (FE) NOC (BM) NOC +
(FE) CBO (BM) CBO + (FE) LCOM
(BM) LCOM
Maintainability
/Testability
(FE) WMC (BM) WMC + (FE) DIT
(BM) DIT + (FE) NOC (BM) NOC +
(FE) RFC (BM) RFC + (FE) LCOM
(BM) LCOM
(Source: MTI UI Thesis Volume 5, No.1, 2007)
Factor Evaluation (FE) and the Weight of Metric (BM) according to the value selected on the PHP framework.
Table 11. Final Evaluation Final Evaluasi
Framework(Yii versi 1.0.12, CodeIgniter versi
1.7.2, CakePHP versi 1.3.3, Symfony
versi 1.4.8, Zend versi 1.10.8)
(FE)efficiency x (BK) efficiency +
(FE) understandability x (BK) understandability + (FE) reusability x
(BK) reusability + (FE) maintainability/testability x (BK)
maintainability/testability
(Source: MTI UI Thesis Volume 5, No.1, 2007)
(2)
9
1.5.6 Research ResultsTable 12. Final Results Property Evaluation Design Quality in Each PHP Framework Perin
gkat Framework PHP
Final Evaluasi
1 CakePHP versi
1.3.3 0.0195
2 CodeIgniter versi
1.7.2 0.0197
3 Zend versi 1.10.8 0.0304
4 Symfony versi 1.4.8 0.0372
5 Yii versi 1.0.12 0.0579
(Source: Test Result Author)
From the results of Table 12 it can be concluded that because, in principle, CK Moose parameter value is inversely proportional to property design quality software, on aspects of object-oriented design models using Moose CK and property quality software design, PHP framework with a value of 0.0195 CakePHPi best quality among other PHP frameworks. While the lowest is Yii framework with a value of 0.0579. Followed by the second, third and fourth is a framework with a value of 0.0197 CodeIgniter, Zend Framework with Symfony framework value of 0.0304 and
0.0372 value.
1.6 Conclusion
Some conclusions can be drawn from this study are as follows: 1. The results showed that by using this method will produce a value that indicates the quality of a software design relative to other software 2. This method is general, so in addition can be applied to desktop applications, this method can also be applied to evaluate the web application. But the evaluation of the software should have the same
domain or function.
3. Based on research conducted, we can determine that based on object-oriented design models, quality frameworks are the best from other
framewok. Because the final results of the evaluation value of the lowest among the final value of the other evaluation framework of 0.0195. This is because the value of CK was inversely Moose parameters with properties kualtias design software such as those described in Chapter II before, so the smaller the final value the better the quality. While the lowest level of quality is Yii framework with a value of 0.0579. 1.7 References
[1] Apriyanto, Agus. 2008. “Perbandingan Kelayakan Jalan
Beton dan Aspal dengan Metode
Analytic Hierarchy Process (AHP)”. Tesis Magister Teknik Sipil,
Universitas Diponegoro,Semarang. [2] Bari, Ahsanul, Syam, Anupom. 2008.
CakePHP Application Development –
Step by step introduction to rapid web development using the open
source MVC cakePHP framework.
Penerbit Packt Publishing, Birmingham, Mumbai: xv + 311 hlm. [3] Basili, Victor, et al. 1996. “A
validation of Object Oriented Design
Metric as Quality Indicators”.
[4] Boehm, B.W, J.R. Brown, H. Kaspar, M. Lipow, G.J. McLeod and M.J. Merritt. 1978. “Characteristics of Software Quality”, Amsterdam: North-Holland.
[5] Bray, Ian K. 2002. “An Introduction
To Requirements Engineering”. Pearson Education Limited, United Kingdom: xi + 408 hlm
[6] Brito, Fernando e Abreu. 2003. Talk on “Design Metrics For Object Oriented Software Systems”.
[7] Brito, Fernando e Abreu. 1998. “The MOOD2 Metrics Set”, INESC. [8] Bruntink, Magiel, Arie van Deursen.
2004. “Predicting Class Testability
Using Object Oriented Metrics”. [9] Carl Vondrick.2010. What’s
Symfony? 12 Januari: 3 hlm.
http://www.symfony-project.org
13 November 2010, pk. 09.30 WIB. [10] CakePHP Team.2005. CakePHP the
rapid development php framework: 3 hlm.
http://cakephp.org/
(3)
10
[11] Derek Allard.2010. Welcome toCodeIgniter! 14 Agustus: 3 hlm.
http://codeigniter.com
13 November 2010, pk. 09.30 WIB. [12] Hermawan, Efano dan Petrus
Mursanto. 2007. “Pemeringkatan
Software Aplikasi Berdasarkan
Properti Kualitas Disain dan Metrics
For Object Oriented Software
Menggunakan Analytic Hierarchy
Process”. Tesis Magister Teknologi Informasi, Depok:Jurnal Sistem Informasi MTI UI, Volume 5, No.1. [13] Idrus, Asria. 2010. “Implementasi
Sistem Metode AHP Sebagai Alat
Bantu Pengambilan Keputusan
Pemilihan Calon Tenaga Kerja di PT. Danagung Ramulti”. STMIK AMIKOM, Yogyakarta.
[14] ISO 1926-1. 2001. “Software Quality Characteristic”.
[15] Jajang. 2005. Hardware. 2 Mei: 2 hlm.
http://total.org.id
27 Desember 2010, pk. 16.59 WIB. [16] Kotonya, Gerald, Sommerville Ian.
1997. Requirements Engineering : Processes and Techniques. John Wiley & Sons, Inc, New York: xiii + 282 hlm.
[17] Manuel Pichler.2009. What is PHP_Depend? 14 Desember: 3 hlm.
http://pdepend.org
13 November 2010, pk. 09.30 WIB. [18] Muslich, Masnur; Maryaeni. 2009.
Bagaimana Menulis Skripsi?.
Penerbit PT. Bumi Aksara, Jakarta: x + 166 hlm.
[19] PHP Frameworks.2010. Top 10 Ranking PHP Frameworks? 5 Juli: 2 hlm.
http://phpframeworks.com 9 Oktober 2010, pk. 14.20 WIB. [20] Pressman, Roger S. 1992.
SOFTWARE ENGINEERING- A
Practitioner’s Approach – Third
Edition. Penerbit Beacon Graphic
Corporation, Singapura: xxii + 793 hlm.
[21] Render, Barry, Ralph M. Stair. 2000. “Quantitative Analysis for Management”, Prentice Hall Inc. [22] Rosenberg, Linda H, Lawrence E.
Hyaat. 2003 “Software Quality
Metrics for Object Oriented
Environments”.
[23] Rosenberg, Linda H, Lawrence E. Hyaat. 1998. “Applying and
Interpreting Object Oriented
Metrics”, Software Technology Conference, Utah.
[24] Saathy, Thomas, Vargas L.G. 2006. “Decision Making with the Analytic
Network Process”, Springer.
[25] Shyam R. Chidamber, Chris F. Kemerer. 1995. “A Metrics Suite For Object Oriented Design”. M.I.T Sloan School of Management.
http://web.cs.wpi.edu/~gpollice/cs56 2-s05/Readings/CKMetrics.pdf
[26] Shyam R. Chidamber, Chris F. Kemerer. 1993. “MOOSE: Metric for
Object OrientedSoftware
Engineering”. Workshop on Process and Metric for Object Oriented Software Development, Washington DC, EUA.
[27] Wikipedia Tim. 2010. Framework. 15 Desember : 2 hlm
http://www.wikipedia.org
27 Desember 2010, pk. 17.15 WIB. [28] Wikipedia Tim. 2010. Object
Oriented Programming. 27
Desember : 15 hlm
http://www.wikipedia.org
27 Desember 2010, pk. 17.01 WIB. [29] Wikipedia Tim. 2010. Perangkat
Lunak. 18 November : 2 hlm
http://www.wikipedia.org
27 Desember 2010, pk. 17.15 WIB. [30] Wikipedia Tim. 2010. Software
Metric. 17 Desember : 3 hlm
http://www.wikipedia.org
27 Desember 2010, pk. 17.00 WIB. [31] Wikipedia Tim. 2010. Web. 27
Desember : 14 hlm
http://www.wikipedia.org
27 Desember 2010, pk. 17.23 WIB. [32] Yii Team.2009. Welcome to Yii
Framework. 15 Desember: 3 hlm.
http://www.yiiframework.com
13 November 2010, pk. 09.30 WIB. [33] Zend Team.2008. About Zend
Framework. 12 Januari: 4 hlm.
http://framework.zend.com
(4)
ANALISIS PERBANDINGAN FRAMEWORK PHP
BERDASARKAN MOOSE CK DAN PROPERTI KUALITAS
DISAIN MENGGUNAKAN METODE
ANALYTIC HIERARCHY PROCESS (AHP)
WAHYU RIFA’I DWI SEPTIAN
106091002976
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
(5)
ANALISIS PERBANDINGAN FRAMEWORK PHP
BERDASARKAN MOOSE CK DAN PROPERTI KUALITAS
DISAIN MENGGUNAKAN METODE
ANALYTIC HIERARCHY PROCESS (AHP)
Oleh:
Wahyu Rifa’i Dwi Septian
NIM : 106091002976
Skripsi
Sebagai Salah Satu Syarat untuk Memperoleh Gelar
Sarjana Komputer Bidang Teknik Informatika
Fakultas Sains dan Teknologi
Universitas Islam Negeri Syarif Hidayatullah Jakarta
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
(6)