Waterfall method
Diperlukan majemen yang baik, karena proses pengembangan tidak dapat dilakukan secara
berulang sebelum terjadinya suatu produk.
Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal pengembangan.
Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat mengakomodasi
ketidakpastian pada saat awal pengembangan.
Prototyping
Metode ini sering digunakan pada dunia riil. Karena metode ini secara keseluruhan akan
mengacu kepada kepuasan user. Bisa dikatakan bahwa metode ini merupakan
metodewaterfall yang dilakukan secara berulang-ulang.
Kelebihan Metode Prototyping
§Penerapan lebih mudah karena pemakai akan mengetahui apa yang diharapkan.
§Kualitas sistem kurang baik karena hanya mengedepankan aspek kenyamanan user.
Metode Iterasi
Merupakan model pengembangan system yang bersifat dinamis dalam artian setiap tahapan
proses pengembangan system dapat diulang jika terdapat kekurangan atau kesalahan. Setiap
tahapan pengembangan system dapat dikerjakan berupa ringkasan dan tidak lengkap, namun
pada akhir pengembangan akan didapatkan system yang lengkap pada pengembangan system
§Dapat mengakomodasi jika terjadi perubahan pada tahapan pengembangan yang telah
dilaksanakan.
§ Dapat disesuaikan agar system bisa dipakai selama hidup software computer.
§Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap
tahapan karena system terus bekerja selama proses
§Tahapan proses tidak terlihat sedang berada ditahapan mana suatu pekerjaan.
Metode Incremental
Model Incremental, merupakan model pengembangan system yang dipecah sehingga model
pengembangannya secara increment/bertahap. Kebutuhan pengguna diprioritaskan dan
prioritas tertinggi dimasukkan dalam awal increment.
§ Produk yang dihasilkan semakin lama semakin lengkap, hingga versi akhir dari sebuah produk
akan dianggap paling lengkap dan sempurna karena mengalami perbaikan
yang berkesinambungan.
§ Pelanggan dapat memakai inkremen yang pertama sebagai bentuk prototype dan mendapatkan
pengalaman yang dapat menginformasikan persyaratan untuk inkremen system berikutny
§ Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah dapat
ditemukan pada beberapa inkremen, bias saja beberapa inkremen diserahkan dengan sukses
kepada pelanggan
Kekurangan Metode Incremental
§ Inkremen harus relative lebih kecil (tidak lebih dari 20.000 baris kode) dan setiap inkremen harus
menyediakan sebagian dari fungsional system
§ Adanya kesulitan untuk memetakan persyaratan pelanggan pada inkremen dengan ukuran yang
benar
§ Butuh waktu yang relatif lebih lama untuk menghasilkan produk yang lengkap.
Metode Spiral
Model Spiral, merupakan model pengembangan system yang digambarkan berupa spiral.
Model spiral ini tidak merepresentasikan rangkaian tahapan dengan penelusuran balik (back-
tracking), tidak ada fase-fase tahapan yang tetap seperti spesifikasi atau perancangan. Setiap
untaian pada pada spiral menunjukkan fase software process.
3. Metode ini lambat dan mahal karena setiap tahapan yang dilalui harus
menikutsertakan pemesan
2. Model Iterasi
Model Iterasi merupakan model pengembangan system yang bersifat dinamis dalam
artian setiap tahapan proses pengembangan system dapat diulang jika terdapat kekurangan
atau kesalahan. Setiap tahapan pengembangan system dapat dikerjakan berupa ringkasan dan
tidak lengkap, namun pada akhir pengembangan akan didapatkan system yang lengkap pada
pengembangan system.
Kelebihan Model Iterasi :
a. Dapat mengakomodasi jika terjadi perubahan pada tahapan pengembangan yang telah
dilaksanakan.
b. Dapat disesuaikan agar system bisa dipakai selama hidup software computer.
c. Cocok untuk pengembangan sistem dan perangkat lunak skala besar.
d. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko
setiap tahapan karena system terus bekerja selama proses.
Kekurangan Model Iterasi :
a. Hanya berlaku untuk Short-Lifetime system.
b. Tahapan proses tidak terlihat sedang berada ditahapan mana suatu pekerjaan.
c. Memerlukan alat ukur kemajuan secara regular.
d. Perubahan yang sering terjadi dapat merubah struktur system.
e. Memerlukan tenaga ahli dengan kemampuan tinggi.
Terdapat dua jenis Model Iterasi, yaitu :
1) Model Incremental
Model Incremental merupakan model pengembangan system yang dipecah sehingga
model pengembangannya secara increment/bertahap. Kebutuhan pengguna diprioritaskan dan
prioritas tertinggi dimasukkan dalam awal increment. Model ini menerapkan sistem kerja
yang paralel. Setelah daftar kebutuhan didapatkan dari pemakai, tim spesifikasi membuat
spesifikasi untuk modul pertama. Setelah spesifikasi pertama selesai, tim desain menindak
lanjuti. Tim spesifikasi sebelumnya juga langsung membuat spesifikasi untuk model kedua,
dan seterusnya.
Kelebihan Model Incremental :
a. Penambahan kemampuan fungsional akan lebih mudah diuji, diverifikasi, dan
divalidasi dandapat menurunkan biaya yang dikeluarkan untuk memperbaiki system.
b. Nilai penggunaan dapat ditentukan pada setiap increament sehingga fungsionalitas
sistemdisediakan lebih awal
c. Increment awal berupa prototype untuk membantu memahami kebutuhan pada
incrementberikutnya.
d. Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem.
e. Prioritas tertinggi pada pelayanan sistem adalah yang paling diuji
Kekurangan Model Incremental
a. Tiap bagian tidak dapat diintegrasikan
b. Setiap tambahan yang dibangun harus dimasukkan kedalam struktur yang ada
tanpamenurunkan kualitas dari yang telah dibangun system tersebut sampai saat ini.
c. Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut
2) Model Spiral,
Model spiral merupakan model pengembangan system yang digambarkan berupa spiral.
Model spiral ini tidak merepresentasikan rangkaian tahapan dengan penelusuran balik (back-
tracking), tidak ada fase-fase tahapan yang tetap seperti spesifikasi atau perancangan. Setiap
untaian pada pada spiral menunjukkan fase software process. Model ini merupakan perbaikan
dari model waterfall dan prototype. Mengabungkan keuntungan model air terjun dan
prototype dan memasukkan analissi resiko. Beberapa hal yang dilakukan dalam Model piral :
a. Mendefinisikan kebutuhan dengan sedetail mungkin
b. Pembuatan desain untuk sistem yang baru
c. Pembuatan prototipe dari pembuatan desain, pembuatan prototipe selanjutnya
berdasarkan evaluasi prototipe sebelumnya
d. Proses prototipe dilakukan berulang-ulang sampai customer puas
e. Sistem dibuat berdasarkan prototipe yang memuaskan customer
f. Sistem di tes dan dievaluasi
Kelebihan Model Spiral :
a. Dapat digunakan untuk sistem yang besar
b. Sangat cocok sebagai mekanisme mengurangi resiko
Kelemahan Model Spiral :
a. Terlalu banyak memikirkan resiko yang akan terjadi
b. Masih jarang digunakan
c. Metode ini lambat dan mahal karena setiap tahapan yang dilalui harus
mengikutsertakan pemesan.
3. Model Rapid Application Development (RAD)
Model Rapid Application Development (RAD) merupakan model pengembangan system
yang melakukan beberapa penyesuaian terhadap SDLC pada beberapa bagian sehingga lebih
cepat untuk sampai ke tangan pengguna system. metodologi ini biasanya mensyaratkan
beberapa teknik dan alat-alat khusus agar proses bisa cepat, misalnya melakukan sesi Joint
Application Development (JAD), penggunaan alat-alat Computer Aided Software
Engineering (CASE Tools), kode generator dan lain-lain.
Kelebihan Metode RAD
a. Waktu pengembangan yang lebih singkat dan
b. Biaya yang relatif lebih murah
Kekurangan Metode RAD
a. Tidak cocok untuk proyek skala besar
b. Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi
c. Sistem yang tidak bisa dimodularisasi tidak cocok untuk model
d. Resiko teknis yang tinggi juga kurang cocok untuk model ini
4. Model Prototyping
Model prototyping merupakan model pengembangan system yang proses iterative dalam
pengembangan sistem dimana requirement diubah ke dalam sistem yang bekerja (working
system) yang secara terus menerus diperbaiki melalui kerjasama antara user dan analis.
Prototype juga bisa dibangun melalui beberapa tool pengembangan untuk menyederhanakan
proses. Prototyping merupakan bentuk dari Rapid Application Development (RAD). Dalam
metode ini, pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan
system. Metode ini sering digunakan pada dunia riil karena metode ini secara keseluruhan
akan mengacu kepada kepuasan user. Bisa dikatakan bahwa metode ini merupakan metode
waterfall yang dilakukan secara berulang-ulang. Tahapan-tahapan dalam prototyping adalah
sebagai berikut:
a. Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat
lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan
dibuat.
b. Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang berfokus
pada penyajian kepada pelanggan (misalnya dengan membuat input dan format
output).
c. Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah
sesuai dengan keinginann pelanggan. Jika sudah sesuai maka langkah 4 akan diambil.
Jika tidak prototyping direvisi dengan mengulangi langkah 1, 2 , dan 3.
d. Mengkodekan sistem
Dalam tahap ini prototyping yang sudah disepakati diterjemahkan ke dalam bahasa
pemrograman yang sesuai.
e. Menguji sistem
Setelah sistem menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu
sebelum digunakan.
f. Evaluasi Sistem
Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang
diharapkan . Jika ya, langkah 7 dilakukan, jika tidak, ulangi langkah 4 dan 5.
g. Menggunakan sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.
Kelebihan Prototyping adalah:
a. Adanya komunikasi yang baik antara pengembang dan pelanggan
b. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
c. Pelanggan berperan aktif dalam pengembangan sistem
d. Lebih menghemat waktu dalam pengembangan sistem
e. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
Kelemahan Prototyping adalah :
a. Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada
belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum
memikirkan kemampuan pemeliharaan untuk jangka waktu lama.
b. Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan
algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih
cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan
cetak biru sistem .
c. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak
mencerminkan teknik perancangan yang baik