Model air terjun (Waterfall Model) adalah pendekatan klasik dalam pengembangan
perangkat lunak yang menggambarkan metode pengembangan linier dan berurutan. Ini terdiri
dari lima hingga tujuh fase, setiap fase didefinisikan oleh tugas dan tujuan yang berbeda, di
mana keseluruhan fase menggambarkan siklus hidup perangkat lunak hingga pengirimannya.
Setelah fase selesai, langkah pengembangan selanjutnya mengikuti dan hasil dari fase
sebelumnya mengalir ke fase berikutnya.
Model air terjun (Waterfall Model) adalah metode pertama yang banyak digunakan
dalam industri perangkat lunak. model ini merupakan pendekatan tradisional, dan jauh
kurang fleksibel daripada metodologi gesit dengan pengembangan dipecah menjadi sprint
tunggal, tetapi dapat dilengkapi dengan loop umpan balik dan loopback. Saat ini masih
digunakan dalam berbagai versi jika persyaratan dan karakteristik suatu perangkat lunak
dapat didefinisikan dengan jelas selama fase konseptual.
Penyebutan pertama dari model bertahap kembali ke Winston Royce. Dalam esainya
“Mengelola Pengembangan Sistem Perangkat Lunak Besar” ia menggambarkan metode
pengembangan untuk proyek perangkat lunak besar, yang dibagi menjadi beberapa fase pada
awal tahun 1970. Dia mengkritik pendekatan ini, dan mengusulkan alternatif yang
menyerupai prototyping. Royce mengacu pada “Model Tahap-Wise Sembilan Fase” oleh
Herbert Benington, yang diterbitkan pada tahun 1956. Sementara Benington membayangkan
sembilan fase, Royce mengurangi mereka menjadi tujuh. Istilah “model air terjun” tidak
digunakan oleh mereka berdua. Penggunaannya didasarkan pada buku dari tahun 1976, yang
terutama membahas tentang persyaratan untuk perangkat lunak.
Bagaimana cara kerja Waterfall Model
Model air terjun Waterfall Model pada dasarnya terdiri dari tujuh fase berturut-turut:
Berbagai tim dan pakar bekerja pada tahap ini. Kontraktor, manajemen proyek, dan
pengembang senior biasanya terlibat hingga tahap implementasi. Setelah implementasi,
pengembang melakukan pekerjaannya, di mana pengujian perangkat lunak sering ditangani
secara terpisah, misalnya oleh laboratorium pengujian independen. Ahli pemasaran dan
layanan sebagian terlibat dengan peluncurannya. Di perusahaan dan perusahaan besar,
metode SDLC yang dimodifikasi dan lebih terstruktur (siklus pengembangan sistem)
digunakan, yang didasarkan pada model air terjun. Ada juga versi lain dari model ini yang,
misalnya, memperkenalkan elemen berulang dalam bentuk loop untuk mendeteksi dan
memperbaiki kesalahan dan bug dalam fase sebelumnya.
Manfaat / Kerugian
Keuntungan Waterfall Model
Karena struktur logis dari model, kesalahan konseptual seringkali dapat dihindari.
Model ini mengarah pada dokumentasi teknis yang luas, yang merupakan kelegaan
bagi programmer dan pengembang baru dan juga berguna dalam tahap pengujian.
Konflik, bug, dan kesalahan program terkadang menyebabkan kenaikan biaya dan
waktu yang cukup lama. Hal yang sama berlaku jika klien tidak puas.
Spesifikasi yang awalnya dibuat seringkali sulit untuk dipahami oleh klien karena
lebih abstrak daripada apa yang seharusnya dilakukan oleh perangkat lunak. Terutama
dalam proyek-proyek outsourcing, ini bisa menjadi kerugian yang menentukan, karena
tanggal rilis harus ditunda dan pasar mungkin telah berubah selama waktu ini.
Pengiriman perangkat lunak membutuhkan waktu lebih lama karena departemen tidak
bekerja secara bersamaan dan setiap fase hanya dapat dimulai ketika fase sebelumnya
selesai.
Model air terjun (Waterfall Model) adalah salah satu model proses paling terkenal
dalam pengembangan perangkat lunak. Ini telah berhasil digunakan selama beberapa dekade,
tetapi sekarang hanya untuk proyek-proyek kecil di mana spesifikasinya jelas. Namun,
kelemahan yang disebutkan di atas, juga membuat analis dan pengembang merancang model
alternatif yang disebut pengembangan perangkat lunak gesit. Masalah utama dari model air
terjun adalah bahwa perubahan dan revisi belum tentu disediakan oleh urutan logis. Umpan
balik dari pelanggan, penguji, dan insinyur selama pengembangan sebagian hilang dan
integrasi perangkat lunak ke dalam sistem yang ada berlangsung sekaligus. Kelemahan ini
dapat dihindari dengan memodifikasi fase proyek, seperti halnya dengan model spiral. Tetapi
untuk beberapa tahun sekarang, metode gesit yang menggunakan elemen struktural lainnya
jauh lebih populer (misalnya, peran dan sprint dengan Scrum atau prinsip-prinsip
pemrograman ekstrim). Sebagai aturan, mereka lebih ekonomis, mengarah pada hasil yang
lebih cepat dan lebih transparan bagi pelanggan. Sebagai aturan, mereka lebih ekonomis,
mengarah pada hasil lebih cepat dan lebih transparan bagi pelanggan.
Model Evolutionary Development / Evolutionary Software Process Models
Model Evolutionary Development bersifat iteratif (mengandung perulangan). Hasil
prosesnya berupa produk yang makin lama makin lengkap sampai versi terlengkap dihasilkan
sebagai produk akhir dari proses. Model Evolutionary Development / Evolutionary Software
Process terbagi menjadi 2, yaitu :
1. Model Incremental
Model Incremental merupakan hasil kombinasi elemen-elemen dari model
waterfall yang diaplikasikan secara berulang, atau bisa disebut gabungan dari
Model linear sekuensial (waterfall) dengan Model Prototype. Elemen-elemen
tersebut dikerjakan hingga menghasilkan produk dengan spesifikasi tertentu
kemudian proses dimulai dari awal kembali hingga muncul hasil yang
spesifikasinya lebih lengkap dari sebelumnya dan tentunya memenuhi kebutuhan
pemakai.
Model ini berfokus pada penyampaian produk operasional dalam Setiap
pertambahanya. Pertambahan awal ada di versi stripped down dari produk akhir,
tetapi memberikan kemampuan untuk melayani pemakai dan juga menyediakan
platform untuk evaluasi oleh pemakai. Model ini cocok dipakai untuk proyek kecil
dengan anggota tim yang sedikit dan ketersediaan waktu yang terbatas.
Tahap Liason:pada tahap ini dibangun komunikasi yang baik dengan calon
pengguna/pemakai.
Tahap Planning (perencanaan):pada tahap ini ditentukan sumber-sumber informasi,
batas waktu dan informasi-informasi yang dapat menjelaskan proyek.
Tahap Analisis Resiko:mendefinisikan resiko, menentukan apa saja yang menjadi
resiko baik teknis maupun manajemen.
Tahap Rekayasa (engineering):pembuatan prototipe.
Tahap Konstruksi dan Pelepasan (release):pada tahap ini dilakukan pembangunan
perangkat lunak yang dimaksud, diuji, diinstal dan diberikan sokongan-sokongan
tambahan untuk keberhasilan proyek.
Tahap Evaluasi:Pelanggan/pemakai/pengguna biasanya memberikan masukan
berdasarkan hasil yang didapat dari tahap engineering dan instalasi.
Kelebihan model iniadalah sangat mempertimbangkan resiko kemungkinan
munculnya kesalahan sehingga sangat dapat diandalkan untuk pengembangan perangkat
lunak skala besar. Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat
baik dengan menggabungkan model waterfall ditambah dengan pengulangan-
pengulangan sehingga lebih realistis untuk mencerminkan keadaan sebenarnya. Baik
pengembang maupun pemakai dapat cepat mengetahui letak kekurangan dan kesalahan
dari sistem karena proses-prosesnya dapat diamati dengan baik.
Kekurangan model iniadalah waktu yang dibutuhkan untuk mengembangkan
perangkat lunak cukup panjang demikian juga biaya yang besar. Selain itu, sangat
tergantung kepada tenaga ahli yang dapat memperkirakan resiko. Terdapat pula kesulitan
untuk mengontrol proses. Sampai saat ini, karena masih relatif baru, belum ada bukti
apakah metode ini cukup handal untuk diterapkan.
Model Spiral/Boehm sangat cocok diterapkan untuk pengembangan sistem dan perangkat
lunak skala besar di mana pengembang dan pemakai dapat lebih mudah memahami kondisi
pada setiap tahapan dan bereaksi terhadap kemungkinan terjadinya kesalahan. Selain itu,
diharapkan juga waktu dan dana yang tersedia cukup memadai.
DAFTAR PUSTAKA
https://www.hestanto.web.id/model-air-terjun-waterfall-model/
https://medium.com/@ersandibillah03/sdlc-waterfall-3a3c893be77b
https://murtri.wordpress.com/2014/08/25/model-model-pengembangan-perangkat-lunak-beserta-
contoh-penerapannya/