Proses Proses Perangkat Lunak Teknik In

Materi 03 – Rekayasa Perangkat Lunak

Proses - Proses
Perangkat Lunak
Agung Panji Sasmito, S.Pd., M.Pd.
Teknik Informatika – Institut Teknologi Nasional Malang

Materi 03 – Rekayasa Perangkat Lunak

Proses - Proses
Perangkat Lunak
1. Software Development Life Cycle
2. Model Proses Perangkat Lunak
3. Spesifikasi Perangkat Lunak
4. Perancangan dan Implementasi
Perangkat Lunak

Proses-Proses Perangkat Lunak

Software Development Life Cycle
Proses perangkat lunak SANGAT

RUMIT  bergantung pada
PENILAIAN MANUSIA

TIDAK ADA proses perangkat
lunak yang IDEAL
terdapat kegiatan mendasar yang
UMUM bagi semua proses
perangkat lunak

SDLC

Proses-Proses Perangkat Lunak

Software Development Life Cycle
proses pembuatan dan pengubahan sistem
serta model dan metodologi yang
digunakan untuk mengembangkan sistemsistem tersebut
pola / tahapan pekerjaan yang dilakukan
oleh analis sistem dan programmer dalam
membangun perangkat lunak


Proses-Proses Perangkat Lunak

Software Development Life Cycle
SPESIFIKASI

PENGEMBANGAN

VALIDASI

EVOLUSI

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak

-Abstraksi yang digunakan untuk
menjelaskan pendekatanpendekatan terhadap
pengembangan perangkat lunak
-Suatu representasi proses

perangkat lunak yang
disederhanakan, dipresentasikan
dari perspektif khusus

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
model AIR TERJUN
(WATERFALL)

GENERIK

PROSES
PERANGKAT
LUNAK

pengembangan
EVOLUSIONER
pengembangan
SISTEM FORMAL

berdasarkan
PEMAKAIAN ULANG

ITERATIF
(HYBRID)

pengembangan
INKREMENTAL
pengembangan
SPIRAL

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
MODEL AIR TERJUN (WATERFALL)

PENGEMBANGAN EVOLUSIONER

PENGEMBANGAN SISTEM
FORMAL

PNGEMBANGAN BERDASARKAN
PEMAKAIAN ULANG

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Model Air Terjun
ANALISIS & DEFINISI
PERSYARATAN

PERANCANGAN SISTEM &
PERANGKAT LUNAK

IMPLEMENTASI &
PENGUJIAN UNIT

INTEGRASI DAN PENGUJIAN
SISTEM

OPERASI DAN

PEMELIHARAAN SISTEM

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Model Air Terjun
- kegiatan proses dasar yang alurnya
menurun dari satu fase ke fase yang lain
- setiap fase merupakan satu / lebih
doku e ya g disetujui dita data ga i
- fase berikutnya boleh dimulai jika fase
sebelumnya selesai

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Model Air Terjun
- sering terjadi pembagian proyek menjadi
tahap-tahap yang tidak fleksibel karena
tahap-tahap tersebut sering tumpah tindih

- model ini hanya digunakan ketika
persyaratan sistem benar-benar dipahami,
jika tidak maka perekayasa akan kesulitan
menanggapi perubahan persyaratan
pelanggan

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Model Air Terjun

Keuntungan
- Mudah dipahami dan diimplementasikan
- Model klasik yang paling banyak
digunakan
- Metode ini masih masuk akal jika
kebutuhan sudah diketahui dengan
baik.

Proses-Proses Perangkat Lunak


Model Proses Perangkat Lunak
Model Air Terjun

Kekurangan
- Kesulitan untuk mengakomodasi
perubahan setelah proses berjalan
(bersifat kaku/rigid)  Kesalahan di
awal tahap berakibat sangat fatal
pada tahap berikutnya
- Sulit mendefinisikan kebutuhan PL di
awal secara eksplisit
- Hanya sesuai jika kebutuhan sudah
dimengerti dengan baik

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Model Pengembangan Evolusioner
KEGIATAN-KEGIATAN YANG

BERSAMAAN

SPESIFIKASI

PENJELASAN GARIS
BESAR

PENGEMBANGAN

VALIDASI

VERSI AWAL

VERSI MENENGAH

VERSI AKHIR

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak

Model Pengembangan Evolusioner

- tidak ada kegiatan spesifikasi,
pengembangan, dan validasi yang
terpisah

- kegiatan dilakukan secara bersamaan
dengan umpan balik yang cepat untuk
masing-masing kegiatan

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Model Pengembangan Evolusioner

Keuntungan:
- lebih efektif dari model air terjun dalam
menghasilkan sistem yang memenuhi
kebutuhan langsung dari pelanggan
- spesifikasi dapat dikembangkan secara

inkremental
- sistem perangkat lunak dapat
merefleksikan permasalahan pengguna

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Model Pengembangan Evolusioner

Kekurangan:
- proses tidak bisa dilihat
- sistem seringkali memiliki struktur yang
buruk
- mungkin diperlukan alat bantu dan
teknik khusus
- tidak cocok untuk pengembangan
sistem dengan skala besar dan waktu
hidup yang lama

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Model Pengembangan Evolusioner

PENGEMBANGAN
EKSPLORATORI
PROTOTIPE YANG
DAPAT DIBUANG
(THROW-AWAY)

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Model Pengembangan Sistem Formal
DEFINISI
PERSYARATAN

TRANSFORMASI
FORMAL

SPESIFIKASI FORMAL

INTEGRASI &
PENGUJIAN SISTEM

TRANSFORMASI FORMAL
T1

SPESIFIKASI
FORMAL

T2

R1

P1

T3

R2

P2

T4

PROGRAM YANG
DAPAT
DIJALANKAN

R3

