Disusun Oleh:
(STMIK) PRIMAKARA
2021
Karakteristik Metode Waterfall
Metode waterfall adalah salah satu jenis model pengembangan aplikasi dan termasuk ke
dalam classic life cycle (siklus hidup klasik), yang mana menekankan pada fase yang
berurutan dan sistematis. Untuk model pengembangannya, dapat dianalogikan seperti air
terjun, dimana setiap tahap dikerjakan secara berurutan mulai dari atas hingga ke bawah,
maka untuk setiap tahapan tidak boleh dikerjakan secara bersamaan.
1. Requirement
2. Design
Tahap yang selanjutnya adalah pembuatan desain aplikasi sebelum masuk pada proses
coding. Tujuan dari tahap ini, supaya mempunyai gambaran jelas mengenai tampilan dan
antarmuka software yang kemudian akan dieksekusi oleh tim programmer. Untuk proses
ini, akan berfokus pada pembangunan struktur data, arsitektur software, perancangan
interface, hingga perancangan fungsi internal dan eksternal dari setiap algoritma
prosedural. Tim yang mengerjakan tahap ini, biasanya lebih banyak menggunakan UI/UX
Designer, atau orang yang memiliki kemampuan dalam bidang desain grafis atau Web
Designer.
3. Implementation
Tahapan metode waterfall yang berikutnya adalah implementasi kode program dengan
menggunakan berbagai tools dan bahasa pemrograman sesuai dengan kebutuhan tim dan
perusahaan. Jadi, pada tahap implementasi ini lebih berfokus pada hal teknis, dimana
hasil dari desain perangkat lunak akan diterjemahkan ke dalam bahasa pemrograman
melalui tim programmer atau developer. Di dalam tahap pengembangan, biasanya dibagi
lagi menjadi 3 tim yang memiliki tugas yang berbeda.
Selain itu, pada tahap ini juga dilakukan pemeriksaan lebih dalam terkait dengan modul
yang sudah dibuat, apakah berjalan dengan semestinya atau tidak.
Tahap yang keempat, masuk dalam proses integrasi dan pengujian sistem. Pada tahap ini,
akan dilakukan penggabungan modul yang sudah dibuat pada tahap sebelumnya. Setelah
proses integrasi sistem telah selesai, berikutnya masuk pada pengujian modul. Yang
bertujuan untuk mengetahui apakah perangkat lunak sudah sesuai dengan desain, dan
fungsionalitas dari aplikasi apakah berjalan dengan baik atau tidak. Jadi, dengan adanya
tahap pengujian, maka dapat mencegah terjadinya kesalahan, bug, atau error pada
program sebelum masuk pada tahap produksi. Orang yang bertanggung jawab untuk
melakukan testing adalah QA (Quality Assurance) dan QC (Quality Control).
Tahapan metode waterfall yang terakhir adalah pengoperasian dan perbaikan dari
aplikasi. Setelah dilakukan pengujian sistem, maka akan masuk pada tahap produk dan
pemakaian perangkat lunak oleh pengguna (user). Untuk proses pemeliharaan,
memungkinkan pengembang untuk melakukan perbaikan terhadap kesalahan yang
ditemukan pada aplikasi setelah digunakan oleh user. Jadi, pada intinya model waterfall
ini dalam proses pemakaiannya mengikuti prinsip dari air terjun. Dimana setiap pekerjaan
akan dilakukan secara berurutan mulai dari atas hingga ke bawah. Hal tersebut yang
merupakan karakteristik dari SDLC ini.
Sebagai sebuah model yang sering digunakan dalam pengembangna sebuah aplikasi, maka
sudah pasti model waterfall ini memilki beberapa karakteristik utama. Berikut ini adalah
beberapa karakteristik utama dari model waterfall :
1. Sistem atau proses yang sedang dijalankan akan otomatis terhenti apabila mengalami
suatu kendala
Karakteristik pertama dari model waterfall adalah ketika terjadi suatu masalah, maka
proses ini akan terhenti dan tidak bisa dilanjutkan sebelum masalah atau problem tersebut
diselesaikan terlebih dahulu. Hal ini tentu saja disebabkan karena model waterfall ini
merupakans sebuah model prototype yang menggunakan metode atau model yang
memiliki sebuah alur tertentu dalam pembuatannya, sehingga nantinya proses tersebut
haruslah melewati tahap – tahap tertentu. Apabila ternyata pada tahap ataupun waktu
tertentu mengalami suatu masalah, maka masalah tersebut harus dipecahkan dan juga
diselesaikan terlebih dahulu, baru nantinya proses tersebut bisa dilanjutkan kembali.
Ketika kita akan menjalankan sebuah kendaraan, baik motor atau mobil, maka ada proses
yang harus kita lakukan terlebih dahulu, yang dilakukan secara berurutan, seperti :
Berikut adalah contoh urutan dari model waterfall. Bagaimana apabila salah satu tahap
mengalami masalah? Yang terjadi adalah memang harus membereskan masalah itu
terlebih dahulu. Misalnya, kendaraan yang akan kita gunakan tidak mau distarter, maka
proses akan terhenti sampai disitu, dan baru bisa berlanjut apabila masalah tersebut sudah
kita atasi terlebih dahulu.
Karakteristik kedua yang bisa kita tarik kesimpulan dari model waterfall ini adalah
lamanya waktu memproses sesuatu. Penggunaan sistem model waterfall yang
mengharuskan setiap prototype melalui proses-proses tertentu tanpa bisa melewati satu
atau dua proses ini tentu saja akan membutuhkan waktu yang lebih lama untuk
menyelesaikannya. Satu kali model waterfall dilakukan, wajib melewati serangkaian
proses yang harus dilewati secara bertahap, dan biasanya proses ini cukup panjang,
sehingga nantinya akan memperlambat dan juga membutuhkan waktu yang cukup lama
dan juga cukup panjang untuk menyelesaikan suatu proses pembuatan prototype ataupun
pembuatan suatu program.
Karakteristik berikutnya dari model waterfall adalah sistem pendekatan yang digunakan.
Model waterfall menggunakan sistem pendekatan berupa pendekatan sequential. Sistem
pendekatan yang digunakan oleh model waterfall merupakan pendekatan yang sifatnya
bertahap dan juga berurutan, atau yang dikenal dengan nama sequential yaitu dalam
sequence – sequence tertentu, hal ini merupakan karakteristik utama dari sebuah model
waterfall dalam mengembangkan suatu aplikasi dan juga program.
Setiap proses yang berjalan bisa dianalisa lebih mendalam, dan dilakukan
troubleshooting, sehingga bisa diperoleh aplikasi atau program yang sempurna
Dapat menghindari aplikasi yang penuh dengan bug ataupun error
Akan membantu membuat atau menghasilkan aplikasi yang lebih berkualitas
Setiap proses akan dijalani secara teliti dan juga presisi
Aplikasi akan menjadi lebih bermanfaat, karena benar – benar dibuat secara bertahap,
tanpa bisa melewati tahap atau proses lainnya.
Kelebihan dan Kelemahan metode waterfall
1. Kelebihan
Berikut ini merupakan beberapa kelebihan yang dimiliki oleh metode waterfall, antara
lain:
Dengan menggunakan model SDLC jenis ini, mempunyai rangkaian alur kerja sistem
yang jelas dan terukur. Masing – masing tim, memiliki tugas dan tanggung jawab
sesuai dengan bidang keahliannya. Serta dapat menyelesaikan pekerjaan sesuai
dengan alokasi waktu yang telah ditentukan sebelumnya.
Waterfall merupakan pendekatan yang sangat metodis, dimana setiap informasi akan
tercatat dengan baik dan terdistribusi kepada setiap anggota tim secara cepat dan
akurat. Dengan adanya dokumen, maka pekerjaan dari setiap tim akan menjadi lebih
mudah, serta mengikuti setiap arahan dari dokumen tersebut.
Dari segi resource dan biaya yang dikeluarkan oleh suatu perusahaan dengan
menggunakan model ini. Jadi, dalam hal ini klien tidak dapat mencampuri urusan dari
tim pengembang aplikasi. Sehingga pengeluaran biaya menjadi lebih sedikit.
Metode ini dinilai sangat cocok untuk menjalankan pembuatan aplikasi berskala besar
yang melibatkan banyak sumber daya manusia dan prosedur kerja yang kompleks.
Akan tetapi, model ini juga dapat digunakan untuk proyek berskala kecil dan
menengah. Tentu saja disesuaikan dengan kondisi dan kebutuhan proyek yang
diambil.
2. Kelemahan
Berikut ini terdapat beberapa kelemahan dari metode waterfall, diantaranya adalah
sebagai berikut:
Untuk menggunakan model SDLC ini, tentu saja membutuhkan dukungan dari setiap
stakeholders yang ada. Setiap tim harus mempunyai kerja sama dan koordinasi yang
baik. Dikarenakan, apabila salah satu tim tidak dapat menjalankan tugas dengan
semestinya, maka akan sangat berpengaruh terhadap alur kerja tim yang lain.
Semua tim dituntut untuk bekerja sesuai dengan arahan dan petunjuk yang telah
ditetapkan di awal. Sehingga, klien tidak dapat mengeluarkan pendapat dan feedback
kepada tim pengembang. Klien hanya dapat memberikan masukan pada tahap awal
perancangan sistem perangkat lunak saja.
Dengan model waterfall, customer tidak dapat melihat gambaran sistem secara jelas.