Model Pengembangan Perangkat Lunak denga (1)

TUGAS II REKAYASA PERANGKAT LUNAK
Model Pengembangan Perangkat Lunak dengan Waterfall, Rad, Prototyping,
Incremental, dan Spiral beserta Perbedaannya.
Diajukan sebagai syarat untuk memenuhi
nilai mata kuliah Rekayasa perangkat Lunak

OLEH
AGUNG KURNIAWAN
11351101160
TIF KELAS 5F

JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SULTAN SYARIF KASIM
RIAU
2015

1. Pengembangan Perangkat Lunak
Secara garis besar, perangkat lunak merupakan sekumpulan kode dan program untuk
menjalankan eksekusi yang diperintahkan oleh user.
Sedangkan pengertian pengembangan perangkat lunak itu sendiri merupakan salah

satu dari tahap rancangan system rinci/detail dari Siklus Hidup Pengembangan Sistem.
namun dalam artian luas istilah ini mencakup semua hal yang terlibat antara penciptaan
perangkat lunak yang diinginkan melalui pewujudan akhir perangkat lunak, idealnya
dalam proses yang terencana dan terstruktur.
Terdapat beberapa model perkembangan perangkat lunak, diataranya :
a.
b.
c.
d.
e.

Waterfall
Rad
Prototyping
Incremental
Spiral

1.1 Model 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.
1.1.1 Tahapan Model Waterfall
Dalam pengembangan model waterfall terdapat beberapa tahapan yang terkait,
diantaranya: requirement, design, implementation, verification dan maintenance.
a. Requirement
Requirement adalah analisa kebutuhan sistem yang dibuat dalam
bentuk yang dapat dimengerti oleh klien dan staf pengembang.
b. Design

Dalam tahap ini pengembang akan menghasilkan sebuah arsitektur
sistem secara keseluruhan, dalam tahap ini menentukan alur perangkat
lunak hingga pada tahap algoritma yang detil.
c. Implementations
Yaitu tahapan dimana keseluruhan desain diubah menjadi kode-kode
program. kode program yang dihasilkan masih berupa modul-modul yang
selanjutnya akan di integrasikan menjadi sistem yang lengkap untuk

meyakinkan bahwa persyaratan perangkat lunak telah dipenuhi.
d. Verification
Klien menguji apakah sistem tersebut telah sesuai dengan kontrak yang
telah disetujui.
e. Maintenance
Merupakan instalasi dan proses perbaikan sistem sesuai kontrak.
1.1.2 Manfaat Model Waterfall
a. kualitas software tetap terjaga karena pengembangannya yang terstruktur dan
terawasi
b. proses pemeliharaan dapat dilakukan dengan mudah
c. menghasilkan Mature proses pada setiap tahapannya
d. mudah untuk diaplikasikan pada sebuah proyek
1.1.3
a.
b.
c.

Kelamahan Metode Waterfall
Ketidakflesibelan antar tahapan
Susah dalam memrespon perubahan kebutuhan costumer

Model ini hanya cocok jika:
 Kebutuhan costumer sudah sangat jelas
 Perubahan kebutuhan dibatasi

Gambar 1. Waterfall Model

1.2 Model 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.
1.2.1 Penerapan RAD
Model RAD mengadopsi model waterfall, dan pembangunan dengan waktu
singkat 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.
1.2.2

Tahapan-Tahapan RAD
a. Requirements Planing
User dan analyst melakukan semacam pertemuan untuk
melakukan identifikasi tujuan dari aplikasi atau system dan melakukan
identifikasi kebutuhan informasi untuk mencapai tujuan
b. Design Workshop
Melakukan proses desain dan melakukan perbaikan-perbaikan
apabila masih terdapat ketidaksesuaian desain antara user dan analyst.
c. Implementation
Proses pengujian terhadap program apakah terdapat kesalahan
atau tidak sebelum diaplikasikan pada suatu organisasi.

1.2.3

Kelamahan Model RAD

a. Model RAD memerlukan sumber daya yang cukup besar, terutama
untuk proyek dengan skala besar.

b. kinerja dari perangkat lunak yang dihasilkan dapat menjadi masalah
manakala kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan,
sehingga pendekatan dengan model ini kurang bagus.
c. sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
d. penghalusan dan penggabungan dari beberapa tim di akhir proses
sangat diperlukan dan ini memerlukan kerja keras.
e. proyek bisa gagal karena waktu yang disepakati tidak dipenuhi
f. risiko teknis yang tinggi juga kurang cocok untuk model ini.
1.2.4

Kelebihan Model RAD
a. Lebih

efektif

dari


pendekatan waterfall/sequential

linear dalam

menghasilkan sistem yang memenuhi kebutuhan langsung dari
pelanggan
b. Cocok untuk proyek yang memerlukan waktu yang singkat
c.

Model ini cocok untuk proyek dengan skala besar.

Gambar 2. Model RAD
1.3 Model Prototyping

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.
Terdapat empat macam model prototyping:

a. Prototype kertas, menggambarkan system dengan menggunakan media kertas.
b. Prototype berbasis PC, memanfaatkan program aplikasi untuk menunjukkan
interaksi manusia dan komputer.
c. Prototype kerja, merupakan implementasi sebagian fungsi system yang ingin
dilihat unjuk kerjanya, dan diwujudkan dalam sebuah program.
d. Prototype program, program benar-benar dibuat dan dapat berfungsi dengan
baik. Selain itu, program juga terus menerus ditambah dan dilengkapi.

1.3.1

Kelebihan danManfaat Prototyping



Adanya komunikasi yang intensif antara pengembang dan user



