1. Pengertian
· Waterfall
Model
waterfall adalah sesuatu proses perkembangan perangkat lunak secara berurutan,
di mana kemajuan dari perangkat lunak dipandang sebagai terus mengalir ke bawah
diibaratkan seerti air terjun yang melewati
fase-fase perencanaan, pemodelan, implementasi (konstruksi), dan pengujian.
Model
pengembangan waterfall ini pertama kali diperkenalkan oleh Wiston Royce pada tahun 70-an. Waterfall merupakan model klasik yang sederhana dengan aliran sistem yang
linier, keluaran dari tahap sebelumnya merupakan masukan untuk tahap
berikutnya.
·
Prototipe
Prototyping
adalah sebuah proses pengumpulan persyaratan, pengaplikasian prinsip analisis,
dan penyusunan model perangkat lunak yang akan dibangun untuk penilaian dan
pengembangan. Akhirnya ada lingkungan yang membutuhkan konstruksi prototipe
pada awal analisis, karena model adalah satu-satunya alat dimana persyaratan
dapat ditarik secara efektif. Model tersebut kemudian dikembangkan dalam perangkat
lunak produksi.
· RAD
Rapid Application
Development (RAD) adalah salah satu metode
pengembangan suatu sistem informasi dengan waktu yang relatif singkat. Untuk
pengembangan suatu sistem informasi yang normal membutuhkan waktu minimal 180
hari, akan tetapi dengan menggunakan metode RAD suatu sistem dapat diselesaikan
hanya dalam waktu 30-90 hari.
· Iteratif
Iterative dan
Incremental development adalah kombinasi dari kedua desain iterative dan
incremental, untuk sebuah development. Selama development lebih dari satu
iterasi dari sebuah software development life cycle.
Merupakan Model Incremental dalam rekayasa perangkat lunak,
menerapkan rekayasa perangkat lunak perbagian, hingga menghasilkan perangkat
lunak yang lengkap. Proses membangun berhenti jika produk telah mencapai
seluruh fungsi yang diharapkan.
· Spiral
Model spiral adalah model proses software
yang evolusioner yang merangkai sifat iteratif dari prototipe dengan cara
kontrol dan aspek sistematis dari model sekuensial linier.
Model ini
mengadaptasi dua model perangkat lunak yang ada yaitu model prototyping dengan
pengulangannya dan model waterfall dengan pengendalian dan
sistematikanya. Model ini dikenal dengan sebutan Spiral Boehm. Pengembang
dalam model ini memadupadankan beberapa model umum tersebut untuk menghasilkan
produk khusus atau untuk menjawab persoalan-persoalan tertentu selama proses
pengerjaan proyek.
2. Kelebihan kekurangan
· Waterfall
Kelebihan
Model Sekuensial Linear / Waterfall Development Model :
Tahapan
proses pengembangannya tetap (pasti), mudah diaplikasikan, dan prosesnya
teratur.
Cocok
digunakan untuk produk software/program yang sudah jelas kebutuhannya di awal,
sehingga minim kesalahannya.
Software
yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
Documen
pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan
dengan lengkap sebelum melangkah ke fase berikutnya.
Kekurangan
Model Sekuensial Linear / Waterfall Development Model :
Proyek
yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga
perubahan yang terjadi dapat menyebabkan hasil yang sudah didapatkan tim
pengembang harus diubah kembali/iterasi sering menyebabkan masalah baru.
Terjadinya
pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen
harus dilakukan pada tahap awal proses.
Sulit
untuk mengalami perubahan kebutuhan yang diinginkan oleh customer/pelanggan.
Pelanggan
harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap,
dan proses pengerjaanya akan berlanjut ke setiap tahapan bila tahap sebelumnya
sudah benar-benar selesai.
Perubahan
ditengah-tengah pengerjaan produk akan membuat bingung tim pengembang yang
sedang membuat produk.
Adanya
waktu kosong (menganggur) bagi pengembang, karena harus menunggu anggota tim
proyek lainnya menuntaskan pekerjaannya.
· Prototipe
Kelebihan
Model Prototype :
Pelanggan
berpartisipasi aktif dalam pengembangan sistem, sehingga hasil produk
pengembangan akan semakin mudah disesuaikan dengan keinginan dan kebutuhan
pelanggan.
Penentuan
kebutuhan lebih mudah diwujudkan.
Mempersingkat
waktu pengembangan produk perangkat lunak.
Adanya
komunikasi yang baik antara pengembang dan pelanggan.
Pengembang
dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
Lebih
menghemat waktu dalam pengembangan sistem.
Penerapan
menjadi lebih mudah karena pelanggan mengetahui apa yang diharapkannya.
Kekurangan
Model Prototype :
Proses
analisis dan perancangan terlalu singkat.
Biasanya
kurang fleksibel dalam mengahadapi perubahan.
Walaupun
pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai
mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan
kualitas dan pemeliharaan jangka panjang.
Pengembang
kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi
yang tidak relevan dan algoritma yang tidak efisien.
·
RAD
Kelebihan
Model RAD :
Lebih
efektif dari Pengembangan Model waterfall/sequential linear dalam menghasilkan
sistem yang memenuhi kebutuhan langsung dari pelanggan.
Cocok
untuk proyek yang memerlukan waktu yang singkat.
Model
RAD mengikuti tahap pengembangan sistem seperti pada umumnya, tetapi mempunyai
kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak
perlu membuatnya dari awal lagi sehingga waktu pengembangan menjadi lebih
singkat dan efisien.
Kekurangan
Model RAD :
Model
RAD menuntut pengembangan dan pelanggan memiliki komitmen di dalam aktivitas
rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka
waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD
akan gagal.
Tidak
semua aplikasi sesuai untuk RAD, bila system tidak dapat dimodulkan dengan
teratur, pembangunan komponen penting pada RAD akan menjadi sangat bermasalah.
RAD
tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
Membutuhkan
Tenaga kerja yang banyak untuk menyelesaikan sebuah proyek dalam skala besar.
Jika
ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru
antara pengembang dan pelanggan.
·
Iteratif
Kelebihan Model Iteratif :
§ Beberapa fungsi dapat di kembangkan dengan cepat di awal
pembuatan versi baru.
§ hasil yang di peroleh secara berkala
§ Kemajuan sebuah sistem dapat di ukur
§ Development software mudah di rencanakan
§ Biaya yang dikeluarkan kecil apabila ingin merubah
requirement
§ Testing dan debugging selama proses iterasi lebih mudah.
§ Analisis resiko yang lebih baik
§ Mendukung perubahan requirement
§ Waktu operasional yang lebih singkat
§ Cocok untuk project besar
§ Personil bekerja optimal.
§ mampu mengakomodasi perubahan secara fleksibel, dengan waktu
yang relatif singkat dan tidak dibutuhkan anggota/tim kerja yang banyak untuk
menjalankannya.
§ Pihak konsumen dapat langsung menggunakan dahulu
bagian-bagian yang telah selesai dibangun. Contohnya pemasukan data karyawan.
§ Mengurangi trauma karena perubahan sistem. Klien dibiasakan
perlahan-lahan menggunakan produknya setiap bagian demi bagian.
§ Memaksimalkan pengembalian modal investasi konsumen.
Kekurangan Model Iteratif
:
§ Membutuhkan resource yang cukup banyak
§ Meski biaya perubahan rendah, tetapi sangat tidak cocok
untuk mengubah persayaratan
§ Memerlukan Perhatian manajemen
§ Permasalahan sistem arsitektur dan desain mungkin akan
timbul, karena tidak semua persyaratan di tentukan di awal pengambangan sistem.
§ tidak cocok untuk project kecil
§ Kompleksitas manajemen
§ Membutuhkan tenaga ahli untuk analisis resiko yang timbul
§ Tidak cocok untuk proyek berukuran besar (lebih dari 200.000
baris coding).
§ Sulit untuk memetakan kebutuhan pemakai ke dalam rencana
spesifikasi tiap-tiap hasil dari increament.
·
Spiral
Kelebihan
model ini adalah sangat mempertimbangkan
resiko kemungkinan munculnya kesalahan sehingga sangat dapat diandalkan untuk
pengembangan perangkat lunak skala besar. Pendekatan model ini dilakukan
melalui tahapan-tahapan yang sangat baik dengan menggabungkan model waterfall
ditambah dengan pengulangan-pengulangan sehingga lebih realistis untuk
mencerminkan keadaan sebenarnya. Baik pengembang maupun pemakai dapat cepat
mengetahui letak kekurangan dan kesalahan dari sistem karena proses-prosesnya
dapat diamati dengan baik.
Kekurangan
model ini adalah waktu yang dibutuhkan untuk
mengembangkan perangkat lunak cukup panjang demikian juga biaya yang besar.
Selain itu, sangat tergantung kepada tenaga ahli yang dapat memperkirakan
resiko. Terdapat pula kesulitan untuk mengontrol proses. Sampai saat ini,
karena masih relatif baru, belum ada bukti apakah metode ini cukup handal untuk
diterapkan.
3.
Penerapan
§ Contoh Penerapan dari Pengembangan Model Sekuensial Linear /
Waterfall Development Model
Contoh dari penerapan model
pengembangan ini adalah 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. Teknisnya adalah sebagai berikut :
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.
§ Contoh
Penerapan Metode Prototipe.
Sebuah rumah sakit ingin membuat
aplikasi sistem database untuk pendataan pasiennya. Seorang atau sekelompok
programmer akan melakukan identifikasi mengenai apa saja yang dibutuhkan oleh
pelanggan, dan bagaimana model kerja program tersebut. Kemudian dilakukan
rancangan program yang diujikan kepada pelanggan. Hasil/penilaian dari
pelanggan dievaluasi, dan analisis kebutuhan pemakai kembali di lakukan.
§ Contoh Penerapan Model Iteratif
Perangkat
lunak pengolah kata yang dikembangkan dengan menggunakan paradigma pertambahan
akan menyampaikan manajemen file, editing, serta fungsi penghasilan dokumen
pada pertambahan pertama, dan selanjutnya. Pertambahan pertama dapat disebut
sebagai produk inti (core product). Dan pada pertambahan selanjutnya,
produk inti akan dikembangkan terus hingga menghasilkan produk jadi yang siap
untuk digunakan/dipasarkan.






0 Komentar