METODE WATERFALL: Pengertian, Kelebihan & Tahapan Model Waterfall

Metode Waterfall – Metode pengembangan perangkat lunak diperlukan dalam setiap perancangan sebuah sistem. Dengan metode tepat, pembuatan sistem atau aplikasi diharapkan berjalan efektif dan efisien serta memenuhi kualitas yang diinginkan oleh klien.

Dalam rekayasa perangkat lunak atau juga MPPL terdapat metode yang biasa digunakan, diantaranya adalah metode prototype, metode waterfall, RAD, spiral, agile dan sebagainya. Masing-masing metode memiliki kelebihan dan kekurangan tersendiri.

Nah, khusus di artikel ini, kita akan membahas tentang metode waterfall, mulai dari pengertian dan juga tahapan- tahapan metode waterfall serta contoh penggunannya.

Pengertian Metode Waterfall

metode waterfall
wikipedia.org

Pengertian Metode Waterfall adalah metode pengembangan perangkat lunak yang memungkinkan pembuatan sistem dilakukan secara terstuktur dan sistematis (berurutan) sesuai dengan siklus pengembangan yang ada.

Metode ini disebut waterfall atau air terjun karena dalam prosesnya, sistem akan dibuat berurutan setahap demi setahap. Mulai dari tahapan;

  • Requirement
  • Design
  • Implementation
  • Verification dan
  • Maintenance 

Dalam metode waterfall. Jika tahapan 1 belum selesai, maka tahapan 2 tidak bisa berjalan, begitupun seterusnya. Semua tahapan saling berkaitan dan masing-masing harus dikerjakan secara detail dan terdokumentasi.

Metode waterfall mengharuskan setiap spesifikasi, persyaratan dan tujuan sistem terdefinisikan secara detail di tahap awal (requirement & design) sebelum masuk pada proses pengerjaan (implementasi).

Ini dikarenakan metode waterfall tidak mengakomodir perubahan di tengah proses pengembangan. Jadi apa yang telah disepakati bersama oleh tim analis dan klien di tahap awal, itulah yang akan menjadi hasil akhir.

Semuanya harus mematuhi dan konsisten terhadap hal tersebut sampai aplikasi selesai dan diserahkan pada pihak klien.

Pihak klien sendiri tidak bisa melakukan ‘intervensi’ pada para programmer, ini berbeda dengan beberapa model pengembangan lain yang memungkinkan keduanya berkomunikasi untuk menentukan atau merevisi pekerjaan di tahap peng-codingan.

Metode waterfall umumnya digunakan pada proyek pembuatan sistem besar dengan kompleksitas tinggi serta membutuhkan sumber daya manusia yang banyak dalam pembangunannya.

Tahapan Metode Waterfall

via google images

Secara umum, tahapan penggunaan model waterfall sama, namun biasanya memiliki istilah berbeda tergantung pendapat ahli mana yang diikuti. Kesemuanya memiliki makna dan alur sama hanya berbeda dalam istilahnya saja.

A,. Tahapan Metode Waterfall Menurut Presman 2015

  • Communication
  • Planning
  • Modelling
  • Construction
  • Deployment

B. Tahapan Metode Waterfall  Menurut Sommervile (2011, p30-31) 

  • Requirements Definition
  • System and Software Design
  • Implementation and Unit Testing
  • Integration and System Testing
  • Operation and Maintenance

C. Tahapan Metode Waterfall Secara Umum

  • Requirement
  • Design
  • Implementation
  • Verification dan
  • Maintenance.

1. Requirement (Analisis Kebutuhan)

Requirement adalah proses analisa atau pengumpulan data-data yang berkaitan dengan sistem yang akan dibuat. Pengumpulan data ini bisa dilakukan dengan wawancara, studi literatur, observasi atau penelitian langsung.

Dalam fase ini tim analis akan menggali informasi sebanyak-banyaknya dari klien atau user tentang software apa yang mereka inginkan beserta dengan kebutuhan sistem lainnya.

Hasil dari tahapan ini akan menghasilkan dokumen bernama “User Requirement Document” atau “User Requirement Specification” yang dalam bahasa Indonesia dikelan dokumen Spesifikasi kebutuhan user.

