Penulis : Muhammad Raehan, Mahasisawa Teknik Informatika, Universitas Pamulang
Dalam pembuatan Aplikasi itu tidak semudah yang di bayangkan, yang satu atau dua minggu jadi melaikan memiliki proses yang panjang . Dalam pembuatan Aplikasi ini ada yang namanya SDLC (Software Development Life Cycle) , Yang pada intinya SDLC ini adalah membuat aplikasi yang sesuai dengan harapan kebutuhan Client atau si Pemilik aplikasi , dan kebutuhan nya bisa datang dari beberapa pihak seperti : Tim produk , client , perusahaan dan lain-lain
Ada beberapa model yang ada di SDLC ini yang dapat di praktekan atau di implementasi seperti : Model RAD , Model Prototype , Model Waterfall , Model Evolutionary Development , Model Agile , dan lain-lain
Penggunaan Metode Waterfall pertama kali diperkenalkan oleh Herbert D. Benington di Symposium on Advanced Programming Method for Digital Computers pada tanggal 29 Juni 1956. Presentasi tersebut menjelaskan tentang pengembangan perangkat lunak untuk SAGE (Semi Automatic Ground Environment). Pada tahun 1983, dipresentasikan kembali oleh Benington dan menjelaskan tentang fase – fase dalam proses pengembangannya.
Model Waterfall (Air terjun) kenapa nama nya Waterfall karna modelnya seperti air terjun dari fase ke fase atau alur prosesnya nya turun kebawah dan di Waterfall ini setiap fase tidak boleh saling Overlap artinya untuk kita lanjut ke fase berikutnya fase yang sekarang sedang di kerjakan harus selesai dahulu jadi kita tidak boleh saling bertumpuk kerjaan atau di kerjakan secara paralel

Gambar 1. Metode Waterfall
Requirement Analysis : Sebelum melakukan pengembangan perangkat lunak, seorang pengembang harus mengetahui dan memahami bagaimana informasi kebutuhan penggguna terhadap sebuah perangkat lunak. informasi ini dapat diperoleh dengan berbagai macam cara diantaranya, diskusi, observasi, survei, wawancara, dan sebagainya. Informasi yang diperoleh kemudian diolah dan dianalisa sehingga didapatkan data atau informasi yang lengkap mengenai spesifikasi kebutuhan pengguna akan perangkat lunak yang akan dikembangkan.
Design : Informasi yang sudah di dapat sebelumnya akan di analisa pada tahap ini untuk kemudian diimplementasikan pada desain pengembangan. Perancangan desain dilakukan dengan tujuan membantu memberikan gambaran lengkap mengenai apa yang harus dikerjakan. Tahap ini juga akan membantu pengembang untuk menyiapkan kebutuhan hardware dalam pembuatan arsitektur sistem perangkat lunak yang akan dibuat secara keseluruhan.
Implementation : Tahap implementation and unit testing merupakan tahap pemrograman. Pembuatan perangkat lunak dibagi menjadi modul-modul kecil yang nantinya akan digabungkan dalam tahap berikutnya. Disamping itu, pada fase ini juga dilakukan pengujian dan pemeriksaan terhadap fungsionalitas modul yang sudah dibuat, apakah sudah memenuhi kriteria yang diinginkan atau belum.
Testing : Setelah seluruh unit atau modul yang dikembangkan dan diuji di tahap implementasi selanjutnya diintegrasikan dalam sistem secara keseluruhan. Setelah proses integrasi selesai, selanjutnya dilakukan pemeriksaan dan pengujian sistem secara keseluruhan untuk mengidentifikasi kemungkinan adanya kegagalan dan kesalahan sistem.
Maintenance : perangkat lunak yang sudah jadi dioperasikan pengguna dan dilakukan pemeliharaan. Pemeliharaan memungkinkan pengembang untuk melakukan perbaikan atas kesalahan yang tidak terdeteksi pada tahap-tahap sebelumnya. Pemeliharaan meliputi perbaikan kesalahan, perabikan implementasi unit sistem, dan peningkatan dan penyesuaian sistem sesuai dengan kebutuhan.
Kelebihan | Kekurangan |
Tahapan proses pengembangannya tetap (pasti), mudah diaplikasikan, dan prosesnya teratur. | Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapatkan tim pengembang harus diubah kembali/iterasi sering menyebabkan masalah baru. |
Cocok digunakan untuk produk software/program yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya. | Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses. |
Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik. | Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim pengembang yang sedang membuat produk. |
Documen pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya. | Adanya waktu kosong (menganggur) bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya. |
Referensi Tulisan :
Note : Penulis Bertanggung Jawab atas semua isi tulisannya