P3

P4

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Model Pengembangan Sistem Formal

mirip dengan model air terjun tetapi
proses pengembangannya didasarkan
pada transformasi matematis dari
spesifikasi sistem menjadi program yang
dapat dijalankan

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Model Pengembangan Sistem Formal

Kelebihan
- Spesifikasi persyaratan perangkat lunak
lebih rinci  dinyatakan dalam notasi
matematis
- Mengurangi jumlah kesalahan pada
sistem
- Efektif dalam segi biaya
- Memiliki risiko lebih rendah terhadap
keseluruhan pengembangan sistem

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Model Pengembangan Sistem Formal

Kekurangan
- Dibutuhkan ketrampilan dan
pelatihan khusus untuk
mengaplikasikan teknik ini
- Kesulitan dalam menspesifikasikan
beberapa aspek ke dalam sistem
- Memerlukan tingkat kerahasiaan dan
keamanan yang tinggi sebelum
digunakan

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Model Pengembangan Berorientasi
Pemakaian Ulang

SPESIFIKASI
PERSYARATAN

ANALISIS KOMPONEN

MODIFIKASI
PERSYARATAN

PERANCANGAN
SISTEM DENGAN
PEMAKAIAN ULANG

PENGEMBANGAN
DAN INTEGRASI

VALIDASI SISTEM

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Model Pengembangan Berorientasi
Pemakaian Ulang

Bergantung pada sejumlah besar
komponen perangkat lunak yang dapat
dipakai ulang, yang bisa didapat, dan
berapa kerangka kerja integrasi untuk
komponen-komponen ini.

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Model Pengembangan Berorientasi
Pemakaian Ulang

Keuntungan:
- mengurangi besarnya perangkat lunak
yang akan dikembangkan
- memperkecil biaya dan resiko
- memungkinkan penyelesaian perangkat
lunak dengan cepat

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Model Pengembangan Berorientasi
Pemakaian Ulang

Kekurangan:
- bisa menghasilkan sistem yang tidak
memenuhi kebutuhan sebenarnya dari
user  persyaratan mungkin tidak cocok
- kontrol terhadap evolusi sistem akan
hilang

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Proses Hybrid
pada sistem besar
terkadang membutuhkan
berbagai pendekatan untuk
beberapa bagian sistem

memerlukan model
PROSES HIBRID
setiap bagian proses
DIULANG: perancangan dan
implementasi dilakukan
ulang untuk implementasi
yang diubah

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Proses Hybrid

MODEL HYBRID
pengembangan INKREMENTAL
pengembangan SPIRAL

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Proses Hybrid - INKREMENTAL

- spesifikasi, perancangan, dan
implementasi perangkat lunak dibagi
menjadi serangkaian inkremen yang
dikembangkan secara bergantian
- diusulkan oleh Mills (1980) sebagai cara
untuk mengurangi pengerjaan ulang
pada proses pengembangan

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Proses Hybrid - INKREMENTAL

DEFINISIKAN
PERSYARATAN
GARIS BESAR

TERAPKAN
PERSYARATAN KE
INKREMEN

RANCANG
ARSITEKTUR SISTEM

KEMBANGKAN
PEMBAGIAN SISTEM

VALIDASI INKREMEN

INTEGRASIKAN
INKREMEN

VALIDASI SISTEM

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Proses Hybrid - INKREMENTAL

increment # n
Co m m u n i c a t i o n
Pl a n n i n g
M o d e l i n g
analy s is
des ign

Co n s t ru c t i o n
c ode
t es t

De p l o y m e n t
d e l i v e ry
fe e d b a c k

deliv ery of
nt h increment

increment # 2
Co m m u n i c a t i o n
Pl a n n i n g
M o d e l i n g
analy s is
des ign

Co n s t ru c t i o n
c ode

De p l o y m e n t

t es t

d e l i v e ry
fe e d b a c k

increment # 1
Co m m u n i c a t i o n
Pl a n n i n g
M o d e l i n g
analy s is
des ign

Co n s t ru c t i o n
c ode
t es t

De p l o y m e n t
d e l i v e ry
fe e d b a c k

deliv ery of
1st increment

project calendar t ime

deliv ery of
2nd increment

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Proses Hybrid - INKREMENTAL

Kelebihan:
- Lebih fleksibel, biaya rendah untuk
mengakomodasi perubahan (jika ada)
- Mudah diuji dan di-debug selama
iterasi
- Risiko lebih rendah dari keseluruhan
kegagalan proyek

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Proses Hybrid - INKREMENTAL

Kekurangan:
- Bisa timbul masalah terkait arsitektur
sistem
- Tiap fase inkremen bersifat kaku
- Hanya cocok untuk proyek dengan skala
kecil  kurang cocok untuk proyek
skala besar

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Proses Hybrid - SPIRAL

- diusulkan oleh Boehm (1988)
- direpresentasikan sebagai SPIRAL 
setiap untai pada spiral
merepresentasikan fase proses
perangkat lunak

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Proses Hybrid - SPIRAL

setiap untai dibagi menjadi 4 sektor:
PENENTUAN TUJUAN
PENILAIAN DAN PENGURANGAN RISIKO
PENGEMBANGAN DAN VALIDASI
PERENCANAAN

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Proses Hybrid - SPIRAL

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Proses Hybrid - SPIRAL

Kelebihan:
- Mengeliminasi error lebih dini
- Menggabungkan keunggulan air terjun
dan evolusioner
- Pendekatan yang sistematis

Proses-Proses Perangkat Lunak

Model Proses Perangkat Lunak
Proses Hybrid - SPIRAL

Kekurangan:
- Memerlukan keahlian di bidang analisis
risiko
- Cenderung cocok untuk sistem berskala
besar
- Agak rumit dan tidak mudah dipahami