Anda di halaman 1dari 25

TUGAS KELOMPOK

MODEL PENGEMBANGAN PERANGKAT LUNAK

OLEH :
I MADE AGUS HARY SETIAWAN

(1504505090)

A.A.NGR.AG.ADITYAWINATA

(1504505099)

ILHAM ANGGIT HADI PRADANA

(1504505102)

I PUTU GEDE OKA WIBAWA

( 1504505103)

I GEDE DENIS YUDA PRAWIRA

(15045050108)

JUURUSAN TEKNOLOGI INFORMASI


FAKULTAS TEKNIK
UNIVERSITAS UDAYANA
2016

MODEL PROSES DALAM REKAYASA PERANGKAT LUNAK


Sebuah model proses rekayasa perangkat lunak dipilih berdasarkan pada sifat proyek
dan aplikasi, metode dan alat-alat yang akan digunakan, dan kontrol dan kiriman yang
diperlukan. Lingkaran fase pemecahan masalah dan lingkaran fase dalam fase pemecahan
masalah

Waterfall Model / Linear Sequential Model


Pertama kali diperkenalkan oleh Winston Royce tahun1970. Model ini merupakan
model klasik yang sederhana dengan aliran system yang linear. Output dari setiap tahap
menjadi input bagi tahap berikutnya. Model ini melibatkan SQA (Software Quality
Assurance) dengan tahapan yang setiap tahapannya dilakukan ferivikasi dan testing. Waterfall
model juga dikenal sebagai model yang melakukan pendekatan pada perkembangan
perangkat lunak secara seistematik dan sekuensial. Yang artinya kegiatan pada model ini
dilakukan secara terurut berdasarkan panduan proses mulai dari komunikasi kepada client
atau pelanggan sampai dengan aktifitas sampai pengorderan setelah masalah dipahami secara
lengkap dan berjalan stabil sampai selesai.
Ada 2 fase-fase dalam Waterfall model:

Menurut referensi Pressman

Menurut referensi Sommerville

Sistem / teknik informasi dan pemodelan. Perangkat lunak merupakan bagian dari
sistem yang lebih besar (atau bisnis). Pandangan sistem ini penting ketika perangkat lunak
harus berinteraksi dengan unsur-unsur lain seperti perangkat keras, orang, dan database.
Analisis kebutuhan perangkat lunak. Persyaratan proses pengumpulan diintensifkan
dan difokuskan secara khusus pada software.
Rancangan. Desain perangkat lunak merupakan langkah yang berfokus pada empat
atribut yang berbeda dari sebuah program, yaitu struktur data, arsitektur perangkat lunak,
representasi interface, dan prosedural (algoritmik) rinci.
Pembuatan kode (Coding). Desain harus diterjemahkan ke dalam bentuk mesin yang
dapat dibaca. Dalam tahap ini dilakukan pembuatan kode.
Pengujian(Testing). Setelah kode telah dihasilkan, pengujian program dimulai.
Pengujian yang dilakukan secara internal (benar tidaknya pernyataan yang dibuat dalam
coding) dan eksternal (melakukan tes untuk menemukan kesalahan dan memastikan bahwa
input sesuai dengan apa yang dibutuhkan).
Dukungan (Support). Perangkat lunak akan mengalami perubahan setelah
disampaikan kepada pelanggan.
Kedua fase-fase menggunakan nama yang berbeda pada tiap fasenya, tetapi pada
dasarnya inti dari kedua fase-fase tersebut adalah sama. Tahapan-tahapan yang sering
dijumpai adalah menurut refrensi dari Sommerville karena lebih terperinci perbedaan pada
tiap fasenya:

Requirements definition

System and software design

Implementation and unit testing

Integration and system testing

Operation and maintenance

Tahapan model Waterfall meliputi :


