model proses rpl
DESCRIPTION
RPLTRANSCRIPT
TUGASModel Pengembangan Perangkat Lunak
Diajukan untuk memenuhi salah satu tugas
Pada mata kuliah “Rekayasa Perangkat Lunak”
Disusun oleh :
Ratna Sari
11351201387
5F
TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SULTAN SYARIF KASIM
RIAU
2015
Macam-Macam Model Pengembangan Perangkat Lunak
A. Waterfall Model
Waterfall model 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.
Model Waterfall (Ian Sommerville)
Gambar 1 : Waterfall model
Penjealsan :
Requirements Analysis And Definition.
Pembentukan kebutuhan.
System And Software Design.
Mengubah kebutuhan menjadi bentuk karakteristik yang dimerngerti perangkat lunak.
Implementation And Unit Testing.
Penulisan program.
Integration And System Testing.
Memeriksa program, mencari kesalahan.
Operation And Maintenance.
Pemeliharaan sistem, menambahkan fungsi.
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.
Problems Model Waterfall
1. Jarang sekali proyek yang prosesnya bisa dilakukan secara sequencial.
2. Sukar bagi customer untuk secara explisit mengemukakan semua kebutuhannya.
3. Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap per
tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya.
4. Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang
sedang membuat produk.
5. Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim
proyek lainnya menuntaskan pekerjaannya.
6. Semua kebutuhan sudah terefenisi sejak awal dan Software yang diberikan adalah versi
terakhir dari setiap tahap.
B. Prototyping Model
Prototype Model adalah model yang dapat diterapkan pada model apapun. Pada model
ini. Pengguna akan kesulitan mendefinisakan input, proses, output yang diminta secara detail
dan developer tidak yakin terhadap efisiensi algoritma, kemampuan adaptasi terhadap sistem
operasi, atau bentuk interaksi mesin dengan orang.
.
Gambar 2 : Prototype model
Penjelasan :
Prototype Paradigm dimulai dengan mengumpulkan kebutuhan-kebutuhan customer.
Developer dan customer bertemu dan mendefinisikan obyektif software secara
menyeluruh, mengidentifikasi kebutuhan-kebutuhan yang diketahui dari area pekerjaan.
Setelah itu dibuat Quick Design.
Quick Design difokuskan pada representasi aspek software yang bisa dilihat
customer/user (misal: format input dan output).
Quick Design cenderung ke pembuatan prototipe.
Prototipe dievaluasi customer/user dan digunakan untuk menyempurnakan kebutuhan
software yang akan dikembangkan.
Sering terjadi customer menjabarkan objektif umum mengenai software yang diminta,
tetapi tidak bisa mendefinisakan input, proses, output yang diminta secara detail.
Disisi lain, developer menjadi tidak yakin terhadap efisiensi algoritma, kemampuan
adaptasi terhadap sistem operasi, atau bentuk interaksi mesin dengan orang.
Untuk mengatasi situasi tersebut, bisa digunakan pendekatan Prototype Paradigm.
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.
Problems Prototyping Model
Customer melihat prototipe tersebut sebagai versi dari software.
Pada saat produk tersebut harus dibangun ulang supaya level kualitas bisa terjamin,
Customer akan mengeluh dan meminta sedikit perubahan saja supaya prototipe tersebut
bisa berjalan.
Development membuat implemetasi yang kompromitas dengan tujuan untuk
memperoleh prototipe pekerjaan secara cepat.
Dampaknya adalah sistem operasi atau bahasa pemrograman yang dipergunakan tidak
tepat, algoritma tidak efisien.
C. Incremental Model
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.
Gambar 3 : Incremental Model
Penjelasan :
1. Kombinasikan elemet-element dari waterfall dengan sifat iterasi/perulangan.
2. Element-element dalam waterfall dikerjakan dengan hasil berupa produk dengan
3. Spesifikasi tertentu, kemudian proses dimulai dari fase pertama hingga akhir dan
menghasilkan produk dengan spesifikasi yang lebih lengkap dari yang sebelumnya.
4. Demikian seterusnya hingga semua spesifikasi memenuhi kebutuhan yang ditetapkan
oleh pengguna.
5. Produk hasil increment pertama biasanya produk inti (core product), yaitu produk yang
memenuhi kebutuhan dasar. Produk tersebut digunakan oleh pengguna atau menjalani
review/ pengecekan detil. Hasil review tersebut menjadi bekal untuk pembangunan pada
increment berikutnya. Hal ini terus dikerjakan sampai produk yang komplit dihasilkan.
6. Model ini cocok jika jumlah anggota tim pengembang/pembangun PL tidak cukup.
7. Mampu mengakomodasi perubahan secara fleksibel.
8. Produk yang dihasilkan pada increment pertama bukanlah prototype, tapi produk yang
sudah bisa berfungsi dengan spesifikasi dasar.
Kelebihan incremental model:
1. Resiko yang rendah pada pengembangan sistem.
2. Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga kemudahan
pemakaian sistem yang paling di utamakan.
3. Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
4. Mampu mengakomodasi perubahan kebutuhan customer.
5. Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan
menggunakan produknya bagian per bagian.
Kekurangan Incremental Model:
1. Hanya cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding)
2. Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana
spesifikasi masingmasing hasil increment
D. Spiral Model
Setiap tahapan model ini selalu dilakukan risk analisys dan verivikasi atau testing. Spiral
model merupakan proses yang pendekatannya bersifat realistis pada software besar karena
proses dari awal sampai proses pengiriman dan perbaikan dapat dipahami dengan baik oleh
client dan developer. Model ini mempunyai rangkaian kerja yang iterasi (peningkatan pada
model) awal yang berbentuk prototype dan kemudian iterasi selanjutnya akan menjadi
perkembangan dari model sebelumnya.
Gambar 4 : Spiral Model
Penjelasan :
Customer Comunication
Membangun komunikasi yang baik dengan pelanggan
Planning
Mendefinisikan sumber, batas waktu, informasi-informasi lain seputar proyek
Risk Analyst
Identifikasi resiko management dan teknis
Engineering
Pembangunan contoh-contoh aplikasi misalnya prototype
Construction and release
Pembangunan, test, install dan report
Customer Evaluation
Mendapatkan feedback dari pengguna berdasarkan evaluasi pada fase engineering dan
fase instalasi
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.
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.
Perbedaan dan Perbandingan Model-Model Pengembangan Perangkat Lunak
Jenis Sistem Kerja Penekanan Konsep Pendekatan
Waterfall Proyek dibagi menjadi
fase yang berurutan,
dengan
beberapatumpang
tindih dan
splashback diterima
antara fase.
Penekanan pada
perencanaan, jadwal
waktu, tanggal
target, anggaran dan
implementasi dari
keseluruhan
sistempada satu
waktu.
Kontrol ketat
dijaga selama
umur proyek melalui
dokumentasi
tertulis yang luas,
review formal, dan
persetujuan
/signoff oleh
pengguna dan
manajemen informasi
teknologi yang
terjadi pada
akhir fase yang
paling sebelum
memulai tahap
berikutnya.
Pendekatan
teknik
tradisional
diterapkan
untuk rekayasa
perangkat lunak
Prototyping Upaya untuk
mengurangi resiko
proyek yang melekatd
engan memeca
hproyek ke dalam
segmen yang lebih
kecil dan menyediakan
lebih
banyak kemudahan-
perubahan selama
proses pembangunan.
Penekanan pada
pengurangan waktu
dan biaya, dan
peningkataan
keterlibatan
pengguna
Kecil mock-up dari
sistem yang dibentuk
setelah melalui proses
berulang-ulangs
ampai modifikasi
prototipe berkembang
untuk memenuhi
kebutuhan pengguna.
Pendekatan
untuk
menangani
bagian-bagian
yang dipilih dari
metodologi,
pengembangany
ang lebih
besar yang lebih
tradisional
Incremental Cara kerja mirip
waterfall, serangkaian
Air terjun mini
dilakukan di mana
Penekanan pada
sistem waktu kerja
yang lebih cepat dan
pengurangan resiko
Konsep perangkat
lunak awal, analisis
persyaratan, dan
desain arsitektur
Pendekatan
metodelogi
pengembangan
sistem
semua fase Waterfallt
ersebut selesai untuk
sebagian kecil dari
suatu sistem, sebelum
melanjutkan
kekenaikan berikutnya
kerja karena
prosedur yang lebih
sederhana
dan inti sistem di
definisikanmelaluiWat
erfall, diikuti dengan
berulang Prototyping,
yang berpuncak dalam
memasang
prototipe akhir,sistem
kerja.
Spiral Setiap perjalanan
sekitar melintasi spir
alempat
kuadran dasar:(1)
menentukantujuan, al
ternatif, dan
kendala dari iterasi,
(2) mengevaluasial
ternatif,
Mengidentifikasi dan
mengatasi risiko, (3))
mengembangkan dan
memverifikasi
kiriman dari iterasi,
dan (4) merencanaka
n iterasi berikutnya
Penekanan pada
penilaian risiko dan
meminimalkan risiko
proyek dengan
memecah proyek ke
dalam segmen yang
lebih kecil dan
menyediakan lebih
banyak kemudahan-
perubahan selama
proses pengembangan
Konsep dengan
memulai setiap
siklus dengan
identifikasi
pemangku
kepentingan
dankondisi menang
mereka, dan
mengakhiri setiap
siklus dengan review
dan komitmen
Pendekatan pada
penggabungkan
keuntungan
dari konsep top-
down dan
bottom-up.