Anda di halaman 1dari 8

3.

Model Pengembangan Spiral (Spiral Development Model)


A. Model Spiral

Model spiral dari proses perangkat lunak (Peraga 3.7) yang pada awalnya diusulkan
oleh Boehm (1988) sekarang telah dikenal luas. Bukannya merepresentasikan proses
perangkat lunak sebagai serangkaian kegiatan dengan penelusuran ke belakang dari satu
kegiatan ke yang lainnya, proses ini direpresentasikan sebagai spiral. Setiap untai pada
spiral merepresentasikan fase proses perangkat lunak. Dengan demikian, untai yang
paling dalam mungkin berkenaan dengan kelayakan sistem, untai berikutnya dengan
definisi persyaratan sistem, dan untai berikutnya lagi dengan perancangan sistem,
demikianlah seterusnya.
Setiap untai pada spiral dibagi menjadi empat sector:
1. Penentuan tujuan
Tujuan yang spesifik untuk fase proyek didefinisikan. Batasan pada proyek dan
produk diidentifikasi dan rencana manajemen yang rinci dibuat. Resiko proyek
diidentifikasi. Strategi alternative, bergantung pada resiko ini, bisa direncanakan.
2. Penilaian dan pengurangan resiko
Untuk setiap resiko proyek yang diidentifikasi, dilakukan analisis yang rinci.
Dilakukan Langkah-langkah untuk mengurangi resiko tersebut. Sebagai contoh,
jika ada resiko bahwa persyaratan tidak sesuai, mungkin diperlukan
pengembangan sistem prototipe.
3. Pengembangan dan validasi
Setelah evaluasi resiko, model pengembangan untuk sistem kemudian dipilih.
Sebagai contoh, jika resiko interface user adalah yang paling dominan, maka
model pengembangan yang sesuai bisa berupa pembuatan prototipe evolusioner.
Jika resiko keselamatan merupakan pertimbangan utama, maka pengembangan
yang berdasarkan pada transformasi formal mungkin merupakan yang paling
cocok dan seterusnya. Model air terjun bisa jadi merupakan model
pengembangan yang paling sesuai jika resiko utama yang teridentifikasi adalah
integrasi subsistem.
4. Perencanaan
Proyek ditinjau dan selanjutnya dibuat keputusan apakah akan diteruskan dengan
untai spiral berikutnya. Jika diputuskan untuk terus, maka dibuat rencana untuk
fase proyek berikutnya.

B. Konsep Model Pengembangan Spiral


