Anda di halaman 1dari 14

163

Bab X
Daur Ulang Perangkat Lunak

1. Unit Kompetensi : Memahami model daur ulang proses dan model


pengukuran proses.

2. Elemen Kompetensi : 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.

Buku Ajar Rekayasa Perangkat Lunak – Bab X


164

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.

Buku Ajar Rekayasa Perangkat Lunak – Bab X


165

Daur ulang perangkat lunak dapat mempercepat produksi karena waktu


pengembangan dan pengesahan perangkat lunak bisa dikurangi.
Sedangkan penggunaan ulang juga selain dapat memberikan keuntungan juga dapat
memberikan masalah seperti beriku ini :
 Meningkatkan biaya perawatan, biaya perawatan mungkin akan bertambah saat
daur ulang elemen dari suatu sistem memjadi semakin tidak sesuai dengan
perubahan sistem.
 Kekurangan tool pendukung, toolset mungkin tidak support pembangunan
perangkat lunak dengan model daur ulang. Ini mungkin sulit atau tidak
mungkin untuk mengintegrasi tool – tool ini dengan system component library.
 Sindrome Not-Invented-here, Beberapa perangkat lunakengineer kadang –
kadang lebih suka menulis ulang daur ulang component sebagian dengan
alasan dapat meningkatkan kegunaan reusable component, sebagian melakukan
dengan kepercayaan bahwa fakta menulis original perangkat lunakadalah lebih
menantang dari menggunakan perangkat lunakorang lain.
 Membuat dan merawat komponen library, menyusun sejumlah reusable
componenet library dan menjamin pengembang bisa mengunakan library ini
bisa menjadi mahal. Teknik umum kita untuk mengklasifikasi, mengkatalog,
dan megambil komponen perangkat lunakadalah belum tepat.
 Menemukan, mengerti dan mengadaptasikan komponen reusable. Komponen
perangkat lunak harus ditemukan di library, dimengerti dan, kadang,
diadaptasikan untuk bekerja di lingkungan baru. Engineer harus yakin untuk
menemukan komponen di library sebelum mereka akan menyertakan
komponen sebagai bagian dari proses pembangunan perangkat lunakmereka.
Perangkat lunaklibrary adalah contoh yang bagus sebagai abstraksi.
Programmer mungkin memutuskan untuk membuat abstraksi internal sehingga
bagian dari program mereka bisa digunakan kembali, atau mungkin membuat
library untuk digunakan sendiri. Untuk penggunaan code yang sudah ada,
beberapa hal seperti interface, atau jalur komunikasi, harus didefinisikan. Ini
umumnya termasuk penggunaan subroutine, object, class, atau prototype.

Buku Ajar Rekayasa Perangkat Lunak – Bab X


166

10.3 Jenis-Jenis Daur Ulang


Terdapat beberapa jenis daur ulang perangkat lunak yang dikenal saat ini
yaitu :
 Opportunistic reuse – Daur Ulang Identifikasi Awal , jenis daur ulang ini sudah
dapat diidentifikasi pada saat awal kegiatan pengembangan perangkat lunak
dimulai. Pengembang sudah dapat mengidentifikasi komponen-komponen dari
perangkat lunak yang akan diambil dari sistem yang telah ada sebelumnya. Jenis
ini selanjutnya dapat di kategorikan lagi sebagai :
o Internal reuse, dimana penggunaan komponen-komponen yang dibuat sendiri
dan dikelola sendiri oleh pengembang terutama pada bagian yang kritis dari
proses atau proyek pengembangan perangkat lunak.
o External reuse, terjadi jika menggunakan lisensi pihak ketiga untuk
menggunakan komponen mereka. Hal ini biasanya akan memerlukan
tambahan biaya 1 – 20 persen dari biaya yang diperlukan jika dibandingkan
penggunaan komponen yang dibuat sendiri. Hal ini juga berpengaruh pada
waktu pengembangan karena pengembang yang akan menggunakan
komponen dari pihak luar memerlukan waktu juga untuk mempelajarinya
terlebih dahulu.
 Planned reuse atau Daur Ulang Terencana, pengembang dalam proses
pembuatan perangkat lunak pada setiap tahap, sudah memikirkan untuk dapat
menggunakan kembali komponen-komponen tersebut dimasa yang akan datang
Berikut ini terdapat beberapa contoh teknik penggunaan komponen atau daur
ulang perangkat lunak.
 Software libraries atau pustaka perangkat lunak, praktek teknik ini adalah umum
