Pengembangan Sistem Informasi Menggunakan Metode Waterfall
Pengembangan Sistem Informasi Menggunakan Metode Waterfall
metode pengembangan sistem informasi? ya, untuk kali ini kita akan bahas hal tersebut. setelah sebelumnya kita kepo-in tentang profesi Analis Sistem, sekarang kita coba bahas tentang hal-hal yang berhubungan erat dengan profesi tersebut.
Pertama, Apasih Metode Pengembangan Sistem Informasi?
Metodologi pengembangan system adalah suatu proses pengembangan system yang formal dan presisi yang mendefinisikan serangkaian aktivitas, metode, best practices dan tools yang terautomasi bagi para pengembang danmanager proyek dalam rangka mengembangkan dan merawat sebagai keseluruhan system informasi atau software.
untuk jenis metode pengembangan sistem antara lain adalah;
1. Metode System Development Life Cycle (SLDC)
2. Model WATERFALL
3. Model Prototyping
4. Model RAD (Rapid Application Development)
5. Model Spiral
6. Object Oriented Technology
7. Metode End-user Development
untuk kali ini yang kita bahas adalah model WATERFALL
Apa yang Dimasud Dengan Metode WATERFALL?
metode waterfal atau bisa juga kita sebut metode air terjun adalah sebuah metode dalam pengembangan perangkat yang berkembang lunak secara sistematis dari satu tahap ke tahap lainya dalam mode sperti air terjun
sebenarnya metode ini bernama "Linear Sequential Model" atau sering juga disebut orang sebagai "Classic Life Cycle". dikenalkan oleh Winston Royce sekitar tahun 1970, metode ini memang kerap kali disebut sebagai "cara lama". namun metode ini juga adalah metode yang paling umum atau metode yang paling sering digunakan.
Langkah-langkah Dalam Metode WATERFALL?
dalam metode waterfall ada 6 tahapan umum yang biasa dilakukan, namu dalam versi lain juga menyebutkan bahwa metode ini berisi 7 tahapan ataupun juga bisa dilakukan hanya dengan 5 tahapan secara garis besar. untuk ke-6 langkahnya adalah sebagai berikut;
1. Perancangan Sistem (System Enginering)
Permodelan diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting dan vital, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database, dsb. Tahap ini sering disebut dengan Project Definition.
2. Analisa Kebutuhan Piranti Lunak (Software Requirements Analysis)
Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti serta paham betul tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, fitur yang diperlukan, user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan.
3. Perancangan (Design)
Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang sudah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software.
4. Pengkodean (Coding)
Untuk dapat dimengerti oleh mesin atau dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer.
5. Pengujian (Testing/Verification)
Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error atau bug, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya.
6. Pemeliharaan (Maintenence)
Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu saja. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.
Karakteristik Metode WATERFALL?
setelah kita tahu tentang apa itu metode waterfall serta bagaimana langkah-langkah yang ada didalamnya, sekarang kita akan bahas tentang bagaimana karakteristik metode waterfall. dalam metode waterfall terdapat sifat-sifat yang menonjol dan cenderung menjadi permasalahan.
1. ketika problem muncul, maka proses berhenti karena tidak dapat menuju ke tahapan selanjutnya. apabila terdapat kemungkinan jika problem yang terjadi adalah akibat kesalahan dari proses sebelumnya, maka proses sebelumnya harus dibenahi terlebih dahulu agar problem tersebut tidak mucul.
2. karena pendekatannya secara sequential maka setiap tahap harus menunggu hasil dari tahap sebelumnya. hal ini akan membuang waktu tergantung dari selesainya tahap sebelumnya. yang artinya tahapan lain tidak dapat mengerjakan apa-apa selain menunggu hasil dari tahap sebelumnya.
Kapan Sebaiknya Metode WATERFALL digunakan?
ada 5 kondisi dimana metode waterfall ini cukup efektif untuk digunakan, antara lain adalah;
1. Ketika semua persyaratan telah dipahami dengan baik di awal pengembangan.
2. Definisi produk stabil dan tidak ada perubahan pada saat pengembangan untuk alasan apapun seperti perubahan eksternal, perubahan tujuan, perubahan anggaran atau perubahan teknologi. Untuk itu, teknologi yang digunakanpun harus sudah dipahami dan dikuasai dengan baik.
3. Menghasilkan produk baru, atau versi baru dari produk yang sudah ada. Sebenarnya, jika menghasilkan versi baru maka sudah masuk incremental development, yang setiap tahapnya sama dengan Waterfall lalu diulang-ulang.
4.Porting produk yang sudah ada ke dalam platform baru.
Apa Kelebihan dan Kekurangann Menggunakan Metode WATERFALL?
dalam sebuah metode tentu saja ada kelebihan dan kekurangannya. tidak terkecuali metode waterfall.
kelebihan :
1. Merupakan model pengembangan paling handal dan paling lama digunakan.
2. Cocok untuk system software berskala besar.
3. Cocok untuk system software yang bersifat generic.
4. Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol
kekurangan :
1. Waktu pengembangan lama. hal ini dikarenakan input tahap berikutnya adalah output dari tahap sebelumnya. Jika satu tahap waktunya molor, maka waktu keseluruhan pengembangan juga ikut molor.
2. Biaya juga mahal, hal ini juga dikarenakan waktu pengembangan yang lama
3. Terkadang perangkat lunak yang dihasilkan tidak akan digunakan karena sudah tidak sesuai dengan requirement bisnis customer. hal ini juga dikarenakan waktu pengembangan yang lama. selain itu dikarenakan waterfall merupakan aliran yang linear, sehingga jika requirement berubah proses tidak dapat diulang lagi.
4. Karena tahap-tahapan pada waterfall tidak dapat berulang, maka model ini tidak cocok untuk pemodelan pengembangan sebuah proyek yang memiliki kompleksitas tinggi.
5. Meskipun waterfall memiliki banyak kelemahan yang dinilai cukup fatal, namun model ini merupakan dasar bagi model-model lain yang dikembangkan setelahnya.
kurang lebih seperti itu dulu, bagaimana dengan penjelasan metode yang lain?
mungkin akan dijelaskan pada postingan lain, jika saya punya waktu luang untuk menulisnya. terimakasih
Komentar
Posting Komentar