Requirment
Dalam tahapan ini jasa, kendala dan tujuandari konsultasi dengan pengguna sistem.
Kemudian semuanya dibuat dalam bentuk yang dapat dimengerti oleh user dan staf
pengembang. Dengan kata lain, dalam tahapan ini dilakukan analisa kebutuhan, kemudian
diverifikasi klien dan tim SQA.
Dalam tahapan ini jasa, kendala dan tujuandari konsultasi dengan pengguna sistem.
Kemudian semuanya dibuat dalam bentuk yang dapat dimengerti oleh user dan staf
pengembang. Dengan kata lain, dalam tahapan ini dilakukan analisa kebutuhan, kemudian
diverifikasi klien dan tim SQA.
Specification
Dokumentasi spesifikasi, kemudian diperiksa oleh tim SQA. Selanjutnya jika
disetujui oleh klien, maka dokumen tersebutmerupakan kontrak kerjaantaraklien dan
pengembang s0ftware. Selanjutnya merencanakan jadwal pengembangan software. Jika
disetujui oleh SQA, tahap desain baru dilakukan.
Dokumentasi spesifikasi, kemudian diperiksa oleh tim SQA. Selanjutnya jika
disetujui oleh klien, maka dokumen tersebutmerupakan kontrak kerjaantaraklien dan
pengembang s0ftware. Selanjutnya merencanakan jadwal pengembangan software. Jika
disetujui oleh SQA, tahap desain baru dilakukan.
Design
Proses design sistem membagi kebutuhan-kebutuhan menjadi sistem perangkat lunak
atau perangkat keras. Proses tersebut menghasilkan sebuah arsitektur keseluruhan. Desain
perangkat lunak termasuk menghasilkan fungsi sistem perangkatlunak dalam bentuk yang
mungkin ditransformasi kedalam satu atau lebih program yang dapat dijalankan. Tahapan ini

telah menentukan alur software hingga pada tahap algoritma detail. di akhir tahap ini,
kembali diperksa tim SQA.
Proses design sistem membagi kebutuhan-kebutuhan menjadi sistem perangkat lunak
atau perangkat keras. Proses tersebut menghasilkan sebuah arsitektur keseluruhan. Desain
perangkat lunak termasuk menghasilkan fungsi sistem perangkatlunak dalam bentuk yang
mungkin ditransformasi kedalam satu atau lebih program yang dapat dijalankan. Tahapan ini
telah menentukan alur software hingga pada tahap algoritma detail. di akhir tahap ini,
kembali diperksa tim SQA.
Implementation
Selama tahap ini, desain perangkat lunak disadari sebagai sebuah program lengkap
atau unit program. Desain yang telah disetujui, diubah dalam bentuk kode-kode program.
Tahap ini, kode-kode program yang dihasilkan masih pada tahap modul-modul. Diakhir
Tahap ini, tiap modul di testing tanpa diintegrasikan.Selama tahap ini, desain perangkat lunak
disadari sebagai sebuah program lengkap atau unit program. Desain yang telah disetujui,
diubah dalam bentuk kode-kode program. Tahap ini, kode-kode program yang dihasilkan
masih pada tahap modul-modul. Diakhir Tahap ini, tiap modul di testing tanpa diintegrasikan.
Integration
Unit program diintegrasikan dandiuji menjadi sistem yang lengkap untuk meyakinkan
bahwa persyaratan perangkat lunak telah dipenuhi. Setelah uji coba, sistem disampaikan ke
konsumen.Unit program diintegrasikan dandiuji menjadi sistem yang lengkap untuk
meyakinkan bahwa persyaratan perangkat lunak telah dipenuhi. Setelah uji coba, sistem
disampaikan ke konsumen.
Operation model & retirement
Normalnya, ini adalah tahap yang terpanjang. Sistem dipasang dan digunakan.
Pemeliharaan termasuk pembetulan kesalahan yang tidak ditemukan pada langkah
sebelumnya. Perbaikan inmplementasi unit sistem dan peningkatan jasa sistem sebagai
kebutuhan baru ditemukan.Setiap tahap dari modelini menggunakan Document Drivent, yaitu
tahap selanjutnya selalu bekerja berdasarkan dokumen yang telah diberikan sebelumnya.