Perbedaan penting antara model spiral dan model perangkat lunak lainnya adalah
dilakukannya pertimbangan resiko secara eksplisit pada model spiral. Secara informal,
resiko adalah sesuatu yang bisa berjalan salah. Sebagai contoh, jika tujuannya adalah
menggunakan bahasa pemrograman yang baru, resikonya ialah bahwa compiler yang
tersedia tidak dapat diandalkan. Resiko mengakibatkan masalah proyek, seperti
terlampauinya jadwal dan biaya, sehingga minimasi resiko merupakan kegiatan
manajemen proyek yang sangat penting.
Siklus spiral dimulai dengan memperluas tujuan seperti kinerja, fungsionalitas, dan
lain-lain. Cara-cara alternatif untuk mencapai tujuan ini dan batas-batas yang ditetapkan
pada setiap alternatif kemudian diperhitungkan. Setiap alternatif dinilai terhadap
tujuannya sehingga menghasilkan indentifikasi sumber-sumber resiko. Langkah
selanjutnya adalah mengevaluasi resiko-resiko ini dengan kegiatan seperti analisis yang
lebih rinci, pembuatan prototipe, simulasi, dan lain-lain. Begitu resiko telah dinilai,
dilakukan pengembangan yang diikuti dengan kegiatan perencanaan untuk fase
selanjutnya.
Pada model spiral tidak adal fase-fase yang tetap seperti spesifikasi atau
perancangan. Model spiral mencakup model proses yang lain. Misal prototipe dapat
digunakan pada satu spiral, lalu tahap ini bisa diikuti dengan pengembangan air terjun
konvensional, dan seterusnya.
Gambar 3 Model Spiral Boehm untuk proses perangkat lunak
Tujuannya adalah menggunakan Bahasa pemrograman yang baru, risikonya ialah
bahwa compiler yang tersedia tidak dapat diandalkan atau tidak menghasilkan kode
objek yang cukup efisien. Risiko mengakibatkan masalah proyek, seperti terlampauinya
jadwal dan biaya, sehingga minimasi risiko merupakan kegiatan manajemen proyek
yang sangat penting.
Siklus spiral dimulai dengan memperluas tujuan kinerja, fungsionalitas, dll. Cara-
cara alternatif untuk mencapai tujuan ini dan batas-batas yang ditetapkan pada setiap
alternatif kemudian diperhitungkan. Setiap alternatif dinilai terhadap setiap tujuannya.
Hal ini biasanya menghasilkan identifikasi sumber-sumber risiko proyek. Langkah
selanjutnya adalah mengevaluasi risiko-risiko ini dengan kegiatan seperti analisis yang
telah rinci, pembuatan prototipe, simulasi, dll. Begitu risiko telah dinilai, dilakukan
pengembangan, yang diikuti dengan kegiatan perancangan untuk fase selanjutnya pada
proses tersebut.
Pada model spiral, tidak ada fase-fase yang tetap seperti spesifikasi atau
perancangan. Model spiral mencakup model proses yang lain. Pembuatan prototipe
dapat digunakan pada satu spiral untuk menyelesaikan ketidakpastian persyaratan dan
dengan demikian memperkecil risiko. Tahap ini bisa diikuti dengan pengembangan air
terjun konvensional. Transformasi formal dapat digunakan untuk mengembangkan
bagian-bagian sistem yang memiliki persyaratan keamanan yang tinggi.

C. Kelebihan dan Kelemahan Model Spiral

1. Kelebihan Model Spiral:


a. Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat
lunak komputer
b. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
c. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap
resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama
proses
d. Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada
setiap keadaan di dalam evolusi produk
e. Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan
memasukkannya ke dalam kerangka kerja iteratif
f. Membutuhkan pertimbangan langsung terhadap resiko teknis sehingga
mengurangi resiko sebelum menjadi permasalahan yang serius
2. Kekurangan Model Spiral:
a. Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa
dikontrol
b. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah
yang serius jika resiko mayor tidak ditemukan dan diatur
c. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang
absolut

4. Model Pengembangan Incremental (Incremental Development Model)


A. Model Incremental
Model Incremental dalam rekayasa perangkat lunak, menerapkan rekayasa
perangkat lunak. Pada saat model incremental (pertambahan) ini digunakan,
pertambahan pertama sering merupakan produk inti (core product), yaitu sebuah model
pertambahan yang dipergunakan, tetapi beberapa muka tambahan (beberapa diketahui
dan beberapa tidak) tetap tidak disampaikan. Produk inti tersebut dipergunakan oleh
pelanggan (atau mengalami pengkajian detail). Sebagai hasil dari pemakaian dan/atau
evaluasi maka dikembangkan rencana bagi pertambahan selanjutnya.
Rencana tersebut menekankan modifikasi produk inti untuk secara lebih baik
memenuhi kebutuhan para pelanggan dan penyampaian fitur serta fungsional tambahan.
Proses ini mengikuti penyampaian setiap pertambahan sampai bisa menghasilkan produk
yang lengkap. Proses membangun berhenti jika produk telah mencapai seluruh fungsi
yang diharapkan.
Model incremental menggabungkan elemen-elemen model sekuensial linier
(diimplementasikan secara berulang) dengan filosofi prototype interatif. Model ini
memakai urutan-urutan linier di dalam model yang membingungkan, seiring dengan laju
waktu kalender. Setiap urutan linier menghasilkan pertambahan perangkat lunak yang
kemudian dapat disampaikan kepada pengguna.
Adapun beberapa tahapan yang ada pada model incremental dimana tahapan-
tahapan tersebut dilakukan secara berurutan.  Setiap bagian yang sudah selesai dilakukan
testing, dikirim ke pemakai untuk langsung dapat digunakan.
Tahapan Incremental Model adalah:
1. Requirement, Requirment adalah proses tahapan awal yang dilakukan pada
incremental model adalah penentuan kebutuhan atau analisis kebutuhan.
2. Specification, Specification adalah proses spesifikasi dimana menggunakan
analisis kebutuhan sebagai acuannya.
3. Architecture Design, adalah tahap selanjutnya, perancangan software yang
terbuka agar dapat diterapkan sistem pembangunan per-bagian pada tahapan
selanjutnya.
4. Code setelah melakukan proses desain selanjutnya ada pengkodean.
5. Test merupakan tahap pengujian dalam model ini.

