Model Waterfall : Tahapan Pengembangan Perangkat Lunak

Tahapan pengembangan perangkat lunak dengan model waterfall menjadi salah satu dari banyaknya jenis model pengembangan perangkat lunak atau yang sering disebut dengan SDLC.

SDLC merupakan software development life cycle yang saat ini banyak digunakan para pengembang software.

Model waterfall merupakan salah satu model pengembangan yang cukup populer dan banyak digunakan oleh para pengembang perangkat lunak saat ini.

Artikel kali ini akan fokus membahas tahapan pengembangan perangkat lunak dengan menggunakan model waterfall saja.

Berikut dengan pengertian model waterfall, sejarah, tahapan, dan kelebihan serta kekurangan dari model waterfall tersebut.

Pengertian model waterfall

Model waterfall merupakan salah satu jenis metode atau model pengembangan aplikasi dan termasuk kedalam classic life cycle atau siklus hidup klasik pengembangan perangkat lunak.

Model waterfall enekankan pada fase yang berurutan dan dikerjakan secara sistematis.

Untuk model pengembangannya bisa dianalogikan seperti air terjun di mana setiap tahapan yang akan dikerjakan ataupun yang sedang dikerjakan dilakukan secara berurutan mulai dari atas hingga ke bawah.

Tentu saja dari setiap tahapan tidak boleh dikerjakan secara bersamaan sehingga prosesnya tidak tumpang tindih.

Perbedaan dari model waterfall dengan metode agile terletak pada tahapan SDLC-nya.

Waterfall juga termasuk dalam pengembangan perangkat lunak yang kurang iteratif dan fleksibel karena prosesnya mengarah pada satu arah saja seperti air terjun.

Sejarah model waterfall

Penggunaan model waterfall pertama kali diperkenalkan oleh Herbert Bennington pada symposium on advanced programming method for digital computer pada tanggal 29 Juni 1956.

Presentasi Bennington kembali menjelaskan tentang pengembangan perangkat lunak untuk semi automatic ground environment atau SAGE.

Kemudian pada tahun 1983, Bennington kembali mempresentasikan dan menjelaskan tentang fase-fase dalam proses pengembangan yang sudah ia jelaskan sebelumnya.

Di tahun 1985, Departemen Pertahanan Amerika Serikat menggunakan metode yang dijelaskan oleh Bennington sebelumnya dengan menggunakan beberapa tahapan yang digunakan terdiri dari 6 fase, diantaranya:

  • Preliminary design
  • Detailed design
  • Coding and Unit Testing
  • Integration
  • Testing

Baca Juga : Pengertian Komputer : Sejarah dan Komponen di dalamnya

Tahapan model waterfall

model waterfall

Berikut ini beberapa tahapan model waterfall yang digunakan oleh para pengembang software.

1. Requirement

Tahapan model waterfall yang pertama merupakan tahapan persiapan dan analisa kebutuhan dari perangkat lunak yang akan dikerjakan.

Informasi dan insight yang diperoleh bisa berupa hasil wawancara, studi literatur, observasi, survei, dan diskusi.

Biasanya di dalam sebuah perusahaan, tim analis akan menggali informasi sebanyak-banyaknya dari klien terkait atau pengguna atau user yang menginginkan produk beserta dengan kebutuhan yang ada di dalam sistemnya nanti.

Selain itu, dengan menggali banyak informasi, tim analis juga bisa mengetahui batasan dari perangkat lunak yang akan dibuat nantinya.

2. Design

Selanjutnya pembuatan desain aplikasi sebelum masuk ke dalam proses coding.

Tujuan dari tahapan desain adalah agar memiliki gambaran jelas tentang tampilan dan antarmuka software yang nantinya dieksekusi oleh para tim programmer.

Proses ini akan terfokus pada pembangunan struktur data, perancangan interface, arsitektur software, hingga perancangan fungsi internal dan eksternal dari setiap algoritma prosedural yang akan digunakan.

Pada tahapan ini yang mengerjakan tahapan desain biasanya menggunakan UI/UX Designer atau mereka yang memiliki kemampuan di bidang desain grafis atau web desainer.

