Rumusan dan Batasan Masalah

4

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.

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 sangat konsisten dengan tingkat interdependency antara modul. Berapa nilai maksimum yang diijinkan? CBO 14 terlalu tinggi menurut Houari A Sahraoui.

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.

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.

1.4.2. PROPERTI KUALITAS DISAIN

SOFTWARE 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, maintainabilitytestability. 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. MaintainabilityTestability : Apakah disain software mendukung untuk kemudahan testing dan perubahan?

1. Hubungan Properti Kualitas

Disain Software dan Parameter MOOSE CK Tabel 1. Hubungan Properti Kualitas Software dan Parameter Metric Properti Kualitas Software Parameter Metric Efficiency LCOM, CBO, DIT, NOC Complexity CC Traditional Metric Understandabili ty WMC, RFC, DIT Reusability WMC, LCOM, CBO, DIT, NOC Maintainability Testability WMC, RFC, DIT, NOC Pada tabel 1 diatas tampak bahwa penelitian Linda H Rosenberg dan Lawrence E Hyaat pada tahun 2003, menunjukkan properti 5 complexity tidak menggunakan parameter MOOSE CK, tapi menggunakan Cyclomatic Complexity CC. Pada riset yang lain pada tahun 1993 terutama properti maintainabilitytestability 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. 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 disain software

1.4.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. 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 elemen- elemen yang baru. 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 6 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. 1. Prinsip-Prinsip Dasar Analytic Hierarcy Process AHP 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. Gambar 1. Struktur Hirarki Sumber: Jurnal umum Universitas Sumatera Utara 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. 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 berbagai tingkatan hirarki dan selanjutnya diperoleh suatu vektor composite tertimbang yang menghasilkan urutan pengambilan keputusan. Tabel 2 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 13 dibandingkan objek A. Tabel 2. 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 11-9 Kebalikan nilai tingkat kepentingan dari skala 1-9

1.5 Metodologi Penelitian

Pada studi kasus ini penulis akan menggunakan 5 framework PHP yang paling banyak diminatidigunakan menurut versi www.phpframeworks.com. Framework ini diurutkan mulai dari yang sering digunakan oleh para programmer PHP dalam membangun aplikasi web, Yii 93 Votes, CodeIgniter 88 Votes, CakePHP 67 Votes, Symfony 58 Tujuan Kriteria 1 Alternatif 2 Alternatif 1 Kriteria 2 Kriteria 3 Kriteria 4 Alternatif 3 7 Votes, Zend 45 Votes. Data ini diambil pada tanggal 9 Oktober 2010. Kemudian dalam penghitungan parameter MOOSE CK akan digunakan tool PHP Depend yang khusus untuk mengukur kualitas metric dari bahasa pemrograman PHP. Untuk menghitung besarnya nilai MOOSE CK yang digunakan, penulis menggunakan tool PHP Depend. PHP Depend adalah sebuah tool yang digunakan untuk mengukur metric aplikasi web menggunakan bahasa pemrograman PHP. Menurut website resminya http:www.pdepend.org program kecil yang menunjukkan analisis kode berdasarkan sumber file yang akan diuji. Analisis kode berarti PHP Depend pertama kali mengambil kode asal aplikasi kemudian memparsingnya kedalam proses struktur data internal yang mudah. Data struktur ini biasa disebut sebagai AST Abstract Sintax Tree, yang menampilkan pernyataan dan elemen berbeda yang digunakan untuk menganalisa kode sumber. Pengukuran ini juga disebut sebagai software metric. Apa itu software metric? Pada dasarnya software metric adalah sesuatu yang sangat sederhana. Software metric adalah penjumlahan dari beberapa elemen atau fragmen kode yang ditemukan dalam kode sumber. Sebagai contoh nilai cyclomatic complexity, metode yang digunakan untuk mendapatkan nilainya adalah dengan menjumlahkan pernyataan logika, seperti if, for dan lain sebagainya kedalam metode analisis. Mengapa penulis memilih menggunakan PHP Depend? Pertanyaan tersebut dapat penulis jawab sebagai berikut : 1. PHP Depend sangat otomatis dan selalu objektif, tool ini hanya mengukur kualitas dari kode sumber aplikasi yang diberikan. 2. PHP Depend memberikan skala tergantung pada kode sumber aplikasi. 3. PHP Depend mengikuti untuk mengidentifikasi bagian-bagian software yang digunakan untuk menganalisis kodenya. 4. PHP Depend juga mendukung beberapa fancy metric yang sangat berguna. Gambar 2. Empat Tahapan Utama Metode Pengukuran Kualitas Disain Software Sumber: Tesis Magister Teknologi Informasi, Depok: Jurnal Sistem Informasi MTI UI, Volume 5, No.1, 2007