Membantu dalam analisis




Peran user meningkat



Pengembangan lebih cepat



Mudah dalam implementasinya,

1.3.2

Kelemahan Model Prototyping



User sibuk




User ingin program segera



User berharap terlalu banyak

1.3.3

Tahapan Model Prototyping



Pengumpulan Kebutuhan



Pembangunan Prototyping




Evaluasi Prototyping



Mencodekan System



Menguji system



Evaluasi system



Menggunakan System

Gambar 3. Model Prototyping

1.4 Model Incremental
Model Incremental 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.
1.4.1


Kelebihan Model Incremental
Kebutuhan pengguna / customer dipenuhi pada setiap bagian yang selesai
terlebih dahulu



Bagian yang selesai terlebih dahulu menjadi prototipe



Resiko rendah



Bagian yang punya prioritas tertinggi dapat dites secara intensive

1.4.2

Kelemahan Model Incremental



Permasalahan



Batasan proses tidak jelas



Sistem kurang terstruktur



Kemampuan aplikasi



Untuk sistem dengan interaksi skala kecil dan medium



Untuk antarmuka user



Untuk sistem dengan masa penggunaan pendek

1.4.3
1

Tahapan Model Incremental
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.

Gambar 4. Model incremental

1.5 Model 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.
1.5.1


Tahapan Model Spiral
Tahap Liason
Tahap Planning (perencanaan)



Tahap Analisis Resiko



Tahap Rekayasa (engineering



Tahap Konstruksi dan Pelepasan (release



Tahap Evaluasi

1.5.2



Kelebihan Model Spiral
. Sangat mempertimbangkan resiko kemungkinan munculnya kesalahan
Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat baik
dengan menggabungkan model waterfall

Baik pengembang maupun pemakai dapat cepat mengetahui letak kekurangan



dan kesalahan dari system.
1.5.3

Kekurangan Model Spiral



Waktu yang dibutuhkan untuk mengembangkan perangkat lunak cukup panjang



Sangat tergantung kepada tenaga ahli



Terdapat pula kesulitan untuk mengontrol proses.

Perencanaanann
Analisis resiko

Komunikasi
pelanggan

Perekayasaan

Gambar 5. Model Spiral
Evaluasi pelanggan

Konstruksi dan
peluncuran

2. Perbedaan Model Pengembangan Perangkat Lunak dengan Waterfall, Rad,
Prototyping, Incremental, dan Spiral

Model

Waterfall

Sistem Kerja
Proyek dibagi

Penekanan
Penekanan pad

Konsep
Control ketat

Pendekatan
Menerapkan

menjadi

perencanaan,

dijaga selama

pendekatan

beberapa fase

jadwal waktu,

umur proyek

tradisional.

yang berurutam,

tanggal target,

melalui

dengan beberapa dan

dokumentasi

tumpang tindih

implementasi

tertulis yang

dan splashback

dari

luas, review

diterima antar

keseluruhan

formal dan

fase.

system pada

persetujuan oleh

satu waktu.

pengguna dan
manajemen
informasi
teknologi yang
terjadi pada akhir
fase yang belum
memulai tahap

Rad

Model RAD

RAD

berikutnya
Rapid

hampir sama

menekankan

application

pembanguna

dengan model

pada siklus

development

n perangkat

waterfall,

pembangunan

menggunakan

lunak yang

bedanya siklus

pendek,

metode iteratif

tergolong

pengembangan

singkat, dan

(berulang) dalam

dalam teknik

yang ditempuh

cepat.

mengembangkan

incremental

sistem

(bertingkat).

model ini sangat
pendek dengan
penerapan
teknik yang
cepat.

proses

Upaya

Prototyping

Penekanan pada

Kecil mock-

Pendekatan

untukmengura pengurangan

updari sistem

untukmenangan

ngi risiko

waktu dan

yangdibentuk

ibagian-

proyek yang

biaya, dan

setelah

bagianyang

melekat

peningkataan

melalui proses

dipilihdarimeto

dengan

keterlibatan

berulang-

dologi,

memecah

pengguna

ulangsampaimodi

pengembangan

proyek ke

fikasiprototipeber

yang lebih

dalam segmen

kembanguntuk

besar yang

yang lebih

memenuhi

lebih

kecil dan

kebutuhanpenggu

tradisional

menyediakan

na.

lebih
banyak kemda
han
perubahan sel
ama
proses pemba

Incremental

Spiral

ngunan.
Cara
kerja
sama seperti
waterfall, di
mana semua
fase
selesai
untuk
sebagian kecil
dari
suatu
system,
sebelum
melanjutkan
ke berikutnya
Menentukan
tujuan
alternative
dan kendala
dari
iterasi.
Mengevaluasi
dari
alternative,
mengidentifik
asikan
dan

Waktu
kerja
yang
lebih
cepat,
dan
pengurangan
resiko
kerja
karena prosedur
yang
lebih
sederhana

konsep perangkat
lunak
awal,
analisis
persyaratan, dan
desain arsitektur
didefenisikan
melalui waterfall.

Pendekatan
metodologi
pengembangan
system.

Penilaian resiko
dan
meminimalkan
resiko proyek

Memulai
setiapsiklus
dengan
identifikasi
pemangku
kepentingan dan
kondisi menang
mereka,
dan
mengakhiri setiap
siklus
dengan

Pendekatan
dari
penggabungan
keuntungan
dari
konsep
top-down dan
bottom-up

mengatasi
resiko.
Mengembang
kan
dan
memferivikasi
kiriman dari
iterasi.
Merencanaka
n
iterasi
berikutnya

riview
komitmen

dan