Nama : Amanda Fadila Erros Kelas/No : TI-1H / 05
NIM : 2241720177 Tugas 1 – RPL
1. Jelaskan model proses pengembangan perangkat lunak Waterfall! Termasuk detail per tahapan Jawab :
Metode Waterfall adalah model pengembangan aplikasi dan termasuk ke dalam classic life cycle (siklus hidup klasik), yang menekankan pada langkah yang berurutan dan sistematis. Model pengembangannya dapat dianalogikan seperti air terjun, dimana setiap tahap dikerjakan secara berurutan mulai dari identifikasi kebutuhan hingga proses perawatan. Penggunaan model 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).
Tahapan metode waterfall :
1. Requirement Analysis
Metode Requirement Analysis adalah analisis kebutuhan pengguna terhadap sebuah perangkat lunak yang diperoleh dengan berbagai cara seperti diskusi, observasi, survei, wawancara, dsb. Informasi yang didapat kemudian diolah dan dianalisa untuk menghasilkan data atau informasi yang lengkap berisi spesifikasi kebutuhan pengguna terhadap perangkat lunak yang akan dikembangkan.
2. System and Software Design
Informasi mengenai spesifikasi kebutuhan dari tahap sebelumnya “Requirement Analysis”
selanjutnya di analisa pada tahap ini untuk kemudian diimplementasikan pada desain pengembangan dengan tujuan membantu memberikan gambaran lengkap mengenai apa yang harus dikerjakan (proses perancangan dan pengembangan informasi kebutuhan pengguna). Tahap ini juga akan membantu pengembang untuk menyiapkan kebutuhan hardware dalam pembuatan arsitektur sistem perangkat lunak yang akan dibuat secara keseluruhan.
3. Implementation and Unit Testing
Tahap implementation and unit testing merupakan tahap pemrograman/coding. Pembuatan perangkat lunak dibagi menjadi modul-modul kecil yang nantinya akan digabungkan dalam tahap berikutnya. Pada fase ini juga dilakukan pengujian dan pemeriksaan terhadap
fungsionalitas modul yang sudah dibuat untuk memastikan bahwa modul yang dibuat sudah sesuai standar.
4. Integration and System 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.
5. Operation and Maintenance
Pada tahap terakhir, perangkat lunak yang sudah jadi dioperasikan pengguna dan dilakukan pemeliharaan. Pengembang akan melakukan perbaikan atas kesalahan yang tidak terdeteksi pada tahap-tahap sebelumnya. Pemeliharaan meliputi perbaikan kesalahan, perbaikan implementasi unit sistem, dan peningkatan dan penyesuaian sistem sesuai dengan kebutuhan.
2. Jelaskan kelebihan penggunaan model Waterfall pada pengembangan perangkat lunak!
Jawab :
• Workflow yang jelas
Model waterfall menyediakan serangkaian alur kerja sistem yang terdefinisi dengan baik dan juga dapat diskalakan karena setiap tim memiliki tugas dan tanggung jawab sesuai dengan bidang keahliannya masing-masing.
• Hasil dokumentasi yang baik
Waterfall merupakan pendekatan yang sangat terurut, di mana semua informasi dicatat dengan benar dan didistribusikan dengan cepat dan akurat kepada setiap anggota tim.
Sehingga setiap tim dapat mengikuti seluruh instruksi yang ada dalam dokumentasi tersebut dengan tepat.
• Dapat menghemat biaya
Keuntungan selanjutnya tentunya dari segi sumber daya dan biaya yang dikeluarkan oleh perusahaan yang menggunakan model ini. Dalam hal ini, klien tidak boleh mengganggu pekerjaan tim pengembang aplikasi. Oleh karena itu, biayanya lebih murah jika projek yang diinginkan sesuai dengan yang dibutuhkan pengguna.
3. Jelaskan kekurangan penggunaan model Waterfall pada pengembangan perangkat lunak!
Jawab :
• Membutuhkan tim yang solid
Menggunakan model waterfall membutuhkan kerjasama dan koordinasi yang baik dari masing-masing tim. Jika salah satu tim tidak dapat melaksanakan tugas dengan semestinya, maka akan berdampak terhadap pengerjaan tim yang lain.
• Masih kurangnya fleksibilitas
Karena seluruh tim dituntut untuk bekerja sesuai dengan arahan dan petunjuk yang telah
ditetapkan di awal proyek, klien tidak dapat mengeluarkan pendapat dan feedback kepada tim pengembang. Klien hanya dapat memberikan masukan pada tahap awal pengembangan perangkat lunak.
• Tidak dapat melihat gambaran sistem dengan jelas
Model waterfall tidak dapat memberikan gambaran yang jelas kepada klien mengenai konsep dan fungsi sebuah sistem. Klien dapat melihat setelah semua proses selesai, bukan ketika proses pengerjaan.
• Estimasi waktu pengerjaan lama
Setiap fase yang dijalankan dilakukan secara bertahap sehingga menambah waktu yang dibutuhkan. Setiap proses atau fase tidak dapat dilakukan dengan proses lainnya. Misalnya, tim pengembang tidak dapat menyelesaikan proses pengkodean jika tim desainer belum menyelesaikan desain aplikasi.
• Membutuhkan biaya yang besar
Karena produk software baru bisa dilihat setelah hasil akhirnya jadi, maka jika ada revisi dari pengguna atau klien, dibutuhkan pengerjaan ulang dari awal. Karena pengulangan tersebut tentu biaya dan tenaga yang dikeluarkan akan lebih besar.