Tahapan pada waterfall model tidak akan selesai jika tidak disetujui SQA. Modifikasi pada
tahap tertentu (tidak sesuai dengan dokumen sebelumnya), proses harus kembali pada tahap
sebelumnya untuk penyesuaian dan peninjauan ulang.Dalamprakteknya, setiap langkah sering
tumpang tindih dan saling memberi informasi satu sama lain. Proses perangkat lunak tidak
linierdan sederhana, tapi mengandung urutan iterasi dari aktifitas pengembangan. Selama di
langkah terakhir, perangkat lunak telah digunakan. Kesalahan dan kelalaian dalam
menentukan kebutuhan perangkat lunak original dapat diatasi.Sayangnya model yang banyak
mengandung iterasi, sehingga membuat sulit bagi pihak manajemen untuk memeriksa seluruh
rencana dan laporan.
Maka dari itu, setelah sedikit iterasi, biasanya bagian yang telah dikembangkan akan
dihentikan dan dilanjutkan dengan langkah pengembangan selanjutnya. Masalah-masalah
selama resolusi selanjutnya, dibiarkan atau diprogram. Pemberhentian yang prematur dari
persyaratan akan berarti bahwa sistem tidak akan sesuai dengan keinginan user. Mungkin
juga sistem terstruktur secarajelek yang sebenarnya merupakan masalah deain akan dibiarkan
karenaterkalahkan

olehtrik

implementasi.Masalah

pendekatan

waterfall

adalah

ketidakluwaesan pembagian proyek ke dalam langkah yang jelas/nyata. Sistem yang


disampaikan kadang-kadang tidak dapatdigunakan sesuai keinginan konsumen. Namun
demikian, model waterfall mencerminkan kepraktisan rekayasa. Konsekuensinya, model
proses perangkat lunak yang berdasarkan pada pendekatan ini, digunakan dalam
pengembangan sistem perangkat lunak dan hardware yang luas.
Contoh Penerapan dari Pengembangan Model Waterfall
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 repotrepot 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.

Kelebihan Waterfall Model:

Mudah diaplikasikan.

Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan


pemeliharaan.

Cocok digunakan untuk produk software yang sudah jelas kebutuhannya di awal,
sehingga minim kesalahannya.

Kekurangan Waterfall model:

Waterfall model bersifat kaku sehingga Penanganan perubahan pada saat proses
sedang berlangsung menjadi lebih sulit.

Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena


komitmen harus dilakukan pada tahap awal proses.

Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap per
tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya.

Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work


yang sedang membuat produk.

Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim
proyek lainnya menuntaskan pekerjaannya.

Semua kebutuhan sudah terefenisi sejak awal dan Software yang diberikan adalah
versi terakhir dari setiap tahap,

2. Prototype Models
Protoyping Model adalah model yang dapat diterapkan pada model apapun. Model ini
tidak memerlukan data yang lengkap dari sisi client dan banyaknya keraguan dari pembuat
software karena kondisi yang belum diketahui (seberapa besar software, bagaimana sistem
penerapannya). Model ini tepat digunakan jika pihak client menginginkan prototype dari
software dalam waktu yang singkat. Dan prototype inilah yang akan menjadi acuan dari client
untuk memberikan data kebutuhan yang lebih lengkap pada pembuat software (developer).

Teknik teknik Prototyping Meliputi :

Perancangan Model

Perancangan Dialog

Simulasi

Berikut adalah 4 langkah yang menjadi karakteristik dalam proses pengembangan pada
metode prototype, yaitu :

Pemilihan fungsi

Penyusunan Sistem Informasi

Evaluasi

Penggunaan Selanjutnya
Metode ini menyajikan gambaran yang lengkap dari suatu sistem perangkat lunak, terdiri

atas model kertas, model kerja dan program. Pihak pengembang akan melakukan identifikasi
kebutuhan pemakai, menganalisa sistem dan melakukan studi kelayakan serta studi terhadap
kebutuhan pemakai, meliputi model interface, teknik prosedural dan teknologi yang akan
dimanfaatkan.
Berikut adalah Tahapan tahapan Proses Pengembangan dalam Model Prototype, yaitu :
Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat
lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang berfokus pada
penyajian kepada pelanggan (misalnya dengan membuat input dan format output).
Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan, apakah prototyping yang sudah dibangun sudah
sesuai dengan keinginan pelanggan atau belum. Jika sudah sesuai, maka langkah selanjutnya akan
diambil. Namun jika tidak, prototyping direvisi dengan mengulang langkah-langkah sebelumnya.
Mengkodekan sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa
pemrograman yang sesuai.
Menguji sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, kemudian dilakukan
proses Pengujian. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian
arsitektur, dll.