3. Implemetation

Tahapan selanjutnya dari model waterfall adalah implementasi kode program dengan menggunakan berbagai macam peralatan ataupun dan bahasa pemrograman yang sesuai dengan kebutuhan tim dan juga perusahaan.

Pada tahapan implementasi, akan lebih banyak terhapus pada teknik di mana hasil bisa perangkat lunak yang sebelumnya akan diterjemahkan ke dalam bahasa pemrograman melalui tangan-tangan ahli para programmer atau developer.

Pada tahapan ini biasanya terbagi lagi menjadi tiga tim dengan tugas yang berbeda-beda, yakni:

  • Front end untuk menangani klien.
  • Backend untuk menangani server.
  • Full stack yang merupakan penggabungan antara front end dan backend.

Pada tahapan implementasi juga dilakukan pemeriksaan lebih dalam terkait modul yang sudah dibuat untuk mengetahui apakah program yang digunakan sudah berjalan dengan semestinya atau tidak.

4. Integration & Testing

Masuk Pada tahapan ke-4 yaitu proses integrasi dan pengujian sistem.

Tahapan ini dilakukan dengan penggabungan modul yang sudah dibuat pada tahapan sebelumnya.

Proses integrasi sistem selesai, kemudian masuk ke proses pengujian modul untuk mengetahui apakah perangkat lunak sudah sesuai dengan desain dan fungsionalitasnya atau belum.

Hal ini juga bertujuan untuk mengetahui apakah aplikasi sudah berjalan dengan baik atau masih harus kembali diproses ulang.

Dengan adanya tahap pengujian ini bisa mencegah terjadinya kesalahan, eror, atau bug di dalam program sebelum masuk ke tahapan produksi.

Tim yang bertanggung jawab untuk melakukan pengujian adalah:

  • QA (Quality Assurance)
  • QC (Quality Control)

5. Operation & Maintenance

Tahapan model waterfall yang paling akhir adalah pengoperasian dan perbaikan dari aplikasi yang sudah dibuat.

Setelah pengujian sistem, kemudian masuk ke tahapan produksi dan pemakaian perangkat lunak oleh para pengguna.

Untuk proses pemeliharaan, para pengembang perlu melakukan perbaikan terhadap kesalahan yang ditemukan oleh para pengguna setelah aplikasi digunakan.

Kelebihan dari model waterfall

  • Workflow yang jelas karena memiliki rangkaian alur kerja sistem yang jelas dan terukur.
  • Hasil dokumentasi yang baik di mana setiap informasi akan tercatat dan terdistribusi kepada setiap anggota tim secara cepat dan akurat.
  • Hemat biaya karena klien tidak bisa mencampuri urusan di dalam tim pengembangan aplikasi.
  • Bisa digunakan untuk pengembangan perangkat lunak berskala besar.

Kelemahan dari model waterfall

  • Membutuhkan tim yang sulit karena jika tidak bisa menjalankan tugas dengan semestinya meskipun hanya satu tim saja yang bermasalah, hal ini bisa berpengaruh terhadap alur kerja tim yang lainnya.
  • Kurang fleksibel selain klien tidak bisa mengeluarkan pendapat dan feedback kepada tim pengembang.
  • Klien tidak bisa melihat gambaran sistem dengan jelas.
  • Proses pengerjaannya membutuhkan waktu yang lebih lama karena harus dilakukan satu persatu.

Baca Juga : Pengertian Cybercrime dan Contohnya yang wajib Kamu Tahu dan Contohnya yang wajib Kamu Tahu

Kesimpulan

Itu dia sedikit penjelasan terkait model waterfall dalam proses pembuatan hingga pemakaiannya mengikuti prinsip dari air terjun yang terus mengarah ke bawah.

Siap Kakak atau pekerjaan yang dilakukan secara berurutan merupakan karakteristik dari tahapan pengembangan perangkat lunak dengan model waterfall.

Semoga setelah membaca artikel ini, anda bisa mencoba menerapkan model waterfall dalam proyek pengerjaan bisnis pengembangan perangkat lunak yang anda miliki.