Anda di halaman 1dari 8

Kelompok 1

Nama Anggota: 1. Alief Budi Leksono (1811010108)

2. Audina Tazkia (2011010090)


3. Toni Seprizal (1711010176)
Kelas: 2TI-P5

Mata Kuliah: Proyek Perangkat Lunak

RESUME MATERI PERTEMUAN 29 & 30

Estimasi Pengembangan Perangkat Lunak

Salah satu kriteria penilaian proyek sehingga bisa dikatakan sukses adalah bahwa
produknya selesai tepat waktu dan sesuai dengan rencana biayanya. Setelah objectives, goal dan
requirements fase selesai, kemudian fase rencana aktivitas proyek juga telah selesai. Maka
langkah krusial berikutnya adalah memperkirakan waktu (dan juga berkaitan erat dengan biaya
produksi) penyelesaian proyek.

Perangkat lunak sebagai suatu produk yang kompleks dan intangible (tidak kasat mata),
memerlukan perlakuan khusus dalam pengestimasiannya karena dalam proses pengembangannya
perangkat lunak tidak dapat dinilai secara mekanis ataupun kuantitas. Secara khusus ada bidang
ilmu dalam dunia informatika yang mempelajari teknik pengukuran perangkat lunak, dikenal
dengan sebutan Software Metrics and Quality. Dalam bidang ilmu ini selain pengukuran
perkembangan pada saat perangkat lunak dibuat, juga diukur kinerjanya pada saat telah dipakai
dalam lingkungan aplikasi, dikenal dengan istilah software maturity model, contohnya adalah
CMM (Capability and Maturity Model) dan Bootstrap Model.

Dalam hubungannya dengan manajemen proyek IT, khususnya dalam pengembangan


proyek perangkat lunak, di dalam diktat ini akan dibahas secara khusus cara pengestimasian
pengembangan perangkat lunak lewat teknik function point analysis (analisis titik fungsi), lewat
metodologi parametris dengan membahas secara tuntas penggunaan COCOMO (Constructive
Cost Model).
➢ Kesulitan estimasi perangkat lunak

Selain karena perangkat lunak merupakan produk yang tidak dapat dinilai secara kasat
mata dan karena kompleksitasnya, ada beberapa faktor lain yang membuat pengembangan suatu
produk perangkat lunak sulit diestimasi baik secara biaya maupun waktunya.
• Keunikan produk perangkat lunak.
• Perubahan teknologi.
• Perbedaan pengalaman pekerja dalam proyek.

➢ Pengenalan Rekayasa Perangkat Lunak

Rekayasa Perangkat Lunak (software engineering) atau dikenal juga dengan sebutan
metodologi pengembangan perangkat lunak (software development methods) merupakan suatu
cabang ilmu dalam dunia IT yang mempelajari secara khusus teknik-teknik dalam upaya
pengembangan perangkat lunak dari mulai fase awal (requirements) hingga fase akhir (evaluasi).
Metodologi menggambarkan fase-fase dan keterkaitan antar fase tersebut dalam proses
pengembangan produk, dalam hal ini produk perangkat lunak.
Untuk melihat keterkaitan antar fase diciptakanlah life-cycles, yaitu gambaran siklus
hidup dalam pengembangan produk. Dengan life-cycles ini, estimasi waktu dan biaya dapat
dipecah-pecah dalam setiap fase (Metode yang serupa digunakan dalam WBS).

➢ Sofware Life-cycles
Secara umum kegunaan dari life-cycles ini adalah:
• Membagi proyek dalam fase-fase secara jelas dan menyeluruh;
• Membantu pengontrolan dan pengarahan proyek sesuai dengan objectives dan
requirements;
• Hasil dari setiap fase dalam life cycles dapat digunakan sebagai Milestones dan sebagai
input untuk fase selanjutnya.

➢ Macam-macam life-cycles antara lain:


• Spiral model;
 Spiral Model adalah model proses pengembangan perangkat lunak berbasis risiko.
Ini adalah kombinasi dari model air terjun dan model iteratif. Model Spiral
membantu mengadopsi elemen pengembangan perangkat lunak dari berbagai
model proses untuk proyek perangkat lunak berdasarkan pola risiko unik yang
memastikan proses pengembangan yang efisien.
• Waterfall model;
 metode waterfall adalah konsep pengembangan yang menekankan pada langkah
sistematis. Sehingga, proses penciptaan sebuah sistem harus dilakukan secara
berurutan, mulai dari tahapan identifikasi kebutuhan sampai ke proses perawatan.
• Prototyping model;
 Prototype atau prototipe adalah sebuah metode dalam pengembangan produk
