Dalam Development sebuah perangkat lunak/software terkadang para developer memiliki kesulitan untuk mencari satuan yang dapat mendeskripsikan ukuran dari sofware yang akan dibuat. Untuk mengetahui ukuran software yang akan dibuat sangat penting karena akan berpengaruh pada biaya dalam produksi software tesebut.
Salah satu cara yang populer untuk melakukan pengukuran perangkat lunak dapat mengunakan cara yang bernama FUNCTION POINT.
Hasil dari metode Function Point akan lebih mudah dipahami oleh pengguna non teknis yang dapat membantu mengkomunikasikan informasi ukuran software ke pengguna atau client.
Hasil dari metode Function Point akan lebih mudah dipahami oleh pengguna non teknis yang dapat membantu mengkomunikasikan informasi ukuran software ke pengguna atau client.
Function Point dikembangkan pertama kali oleh Allan J. Albrecht di pertengahan tahun 1970-an. Merupakan upaya untuk mengatasi kesulitan yang berhubungan dengan kode program sebagai ukuran dari ukuran perangkat lunak, dan untuk membantu dalam memprediksi effort dalam development perangkat lunkas.
Function Point pertama kali di terbitkan pada tahun 1979. Pada tahun 1984 Albrecht menyempurnakan metode Function Point.
Function Point pertama kali di terbitkan pada tahun 1979. Pada tahun 1984 Albrecht menyempurnakan metode Function Point.
Sejak Function Point Internasional User Group (IFPUG) didirikan, beberapa versi Function Point sebagai Pedoman telah diterbitkan oleh IFPUG. Secara global pengukuran Software dengan Function Point telah diterima secara luas dalam industri perangkat lunak lebih dari 40 tahun sebagai pengukuran standar perangkat lunak.
Dalam ilmu fisika banyak satuan untuk mengukur fenomena yang ada di alam semesta ini seperti Menit untuk mengukur waktu, Kilo Meter untuk mengukur jarak, Celsius untuk mengukur Suhu.
Dan untuk mengukur perangkat lunak atau software maka dapat menggunakan Function Point yang biasa disingkat dengan FP.
Dan untuk mengukur perangkat lunak atau software maka dapat menggunakan Function Point yang biasa disingkat dengan FP.
Function Point adalah sebuah sebuh teknik terstruktur dalam memecahkan masalah dengan cara memecah sistem menjadi komponen yang lebih kecil dan menetapkan beberapa karakteristik dari sebuah software sehingga dapat lebih mudah dipahami dan dianalisis.
Function Point mengukur dari perspektif Functional dari software yang akan dibangun, terlepas dari bahasa programaan, metode development atau platform perangkat keras yang digunakan,
Function Point harus dilakukan oleh orang terlatih dan berpengalaman dalam development software, karena dalam memberikan nilai-nilai dari setiap komponen Function point bersifat subyektif, dan akan wajar apabila hasil perhitungan function point seseorang akan berbeda dengan yang lain.
Pengerjaan Function poin harus dimasukkan sebagai bagian dari rencana proyek secara keseluruhan. Artinya harus dijadwalkan dan direncanakan pengerjaannya.
Hasil dari pengukuran menggunakan Function Point dapat digunakan untuk mengestimasi biaya dan effort yang diperlukan dalam development perangkat lunak.
TAHAPAN MELAKUKAN FUNCTION POINT
TAHAP 1. Menghitung Crude Function Points (CFP)
Crude Function Points (CFP) adalah untuk menghitung bobot nilai dari komponen-komponen Function Point yang dikaitkan dengan software yang akan dibuat.
Komponen-komponen Function Point terdiri dari 5 buah yaitu sebagai berikut.
- Tipe Input, Berkaitan dengan interface yang lakukan pengguna/user dalam memasukan data pada aplikasi.
- Tipe Output, Berkaitan dengan output yang dihasilkan aplikasi untuk pengguna/user yang dapat berupa laporan di print atau yang ditampilkan pada layar.
- Tipe Query/Search/View, Berkaitan dengan query terhadap data yang tersimpan.
- Tipe File/Tabel/Database, berkaitan dengan logic penyimpan data yang dapat berupa file atau semacam database relational.
- Tipe Interface Eksternal, Berkaitan dengan komunikasi data pada parangkat/mesin yang lain, contoh nya adalah membuat aplikasi SMS Server yang membutuhkan. koneksi pada perangkat keras Modem telepon.
Selanjutnya setiap tipe komponen tersebut diberikan bobot berdasarkan kompleksitasnya, seperti yang ditujukan pada table dibawah ini.
- Nilai-nilai Bobot dari setiap komponen diatas adalah ketetapan atau konstanta yang dibuat oleh Function Point Internasional User Group (IFPUG)
TAHAP 2. Menghitung Relative Complexity Adjustment Factor (RCAF)
RCAF digunakan untuk menghitung bobot kompleksitas dari software berdasarkan 14 karakteristik.
Penilaian Komplesitas memilik skala 0 s/d 5
- 0 = Tidak Pengaruh
- 1 = Insidental
- 2 = Moderat
- 3 = Rata-rata
- 4 = Signifikan
- 5 = Essential
Berikut ini adalah 14 Karakteritik Software
NO | KARAKTERISTIK | BOBOT |
---|---|---|
1. | Tingkat kompleksitas Komunikasi Data | [0/1/2/3/4/5] |
2. | Tingkat kompleksitas Pemrosesan Terdistribusi | [0/1/2/3/4/5] |
3. | Tingkat kompleksitas Performance | [0/1/2/3/4/5] |
4. | Tingkat kompleksitas Konfigurasi | [0/1/2/3/4/5] |
5. | Tingkat Frekuensi Penggunaan Software | [0/1/2/3/4/5] |
6. | Tingkat Frekuensii Input Data | [0/1/2/3/4/5] |
7. | Tingkat Kemudaaan Pengunaan Bagi User | [0/1/2/3/4/5] |
8. | Tingkat Frekuensi Update Data | [0/1/2/3/4/5] |
9. | Tingkat Kompleksitas Prosesing Data | [0/1/2/3/4/5] |
10. | Tingkat Kemungkinan Penggunaan Kembali/Reusable Kode Program | [0/1/2/3/4/5] |
11. | 11. Tingkat Kemudahaan Dalam Instalasi | [0/1/2/3/4/5] |
12. | Tingkat Kemudahaan operasional software (backup, recovery, dsbny) | [0/1/2/3/4/5] |
13. | Tingkat Software dibuat untuk multi organisasi/perusahaan/client | [0/1/2/3/4/5] |
14. | Tingkat kompleksitas dalam mengikuti perubahaan/fleksibel | [0/1/2/3/4/5] |
TOTAL | ? |
- Karakteristik diatas merupakan ketetapan atau konstanta yang dibuat oleh Function Point Internasional User Group (IFPUG)
TAHAP 3 : Menghitung Function Point (FP)
Adalah proses melakukan perhitungan untuk mendapat nilai Function point dari sofrware yang akan dibangun
Rumus FP
- FP = CFP x (0.65 + 0.01 x RCAF)
Angka 0.65 dan 0.01 adalah ketetepan atau konstanta yang dibuat oleh Function Point Internasional User Group (IFPUG)
CONTOH KASUS PENGGUNAAN FUNCTION POINT DALAM PROJEK
Akan dibangun sebuah software dalam pengelolahan Sistem Informasi Sumber Daya Manusia yang rencanakan untuk mengelola karyawan dari jumlah 10 hingga 200 karyawan dan akan menghasilkan berbagai macam laporan seperti absensi karyawan,sallery karyawan dan sebagainya. Aplikasi ini sangat memungkinkan berinteraksi dengan perangkat keras absensi seperti Fingger Print serta menyediakan webservice agar Software Sumber Daya Manusia ini dapat berkolaborasi Software Menajemen Proyek yang telah berjalanan.
TAHAP 1. Menghitung Crude Function Points (CFP)
Klik Gambar Untuk Melihat Lebih Jelas
- Crude Function Points (CFP) yang didapat 923
TAHAP 2. Menghitung Relative Complexity Adjustment Factor (RCAF)
NO | KARAKTERISTIK | BOBOT |
---|---|---|
1. | Tingkat kompleksitas Komunikasi Data | 3 |
2. | Tingkat kompleksitas Pemrosesan Terdistribusi | 3 |
3. | Tingkat kompleksitas Performance | 5 |
4. | Tingkat kompleksitas Konfigurasi | 2 |
5. | Tingkat Frekuensi Penggunaan Software | 5 |
6. | Tingkat Frekuensii Input Data | 3 |
7. | Tingkat Kemudaaan Pengunaan Bagi User | 5 |
8. | Tingkat Frekuensi Update Data | 1 |
9. | Tingkat Kompleksitas Prosesing Data | 3 |
10. | Tingkat Kemungkinan Penggunaan Kembali/Reusable Kode Program | 3 |
11. | 11. Tingkat Kemudahaan Dalam Instalasi | 3 |
12. | Tingkat Kemudahaan operasional software (backup, recovery, dsbny) | 2 |
13. | Tingkat Software dibuat untuk multi organisasi/perusahaan/client | 3 |
14. | Tingkat kompleksitas dalam mengikuti perubahaan/fleksibel | 4 |
TOTAL | 45 |
TAHAP 3. Menghitung Function Point (FP)
FP = CFP x (0.65 + 0.01 x RCAF)
= 923 x (0.65 + (0.01 x 45))
= 1015.3
Nilai FP untuk proyek Software dalam pengelolahan Sistem Informasi Sumber Daya Manusia adalah 1015.3 FP
TAHAP 4. Konversi FP menjadi Biaya
Misalkan kita mempunyai table yang berisikan tarif untuk setiap nilaI FP sebagai berikut
NO | TIPE PROJEK | TARIF/FP | JAM/FP | ALOKASI SDM |
---|---|---|---|---|
1 | Web Profile | Rp. 20.000 | 1 | 2 |
2 | Sistem Informasi | Rp. 100.000 | 1 | 5 |
3 | E-Commerce | Rp. 40.000 | 1 | 2 |
Tabel tarif tersebut dihasilkan berdasarkan data history atau pengalaman dari perusahaan sendiri dalam developing software atau pengalaman perusahaan lain. Setiap perusahaan bisa berbeda-beda tarifnya karena bersifat subyektif,
Dan mengenai Tarif Rupiah per-FP setiap peruhaan bisa berbeda-berbeda tergantug dari kredibilitas perusahaan di pasar, semakin banyak berhasi menyelesaikan proyek sejenis atau memiliki produk yang laku di pasaran akan membuat tarif per FP nya meningkat.
Proyek Software dalam pengelolahan Sistem Informasi Sumber Daya Manusia adalah 1015.3 FP dengan Tarif Rupiah/FP untuk jenis Sistem Informasi adalah Rp. 100.000. Maka Dapat dihasilkan sebagai berikut.
- Estimasi Biaya Development Software : Rp 100.000 x 1015.3 = Rp. 101.530.000
- Estimasi Khusus Produksi Software : 1 Jam x 1015.3 = 1015 Jam atau 127 Hari Kerja (Asumsi 1 Hari Kerja sama dengan 8 Jam) atau 5 Bulan (Asumi 1 bulan 25 Hari Kerja)
Referensi
Mantabb..
ReplyDeleteArtikel function point nya detail banget..
lanjutkan bapak dendie.. hehehe..
semangatt :D
iya lengkap nih
DeleteMakasih bu iie :)
ReplyDeleteandalan refresnix mz,,,
ReplyDeletemau tany dalam tabel yang benar Internal apa External... dalam tabel nilai bobot itu internal tapi di Komponen-komponen Function Point terdiri dari 5 buah yaitu Eksternal...mohon pencerahannya....
ReplyDeleteEskternal yang benar mas
Deletemakasih buat koreksi nya..
mantep banget pemaparannya..
ReplyDeletebravo dendieisme.blogspot.com
Makasih :)
Deletemas bisa minta Contoh Pengukuran PL yang anda lakukan...sekalian contoh PL yang anda ukur(slide aja)..ni sebagai bahan Skripsi saya mas...sangat butuh bantuan nih...
ReplyDeletekalo misal tidak keberatan tolong dikirim imel mas
yohanzetta@gmail.com
Pengukuran PL yang menggunakan Function Point seperti yang ditulis di blog ini mas.
Deleteterimakasih ada pencerahan utk FP pi sekalian gambarkan dfd nya dunx
ReplyDeleteAlhamdulilah kalau bermanfaat, Makasih
DeleteMaaf saya mau tanya, bagaimana kita menentukan kalau input itu termasuk sederhana, menengah atau kompleks.
ReplyDeletelalu untuk file logic apakah dihitung per tabel dalam satu database atau dihitung satu database secara keseluruhan. padahal sistem umum biasanya hanya memiliki satu db.
dan di contoh, input itu kok banyak ya pak? bagaimana menentukan inputnya? apakah hanya dari input yang kita lihat di user interface, atau variabel yang di tiap method codingnya (parameter) juga dijadikan input?
ReplyDeletekeren, function point nya lengkap banget. :)
ReplyDeleteterimakasih.
BERMANFAAT BANGET,,,MAKASIH MIN...
ReplyDeletemaaf mau nanya Pak
ReplyDeletekalau mau menentukan level kompleksitas tipe output dll itu sederhana, menengah atau kompleks itu bagaimana ya???
Maaf pa boleh bertanya,?
ReplyDeleteKetika sudah mendapatkan hasil function point, misalkan 1500, selain menentukan biaya dan jumlah jam kerja, apa bisa mendapatkan seberapa kompleks kah sistem yang kita analisis dari nilai 1500 tersebut, misalkan jika hasil FPnya < 750 berarti sistem tersebut terhitung sistem sederhana, jika 7501250 termasuk Sistem Kompleks??
ReplyDeleteKetika sudah mendapatkan hasil function point, misalkan 1500, selain menentukan biaya dan jumlah jam kerja, apa bisa mendapatkan seberapa kompleks kah sistem yang kita analisis dari nilai 1500 tersebut, misalkan jika hasil FPnya < 750 berarti sistem tersebut terhitung sistem sederhana, Jika lebih dari 1250 termasuk sistem yang kompleks??
ReplyDeleteMau nanya pak, untuk berbasis LOC ada tidak pembahasannya pak ?
ReplyDeletebelum ada
ReplyDelete