Evaluasi Sistem
Pelanggan mengevaluasi apakah perangkat lunak yang sudah jadi sudah sesuai dengan
yang diharapkan . Jika ya, maka proses akan dilanjutkan ke tahap selanjutnya, namun jika
perangkat lunak yang sudah jadi tidak/belum sesuai dengan apa yang diharapkan, maka tahapan
sebelumnya akan diulang.
Menggunakan sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.Model
Prototyping ini sangat sesuai diterapkan untuk kondisi yang beresiko tinggi di mana masalahmasalah tidak terstruktur dengan baik, terdapat fluktuasi kebutuhan pemakai yang berubah dari
waktu ke waktu atau yang tidak terduga, bila interaksi dengan pemakai menjadi syarat mutlak dan
waktu yang tersedia sangat terbatas sehingga butuh penyelesaian yang segera. Model ini juga
dapat berjalan dengan maksimal pada situasi di mana sistem yang diharapkan adalah yang
inovatif dan mutakhir sementara tahap penggunaan sistemnya relatif singkat.

Berikut merupakan Jenis jenis dari Prototyping :


Feasibility prototyping
Digunakan untuk menguji kelayakan dari teknologi yang akan digunakan untuk
system informasi yang akan disusun.
Requirement prototyping
Digunakan untuk mengetahui kebutuhan aktivitas bisnis user.
Desain Prototyping
Digunakan untuk mendorong perancangan sistem informasi yang akan digunakan.
Implementation prototyping
Merupakan lanjutan dari rancangan prototype, prototype ini langsung disusun sebagai
suatu sistem informasi yang akan digunakan.
Contoh Penerapan Metode Prototype
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.
Kelebihan Prototyping model:

Menghemat waktu pengembangan.

Adanya komunikasi yang baik antara pengembang dan pelanggan.

Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.

Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.

User dapat berpartisipasi aktif dalam pengembangan sistem.

Punya kemampuan menangkap requirement secara konkret daripada secara abstrak.

Untuk digunakan secara standalone.

Digunakan untuk memperluas SDLC.

Kekurangan Prototyping model:

Pada prototype tentu saja banyak kebutuhan yang tidak di tampilkan seluruhnya
karena data yang dikumpulkan hanya sebagian.

Prototype yang di setujui oleh client harus dikembangkan oleh developer tanpa ada
data tambahan dari client dan software dari prototype harus memiliki fungsi yang
lengkap.

Banyak ketidak sesuaian pada bentuk prototype.

Proses analisis dan perancangan terlalu singkat.

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.

Mengesampingkan alternatif pemecahan masalah.

Bisanya kurang fleksible dalam mengahadapi perubahan.

Prototype yang dihasilkan tidak selamanya mudah dirubah.

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 jangja waktu lama.

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.

Hubungan

pelanggan

dengan

komputer

yang

disediakan

mungkin

tidak

mencerminkan teknik perancangan yang baik.

3. RAD (Rapid application development ) Models

Rapid application development (RAD) adalah model proses pengembangan perangkat


lunak tambahan yang menekankan siklus perkembangan yang sangat pendek. Model RAD
adalah Adaptasi dari model sekuensial linier (Waterfall models) kecepatan tinggi berbasis
komponen. Dari penjelasan Pressman (2012) , satu perhatian khusus mengenai metodologi
RAD dapat diketahui, yakni implementasi metode RAD akan berjalan maksimal jika

pengembang aplikasi telah merumuskan kebutuhan dan ruang lingkup pengembangan


aplikasi dengan baik.
Tahapan-tahapan dalam RAD model:

