JURNAL TEKNIK POMITS
1
PENENTUAN NILAI EFFORT RATE (ER) PADA METODE USE CASE POINT (UCP) UNTUK ESTIMASI EFFORT PROYEK PENGEMBANGAN PERANGKAT LUNAK DI BIDANG PENDIDIKAN Irine Dwi Kenestie, Sholiq Jurusan Sistem Informasi, Fakultas Tekhnologi Informasi, Institut Teknologi Sepuluh Nopember (ITS) Jl. Raya ITS Kampus ITS Sukolilo, Surabaya 60111 E-mail:
[email protected] Abstrak - Estimasi effort harus dilakukan oleh tim proyek untuk memprediksi berapa jumlah pekerja dan berapa lama waktu yang dibutuhkan, saat ini salah satu metode yang sering digunakan untuk perhitungan estimasi adalah metode Use Case Point (UCP). Metode UCP pertama kali di populerkan oleh Karner pada tahun 1993. Metode ini banyak digunakan karena berdasarkan beberapa hasil penelitian terkait UCP menjelaskan bahwa metode UCP lebih baik daripada metode yang dikembangkan oleh para ahli. Metode UCP mampu memberikan estimasi effort dengan melakukan perkalian antara nilai UCP dan nilai Effort Rate (ER). Nilai ER yang diusulkan oleh Karner adalah 20 staff-hours yang didapatkan dari tiga data dan hanya dilakukan perhitungan korelasi. Banyak penelitian dalam perhitungan nilai ER yang mengacu pada nilai yang diusulkan oleh Karner, namun hingga saat ini belum ada yang memperdebatkan asal dari nilai ER tersebut. Penelitian Tugas Akhir ini mengangkat peninjauan ulang nilai ER yang dibutuhkan proyek pengembangan perangkat lunak di bidang pendidikan. Dalam melakukan penelitian ini, dibutuhkan beberapa jumlah data terkait pengembangan proyek perangkat lunak di bidang pendidikan. Data tersebut digunakan untuk mencari nilai ER. Metode yang digunakan ialah dengan melakukan analisa korelasi dan persamaan linear. Metode ini akan digunakan untuk mencari hubungan pola dari masing-masing data, sehingga terbentuk suatu garis persamaan linear dan menghasilkan nilai tangen. Nilai tangen tersebut dapat digunakan untuk melakukan perhitungan terhadap nilai ER. Hasil akhir yang diharapkan dari penelitian ini berupa nilai ER baru yang didapatkan dari data representative dari Karner pada UCP untuk estimasi effort proyek pengembangan perangkat lunak pendidikan. Yang kemudian nilai ER dapat dijadikan acuan bagi pengembang software untuk melakukan estimasi effort dalam proyek pengembangan perangkat lunak pendidikan di masa mendatang. Kata kunci: Effort Rate (ER), Estimasi Effort, Use Case Point (UCP), Analisis Korelasi dan Persamaan Linier
I. PENDAHULUAN Saat ini, teknologi telah banyak berkembang, dibuktikan oleh semakin banyak proyek pembuatan perangkat lunak yang bermunculan. Salah satu tahapan terpenting dalam melakukan manajemen proyek perangkat lunak adalah tahapan planning atau perencanaan. Dalam tahapan planning, upaya dan estimasi sumber daya harus sangat diperhitungkan, dengan mempertimbangkan manusia (human resource), material, infrastruktur, waktu, dan anggaran (Barbosa, 2004). Akhir-akhir ini metode UCP menjadi topik menarik dalam estimasi proyek perangkat lunak. Metode Use Case Point (UCP) bukan metode baru, tetapi belum menjadi popular meskipun mudah untuk dipelajari. Metode UCP ini menarik
diperbincangkan karena berdasarkan hasil penelitian, menunjukkan bahwa metode UCP dapat berhasil digunakan untuk memperkirakan effort pengembangan perangkat lunak (Bente Anda, 2002). Metode UCP adalah metode yang mampu untuk memberikan estimasi effort (orang per jam) yang diperlukan untuk membuat suatu proyek (Karner, 1993), metode ini pertama kali dipopulerkan oleh Karner pada tahun 1993. Setelah mengalami banyak pengembangan yang telah dilakukan oleh beberapa penelitian membuktikan bahwa metode UCP lebih baik dari perkiraan para ahli (expert judgment). Perbandingan estimasi effort dengan upaya (effort) yang sebenarnya menggunakan metode UCP memiliki deviasi sebesar 19% (Karner, 1993), sementara estimasi para ahli memiliki deviasi sebesar 20% yang dipopulerkan oleh Anda (Bente Anda, 2002). Penelitian lain menunjukkan terjadi deviasi sebesar 6% yang dihasilkan oleh Nageswaran (Nageswaran, 2001). Pendapat terakhir yang dikemukakan oleh Carrol menunjukkan terjadi deviasi sebesar 9%. Metode UCP ini sangat penting untuk melakukan estimasi effort, dimana nilai dari estimasi effort didapat dari hasil perkalian antara nilai UCP dan nilai Effort Rate (ER). Nilai Effort Rate (ER) adalah nilai yang dijadikan variabel untuk menghitung effort. Effort Rate (ER) pertama kali dipopulerkan oleh karner pada tahun 1993, memiliki nilai 20 staff-hours yang dihasilkan dari penggunaan tiga data proyek pengembangan perangkat lunak (Karner, 1993). Pada tahun 1998 Schneider & Winters mengusulkan nilai ER sebesar 20, 28, dan 30 staff-hours dengan menggunakan dasar kompleksitas proyek yang mengacu pada Technical Complexity Factor (TCF) (Schneider, 1998). Diusulkan oleh Clemmons pada tahun 2006 nilai ER sebesar 18 staff-hours yang berdasarkan kualitas tim proyek dan data historis (Clemmons, 2006). Pada tahun 2011 nilai ER mengalami perkembangan yang berkisar antara 4 sampai 35 staff-hours yang dipopulerkan oleh Ochodek pada tahun 2011 berdasarkan dari perhitungan 14 proyek perangkat lunak yang telah selesai (Ochodeck, 2011). Setelah melalui berbagai penelitian terhadap perhitungan nilai ER, maka ditemukan adanya permasalahan, yakni para ahli dalam pengembangan penelitiannya masih menggunakan acuan nilai ER yang diusulkan oleh Karner, 20 staff-hours. Nilai ER tersebut didapatkan dari tiga data proyek pengembangan perangkat lunak dengan menggunakan analisis regresi (Karner, 1993). Dasar analisa dari tiga data yang diperoleh Karner tersebut masih bisa diperdebatkan lagi, karena Karner tidak menggunakan analisis korelasi antar data untuk membentuk persamaan regresi, sedangkan analisis
JURNAL TEKNIK POMITS regresi terhadap tiga data diskrit tersebut cenderung tidak akurat. Penelitian Tugas Akhir ini akan mengangkat pengkajian ulang terhadap nilai ER yang dibutuhkan proyek pengembangan perangkat lunak. Penelitian ini merupakan bagian dari proyek besar yang meliputi pengembangan perangkat lunak Pemerintahan, Rumah Sakit, dan proyek pengembangan Website Pemerintahan. Karena titik critical pada penelitian ini terdapat dalam hal pengumpulan data, sehingga perlu untuk di fokuskan terhadap satu domain. Oleh karena itu, penelitian ini mengangkat pengkajian ulang terhadap nilai ER terhadap proyek pengembangan perangkat lunak pendidikan.
II. KAJIAN PUSTAKA 2.1 Penelitian Effort Rate (ER) Sebelumnya
2 (Tockey, 2004). Definisi dari estimasi perangkat lunak adalah suatu kegiatan melakukan prediksi atau ramalan mengenai keluaran dari sebuah proyek dengan meninjau jadwal, usaha, biaya hingga ke resiko yang akan ditanggung dalam proyek (Tockey, 2004).
2.3 Metode Use Case Point (UCP) Gustav Karner mengembangkan metode Use Case Point (UCP) yang merupakan turunan atau adaptasi dari metode Function Point Analysis (FPA) yang tujuannya adalah untuk menyediakan metode estimasi sederhana yang disesuaikan dengan orientasi pada objek proyek perangkat lunak (Karner, 1993). Langkah-langkah yang dilakukan dalam proses estimasi effort dengan metode Use Case Point (UCP) digambarkan dalam Gambar 2.2 berikut ini:
Gambar 2. 1 Penelitian Nilai Effort Rate (ER) Sebelumnya
Dari Gambar 2.1 di atas dapat disimpulkan nilai Effort Rate (ER) yang digunakan oleh para peneliti memiliki variasi dengan dasar penentuan yang berbeda-beda. Karner mengusulkan nilai ER sebesar 20 staff-hours dengan menggunakan tiga data proyek pengembangan perangkat lunak (Karner, 1993). Schneider & Winters mengusulkan nilai ER sebesar 20, 28 dan 36 staff-hours menggunakan dasar kompleksitas proyek dengan mengacu pada Technical Complexity Factor (TCF) (Schneider and Winters, 19989). Clemmons mencontohkan nilai ER sebesar 18 staff-hours dengan menggunakan dasar kualitas personil tim dan data historis (Clemmons, 2006). Ochodek mendapatkan nilai ER berkisar antara 4 sampai 35 staff-hours yang dihitung dari proyek-peroyek yang telah dilakukan. Peneliti lainnya dalam penelitiannya ada yang menggunakan nilai ER yang diusulkan Karner atau Schneider & Winter, ada juga yang menggabungkan keduanya. Dan menurut Clemmons dan Ochodek jika tidak ada data historis (data proyek masa lalu)maka diharuskan menggunakan nilai default yang diusulkan oleh Karner yaitu 20 staff-hours. Nilai Effort Rate (ER) yang digunakan oleh sebagaian besar peneliti yaitu sebesar 20 staff-hours seperti yang pertama kali diusulkan oleh Karner, namun Karner hanya menggunakan tiga data proyek pengembangan perangkat lunak dengan menggunakan analisis regresi. Analisis regresi dengan menggunakan tiga data diskrit cenderung tidak akurat. Analisis korelasi antar data untuk membentuk persamaan regresi juga tidak dilakukan.
2.2 Estimasi Effort Perangkat Lunak Terdapat beberapa aspek penting dalam tahapan planning pada pelaksanan proyek perangkat lunak, salah satunya yaitu melakukan estimasi atau perkiraan, baik dari segi biaya, waktu maupun sumber daya. Definisi dari estimasi adalah sebuah pengukuran yang didasarkan pada hasil secara kuantitatif atau dapat diukur dengan angka tingkat akurasinya
Gambar 2. 2 Langkah-langkah Metode Use Case Point (UCP)
2.3.1 Menghitung Unadjusted Use Case Point (UUCP) Unadjusted Use Case Point (UUCP) didapatkan dari penjumlahan Unadjusted Use Case Weights (UUCW) dengan Unadjusted Actor Weights (UAW). UUCP = UUCW + UAW 1) Unadjusted Use Case Weights (UUCW) Langkah pertama adalah menentukan kategori use case apakah sebagai simple, medium atau complex. Tergantung dari jumlah transaksi yang dilakukan dalam deskripsi use case. Tabel 2. 1 Tipe, Bobot dan Deskripsi Use Case
Tipe Use Case Simple Medium
Bobot
Deskripsi Use Case
Menggunakan ≤ 3 transaksi Menggunakan 4 sampai 7 transaksi Complex 15 Menggunakan > 7 transaksi Total Unadjusted Use Case Weights (UUCW) didapat dari menghitung berapa banyak (total) use case dari masing-masing tipe (tingkat kompleksitas) dikali dengan bobot masing-masing tipe sesuai dengan Tabel 1. 2) Unadjusted Actor Weights (UAW) Langkah pertama adalah menentukan kategori aktor apakah sebagai simple, medium atau complex. 5 10
Tabel 2. 2 Tipe, Bobot dan Deskripsi Actor
Tipe Aktor
Bobot
Deskripsi Aktor
JURNAL TEKNIK POMITS Simple
3
1
Berinteraksi melalui API, seperti Command Prompt Medium 2 Berinteraksi melalui Protokol, seperti TCP/IP Complex 3 Berinteraksi melalui GUI atau Web Page Total Unadjusted Actor Weights (UAW) didapat dari menghitung berapa banyak (total) actor dari masing-masing tipe (tingkat kompleksitas) dikali dengan bobot masingmasing tipe sesuai dengan Tabel 2.
proyek tersebut merupakan proyek baru dan tidak terdapat data histori yang telah terkumpul, maka digunakan nilai yang berkisar antara 15 sampai 30. Namun, nilai yang paling sering dipakai adalah angka 20 [13]. Rumus perhitungan estimasi effort menggunakan metode UCP adalah sebagai berikut :
Apabila nilai ER dihitung dari satu proyek saja maka nilai ER didapatkan dari pembagian antara nilai actual effort dengan nilai UCP, sebagai berikut :
2.3.2 Menghitung Technical Complexity Factor (TCF) Tabel 2. 3 Technical Factor dan Bobot
Technical Factor Bobot Distributed System Required 2 Response Time Is Important 1 End User Efficiency 1 Complex Internal Processing Required 1 Reusable Code Must Be A Focus 1 Installation Easy 0.5 Usability 0.5 Cross-Platform Support 2 Easy To Change 1 Highly Concurrent 1 Custom Security 1 Dependence On Third-Part Code 1 User Training 1 Nilai-nilai pada technical factor tersebut dikalikan dengan bobot nilai masing-masing, kemudian dijumlah untuk mendapatkan Total Technical Factor (TF), yang kemudian digunakan untuk mendapatkan nilai Technical Complexity Factor (TCF). 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
TCF = 0.6 + (0.01*TF)
2.3.3 Menghitung Environmental Complexity Factor (ECF)
2.4 Analisis Regresi dan Korelasi 2.4.1 Regresi Analisis regresi merupakan hubungan ketergantungan antara satu variabel tak bebas (dependent variabel) dengan satu atau lebih variabel bebas (independent variabel) dengan tujuan untuk memperkirakan nilai rata-rata dari variabel tak bebas, apabila variabel bebasnya sudah diketahui [15]. Variabel bebas dilambangkan dengan X dan variabel tak bebas dilambangkan Y. Untuk mengetahui hubungan antara variabel bebas dengan variabel tak bebas dengan mencari bentuk terdekat dari hubungan tersebut dalam sebuah diagram pencar, dimana setiap datanya dinyatakan dalam bentuk koordinat (x,y). Berikut persamaan matematiknya:
2.4.2 Korelasi Analisis korelasi merupakan analisis terhadap kekuatan hubungan antara variabel bebas X dengan variabel tak bebas Y. Umumnya analisis korelasi digunakan, dalam hubungannya dengan analisis regresi, untuk mengukur ketepatan garis regresi dalam menjelaskan variasi nilai variabel dependent. Koefisien korelasi linier adalah ukuran hubungan linier antara satu variabel x dengan satu variabel y, dan dilambangkan dengan “r”[15]. Berikut rumus untuk mengukur koefisien korelasi:
Tabel 2. 4 Environmental Factor dan Bobot
Environmental Factor
Bobot
1. 2. 3. 4. 5. 6. 7. 8.
Familiarity with the Project 1.5 Application Experience 0.5 OO Programming Experience 1 Lead Analyst Capability 0.5 Motivation 1 Stable Requirements 2 Part Time Staff -1 Difficult Programming Language -1 Nilai-nilai pada enviromental factor tersebut dikalikan dengan bobot nilai masing-masing, kemudian dijumlah untuk mendapatkan Total Enviromental Factor (EF), yang kemudian digunakan untuk mendapatkan Enviromental Complexity Factor (ECF). ECF = 1.4 + (-0.03*EF)
2.3.4 Menghitung Effort Rate (ER) Effort rate adalah rasio jumlah staff-hours per use case point berdasarkan proyek-proyek di masa lalu. Jika
III. METODOLOGI
JURNAL TEKNIK POMITS
4 Start
Penggalian Informasi
Actual Effort
UCP
Analisis Korelasi dan Persamaan Linear
Untuk mendapatkan hasil Unadjusted Use Case Point (UUCP), maka dilakukan pembobotan dan skoring terkait kompleksitas use case dan actor ditinjau dari use case diagram. Skoring dihitung berdasarkan parameter-parameter yang telah ditentukan. b) Menghitung Technical Complexity Factor (TCF) dan Environmental Complexity Factor (ECF) Untuk mengetahui Technical dan Environmental ComplexityFactor, telah ada beberapa parameter pengukuran dengan disertai bobotnya. Namun untuk pemberian nilai terhadap masing-masing parameter tersebut membutuhkan penilaian obyektif yang didapatkan melalui manajer proyek atau tim proyek. Output dari pehitungan Use Case Point (UCP) yaitu nilai UCP dari masing-masing proyek, berikut rumusnya: UCP = TCF * ECF * UUCP
Effort Rate (ER)
3.4 Analisis Korelasi dan Persamaan Linier End
Gambar 3. 1 Flowchart Metode Penelitian
3.1 Penggalian Informasi Penggalian informasi digunakan untuk mendapatkan data-data yang digunakan dalam pengerjaan tugas akhir. Dilakukan dengan dua cara yakni, wawancara dan review dokumen. a) Wawancara
Output dari hasil wawancara ini nantinya diperoleh data mengenai jumlah lama waktu pengerjaan proyek, dan jumlah pegawai yang dibutuhkan untuk pengerjaan proyek, serta faktor-faktor yang mempengaruhi (faktor teknikal dan faktor lingkungan). b) Kuisioner Output dari hasil kuisioner ini nantinya diperoleh faktor-faktor yang mempengaruhi (faktor teknikal dan faktor lingkungan) beserta bobot masing-masing faktor pada pengerjaan proyek perangkat lunak. c) Review Dokumen Output dari review dokumen ini adalah diperoleh hasil list-list use case yang dibutuhkan. Kemudian hasil dokumen ini dapat digunakan untuk menghitung Use case point (UCP).
3.2 Perhitungan Actual Effort Setelah mendapatkan data yang dibutuhkan, maka langkah selanjutnya dilakukan perhitungan actual effort untuk mengetahui nilai actual effort dari masing-masing proyek. Perhitungan actual effort dilakukan dengan rumus sebagai berikut: Actual Effort = ∑ Pegawai * ∑ Anggota tim proyek
3.3 Perhitungan Use Case Point (UCP) Dari data yang didapatkan dari kuisioner dan review dokumen yaitu list use case, actor, techinal factor dan environmental factor, maka dilakukan perhitungan Use Case Point (UCP). Berikut merupakan langkah-langkah yang harus dilakukan dalam menghitung nilai UCP: a) Menghitung Unadjusted Use Case Point (UUCP)
Korelasi merupakan teknik statistik yang digunakan untuk meguji ada/tidaknya hubungan serta arah hubungan dari dua variabel atau lebih. Regresi merupakan analisis lanjutan dari korelasi untuk menguji sejauh mana pengaruh variabel independen terhadap variabel dependen setelah diketahui ada hubungan antara variabel tersebut. Perhitungan Korelasi dan Regresi dengan menggunakan SPSS dilakukan untuk mengetahui apakah hasil dari perhitungan sudah valid. Serta untuk mencari variabelvariabel bebas mana saja yang saling terikat atau berhubungan dan mengetahui bentuk hubungan tersebut. Output yang didapatkan dari tahapan ini adalah mengetahui korelasi dan persamaan linier antara nilai UCP dengan nilai actual effort. Selanjutnya digunakan untuk mengetahui nilai tangen atau ER.
3.5 Perhitungan Nilai Effort Rate (ER) Setelah korelasi nilai actual effort dan nilai UCP diketahui, serta persamaan linier diketahui, maka selanjutnya nilai ER dari proyek pembuatan perangkat lunak dapat diketahui dengan melakukan perhitungan: (
)
IV. HASIL DAN PEMBAHASAN 4.1 Hasil 4.1.1 Inisialisasi Proyek Perangkat Lunak Pada penelitian ini, studi kasus yang diteliti yaitu studi kasus proyek pengembangan perangkat lunak di bidang Pendidikan, antara lain dapat dilihat pada Tabel 4.1. Tabel 4. 1 Inisialisasi Proyek Pengembangan Perangkat Lunak
Kode Proyek 1
2
Nama Proyek Perangkat Lunak Aplikasi Kenaikan Jabatan Fungsional Dosen DI Jurusan Sistem Informasi ITS Sistem Administrasi Kesiswaan Madrasah Aliyah di Pondok Pesantren Amanatul
Teknologi JSP, MySQL
PHP, MySQL
JURNAL TEKNIK POMITS Kode Proyek
3
4
5
5
Nama Proyek Perangkat Lunak Ummah Surabaya Sistem Informasi Kemahasiswaan Dan Alumni Untuk Pengembangan Sistem Informasi Terintegrasi Sesuai Kebutuhan Pengisian Borang Akreditasi BAN-PT Pada Jurusan Sistem Informasi ITS Sistem Monitoring Tugas Akhir (TA) Untuk Pengembangan Sistem Informasi Terintegrasi Sesuai Kebutuhan Pengisian Borang Akreditasi BAN-PT Pada Jurusan Sistem Informasi ITS. Sistem Pendokumentasian Kegiatan Penelitian, Pelayanan/Pengabdian Masyarakat, dan Sistem Kerjasama Untuk Pengembangan Sistem Infromasi Terintegrasi Sesuai Kebutuhan Pengisian Borang Akreditasi BAN-PT Pada Jurusan Sistem Informasi ITS
6
Aplikasi Mobile School Social Network
7
School Social Network
Teknologi
JSP, MySQL
Untuk mendapatkan nilai Unadjusted Use Case Point (UUCP) perlu dilakukan perhitungan terlebih dahulu terhadap Unadjusted Use Case Weight (UUCW) dan Unadjusted Actor Weight (UAW). Rumus untuk menghitung Unadjusted Use Case Point (UUCP) yaitu : UUCP = UUCW + UAW
1) Unadjusted Use Case Weight (UUCW)
JSP, MySQL
Nilai Unadjusted Use Case Weight (UUCW) didapat dari menghitung berapa banyak (total) use case dari masingmasing tipe (tingkat kompleksitas) dikali dengan bobot masing-masing tipe. Berikut hasil perhitungan nilai UUCW dari keseluruhan proyek pengembangan perangkat lunak di bidang Pendidikan pada penelitian ini dapat dilihat pada Tabel 4.3. Tabel 4. 3 Nilai UUCW masing-masing Proyek
JSP, MySQL
Kode Proyek 1 2 3 4 5 6 7
UUCW 125 160 160 340 345 260 175
2) Unadjusted Actor Weight (UAW) PHP, JAVA, HTML, CSS PHP, JAVA, HTML, CSS
Nilai actual effort proyek perangkat lunak didapatkan dari hasil wawancara yang dilakukan kepada tim pengembang proyek perangkat lunak. Kemudian hasil wawancara berupa informasi jumlah pekerja dan jumlah waktu yang dibutuhkan untuk menyelesaikan proyek perangkat lunak tersebut dikalikan, maka didapatkan nilai actual effort. Berikut nilai actual effort dari keseluruhan proyek perangkat lunak di bidang Pendidikan pada penelitian ini dapat dilihat pada Tabel 4.2. Tabel 4. 2 Nilai Actual Effort masing-masing Proyek
Actual Effort (staff/hours) 2355 2208 3350 3344
4568 2532 2340
4.1.3 Use Case Point (UCP) Estimation 4.1.3.1 Nilai Unadjusted Use Case Point (UUCP)
4.1.2 Nilai Actual Effort
Kode Proyek 1 2 3 4
5 6 7
Nilai Unadjusted Actor Weight (UAW) didapat dari menghitung berapa banyak (total) actor dari masing-masing tipe (tingkat kompleksitas) dikali dengan bobot masingmasing tipe. Berikut hasil perhitungan nilai UAW dari keseluruhan proyek pengembangan perangkat lunak di bidang Pendidikan pada penelitian ini dapat dilihat pada Tabel 4.4. Tabel 4. 4 Nilai UAW masing-masing Proyek
Kode Proyek 1 2 3 4 5 6 7
UAW 9 12 18 15 9 15 15
Setelah diketahui nilai UUCW dan UAW lalu dilakukan perhitungan nilai Unadjusted Use Case Point (UUCP) dengan menjumlahkan nilai UUCW dan UAW. Berikut hasil perhitungan nilai UUCP dari keseluruhan proyek pengembangan perangkat lunak di bidang Pendidikan pada penelitian ini dapat dilihat pada Tabel 4.5.
JURNAL TEKNIK POMITS
6
Tabel 4. 5 Nilai UUCP masing-masing Proyek
Kode Proyek 1 2 3 4 5 6 7
UUCW
UAW
9 12 18 15 9 15 15
125 160 160 340 345 260 175
UUCP (UUCW+UAW) 134 172 178 355 354 275 190
4.1.3.2 Nilai Technical Complexity Factor (TCF) Nilai dari faktor teknis ini didapatkan dari kuisioner terhadap pihak pengembang proyek perangkat lunak. Kemudian nilai pada technical factor tersebut dikalikan dengan bobot masing-masing faktor, selanjutnya dijumlah untuk mendapatkan Total Technical Factor (TF), yang kemudian digunakan untuk mendapatkan nilai Technical Complexity Factor (TCF) dengan rumus perhitungan sebagai berikut: ( )
7.
0.62
4.1.3.4 Nilai Use Case Point (UCP) Setelah dilakukan perhitungan nilai UUCP, TCF dan EFC selanjutnya dilakukan perhitungan nilai Use Case Point (UCP) yaitu dengan mengalikan nilai UUCP, TCF dan EFC yang telah diketahui. Berikut hasil perhitungan nilai UCP dari keseluruhan proyek pengembangan perangkat lunak di bidang Pendidikan pada penelitian ini dapat dilihat pada Tabel 4.8. Tabel 4. 8 Nilai UCP masing-masing Proyek
Kode Proyek 1. 2. 3. 4. 5. 6. 7.
UUCP
TCF
ECF
134 172 178 355 354 275 190
1.085 1.055 1.14 0.99 1.005 1.13 1.14
0.995 0.77 0.86 0.875 0.92 0.8 0.62
UCP (UUCP*TCF*ECF)
144.7 139.7 174.5 307.5 327.3 248.6 134.3
4.1.4 Effort Rate (ER) Berikut ini hasil perhitungan nilai TCF dari keseluruhan proyek pengembangan perangkat lunak di bidang Pendidikan pada penelitian ini dapat dilihat pada Tabel 4.6. Tabel 4. 6 Nilai TCF masing-masing Proyek
Kode Proyek 1. 2. 3. 4. 5. 6. 7.
TCF 1.085 1.055 1.14 0.99 1.005 1.13 1.14
4.1.3.3 Nilai Technical Complexity Factor (ECF) Nilai dari faktor lingkungan ini didapatkan dari kuisioner terhadap pihak pengembang proyek perangkat lunak. Kemudian nilai pada environmental factor tersebut dikalikan dengan bobot masing-masing faktor, selanjutnya dijumlah untuk mendapatkan Total Environmental Factor (EF), yang kemudian digunakan untuk mendapatkan nilai Environmental Complexity Factor (ECF) dengan rumus perhitungan sebagai berikut: ECF = 1,4 + (-0,03 * EF) Berikut ini hasil perhitungan nilai ECF dari keseluruhan proyek pengembangan perangkat lunak di bidang Pendidikan pada penelitian ini dapat dilihat pada Tabel 4.7. Tabel 4. 7 Nilai ECF masing-masing Proyek
Kode Proyek 1. 2. 3. 4. 5. 6.
ECF 0.995 0.77 0.86 0.875 0.92 0.8
Untuk menghitung Effort Rate (ER) yaitu menggunakan nilai actual effort dan nilai UCP, kemudian dilakukan analisis korelasi dan persamaan linier (garis regresi). Berikut nilai actual effort beserta nilai UCP dari keseluruhan proyek pengembangan perangkat lunak di bidang Pendidikan pada penelitian ini dapat dilihat pada Tabel 4.9. Tabel 4. 9 Nilai Actual Effort dan UCP masing-masing Proyek
Kode Proyek 1. 2. 3. 4. 5. 6. 7.
Actual Effort
UCP
2355 2208 3350 3344 4568 2532 2340
144.7 139.7 174.5 307.5 327.3 248.6 134.3
4.1.4.1 Analisis Korelasi Berikut hasil analisis korelasi antara nilai actual effort dengan nilai UCP dari keseluruhan proyek pengembangan perangkat lunak di bidang Pendidikan pada penelitian ini dapat dilihat pada Gambar 4.1.
JURNAL TEKNIK POMITS
Gambar 4. 1 Hasil Korelasi Nilai Actual Effort dengan Nilai UCP
Dari hasil output SPSS terlihat bahwa koefisien korelasi Pearson sebesar 0,791 dimana dapat disimpulkan bahwa antara nilai actual effort dengan nilai UCP terdapat hubungan korelasi. Hubungan korelasi antara kedua variabel tersebut adalah sangat kuat yang ditunjukkan dengan nilai korelasi mendekati +1. Dengan Sig.(2-tailed) sama dengan 0.00 < 0.05 dapat disimpulkan bahwa terdapat hubungan yang signifikan antara kedua variabel.
4.1.4.2 Persamaan Linier (Regresi) Berikut hasil regresi dan persamaan linier antara nilai actual effort dengan nilai UCP dari keseluruhan proyek pengembangan perangkat lunak di bidang Pendidikan pada penelitian ini dapat dilihat pada Gambar 4.2 dibawah ini.
7
Gambar 4. 3 Kurva Nilai Actual Effort dengan Nilai UCP
Dari hasil output SPSS pada Gambar 4.3 terlihat bahwa kurva membentuk garis lurus/linier dengan scatterplot mendekati garis namun menyebar, hal ini dikarenakan diketahui besar hasil korelasi sebesar 0,791. Berdasarkan tabel Anova pada Gambar 4.2 diatas dapat dilihat dari nilai F = 8,341 dan dibandingkan dengan Ftabel (df1:1, df2:5) serta diketahui besarnya signifikan = 0.00 < 0.05 maka artinya persamaan regresi dapat digunakan untuk prediksi [17]. Pada analisis regresi, terdapat variabel terikat (dependen) dan variabel bebas (independen). Variabel terikat pada analisa regresi ini yaitu nilai actual effort (y), sedangkan variabel bebas yaitu nilai UCP (x). Berdasarkan tabel Coefficient pada Gambar 4.2 yang telah dijelaskan diatas dapat dilihat pada kolom B, Constant = 1230.787 dan UCP = 8.182. Sehingga persamaan liniernya adalah:
4.1.4.3 Nilai Effort Rate (ER) Setelah korelasi antara nilai actual effort dengan nilai UCP diketahui, serta persamaan linier telah dibentuk, maka selanjutnya nilai Effort Rate (ER) dari proyek pengembangan perangkat lunak di bidang Pendidikan dapat diketahui dengan melakukan perhitungan nilai tangen θ. Langkah pertama yaitu mengambil garis singgung dari scatterplot pada garis regresi tersebut. Pada persamaan linier ini akan diambil nilai y1,x1 dan y2,x2. Perhitungan garis singgung seperti berikut: Persamaan linier: Gambar 4. 2 Tabel Anova dan Tabel Coefficients dalam SPSS
Diketahui: Maka:
x1 = 134.3 y1 = 1230.787 + 8.182 * 134.3 = 1230.787 + 1098.8426 = 2329.6296 Diketahui: x2 = 327.3 Maka: y2 = 1230.787 + 8.182 * 327.3 = 1230.787 + 2677.9686 = 3908.7556 Setelah mengetahui nilai y1,x1 dan y2,x2 maka langkah selanjutnya yaitu mencari nilai ER dengan melakukan perhitungan nilai tangen θ. Perhitungan nilai ER atau nilai tangen θ seperti berikut: (
)
JURNAL TEKNIK POMITS Diketahui:
y1 = 2329.6296 y2 = 3908.7556 x1 = 134.3 x2 = 327.3
Maka: (
)
(
)
(
)
(
)
Dari perhitungan di atas telah diketahui nilai Effort Rate (ER) proyek pengembangan di bidang Pendidikan sebesar .
4.2 Pembahasan 4.2.1 Analisis Nilai Effort Rate (ER) Pada penelitian peninjauan ulang nilai Effort Rate (ER) proyek perangkat lunak di bidang Pendidikan ini didapatkan nilai ER sebesar 8.1. Nilai ER tersebut jauh lebih kecil dibandingkan oleh nilai ER yang dikemukakan oleh Karner yaitu sebesar 20. Hal ini dimungkinkan karena beberapa alasan, sebagai berikut: 1) Metode software engineering Metode software enginering memberikan teknik-teknik bagaimana mengembangkan perangkat lunak. Terdiri dari serangkaian tugas seperti perencanaan dan estimasi proyek. Ada banyak macam model dalam metode pengembangan perangkat lunak, yaitu waterfall, prototyping, spiral dan lainlain. Dengan adanya metode pengembangan perangkat lunak atau yang disebut dengan System Development Life Cycle (SDLC) akan memudahkan pengembang proyek perangkat lunak dalam mengakomodasi beberapa kebutuhan. Selain itu pekerjaan dapat dilakukan dalam pola yang tepat, produk dicapai dalam waktu yang telah ditentukan dan biaya menjadi efektif. Misalnya seperti pada Proyek 1 menggunakan metode Extreme Programming (XP), Proyek 2 menggunakan Waterfall, dan Proyek 3 menggunakan metode Unifed Process (UP). 2) Teknologi software engineering Semakin berkembangnya teknologi informasi maka semakin berkembang pula tool untuk membantu dalam mendevelop perangkat lunak. Jika dahulu programmer mengetik baris-baris program dalam console atau layar gelap, kini tinggal memilih software tool pembuatan pemograman sesuai bahasa pemograman yang dipilih. Selain itu, kini dapat mengetik baris program, mendesain tampilan (interface), mengkompilasinya, dan kemudian membuat file executable (.exe) serta mengkoneksikannya dengan database. Telah banyak software tool yang dapat membantu dalam pengembangan perangkat lunak. Berikut kegiatankegiatan dalam pengembangan perangkat lunak yang dapat
8 dimudahkan karena kemajuan teknologi software enginering: a. Membuat rencana proyek Salah satu software tool yang dapat digunakan untuk membuat rencana proyek yaitu Microsoft Project. Pada tool tersebut telah disediakan fitur-fitur dalam menyusun rencana kegiatan proyek dari awal sampai akhir (finish), beserta peran-peran yang terlibat dalam proyek tersebut. b. Analisa kebutuhan Pada tahap kegiatan analisa kebutuhan, telah ada beberapa software tool untuk memudahkan pengembang dalam kegiatannya. Beberapa tool yang digunakan pada kegiatan analisa kebutuhan yaitu Ms. Visio, Process analyst dan lain-lain. Pada proses pembuatan analisa kebutuhan, pengembang hanya perlu melakukan drag and drop pada tool tersebut. c. Desain tampilan dan basis data Untuk mendesain tampilan maupun basis data telah ada tool, seperti Netbeans, Dreamweaver, SQL, Xampp, EnterpriseArchitecture(EA), Power Designer. Sehingga dapat memudahkan pengembang dalam medefinisikan kebutuhan ke dalam sistem. d. Membuat kode program (coding) Pembuatan kode program lebih dipermudah dengan adanya bahasa coding seperti PHP, ASP, Java dan lain-lain. Serta software tool yang dapat mendukung bahasa coding tersebut, antara lain: Eclipse, Netbeans, JDeveloper, Visual Studio dan masih banyak lainnya. e. Membuat database Dalam membuat database, kini telah banyak jenis basis data yaitu MySQL, Oracle, PostgreSQL dan lain-lain. Selain itu ada software tool yang dapat digunakan untuk menunjang basis data tersebut, seperti SQLyog, SQL Developer, DbVisualizer dan lain-lain. 3) Software by component Saat ini para pengembang perangkat lunak dalam mendevelop perangkat lunak dimudahkan juga dengan menggunakan komponen-komponen yang telah ada. Komponen tersusun atas kelas-kelas yang re-usable dan bersifat iteratif. Sebagai contoh, Microsoft Vsual Basic versi 5.0 telah menyediakan teknologi komponen Microsoft ActiveX yang bertujuan untuk digunakan di internet, intranet dan lingkungan tradisional client. 4) Source dari internet Berbagai literatur bisa didapatkan dari internet. Selain itu source code juga dapat dicari di internet, hal tersebut dapat memudahkan pengembang perangkat lunak dalam hal melakukan tahapan kegiatan-kegiatan pengembangan perangkat lunak. Serta adanya referensi dan contoh proyek perangkat lunak yang serupa atau memiliki jenis yang sama dengan perangkat lunak yang sedang dikembangkan sehingga dapat dijadikan rujukan dalam pengembangan perangkat lunak dan dapat mengefisiensi waktu pengerjaan. Dengan beberapa alasan yang telah dijabarkan di atas, dapat terlihat bahwa saat ini effort yang dibutukan pengembang perangkat lunak tidak sebesar effort yang dibutuhkan pada jaman dahulu, karena adanya perkembangan teknologi yang pesat.
JURNAL TEKNIK POMITS
9
4.2.2 Perbandingan Cara Perhitungan Use Case Pada jurnal Ochodek tahun 2011 dilakukan perhitungan estimasi effort dengan metode Use Case Point (UCP), dalam penelitian tersebut juga dilakukan perhitungan nilai ER. Ochodek melakukan perhitungan dengan dua pendapat, yaitu transactions (T) dan steps (S) [8]. Transactions dikemukan oleh Robiolo dimana transaction diidentifikasi menggunakan pendekatan stimulus dan kata kerja (aktivitas) antara actor dan sistem [29]. Sedangkan steps, tanpa mengacu pada use case lainnya (include dan extend relations), jumlah use case sebelum review spesifikasi ditempatkan dalam satu golongan. Perhitungan use case dengan dua pendapat tersebut menghasilkan nilai ER yang berbeda. Nilai ER steps cenderung lebih kecil dibandingkan dengan nilai ER transaction. Selain itu dengan menggunakan 14 proyek perangkat lunak, didapatkan hasil nilai ER yang bervariasi, antara nilai 3 sampai dengan 35 [8]. Berikut hasil perhitungan nilai Productivity Factor (PF) yang dilakukan oleh Ochodeck pada tahun 2011 dapat dilihat pada Gambar 4.9 dibawah ini.
Gambar 4. 5 Hasil Perhitungan Korelasi dari SPSS dari Data yang Dikemukakan Ochodeck
Dari hasil output SPSS pada Gambar 4.5 diatas terlihat bahwa koefisien korelasi Pearson sebesar 0,820 dimana dapat disimpulkan bahwa antara nilai actual effort dengan nilai UCP terdapat hubungan korelasi. Hubungan korelasi antara kedua variabel tersebut adalah sangat kuat yang ditunjukkan dengan nilai korelasi mendekati +1.
Gambar 4. 4 Nilai ER Penelitian Ochodek
Kemudian diketahui nilai dari Actual Effort dan UCP yang ditunjukan oleh Ochodeck, nilai Actual Effort dan UCP dapat dilihat pada Tabel 4.10 berikut. Tabel 4. 10 Nilai Actual Effort dan UCP dari Perhitungan yang Dilakukan Oleh Ochodeck
No 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
Kode Proyek A B C D E F G H I J K L M N
Actual Effort 3037 1917 1173 742 614 492 277 3593 1681 1344 1220 720 514 397
UCP 148 55 76 105 63 44 22 304 80 74 89 50 31 95
Dari data tersebut dilakukan perhitungan pada SPSS kemudian diketahui nilai korelasi dan regresi dari 14 proyek yang dikemukakan oleh Ochodeck.
Gambar 4. 6 Hasil Perhitungan Regresi dari SPSS dari Data yang Dikemukakan Ochodeck
Dari hasil output SPSS pada Gambar 4.6 diatas terlihat bahwa kurva membentuk garis lurus/linier dengan scatterplot mendekati garis. Berdasarkan tabel Anova pada Gambar 4.5 dapat dilihat dari nilai F = 8,341, maka artinya persamaan regresi dapat digunakan untuk prediksi. Kemudian diketahui nilai Effort Rate (ER) yang dihasilkan dari 14 proyek sebesar 24.725 staff-hours. Nilai ER yang ditemukan dalam Tugas akhir ini sebesar 8.182 staff-hours. Perbedaan nilai yang cukup besar ini kemungkinan disebabkan karena adanya perbedaan jumlah data yang diolah, pada penelitian yang dikemukakan oleh Ochodeck dilakukan perhitungan terhadap 14 data proyek perangkat lunak, sedangkan dalam tugas akhir ini perhitungan hanya dilakukan pada 7 data perangkat lunak dalam bidang pendidikan. Selain perbedaan jumlah data, kemungkinan dari perbedaan nilai ER juga disebabkan oleh penelitian yang dilakukan oleh Ochodeck dilakukan di luar negeri, dimana pengembangan proyek perangkat lunak disana lebih menekankan metode pembuatan perangkat lunak, sedangkan di Indonesia proyek pengembangan perangkat lunak tidak menekankan metode yang digunakan.
JURNAL TEKNIK POMITS V. KESIMPULAN DAN SARAN
5.1 Kesimpulan Kesimpulan yang dapat diambil dari pengerjaan Tugas Akhir ini ialah ditemukannya nilai Effort Rate (ER) baru sebesar 8.182 staff-hours. Kemudian diketahui nilai actual effort dan UCP dari proyek pengembangan perangkat lunak diantaranya nilai actual effort sebesar 1230.787 dan nilai UCP sebesar 8.182. Nilai actual effort didapatkan dari hasil wawancara dengan pihak pengembang proyek perangkat lunak di bidang pendidikan yang diutamakan kepada project manager / project leader. Sedangkan untuk nilai UCP sendiri didapatkan dari dokumen use case atau dokumen flow of events proyek perangkat lunak dibidang pendidikan. Setelah diketahui nilai actual effort dan UCP maka diketahui nilai persamaan linear y = 1230.787 + 8.182x. Dari perhitungan melalui SPSS diketahui pula korelasi antara nilai actual effort dan UCP pada penelitian ini sebesar 0.791, dan dapat disimpulkan hubungan kedua variabel tersebut kuat dan berbanding lurus. Setelah mendapatkan nilai ER dari 7 data proyek perangkat lunak pendidikan dan kemudian dibandingkan dengan nilai ER yang ditemukan oleh Karner terdapat perbedaan nilai yang cukup jauh. Hal ini dimungkinkan karena beberapa faktor yakni, semakin berkembangnya teknologi informasi, banyaknya model metode pengembangan perangkat lunak, adanya komponen pembuatan software, adanya framework, dan tersedianya source code dari internet yang memudahkan tim pengembang proyek perangkat lunak, sehingga membuat nilai effort yang dibutuhkan semakin kecil pula. Faktor pengembangan teknologi ini menghasilkan banyaknya source code repository yang memudahkan tim proyek untuk melakukan pengembangan perangkat lunak, bahkan hingga nantinya nilai effort tidak dapat digunakan sebagai acuan lagi untuk melakukan pengembangan proyek perangkat lunak. Sehingga nantinya yang akan menjadi acuan dari tim proyek pengembangan perangkat lunak adalah aspek keindahan desain dan kemudahan penggunaan aplikasi dari proyek perangkat lunak yang akan dibangun.
5.2 Saran Beberapa hal yang diharapkan dapat dikembangkan untuk penelitian berikutnya, yaitu: 1. Perlu dilakukan penelitian kembali dengan data proyek pengembangan perangkat lunak yang berskala medium atau large. 2. Jumlah studi kasus proyek pengembangan perangkat lunak yang digunakan untuk penelitian selanjutnya diharapkan diperbanyak jumlahnya, yaitu 30 data proyek pengembangan perangkat lunak. 3. Perlu dianalisis lebih mendalam untuk menentukan alasan penyebab nilai Effort Rate (ER). 4. Peninjauan ulang distribusi effort masing-masing aktivitas proyek pengembangan perangkat lunak, karena prosentase masing-masing aktivitas yang dikemukakan oleh Kassem Shaleh pada tahun 2011 untuk proyek pengembangan perangkat lunak berskala besar (large).
10
JURNAL TEKNIK POMITS DAFTAR PUSTAKA Barbosa da Silva, C.Monteiro., L. Denis Silva., da Cunha, Adilson Marques. Applying The Use Case Points Effort Estimation Technique To Avionics Systems. IEEE, 2008. Tockey, Steve. Return of Software: Maximizing the Return on Your Software Investment. Prentice Hall, 2004. Galorath, Daniel and Michael W Evans. Software Sizing, Estimasi and Risk Management, Auerbach, 2006. Muhardin, Endy. Estimasi Proyek Software. 2011. Damodaran, Mel. Estimasi Using Use Case Point. 2002. Anda, Bente. Comparing effort estimates based on use cases with expert estimates. In Proceedings of Empirical Assessment in Software Engineering (EASE 2002) (Keele, UK, April 8-10,2002), 13 p, 2002. Karner, Gustav. Resource Estimasi for Objectory Projects, Objective System SF AB, 1993. Nageswaran, Suresh.. Test Effort Estimasi Using Use Case Points. June 2001 www.cognizant.com/cogcommunity/presentations/Test _Effort_Estimasi.pdf, 2001. Schneider, G. and Winters, J. Applying Use Cases – A Practical Guide. Addison-Wesley, 1998. Clemmons, Roy K. Project Estimasi With Use Case Point. Diversified Technical Services, Inc, 2006. Ochodek, M; Nawrocki, J; Kwarciak, K. Simplifying Effort Estimasi Based on Use Case Points, Sciencedirect, 2011. Carroll, Edward R. Estimating Software Based on Use Case Points. 2005 Object-Oriented, Programming, Systems, Languages, and Object Oriented Programming Systems Languages and Applications (OOPSLA) Conference, San Diego, CA, pp.257–265, 2005. Kusumoto, Shinji., Matukawa, Fumikazu., Inoue, Katsuro. Estimating Effort by Use Case Points: Method, Tool and Case Study. IEEE, 2006. Yavari, Yaeghoob., Afsharchi, Mohsen., Karami, Mojtaba. Software Complexity Level Determination Using Software Effort Estimasi Use Case Points Metrics. IEEE, 2011. Shodiq, Amri. 2007. Perencanaan Proyek Rekayasa Perangkat Lunak. http://ilmukomputer.org/wpcontent/uploads/2007/09/amri-perencanaan-proyekrpl.doc. Diakses pada tanggal 7 Maret 2013. Khatibi, V., & Jawawi, D. N. Software Cost Estimasi Methods: A Review. Emerging Trends in Computing and Information Sciences, 21-29, 2010. Pressman, Roger S. Software Engineering: A Practioner's Approach, 6th Edn., McGraw-Hill New York, USA., ISBN: 13: 9780073019338,2005. Albrecht.A.J. and J. E. Gaffney. Software function, source lines of codes, and development effort prediction: a software science validation. IEEE Trans Software Eng. SE,pp.639-648, 1983. Boehm. Software Engineering Economics. Prentice Hall,1981. Rizky, Soetam. Konsep Dasar Rekayasa Perangkat Lunak Software Reengineering. Prestasi Pustaka, 2008. Ochodek, M; Nawrocki, J; Kwarciak, K. Simplifying Effort Estimasi Based on Use Case Points, Sciencedirect, 2011. Usman, Husaini. Pengantar Statistika. Bumi Aksara, 2006.
11