1. Ada beberapa model proses yang dapat digunakan untuk menggembangkan perangkat lunak.
Jelaskan apa yang di maksud dengan model-model proses berikut :
a. Waterfall
b. Prototyping
c. RAD ( Rapid Application Development )
d. Incremental
e. Spiral
PEMBAHASAN :
a.
Model
sekuensial linear disebut juga model waterfall atau air terjun. Model
ini peertama kali muncul pada tahun1970 yang diperkenalkan oleh
WinstonW.Royce. walaupun sudah dikenal dalam waktu yang lama dan sering
di anggap kuno tetapi model ini paling banyak dipakai dalam industri
perangkat lunak.
Model
sekuensial linear berisi rangkaian proses yang disajikan secara
terpisah, yaitu analisis kebutuhan,perancangan,pemgkodean,pemgujian,
seta implementasi dan pemeliharaan. Setelah setiap proses dilakukan,
proses tersebut ditutup dan pengembangan dilanjutkan pada proses
berikutnya.
Untuk
mengatasi kekurangna-kekurangan tersebut, dibuatlah model sekuensial
linear yang dimodifikasis. Keunggulan model ini dibandingkan model
sekuensial linear biasa adalah model ini memungkinkan tahap-tahap yang
telah dilalui ditinjau kembali sehinnga jika ternyata terjadi kesalahan
atau kekurangan dalam menentukan kebutuhan di tahap awal, bisa
dilakukan perbaikan atau peambahan lagi.
Model sekuensial linier melingkupi aktivitas – aktivitas sebagai berikut :
1 Rekayasa dan pemodelan sistem/informasi
Karena
sistem merupakan bagian dari sebuah sistem yang lebih besar, kerja
dimulai dengan membangun syarat dari semua elemen sistem dan
mengalokasikan beberapa subset dari kebutuhan ke software tersebut.
Pandangan sistem ini penting ketika software harus berhubungan dengan
elemen-elemen yang lain seperti software, manusia, dan database.
Rekayasa dan anasisis system menyangkut pengumpulan kebutuhan pada
tingkat sistem dengan sejumlah kecil analisis serta disain tingkat
puncak. Rekayasa informasi mancakup juga pengumpulan kebutuhan pada
tingkat bisnis strategis dan tingkat area bisnis.
2 Analisis kebutuhan Software
Proses
pengumpulan kebutuhan diintensifkan dan difokuskan, khusunya pada
software. Untuk memahami sifat program yang dibangun, analis harus
memahami domain informasi, tingkah laku, unjuk kerja, dan interface yang
diperlukan. Kebutuhan baik untuk sistem maupun software
didokumentasikan dan dilihat lagi dengan pelanggan.
3 Desain
Desain
software sebenarnya adalah proses multi langkah yang berfokus pada
empat atribut sebuah program yang berbeda struktur data, arsitektur
software, representasi interface, dan detail (algoritma) prosedural.
Proses desain menterjemahkan syarat/kebutuhan ke dalam sebuah
representasi software yang dapat diperkirakan demi kualitas sebelum
dimulai pemunculan kode. Sebagaimana persyaratan, desain
didokumentasikan dan menjadi bagian dari konfigurasi software.
4 Generasi Kode
Desain
harus diterjemahkan kedalam bentuk mesin yang bisa dibaca. Langkah
pembuatan kode melakukan tugas ini. Jika desain dilakukan dengan cara
yang lengkap, pembuatan kode dapat diselesaikan secara mekanis.
5 Pengujian
Sekali
program dibuat, pengujian program dimulai. Proses pengujian berfokus
pada logika internal software, memastikan bahwa semua pernyataan sudah
diuji, dan pada eksternal fungsional, yaitu mengarahkan pengujian untuk
menemukan kesalahan – kesalahan dan memastikan bahwa input yang dibatasi
akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.
6 Pemeliharaan
Software
akan mengalami perubahan setelah disampaikan kepada pelanggan
(perkecualian yang mungkin adalah software yangdilekatkan). Perubahan
akan terjadi karena kesalahan – kesalahan ditentukan, karena software
harus disesuaikan untuk mengakomodasi perubahan – perubahan di dalam
lingkungan eksternalnya (contohnya perubahan yang dibutuhkan sebagai
akibat dari perangkat peripheral atau sistem operasi yang baru), atau
karena pelanggan membutuhkan perkembangan fungsional atau unjuk kerja.
Pemeliharaan software mengaplikasikan lagi setiap fase program
sebelumnya dan tidak membuat yang baru lagi.
KEKURANGAN MODEL SEKUENSIAL LINEAR
Masalah yang kadang terjadi ketika model sekuensial linier diaplikasikan adalah :
1. Jarang
sekali proyek nyata mengikuti aliran sekuensial yang dianjurkan oleh
model. Meskipun model linier bisa mengakomodasi iterasi, model ini
melakukannya dengan cara tidak langsung. Sebagai hasilnya, perubahan –
perubahan dapat menyebabkan keraguan pada saat tim proyek berjalan.
2. Kadang
– kadang sulit bagi pelanggan untuk menyatakan semua kebutuhannya
secara eksplisit. Model linier sekuensial memerlukan halini dan
mengalami kesulitan untuk mengakomodasi ketidakpastiannatural yang ada
pada bagian awal beberapa proyek.
3. Pelanggan
harus bersifat sabar. Sebuah versi kerja dari program – program kerja
itu tidak akan diperoleh sampai akhir waktu proyek dilalui. Sebuah
kesalahan besar, jika tidak terdeteksi sampai program yang bekerja
tersebut dikaji ulang, bisa menjadi petaka.
4. Pengembang sering melakukan penundan yang tidak perlu. Sifat alami dari siklus kehidupan klasik membawa kepada blocking state di
mana banyak anggota tim proyek harus menunggu tim yang lain untuk
melengkapi tugas yang saling memiliki ketergantungan. Blocking state
cenderung menjadi lebih lazim pada awal dan akhir sebuah proses
sekuensial linier.
KELEBIHAN MODEL SEKUENSIL LINIER
1. software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
2. Document
pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.
FASE MODEL AIR TERJUN (waterfall ) :
1. Analisis kebutuhan dan pendefinisiannya.
2. Perancangan sistem dan perangkat lunak.
3. Implementasi dan unit testing
4. Integrasi dan pengujian sistem
5. Pengoperasian dan perawatan.
Proses kembali ke state sebelumnya untuk mengantisipasi perubahan setelah proses menuju ke suatu state dibawahnya adalah sangat sulit.