Model Waterfall (APPL PERTEMUAN -4)




Nama : Eko Haryadi
Npm   : 19316029
Kelas  : Tk 19 A


Sejarah Model Waterfall

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. Dan pada tahun 1985, Departemen Pertahanan Amerika Serikat juga menggunakan metode ini dengan beberapa tahapan yang digunakan, terdiri dari 6 fase, yaitu: Preliminary design, Detailed design, Coding and unit testing, Integration, dan Testing.


Tahapan Model Waterfall

Setelah mengetahui apa itu metode waterfall, selanjutnya masuk pada pembahasan mengenai tahapan metode waterfall.

1. Requirement

Tahapan metode waterfall yang pertama adalah mempersiapkan dan menganalisa kebutuhan dari software yang akan dikerjakan. Informasi dan insight yang diperoleh dapat berupa dari hasil wawancara, survei, studi literatur, observasi, hingga diskusi.

Biasanya di dalam sebuah perusahaan, tim analis akan menggali informasi sebanyak – banyaknya dari klien atau user yang menginginkan produk beserta dengan kebutuhan sistemnya. Selain itu, juga dapat mengetahui setiap batasan dari perangkat lunak yang akan dibuat.

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. Pertama ada front end (untuk client side), backend (untuk server side), dan full stack (gabungan antara front end dan backend). Selain itu, pada tahap ini juga dilakukan pemeriksaan lebih dalam terkait dengan modul yang sudah dibuat, apakah berjalan dengan semestinya atau tidak.

4. Integration & Testing

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).

5. Operation & Maintenance

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. 




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

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.


Contoh studi kasus:


Tuan X adalah General Manager A Company, sebuah perusahaan perkapalan yang berbasis di Singapura. Sebagai
perusahaan UKM muda yang terus berkembang, Tuan X menginvestasikan sebagian modal perusahaan untuk promosi di media cetak dan elektronik, serta melatih kemampuan karyawan melalui berbagai kursus. Untuk mendukung kerja karyawan, A Company menggunakan komputer dasar (Basic PC) yang dilengkapi dengan office
software. Seperti kebanyakan UKM lainnya, A Company juga memiliki akses internet yang hanya dapat digunakan
secara terbatas di beberapa PC. A Company memiliki satu buah email resmi yang masih menggunakan domain dari ISP (Internet Service Provider).

Untuk komunikasi dilingkungan karyawan, mereka menggunakan fasilitas
email gratis yang banyak tersedia di internet. Email gratis ini kadang juga digunakan untuk berkomunikasi dengan
supplier dan pelanggan. Sebagai perusahaan UKM yang terus berkembang cepat,
Tuan X mulai berfikir untuk mengembangkan A Company lebih professional. Harapan Tuan X, calon pelanggan
potensial, pelanggan, supplier dan karyawan lebih mengenal A Company. Disisi lain, ia juga berharap agar cara yang
digunakan lebih efisien, hemat biaya, tetapi menampilkan sosok perusahaan yang meyakinkan atau bonafit. 

Tuan X
meyakini, bahwa berkomunikasi menggunakan alamat email atau domain sendiri; promosi melalui website sendiri; data
yang terintegrasi dan dapat diakses disemua komputer perusahaan akan dapat membawa perusahaan menjadi lebih
profesional. A Company tidak memiliki departemen khusus untuk menangani TI. Untuk mewujudkan keinginannya, Tuan X

meminta bantuan perusahaan khusus TI. Implementasi TI dikerjakan oleh perusahaan TI (sebagai pemenang tender)
dalam jangka waktu kontrak 1 tahun, Dalam proses implementasi, Tuan X menyerahkan tugas dan tanggungjawab
kepada bawahannya. 

Semua karyawan dilibatkan dalam pertemuan dan diskusi dengan perusahaan
pembangun TI. Dari waktu kontrak 1 tahun yang disepakati, TI yang bisa diimplementasikan adalah pembangunan
jaringan komputer, akses internet, email, dan pembangunan data.

Sekian dan terima kasih. 

Komentar

Postingan populer dari blog ini

Tugas Pertemuan 10 Organisasi Dan Arsitektur Komputer

Prototyping Dan Throw - Away Prototyping (APPL PERTEMUAN -6)

LAPORAN KEGIATAN “JALAN SEHAT” UNIVERSITAS TEKNOKRAT INDONESIA