Linear sequential model atau metode waterfall adalah metode yang menggambarkan pendekatan sistematis serta berurutan dalam proses pengembangan perangkat lunak. Metode ini diperkenalkan untuk pertama kalinya oleh Winston Royce pada tahun 1970.
Dari definisi diatas dan sebagai metode pengembangan yang telah diperkenalkan sejak lama, metodologi waterfall ini sering kali dianggap kuno. Walau begitu, metode inilah yang paling banyak dipakai dalam Software Engineering (SE).
Pengertian Metode Waterfall
Apa itu Metode Waterfall? Metode Waterfall adalah suatu model pengembangan sistem yang berjenjang, dimana setiap tahapan harus selesai sebelum melanjutkan ke tahapan berikutnya.
Tahapan-tahapan yang ada dalam metode ini meliputi analisis kebutuhan, desain sistem, implementasi, uji coba, deployment, dan maintenance. Metode ini dikenal sebagai salah satu metode pengembangan sistem konvensional dan terstruktur.
Metode yang termasuk salah satu classic life cycle dalam pengembangan perangkat lunak ini menggambarkan pendekatan yang berurutan dan sistematis yang dimulai dari spesifikasi kebutuhan pengguna, perencanaan, permodelan, konstruksi, penyerahan sistem atau perangkat lunak kepada pengguna, hingga perawatan sistem.
Nah, kali ini kita akan membahasa mengenai penjelasan pengertian metode waterfall, tahapan-tahapan metode waterfall, contoh penerapan atau penggunaan hingga kelebihan dan kekurangan metode waterfall.
Tahapan Metode Waterfall (Air Terjun)
1. Requirement Analysis and Definition
Requirement and Analysis Definition merupakan tahap pertama yang harus dilakukan pada metode waterfall. Pada tahap ini, pengembang akan mencari informasi yang dibutuhkan untuk mengembangkan perangkat lunak.
Biasanya, informasi tersebut berupa pemahaman tentang perangkat lunak yang diharapkan oleh pengguna serta batasan-batasannya.
Untuk mendapatkan informasi tersebut, pengembang umumnya mengumpulkan data melalui berbagai cara mulai dari wawancara hingga diskusi atau survei langsung.
Informasi yang didapatkan kemudian akan dianalisis untuk mendapatkan datalengkap tentang software yang dibutuhkan pengguna yang kemudian akan dikembangkan.
BACA JUGA Perbedaan RAM DDR3 dan DDR3L
2. System and Software Design
Tahapan system and software design adalah tahap selanjutnya yang harus dilakukan setelah requirement and analysis definition. Pada tahap ini, semua data dan informasi yang telah didapatkan melalui wawancara atau survei langsung akan diolah dan dipersiapkan.
Spesifikasi yang dibutuhkan oleh pengguna akan dipelajari pada tahap ini, lalu pengembang akan menyiapkan desain sistem.
Tahapan yang dilakukan sebelum proses codingini sangat penting karena keberadaannya akan sangat membantu dalam menentukan persyaratan sistem dan perangkat keras atau hardware.
Selain itu, desain sistem juga akan membantu pengembang dalam mendefinisikan bangunan sistem secara keseluruhan.
3. Implementation and Unit Testing
Setelah desain dan bangunan sistem disiapkan pada tahap system and software design, tahap selanjutnya yang harus dilakukan adalah implementation and unit testing.
Di tahap inilah desain sistem dan software yang telah dibuat diimplementasikan atau dikembangkan pada program kecil yang disebut unit melalui coding. Tentunya, unit ini terintegrasi dengan tahap selanjutnya.
Pada tahap ini, setiap unit yang ada akan dikembangkan kemudian diuji untuk melihat sisi fungsionalitasnya, yang biasa disebut sebagai unit testing.
4. Integration and System Testing
Pada tahap implementation and unit testing, setiap unit yang ada akan diuji fungsinya yang kemudian akan dilakukan integrasi di tahap integration and system testing.
Proses integrasi unit ke dalam sistem ini akan dilakukan setelah proses pengujian setiap unit di tahap sebelumnya selesai.
Setelah diintegrasikan, seluruh sistem yang datanya telah terkumpul akan diuji untuk melihat setiap kesalahan maupun kegagalan yang ada pada sistem tersebut.
5. Operation and Maintenance
Operation dan maintenance merupakan tahap terakhir dari proses pengembangan perangkat lunak dengan metode waterfall. Artinya, sistem yang telah lulus tahap uji akan menghasilkan perangkat lunak yang sudah jadi dan bisa dijalankan.
BACA JUGA Sejarah, Pengertian, Fungsi dan Jenis Keyboard
Walau sudah dapat digunakan, perangkat lunak yang sudah jadi ini tetap harus dilakukan pemeliharaan. Proses pemeliharaan dapat berupa perbaikan sistem apabila muncul suatu kesalahan atau error yang tidak ditemukan pada langkah sebelumnya.
Selain memperbaiki kesalahan, proses pemeliharaan pada perangkat lunak juga dapat berupa perbaikan implementasi unit sistem serta peningkatan sistem sebagai kebutuhan baru pengguna.
Kelebihan dan Kekurangan Metode Waterfall
Seperti yang telah dijelaskan, metode waterfall adalah metode yang paling banyak digunakan dalam proses pengembangan perangkat lunak.
Walau metode ini paling banyak digunakan, metode ini tetap saja memiliki kelebihan dan kekurangan seperti metode pengembangan perangkat lunak lainnya.
Kelebihan metode waterfallyang pertama adalah metode ini memungkinkan pengembang perangkat lunak untuk mudah melakukan kontrol dan menjadwal proses pengerjaan.
Proses pengembangan pada model ini juga memberikan kelebihan, yaitu meminimalisir kesalahan yang terjadi karena tahapan atau fase dilakukan satu persatu, tidak dilakukan secara bersamaan.
Pengembangan perangkat lunak dengan metode ini menjadi terstruktur dan runtut karena bergerak dari konsep atau desain, kemudian berlanjut ke implementasi, melalui pengujian, proses instalasi (setelah pengujian selesai), penyelesaian masalah, kemudian berakhir di operasi perangkat lunak dan pemeliharaannya.
Dengan karakteristiknya yang sistematis, metode pengembangan perangkat lunak ini sangat cocok untuk membuat perangkat lunak skala besar. Selain itu, metode waterfall juga cocok untuk mengembangkan suatu sistem yang sifatnya generik.
Selain beberapa kelebihan yang menyertainya, metode waterfallini juga memiliki beberapa kekurangan. Kekurangan metode pengembangan perangkat lunak ini adalah tidak memungkinkan untuk melakukan banyak revisi atau perbaikan dalam prosesnya.
Hal ini dapat terjadi karena aplikasi yang sudah sampai pada tahap pengujian akan sulit untuk kembali lagi misalnya untuk mengubah sesuatu yang tidak terdokumentasi dengan baik pada tahap yang paling awal yaitu konsep.
BACA JUGA Cara Menggunakan Firewall App Blocker
Metode ini akan menyulitkan pengembang untuk beradaptasi jika dilakukan perubahan pada suatu tahapan pengembangan sehingga persyaratan sistemnya harus digambarkan dengan sejelas mungkin sejak awal.
Dengan kata lain, rancangan atau desain awal serta rincian proses pengembangan perangkat lunak dengan metode ini harus benar-benar jelas dan tidak boleh berubah.
Artikel Lainnya
Yup, itu tadi materi mengenai penjelasan metode waterfall mulai dari definisi, tahapan hingga kelebihan dan kekurangannya.