dengan cara membuat rancangan, sampel, atau model dengan tujuan pengujian
konsep atau proses kerja dari produk. Prototype sendiri bukanlah produk final
yang nantinya akan diedarkan. Prototype dibuat untuk kebutuhan
awal development software dan untuk mengetahui apakah fitur dan fungsi dalam
program berjalan sesuai dengan kebutuhan yang telah direncanakan.
• Evolutionary prototyping model;
 Evolutionary Prototyping adalah model siklus hidup di mana sistem
dikembangkan secara bertahap sehingga dapat dengan mudah dimodifikasi
sebagai respons terhadap umpan balik pengguna akhir dan pelanggan. Sebagian
besar upaya pembuatan prototipe evolusi dimulai dengan membuat prototipe
antarmuka pengguna dan kemudian mengembangkan sistem yang telah selesai
dari situ, tetapi pembuatan prototipe dapat dimulai dengan area berisiko tinggi
mana pun.
• Incremental / iterative development (Rapid Application Development);
 Rapid application development (RAD) adalah metode yang berfokus pada
pengembangan aplikasi secara cepat, melalui pengulangan dan feedback berulang-
ulang. Metode ini merupakan semacam cikal bakal agile project management,
karena bisa mengikuti pace bisnis yang terus berkembang dan juga kebutuhan
pasar yang terus meningkat.

Pertanyaan 29

1. Apa Faktor pengembangan perangkat lunak sulit diestimasi baik secara


biaya maupun waktunya
: Keunikan produk perangkat lunak. Perubahan teknologi. Perbedaan
pengalaman pekerja dalam proyek
2. Apa nama lain dari RPL (software engineering)
: metodologi pengembangan perangkat lunak (software development
methods)
3. Apa kepanjangan dari RPL
: Rekayasa perangkat Lunak
4. Apa itu RPL
: Merupakan cabang ilmu IT mempelajari teknik-teknik pengembangan
perangkat lunak dari mulai fase awal (requirements) hingga fase akhir
(evaluasi)
5. Apa itu life-cycles
: gambaran siklus hidup dalam pengembangan produk
6. Apa keunggulan dari life-cycles
: estimasi waktu dan biaya dapat dipecah-pecah dalam setiap fase
7. Life-cycles mirip dengan metode
: WBS
8. Apa kegunaan dari life-cycles ini
: Membagi proyek dalam fase-fase secara jelas dan menyeluruh,
Membantu pengontrolan dan pengarahan proyek sesuai dengan
objectives dan requirements, Hasil dari setiap fase dalam life cycles dapat
digunakan sebagai Milestones dan sebagai input untuk fase selanjutnya
9. Apa saja Macam-macam life-cycles
: Spiral model, Waterfall model, prototyping model, Evolutionary,
prototyping model, Incremental / iterative development (Rapid
Application Development);
10. Apa itu requirements
: fase awal
7.2.3 Waterfall Model (model air terjun)

Karakteristik:
✓ Life cycles dan digunakan sampai sekarang;
✓ Fase proyek terukur dan setiap fase dapat diikuti.
✓ Pengalaman dari fase sebelumnya dapat digunakan.
✓ Hasil (bagian) proyek dapat digunakan sbg acuan.
✓ Setiap fase harus tuntas sebelum ke fase berikutnya.
✓ Perkembangan proyek mudah diikuti setiap fasenya.

7.3.3 Spiral model


Karakteristik:
✓ Iterasi, namun dalam setiap iterasi diperhitungkan “manajemen risiko”-nya.
✓ Setiap siklus (iterasi) dinilai kesesuaiannya dg tujuan;
✓ Risiko2 yang mungkin muncul bila diadakan perubahan pada suatu iterasi.
✓ Tahap iterasi berikutnya menitik-beratkan pada penanggulangan risiko-risiko;
✓ Setiap iterasi ditutup dg pengeksekusian rencana.
7.4 Analisis domain
Sebuah proyek perangkat lunak beroperasi pada salah satu dari produk domain berikut ini:
✓ Data oriented design (information engineering);
✓ Function oriented design (structured analysis);
✓ Object Oriented (OO) methods
✓ Formal methods (evaluasi):
Berdasarkan pembagian domain ini, riset terhadap proyek serta estimasi thdp biaya dan waktu
dapat lebih fokus

7.5 Biaya-biaya proyek perangkat lunak


