Ahmad Dliyaul F (14120046)
PROGRAM
STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS
WIJAYA KUSUMA SURABAYA
2015
Ada beberapa model proses perangkat
lunak yang biasa digunakan sesuai dengan kondisi-kondisi tertentu, di
antaranya:
1. Linear sequential Model (Model
Sekuensial Linear)/Model Waterfall
Model ini adalah model klasik yang mengusung
pengembangan perangkat lunak yang sistematis, berurutan/sekuensial
dimulai pada tingkat dan kemajuan system pada seluruh persyaratan dalam
analisis, perancangan (desain), pengkodean, pengujian (testing), hingga ke
tahap pemeliharaan dalam membangun software (perangkat lunak). Berikut ini
gambaran dari Linear Sequential Model / waterfall model.
Gambar
1. The linear sequential model
Pada setiap tahapan dianalogikan bak air yang mengalir dari
tempat tinggi ke tempat yang lebih rendah, artinya sebuah proses baru bias
dilanjutkan setelah satu tahap awal selesai dengan sempurna.
Penjelasan tentang setiap tahapan dapat diringkas sebagai
berikut:
Tahap
analisis: pada
tahap ini berlangsung proses pengumpulan kebutuhan secara lengkap untuk
dianalisis dan didefinisikan kebutuhan apa saja yang harus dipenuhi oleh
program yang akan dibuat, seperti memahami domain permasalahan, tingkah laku,
unjuk kerja dan interface (antar muka).
Tahap
desain:
proses ini melibatkan empat atribut sebuah program yaitu struktur data,
arsitektur, perangkat lunak, representasi interface, dan detail (algoritma)
prosedural.
Tahap
pengkodean:
proses penterjemahan desain ke dalam bentuk bahasa mesin yang dapat dilakukan
secara mekanis.
Tahap
pengujian:
proses ini dikerjakan setelah kode dirancang dan difokuskan pada fungsi dan
jumlah kesalahan untuk diperbaiki.
Tahap
pemeliharaan:
meliputi penyesuaian atau perubahan yang berkembang seiring dengan adaptasi
perangkat lunak dengan kondisi atau situasi sebenarnya setelah disampaikan
kepada konsumen atau pelanggan.
Kelebihan metode ini antara lain mudah diaplikasikan
karena urutan-urutan pengerjaan sudah sering dipakai; selain itu juga cocok
untuk software berskala besar dan yang bersifat umum; yang paling penting,
karena langkah-langkahnya sangat sekuensial, pengerjaan proyek akan mudah
dikontrol dan terjadwal dengan baik.
Namun, terdapat pula beberapa
kelemahan yang
menjadi kekurangan dari metode waterfall ini, seperti kurang fleksibel,
dikarenakan rincian prosesnya harus benar-benar jelas dan tidak boleh
diubah-ubah. Apabila dikerjakan dengan melampaui tahap yang seharusnya maka
proses desain yang sebelumnya itu akan berubah total dan memakan waktu yang
banyak jika harus mengulang proses.
Model waterfal ini sangat sesuai
digunakan dalam
pengembangan sistem perangkat lunak dan hardware yang luas dan apabila
kebutuhan pengguna telah dimengerti dengan baik. Selain itu, juga apabila waktu
yang tersedia juga masih cukup banyak.
2. Prototyping Model
Metode ini menyajikan gambaran yang
lengkap dari sistem, 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.
Gambar
2. Prototyping Model
Secara ringkas, tahapan-tahapan dalam model prototyping
adalah:
Tahap
Pengumpulan kebutuhan:
pada tahap ini, pelanggan dan pengembang saling bantu dalam mendefinisikan
format seluruh perangkat lunak, menentukan keperluan dan garis besar sistem
yang akan dirancang.
Tahap
Quick design:
membangun rancangan global sebagai contoh bagi user
Tahap
Pembangunan Prototipe:
proses perancangan sementara yang fokusnya kepada penyajian kepada pelanggan,
termasuk pengujian dan penyempurnaan.
Tahap
Evaluasi Pelanggan:
di mana pelanggan melakukan pengujian terhadap prototipe yang ada dan
pengembang memperhalus analisis kebutuhan pemakai.
Tahap
Pembuatan dan Implementasi: tahap ini termasuk proses desain (rancang), pengkodean dan
testing.
Keunggulan model ini adalah sifatnya yang sangat
interaktif sehingga pengembang dan pengguna (pemakai) dapat terus berinteraksi
selama pengerjaan tahapan–tahapan tersebut. Peran aktif pemakai ini
dapat menghemat waktu dalam pengembangan sistem dan bila terdapat kesalahan
atau ketidaksesuaian keinginan, pemakai dapat segera memberitahukannya sehingga
pengembang dapat secepatnya melakukan penyesuaian.
Kelemahan model ini antara lain, akibat adanya quick
design, kadang pemakai tidak menyadari bahwa perangkat lunak yang
ditunjukkan masih berupa blue print sehingga tidak ada jaminan terhadap
kualitas secara keseluruhan dan pemeliharaan jangka panjangnya. Dari sisi
pengembang, karena ingin menyegerakan selesainya proyek, sering menggunakan
bahasa pemrograman yang sederhana dalam membuat prototipe tanpa memikirkan
lebih lanjut program yang lebih kompleks untuk membangun sistem yang
sebenarnya.
Model Prototyping ini sangat sesuai
diterapkan untuk
kondisi yang beresiko tinggi di mana masalah-masalah 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.
3. RAD Model (Rapid Aplication
Development)
RAD adalah proses pembangunan
Perangkat Lunak yang menekankan pada siklus pengembangan yang pendek dan
singkat. Model ini mengawinkan model waterfall dan model component based
construction.
Gambar
3. Model RAD
Secara ringkas, tahapan-tahapan RAD
adalah sebagai berikut.
Tahap
Pemodelan Bisnis:
dibuat agar dapat menjawab pertanyaan-pertanyaan berikut: informasi apa yang
mengontrol proses bisnis? Informasi apa yang didapat? Siapa yang
mendapatkannya? Untuk siapa informasi itu ditujukan? Siapa yang akan
memprosesnya?
Tahap
Pemodelan Data:
informasi-informasi yang dipadu dari pemodelan bisnis dipilah-pilah ke menjadi
sekumpulan objek data yang masing-masing objek diidentifikasikan dan ditentukan
hubungan antara objek-objek tersebut.
Tahap
Pemodelan Proses:
aliran informasi yang didapat dalam proses pemodelan data diolah sedemikian
untuk dapat menopang fungsi-fungsi bisnis. Prosesnya dikreasikan untuk
menambah, memodifikasi, menghapus dan atau mendapatkan kembali sebuah objek
data.
Tahap
Pembuatan Aplikasi:
RAD dapat saja memakai kembali komponen program yang sudah ada bila
dimungkinkan, atau membuat komponen yang dapat digunakan lagi bila diperlukan
di masa mendatang. RAD juga diasumsikan menggunakan teknik generasi keempat
(4GT).
Tahap
Pengujian dan Pergantian: Proses RAD menekankan pada pemakaian kembali yang
memungkinkan berkurangnya keseluruhan waktu pengujian, namun komponen harus
diuji dan harus dilatih secara penuh dan terintegrasi.
Kelebihan model RAD: tahap-tahap RAD membuatnya mampu
untuk menggunakan kembali komponen yang ada (reusable object), karena setiap
komponen software dikerjakan secara terpisah dengan tim-tim tersendiri sehingga
dapat digunakan juga untuk aplikasi lain yang pada akhirnya akan menghemat
waktu. Penggunaan tim yang terpisah untuk mengerjakan pekerjaan yang
berbeda membuat pekerjaan lebih cepat dalam proses integrasi dan efisien
terhadap waktu tanpa mengacaukan aplikasi.
Kelemahan model RAD: Tidak begitu cocok untuk proyek
dengan skala besar karena dibutuhkan sumber daya manusia yang semakin banyak
seiring dengan semakin banyaknya komponen yang dikerjakan, selain itu, semakin
besar proyek, semakin kompleks pula koordinasi yang dibutuhkan. Dalam
waktu yang singkat, rasanya sulit untuk pengembang dan pemakai berkomitmen
untuk melaksanakan berbagai kegiatan untuk melengkapi sistem. Apalagi bila
sistem ternyata tidak dapat dimodularisasi sementara sistem mempunyai resiko
teknik yang tinggi.
Model RAD sangat tepat diterapkan
untuk sistem
yang telah jelas dan lengkap kebutuhannya, di mana terdapat komponen-komponen
yang dapat dipakai kembali dalam proyek yang berskala kecil dengan waktu
pengembangan perangkat lunak yang singkat.
4. Evolutionary software process model,
terbagi dua:
4A. Incremental Model
Model ini merupakan hasil kombinasi elemen-elemen dari model
waterfall yang diaplikasikan secara berulang. Elemen-elemen tersebut dikerjakan
hingga menghasilkan produk dengan spesifikasi tertentu kemudian proses dimulai
dari awal kembali hingga muncul hasil yang spesifikasinya lebih lengkap dari
sebelumnya dan tentunya memenuhi kebutuhan pemakai.
Gambar
4. Incremental Model
Kelebihan model ini
adalah mampu mengakomodasi perubahan secara fleksibel, dengan waktu yang
relatif singkat dan tidak dibutuhkan anggota/tim yang banyak untuk
menjalankannya.
Kekurangannya adalah tidak cocok untuk proyek
berukuran besar (lebih dari 200.000 baris coding) dan sulit untuk memetakan
kebutuhan pemakai ke dalam rencana spesifikasi tiap-tiap hasil dari increament.
Model ini cocok dipakai untuk proyek kecil dengan anggota tim
yang sedikit dan ketersediaan waktu yang terbatas.
4B. Spiral Model/Spiral Boehm
Model ini mengadaptasi dua model
perangkat lunak yang ada yaitu model prototyping dengan pengulangannya dan
model waterfall dengan pengendalian dan sistematikanya. Model ini dikenal
dengan sebutan Spiral Boehm. Pengembang dalam model ini memadupadankan beberapa
model umum tersebut untuk menghasilkan produk khusus atau untuk menjawab
persoalan-persoalan tertentu selama proses pengerjaan proyek.
Gambar
5. Model Spiral Boehm
Tahap-tahap model ini dapat dijelaskan secara
ringkas sebagai berikut.
Tahap
Liason:
pada tahap ini dibangun komunikasi yang baik dengan calon pengguna/pemakai
Tahap
Planning (perencanaan):
pada tahap ini ditentukan sumber-sumber informasi, batas waktu dan
informasi-informasi yang dapat menjelaskan proyek.
Tahap
Analisis Resiko:
mendefinisikan resiko, menentukan apa saja yang menjadi resiko baik teknis
maupun manajemen.
Tahap
Rekayasa (engineering):
pembuatan prototipe
Tahap
Konstruksi dan Pelepasan (release): pada tahap ini dilakukan pembangunan perangkat lunak yang
dimaksud, diuji, diinstal dan diberikan sokongan-sokongan tambahan untuk
keberhasilan proyek.
Tahap
Evaluasi:
Pelanggan/pemakai/pengguna biasanya memberikan masukan berdasarkan hasil yang
didapat dari tahap engineering dan instalasi.
Kelebihan model ini adalah sangat mempertimbangkan
resiko kemungkinan munculnya kesalahan sehingga sangat dapat diandalkan untuk
pengembangan perangkat lunak skala besar. Pendekatan model ini dilakukan
melalui tahapan-tahapan yang sangat baik dengan menggabungkan model waterfall
ditambah dengan pengulangan-pengulangan sehingga lebih realistis untuk
mencerminkan keadaan sebenarnya. Baik pengembang maupun pemakai dapat cepat
mengetahui letak kekurangan dan kesalahan dari sistem karena proses-prosesnya
dapat diamati dengan baik.
Kekurangan model ini adalah waktu yang dibutuhkan untuk
mengembangkan perangkat lunak cukup panjang demikian juga biaya yang besar.
Selain itu, sangat tergantung kepada tenaga ahli yang dapat memperkirakan
resiko. Terdapat pula kesulitan untuk mengontrol proses. Sampai saat ini,
karena masih relatif baru, belum ada bukti apakah metode ini cukup handal untuk
diterapkan.
Model Boehm sangat cocok diterapkan
untuk pengembangan
sistem dan perangkat lunak skala besar di mana pengembang dan pemakai dapat
lebih mudah memahami kondisi pada setiap tahapan dan bereaksi terhadap
kemungkinan terjadinya kesalahan. Selain itu, diharapkan juga waktu dan dana
yang tersedia cukup memadai.
5. Component Assembly Model
(CAM/Model Perakitan Komponen)
Model ini merupakan gabungan dari
berbagai sifat dan karakter dari model spiral Boehm dan sangat erat
keterikatannya dengan model RAD (Rapid Application Development) model karena
model CAM ini menggunakan peralatan-peralatan dan GUI (Graphic User Interface)
untuk membangun software. Dengan kata lain, pembuatan aplikasinya dibuat dari
paket perangkat lunak yang berisi serangkaian komponen yang telah ada
sebelumnya. Namun, waktu yang dibutuhkan dapat disesuaikan atau lebih efektif
ketimbang harus mengerjakan program dari awal.
Gambar
6. CAM
Tahapan-tahapan
Model ini adalah:
Tahap Identifikasi calon-calon komponen (kelas objek); Tahap
melihat komponen-komponen dalam pustaka; Tahap mengekstrak komponen jika ada;
Tahap membangun komponen jika tidak ada; Tahap menyimpan komponen baru pada
pustaka; Tahap mengkonstruksi iterasi ke-n dari sistem.
Kelebihan model ini adalah tinggal mencaplok atau
menggunakan program atau komponen yang sudah ada dan menyusunnya menjadi sebuah
program yang lebih kompleks dan berkembang sesuai dengan kebutuhan
user/pengguna sehingga dapat mengefisienkan penggunaan waktu dan tenaga.
Selain itu, model ini juga menyediakan kemampuan untuk memvisualisasikan
hasil rakitan dengan kesanggupan untuk mengukur, menganalisa, merancang dan
merancang ulang program.
Kekurangan model ini adalah seringnya program atau
komponen-komponen terdahulu tidak kompatibel atau sejalan dengan model
perakitan komponen ini sehingga untuk perusahaan berskala kecil akan kesulitan
menemukan komponen yang sesuai untuk dirakit.
Model ini sangat sesuai digunakan oleh perusahaan besar
yang sudah berpengalaman mengembangkan software. Mereka dapat memanfaatkan
software-software yang telah umum dikembangkan sebelumnya menjadi bentuk baru
dari software yang ingin dikomersilkan.
6. The Concurrent Development
Model
Model ini disebut juga dengan
concurrent engineering yang dapat digambarkan secara skematik sebagai serial
dari kegiatan teknis utama, tugas-tugas, dan hubungan antar bagian-bagian yang
saling terkait di mana aktifitas
analisa seperti desain/rancangan atau komunikasi pelanggan dapat diskemakan
dengan cara yang sama.
Gambar
7. The Concurrent Development Model
Concurrent process model cocok digunakan untuk pengembangan
aplikasi client/server yang terdiri atas satu set komponen yang fungsional.
Terdapat dua dimensi aktivitas yang digambarkan oleh model ini sebagai berikut.
Dimensi sistem: terdapat tiga proses di dalamnya
yakni perancangan, perakitan (assembly) dan penggunaan (use).
Dimensi komponen: terdapat dua kegiatan utama yaitu
perancangan dan realisasi.
Concurrency (pertemuan) dapat diperoleh dengan dua cara: 1)
sistem dan komponen kegiatan (aktifitas) terjadi secara simultan dan dapat
diperagakan dengan memanfaatkan pendekatan yang berdasar pada status
sebelumnya; 2) aplikasi client/server yang bersifat unik/khas di mana dapat
diterapkan pada banyak komponen yang tiap-tiap komponen bisa dirancang dan
direalisasikan secara serentak.
7. Formal Method Models
Pada model ini, digunakan notasi matematika yang terperinci
dan penuh ketelitian dalam mengidentifikasi desain dan menguji sistem yang
berbasis komputer. Metode ini sering dipakai untuk spesifikasi yang detail,
rancangan dan verifikasi pada bagian-bagian sistem yang penting (bersifat
kritikal) seperti pada sistem avionic dan aerospace, serta pada sistem keamanan
yang kritikal pada monitor jantung, ATM (Anjungan Tunai Mandiri) dan pada
perbankan.
Secara khusus, metode formal sangat cocok dijalankan
pada sistem yang kompleks.
8. Fourth Generation
Techniques/Model Teknik Generasi ke-4/4GT
Gambar 8. Model Teknik Generasi ke-4
Istilah Fourth Generation Techniques (4GT) mencakup seperangkat peralatan
perangkat lunak yang berfungsi sebagai perangkat bantu yang memudahkan seorang
pengembang software mengaplikasi beberapa karakteristik software pada tingkat
yang tinggi, yang akan menghasilkan source code dan object code
secara otomatis sesuai dengan spesifikasi (persyaratan khusus) yang dibuat oleh
sang pengembang perangkat lunak.
Dewasa
ini, 4GT tools dipakai sebagai bahasa non prosedur untuk DataBase Query,
Pembentukan laporan (Report Generation), Manipulasi data, Definisi dan
interaksi layar (screen), Pembentukan object dan source ( Object
and source generation ), Kemampuan grafik yang tinggi, dan Kemampuan
spreadsheet.
Tahapan-tahapan model 4GT dapat
diringkas sebagai berikut.
Tahap
Pengumpulan Kebutuhan:
tahap ini dimulai dengan mengumpulkan serangkaian kebutuhan yang nantinya akan
diterjemahkan ke dalam prototipe. Namun, apabila pelanggan tidak yakin dengan
apa yang diperlukan dan fakta-fakta tidak jelas diketahui maka prototipe tidak
dapat dikerjakan oleh peralatan 4GT.
Tahap
Merancang Strategi:
tahap ini dibutuhkan untuk proyek besar yakni dengan menterjemahkan kebutuhan
menjadi prototipe operasional agar tidak timbul masalah yang sama jika
dibuat dengan model konvensional. Namun, untuk proyek skala kecil tahap ini
dapat dihilangkan dengan langsung melakukan implementasi dengan
menggunakan bahasa generasi keempat (4GT).
Tahap
Implementasi Menggunakan Bahasa Keempat: untuk skala kecil tahap ini dapat langsung dilakukan ketika
kebutuhan telah jelas, dan untuk proyek besar tahapan ini dijalankan setelah
dirancang prototipe operasional. Implementasi yang menggunakan 4GT memudahkan
pengembang software untuk menjelaskan hasil yang diharapkan yang nantinya akan
diterjemahkan ke dalam bentuk kode sumber dan kode objek.
Tahap
Produksi:
Tahap ini merupakan langkah terakhir yakni mengubah implementasi 4GT ke
dalam hasil akhir berupa produk.
Kelebihan model ini adalah pengurangan waktu dan
peningkatan produktivitas yang besar.
Kekurangan model ini adalah kemungkinan akan sulit
memanfaatkan alat bantu/peralatan/tools 4GT dibandingkan dengan menggunakan
bahasa pemrograman yang konvensional, selain itu terdapat juga masalah dalam
hal kode sumber yang tidak efisien. Di samping itu, pemeliharaan sistem
software besar yang dikembangkan oleh 4GT juga masih sedang dalam proses
pengkajian.
Model ini diaplikasikan untuk mengembangkan perangkat lunak yang
memakai bentuk bahasa khusus atau notasi grafik yang dieksekusi/diselesaikan
dengan syarat atau ketentuan yang dipahami oleh pemakai/pengguna/kustomer.
Referensi:
https://roysarimilda.wordpress.com/2012/05/08/macam-macam-model-proses-rpl-dan penyelesaian-kasus/
http://fananiagung.blogspot.co.id/2014/09/model-proses-perangkat-lunak.html#.VgIvnayzCZl
Soal
1. Ada beberapa model proses yang dapat digunakan untuk mengembangkan perangkat lunak. Jelaskan apa yang dimaksud dengan model-model proses berikut:
a. Waterfall
b. Prototyping
c. RAD
d. Incremental
e. Spiral
2. Pada saat atau kondisi yang bagaimana masing-masing pendekatan tersebut digunakan untuk menyelesaikan pengembangan perangkat lunak? Berilah contoh untuk melengkapi jawaban anda!
Jawaban
1. A. Model Waterfall ini adalah model klasik yang mengusung pengembangan perangkat lunak yang sistematis, berurutan/sekuensial dimulai pada tingkat dan kemajuan system pada seluruh persyaratan dalam analisis, perancangan (desain), pengkodean, pengujian (testing), hingga ke tahap pemeliharaan dalam membangun software (perangkat lunak)
B. Prototyping pada model ini pengembang dan pelanggan bertemu dan menentukan tujuan keseluruhan untuk perangkat lunak dan mengidentifikasi persyaratan apa saja yang diketahui. Sebuah “desain cepat” kemudian terjadi. Desain cepat berfokus pada representasi dari aspek-aspek perangkat lunak yang akan terlihat oleh pengguna
C. RAD adalah proses pembangunan Perangkat Lunak yang menekankan pada siklus pengembangan yang pendek dan singkat. Model ini mengawinkan model waterfall dan model component based construction.
D. Model Incremental ini merupakan hasil kombinasi elemen-elemen dari model waterfall yang diaplikasikan secara berulang. Elemen-elemen tersebut dikerjakan hingga menghasilkan produk dengan spesifikasi tertentu kemudian proses dimulai dari awal kembali hingga muncul hasil yang spesifikasinya lebih lengkap dari sebelumnya dan tentunya memenuhi kebutuhan pemakai.
E. Model Spiral ini memiliki sifat interatif yaitu sifat yang ditandai dengan kemungkinan suatu perangkat lunak dikembangkan versinya secara bertahap untuk menghasilkan perangkat lunak yang lengkap dan terkontrol.
2. A. Waterfall : Model pengembangan waterfall ini sangat cocok digunakan pada sudah jelas kebutuhannya pada saat awal pengembangan perangkat lunak. Sehingga akan lebih mudah untuk melanjutkan proses pengembangan ke tahap berikutnya. Dan akan meminimalisir tingkat kesalahan
B. Prototyping : 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).
C. RAD : RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object) sehingga pengembang - pengembang tidak perlu membuat dari awal lagi dan waktu lebih singkat
D. Incremental : metode incremental banyak digunakan untuk proyek dengan teknologi yang membutuhkan jadwal pengembangan yang panjang, manajemen sederhana serta resiko yang rendah, tahapan tahapan tersebut dilakukan secara berurutan.
E. Spiral : Model spiral menjadi pendekatan yang realistis bagi perkembangan system dan perangkat lunak skala besar. Karena perangkat lunak terus bekerja selama proses bergerak, pengembang dan pemakai memahami, dan bereaksi lebih baik terhadap resiko dari Setiap tingkat evolusi
Untuk Mendownload file yang di sini :