Kualitas perangkat lunak merupakan salah satu tantangan utama yang dihadapi
oleh para pengembang dalam proses pembangunan perangkat lunak. Selain itu tim
juga dituntut untuk selalu produktif selama masa pembangunan. Dalam praktik
manajemen pengembangan perangkat lunak, penyediaan wawasan menjadi
penting untuk mengetahui bagaimana tim bekerja dalam menghasilkan perangkat
lunak yang berkualitas. Kerangka kerja SPACE juga memberikan pemahaman
bahwa pengukuran kualitas produksi kode dapat dijadikan pengukuran kuantitatif
yang baik di dalam beberapa dimensi. Pengukuran kualitas kode telah banyak
dilakukan oleh para peneliti sebelumnya, yang kebanyakan hanya berfokus pada
kualitas aset perangkat lunak itu sendiri, sedangkan kualitas produksi kode dari
sudut pandang pemrogram juga penting untuk diukur dalam menunjang
produktivitas. Metrik pengukuran kualitas produksi kode telah diusulkan oleh
peneliti sebelumnya dengan membagi jumlah kode cacat dengan jumlah kode
yang diproduksi. Permasalahannya adalah pengukuran tersebut tidak
mendefinisikan secara detail tentang karakteristik kualitas perangkat lunak seperti
apa yang termanifestasi di dalam kode. Penelitian sebelumnya juga belum
mengategorikan temuan kode cacat berdasarkan dampaknya terhadap perangkat
lunak. Perlu adanya pengukuran kualitas penulisan kode yang lebih spesifik dalam
kemunculan kode cacat, dengan mempertimbangkan kemungkinan dampaknya
pada operasional perangkat lunak.
Modifikasi metrik pengukuran kualitas penulisan kode dilakukan dalam penelitian
ini untuk menghasilkan nilai yang disebut dengan indeks kode buruk. Kode buruk
dalam penelitian ini berfokus pada temuan bug dan code smell yang dikategorikan
berdasarkan tingkat keparahannya. Kategori tersebut akan diberikan bobot yang
kemudian menjadi salah satu variabel pengukuran. Nilai tersebut akan melekat
pada setiap aktivitas pemrogram dalam menulis kode untuk memberikan wawasan
terkait kinerja para tim pengembang. Rancangan sistem dengan mengintegrasikan
repositori github, alat deteksi kode buruk, pengukuran metrik, dan visualisasi juga
diusulkan pada penelitian ini. Rancangan kemudian diimplementasikan menjadi
sebuah kakas yang disebut dengan sistem indeks kode buruk. Indeks kode buruk
dalam penelitian ini akan memiliki skala 0 sampai dengan 1, dengan melakukan
invers pada hasil kali jumlah temuan kode buruk per kategori, dengan bobot nilai
masing – masing, kemudian dibagi dengan jumlah baris kode dikali dengan nilai
ii
bobot tertinggi. Dengan begitu nilai indeks akan selalu berskala tetap. Visualisasi
diterapkan pada beberapa properti, diantaranya penulis kode, jumlah aktivitas
penulisan kode, dan juga nilai indeks kode buruk. Visualisasi data disajikan dalam
bentuk circular chart dengan menggunakan library d3.js yang memudahkan
penyesuaian ukuran dan warna lingkaran. Dalam mendeteksi kode buruk
penelitian ini menggunakan SonarQube sebagai alat deteksi otomatis, alat ini telah
mendefinisikan setidaknya 154 aturan untuk deteksi bug dan 403 aturan untuk
deteksi code smell. Kakas kemudian diuji pada sejumlah repositori github dalam
menghasilkan visualisasi indeks kode buruk pada setiap aktivitas penulisan kode.
Kakas juga diuji ketepatannya dengan menambahkan kode buruk pada repositori
yang sudah diuji sebelumnya. Pengujian menghasilkan ketepatan kakas dalam
mendeteksi kode buruk dan waktu eksekusi yang bergantung pada ukuran proyek
pengembangan perangkat lunak.