Estimasi Biaya Perangkat Lunak Menggunakan Metode Function Point Analysis (Studi Kasus: Sistem BKD Universitas XYZ)
Reinindhi Puspitasari, Dian Nugraini, Renny Sari Dewi
Departemen Sistem Informasi, Universitas Internasional Semen Indonesia, Gresik, Indonesia Email: 1[email protected], 1[email protected], 1[email protected]
Abstrak
Estimasi usaha pada pembangunan perangkat lunak dinilai penting dalam tahap perencanaan proyek teknologi informasi dan komunikasi sebagai penentuan alokasi sumber daya. Tingkat akurasi dalam memperkirakan besar biaya yang harus dilakukan agar dapat meminimalisir kegagalan. Disisi lain, sudah banyak penelitian yang membahas dan menguji metode estimasi usaha tersebut, salah satunya adalah Function Points (FP). Metode FP dipengaruhi oleh 5 parameter utama dan 14 item faktor kompleksitas relatif. Maka dapat disimpulkan bahwa apabila, institusi pendidikan perguruan tinggi, ingin mengembangkan aplikasi BKD (Beban Kinerja Dosen) untuk menunjang proses bisnisnya maka, biaya yang dibutuhkan ialah IDR 42,181,198 atau setara dengan effort 3,273.11 orang/jam.
Kata Kunci: Function Points, Estimasi Usaha, Estimasi Biaya, Effort, Sistem BKD Abstract
Software effort estimation was considered importantly in planning stage of information technology and communication projects as a determination of resource allocation. The level of accuracy in estimating the cost that must be done in order to minimize failure. On the other hand, there have been many studies that have discussed and tested the business estimation method, one of which is Funct ion Points (FP). The FP method is influenced by 5 main parameters and 14 items relative complexity factors. So it can be concluded that if, a tertiary education institution, wants to develop an BKD (Lecturer Performance Load) application to support its business processes, the required cost is IDR 42,181,198 or equivalent to an effort of 3,273.11 man / hour.
Keywords: Function Points, Business Estimates, Cost Estimates, Effort, BKD System
1. PENDAHULUAN
Semakin berkembang dan luasnya penggunaan komputer memicu banyaknya perangkat lunak yang turut tumbuh dan berkembang dalam jumlah dan kegunaanya. Berbagai aplikasi baru yang ditujukan untuk memfasilitasi manusia yang lebih banyak berkembang di semua bidang, termasuk di bidang pendidikan. Universitas XYZ merupakan lembaga pendidikan yang telah memanfaatkan teknologi untuk mendukung proses bisnis. Sejak berdiri tahun 2015 beberapa aplikasi perangkat lunak (Perangkat Lunak) telah dikembangkan oleh Universitas XYZ melalui departemen ICT (Komunikasi dan Teknologi Informasi). Banyak proyek perangkat lunak yang mengalami kegagalan, karena keberhasilan suatu proyek dikatakan berhasil apabila sistem tersebut bisa diserahkan tepat waktu, sesuai antara biaya dan kualitas yang diinginkan. Untuk mencegah agar tidak terjadi kegagalan disuatu pembuatan perangkat lunak maka perkiraan biaya perangkat lunak harus dilakukan dengan hati-hati dan terukur dengan jelas, sehingga nantinya dapat dicapai keberhasilan proyek yang tepat waktu, sesuai budget dan terpenuhinya standar kualitas produk. Permasalahan yang sering terjadi dalam proses estimasi adalah kelebihan estimasi atau dibawah estimasi. Estimasi berlebihan dapat menyebabkan alokasi sumberdaya lebih besar dari yang dibutuhkan. Sedangkan estimasi yang kurang akan menghasilkan kualitas dari perangkat yang dihasilkan tidak sesuai dengan standar. Oleh karena itu, estimasi usaha juga bertujuan untuk efisiensi penggunaan sumber daya proyek [1].
Terdapat beberapa teknik perkiraan biaya pengembangan perangkat lunak, di antaranya adalah: Constructive Cost, Model (COCOMO) II, Expert Judgment, Function Point (FP), Analogi, Neural Network, Fuzzy, dan lain-lain. Masing masing metode mempunyai kelebihan dan kekurangan untuk pengembangan perangkat lunak[2]. Dalam penelitian ini, kami mengajukan sebuah teknik paling umum dan familiar untuk diujicobakan pada data proyek yang telah berjalan di lapangan yaitu menggunakan metode Function Point Analysis. Dari beberapa penelitian yang sudah ada, implementasi metode FP dianggap lebih baik dari metode lainnya seperti Use Case Points dan lainnya[3]. Menariknya, metode ini telah diteliti oleh Albrecht di perusahaan IBM sejak. Dari teori awal yang dikemukakan Albrecht tersebut, kemudian berkembang pesat menjadi suatu asosiasi internasional yang bernama IFPUG (International Function Points User Group) dan berevolusi menjadi standar ISO/IEC 20926. Analisis Function Point sebuah perangkat lunak dilakukan berdasarkan lima komponen dari suatu sistem software, yaitu : External Inputs, External Outputs, Internal Logical Files, External Logical Files dan External inquiry [4]. Function Point adalah pendekatan yang berorientasi fungsi mengukur fungsionalitas perangkat lunak untuk mengestimasi size perangkat lunak dan selanjutnya digunakan untuk estimasi biaya serta estimasi effort yang diperlukan untuk mengembangkan sistem [5]. Metode Function Point dapat digunakan untuk estimasi Effort dan estimasi biaya perangkat lunak berdasarkan jumlah dan kompleksitas dari fungsi yang ada. Metode function point (FP) dianggap lebih cepat karena tidak memerlukan hasil analisis sistem dalam bentuk skema pelaporan penggunaan naratif dan basis data konsep.
Pada dasarnya metode analysis functiom point(FP) merupakan indikator pengukuran yang tidak bisa ditinggalkan.
2. METODE PENELITIAN
2.1 Studi Lapangan
Studi lapangan dilakukan dengan mengamati masalah-masalah aktual dalamp royek-proyek pengembangan piranti lunak (software) di Universitas XYZ dan mengumpulkan data-data yang dibutuhkan untuk melakukan penelitian
2.2 Studi Kepustakaan
Studi kepustakaan dilakukan dengan mencari sumber-sumber referensi yang berkaitan dengan penelitian yang dilakukan.
Sumber-sumber referensi tersebut diperoleh melalui buku, artikel, dan jurnal online dari internet.
2.3. Analisa dan pemodelan menggunakan metode Function Point Analysis
Data hasil survei dikodekan dan dianalisa untuk membuat model estimasi dengan metode Function Point Analysis. . Berikut ini adalah langkah untuk melakukan estimas biaya dengan menggunakan metode Function Point Analysis :
a) Menghitung Nilai Crude Function Points (CFP)
Crude Function Points (CFP) digunakan untuk menghitung bobot nilai dari komponen-komponen function points yang dikaitkan dengan perangkat lunak yang akan dikembangkan. Komponen dari estimasi sebuah software ada lima, yakni : EI (External Inputs), EO (External Outputs), ILF (Internal Logical Files), ELF (External Logical Files dan External inquiry). Komponen komponen tersebut kemudian diberi nilai “mudah”, “sedang”, “kompleks”, tergantung pada karakteristik masing-masing. Kemudian, jumlahkan semua komponen yang disebut sebagai Crude Function Points (CFP). Nilai Crude Function Points ditentukan dengan cara, nilai fungsi dari tiap pembobotan kompleksitas yang didapat dikalikan dengan masing- masing faktor kali kompleksitas. Kriteria pengali berdasarkan bobot kompleksitas dari setiap kategori yang disajikan pada Tabel 1.
Tabel 1. Bobot Komponen Estimasi Software menggunakan Function Point
b) Menghitung Relative Complexity Adjusment Factor (RCAF)
Pada tahapan ini dilakukan perhitungan terhadap Relative Complexity Adjusment Factor (RCAF) pada sebuah proyek perangkat lunak. Table penilaian RCAF dapat dilihat pada Tabel 2.
Tabel 2. Faktor Kompleksitas Relatif
Keterangan Skor:
1 = pengaruh insidental 2 = sedikit berpengaruh 3 = pengaruh rata-rata 4 = pengaruh yang signifikan 5 = sangat berpengaruh/ esensial
Komponen Deskripsi Mudah Sedang Kompleks
External Inputs Setiap masukan pengguna yang berorientasi pada data tertentu
3 4 6
External Outputs Setiap masukan pengguna yang menyediakan tampilan berorientasi informasi kepada pengguna lain
4 5 7
Internal Logical Files Setiap masukan yang berupa pengunggahan berkas logis
7 10 15
External Logical Files Setiap berkas yang ditampilkan sebagai informasi untuk sistem aplikasi yang lain
5 7 10
External inquiry Pertanyaan yang
didefinisikan/dimasukkan secara online yang menghasilkan beberapa formulir tanggapan
3 4 6
No Modifikasi Faktor Kompleksitas Skor
1 Tingkat Kehandalan Dan Pemulihan Data ( 1, 2, 3, 4, 5 ) 2 Tingkat Komunikasi Data ( 1, 2, 3, 4, 5 ) 3 Tingkat Distribusi Pemrosesan Data ( 1, 2, 3, 4, 5 ) 4 Tingkat Capaian Kinerja ( 1, 2, 3, 4, 5 ) 5 Tingkat Konfigurasi Lingkungan ( 1, 2, 3, 4, 5 ) 6 Tingkat Kapasitas Transaksi ( 1, 2, 3, 4, 5 ) 7 Tingkat Efisiensi Pengguna ( 1, 2, 3, 4, 5 ) 8 Tingkat Pembaruan File Induk ( 1, 2, 3, 4, 5 ) 9 Tingkat Pembaruan Realtime Online ( 1, 2, 3, 4, 5 ) 10 Tingkat Penggunaan Kembali ( 1, 2, 3, 4, 5 ) 11 Tingkat Kemudahan Instalasi ( 1, 2, 3, 4, 5 ) 12 Tingkat Kemudahan Penggunaan ( 1, 2, 3, 4, 5 ) 13 Tingkat Variasi Organisasi Pengguna ( 1, 2, 3, 4, 5 ) 14 Tingkat Kerentanan Terhadap Perubahan ( 1, 2, 3, 4, 5 )
c) Menghitung Nilai Function Point (FP)
Untuk menghitung nilai function point dapat menggunakan rumus sebagai berikut :
FP = CFP × (0.65 + (0.01 × RCAF))...(1) d) Menghitung Nilai Effort
Nilai function point telah diketahui langkah selanjutnya ialah melakukan perhitungan nilai effort, dengan rumus sebagai berikut :
Effort = FP × 8.2...(2) e) Mengkalkulasi Nilai Kloc
Untuk mengkalkulasi nilai Kloc maka dapat menggunakan rumus sebagai berikut :
Kloc = FP × 56...(3) f) Menghitung Final Effort
Final Effort = ( 18FP ) × 22 × 8...(4) g) Mendistribusikan Nilai Final Effort Ke Aktivitas
Setiap final effort yang sudah diketahui di distribusikan ke dalam setiap aktivitas pengembangan perangkat lunak yang ada pada Tabel 3, tujuannya adalah untuk mencari estimasi biaya yang dibutuhkan dalam membangun sistem Beban Kinerja Dosen (BKD).
Tabel 3. Nilai effort ke aktivitas
Keterangan :
• Persentase berdasarkan pada konstanta mutlak [6]
h) Total Seluruh Biaya Per Masing – Masing Tenaga Kerja
Tabel 4. Biaya Per Tenaga Kerja
No Tenaga Kerja Aktivitas Persentase 1 Business Analyst Requirement
Specifications 12%
2 Designer Design 5%
3 Business Developer
Training And Support
11%
Acceptance And
Deployment Integration Testing
4 Programmer Implementation 42%
5 Project Manager
Project Management Configuration 22%
Management
No Aktivitas Persentase
1 Requirement 1.60 %
2 Specifications 7.50 %
3 Design 6.00 %
4 Training And Support 1.00 % 5 Acceptance And Deployment 5.50 %
6 Integration Testing 7.00 %
7 Implementation 52.00 %
8 Project Management 3.80 %
9 Configuration Management 4.30 %
10 Quality Assurance 0.90 %
11 Documentation 8.40 %
12 Evaluation And Testing 2.00 %
Total 100.00 %
No Tenaga Kerja Aktivitas Persentase 6 Quality Assurance Quality
Assurance 1%
7 Testing
Documentation
8%
Evaluation And Testing
Total 100.00%
3. ANALISA DAN PEMBAHASAN
3.1 Analisis Perhitungan Crude Function Points (CFP)
Tabel 5 berikut ini adalah Tabel perhitungan Crude Function Points (CFP) di sistem BKD (Beban Kinerja Dosen).
Pada Tabel 5 terdapat kolom EI atau External Input digunakan untuk penilaian pada input sistem pada proyek perangkat lunak. Kolom EO atau External Output digunakan untuk penilaian pada output sistem pada proyek perangkat lunak.Kolom EQ atau External Inquiry digunakan untuk penilaian pada inquiry sistem pada proyek perangkat lunak.
Kolom ILF atau Internal logical File digunakan untuk penilaian pada logika sistem pada proyek perangkat lunak.
Kolom ELF atau External Logical File digunakan untuk penilaian pada interface sistem pada proyek perangkat lunak.
Sedangkan di kolom mudah, sedang dan kompleks berisi nilai dikalikan bobot masing-masing komponen. Sedangkan kolom Skor berisi jumlah dari point masing – masing komponen. Di Tabel 5 terdapat baris Total CFP yang berisi jumlah skor dari semua komponen.
Tabel 5. Perhitungan CFP
3.2 Analisis perhitungan Relative Complexity Adjusment Factor (RCAF)
Tabel 6 berikut adalah perhitungan RCAF dari sistem BKD. Penilaian kompleksitas memiliki skala 1 sampai dengan 5. Dengan keterangan nilai sebagai berikut : 1= Insidental, 2= Moderat, 3= Rata-rata, 4= Signifikan dan 5= Essential.
Untuk nilai Total RCAF didapat dari penjumlahan semua skor yang didapat dari modifikasi faktor kompleksitas.
Tabel 6. Perhitungan RCAF
3.3 Analisis Perhitungan Function Point (FP)
Pada rumus (1) digunakan untuk menghitung nilai Function Point (FP). Di rumus berikut ini untuk mencari nilai FP maka dibutuhkan nilai Crude Function Points (CFP) dan nilai RCAF yang telah dihitung di Tabel 5 dan 6.
FP = CFP × (0.65 + (0.01 × RCAF)) FP = 325 × (0.65 + (0.01 × 38))
Komponen Mudah Sedang Kompleks Skor
External Inputs 120 48 12 180
External Outputs 72 60 7 139
Internal Logical Files 0 0 0 6
External Logical Files 0 0 0 0
External inquiry 0 0 6 0
Total CFP 325
No Modifikasi Faktor Kompleksitas Skor
1 Tingkat Kehandalan Dan Pemulihan Data 4
2 Tingkat Komunikasi Data 3
3 Tingkat Distribusi Pemrosesan Data 3
4 Tingkat Capaian Kinerja 4
5 Tingkat Konfigurasi Lingkungan 1
6 Tingkat Kapasitas Transaksi 1
7 Tingkat Efisiensi Pengguna 2
8 Tingkat Pembaruan File Induk 3
9 Tingkat Pembaruan Realtime Online 3
10 Tingkat Penggunaan Kembali 3
11 Tingkat Kemudahan Instalasi 2
12 Tingkat Kemudahan Penggunaan 4
13 Tingkat Variasi Organisasi Pengguna 3 14 Tingkat Kerentanan Terhadap Perubahan 2
Total RCAF 38
FP = 325 × (1,03) FP = 334.75 3.4 Analisis Perhitungan Nilai Effort
Pada rumus (2) terdapat perhitungan untuk mencari nilai Effort. Nilai effort didapat dari nilai FP yang dihitung di rumus (1) dan dikalikan dengan angka 8.2. untuk satuan dari nilai effort ialah man/hour
Effort = FP × 8.2 Effort = 334.75 × 8.2 Effort = 2744.95 man/hour 3.5 Mengkalkulasi Nilai Kloc
Untuk mengkalkulasi nilai Kloc maka harus menggunakan rumus (3). Didalam rumus (3) terdapat nilai FP yang telah dihitung di dalam rumus (1) dan dikalikan dengan angka 56. Dan nilai FP ke Kloc untuk sistem BKD ini ialah 18746.
Kloc = FP × 56 Kloc = 334.75 × 56 Kloc = 18746 3.6 Analisis Perhitungan Final Effort
Untuk mencari final effort maka dibutuhkan nilai FP yang telah dihitung pada rumus (1). Pada rumus (4) untuk menghitung final effort maka nilai FP dibagi dengan nilai 18 lalu dikalikan dengan angka 22 dan 8.
Final Effort = (𝐹𝑃
18) × 22 × 8 Final Effort = (334.75
18 ) × 22 × 8 Final Effort = 18.60 × 22 × 8 Final Effort = 3273.111
3.7 Analisis Pendistribusian Nilai Final Effort Ke Aktivitas
Pada Tabel 7 ialah Tabel pendistribusian nilai effort ke aktivitas. Pendistribusian ini memerlukan daftar aktivitas yang dilakukan dalam development sistem BKD. Untuk yang dikolom persentase menggambarkan persentase tugas yang dilakukan di setiap aktivitas. Di Tabel 7 juga terdapat kolom effort, effort didapat dari hasil final effort yang terdapat di rumus(4) dikalikan dengan persentase aktivitas. Sedangkan kolom cost di dapat dari effort dikalikan dengan payrate / hour, payrate/hour di lihat dari standart gaji oleh Kelly Service[7].
Tabel 7. Pendistribusian nilai effort ke aktivitas
3.8 Analisis Pendistribusian ke Tenaga Kerja
Setelah pendistribusian ke masing-masing aktivitas di Tabel 7, maka masing-masing aktivitas di distribusikan kedalam tenaga kerja seperti pada Tabel 8. Dikolom total cost didapat dari jumlah cost masing-masing aktiftas per tenaga kerja.
Tabel 8. Pendistribusian ke tenaga kerja
No Tenaga Kerja Aktivitas Persentase Cost Total Cost
1 Business Analyst Requirement
12 % 900,106 5,119,350
Specifications 4,219,245
2 Designer Design 5 % 2,025,238 2,025,238
No Aktivitas Persentase Effort
(final effort * persentase) Cost
1 Requirement 1.60 % 52.370 900,106
2 Specifications 7.50 % 245.483 4,219,245
3 Design 6.00 % 196.387 2,025,238
4 Training And Support 1.00 % 1702.018 17,552,058
5 Acceptance And Deployment 5.50 % 229.118 2,362,777
6 Integration Testing 7.00 % 180.021 1,856,468
7 Implementation 52.00 % 124.378 4,275,501
8 Project Management 3.80 % 140.744 4,838,067
9 Configuration Management 4.30 % 29.458 303,786
10 Quality Assurance 0.90 % 274.941 2,835,333
11 Documentation 8.40 % 32.731 337,540
12 Evaluation And Testing 2.00 % 65.462 675,079
Total 100.00 % 3273.111 42,181,198
3 Business Developer
Training And Support
11 %
17,552,058
4,556,784
Acceptance And Deployment 2,362,777
Integration Testing 1,856,468
4 Programmer Implementation 42 % 4,275,501 4,275,501
5 Project Manager Project Management
22 % 4,838,067 9,113,569
Configuration Management 303,786
6 Quality Assurance Quality Assurance 1 % 2,835,333 2,835,333
7 Testing Documentation
8 % 337,540 3,510,412
Evaluation And Testing 675,079
Total 100.00 % 42,181,198 42,181,198
3. KESIMPULAN
Setelah dilakukan estimasi biaya perangkat lunak pada BKD (Beban Kinerja Dosen) di Universitas XYZ, maka disimpulkan bahwa apabila, institusi pendidikan tinggi, ingin mengembangkan aplikasi BKD untuk menunjang proses bisnisnya. Maka, kurang lebih biaya yang dibutuhkan adalah IDR 42,181,198
REFERENCES
[1] R. S. Dewi, A. P. Subriadi, and Sholiq, “A Modification Complexity Factor in Function Points Method for Software Cost Estimation Towards Public Service Application,” in Procedia Computer Science, 2017.
[2] T. N. Sharma et al., “Estimasi Biaya Pembuatan Modul Enterprise Resource Planning (Erp) Untuk Unit Bisnis Pabrik Gula Di Pt. Perkebunan Xyz Dengan Metode Use Case Point,” J. Ilm. Teknol. Inf., 2012.
[3] R. S. Dewi, A. P. Subriadi, and S. Sholiq, “Use Case Point - Activity-Based Costing: Metode Baru untuk Mengestimasi Biaya Pengembangan Perangkat Lunak,” Sisfo, 2015.
[4] J. Marchewka, “Information technology project management,” in Information technology project management, 2009.
[5] Suharjito, S. Nanda, and B. Soewito, “Modeling software effort estimation using hybrid PSO-ANFIS,” in Proceeding - 2016 International Seminar on Intelligent Technology and Its Application, ISITIA 2016: Recent Trends in Intelligent Computational Technologies for Sustainable Energy, 2017.
[6] F. P. Laksamana, A. R. Perdanakusuma, and M. C. Saputra, “Evaluasi Biaya Pengembangan Sistem Informasi Pengelolaan Arsip Surat ( SIPAS ) Menggunakan Function Point dan Object Point ( Studi Kasus : PT Sekawan Media Informatika ),” J. Pengemb. Teknol. Inf. dan Ilmu Komput. Univ.
Brawijaya, vol. 2, no. 8, pp. 2692–2701, 2018.
[7] R. S. Dewi, T. W. Andari, A. P. Subriadi, and Sholiq, “Function Points Method in Game Casual Context,” in Proceedings of 2018 International Conference on Electrical Engineering and Computer Science, ICECOS 2018, 2019.