Prosiding Seminar Nasional Manajemen Teknologi XIII Program Studi MMT-ITS, Surabaya 5 Pebruari 2011
APLIKASI OPTIMASI DAN ANALISA RESIKO PADA PERMASALAHAN SOFTWARE RELEASE TIME Tan Amelia1), Rully Soelaiman2) Jurusan Manajemen Teknologi Informasi, MMT-ITS Surabaya, email:
[email protected] 2) Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS) Surabaya, email:
[email protected] 1)
ABSTRAK Di dalam sebuah pengembangan software, pengujian terhadap verifikasi dan validasi software yang sudah dibuat merupakan salah satu elemen yang harus dilaksanakan denganperencanaan yang baik. Hal ini disebabkan pengujian software membutuhkan sumber daya yangtidak sedikit, baik dari segi waktu, biaya dan tenaga kerja yang harus dikeluarkan.Pihak manajerial sering dihadapkan pada dilema ketika harus mengambil suatu keputusan kapan software yang dikembangkan sudah bisa dihentikan proses testing-nya untuk kemudian melepas software tersebut dipasaran, karena proses pengambilan keputusan tersebut nantinya akan sangat mempengaruhi keandalan (reliability) dan harga software.Dalam penelitian ini, akan dibahas tentang ketidakpastian biaya software dan pengaruhnya pada optimasi software release time. Contoh kasus akan diberikan untuk menunjukkan hal-hal apa saja yang penting sebagai hasil ketidakpastian biaya software dalam optimasi software release time. Diharapkan hasil tersebut akan menghindarkan manajemen membuat suatu keputusan yang salah dan membahayakan pengembangan suatu software. Kata kunci: Cost estimation, nonhomogeneous Poisson process (NHPP), reliability, software release, time estimation. PENDAHULUAN Latar Belakang Dalam dunia modern seperti sekarang ini, semua aspek kehidupan sudah tersentuh dengan komputer, baik dibidang bisnis, pendidikan, kesehatan, transportasi dan lainnya. Merupakan suatu hal yang berbahaya bila otak dari komputer itu sendiri, yang dikenal dengan istilah software tidak dapat beroperasi dengan cara yang dapat diandalkan. Kegagalan software dapat menimbulkan kerugian yang sangat besar baik disisi finansial, malah sampai berujung korban jiwa. Hal ini bisa Anda lihat pada kegagalan software sistem pengaturan lalu lintas udara atau pada sistem bursa saham dunia. Salah satu masalah terbesar adalah bagaimana untuk mengetahui kapan testing terhadap software tesebut harus dihentikan. Jika testing dihentikan terlalu cepat, maka terdapat resiko bahwa software yang dihasilkan mempunyai kesalahan yang tersembunyi, menimbulkan ketidakpuasan pada customer, memerlukan biaya untuk menghilangkan kesalahan, sampai pada membuat software tersebut harus dihentikan untuk diperbaiki. Namun, jika terus melanjutkan proses testing akan memperbesar biaya testing dan menunda produksi software di pasar. Sebab itu, mencari waktu optimal berdasarkan biaya yang dikeluarkan memberikan suatu kebenaran dalam mengambil keputusan terhadap selesainya waktu testing.
Prosiding Seminar Nasional Manajemen Teknologi XIII Program Studi MMT-ITS, Surabaya 5 Pebruari 2011
Softwaretesting adalah suatu proses pembuktian (verification) untuk menentukan kualitas dan peningkatan keandalan (reliability) software, yang merupakan suatu aktivitas melakukan pengamatan terhadap kesalahan yang timbul dan kemudian memperbaikinya. Sebagai sebuah proses testing, kesalahan software yang tersembunyi dapat diidentifikasi dan dihilangkan, agar software yang sedang diuji dapat meningkat keandalannya. Software Reliability Models (SRMs) sering digunakan untuk memonitor proses testing dan mengukur serta memprediksi keandalan software pada masa sekarang dan masa yang akan datang. Pihak manajemen sangat menginginkan agar penjualan software dapat segera dilakukan agar keuntungan cepat diterima, karena keterlambatan dalam melepas software akan mengakibatkan kehilangan pangsa pasar, yang artinya akan mengurangi keuntungan ekonomis dari software tersebut. Dilema tersebut harus segera diatasi dengan adanya keputusan yang tepat kapan waktu untuk menghentikan testing, dan melepas software tersebut ke konsumen. Dimana dilema diatas telah menjadi suatu kajian dan penelitian yang menarik sejak tahun 1980 yang dikenal dengan istilah software release time. Perumusan Masalah Kebutuhan akan penentuan software release time yang memenuhi optimasi biaya software dan pengontrolan resiko menjadi suatu kebutuhan yang sangat diperlukan oleh pihak manajemen. Berdasarkan kebutuhan diatas, berikut ini pokok perumusan masalah yang ada pada tesis: Bagaimana mengembangkan sebuah model yang dapat memberikan informasi tentang software release time berdasarkan optimasi biaya software dan analisa resiko pada software tersebut. Bagaimana menentukan parameter-parameter biaya software yang digunakan pada tesis ini. Bagaimana mengimplementasikan model hasil tesis menjadi sebuah aplikasi optimasi dan analisa resiko pada permasalahan software release time. Bagaimana melakukan pengujian untuk menentukan kebenaran berdasarkan data yang dimasukkan pada aplikasi. Tujuan Berikut ini beberapa tujuan yang ingin dicapai dalam pembuatan tesis ini: a. Mengembangkan sebuah model untuk mencari minimasi EC (Expected Cost) software. b. Identifikasi parameter yang mempengaruhi biaya software dan fungsi resiko pada software release time. c. Membangun Aplikasi Optimasi dan Analisa Resiko pada Permasalahan Software Release Time. d. Melakukan pengujian untuk menentukan kebenaran dari aplikasi yang dibuat. KAJIAN PUSTAKA Software Release Time Software Release Time adalah waktu mendistribusikan versi awal atau versiupgrade dari sebuah produk software. Dalam mencapai Software Release Time terdapat beberapa tingkat yang menggambarkan stabilitas bagiansoftware dan sejumlah perkembangan yang dibutuhkan sebelum final release, dikenal dengan istilah Software Release Life Cycle.
ISBN : 978-602-97491-2-0
C-8-2
Prosiding Seminar Nasional Manajemen Teknologi XIII Program Studi MMT-ITS, Surabaya 5 Pebruari 2011
Software Testing Software Testing adalah sebuah investigasi empiris untuk memberikan stakeholdersinformasi tentang kualitas dari produk atau pelayanan dengan melakukan tes.Dalam pengoperasian softwaretersebut nantinya. Software Testing selalu memberikan sebuah tujuan dan sudut pandang yang independen, agar perusahaan dapat menilai dan memahami resiko dari implementasi software. Non-homogeneous Poisson Process Non-homogeneous Poisson Process adalah proses stochastic yang terjadi secara terus menerus dan tidak bergantung antara satu dengan yang lainnya. Contoh dari Poisson process seperti pererasan radioactive dari atom, panggilan telepon pada switchboard, halaman permintaan pada website dan curah hujan. Maximum Likelihood Estimation Prinsip Maximum Likelihood Estimation (MLE) menunjukkan adanya distribusi probabilitas bahwa salah satu dari data yang diteliti “most likely”, dalam arti salah satu nilainya dapat dicari berdasarkan parameter vektor yang berupa nilai maksimal likelihood function. METODA Metoda Penelitian Metoda penelitian digunakan sebagai kerangka atau urutan langkah kerja yang akan dilakukan pada tesis ini. Secara garis besar, berikut ini langkah-langkah kerja yang dilakukan untuk mendapatkan model dalam “Aplikasi Optimasi dan Analisa Resiko pada Permasalahan Software Release Time” : 1. Mengidentifikasi permasalahan yang akan diselesaikan. 2. Merumuskan masalah berdasarkan hasil identifikasi permasalahan yang ada. 3. Menetapkan tujuan penelitian yang diharapkan pada penelitian tesis ini. 4. Melakukan studi literatur khususnya yang berhubungan dengan software release time pada pengembangan software, keandalan software dan model biaya software. 5. Membuat blok diagram perencanaan model pada tesis ini. 6. Mencari nilai dari parameter-parameter yang digunakan pada penelitian. 7. Mengimplementasikan berdasarkan model yang dihasilkan untuk membuat aplikasi optimasi dan analisa resiko untuk menentukan software release time dengan menggunakan MatLab. 8. Mengevaluasi hasil implementasi 9. Menyimpulkan hasil penelitian Blok Diagram Perencanaan Model Nilai Parameter Software Cost dengan NHPP SRMs
Proses Mencari Ekspektasi Software Cost
Implementasi dengan MATLAB
Min [ ( )]
( ) ( )
Proses Mencari Risk Function
Optimasi Software Release Time Analisa Resiko Software Release Time
Gambar 1. Blok Diagram Perencanaan Model
ISBN : 978-602-97491-2-0
C-8-3
Prosiding Seminar Nasional Manajemen Teknologi XIII Program Studi MMT-ITS, Surabaya 5 Pebruari 2011
HASIL DAN DISKUSI Studi Kasus Studi kasus yang digunakan dalam penelitian ini adalah softwareNaval Tactical Data System (NTDS) yang merupakan sebuah aplikasi real-time dan multicomputer yang komplek pada U.S Navy Fleet Computer Programming Center (A.L. Goel and K. Okumoto, 1979).Software NTDS terdiri atas 38 modul yang berbeda, dimana pada masing-masing modul terdiri atas 3 tahapan, yang meliputi: fase produksi (pengembangan), fase testing dan fase pengguna. Data yang dihasilkan berdasarkan laporan kesalahan atau disebut juga “software anomaly reports” pada masing-masing modul yang dinamakan sebagai A-module. Pengumpulan Data Waktu antara kegagalan software NTDS dan informasi lainnya dapat dilihat pada tabel dibawah ini: Tabel 1. Data NTDS Error Non
Time Between Errors , days Production (checkout) phase 1 9 … … 26 1 Test Phase 27 87 … … 31 135 User Phase 32 258 Test Phase 33 16 34 35 Total No. of Errors (34) Failure Rate No. of Remaining Errors (8)
Cumulative Time = ∑ , days 9 … 250 337 … 540 798 814 849 = 34 = 0.00579 – 26 = 8
Parameter yang Digunakan Penelitian tesis ini mengambil data untuk model biaya basic software berdasarkan kasus Naval Tactical Data System (NTDS) pada U.S. Navy Fleet Computer Programming Center. Koefisien biaya yang digunakan dalam model biaya software biasanya ditentukan oleh data empiris, pengalaman sebelumnya, dan pada aplikasi yang berbeda. Satuan yang digunakan dalam staff-units. Berikut ini parameter yang digunakan untuk menghitung waktu optimasi dan resiko software release time: a. C1, Koefisien biaya menghilangkan kesalahan selama testing. Menghilangkan kesalahan disini meliputi proses identifikasi kesalahan, diagnosa kesalahan dan menghilangkan kesalahan.
ISBN : 978-602-97491-2-0
C-8-4
Prosiding Seminar Nasional Manajemen Teknologi XIII Program Studi MMT-ITS, Surabaya 5 Pebruari 2011
b. C2, Koefisien biaya menghilangkan kesalahan selama periode garansi (setelah system release). Biaya memperbaiki kesalahan setelah system release lebih besar dibandingkan biaya memperbaiki kesalahan selama periode testing. (Dalal and Mallows, 1988) c. C3, Koefisien biaya umum testing. Alur Proses Aplikasi Mulai
Input Parameter C(T)
Proses menghitung Optimal Software Release Time Input Parameter
(
Input Parameter
Menghitung Risk Function ATC > ETC jika software dilepas pada waktu T*
∗)
Proses menghitung Risk Function ATC > ETC sebesar α jika software
∗
∗)
(
dan [ ( ∗ )]
dilepas pada waktu
Hasil
(
∗
∗)
Selesai Hasil
(
∗)
Gambar 2. Flowchart Prosedur Mencari Optimasi Biaya dan Resiko
Implementasi Aplikasi Formulasi yang digunakan dalam pembuatan aplikasi ini berdasarkan rumusan dari jurnal utama yang menjadi rujukan. (B. Yang, H. Hu, and L. Jia, 2008) [ ( )] (1) ( │ )≥ (2) Keterangan T : Waktu melepas software ( ) : Biaya yang terjadi, yang merupakan fungsi pada waktu melepas software [ ( )]: Nilai ekspektasi untuk ( ) ( │ ): Keandalan software jika dilepas pada waktu T : Level keandalan yang dibutuhkan sebelum software dapat dilepas
Mencari Waktu Optimal Untuk mencari waktu optimal menggunakan fungsi fmincon untuk menemukan nilai minimum berdasarkan banyak variabel tak linear dengan batasan. Berikut ini perincian detil dari biaya-biaya software: ( )= ( ) + [ (∞) − ( )] + (3) Keterangan : Biaya menghilangkan kesalahanpada fase testing. : Biaya menghilangkan kesalahan padafase operasional.Biasanya, : Biaya per unit testing
ISBN : 978-602-97491-2-0
C-8-5
>
Prosiding Seminar Nasional Manajemen Teknologi XIII Program Studi MMT-ITS, Surabaya 5 Pebruari 2011
Menghitung Expected Total Cost Expected Total Cost dihitung berdasarkan rumusan dibawah ini: ( )+ [ ( )] = ( ) = (1 − )
[ (∞) −
( )] +
(4) (5)
Keterangan ( ) :Expected number kegagalan software pada waktu t. Disebut juga mean value function, ( ) = [ ( )] :Expected number kegagalan software ketika testing dimulai. : Tingkat deteksi kegagalan yang masih ada pada software. Dimana a dan b konstanta. Model G-O adalah salah satu NHPP SRMs yang dibuat dan langsung mempengaruhi pemodelan keandalan software. Berdasarkan model G-O diperoleh bahwa: = . Pada basic software nilai untuk = 1. (B. Yang, H. Hu, and L. Jia, 2008). Menghitung Resiko Berdasarkan Variance C(T), ketidakpastian biaya softwaredapat diukur. Jika P1(T) adalah probabiliti bahwa AC sebuah software lebih tinggi daripada EC, maka : ( ) ≡ { ( ) > [ ( )]} (6) P1(T) adalah fungsi waktu T melepas software. Probabiliti ini dapat dilihat sebagai semacam resiko (risk), yang akan mendapatkan persetujuan manajemen. Jika resiko dapat dikontrol pada level yang sesuai, maka dari perumusan diatas dapat dilihat bahwa ketika EC diminimalkan, maka AC akan berubah sedikit lebih tinggi dari minimun, dimana hal tersebut sangat diinginkan. ( ) ≡ { ( ) > (1 + ) ∙ [ ( )]} (7)
Dimana ( ≥ 0) adalah sebuah konstanta yang menunjukkan batasan (margin) yang diperbolehkan agar AC menjadi lebih tinggi daripada EC. P1(T) adalah kenyataan dalam kasus khusus ( ) untuk = 0.
Uji Coba Aplikasi Aplikasi yang dibuat dengan menggunakan Matlab selanjutnya diuji coba dengan menggunakan data-data dari kasus nyata yang diambil dari jurnal utama. Parameter SRM = 33.99 dan = 0.00579 diambil dari kasus Naval Tactical Data System (NTDS) pada U.S. Navy Fleet Computer Programming Center. (A.L. Goel and K. Okumoto, 1979).
ISBN : 978-602-97491-2-0
C-8-6
Prosiding Seminar Nasional Manajemen Teknologi XIII Program Studi MMT-ITS, Surabaya 5 Pebruari 2011 Tabel 2. Data untuk Menghitung T* dan E[C(T)] No Case #1 Case #2 Case #3 Case #4 Case #5
Kondisi =200, =1500, =10 =200, =1500, =10 =200, =1500, =10 =280, =2400, =10 =280, =2400, =10
Parameter SRM = 33.99, = 0.00579 = 33.99, = 0.00579 = 33.99, = 0.00579 = 33.99, = 0.00579 = 33.99. = 0.00579
Syarat Keandalan x = 100, R0 = 0.8 x = 100, R0 = 0.8 x = 100, R0 = 0.8 x = 100, R0 = 0.8 x = 100, R0 = 0.8
T* 774 923 500 774 782
Gambar 3. Grafik Perhitungan Expected Total Cost No Case #1 Case #2 Case #3
Tabel 3. Data untuk Menghitung α T* E[C(T)] 0 774 15,036 0.05 0.1 0 923 16,239 0.05 0.1 0 500 14,241 0.05 0.1
( )
Gambar 4. Grafik Analisa Resiko
ISBN : 978-602-97491-2-0
C-8-7
0.46 0.33 0.22 0.45 0.29 0.18 0.47 0.37 0.28
( )
E[C(T)] 15,036 16,239 14,241 18,070 18,116
Prosiding Seminar Nasional Manajemen Teknologi XIII Program Studi MMT-ITS, Surabaya 5 Pebruari 2011
Berdasarkan hasil pada tabel 2 dan tabel3 terlihat bahwa case #1 menghasilkan waktu optimal melepas software sebesar 774. Sedangkan resiko AC melebihi EC sebesar 0.46. Namun hanya terdapat 0.22 resiko AC melebihi EC sebesar 10%. KESIMPULAN Kesimpulan yang didapatkan dalam penelitian tesis ini adalah: 1. Model Nonhomogeneous Poisson Process (NHPP) Software Reliability Models (SRMs) sering digunakan untuk memonitor proses testing dan mengukur serta memprediksi keandalan software dimasa depan. 2. Sebagian besar penelitian waktu optimal melepas software lebih ditekankan kepada meminimalkan EC, tanpa memperhatikan ketidakpastian pada AC. Dengan perumusan yang ada pada penelitian tesis ini yang meliputi: parameter biaya software, parameter SRM dan keandalan yang diharapkan, maka ketidakpastian AC dapat dihitung dengan melihat fungsi resiko yang ada. 3. Aplikasi dengan Matlab pada tesis ini digunakan untuk menghitung waktu optimal, Expected Total Cost dan fungsi resiko pada Software Release Time. 4. Hasil pengujian aplikasi menunjukkan bahwa permasalahan Software Release Time merupakan pertukaran antara mengurangi resiko dan peningkatan Expected Total Cost. Secara umum dengan mengetahui waktu optimal dan resiko yang ada pada Software Release Time, maka diharapkan pihak manajemen tidak mengalami over budget pada saat melakukan testing. Saran yang dapat diberikan untuk pengembangan penelitian tesis ini dimasa yang akan datang adalah: 1. Penggunaan Generalized Software Cost Model dengan perluasan pada parameter biaya yang diperlukan. 2. Pemakaian pendekatan risk-control pada permasalahan Software Release Time. DAFTAR PUSTAKA A.L. Goel and K. Okumoto (1979), Time Dependent Error-Detection Rate Model for Software Reliability and Other Performance Measures, IEEE Trans. Reliability, vol. 28, no. 3, pp. 206-211. B. Yang, H. Hu, and L. Jia (2008), A Study of Uncertainty in Software Cost and Its Impact on Optimal Software Release Time, IEEE Trans. Software Eng., vol 34, No. 6, pp. 813-825. H. Pham dan X. Zhang (1999), A Software Cost Model with Warranty and Risk Costs, IEEE Trans. Computers, vol. 48, no. 1, pp. 71-75, Jan 1999, doi:10.1109/12.743412. S.R. Dalal and C. I., Mallows, “When Should One Stop Testing Software ?”, J. American Statistical Assoc. Vol. 83, No. 403, 1988, pp. 872-879. W. Ehrlich, B. Prasanna, J. Stampfel, and J. Wu (1993). Determining the Cost of a StopTesting Decision, IEEE Software, pp. 33-42, Mar. 1993.
ISBN : 978-602-97491-2-0
C-8-8