sekali dilakukan seperti mengkonversi informasi diantara berbagai format-format
elektronik yang ada, mengakses media penyimpanan external, membuat antar
muka dengan program aplikasi external ataupun memanipulasi informasi (angka,
kata, nama-nama, lokasi-lokasi, tanggal, waktu dlsb.) yang dalam banyak hal
diperlukan oleh berbagai program aplikasi. Pengembang dari suatu program
aplikasi dapat menggunakan kode-kode dalam software library daripada harus
menulis ulang kode program berulang-ulang.

Buku Ajar Rekayasa Perangkat Lunak – Bab X


167

Biasanyanya komponen-komponen dalam pustaka ini sudah teruji, akan tetapi


perubahan secara mendetail mungkin tidak bisa lagi dilakukan, walaupun
perubahan itu perlu untuk meningkatkan kinerja program yang sedang dibuat.
Hal lain yang perlu diperhatikan dalam penggunaan komponen dari pustaka ini
adalah tersitanya waktu dan biaya tambahan untuk mendapatkan komponen yang
diinginkan, untuk mempelajari dan mengkonfigurasi pustaka agar sesuai dengan
program aplikasi yang sedang dibuat.
 Design patterns, teknik ini adalah solusi umum yang digunakan untuk masalah
yang berulang-ulang. Design pattern lebih mengarah pada konseptual daripada
hal yang nyata – tangible, serta dapat di modifikasi agar sesuai dengan
kebutuhan. Hal ini dapat dilihat pada implementasi komponen-komponen
interfaces dan classes dalam pola-pola tertentu.
 Frameworks, pengembang biasanya menggunakan ulang sebagian besar
komponen dari perangkat lunak dengan penggunaan aplikasi yang dibuat oleh
pihak ketiga dan frameworks.

10.4 Landasan Daur Ulang (Reuse landscape)


Meskipun daur ulang sering disederhanakan sebagai sebuah komponen
sistem, ada banyak pendekatan berbeda untuk menggunakan kembali perangkat
lunak. Daur ulang dimungkinkan untuk selang tingkat dari fungsi sederhana sampai
aplikasi lengkap. Dengan landscape daur ulang memberi landasan pemahaman
dalam pengaplikasian daur ulang. Berikut ini dapat dilihat berbagai komponen yang
menjadi landasan dari daur ulang perangkat lunak.

Buku Ajar Rekayasa Perangkat Lunak – Bab X


168

Gambar 10.1 Landasan Daur Ulang Perangkat Lunak


 Design patterns (Pola desain) adalah Abstraksi umum yang terjadi dalam
memperesentasikan aplikasi dalam sebuah desain yang menunjukkan astraksi
umum, objek konkret dan interaksi.
 Component-based development, (pembangunan berbasis komponen) : system
dibangun dengan mengintegrasikan komponen yang sesuai dengan model standar
komponen.
 Aplication framework (Kerangka aplikasi), koleksi dari abstrak dan class konkret
yang bisa diadaptasikan dan diperluas untuk membuat aplikasi system.
 Legacy system wrapping : kebijaksaaan sistem yang bisa disatukan dengan
mendefisniskan aset interface dan menyediakan akses ke kebijaksanaan system
ini melalui interface.
 Service oriented system (system berorientasi service), sistem yang dibangun
dengan menghubungkan share service yang mungkin disediakan pihak luar.
 Application product lines : sebuah tipe aplikasi yang umum pada arsitekture
perangkat lunaksehingga bisa diadaptasiakan dengan cara berbeda utuk costumer
berbeda.

Buku Ajar Rekayasa Perangkat Lunak – Bab X


169

 Program libraries (Program library) : Library Class dan function yang


mengimplementasikan kode yang siap digunakan.
 Program generators , Sebuah generator system yang bisa menghsilkan system
atau perangkat lunakdengan menspesifikasikan type parameter / hasil yang
diinginkan.
Banyak penelitian yg telah dilakukan untuk membuat daur ulang lebih cepat,
mudah, lebih sistematik, dan dalam sebuah kesatuan proses normal pemrograman. Ini
adalah tujuan utama dibalik penemuan pemrograman berbasis objek (object oriented
programming), dimana menjadi salah satu bentuk yang paling umum dari
penggunaan ulang program yang formal (formalized reusable). Dimana kemudian
melahirkan penemuan yang disebut generic programming. Alat terbaru yang lain
disebut dengan perangkat lunak generator, program yang bisa membuat program
baru dari sebuah tipe yang ditentukan. Didasarkan pada sekumpulan parameter yang
dipilih oleh pemakai.

Gambar 10.2, Overview dari Windows System.