Pemodelan Bisnis, pada tahap ini berisi tentang pertanyaan-pertanyaan apa informasi
yang mendorong proses bisnis? Informasi apa yang dihasilkan? Siapa yang menghasilkan
itu? Dari mana informasi itu berasal? Siapa yang memprosesnya?

Pemodelan data, informasi merupakan bagian dari pemodelan bisnis. Karakteristik


serta hubungan masing-masing objek dengan yang lainnyan diidentifikasi.

Proses pemodelan. Objek data yang didefinisikan dalam fase pemodelan data
dihubungkan untuk mendapatkan informasi yang diperlukan untuk melaksanakan fungsi
bisnis.

Generasi aplikasi, proses RAD bekerja menggunakan bahasa pemrograman dari


komponen program yang ada (bila mungkin) atau membuat komponen reusable (bila
diperlukan).

Pengujian dan omset. Karena proses RAD menekankan penggunaan kembali


sehingga banyak komponen program yang telah diuji. Hal ini akan mengurangi waktu
pengujian secara keseluruhan. Namun, komponen baru dan interface harus benar-benar
diuji.

Contoh Penerapan Model RAD


Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang
dicapai dengan menerapkan :
1. Component based construction (pemrograman berbasis komponen bukan prosedural).
2. Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
3. Pembangkitan kode program otomatis/semi otomatis.
4. Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tapi tidak sama
Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun.
Jika keutuhan yang diinginkan pada tahap analisis kebutuhan telah lengkap dan jelas,
maka waktu yang dibutuhkan untuk menyelesaikan secara lengkap perangkat lunak yang
dibuat adalah berkisar 60 sampai 90 hari. Model RAD hampir sama dengan model waterfall,
bedanya siklus pengembangan yang ditempuh model ini sangat pendek dengan penerapan
teknik yang cepat.
Sistem dibagi-bagi menjadi beberapa modul dan dikerjakan beberapa tim dalam
waktu yang hampir bersamaan dalam waktu yang sudah ditentukan. Model ini melibatkan
banyak tim, dan setiap tim mengerjakan tugas yang selevel, namun berbeda. Sesuai dengan
pembagian modul sistem.

Kelebihan model RAD :

Lebih efektif dari pendekatan waterfall/sequential linear dalam menghasilkan sistem


yang memenuhi kebutuhan langsung dari pelanggan
Cocok untuk proyek yang memerlukan waktu yang singkat

Kekurangan model RAD :

RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi
Membutuhkan orang yang banyak untuk menyelesaikan sebuah proyek berskala besar
Pengembang dan customer harus punya komitmen yang kuat untuk menyelesaikan

sebuah software
Jika sistem tidak di bangun dengan benar maka RAD akan bermasalah
Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru

antara pengembang dan customer.

4. Model incremental
Model ini merupakan gabungan dari waterfall model dan prototype model. Model
proses ini dapat digambarkan sebagai berikut,

Dari gambar dapat diartikan bahwa model inkremental berlaku urutan linear secara
bergiliran sesuai dengan urutan waktu. Setiap urutan linier menghasilkan deliverable
kenaikan perangkat lunak.
Contoh Penerapan Model Incremental

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.

Kelebihan incremental model:

Resiko yang rendah pada pengembangan sistem.

Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga kemudahan


pemakaian sistem yang paling di utamakan.

Tahap awal adalan dasar dari pembuatan tahap berikutnya (dikerjakan secara terurut).

Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat

Mampu mengakomodasi perubahan kebutuhan customer.

Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan


menggunakan produknya bagian per bagian.

Memaksimalkan pengembalian modal investasi konsumen.

Kekurangan incremental model:

Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh.

Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.

Hanya cocok untuk proyek dengan skala kecil.

Kemungkinan tiap bagian tidak dapat diintegrasikan.

5. Model Spiral

Model spiral memiliki sifat interatif yaitu sifat yang ditandai dengan kemungkinan
suatu perangkat lunak dikembangkan versinya secara bertahap untuk menghasilkan perangkat
lunak yang lengkap dan terkontrol.
Tahapan-tahapan model spiral:

