Metode pengembangan perangkat lunak meliputi model air terjun klasik, prototype, RAD, spiral, agile, dan scrum. Masing-masing memiliki kelebihan dan kekurangan tergantung jenis dan skala proyek perangkat lunak. Metode agile dan scrum lebih menekankan pengembangan berulang dalam waktu singkat untuk mencapai tujuan akhir.
PPT PENDIDIKAN KELAS RANGKAP MODUL 3 KELOMPOK 3.pptx
( kualitas source code).pptx
1.
2. A. Kualitas Perangkat Lunak dan Source code
1. Pengembangan Perangkat Lunak
Proses pengembangan perangkat lunak menurut Dwi Maryono dalam Cakap Mengaplikasikan
infomatika Kelas XII SMA dan MA, adalah proses membagi pekerjaan pengembangan perangkat lunak ke
dalam fase yang berbeda. Tujuannya meningkatkan desain,manajemen produk, dan manajemen proyek.
Sedikitnya ada enam metode yang sering digunakan untuk mengembangkan perangkat lunak.
a. Model Air Terjun Klasik (Waterfall)
Metode ini pertama kali dikembangkan oleh
Winston W. Royce. Model ini sangat sederhana, tetapi
cukup baik dan ideal untuk pengembangan perangkat
lunak. Terdapat lima tahapan proses, yaitu
communication,planning,modelling,construction,dan
deployment.
Communication merupakan tahapan yang pemilik
proyek menyampaikan kebutuhan dan
permasalahannya kepada pengembang. Selanjutnya,
bersama-sama mereka mengumpulkan data-data yang
diperlukan dan merumuskannya ke dalam fitur-fitur
perangkat lunak.
3. Prototype merupakan sebuah metode yang
pengembang dan client dapat saling membantu
dalam merancang suatu sistem. Pengembang tidak
hanya berperan di tahap awal saja,tetapi akan
berlanjut terus hingga pada tahap akhir dan sistem
dapat berjalan dengan baik sesuai dengan
perencanaan.
Terdapat beberapa tahapan dalam model
prototype sebagai berikut.
1. Mengumpulkan kebutuhan
2. Membangun Prototype
3. Evaluasi Prototype
4. Pengkodean Sistem
5. Pengujian Sistem
6. Evaluasi Sistem
7. Penggunaan Sistem
4. Rapid Application Development (RAD) merupakan metode yang menggunakan
pendekatan iterative dan incremental, tetapi menitikberatkan pada tenggat waktu dan
efisiensi biaya yang sesuai dengan kebutuhan.
Pengembangan dengan metode RAD dianggap lebih singkat.Hal ini karena baik
pengembang maupun pelanggan sama-sama terlibat aktif di setiap proses hingga hasilnya
dapat tercapai. Selain itu, tahapan kerja pada metode ini juga lebih sedikit.
Kelebihan:
1) Adanya Prototype
2) Proses pengembangan lebih cepat
3) Pengurangan penulisan kode yang kompleks karena keberadaan reuse code.
Kekurangan:
1) Kurang releven untuk proyek skala besar
2) Diperlukan komitmen yang kuat antara pengembang dan pengguna
3) Membutuhkan sumber daya yang besar untuk proyek yang besar.
5. Metode ini pertama kali diperkenalkan oleh barry Boehm. Menurut Barry Boehm
model ini sangat berguna untuk melakukan pembangunan proyek-proyek besar dan
prosesnya dilakukan dengan memperhatikan risiko proyek sehingga pada akhirnya akan
menghasilkan model proses yang tepat sesuai kebutuhan pengguna.
Metode spiral merupakan gabungan dari model prototype dan model waterfall.
Kegunaan dari model ini untuk melakukan perubahan,penambahan, dan pengembangan
perangkat lunak dengan memaksimalkan aspek kecepatan dan ketepatan berdasarkan
keinginan dan kebutuhan penggunanya.
Metode spiral menerapkan alur kerja yang kompleks,Panjang, dan memakan waktu
lama. Metode ini tidak cocok untuk proyek kecil-kecilan,apalagi dengan biaya
rendah.Sebaliknya,proyek berskala besar dapat dikerjakan dengan mudah menggunakan
metode ini.
Selain itu, metode spiral juga kurang tepat jika dilakukan oleh pengembang
perangkat lunak yang belum berpengalaman. Prosesnya bisa menjadi terlalu kompleks
bagi pemula yang masih memerlukan banyak latihan.
6. Agile merupakan metode pengembangan perangkat lunak jangka pendek yang didasarkan pada
pengembangan berulang, dimana persyaratan dan solusinya berkembang melalui kolaborasi antara tim lintas
fungsi dengan pengaturan sendiri.Agile memiliki kelebihan, seperti hemat biaya, menambah produktivitas
tim,meningkatkan kualitas perangkat lunak, dan menambah tingkat kepuasaan konsumen.Adapun
kekurangannya, memunculkan permasalahan dari arsitektur ataupun desain dan sulitnya memprediksi
analisis, desain, dan pengembangan
Scrum merupakan metode yang menggunakan Teknik pendekatan agile. Metode ini menggunakan
kerangka kerja di mana orang dapat mengatasi masalah adaptif yang kompleks tetapi juga secara produktif
dan kreatif memberikan produk dengan nilai setinggi mungkin.
Kerangka kerja scrum membagi proses pengembangan menjadi target-target kecil yang dinyatakan
dalam satuan sprint. Sprint harus selesai dalam waktu singkat untuk tujuan akhir yang lebih besar.
Proses pengembangan dimulai dengan merumuskan target sprint prioritas dari setiap tim, dilanjutkan
dengan pengidentifikasi pekerjaan spesifik serta proses pengerjaan sesuai target sprint yang telah
ditentukan. Sementara itu, akan dilakukan evaluasi secara berkala pada setiap sprint selama masa
penggarapan.
Setiap sprint berakhir,tim yang terlibat selalu menyampaikan hasil pekerjaannya. Tahapan ini juga
mencakup evaluasi menyeluruh dan perumusan ide-ide baru yang mungkin bisa diterapkan pada sprint
berikutnya.