Waterfall Metode

Nama   : Irham Iswanda Duhair

NPM   : 19316018

Kelas   : TK 19 C

Metode Waterfall


Pengertian Metode Waterfall

    Model waterfall atau sering kali disebut sebagai classic life cycle adalah model pengembangan perangkat lunak yang menekankan fase-fase yang berurutan dan sistematis, dimulai dari spesifikasi kebutuhan konsumen dan berkembang melalui proses perencanaan (planning), pemodelan (modelling), pembangunan (construction), dan penyebaran (deployment), yang berujung pada dukungan terus menerus untuk sebuah perangkat lunak yang utuh. Model ini dapat digunakan pada saat kebutuhan untuk sebuah masalah telah dipahami dengan baik, dan pekerjaan dapat mengalir secara linear dari proses komunikasi hingga penyebaran (deployment). Situasi ini ditemui saat adaptasi atau perpanjangan dari sistem yang ada sudah terdefinisi dengan baik. Adapun model ini juga dapat digunakan pada situasi di mana dibutuhkan usaha yang terbatas untuk pengembangan perangkat lunak, namun kebutuhan perangkat lunak sudah terdefinisi dengan baik dan cenderung stabil. Namun, dalam pengembangan perangkat lunak, model ini cenderung menjadi salah satu pendekatan yang kurang iteratif dan fleksibel, karena proses mengalir satu arah ("ke bawah" seperti air terjun).


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


Tahapan Metode Waterfall

    Dalam pengembangannya 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.

 

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.

·         Total biaya dapat diperkirakan dengan akurasi relatif jika tidak ada konflik.

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

 

Kekurangan Metode Waterfall

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

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

·         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.     Berikut ini adalah contoh penerapan metode waterfall pada sistem informasi alumni pada sebuah SMK :

·         Alasan menggunakan waterfall : Karena kebutuhan pihak sekolah telah jelas

·         Analisis : Analisis kebutuhan dilakukan dengan cara mewawancarai coordinator BK SMA atau SMK 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.

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

 

3.          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 datang langsung ke 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.

Komentar

Postingan populer dari blog ini

Extreme Programming (XP)

Tugas 1 Sistem Operasi (Teori) - Sinkronisasi Proses

PROPOSAL BISNIS SABLON KAOS