Gambar diatas menunjukkan daur ulang modul-modul disetiap lapisan perangkat
lunak yang dapat digunakan oleh pihak-pihak terkait dalam pengembangan aplikasi
berbasis Windows.

Buku Ajar Rekayasa Perangkat Lunak – Bab X


170

10.5 Model Daur Ulang


Daur ulang adalah juga merupakan salah satu model dari pengembangan
perangkat lunak, dimana dikenal dengan istilah Reuse Based Development. Disini
kita akan mengenal juga istilah lain yaitu rekayasa ulang perangkat lunak atau
software re-engineering. Hal ini dilakukan dalam bentuk melakukan re-strukturisasi
atau menulis ulang bagian atau seluruh bagian dari suatu sistem tanpa mengubah
fungsinya. Kegiatan ini dilaksanakan ketika sebagian tetapi tidak semua dari sub-
sistem sebuah sistem yang lebih besar sering kali dilakukan pemeliharaan. Bisa juga
terjadi jika dukungan perangkat lunak dan keras menjadi suatu hal yang wajib.
Kegiatan rekayasa ulang ini dilakukan dengan cara merestrukturisasi ataupun
mendokumentasi ulang sistem untuk memudahkan pemeliharaan.
Dengan demikian, aktivitas ini berbeda dengan konsep rekayasa sistem dari
bentuk awal atau untuk membedakannya disebut sebagai forward engineering.
Untuk lebih memberikan pemahaman lebih baik, pada gambar berikut, berisi
diagram dari kedua model tersebut.

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.

Buku Ajar Rekayasa Perangkat Lunak – Bab X


171

 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.

10.6 Pengukuran, Metrik dan Indikator


Dalam konteks rekayasa perangkat lunak, mengukur (measure)
mengindikasikan kuantitatif dari ukuran atribut sebuah proses atau produk.
Pengukuran (measurement) adalah kegiatan menentukan sebuah measure
(pengukuran). Dan definisi metrics menurut IEEE adalah “ukuran kuantitatif dari
tingkat dimana sebuah sistem, komponen atau proses memiliki atribut tertentu”.
Pengukuran telah ada jika suatu data-data tunggal telah dikumpulkan (misal: jumlah
kesalahan yang ditemukan pada kajian sebuah modul tunggal). Metrik perangkat
lunak menghubungkan pengukuran pengukuran individu dengan banyak cara, missal
rata-rata dari jumlah kesalahan yang ditemukan pada setiap kajian.
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.
Pengukuran langsung dari produk berkaitan dengan deretan kode, kecepatan
eksekusi, ukuran memori, dan cacat yang dilaporkan pada suatu periode tertentu.
Sedangkan pengukuran tidak langsung dari produk adalah tentang fungsionalitas,
kualitas, kompleksitas, efisiensi, realibilitas, kemampuan pemeliharaan, dlsb.
Dalam kenyataannya, pengukuran perangkat lunak secara objektif akan sulit
dilakukan secara langsung karena ada pengaruh-pengaruh seperti individu dalam tim
pengukuran, atau tingkat kompleksitas proyek. Tetapi jika pengukuran
dinormalisasi, maka mungkin akan dapat didapatkan metrik perangkat lunak yang
memungkinkan perbandingan dengan rata-rata organisasional yang lebih besar.

Buku Ajar Rekayasa Perangkat Lunak – Bab X


172

10.6.1 Metric Size Oriented

Parameternya adalah ”ukuran” dari software yang dihasilkan. Dapat


dilakukan jika ada record atau catatan dari organisasi. Perlu diperhatikan bahwa
yang record yang diperlukan adalah keseluruhan aktivitas rekayasa perangkat lunak.
Misalnya tabel dibawah ini adalah pengumpulan dari data-data record yang ada dari
sebuah organisasi:
Tabel 10.1 Contoh data pengukuran pada sebuah organisasi

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.

Buku Ajar Rekayasa Perangkat Lunak – Bab X


173

Tetapi dalam bahasa pemrograman tingkat tinggi, dimana pada masing-masing


bahasa, untuk menyelesaikan suatu masalah dengan algoritma yang sama pun LOC
nya sudah berbeda-beda. Bahkan dalam satu bahasa pemrograman yang sama, untuk
menyelesaikan masalah yang sama, LOC nya bisa berbeda jauh tergantung dari
algoritma yang digunakan. Hal ini yang membuat banyak sekali kontroversi
mengenai LOC sebagai tolak ukur dari sebuah perangkat lunak.

10.6.2 Metric Function Oriented