Materi ini akan membahas secara khusus, biaya-biaya apa saja dalam pengembangan sebuah
produk perangkat lunak. Ini termasuk bagian dari manajemen biaya proyek (Project Cost
Management).

Biaya-biaya ini meliputi:


✓ Biaya langsung:
o Berhubungan langsung dg jalannya proyek.
o Harga barang baik perangkat keras dan lunak.
o Lisensi perangkat lunak.
o Jam kerja organisasi dan/atau outsourcing.
✓ Biaya tak langsung:
o Biaya yang mendukung jalannya proyek.
o Biaya rapat.
o Material kerja (kertas, alat tulis, disket, dsb).
o Biaya tak terduga, misalnya untuk waktu kerja
yang melebihi perkiraan.

Informasi biaya dilakukan melalui riset pada awal terjadinya proyek. Hal ini meliputi:
o Kontak dengan IT vendor terpercaya (atau dengan expert);
o Informasi proyek sejenis (misalnya dari database perusahaan atau dari IT-Vendors
terpercaya);
o Menggunakan teknik-teknik perhitungan finansial (parametric model)

Perhitungan finansial (parametric model), disusun dari WBS yang telah dibuat:
✓ Total budgeted costs
(alokasi dana untuk implementasi);
✓ Cumulative actual costs
(biaya yang sampai saat ini telah dikerluarkan);
✓ Cost variance
(selisih total rencana biaya dgn biaya aktual);
7.6 Manajemen Biaya Proyek Perangkat Lunak
Secara global project cost management meliputi aktivitas di bawah ini:
✓ Perencanaan sumberdaya;
✓ Estimasi biaya;
✓ Pembuatan anggaran;
✓ Kontrol anggaran.

7.6.1 Teknik umum estimasi biaya dan usaha (effort)


1. Top-down estimating (analogous estimating)
2. Paremetric modelling
3. Bottom-up estimating
4. Tools komputer

7.6.2 Kontrol biaya


pengontrolan pada pemasukan dan pengeluaran, beberapa istilah yg wajib dipahami:
✓ Total budgeted costs,
✓ Cumulative actual costs,
✓ Cost variance,
✓ Earned value,
✓ Qualitative value.

Biaya Target penyelesaian


proyek
Nilai
kumulatif
proyek
Nilai proyek
pada saat
kontrol

Penyelesaian
Awal proyek
proye
Kontrol
k
Pertanyaan 30

1. Apa saja Karakteristik waterfall


: Life cycles dan digunakan sampai sekarang, Fase proyek terukur dan setiap fase dapat
diikuti, Pengalaman dari fase sebelumnya dapat digunakan, Hasil (bagian) proyek dapat
digunakan sbg acuan, Setiap fase harus tuntas sebelum ke fase berikutnya,
Perkembangan proyek mudah diikuti setiap fasenya.
2. Apa saja Karakteristik spiral
: Iterasi, namun dalam setiap iterasi diperhitungkan “manajemen risiko”-nya, Setiap
siklus (iterasi) dinilai kesesuaiannya dg tujuan, Risiko2 yang mungkin muncul bila
diadakan perubahan pada suatu iterasi, Tahap iterasi berikutnya menitik-beratkan pada
penanggulangan risiko-risiko, Setiap iterasi ditutup dg pengeksekusian rencana.
3. Sebutkan produk domain yang beroperasi pada salah satu dari Sebuah proyek perangkat
lunak
: Data oriented design (information engineering), Function oriented design (structured
analysis), Object Oriented (OO) methods, Formal methods (evaluasi):
4. Apa nama lain dari Data oriented design
: (information engineering),
5. Apa nama lain dari Function oriented design
: (structured analysis)
6. Apa nama lain dari manajemen biaya proyek
: (Project Cost Management).
7. Apa saja Biaya langsung
: Berhubungan langsung dg jalannya proyek, Harga barang baik perangkat keras dan
lunak, Lisensi perangkat lunak, Jam kerja organisasi dan/atau outsourcing.
8. Apa saja Biaya tak langsung
: Biaya yang mendukung jalannya proyek, Biaya rapat, Material kerja (kertas, alat tulis,
disket, dsb), Biaya tak terduga, misalnya untuk waktu kerja, yang melebihi perkiraan.
9. Apa itu Total budgeted costs
: (alokasi dana untuk implementasi);
10. Apa itu Cumulative actual costs
: (biaya yang sampai saat ini telah dikerluarkan);

Anda mungkin juga menyukai