Tahapan analisis kebutuhan (requirements) memiliki beragam istilah lain, diantaranya adalah system requirements, costumer requirement gathering, analysis ataupun analisa kebutuhan user.

2. Design System (Desain Sistem)

Proses ini akan berfokus pada pembangunan struktur data, arsitekur perangkat lunak, perancangan interface, perancangan fungsi internal dan eksternal serta detail dari setiap algoritma prosedural.

Tahapan design akan menghasilkan dokumen bernama “Sofware Requirement” yang nantinya  menjadi landasan para programmer dalam membuat code-code aplikasi.

3. Implementasi (Pengerjaan)

Tahap ini adalah tahapan pembuatan aplikasi oleh para programmer dengan menggunakan kode-kode bahasa pemrograman tertentu. Proses penulisan sinkode (coding) aplikasi mengacu pada dokumen-dokumen yang telah dibuat sebelumnya.

Dalam dokumen tersebut biasanya terdapat pemecahan modul-modul sistem sehingga pengerjaan aplikasi dapat dilakukan oleh beberapa programmer sekaligus tanpa mengganggu sistem lain secara keseluruhan.

Tahap implementasi disebut juga tahap code and debug, atau juga disebut tahapan integration and system testing.

4. Verification (Verifikasi)

Tahapan verifikasi meliputi pengintegrasian sistem dan juga melakukan testing terhadap aplikasi yang telah dibuat. Sistem akan diverifikasi untuk diuji sejauh mana kelayakannya.

Dalam tahapan ini semua modul yang dikerjakan oleh programmer berbeda akan digabungkan kemudian diuji apakah telah sesuai dengan spesifikasi yang ditetapkan atau terdapat kesalahan/error dalam sistem sebelum kemudian diperbaiki ulang.

5. Maintenance (Pemeliharaan)

Tahapan ini umumnya meliputi tahapan penginstalasian perangkat lunak dan pengujian aplikasi. Maintenance juga adalah bentuk tanggung jawab tim pengembang untuk memastikan aplikasi dapat berjalan lancar setelah diserah-terima kan pada klien dalam periode waktu tertentu.

Dalam definisi yang lebih luas, maintenance adalah proses memperbaiki aplikasi dari setiap error atau bug celah keamanan, peningkatan kinerja aplikasi, memastikan aplikasi dapat berjalan pada ruang lingkup baru dan juga penambahan modul-modul baru untuk pengembangan aplikasi.

 

Kelebihan Metode Waterfall

pixabay.com

Setiap metode pengembangan perangkat lunak atau sistem mempunyai kelebihan dan kekurangan tersendiri, pun dengan metode ini. Berikut ini adalah beberapa kelebihan metode waterfall.

1. Rangkaian Kerja Jelas

Dengan metode waterfall tahapan pengembangan sistem menjadi jelas. Masing-masing anggota yang terdiri dari Analis, desainer, programmer, tester atau juga pemasaran memiliki tugas yang terdefinisi dengan baik.

Setiap tim akan bekerja sesuai alur atau tahapan dalam metode ini, sehingga kesalahan-kesalahan bersifat teknis dapat ditekan seminimal mungkin. 

2. Berkomitmen Pada Tujuan Akhir

Pada tahap awal klien dan tim analis bertemu untuk mendefinisikan detail kebutuhan dari software yang akan dibuat. Jika tahapan ini selesai, maka klien dan seluruh tim yang terlibat akan mengetahui gambaran atau tujuan akhir dari sistem yang dibuat.

Semua akan berkomitmen pada hasil akhir software. Tidak boleh ada perubahan ditengah proses baik itu oleh pihak developer ataupun klien. Semuanya harus sejalan dengan tujuan yang telah disepakati diawal.

3. Dokumentasi yang Baik

Waterfall adalah pendekatan yang sangat metodis, setiap informasi akan tercatat, terdistribusikan dan dapat diakses dengan cepat oleh setiap anggota tim.

Dokumentasi ini juga berguna ketika misal ada 1 atau beberapa anggota tim mundur dari proyek. Dengan dokumentasi yang baik maka anggota tim baru nantinya dapat lebih mudah beradaptasi dengan sistem dan prosedur yang ada.

