Dokumen tersebut membahas tahapan-tahapan pengembangan perangkat lunak dengan metode waterfall dan prototyping, mulai dari persyaratan, desain, pengkodean, pengujian, hingga pemeliharaan. Karakteristik dan penerapan masing-masing metode dijelaskan beserta kelebihan dan kekurangannya.
4. WATERFALL
Metode Waterfall adalah suatu proses
pengembangan perangkat lunak berurutan, di
mana kemajuan dipandang terus mengalir ke
bawah (seperti air terjun) melewati fase-fase
perencanaan, pemodelan, implementasi
(konstruksi), dan pengujian.
6. Requirement (Analisis Kebutuhan)
Pengumpulan data dalam tahap ini bisa melakukan
sebuah penelitian, wawancara atau study literatur.
Seseorang system analisis akan menggali informasi
sebanyak-banyaknya dari user sehingga akan tercipta
sebuah sistem komputer yang bisa melakukan tugas-
tugas yang diinginkan oleh user tersebut. Tahapan ini
akan menghasilkan dokumen user requirement atau bisa
dikatakan sebagai data yang berhubungan dengan
keinginan user dalam pembuatan sistem. Dokumen inilah
yang akan menjadi acuan system analisis untuk
menterjemahkan kedalam bahasa pemrograman.
7. Design System
Proses design akan menterjemahkan syarat
kebutuhan kesebuah perancangan perangkat
lunak yang dapat diperkirakan sebelum dibuat
koding. Proses ini berfokus pada : struktur
data, arsitektur perangkat lunak, representasi
interface, dan detail (algoritma) prosedural.
Tahapan ini akan menghasilkan dokumen yang
disebut software requirement. Dokumen inilah
yang akan digunakan programmer untuk
melakukan aktivitas pembuatan sistemnya.
8. Coding & Testing
Tahapan inilah yang merupakan tahapan
secara nyata dalam mengerjakan suatu
sistem.Dalam artian penggunaan computer akan
dimaksimalkan dalam tahapan ini. Setelah
pengkodean selesai maka akan dilakukan testing
terhadap sistem yang telah dibuat tadi. Tujuan
testing adalah menemukan kesalahan-kesalahan
terhadap system tersebut dan kemudian bisa
diperbaiki.
9. Integration & Testing
Tahapan ini bisa dikatakan final dalam
pembuatan sebuah sistem. Setelah melakukan
analisa, design dan pengkodean maka sistem yang
sudah jadikan digunakan oleh user.
10. Operation & Maintenance
Perangkat lunak yang sudah disampaikan
kepada pelanggan pasti akan mengalami
perubahan. Perubahan tersebut bisa karena
mengalami kesalahan karena perangkat lunak
harus menyesuaikan dengan lingkungan (periperal
atau system operasi baru), atau karena pelanggan
membutuhkan perkembangan fungsional.
11. Karakteristik Metode Waterfall
1) Ketika problem muncul, maka proses berhenti
karena tidak dapat menuju ke
tahapan selanjutnya. Apabila terdapat
kemungkinan problem tersebut muncul akibat
kesalahan dari tahapan sebelumnya, maka proses
harus membenahi tahapan sebelumnya
agarproblem ini tidak muncul.
2) Karena pendekatannya secara sequential, maka
setiap tahap harus menunggu hasil dari tahap
sebelumnya. Hal itu tentu membuang waktu yang
cukup lama, artinya bagian lain tidak dapat
mengerjakan hal lain selain hanya menunggu hasil
dari tahap sebelumnya.
12. Manfaat Metode Waterfall
Keunggulan model pendekatan pengembangan
software dengan metode waterfall adalah
pencerminan kepraktisan rekayasa, yang membuat
kualitas software tetap terjaga karena
pengembangannya yang terstruktur dan terawasi.
Disisi lain model ini merupakan jenis model yang
bersifat dokumen lengkap, sehingga proses
pemeliharaan dapat dilakukan dengan mudah.
13. Kelemahan Metode Waterfall
Kelemahan pengembangan software dengan
metode waterfall yang utama adalah lambatnya
proses pengembangan perangkat lunak.
Dikarenakan prosesnya yang satu persatu dan
tidak bisa diloncat-loncat menjadikan model klasik
ini sangat memakan waktu dalam
pengembangannya. Kelemahan yang lain adalah
kinerja personil yang tidak optimal dan efisien
karena terdapat proses menunggu suatu tahapan
selesai terlebih dahulu.
14. Penerapan Metode Waterfall
Contoh dari penerapan model pengembangan
ini adalah pembuatan program pendaftaran online
ke suatu Instansi Pendidikan. Program ini akan
sangat membantu dalam proses pendaftaran,
karena dapat meng-efektifkan waktu serta
pendaftar tidak perlu repot-repot langsung
mendatangi Instansi Pendidikan.
15. PROTOTYPING
Prototyping adalah suatu proses yang
memungkinkan developer membuat sebuah model
software,metode ini baik digunakan apabila client tidak
bisa memberikan informasi yang maksimal mengenai
kebutuhan yang diinginkannya. Seringkali seorang
customer sulit menentukan input yang lebih terinci,
proses yang diinginkan dan output yang diharapkan hal
tersebut menyebabkan developer tidak yakin dengan
efisiensi alogoritma yang di buatnya, sehingga sulit
dalam menyesuaikan sistem operasi, serta interaksi
manusia dan mesin yang harus diambil. Dalam hal
seperti ini, pendekatan prototype untuk software
engineering merupakan langkah yang terbaik.
16.
17. Pengumpulan Kebutuhan
Pelanggan dan pengembang bersama-sama
mendefinisikan format seluruh perangkat lunak,
mengidentifikasikan semua kebutuhan, dan
garis besar sistem yang akan dibuat.
18. Membangun Prototyping
Membangun prototyping dengan membuat
perancangan sementara yang berfokus pada
penyajian kepada pelanggan (misalnya dengan
membuat input dan format output).
19. Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan,
apakah prototyping yang sudah dibangun sudah
sesuai dengan keinginan pelanggan atau belum.
Jika sudah sesuai, maka langkah selanjutnya
akan diambil. Namun jika tidak, prototyping
direvisi dengan mengulang langkah-langkah
sebelumnya.
20. Mengkodekan Sistem
Dalam tahap ini prototyping yang sudah di
sepakati diterjemahkan ke dalam bahasa
pemrograman yang sesuai.
21. Menguji Sistem
Setelah sistem sudah menjadi suatu
perangkat lunak yang siap pakai, kemudian
dilakukan proses Pengujian. Pengujian ini
dilakukan dengan White Box, Black Box, Basis
Path, pengujian arsitektur, dll.
23. Evaluasi Sistem
Pelanggan mengevaluasi apakah perangkat
lunak yang sudah jadi sudah sesuai dengan yang
diharapkan. Jika ya, maka proses akan
dilanjutkan ke tahap selanjutnya, namun jika
perangkat lunak yang sudah jadi tidak/belum
sesuai dengan apa yang diharapkan, maka
tahapan sebelumnya akan diulang.
24. Kelebihan Metode Prototyping
1. Pelanggan berpartisipasi aktif dalam pengembangan sistem,
sehingga hasil produk pengembangan akan semakin mudah
disesuaikan dengan keinginan dan kebutuhan pelanggan.
2. Penentuan kebutuhan lebih mudah diwujudkan.
3. Mempersingkat waktu pengembangan produk perangkat
lunak.
4. Adanya komunikasi yang baik antara pengembang dan
pelanggan.
5. Pengembang dapat bekerja lebih baik dalam menentukan
kebutuhan pelanggan.
6. Lebih menghemat waktu dalam pengembangan sistem.
7. Penerapan menjadi lebih mudah karena pelanggan
mengetahui apa yang diharapkannya.
25. Kelemahan Metode Prototyping
1. Proses analisis dan perancangan terlalu singkat.
2. Biasanya kurang fleksibel dalam mengahadapi
perubahan.
3. Walaupun pemakai melihat berbagai perbaikan
dari setiap versi prototype, tetapi pemakai
mungkin tidak menyadari bahwa versi tersebut
dibuat tanpa memperhatikan kualitas dan
pemeliharaan jangka panjang.
4. Pengembang kadang-kadang membuat kompromi
implementasi dengan menggunakan sistem
operasi yang tidak relevan dan algoritma yang
tidak efisien.
26. Penerapan Metode Prototyping
Sebuah rumah sakit ingin membuat aplikasi
sistem database untuk pendataan pasiennya.
Seorang atau sekelompok programmer akan
melakukan identifikasi mengenai apa saja yang
dibutuhkan oleh pelanggan, dan bagaimana
model kerja program tersebut. Kemudian
dilakukan rancangan program yang diujikan
kepada pelanggan. Hasil/penilaian dari
pelanggan dievaluasi, dan analisis kebutuhan
pemakai kembali di lakukan.