Dokumen membahas metode-metode pengembangan perangkat lunak, termasuk model air terjun klasik, prototipe, RAD, spiral, agile, dan scrum. Metode-metode tersebut berbeda dalam hal tahapan, partisipasi pengguna, dan skala proyek yang dapat diterapkan.
2. A.Kualitas Perangkat Lunak dan Source
Code
1. Pengembangan Perangkat Lunak
Menurut Dwi Maryono, Proses pengembangan perankat lunak merupakan
proses membagi pekerjaan pengembangan perangkat lunak ke dalam fase yang
berbeda. Tujuannya meningkatkan desain, manajemen produk, dan manajemen
proyek. Dibagi 6 metode :
a. Model Air Terjun Klasik (waterfall)
dikembangkan pertama kali oleh Winston W. Royce. Terdapay 5 tahapan yaitu
Communication, Planning, modelling, Construction, dan Deployment.
3. b. prototype
Prototype merupakan sebuah metode yang pengembang dan client dapat saling membantu dalam
merancang suatu sistem.
1) Pengumpulan kebutuhan
Pengembangan dan client membahas mengenai sesuatu yang akan dibutuhkan dalam perancangan
sistem tersebut, seperti proses I/O, fitur fitur yang ada pada sistem, dan sebagainya.
2) Membangun prototype
Setelah kebutuhan sistem terdata, pengembangan akan membuat perancangan sistem secara
sederhana terlebih dahulu sebagai contoh dasar atau gambaran sistem yanga akan digunakan oleh
pengguna.
3) Evaluasi prototype
Setelah melakukan perancangan sistem, tahapan selanjutnya yaitu mengevaluasi hasil prototype
yang telah dibuat oleh pengembang (apakah sudah sesuai dengan permintaan client).
4) Pengkodean sistem
Jika sistem sudah berhasil melalui tahap evaluasi prototype dan tidak ada yang perlu diperebaiki
lagi, pengembangan akan melakukan proses pengkodean sistem.
4. 5) Pengujian sistem
Pada tahapan ini akan dilakukan suatu pengujian untuk mengetahui seberapa besar keberhasilan sistem
tersebut.
6) Evaluasi sistem
Disinilah tugas client mengevaluasi sistem untuk mengurangi resiko terjadi error pada sistem dapat
dikatakan user friendly.
7) Penggunaan sistem
Sistem yang sudadh lolos melalui semua tahapan, artinya sistem sudah siap digunakan secara umum oleh
user.
Kelebihan :
1) Terjadi komuniakasi yang baik antara pelangganan dan pengembang
2) Memudahkan pengembang dalam menentukan kebutuhan pelanggan
3) Penentuan kebutuhan lebih mudah diwujudkan
4) Adanya partisipasi aktif client dalam pengembangan sistem sehingga hasil perangkat lunak mudah
disesuaiklan dengan kebutuhan dan keingina pelanggan
5) Hemat waktu
5. Kekurangan :
1) Proses perangcangan dan analisis terlalu singkat
2) Kurang fleksibel dalam mengalami perubahan
3) Terkadang pengembangan membuat kompromi imprementasi menggunakan sistem operasi yang relevan dan
algpritma yang tidak efisien
C.) Model Rapid Application Development (RAD
Model Rapid Application Development (RAD) merupakan metode yang menggunakan pendekatan iterative dan
incremental, tetapi lebih menitikberatkan pada tenggat waktu dan efisien biaya yang sesuai dengan kebutuhan.
Metode ini lebih singkat karena baik pengembang maupun pelanggan sama asma terlibat aktif disetiap proses
hingga hasilnya dapat tercapai. Juga lebih singkat.
Kelebihan :
1) adanya Prorotype
2) Proses pengembangan lebih cepat
3) Pengurangan penulisan kode yang kompleks Karena keberadaan reuse code
6. Kekurangan :
1) Kurang relevan untuk proyek skala besar
2) Diperlukan komitmen yang kuat antara pengembang dan pengguna
3) Membutuhkan sumber daya yang besar umtuk proyek yang besar
D. Spiral
Diperkenalkan oleh Barry Boehmn. Metode ini sangat berguna untuk melakukan pembangunan
proyek proyek besar dan prosesnya dilakukan dengan memprehatikan risiko proyek sehingga pada
akhirnya akan menghasilkan model proses yang tepat sesuai kebutuhan pengguna.
E. Agile
Merupakan metode oengembangan perangkat lunak jangka pendek yang didasarkan pada
pengembangan berulang, dimana persyaratan dan solusinya berkembang melalui kolaborasi antar
tim lintas fungsi dengan pengaturan sendiri.
F. Scrum
Merupakan metode yang menggunakan teknik pendekatan agile. Metode ini menggunakan kerangka
kerja dimana orang dapat mengatasi masalah adaptif yang kompleks, tetapi juga secara produktif
dan kreatif memberikan produk dengan nilai setinggi mungkin.