Komunikasi pelanggan, komunikasi dilakukan untuk mengetahui keinginan si


pelanggan

Perencanaan, pada tahap ini dilakukan pendefinisian sumber daya, waktu yang
dibutuhkan, dan informasi lainnya terkait dengan pembuatan perangkat lunak.

Analisi Risiko, menganalisis risiko manajemen dan risiko teknis saat pembuatan
perangkat lunak.

Perekayasaan (Engineering), membangun satu atau lebih representasi dari aplikasi.

Konstruksi dan Peluncuran, pada proses ini peerangkat lunak diuji dan akan
memberikan pelayanan pada pelanggan.

Evaluasi pelanggan, pelanggan akan memberikan pendapat tentang perangkat lunak


yang telah dibuat. Apakah perangkat lunak akan dikembangkan kembali atau tidak.

Ada 6 pembagian proses pembuatan pada spiral model:


1.

Komunikasi Pelanggan.

2.

Perencanaan.

3.

Analisis resiko.

4.

Perekayasaan.

5.

Konstruksi dan Peluncuran.

6.

Evaluasi Client

Contoh Penerapan Model Spiral


Model spiral biasanya diterapkan/digunakan pada perusahaan perusahaan berskala
besar. Contoh penerapan umum metode pengembangan perangkat lunak dengan
menggunakan metode spiral adalah sebagai berikut:
1. Concept Development Project ( Proyek Pengembangan Konsep)
2. New Produc Development Project (Proyek Pengembangan Produk Baru)
3. Product Enhancement Project (Proyek Peningkatan Produk)
4. Product Maintance Project (Proyek Pemeliharaan Produk)

Kelebihan model Spiral:

Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang
diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam
mencari kekurangan kebutuhan.

Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.

Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak
komputer.

Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko
setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.

Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap


keadaan di dalam evolusi produk.

Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya


ke dalam kerangka kerja iteratif.

Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi


resiko sebelum menjadi permaslahan yang serius.

Kekurangan model Spiral:

Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat
dikontrol oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan
ulang oleh konsumen dan developer.

Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya


supaya sukses.

Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.

Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang
serius jika resiko mayor tidak ditemukan dan diatur.

Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.

6. WINWIN Spiral Model

Dalam hal ini win win merupakan situasi kemenangan antara tim pengembang dan
pelanggan. Yang membedakan antara win win spiral model dan spiral model adalah setelah
selesai mendapatkan feed back dari pelanggan, tim pengembang perangkat lunak dan
pelanggan akan kembali melakukan negosiasi untuk perkembangan perangkat lunak tersebut.
Tahapan-tahapan WINWIN Spiral model:
1.

Identifikasi kunci sistem atau subsistem dari yang berkepentinagn

2.

Penentuan kondisi kemenangan dari yang berkepentingan

3.

Negosiasi kondisi menang yang berkepentingan agar terjadi kedamaian.

7. The Concurrent Development Model(concurrent engineering)

Pada model ini aktifitas kerja dilakukan secara bersamaan, setiap proses kerja
memiliki beberapa pemicu kerja dari aktifitas. Pemicu dapat berasal dari awal proses kerja
maupun dari pemicu yang lain karena setiap pemicu akan saling berhubungan.

Kesimpulan:

Dari beberapa Prespective model yang telah di jabarkan, saya beranggapan spiral
model lah yang paling bagus, spiral model saya pilih mengingat banyaknya kelebihan pada
model ini terutama karena Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup
perangkat lunak komputer dan cocok untuk perangkat lunak sekala besar, meskipun model ini
memiliki beberapa kekurangan tapi semua kekurangan tersebut dapat tertutupi dengan
besarnya kelebihan yang dimilikinya, yang antara lain :

Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang
diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam
mencari kekurangan kebutuhan.

Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.

Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak
komputer.

Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko
setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.

Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap


keadaan di dalam evolusi produk.

Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya


ke dalam kerangka kerja iteratif.

Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi


resiko sebelum menjadi permaslahan yang serius.

Refrences :

Pressman, Roger S. 2001.Software Engineering.New York:Mc. Graw Hill.

Anda mungkin juga menyukai