MATERI WATERFALL - APPL
Pengertian Metode Waterfall
Metode
Waterfall adalah metode pengembangan perangkat lunak yang memungkinkan
pembuatan sistem dilakukan secara terstuktur dan sistematis (berurutan) sesuai
dengan siklus pengembangan yang ada.
Tahapan
Metode Waterfall
Dalam
pengembangan nya metode waterfall memiliki beberapa tahapan yang berurut yaitu
requirement (analisis kebutuhan), design system (desain sistem), Coding
(pengkodean) & Testing (pengujian), Penerapan Program, pemeliharaan.
Tahapan tahapan dari metode Waterfall adalah sebagai berikut:
- Requirement Analisis
Tahap ini pengembang sistem diperlukan komunikasi yang bertujuan untuk memahami perangkat lunak yang diharapkan oleh pengguna dan batasan perangkat lunak tersebut. Informasi ini biasanya dapat diperoleh melalui wawancara, diskusi atau survei langsung. Informasi dianalisis untuk mendapatkan data yang dibutuhkan oleh pengguna.
- System Design
Spesifikasi kebutuhan dari tahap sebelumnya akan dipelajari dalam fase ini dan desain sistem disiapkan. Desain Sistem membantu dalam menentukan perangkat keras(hardware) dan sistem persyaratan dan juga membantu dalam mendefinisikan arsitektur sistem secara keseluruhan.
- Implementation
Pada tahap ini, sistem
pertama kali dikembangkan di program kecil yang disebut unit, yang terintegrasi
dalam tahap selanjutnya. Setiap unit dikembangkan dan diuji untuk
fungsionalitas yang disebut sebagai unit testing.
- Integration & Testing
Seluruh unit yang
dikembangkan dalam tahap implementasi diintegrasikan ke dalam sistem setelah
pengujian yang dilakukan masing-masing unit. Setelah integrasi seluruh sistem
diuji untuk mengecek setiap kegagalan
maupun kesalahan.
- Operation & Maintenance
Tahap akhir dalam model
waterfall. Perangkat lunak yang sudah
jadi, dijalankan serta dilakukan pemeliharaan. Pemeliharaan termasuk dalam
memperbaiki kesalahan yang tidak
ditemukan pada langkah sebelumnya. Perbaikan implementasi unit sistem dan
peningkatan jasa sistem sebagai kebutuhan baru.
Sejarah
Metode Waterfall
Presentasi pertama yang menggambarkan penggunaan fase dari model waterfall dalam rekayasa perangkat lunak diberikan oleh Herbert D. Benington di Symposium on Advanced Programming Methods for Digital Computers pada tanggal 29 Juni 1956. Presentasi ini adalah tentang pengembangan perangkat lunak untuk SAGE. Pada tahun 1983, makalah ini diterbitkan kembali dengan kata pengantar oleh Benington yang menjelaskan bahwa fase-fase tersebut sengaja disusun sesuai dengan spesialisasi tugas, dan menunjukkan bahwa proses tersebut sebenarnya tidak dilakukan dengan cara top-down yang ketat, tetapi tergantung pada prototipe.
Deskripsi
formal pertama dari model waterfall sering dikutip sebagai artikel tahun 1970
oleh Winston W. Royce, meskipun Royce tidak menggunakan istilah waterfall dalam
artikel itu. Royce menyajikan model ini sebagai contoh model cacat yang tidak
bekerja; itulah istilah yang umumnya digunakan dalam penulisan tentang
pengembangan perangkat lunak — untuk menggambarkan pandangan kritis praktik
pengembangan perangkat lunak yang umum digunakan. Penggunaan awal dari istilah
waterfall mungkin dalam makalah tahun 1976 oleh Bell and Thayer.
Pada
tahun 1985, Departemen Pertahanan Amerika Serikat menangkap pendekatan ini
dalam DOD-STD-2167A, standar mereka untuk bekerja dengan kontraktor
pengembangan perangkat lunak, yang menyatakan bahwa "kontraktor harus menerapkan
siklus pengembangan perangkat lunak yang mencakup enam fase berikut:
Preliminary Design, Detailed Design, Coding and Unit Testing, Integration,
danTesting".
Kelebihan
Metode Waterfall
Waktu yang dihabiskan di awal siklus
pengembangan perangkat lunak dapat mengurangi biaya pada tahap selanjutnya.
Misalnya, masalah yang ditemukan pada tahap awal (seperti spesifikasi
kebutuhan) lebih murah untuk diperbaiki daripada bug yang sama yang ditemukan
kemudian dalam proses (dengan faktor 50 hingga 200). Dalam praktik umum, model
waterfall menghasilkan jadwal proyek dengan 20–40% dari waktu yang
diinvestasikan untuk dua fase pertama, 30–40% dari waktu untuk pengkodean, dan
sisanya didedikasikan untuk pengujian dan implementasi. Organisasi proyek yang
sebenarnya perlu sangat terstruktur. Sebagian besar proyek menengah dan besar
akan mencakup serangkaian prosedur dan kontrol terperinci, yang mengatur setiap
proses pada proyek.
Argumen lebih lanjut untuk model waterfall
adalah bahwa ia menekankan pada dokumentasi (seperti dokumen kebutuhan dan
dokumen desain) serta kode sumber. Dalam metodologi yang dirancang dan
didokumentasikan secara kurang teliti, pengetahuan akan hilang jika anggota tim
pergi sebelum proyek selesai, dan mungkin sulit bagi proyek untuk pulih dari
kehilangan. Jika ada dokumen desain yang berfungsi penuh, maka anggota tim baru
atau bahkan tim yang sama sekali baru harus dapat membiasakan diri dengan
membaca dokumen. Model waterfall memberikan pendekatan terstruktur; model itu
sendiri berkembang secara linier melalui fase-fase yang terpisah, mudah
dimengerti dan dapat dijelaskan sehingga dengan demikian mudah dipahami; hal
itu juga memberikan tonggak yang mudah diidentifikasi dalam proses
pengembangan. Mungkin karena alasan inilah model waterfall digunakan sebagai
contoh awal dari model pengembangan dalam banyak teks dan kursus rekayasa
perangkat lunak.
- Karena struktur logis dari model, kesalahan konseptual seringkali dapat dihindari.
- Model ini mengarah pada dokumentasi teknis yang luas, yang merupakan kelegaan bagi programmer dan pengembang baru dan juga berguna dalam tahap pengujian.
- Kemajuan proyek dapat dipantau menggunakan tonggak sejarah.
- Total biaya dapat diperkirakan dengan akurasi relatif jika tidak ada konflik.
Kekurangan Metode Waterfall
- Klien mungkin tidak tahu persis apa kebutuhan mereka sebelum mereka melihat perangkat lunak yang berfungsi dan karenanya mengubah kebutuhan mereka, yang mengarah ke pendesainan ulang, pengembangan kembali, dan pengujian ulang, dan peningkatan biaya. Desainer mungkin tidak menyadari kesulitan di masa depan ketika merancang produk atau fitur perangkat lunak baru, dalam hal ini lebih baik untuk merevisi desain daripada bertahan dalam desain yang tidak memperhitungkan kendala, kebutuhan, atau masalah yang baru ditemukan. Organisasi dapat berupaya untuk mengatasi kurangnya kebutuhan konkret dari klien dengan menggunakan analis sistem untuk memeriksa sistem manual yang ada dan menganalisis apa yang mereka lakukan dan bagaimana mereka dapat diganti. Namun, dalam praktiknya, sulit untuk mempertahankan pemisahan yang ketat antara analisis dan pemrograman sistem.
- Konflik, bug, dan kesalahan program terkadang menyebabkan kenaikan biaya dan waktu yang cukup lama. Hal yang sama berlaku jika klien tidak puas.
- Spesifikasi yang awalnya dibuat seringkali sulit untuk dipahami oleh klien karena lebih abstrak daripada apa yang seharusnya dilakukan oleh perangkat lunak. Terutama dalam proyek-proyek outsourcing, ini bisa menjadi kerugian yang menentukan, karena tanggal rilis harus ditunda dan pasar mungkin telah berubah selama waktu ini.
- Pengiriman perangkat lunak membutuhkan waktu lebih lama karena departemen tidak bekerja secara bersamaan dan setiap fase hanya dapat dimulai ketika fase sebelumnya selesai.
Contoh Studi Kasus
1.
Sulitnya petugas bagian administrasi
dalam mengolah data perpustakaan yang mengakomodasi peminjaman, buku,
pengembalian dan membuat laporan yang membutuhkan banyak waktu. Adapun tujuan
dari model sistem ini adalah memodelkan sebuah sistem informasi Perpustakaan
yang berbasis komputer dengan menggunakan metode waterfall dan sistem informasi
perpustakaan ini, untuk membantu petugas dalam menghadapi kendala yang dihadapi
dalam melakukan transaksi, sehingga dengan adanya sistem informasi tersebut
diharapkan dapat menyelesaikan permasalahan yang berhubungan dengan
Perpustakaan.
2.
Pembuatan program pendaftaran online ke
suatu Instansi Pendidikan. Program ini akan sangat membantu dalam proses
pendaftaran, karena dapat meng-efektifkan waktu serta pendaftar tidak perlu
repot-repot langsung mendatangi Instansi Pendidikan.
Softwarenya :
- Sistem program untuk pendaftaran dibuat menggunakan bahasa pemrograman PHP, dengan Sistem Database yang dibuat menggunakan MySQL, dan diterapkan (diaplikasikan) pada PC (personal computer) dengan sistem operasi berbasis Microsoft Windows, Linux, dan sebagainya.
- Setelah program selesai dibuat dan kemudian dipergunakan oleh user, programmer akan memelihara serta menambah atau menyesuaikan program dengan kebutuhan serta kondisi user.
3.
Berikut ini adalah contoh penerapan
metode waterfall pada sistem informasi alumni pada sebuah Kampus :
Alasan
menggunakan waterfall
Karena kebutuhan pihak kampus telah jelas
Analisis
Analisis kebutuhan
dilakukan dengan cara mewawancarai coordinator BK Kampus A. Dari wawancara
didapatkan data-data seputar alumni, seperti : total alumni yang lulus, alumni
yang bekerja, dan alumni yang melanjutkan studi.
Desain
Perancangan
Sistem menggunakan ERD
seperti Use Case dan Sequence
Implementasi
Sistem informasi akan
dibuat menggunakan bahasa pemrograman PHP dengan Framework CodeIgninter.
Pengujian
Sistem
Pengujian dilakukan
pada aspek fungsionalitas kepada ahli sistem informasi, petugas administrator
dan alumni langsung.
Maintenance
Pemeliharaan akan
dilakukan apabila ada update fitur atau memperbaiki kesalahan yang ditemukan
pada saat sistem digunakan langsung oleh user.
Comments
Post a Comment