Selain itu, setiap divisi tim juga akan lebih mudah menyelesaikan pekerjaan. Misalnya programmer yang bisa bekerja dengan arahan dokumen yang telah dibuat tim analis dan desain.

4. Hemat Waktu dan Biaya

Hal yang biasanya menjadi penyebab molornya waktu penyerahan software adalah kebutuhan klien yang berubah-ubah dan banyaknya campur tangan klien ketika proses pengerjaan.

Dalam metode waterfall, klien tidak bisa leluasa mencampuri proses pembuatan software, terlebih ketika sudah memasuki tahap programming.

Klien harus mendefinisikan secara jelas kebutuhan diawal dan harus berkomitmen dengan hal tersebut. Dengan seperti itu pihak developer dapat membuat estimasi waktu dan juga biaya pengerjaan.  

5. Cocok untuk Pembuatan Software Berskala Besar

Metode Waterfall dinilai cocok untuk pengerjaan software yang melibatkan banyak sumber daya manusia dan memiliki prosedur yang kompleks.

Tapi ada juga ahli yang berpendapat bahwa metodologi waterfall lebih baik digunakan pada proyek skala kecil dengan pengerjaan waktu yang singkat.


Kekurangan Metode Waterfall


Selain kelebihan tentu saja ada kekurangan dalam metode ini. Berikut adalah beberapa kekurangan atau kelemahan dalam metode waterfall.

1. Membutuhkan Tim dan Manajemen yang Solid

Masing-masing divisi tim bertanggung jawab untuk melakukan setiap tugasnya dengan baik. Jika satu tim gagal mengerjakan pekerjaan, maka itu akan berdampak pada keseluruhan projek.

Misalnya ketika tim analis kurang detail dalam mendeskripsikan produk, maka itu menjadi malapetaka untuk para desainer dan programmer. 

Tugas pertama pimpinan proyek adalah membentuk tim yang memiliki skill mumpuni dalam bidangnya masing-masing dan melakukan pengawasan pada setiap tahapan-tahapannya. Dalam metode waterfall kesalahan kecil bisa menjadi masalah besar.

2. Kurang Flexible Bagi Klien

Semua tim harus bekerja sesuai arahan dan tujuan yang ditetapkan diawal. Metode ini tidak mengakomodir perubahan-perubahan spesifikasi yang terjadi ketika proses telah berjalan.

Dalam sebuah proyek terkadang klien ingin ikut mengeluarkan pendapat, merevisi ataupun mengklarifikasi pendapatnya. Dalam metode ini hal itu tidak dapat dilakukan kecuali di tahapan awal perancangan aplikasi.

3. Waktu Pembuatan Software Lebih Lama

Metode waterfall tidak memungkinkan seluruh tim bekerja secara bersamaan. Tim desain tidak bisa bekerja sebelum tim analis selesai melakukan tugasnya. Begitupun para programmer yang harus menunggu tim analis & desain merampungkan tugasnya.

Dengan seperti ini, pekerjaan akan menjadi lambat dan pembuatan software akan memakan waktu lebih lama dibandingkan metodologi pengembangan perangkat lunak lainnya.

4. Tidak Bisa Melihat Gambaran Sistem

Sistem baru akan terlihat ketika seluruh rangkaian telah dijalankan. Klien bisa melihat aplikasi dalam bentuk real pada akhir tahapan.

5. Kenaikan Biaya dan Tanggal Rilis

Masalah yang terjadi dalam model waterfall adalah jika dalam tahap pengetesan terdapat konflik atau bug yang rumit. Ini bisa memakan waktu lama dan menyebabkan proyek menjadi molor

Belum lagi jika klien tidak puas dengan hasil kerjaan dan meminta revisi ulang sistem. Maka dari itu sedari awal diperlukan tim yang berkualitas dan berpengalaman serta manajemen tim yang baik agar setiap tugas terawasi dan bisa diprediksi setiap celah kesalahannya.


Demikian artikel singkat berkaitan dengan metode waterfall, mulai dari pengertian, tahapan, kelebihan dan kekurangan serta contoh penerapan metode waterfall dalam lingkup yang sederhana. Semoga bermanfaat.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *