Bab X
Daur Ulang Perangkat Lunak
3. Kriteria untuk kerja : Membuat model daur ulang proses dan model
pengukuran proses.
10.1 Pengantar
Dalam ilmu komputer dan rekayasa perangkat lunak, daur ulang dikenal
sebagai kemampuan penggunaan ulang atau reusability . Dimana bagian dari kode
program dapat digunakan kembali dengan menambahkan beberapa fungsi
kedalamnya dengan hanya sedikit perubahan. Penggunaan ulang Modul-Modul dan
Class ini dapat menghemat waktu dalam implementasi dan menghindari kesalahan-
kesalahan pada waktu pengujian karena menggunakan komponen daur ulang yang
telah di uji coba sebelumnya.
Penggunaan ulang ini sebenarnya telah berlangsung sejak lama oleh para
programmer seperti kode program, template, fungsi-fungsi dan prosedur. Kemudian
menjadi sub bidang ilmu dalam rekayasa perangkat lunak. Penggunaan ulang kode
atau komponen perangkat lunak adalah teknik umum yang digunakan untuk
menghemat waktu dan sumber daya melalui pengurangan pekerjaan yang berulang-
ulang.
Item dari penggunaan ulang (reusable) perangkat lunak disebut sebagai
software asset. Asset mungkin adalah desain, model tes, kebutuhan – kebutuhan,
arsitektur dan lain sebagainya. Penggunaan ulang pada rekayasa perangkat lunak
didasarkan pada :
Application system reusable, Sebuah aplikasi besar pada sebuah sistem
mungkin digunakan tanpa merubah ke sistem lain atau membangun aplikasi
yang mirip.
Component reusable, Penggunaan dari komponen sebuah aplikasi.
Object and function reusable, Pengunaan komponen perangkat lunak berupa
objek atau fungsi.
Contoh yang umum dari daur ulang adalah teknik penggunaan perangkat lunak
library. Banyak operasi umum seperti konversi informasi diantara format yang
berbeda, mengakses simpanan luar, berkomunikasi dengan external program, atau
memanipulasi informasi (angka, kata, nama, lokasi., tanggal, dll) yang sering
dibutuhkan oleh berbagi program berbeda.
Pembuat program baru bisa menggunakan kode pada software library untuk
melakukan tugas tertentu, bukan sebaliknya dengan menulis penuh program untuk
melakukan tugas / operasi yg diinginkan. Penggunan implementasi dari library
sering kali memberi keuntungan dalam menyelesaikan kasus yang tidak biasa.
10.2 Keuntungan dan Masalah dalam Daur Ulang
Keuntungan dari penggunaan ulang komponen atau bagian dari perangkat
lunak sebagai berikut :
Meningkatkan kepercayaan, perangkat lunakyang akan digunakan kembali
telah di tes dan dicoba pada sistemnya, sehingga lebih bisa dipercaya dari
perangkat lunakbaru. awal pembuatan dari perangkat lunakmendeteksi
berbagai kesalahan desain dan implementasi. Ini kemudian diperbaiki, yang
megurangi tingkat kegagalan saat perangkat lunakdi gunakan kembali.
Mengurangi resiko, jika sotware telah ada, ada pengurangan biaya dalam
pembuatan software. Ini adalah factor yang penting untuk manajemen proyek
untuk mengurang estimasi biaya proyek disisi kesalahan software. Hal ini lebih
terlihat saat sejumlah besar komponen perangkat lunakdigunakan kembali.
Lebih efektif untuk para spesialis, Para pengembang tidak perlu melakukan
pekerjaan yang sama pada proyek berbeda. Para spesialis bisa menggunakan
perangkat lunaksebelumnya dengan mengkapsulasi program mereka.
Standar pelaksanaan, beberapa standar, seperti standard user interface, bisa
diimplementasikan sebagai standard reusable component. Sebagai contoh
interface menu bisa diimplementasikan menggunakan reusable component,
karena semua aplikasi menyajikan format menu yang sama. Standar antar
muka ini meningkatkan keyakinan user untuk mengurangi kesalahan ketika
medapati interface yang familiar.
Percepatan pengembangan, membawa perangkat lunak ke pasaran secepat
mungkin adalah lebih penting dari semua biaya pengembangan.
Gambar 10.3, Diagram dari Model Forward Engineering dan Reverse Engineering
Jadi dengan reverse engineering dapat lebih memahami akan disain dan
spesifikasi dari suatu sistem. Aktifitas ini juga merupakan bagian dari proses
rekayasa ulang atau spesifikasi ulang sistem untuk kegiatan implementasi ulang.
Hal ini dilakukan oleh karena faktor-faktor sebagai berikut :
Kode awal yang mungkin dibuat dalam beberapa keterbatasan yang mungkin
tidak bisa digunakan lagi, seperti kinerja atau kebutuhan memori.
Pemeliharaan sistem sering merubah struktur dari sebuah program. Hal ini
akan lebih menyulitkan untuk dipahami.
Program aplikasi secara otomatis dapat direstruktur untuk menghilangkan
percabangan yang tidak diperlukan atau pernyataan-pernyataan yang
kompleks.
Dimana LOC (line of code) menunjukkan jumlah baris kode yang dibuat pada
masing-masing proyek, misalnya pada kolom pertama, proyek aplha dibuat dengan
12100 baris kode dalam 365 halaman, dikembangakan dengan usaha 24 orang per
bulan dengan biaya $168000. Lalu ditemukan kesalahan sebanyak 134 pada proyek
sebelum direlease, 29 cacat setelah direlease pada pelanggan, dan ada 3 orang yang
bekerja pada pengembangan proyek perangkat lunak alpha.
Untuk pengembangan dari metrik ini, dapat dibuat metrik size oriented baru yang
sederhana untuk tiap proyek, misal: kesalahan per baris kode (dihitung ribuan), cacat
per baris kode (ribuan), dokumentasi per baris kode (ribuan), kesalahan per usaha,
baris kode per usaha, biaya per halaman dokumentasi dan lain sebagainya.
Metrik ini tidak dapat diterima secara universal karena adanya kontroversi
pada penggunaan baris kode sebagai titik ukur. Sebagian yang setuju pada
pengukuran LOC menganggap bahwa LOC adalah suatu bukti nyata dari apa yang
dilakukan oleh perekayasa perangkat lunak (dalam konteks ini membuktikan berapa
banyak baris program yang ditulis oleh seorang programmer – comment yang ada).
Sedangkan sebagian yang tidak setuju bahwa LOC dijadikan suatu tolak ukur
kebanyakan disebabkan alasan ambiguitas dari cara menghitung LOC itu sendiri.
Dalam masa-masa awal bahasa pemrograman Assembly, hal ini tidak menjadi suatu
masalah karena dalam 1 baris aktual program merupakan 1 baris instruksi.
Dalam hal ini faktor pembobotan setiap faktor sudah menjadi standar dan
tidak dapat diubah-ubah, tetapi dalam penentuan kriteria suatu perangkat lunak pada
salah satu parameter pengukuran adalah sederhana, rata-rata atau kompleks
ditentukan oleh organisasi atau perkeyasa perangkat lunak yang melakukan
penghitungan itu sendiri. Tetapi meskipun begitu perkiraan kompleksitas tetap
bersifat subyektif.
Untuk menghitung function point (FP) dapat digunakan hubungan sbb:
FP = jumlah total x [0,65 + 0,01 x Fi]
dimana jumlah total adalah nilai yang kita dapatkan pada tabel perhitungan di atas.
Sedangkan Fi dapat dihitung dari perhitungan sebagai berikut:
Pertama-tama kita diberi 14 buah karakteristik dari suatu perangkat sebagai
berikut:
Tabel 10.3, Karakteristik dari sebuah perangkat.
Pada setiap karakteristik tersebut diberi bobot dari nilai 0 sampai 5 dengan
asumsi nilai sebagai berikut:
0 = Tidak berpengaruh, 1= Insidental, 2 = Moderat, 3 Rata-rata,
4 = Signifikan, 5 = Essential.
10.7 Rangkuman
Penggunaan ulang Modul-Modul dan Class ini dapat menghemat waktu
dalam implementasi dan menghindari kesalahan-kesalahan pada waktu pengujian
karena menggunakan komponen daur ulang yang telah di uji coba sebelumnya.
Daur ulang perangkat lunak dapat mempercepat produksi karena waktu
pengembangan dan pengesahan perangkat lunak bisa dikurangi.
Dengan reverse engineering dapat lebih memahami akan disain dan
spesifikasi dari suatu sistem. Aktifitas ini juga merupakan bagian dari proses
rekayasa ulang atau spesifikasi ulang sistem untuk kegiatan implementasi ulang.
Rekayasa perangkat lunak mengumpulkan pengukuran dan mengembangkan
metrik menjadi sebuah indikator, yaitu sebuah metrik atau kombinasi metrik yang
memberikan pengetahuan dalam proses perangkat lunak, sebuah proyek perangkat
lunak, atau produk itu sendiri. Fungsinya adalah member pengetahuan pada manajer
proyek atau pengembang perangkat lunak untuk menyesuaikan proses, proyek, dan
produk agar menjadi lebih baik.
10.8 Soal-Soal
1. Sebutkan tiga faktor yang mendasari aktifitas daur ulang perangkat lunak.
2. Sebutkanlah dan jelaskan dua komponen dari beberapa komponen dalam .
landscape daur ulang .
3. Hitunglah $ per FP dari Proyek Beta pada tabel 10.1 dengan metod metric
function oriented seperti contoh perhitungan pada halaman 175.