BAB 1.
PENDAHULUAN
1.1 Latar Belakang
Pengukuran merupakan dasar dari setiap disiplin rekayasa dan berlaku juga dalam perekayasaan perangkat lunak. Untuk mengevaluasi performa suatu sistem atau proses diperlukan suatu mekanisme untuk mengamati dan menentukan tingkat efisiensinya. Melalui pengukuran, maka akan diperoleh tingkat pencapaian di dalam proyek perangkat lunak yang sedang diamati. Untuk setiap pengukuran yang dilakukan dibutuhkan tersedianya suatu ukuran kuantitatif yang disebut metrik. Metrik berdasarkan istilah rekayasa perangkat lunak didefinisikan sebagai sebuah ukuran kuantitatif yang dimiliki oleh suatu sistem, komponen atau proses tertentu dengan attribute-atribute yang diberikan. Ukuran merupakan faktor utama untuk menentukan biaya, penjadwalan, dan usaha. Kegagalan dari perkiraan ukuran yang tepat akan mengakibatkan penggunaan biaya yang berlebih atau keterlambatan penyelesaian proyek.
Menurut IEEE Standard Glossary of Software Engineering Technology, kualitas (quality) adalah ” the degree to which a system, component, or process meets customer or user needs or expectation”. Ini berarti pengukuran kualitas suatu perangkat lunak dapat dilihat dari sudut pengembangan perangkat lunak (process) dan produk yang dihasilkan (product) dengan orientasi akhir adalah pengembangan perangkat lunak yang sesuai dengan kebutuhan pengguna (user). Dilihat dari pemahaman di atas maka untuk proses pengukuran perangkat lunak dibagi atas dua, yaitu
pengukuran
kualitas
perangkat
lunak
yang
digunakan
pada
proses
pengembangan perangkat lunak dan pada produk perangkat lunak.
Pengukuran kualitas pada proses perangkat lunak berhubungan dengan tenaga dan pikiran yang diperlukan untuk menyelesaikan proyek perangkat lunak, waktu
Universitas Sumatera Utara
2
yang dibutuhkan untuk penyelesaian proses tertentu dan banyak sumber daya yang berpartisipasi. Pada sisi produk yang ingin diketahui seperti jumlah baris kode, tingkat kerumitan, fungsionalitas yang dipenuhi, jumlah kesalahan yang terjadi, jumlah ujicoba yang dilakukan dan lain sebagainya. Pada sisi lainnya, bagaimana reliabilitas dari produk perangkat lunak dapat diukur setelah diterima oleh user.
Hingga saat ini para ahli rekayasa perangkat lunak sebenarnya belum berhasil dan memiliki kesepakatan bersama mengenai metodologi pengukuran kualitas perangkat lunak yang dapat diterima secara universal. Penggunaan berbagai macam metode pengukuran perangkat lunak untuk atribut-atribut yang berbeda dalam suatu perangkat lunak memang menimbulkan kontroversi yang beragam sebagai akibat keragaman hasil akhir pengukuran. Tetapi hal itu dapat menjadi tolak ukur untuk membandingkan aktifitas dan fakta di lapangan baik dari segi proses, hasil dan kepuasan user dengan metode yang penulis terapkan sehingga akan didapat metode manakah yang dapat memberikan pertimbangan bagi pelaksana proyek untuk mengembangkan proyek perangkat lunaknya ke depan. Oleh karena itu, penulis mengambil pokok pembahasan mengenai pengukuran kualitas perangkat lunak dengan menggunakan metode Lines of Code dan Function Point sebagai tema pembahasan karya ilmiah (skripsi) tugas akhir.
1.2 Rumusan Masalah
Rumusan masalah pada tugas akhir ini adalah jika pengukuran kualitas perangkat lunak diukur dari prosesnya, maka metode dan teori apakah yang sesuai digunakan untuk melakukan pengukuran tersebut ?
1.3 Batasan Masalah
Dalam tugas akhir ini hanya membatasi pada beberapa bagian masalah yaitu: a. Implementasi pengukuran pada perangkat lunak dengan menggunakan teori LOC dan Function Point (FP). b. Pengukuran digunakan untuk mengukur estimasi tenaga kerja dan waktu yang dibutuhkan untuk menyelesaikan proyek perangkat lunak.
Universitas Sumatera Utara
3
1.4 Tujuan Penelitian
Penulisan tugas akhir ini bertujuan: a.
Mengimplementasikan metode pengukuran perangkat lunak LOC dan Funtion Point berdasarkan teori yang ada pada proyek pengembangan perangkat lunak yang nyata.
b. Mengenalkan penggunaan metode LOC dan Function Point sebagai metode pengukuran kualitas perangkat lunak yang umum digunakan namun jarang dibahas dalam pembahasan rekayasa perangkat lunak.
1.5 Manfaat Penelitian
Adapun manfaat peneltian ini adalah a. Penulisan tugas akhir ini bermanfaat untuk mengukur kualitas suatu perangkat lunak pada saat pengembangannya apakah sesuai antara fakta di lapangan dengan metode yang digunakan untuk mengukurnya. b. Memperkaya literatur pada ilmu rekayasa perangkat lunak mengenai pentingnya suatu pengukuran pada perangkat lunak.
1.6 Tinjauan Pustaka
Pengukuran (metric) menurut IEEE adalah ukuran kuantitatif dari tingkat dimana sebuah sistem, komponen atau proses memiliki atribut tertentu. Sedangkan mengukur (measure) adalah mengindikasikan kuantitatif dari luasan, jumlah, dimensi dan kapasitas.
Kualitas (quality) menurut IEEE Standard Glossary of Software Engineering Technology adalah ”the degree to which a system, component, or process meets customer or user needs or expectation” atau derajat pada suatu sistem, komponen atau proses pertemuan persyaratan yang ditetapkan dan kebutuhan pengguna atau harapan. Oleh karena itu, definisi dari kualitas produk harus didasarkan kepada kelengkapan kualitas yang terukur yang memberikan kepuasan pada pengguna program sesuai
Universitas Sumatera Utara
4
dengan kebutuhan yang ditetapkan. Karena persyaratan-persyaratan yang berbeda antar program-program, kualitas kelengkapan juga akan berubah.
Rekayasa perangkat lunak adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal requirement capturing (analisa kebutuhan pengguna), specification (menentukan spesifikasi dari kebutuhan pengguna), desain, coding, testing sampai pemeliharaan sistem setelah digunakan ( Wahono, Romi Satria , SDA Magazine). Sedangkan dalam IEEE standard 610.12 didefinisikan ”The application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software”. Menilik dari definisi di atas maka rekayasa perangkat lunak tidak hanya berhubungan dengan masalah teknis pengembangan perangkat lunak tetapi juga kegiatan strategis seperti manajemen proyek perangkat lunak, penentuan metode, proses pengembangan, dokumentasi, aspek teoritis dan konfigurasi data yang berhubungan yang mendukung terjadinya produksi perangkat lunak.
Metrik (pengukuran) perangkat lunak adalah jenis pengukuran apapun yang berhubungan dengan sistem perangkat lunak, proses dan dokumentasi terkait. Menurut Sommerville, pengukuran terbagi atas dua, yaitu pengukuran (metrik) kontrol dan pengukuran prediktor. Pengukuran kontrol berkaitan dengan proses perangkat lunak sedangkan pengukuran prediktor berkaitan dengan produk perangkat lunak. Proses Perangkat lunak
Produk Perangkat
Pengukuran Prediktor
Pengukuran kontrol
Keputusan Manajemen Gambar 1.1 Pengukuran kontrol dan predik
Universitas Sumatera Utara
5
Karena faktor terjadinya berbagai perbedaan proses pengukuran maka perlu normalisasi pada proses pengukuran. Normalisasi dilakukan untuk membandingkan pengukuran pada cakupan yang lebih luas dengan mengevaluasi proses dan produknya. Ada dua proses normalisasi yang cukup dikenal, yaitu:
a. Metric Size Oriented (pengukuran yang berorientasi pada ukuran/size) b. Metrik Function Oriented (pengukuran yang berorientasi pada fungsi).
1.6.1 Metric Size Oriented
Metric size oriented adalah pengukuran dengan normalisasi kualitas dan produktifitas atau mempertimbangkan ukuran perangkat lunak yang dihasilkan. Metric size oriented dilakukan dengan menghitung LOC (Line of Code) dari baris kode suatu perangkat lunak. Pada pengembangan, pengukuran ini juga dapat mengukur: a. Kesalahan per KLOC (Kilo Line Of Code) b. Biaya per LOC c. Cacat per LOC d. Halaman dokumentasi per LOC e. Kesalahan perorang perbulan f. LOC perorang perbulan g. Biaya perhalaman dokumentasi.
1.6.2 Metric Function Oriented
Metrik yang berhubungan dengan fungsi ( Metric Function Oriented) adalah pengukuran fungsionalitas yang disampaikan oleh aplikasi sebagai suatu nilai normalisasi. Perhitungan dengan metode Function Point menuntut untuk dilakukan oleh seorang profesional yang berpengalaman karena memiliki tingkat subyektifitas yang cukup tinggi. Metrik berorientasi fungsi diusulkan oleh Albrecth pada tahun 1979, yang menyarankan pengukuran yang disebut Function Point. Function Point tidak bergantung pada bahasa sehingga produktivitas pada bahasa pemrograman yang berbeda dapat dibandingkan. Produktivitas dinyatakan sebagai poin fungsi yang dihasilkan per orang-bulan. Function point di-bias menuju system pemrosesan data
Universitas Sumatera Utara
6
yang didominasi oleh operasi input dan output. Metode ini sendiri terdiri dari banyak varia. Variasi yang adalah pada langkah/tahapan yang ada maupun pada isi dari tiap tahapan. Varian-varian ini timbul karena metode ini dapat diubah sesuai dengan kebijakan perusahaan pengembang software. Namun apapun varian yang digunakan oleh pengembang, hendaknya digunakan dengan konsisten agar tercipta komparasi yang benar antara software-software yang dinilai.
Metode dalam metric ini berdasarkan publikasi varian yang populer seperti Gramus dan Herron, IEEE, Caldiera (Pressman,2001) yang menghasilkan manual penggunaan function point seperti IFPUG 3, IFPUG 4 dan Mark II.
1.7 Metode Penelitian
Metode yang dilakukan dalam Tugas Akhir ada beberapa yaitu: a. Studi Literatur Mempelajari buku referensi atau sumber – sumber yang berkaitan dengan Rekayasa Perangkat Lunak dan metode tentang pengkuran kualitas pada perangkat lunak
b. Analisis Data Menganalisis teori dan metodologi serta teknik yang digunakan untuk melakukan pengukuran kualitas pada perangkat lunak.
c. Perancangan Sistem Merancang proyek perangkat lunak yang akan digunakan sebagai bahan implementasi teori dan metodologi yang digunakan . Perangkat Lunak yang akan dibangun menggunakan Bahasa pemrograman Borland Delphi 7.0 d. Implementasi Teori dan Metodologi Mengimplementasikan teori dan metodologi pengukuran kualitas perangkat lunak ke dalam proyek perangkat lunak yang telah jadi. e. Pembuatan Laporan Pembuatan laporan tugas akhir bertujuan dijadikan dokumentasi hasil penelitian.
Universitas Sumatera Utara