1
RPL 1
2.
PERENCANAAN TUJUAN PERANGKAT LUNAK
Topik meliputi : 1. Gambaran Umum 2. Kategori Ukuran Proyek 3. Tujuan Perencanaan Proyek 4. Scope Perangkat Lunak 5. Perencanaan Sumber Daya 6. Pengukuran Kualitas Perangkat Lunak 7. Line Of Code (LOC) 8. Pengumpulan Data Metrik 9. Perkiraan Proyek Perangkat Lunak Setelah ini, diharapkan anda dapat memahami : Membahas pendekatan terstruktur kategori ukuran proyek. Menjelaskan scope pengerjaan dari suatu perangkat lunak. Menjabarkan perencanaan sumber daya perangkat lunak. Menjabarkan pengukuran kualitas perangkat lunak. Menjelaskan teknik dekomposisi dengan perkiraan (Line of Code–LOC atau Function Point–FP) Menjelaskan perkiraan biaya pengembangan dan perencanaan penjadwalan perangkat lunak. Pada intinya Perencanaan Tujuan Perangkat Lunak terdiri dari dua komponen utama, yaitu : a. Penelitian b. Perkiraan a. PENELITIAN Memungkinkan pemimpin proyek menentukan atau mendefenisikan batasan dan elemen yang diperlukan dalam pengerjaan masalah. b. PERKIRAAN Kemampuan pemimpin proyek untuk memandang ke depan tentang tindakan tindakan yang akan diambil walaupun belum ada kepastian.
1.
GAMBARAN UMUM
Untuk keberhasilan proyek atau pengerjaan pengembangan maupun pembuatan perangkat lunak, ada beberapa hal yang harus diperhatikan oleh pemimpin proyek antara lain : o Batasan dari pekerjaan yang akan dikerjakan. o Sumber daya yang diperlukan. o Tugas yang akan dikerjakan. o Kendala dan batasan. o Biaya dan jadwal kerja.
KULIAH KE 3-4
2
RPL 1
2.
KATEGORI UKURAN PROYEK
Ukuran Proyek merupakan faktor yang utama dalam menentukan bentuk organisasi pemecahan masalah dan teknik serta alat bantu yang diperlukan dalam pengerjaan proyek, yang dapat dibagi menjadi enam kategori ukuran proyek antara lain sebagai berikut : Trivial Proyek. Small Proyek. Medium Proyek. Large Proyek. Very Large Proyek. Extremely Large Proyek. 3.
TUJUAN PERENCANAAN PROYEK
Tujuan dari Perencanaan Proyek Perangkat Lunak adalah untuk menyediakan kerangka atau landasan yang memungkinkan manajer atau pimpinan proyek dapat membuat perkiraan tentang sumber daya, biaya dan jadwal.
4.
SCOPE PERANGKAT LUNAK
Hal–hal yang dikembangkan pada Scope Perangkat Lunak adalah penentuan tujuan yang tidak ambigiuous dan dapat dimengerti oleh level manajemen dan level teknik. Semua pernyataan tentang scope perangkat lunak harus dinyatakan seperti : Data kuantitatif di nyatakan secara eksplisit. Batasan – batasan scope perangkat lunak. Ada beberapa hal yang harus diperhatikan dari pengerjaan perangkat lunak antara lain adalah : 4.1. 4.2. 4.3. 4.4.
FUNCTION PERFORMANCE INTERFACE REALIBILITY.
4.1. FUNCTION Function merupakan fungsi dari perangkat lunak yang akan dibuat atau dikerjakan, harus dievaluasi kembali sehingga mendapat fungsi dari perangkat lunak secara rinci. Fungsi ini termasuk biaya dan jadwal perkiraan pengerjaan perangkat lunak. 4.2. PERFORMANCE Performance meliputi kendala dari pengerjaan perangkat lunak, keterbatasan memori dan ketergantungan dari mesin-mesin tertentu. KULIAH KE 3-4
3
RPL 1
4.3. INTERFACE Interface meliputi : Perangkat keras yang akan dipakai untuk mengerjakan perangkat lunak dan peralatan secara tidak langsung mengontrol perangkat lunak. Perangkat lunak yang telah ada digabungkan dengan perangkat lunak yang baru. Pemakai yang akan menggunakan perangkat lunak melalui terminal atau Input/Output. Prosedur pemakaian perangkat lunak. 4.4. REALIBILITY Reliability merupakan keandalan perangkat lunak yang dihasilkan. 5.
PERENCANAAN SUMBER DAYA
Tugas berikutnya dalam perencanaan perangkat lunak adalah memperkirakan sumber daya yang diperlukan untuk menyelesaikan proyek dan dapat digambarkan dalam bentuk piramida seperti yang terlihat dibawah ini :
Spesifikasi : Manusia
Perangkat Keras Perangkat Lunak
Requires skill Availability Duration Start date
Spesifikasi:
Deskripsi Availability Duration Delivery time Gambar Piramida Perencanaan Sumber daya.
Penjelasan pada piramida tersebut di atas sebagai berikut : Tingkat bawah dari piramida diatas terlihat Perangkat Lunak dan Perangkat Keras yang mempunyai spesifikasi yaitu : Deskripsi Merupakan penjabaran tentang perangkat keras dan perangkat lunak yang diperlukan dalam penerapannya. Availability
Keberadaan dari perangkat keras dan perangkat lunak yang diperlukan dalam pekerjaan perangkat lunak.
Durasi
Selang waktu dimana perangkat keras dan perangkat lunak akan dipakai. KULIAH KE 3-4
4
RPL 1
Delivery time
Waktu perangkat keras dan perangkat lunak akan dipergunakan.
Sedangkan Tingkat atas adalah Manusia dan mempunyai spesifikasi yaitu : Requires skill
Sumber daya manusia yang handal diperlukan dalam pengerjaan pembuatan dan pengembangan perangkat lunak.
Avaibility
Kapan sumber daya manusia yang handal dan diperlukan itu tersedia.
Durasi
Selang waktu sumber daya yang handal diperlukan dengan tersedianya sumber daya tersebut.
Start date
Tanggal dimulainya proses pengerjaan pembuatan dan pengembangan perangkat lunak.
Secara ringkas Perencanaan Sumber Daya meliputi 3 kriteria yaitu : 5.1. PERENCANAAN SUMBER DAYA MANUSIA Manusia merupakan sumber daya yang paling utama dan sangat vital dalam pengembangan atau pengerjaan perangkat lunak. 5.2. PERENCANAAN SUMBER DAYA PERANGKAT KERAS Sumber daya perangkat keras dapat dibedakan menjadi tiga kategori antara lain : Development system, kategori ini merupakan perencanaan perangkat keras yang akan dipergunakan dalam pengerjaan perangkat lunak. Target machine, merupakan perangkat keras yang diperlukan dalam penerapannya. Elemen perangkat keras, merupakan elemen tambahan yang diperlukan dalam pengoperasian perangkat lunak pada saat perangkat lunak dioperasikan oleh pemakai. 5.3. PERENCANAAN SUMBER DAYA PERANGKAT LUNAK Umumnya digunakan prinsip “Bootstrapping” yaitu menggunakan perangkat lunak yang telah ada untuk mengembangkan dan membangun perangkat lunak yang baru.
6.
PENGUKURAN KUALITAS PERANGKAT LUNAK
Dalam proyek perencanaan perangkat lunak yang ditekankan adalah produktivitas metrik artinya mengukur pengembangan keluaran perangkat lunak dimana hal ini merupakan hal yang paling penting dari perangkat lunak. Perangkat lunak metrik adalah teknik pengukuran yang ada dalam pengembangan perangkat lunak. Dalam mengukur produktivitas diperlukan data dari proyek pengembangan perangkat lunak yang telah dikerjakan sebelumnya Adapun tujuan dari pengukuran perangkat lunak adalah : KULIAH KE 3-4
5
RPL 1
1. 2. 3. 4. 5.
Untuk menyatakan kualitas produk. Untuk menilai kualitas manusia yang terlibat dalam pembuatan produk tersebut. Untuk menilai keuntungan pemakai metode dan alat bantu yang baru. Sebagai dasar untuk melakukan perkiraan. Untuk membantu penyesuaian pemakaian alat bantu yang baru atau pelatihan tambahan.
Metoda pengukuran terdiri dari : 6.1. Pengukuran Langsung 6.2. Pengukuran tidak Langsung 6.1. PENGUKURAN LANGSUNG Yang dimaksud dengan Pengukuran Langsung (direct) adalah pengukuran yang dilakukan dimana langsung terlihat hasilnya. Yang diukur dalam pengukuran langsung adalah : o Biaya. o Pengaruh. o Line of Code (jumlah baris perintah dalam program). o Kecepatan. o Ukuran memori. o Kesalahan. 6.2. PENGUKURAN TIDAK LANGSUNG Dalam Pengukuran Tidak Langsung (indirect), yang diukur adalah : Fungsi. Kualitas. Kekompleksan. Effisiensi. Keandalan. Pemeliharaan. Teknikal Metrik Kualitas Metrik Produktivitas Metrik Size Oriented Metrik Function Oriented Metrik Human Oriented Metrik
Gambar Pengukuran Produktivitas. Keterangan gambar. Teknikal metrik Fokusnya pada karakter perangkat lunak (kekompleksan logika, tingkat modularity). Kualitas metrik KULIAH KE 3-4
6
RPL 1
Menyediakan atau menyatakan bagaimana pembuatan perangkat lunak dengan jelas dan tegas sesuai dengan keperluan user. Produktivitas metrik Fokusnya pada proses keluaran dari perangkat lunak yang dikerjakan. Size oriented metrik Mengumpulkan hasil pengukuran langsung dari keluaran dan kualitas perangkat lunak. Function oriented metrik Menyediakan pengukuran tidak langsung. Human oriented metrik, Mengumpulkan informasi tentang manusia yang terlibat dalam pengembangan perangkat lunak dan persepsi manusia tentang keefektifan dari metode alat bantu yang dipergunakan. 7.
LINE OF CODE ( LOC )
Line Of Code dapat juga disebut Size Oriented Metric (jumlah baris perintah program yang telah ditulis). Size oriented metric digunakan untuk mengukur perangkat lunak dan proses pengembangannya. Rumus untuk menghitung produktivitas dan kualitas dari perangkat lunak yang telah dibuat adalah sebagai berikut : Produktivitas
= KLOC / EFFORT
Kualitas
= Kesalahan / KLOC
Sedangkan untuk biaya dan dokumentasi ditinjau dari produktivitasnya. Perhatikan contoh tabel dibawah ini yang menunjukkan table size oriented metric dimana terdiri dari beberapa kategori proyek. Tabel 1. Size Oriented Metric. Nama Proyek Proyek A Proyek B Proyek C Biaya
Effort Biaya Dokumentasi Jumlah KLOC Kesalahan (Upaya) (Ribuan) / Halaman Manusia 24 164 12.1 365 29 3 62 440 27.2 1224 86 5 43 314 20.2 1050 64 6
= Biaya / KLOC
Dokumentasi = Jumlah halaman / KLOC Dimana : KULIAH KE 3-4
7
RPL 1
Effort = Jumlah tenaga kerja yang dihasilkan per bulan. KLOC = Jumlah baris perintah dari program yang dihasilkan dalam ribuan. Perhatikan data tabel yang terdapat beberapa data dari proyek yang telah dikerjakan, dengan mengacu pada proyek dalam tabel 1, Projek A : 12.1 baris perintah KLOC, dikembangkan dengan 24 person/bulan dari usaha dengan biaya $164,000. Perlu dicatat bahwa kerja dan biaya yang direkam dalam tabel mewakili seluruh aktivitas perangkat lunak (analisis, design, pengkodean dan pengujian), namun tidak hanya pengkodean saja, informasi lebih jauh untuk Proyek A menunjukkan bahwa telah dikembangkan dokumentasi setebal 365 halaman dan dicatat 29 kesalahan sebelum perangkat lunak dilepaskan. Tiga orang telah bekerja pada pengembangan proyek pada kolom pertama yang terdapat pada Proyek-A Ada lima faktor penting yang mempengaruhi produktivitas perangkat lunak antara lain adalah : 1. Manusia Ukuran keahlian dari organisasi pengembangan. 2. Permasalahan Kekompleksan permasalahan yang akan dikerjakan dan jumlah perubahan, kendala, serta keperluan dalam perancangan. 3. Proses Analisa dan perancangan atau teknik yang digunakan dalam pembahasan pemrograman yang digunakan. 4. Produk Keandalan dan performansi dari perangkat lunak dan perangkat keras yang digunakan. 5. Sumber daya keberadaan alat-alat pengembangan, perangkat keras dan perangkat lunak yang ada. 8.
PENGUMPULAN DATA METRIK
Ada beberapa hal yang perlu diperhatikan dalam pengumpulan data antara lain adalah : Data harus akurat. Sejumlah data proyek terdahulu harus sebanyak mungkin. Kriteria pengukuran harus teratur dan konsisten. Harus sesuai dengan proyek yang terdahulu untuk memperkirakan proyek yang baru.
KULIAH KE 3-4
8
RPL 1
Proses pengumpulan ini dapat digambarkan sebagai berikut :
Gambar Pengumpulan Data Metrik.
9.
PERKIRAAN PROYEK PERANGKAT LUNAK
Dalam Perkiraan Proyek Perangkat Lunak dapat ditransformasikan dengan mengikuti langkahlangkah sistimatis yang dapat digunakan dalam memperkirakan sehingga resiko dapat diperkecil. Teknik perkiraan proyek perangkat lunak berusaha untuk menyediakan tingkat keandalan yang tinggi. Untuk dapat mencapai perkiraan biaya dan effort yang dapat diandalkan dapat digunakan pilihanpilihan sebagai berikut : 1. Memperkirakan waktu yang paling lama dari pengerjaan proyek. 2. Menggunakan teknik dekomposisi. 3. Mengembangkan model empiris untuk biaya dan effort dari perangkat lunak. 4. Menggunakan alat bantu yang telah tersedia. Teknik dekomposisi adalah Teknik memecah-mecah atau membagi perkiraan proyek ke dalam bagian-bagian yang kecil, dalam pembagian ini berhubungan juga dengan tugas, biaya dan effort. 9.1. PERKIRAAN LOC Data LOC digunakan dua cara selama perkiraan proyek perangkat lunak yaitu : 1. Variabel perkiraan yang digunakan untuk mengukur masing masing elemen dari perangkat lunak. 2. Sebagai basis metrik yang dikumpulkan dari proyek terdahulu dan penggunaannya digabungkan dengan variabel perkiraan untuk pengembangan proyeksi dan effort. Berdasarkan data lampau, perencana dapat memperkirakan perkiraan waktu optimis, perkiraan waktu yang mendekati (most likely), perkiraan waktu pesimis dari nilai LOC atau FP masing-masing fungsi. KULIAH KE 3-4
9
RPL 1
Jumlah rata-rata yang diharapkan LOC atau FP dapat dihitung dengan teknik perkiraan. Nilai yang diharapkan adalah variabel perkiraan E dihitung dari rata-rata pertimbangan dari optimis (a), Most likely (m) dan pessimistic (b). Dengan Rumus : E = (a + 4m + b) / 6
Contoh : Pembuatan perangkat lunak CAD (Computer Aided Design) skop untuk fungsi yang ada pada perangkat lunak tersebut adalah : Fasilitas kontrol dan interface pemakai (FCIP) Analisis geometri 2 dimensi (AG2D) Analisis geometri 3 dimensi (AG3D) Manajemen struktur data (MSD) Fasilitas tampilan grafik (FTG) Peripheral kontrol (PK) Analisis modul perancangan (AMP)
KULIAH KE 3-4
10
RPL 1
Untuk mengikuti teknik dekomposisi dapat dibuatkan tabel perkiraan yaitu : Dengan rumus E = (a + 4m + b)/6 maka dapat dihitung nilai yang diharapkan dari masing-masing fungsi sehingga tabel perkiraan tersebut menjadi seperti yang terlihat pada tabel di bawah ini. Tabel 2. Perkiraan LOC.
BIAYA
14 20 20 18 22 28 18
315 320 220 240 200 140 300
32760 107600 136000 60300 108900 59920 151200
BULAN
2650 7400 8600 3600 6200 2450 9800
EFFORT
2400 5200 6900 3400 4900 2100 8500
RP/BRS
1810 4100 4600 2950 4050 2000 6600
DIHARAPKAN
MOST LIKELY
PESIMISTIS
FCIP AG2D AG3D MSD FTG PK AMP
OPTIMISTIS
FUNGSI
Tabel 3. Most Likely. DIHARAPKAN
RP/BRS
EFFORT
BIAYA
1810 4100 4600 2950 4050 2000 6600
2400 5200 6900 3400 4900 2100 8500
2650 7400 8600 3600 6200 2450 9800
2340 5380 6800 3350 4950 2140 8400
14 20 20 18 22 28 18
315 320 220 240 200 140 300
32760 107600 136000 60300 108900 59920 151200
BULAN
MOST LIKEL Y
PESIMISTIS
FCIP AG2D AG3D MSD FTG PK AMP
OPTIMISTIS
FUNG SI
33360 Dengan menjumlahkan isi kolom yang diharapkan secara vertikal didapat jumlah baris perintah dari program yang diharapkan berkisar antara 33360 baris perintah. Sedangkan untuk mengisi kolom bulan digunakan rumus :
Bulan = Yang diharapkan / effort KULIAH KE 3-4
11
RPL 1
Tabel 4. Effort.
RP/BRS
2400 5200 6900 3400 4900 2100 8500
2650 7400 8600 3600 6200 2450 9800
2340 5380 6800 3350 4950 2140 8400
14 20 20 18 22 28 18
33360
BIAYA
BULAN
DIHARAPKA N
1810 4100 4600 2950 4050 2000 6600
EFFORT
MOST LIKE LY
PESIMISTIS
FCIP AG2D AG3D MSD FTG PK AMP
OPTIMISTIS
FUNG SI
315 320 220 240 200 140 300
32760 107600 136000 60300 108900 59920 151200
7.4 24.4 30.9 13.9 24.7 15.2 28.0 144.5
Dari data tersebut diatas maka perhitungan 33360 baris kode di bangun untuk sistim CAD dan perkiraan waktunya adalah = 144.5 bulan. Contoh soal : Dari usaha ini, dihasilkan 2,900 LOC (banyaknya baris program). 200 LOC digunakan simulasi dan testing tidak termasuk bagian dari software yang dioperasikan. Produktivitasnya = 2700 LOC 9.0 per orang per bulan = 300 LOC per orang per bulan. URAIAN & PERTANYAAN Ada 4 orang software engineering yang masing-masing mampu menghasilkan 4000 LOC per tahun. Bila mereka dipekerjakan dalam 1 tim, maka proyek ada 6 jalur komunikasi yang mungkin (communication path). Setiap jalur komunikasi memerlukan waktu yang seharusnya digunakan untuk pengembangan Loading sebesar 240 LOC per tahun. Bila proyek 1 tahun tersebut mengalami keterlambatan jadwal dan tinggal 1 bulan lagi, perlu penambahan 3 orang lagi kedalam tim tersebut. Bila dianggap terjadi pengurangan produktivitas tim, untuk setiap jalur komunikasi adalah sama, baik untuk pegawai lama dan baru. Hitung berapa produktivitas tim sebelum dan sesudah penambahan 3 orang tersebut, sekaligus jangka waktunya berbeda.
KULIAH KE 3-4
12
RPL 1
PEMBAHASAN SOAL Jalur komunikasi 4 orang ada 6 jalur (lihat gambar).
Produktivitas sebelum penambahan : = ( 4 × 4.000 ) - ( 240 × 6 ) = 16.000 – 1.440 = 14.560 LOC per tahun Produktivitas setelah penambahan : Jika jalur komunikasinya berbeda : = (4 x 4000) + (3 x 4000/6) - (6 x 240 + 15 x 240/6) = 16000 + 2000 - ( 1440 + 600 ) = 18000 – 2040 = 16.960
KULIAH KE 3-4