digilib@itb.ac.id +62 812 2508 8800

COVER Sigit Widodo
PUBLIC Alice Diniarti

BAB 1 Sigit Widodo
Terbatas  Alice Diniarti
» Gedung UPT Perpustakaan

BAB 2 Sigit Widodo
Terbatas  Alice Diniarti
» Gedung UPT Perpustakaan

BAB 3 Sigit Widodo
Terbatas  Alice Diniarti
» Gedung UPT Perpustakaan

BAB 4 Sigit Widodo
Terbatas  Alice Diniarti
» Gedung UPT Perpustakaan

BAB 5 Sigit Widodo
Terbatas  Alice Diniarti
» Gedung UPT Perpustakaan

PUSTAKA Sigit Widodo
PUBLIC Alice Diniarti

Kualitas perangkat lunak adalah salah satu masalah terpenting dalam rekayasa perangkat lunak yang menarik perhatian baik dari praktisi maupun peneliti. Upaya dalam menjamin kualitas perangkat lunak yang baik perlu dilakukan dari awal siklus pengembangan, salah satu yang memiliki pengaruh besar pada kualitas tersebut adalah bagaimana pengembang melakukan perancangan atau desain terhadap perangkat lunak. Namun kecerobohan dan kurangnya pengalaman dapat membuat desain menjadi kurang baik. Desain yang kurang baik tersebut dapat diartikan sebagai design smell. Design smell dapat berdampak negatif terhadap kualitas perangkat lunak. Kakas bantu yang tersedia dalam mendeteksi design smell umumnya terdapat pada kode program. Sedangkan mendeteksi design smell sedini mungkin adalah hal yang perlu dilakukan, deteksi biasanya terjadi sangat terlambat, dan kemudian solusinya sangat kompleks. Oleh sebab itu diperlukan kakas yang dapat mendeteksi design smell pada tahap perancangan. Artefak UML class diagram pada tahap perancangan dapat dimanfaatkan untuk mendeteksi design smell karena memiliki informasi class dan hubungan antara class pada sistem. Dalam pengembangan kakas, diperlukan identifikasi karakteristik design smell berdasarkan UML class diagram. Identifikasi dilakukan berdasarkan definisi yang telah dikemukakan oleh para peneliti sebelumnya yang kemudian dilakukan analisis sesuai informasi yang tersedia pada UML class diagram. Hasil analisis tersebut kemudian divalidasi oleh ahli perangkat lunak yang terdiri dari para praktisi dan akademisi. Hasilnya design smell dapat diidentifikasi dengan memanfaatkan metrik perangkat lunak yang tersedia, aturan dan ambang batas yang ditentukan berdasarkan karakteristik setiap jenis design smell. Dari 25 jenis design smell, deteksi pada UML class diagram dapat digolongkan menjadi tiga, yaitu 12 smell yang dapat dideteksi secara otomatis, 7 smell dideteksi otomatis sebagian dari manifestasinya, dan 6 smell yang perlu dideteksi dengan tinjauan langsung atau memerlukan informasi kode program. Hasil deteksi design smell pada UML class diagram masih bersifat terduga, sehingga masih perlu untuk dilakukan pemeriksaan kembali apakah memang smell tersebut harus dihindari atau tidak pada keadaan tertentu. Kakas bantu deteksi design smell dengan class diagram (DECLAD) dikembangkan dengan memanfaatkan berkas XML dari UML class diagram sebagai input pada kakas, untuk kemudian diproses lebih lanjut sesuai karakteristik yang didapatkan. DECLAD mampu melakukan deteksi terhadap 19 design smell yang tergolong dapat dideteksi otomatis dan dideteksi otomatis sebagian dari manifestasinya, yaitu missing abstraction, imperative abstraction, multifaceted abstraction, unnecessary abstraction, unutilized abstraction, duplicate abstraction, deficient encapsulation, leaky encapsulation, broken modularization, insufficient modularization, cyclically-dependent modularization, hub-like modularization, unnecessary hierarchy, unfactored hierarchy, wide hierarchy, speculative hierarchy, deep hierarchy, multipath hierarchy dan cyclic hierarchy. DECLAD dapat mempercepat proses deteksi yang dilakukan oleh pengembang perangkat lunak pada tahap perancangan berdasarkan UML class diagram dan dapat mendeteksi design smell lebih dini.