Assalamualaikum Wr.Wb.
Yoo masih membahas tentang RPL lagi dan kali ini adalah model berbeda lagi yaps benar sekali model kali ini yaitu WaterFall atau "Model Air Terjun".

Sejarah Waterfall Model ?

Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini pertama kali yang diperkenalkan oleh Winston Royce sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan berurutan. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.

Pengertian Waterfall

Waterfall atau AIR terjun adalah model yang dikembangkan untuk pengembangan perangkat lunak, membuat perangkat lunak. model berkembang secara sistematis dari satu tahap ke tahap lain dalam mode seperti air terjun.

Model ini mengusulkan sebuah pendekatan kepada pengembangan software yang sistematikdan sekuensial yang mulai dari tingkat kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan.
Model ini melingkupi aktivitas-aktivitas sebagai berikut :
rekayasa dan pemodelan sistem informasi, analisis kebutuhan, desain, koding,
mengujian dan pemeliharaan.

Tahapan Model Pada Waterfall

Tahapan - tahap utama dari model ini memetakan kegiatan - kegiatan pengembangan dasar yaitu :


1. Analisis dan definisi persyaratan
Pelayanan, batasan, dan tujuan sistem ditentukan melalu konsultasi dengan user sistem. persyaratan ini kemudian didefinisikan secara rinci dan berfungsi sebagai spesifikasi sistem.

2. Perancangan sistem dan perangkat lunak
Proses perancangan sistem membagi persyaratan dalam sistem perangkat keras atau perangkat lunak.
kegiatan ini menentukan arsitektur sistem secara keseluruhan. Perancangan perangkat lunak melibatkan identifikasi dan deskripsi sistem perangkat lunak yang mendasar dan hubungan - hubungan nya.

3. Implementasi dan pengujian unit
pada tahap ini, perancangan perangkat lunak direalisasikan sebagai serangkaian program atau unit program. pengujian unit melibatkan verifikasi bahwa setiap unit telah memenuhi spesifikasi nya.

4. Integrasi dan pengujian sistem
Unit program atau program individual diintegrasikan dan diuji sebagai sistem yang lengkap untuk menjamin bahwa persyaratan sistem telah dipenuhi. setelah pengujian sistem, perangkat lunak dikirim kepada pelanggan.

5. Operasi dan pemeliharaaan
Biasanya (walaupun tidak seharusnya), ini merupakan fase siklus hidup yang paling lama. Sistem diinstall dan dipakai. Pemeliharaan mencakup koreksi dari berbagai error yang tidak ditentukan pada tahap - tahap terdahulu, perbaikan atas implementasi unit sistem dan pengembangan pelayanan sistem, sementara persyaratan - persyaratan baru ditambahkan.

Pada prinsip nya, hasil dari setiap fase merupakan satu atau lebih dokumen yang disetujui
('ditanda-tangani'). Fase berikut nya tidak boleh dimulai sebelum fase sebelumnya selesai. Pada praktek nya, tahap - tahap ini bertumpang tindih dan memberi diidentifikasi, pada saat pengkodean, ditentukan masalah perancangan dan seterusnya. Proses perangkat lunak bukanlah model linear sederhana, tetapi melibatkan serangkaian iterasi kegiatan pengembangan.

Masalah dengan model air terjun atau waterfall ini adalah terjadi nya pembagian proyek menjadi tahap - tahap yang tidak fleksibel. Komitmen harus dilakukan pada tahap awal proses. dan akan sulit bagi perakayasa untuk menanggapi perubahan persyaratan pelanggan. Dengan demikian, model air terjun ini merefleksikan praktek rekayasa. secara konsekuen, proses perangkat lunak yang berdasarkan pada pendekatan ini masih digunakan untuk pengembangan perangkat lunak, terutama jika merupakan bagian dari sistem proyek rekayasa yang lebih besar.

Mengapa model WaterFall ini sangat populer ?

Selain karena pengaplikasian menggunakan model ini mudah, kelebihan dari model ini adalah ketika semua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit, dan benar di awal project, maka SE dapat berjalan dengan baik dan tanpa masalah. Meskipun seringkali kebutuhan sistem tidak dapat didefinisikan seeksplisit yang diinginkan, tetapi paling tidak, problem pada kebutuhan sistem di awal project lebih ekonomis dalam hal uang (lebih murah), usaha, dan waktu yang terbuang lebih sedikit jika dibandingkan problem yang muncul pada tahap-tahap selanjutnya.

Meskipun demikian, karena model ini melakukan pendekatan secara urut / sequential, maka ketika suatu tahap terhambat, tahap selanjutnya tidak dapat dikerjakan dengan baik dan itu menjadi salah satu kekurangan dari model ini.

Keuntungan dari Model Waterfall :
  • Merupakan model pengembangan paling handal dan paling lama digunakan.
  • Cocok untuk system software berskala besar.
  • Cocok untuk system software yang bersifat generic.
  • Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol
Kelemahan Waterfall :
  • Waktu pengembangan lama. hal ini dikarenakan input tahap berikutnya adalah output dari tahap sebelumnya. Jika satu tahap waktunya molor, maka waktu keseluruhan pengembangan juga ikut molor.
  • Biaya juga mahal, hal ini juga dikarenakan waktu pengembangan yang lama
  • Terkadang perangkat lunak yang dihasilkan tidak akan digunakan karena sudah tidak sesuai dengan requirement bisnis customer. hal ini juga dikarenakan waktu pengembangan yang lama. selain itu dikarenakan waterfall merupakan aliran yang linear, sehingga jika requirement berubah proses tidak dapat diulang lagi.
  • Karena tahap-tahapan pada waterfall tidak dapat berulang, maka model ini tidak cocok untuk pemodelan pengembangan sebuah proyek yang memiliki kompleksitas tinggi.
  • Meskipun waterfall memiliki banyak kelemahan yang dinilai cukup fatal, namun model ini merupakan dasar bagi model-model lain yang dikembangkan setelahnya.

sekian mengenai tentang model WaterFall ^_^
semoga bermanfaat ^_^

Wassalamualaikum Wr.Wb...

Referensi sumber materi dari :
[Daftar Pustaka : Buku Software Engineering "RPL" Jilid 1]