B. Konsep Model Pengembangan Incremental


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.
Jadi, tidak harus menunggu modul pertama selesai hingga dikirim ke user.
Incremental Model merupakan gabungan antara model linear sekuensial dan
prototyping. Setiap linear sekuen menghasilkan produk yang deliveriables. Increment
pertama merupakan produk inti yang mengandung persyaratan/kebutuhan dasar.
Penambahan dilakukan pada increment-incremet berikutnya.

Gambar 4 Contoh Model Incremental


Dalam model Incremental ini proses pengerjaan perangkat lunak akan dilakukan
perbagian sehingga bagian selanjutnya akan dikerjakan setelah bagian awal telah selesai
dan selanjutnya sampai menghasilkan perangkat lunak yang lengkap dengan semua
fungsi yang diperlukan dan pengerjaan perangkat lunak berakhir. Sebelum pengerjaan
perangkat lunak akan dilakukan perancangan arsitektur software sebagai kerangka
dalam pengerjaan perbagian.
C. Kelebihan dan Kelemahan Model Incremental

1. Kelebihan Model Incremental:


a. Resiko yang rendah pada pengembangan sistem.
b. Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga
kemudahan pemakaian sistem yang paling di utamakan. 
c. Tahap awal adalan dasar dari pembuatan tahap berikutnya (dikerjakan secara
terurut).
d. Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
e. Mampu mengakomodasi perubahan kebutuhan customer. 
f. Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan
menggunakan produknya bagian per bagian.
g. Memaksimalkan pengembalian modal investasi konsumen.
2. Kelemahan Model Incremental
a. Hanya akan berhasil jika tidak ada staffing untuk penerapan secara
menyeluruh.
b. Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih
lanjut.
c. Hanya cocok untuk proyek dengan skala kecil.
d. kemungkinan tiap bagian tidak dapat diintegrasikan.
DAFTAR PUSTAKA

Listhia, A. R. (2016, Oktober 4). Macam-Macam Model Perangkat Lunak. Retrieved April 11,
2020, from Blogger: http://listhiaar.blogspot.com/
Prasetyo, P. (2020). Academia.edu. Retrieved April 11, 2020, from
https://www.academia.edu/34511536/Model_Incremental_dalam_rekayasa_perangkat_lu
nak?auto=download
Sommerville, I. (2003). Software Engineering. In H. W. Hardani (Ed.), Software Engineering
(Rekayasa Perangkat Lunak) (6 ed., pp. 51-52). Jakarta: Erlangga.
Sopian, A., Nandito, G. A., & Naufal, M. (n.d.). Model Pengembangan Spiral. Rekayasa
Perangkat Lunak. Jakarta: Universitas Islam Negeri Syarif Hidayatullah Jakarta.

Anda mungkin juga menyukai