1.5.1 Pembobotan Parameter MOOSE

CK Pada tahap pembobotan, parameter MOOSE CK dibagi dalam sembilan tahapan. Dimana tujuannya adalah untuk mendapatkan bobot dari masing- masing parameter MOOSE CK. Hal ini seperti yang dijelaskan pada Gambar 4.2. Hasil yang diperoleh dari pembobotan parameter- parameter MOOSE CK harus dicek konsistensinya, ini bertujuan untuk mengukur konsistensi dalam memberikan penilaian, pada skala 1-9.

1.5.2 Perbandingan Nilai Skala Saathy

Pada Parameter MOOSE CK Perbandingan parameter- parameter MOOSE CK Pembobotan MOOSE CK Evaluasi MOOSE CK Pembobotan Properti Kualitas Evaluasi Properti Kualitas Hasil Evaluasi Keseluruhan Software 8 berpedoman pada skala Saathy. Seperti yang ditunjukkan pada Tabel 2. Dalam membandingkan parameter-parameter MOOSE CK harus mempertimbangkan objektifitas dari pengukuran software. Pemetaan metric dengan objet oriented design element, Tabel 3 merupakan salah satu tool yang dapat digunakan dalam membandingkan parameter- parameter MOOSE CK, maka pemberian nilai skala dapat disesuaikan dengan nilai objektifitas pengukuran kualitas disain software. Tabel 3. Pemetaan metric dengan Object Oriented Design Element Metric Object Definition Object Attributes Object Commu nication WMC √ √ DIT √ NOC √ RFC √ √ CBO √ LCOM √ Sumber: Tesis MTI UI Volume 5, No.1, 2007 Dengan preferensi seperti tabel diatas, diperoleh nilai bobot dari masing- masing metric seperti disajikan tabel dibawah ini Tabel 4. Bobot Parameter MOOSE CK Rata- rata WMC 0.1149 DIT 0.0565 NOC 0.0312 CBO 0.2396 RFC 0.4617 LCOM 0.0963 1.5.3 Evaluasi Parameter MOOSE CK Evaluasi parameter MOOSE CK adalah tahapan kedua dari metode pengukuran kualitas disain software. Pada tahap ini dilakukan perbandingan parameter MOOSE CK yang sama antar masing-masing software. Banyak software atau tool yang dapat melakukan pengukuran MOOSE CK. Masing-masing tool memiliki kelebihan dan kekurangan. Diantara tool yan penulis pernah coba adalah PHPUnit, CCLOC, namun yang paling baik dalam hal perhitungan adalah PHP Depend. PHP Depend adalah software metric khusus untuk bahasa pemrograman PHP. Berbeda dengan software metric lainnya, PHP Depend mendukung untuk menghitung aplikasi PHP yang berorientasi objek. Seperti inheritance, coupling, encapsulation, cyclomatic complexity dan lain sebagainya. Tool ini berbasis console, dan berjalan dalam sistem operasi linux. Instalasinya cukup mudah, kita dapat mendownloadnya lewat website resminya di www.pdepend.net. Kemudian kita mengikuti panduan instalasinya dengan benar, untuk mengeceknya apakah sudah terinstal, kita perlu mengetik pdepend –version pada console terminal linux. Setelah melalui perhitungan menggunakan PHP Depend maka didapatkan hasil sebagai berikut ini. Tabel 5. Jumlah class pada masing-masing framework PHP No Framework Jumlah Class 1 Yii 1082 2 CodeIgniter 136 3 CakePHP 460 4 Symfony 2102 5 Zend 2244 Sumber: Hasil Pengujian Penulis