Estimasi Biaya Perangkat Lunak SIMAS Universitas XYZ Menggunakan Metode Function Points
Lovita Lisa Nur Afifah, Setya Suprayogi, Renny Sari Dewi *
Fakultas Teknologi Industri dan Kreatif, Sistem Informasi, Universitas Internasional Semen Indonesia, Gresik, Indonesia Email: 1[email protected], 2[email protected], 3*[email protected]
Abstrak
Estimasi biaya yang akurat dalam pengembangan suatu perangkat lunak sangat penting untuk menghindari over-estimate atau under- estimate. Metode estimasi yang digunakan yaitu menggunakan metode Function Points. Tahapan-tahapan dari metode Function Points yaitu tahap pertama menyusun 5 parameter utama dan menghitung total UFP, tahap kedua menghitung total RCAF dengan mengacu pada 14 karakteristik, tahap ketiga menghitung Function Points, tahap empat menghitung effort, tahap kelima menghitung SLoC, tahap keenam menghitung SLoC ke effort dan tahapa ketujuh menghitung pendistribusian effort ke aktivitas. Dari penelitian yang telah dilakukan, estimasi biaya pengembangan perangkat lunak SIMAS Universitas XYZ, maka disimpulkan apabila bahwa universitas XYZ ingin mengembangkan perangkat lunak SIMAS maka dibutuhkan kurang lebih sebesar IDR 76.736.766 atau setara dengan effort 1.520,74 orang/jam.
Kata Kunci: Estimasi Biaya, Metode Function Points, Pengembangan Perangkat Lunak, Effort Abstract
Accurate cost estimation in developing a software is very important to avoid over-estimating or under-estimating. The estimation method used is using the Function Points method. The stages of the Function Points method are the first step to compose 5 main parameters and calculate the total UCP, the second step to calculate the total RCAF by referring to 14 characteristics, the third step to calculate the Function Point, the fourth step to calculate the effort, the fifth step to calculate SLoC, the sixth step to calculate SLoC to effort and seventh counts the distribution of effort to activity. From the research that has been done, the estimated cost of developing SIMAS XYZ Univ ersity software, it is concluded that if XYZ universities want to develop SIMAS software, it will require approximately IDR77,736,766 or equivalent to effort 1,520.74 man / hour.
Keywords: Cost estimation, Function Point Method, Software Development, Effort
1. PENDAHULUAN
Teknologi Informasi dan Komunikasi pada saat ini sudah berkembang pesat di seluruh bidang kegiatan. Perkembangan tersebut memicu banyaknya perangkat lunak yang muncul sesuai kebutuhan bidang kegiatan, salah satunya bidang pendidikan. Perangkat lunak sangat membantu lembaga pendidikan dalam mendukung proses bisnisnya. Universitas XYZ merupakan salah satu lembaga pendidikan yang sudah menerapkan perangkat lunak untuk mendukung proses bisninya, seperti : pendaftaran , pembayaran uang SPP, ulangan online, absensi dan sebagainya. Saat ini sudah banyak perangkat lunak yang dikembangkan oleh departemen Information Communication and Technology (ICT) Universitas XYZ. Salah satu perangkat lunak yang sedang di kembangkan oleh ICT yaitu Sistem Informasi Manajemen Absensi (SIMAS). SIMAS adalah perangkat lunak yang fungsinya sebagai sistem informasi absensi dosen.
Dalam pengembangan perangkat lunak sangat diperlukan estimasi biaya untuk mengetahui seberapa besar biaya yang diperlukan. Dalam mengestimasi biaya perangkat lunak permasalah yang biasa timbul yaitu : Over-Estimates dan Under- Estimates. Over-Estimates berdampak pada alokasi sumber daya lebih besar dari yang dibutuhkan, sedangkan Under- Estimates berdampak pada kualitas dari perangkat lunak yang dihasilkan tidak sesuai standar. Oleh karena itu, tingkat akurasi estimasi biaya sangat diperlukan agar tepat waktu, sesuai biaya dan terpenuhinya standar kualitas produk perangkat lunak.
Dalam pengembangan perangkat lunak terdapat beberapa metode estimasi biaya yang biasa digunakan, yaitu :
1. Metode Function Points yang pertamakali dikembangkan oleh A.J. Albrect pada tahun 1983 dan resmi dinyatakan oleh International Function Points User Group (IFPUG)
2. Metode Cost Constructive Model (COCOMO) yang telah dikembangkan oleh B. Boehm.
3. Metode Use Case Point (UCP) yang dikembangakan oleh Karner pada tahun 1993.
Menurut Renny [1], metode FP dapat digunakan sebagai metode estimasi usaha yang cukup baik. Beberapa penelitian sebelumnya telah merekomendasikan metode FP apabila jangka waktu perencanaan proyek terbatas [2], [3]. Oleh karena itu, dalam estimasi biaya perangkat lunak SIMAS ini menggunakan metode Function Points.
2. METODE PENELITIAN
Allan J. Albrect merupakan pengembang metode Function Points Analysis sejak tahun 1983 di perusahaan IBM [4]. Metode Function Point adalah metode dengan pendekatan yang berorientasi pada fungsionalitas dan kompleksitas dalam memperkirakan ukuran perangkat lunak dan selanjutnya memperkirakan upaya dan estimasi biaya untuk pengembangan perangkat lunak [5]. Berikut tahapan-tahapan untuk melakukan estimasi biaya dengan menggunakan metode Function Points Analysis :
a. Menghitung Unadjusted Function Points (UFP)
Dalam metode Function Points tersusun dari paramater utama yang memiliki bobot masing-masing Tabel 1. Menurut penelitian Albrect [4] ada lima parameter utama yaitu EI, EO, EQ, ILF dan ELF. Dalam menghitung UFP setiap nilai dikalikan dengan faktor kali kompleksitas masing-masing Tabel 2.
Tabel 1. Parameter Menghitung Unadjusted Function Points
Tabel 2. Level Kompleksitas Tipe
Komponen
Level Kompleksitas
Total
Mudah Sedang Komplek
J B P J B P J B P
EI x 3 x x 4 x x 6 x x
EO x 4 x x 5 x x 7 x x
EQ x 3 x x 4 x x 6 x x
ILF x 7 x x 10 x x 15 x x
ELF x 5 x x 7 x x 10 x x
Total UFP x
Keterangan : J : Jumlah B : Bobot P : Poin
b. Menghitung Relative Complexity Adjustment Factor (RCAF)
Dalam menghitung RCAF digunakan 14 karakteristik RCAF untuk menghitung bobot kompleksitas perangkat lunak.
Total RCAF merupakan total skor karakteristik. Karakteristik dibawah ini merupakan ketetapan atau konstanta yang dibuat oleh International Function Point Users Group (IFPUG).
Tabel 3. Bobot Relative Complexity Adjustment Factor
Skor Keterangan
1 Insidental
2 Moderat
3 Rata - rata
4 Signifikan
5 Essential
Tabel 4. Bobot Karakteristik Relative Complexity Adjustment Factor Parameter
Utama Deskripsi
Bobot (Rendah - Sedang -
Komplek) External Input
(EI)
Proses dasar yang mengolah data atau mengontrol informasi yang datang dari luar sistem
3 - 4 - 5 External Output
(EO)
Sebuah proses yang mengirimkan data atau informasi yang diproses terlebih dahulu melalui process logic atau proses matematik.
4 - 5 - 7 External Inquiry
(EQ)
Sebuah proses yang mengirimkan data atau informasi keluar dari batas suatu sistem (hanya menampilkan data dilayar user).
3 - 4 – 6 Internal Logical
File (ILF)
Kumpulan data atau informasi yang digunakan dalam aplikasi. Peran ILF adalah proses menyimpan data dalam aplikasi (Database)
7 - 10 - 15 External Logical
File (ELF)
Berkas yang dilewatkan atau dibagikan diantara system perangkat lunak yang dihitung sebagai tipe berkas antarmuka eksternal dalam setiap sistem. (Referensi)
5 - 7 - 10
2 Tingkat komunikasi data O O O O O 3 Tingkat distribusi pemrosesan data O O O O O
4 Tingkat capaian kerja O O O O O
5 Tingkat konfigurasi lingkungan O O O O O
6 Tingkat kapasitas transaksi O O O O O
7 Tingkat efisiensi pengguna O O O O O
8 Tingkat pembaruan file induk O O O O O
9 Tingkat pembaruan real time online O O O O O
10 Tingkat penggunaan kembali O O O O O
11 Tingkat kemudahan instalasi O O O O O
12 Tingkat kemudahan penggunaan O O O O O
13 Tingkat variasi organisasi pengguna O O O O O 14 Tingkat kerentanan terhadap perubahan O O O O O c. Menghitung Function Points (FP)
Berikut rumus menghitung Function Points (FP) :
FP = UFP x (0,65 + (0,01 x RCAF)) ... (1) Keterangan :
0,65 dan 0,01 = Nilai konstan yang dibuat oleh IFPUG d. Menghitung Effort
Dalam menghitung effort terdapat nilai FP yang telah diketahui dan pembangunan berdasarkan waktu (Man/Hours).
Dalam function point ini untuk Productivity Factor yang bernilai 8.2 [6]
Effort = FP x PF ... (2) e. Menghitung Source Lines of Code (SLoC)
Nilai 56 merupakan nilai dari ketetapan atau konstanta dengan indeks bahasa pemograman PHP dalam yang merupakan Productivity Factor dari bahasa pemograman HTML/Javascript
SloC = FP x 56 ... (3) f. Menghitung Estimasi Effort
Nilai estimasi effort ini digunakan untuk pembangunan berdasarkan Man/Hour
𝐸𝑓𝑓𝑜𝑟𝑡
18 𝑥 ∑ ℎ𝑘 𝑥 𝑗𝑘 ... (4) g. Menghitung Pendistribusian Effort ke Aktivitas
Setiap effort yang telah diketahui di distribusikan ke dalam setiap aktivitas yang bertujuan untuk mencari estimasi biaya yang dibutuhkan dalam membangun perangkat lunak.
Persentase x SLoC ke Effort ... (5) Untuk menghitung Cost ke dalam setiap aktivitas menggunakan rumus sebagai berikut :
Effort * EffortPayrate/hr ... (6) Tabel 5. Persentase Aktivitas
No Aktivitas Persentase (%)
1 Requirements 1,6
2 Specifications 7,5
3 Design 6
4 Implementation 52
5 Integration Testing 7
6 Acceptance & deployment 5,5
7 Project Management 3,8
8 Configuration Management 4,3
9 Quality Assurance 0,9
10 Documentation 8,4
11 Training & Support 1 12 Evaluation & Testing 2
Total 100
3. ANALISA DAN PEMBAHASAN
Untuk mengetahui nilai estimasi biaya pengembangan perangkat lunak SIMAS maka perlu dilakukan perhitungan. Berikut tahap-tahap menghitung estimasi biaya dengan mmenggunakan metode Function Point seperti berikut ini :
a. Unadjusted Function Points (UFP)
Tabel 6. Unadjusted Function Points SIMAS Tipe
Komponen
Level Kompleksitas
Total
Mudah Sedang Komplek
J B P J B P J B P
EI 9 3 27 4 4 16 1 6 6 49
EO 9 4 36 4 5 20 1 7 7 63
EQ 3 1 4 4 1 6 6 10
ILF 1 7 7 10 1 15 15 22
ELF 5 1 7 7 1 10 10 7
Total UFP 151
b. Relative Complexity Adjustment Factor (RCAF)
Tabel 7. Relative Complexity Adjustment Factor
No Karakteristik Skor
1 2 3 4 5 1 Tingkat kehandalan dan pemulihan data O O O O O
2 Tingkat komunikasi data O O O O O
3 Tingkat distribusi pemrosesan data O O O O O
4 Tingkat capaian kerja O O O O O
5 Tingkat konfigurasi lingkungan O O O O O
6 Tingkat kapasitas transaksi O O O O O
7 Tingkat efisiensi pengguna O O O O O
8 Tingkat pembaruan file induk O O O O O
9 Tingkat pembaruan real time online O O O O O
10 Tingkat penggunaan kembali O O O O O
11 Tingkat kemudahan instalasi O O O O O
12 Tingkat kemudahan penggunaan O O O O O
13 Tingkat variasi organisasi pengguna O O O O O 14 Tingkat kerentanan terhadap perubahan O O O O O
Total RCAF 35
c. Menghitung Function Points (FP) FP = UFP x (0,65 + (0,01 x RCAF))
= 151 x (0,65 + 0,01 x 35))
= 155,53 d. Menghitung Effort
Effort = FP x PF
= 155,53 x 8,2
= 1275,35
e. Menghitung Source Lines of Code (SloC) SloC = FP x 56
= 155,53 x 56
= 8709,68
f. Menghitung Estimasi Effort
Estimasi Effort = 𝐸𝑓𝑓𝑜𝑟𝑡18 𝑥 22 ℎ𝑎𝑟𝑖 𝑘𝑒𝑟𝑗𝑎 𝑥 8 𝑗𝑎𝑚 𝑘𝑒𝑟𝑗𝑎 = 1275,3518 𝑥 22 ℎ𝑎𝑟𝑖 𝑘𝑒𝑟𝑗𝑎 𝑥 8 𝑗𝑎𝑚 𝑘𝑒𝑟𝑗𝑎 = 1520,74
Tabel 8. Distribusi Effort ke Aktivitas SIMAS
No Aktivitas Persentase (%)
Effort = SLoC x %
Payrate/hr (IDR)
Cost = effort x payrate
(IDR)
1 Requirements 1.6 24.3 39,773 967,742
2 Specifications 7.5 114 39,773 4,536,291
3 Design 6 91.2 45,455 4,147,466
4 Implementation 52 790.7 45,455 35,944,707
5 Integration
Testing 7 106.4
45,455 4,838,711 6 Acceptance &
deployment 5.5 83.6
45,455 3,801,844 7 Project
Management 3.8 57.7
113,636 6,566,822 8 Configuration
Management 4.3 65.3
113,636 7,430,878 9 Quality
Assurance 0.9 13.6
45,455 622,120
10 Documentation 8.4 127.7 45,455 5,806,453
11 Training &
Support 1 15.2
45,455 691,244 12 Evaluation &
Testing 2 30.4
45,455 1,382,489
Total 100 1,520.7 76,736,766
4. KESIMPULAN
Dari penelitian yang telah dilakukan, estimasi biaya pengembangan perangkat lunak SIMAS Universitas XYZ, maka disimpulkan apabila bahwa universitas XYZ ingin mengembangkan perangkat lunak SIMAS maka dibutuhkan kurang lebih sebesar IDR 76,736,766 atau setara dengan effort 1,520.74 orang/jam. Penulis mengabaikan faktor-faktor eksternal terutama kesiapan insfrakstruktur dakam mengimplementasikan SIMAS. Oleh karena itu, perhitungan estimasi effort dan biaya juga disesuaikan dengan kondisi pemilik perangkat lunak
REFERENCES
[1] R. S. Dewi, “Implementasi Metode Function Points Untuk Mengestimasi Usaha Pada Proyek Pembangunan Aplikasi Layanan Publik,” J. Sist. Inf.
Indones., vol. 2, no. 1, pp. 1–8, 2017.
[2] 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.
[3] R. S. Dewi, T. W. Andari, M. B. A. Rasyid, and R. Candra A.P., “Ekstraksi Faktor Kompleksitas Game Menggunakan Metode Function Points,” J.
Teknol. dan Sist. Inf., 2018.
[4] A. J. Albrecht and J. E. Gaffney, “Software Function, Source Lines of Code, and Development Effort Prediction: A Software Science Validation,”
IEEE Trans. Softw. Eng., 1983.
[5] A. Yhurinda, P. Putri, and A. P. Subriadi, “Software Cost Estimation Using Function Point Analysis,” IPTEK J. Proc. Ser., vol. 0, no. 1, pp. 79–83, 2019.
[6] P. L. Primandaria and Sholiq, “Effort Distribution to Estimate Cost in Small to Medium Software Development Project with Use Case Points,” in Procedia Computer Science, 2015.