Normalisasi dilakukan pada fungsionalitas pada aplikasi, tetapi untuk
melakukan hal ini, fungsionalitas harus diukur dengan pengukuran langsung yang
lain karena fungsionalitas tidak dapat diukur secara langsung. Maka pengukuran
dapat dilakukan dengan pengukuran function point. Function point didapat dari
penarikan hubungan empiris berdasarkan pengukuran domain informasi software dan
perkiraan kompleksitas software.
Domain informasi yang biasa digunakan ada 5 karakteristik, yaitu:
 jumlah input pemakai: setiap input pemakai yang memberikan data yang
berorientasi pada aplikasi yang jelas pada perangkat lunak (harus dibedakan dari
penelitian yang dihitung secara terpisah) misal: tipe transaksi.
 jumlah output pemakai: setiap output pemakai yang memberikan informasi yang
berorientasi pada aplikasi kepada pemakai. Pada konteks ini output mengacu
pada laporan, layar, tampilan kesalahan, dsb. Jenis data individual pada laporan
tidak dihitung terpisah. misal: report type.
 jumlah penyelidikan pemakai: input online yang mengakibatkan munculnya
beberapa respon perangkat lunak yang cepat dalam bentuk output online.
 jumlah file: setiap master logika (pengelompokan data logis yang menjadi suatu
bagian dari sebuah database yang besar atau sebuah file terpisah).
 jumlah interface eksternal: semua interface yang dapat dibaca oleh mesin yang
digunakan untuk memindahkan informasi ke sistem yang lain
Sekali data telah dikumpulkan, maka nilai kompleksitas dihubungkan dengan
masing-masing penghitungan dengan tabel perhitungan sebagai berikut:

Buku Ajar Rekayasa Perangkat Lunak – Bab X


174

Tabel 10.2, Faktor pembobotan

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.

1. Data communications 8. Online update


2. Distributed functions 9. Complex processing
3. Performance 10. Reusability
4. Heavily used configuration 11. Installation ease
5. Transaction rate 12. Operational ease
6. Online data entry 13. Multiple sites
7. End-user efficiency 14. Facilitation of change

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.

Buku Ajar Rekayasa Perangkat Lunak – Bab X


175

 Setelah setiap karakteristik diberi bobot masing-masing, lalu bobot-bobot dari


setiap karakteristik ini dijumlahkan (jadi minimum 0 dan maksimal 70) dan
kita akan mendapatkan nilai Fi. Setelah mendapatkan nilai Fi maka kita bisa
menghitung nilai FP dengan rumus di yang sudah ada di atas.
 Untuk mendapatkan nilai FP, maka kita dapat menggunakannya dengan cara
analog dengan LOC untuk menormalisasi pengukuran produktivitas, kualitas
perangkat lunak, serta atribut-atribut yang lain seperti:
o kesalahan per FP
o cacat per FP
o $ per FP
o halaman dokumentasi per FP
o FP per person-month dlsbnya.
(dimana untuk mendapatkan data-data untuk kesalahan, cacat, dolar, dsb dapat
diambil dari data-data pada tabel record pada metrik size-oriented).
Untuk lebih jelanya dapat dilihat pada contoh perhitungan metrik berikut ini :
Pada proyek alpha (tabel record metric size oriented) sudah dihitung bahwa jumlah
input pemakainya ada 18 buah, jumlah output pemakai: 6 buah, jumlah penyelidikan
pemakai 22 buah, jumlah file 45 buah, jumlah interface eksternal 20 buah, dengan
asumsi bahwa jumlah input pemakai rata-rata, jumlah output pemakai sederhana,
jumlah penyelidikan pemakai rata-rata, jumlah file kompleks, jumlah interface
eksternal sederhana. Semua karakteristik pada perangkat lunak ini moderat.
Soal : Hitung $ per FP nya!
Jawab:
jumlah total =
(18 x 4) + (6 x 4) + (22 x 4) + (45 x 15) + (20 x 6) = 979
Fi = 14 x 2 = 28
FP = 979 x (0,65 + (0,01 x 28)) = 910,47
$ pada proyek alpha = 168000
$ per FP = 168000 / 910,47 = $184,52
Hasil dari contoh kasus diatas masih berupa suatu angka mentah, untuk dapat
dilihat apakah angka ini termasuk baik atau tidak harus diperbandingkan dengan
perhitungan lain, misalnya $ per FP dari proyek beta atau gamma, atau proyek dari
organisasi lain.

Buku Ajar Rekayasa Perangkat Lunak – Bab X


176

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.

Buku Ajar Rekayasa Perangkat Lunak – Bab X

Anda mungkin juga menyukai