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
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. Waterfall b. Rad
c. Prototyping d. Incremental e. 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.
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 Kelamahan Metode Waterfall a. Ketidakflesibelan antar tahapan
b. Susah dalam memrespon perubahan kebutuhan costumer c. Model ini hanya cocok jika:
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
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.
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
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
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 Tahapan Model Incremental
1 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.
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
Perencanaanann
Analisis resiko
Perekayasaan
Evaluasi pelanggan Konstruksi dan peluncuran Komunikasi
pelanggan
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.
2. Perbedaan Model Pengembangan Perangkat Lunak dengan Waterfall, Rad, Prototyping, Incremental, dan Spiral
Model Sistem Kerja Penekanan Konsep Pendekatan
Waterfall
Proyek dibagi menjadi beberapa fase yang berurutam, dengan beberapa tumpang tindih dan splashback diterima antar fase.
Penekanan pad perencanaan, jadwal waktu, tanggal target, dan
implementasi dari
keseluruhan system pada satu waktu.
Control ketat dijaga selama umur proyek melalui dokumentasi tertulis yang luas, review formal dan persetujuan oleh pengguna dan manajemen informasi teknologi yang terjadi pada akhir fase yang belum memulai tahap berikutnya hampir sama dengan model waterfall, bedanya siklus pengembangan yang ditempuh model ini sangat pendek dengan penerapan teknik yang cepat.
RAD
menekankan pada siklus pembangunan pendek, singkat, dan cepat.
Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem
Prototyping
Upaya
untukmengura ngi risiko proyek yang melekat dengan memecah proyek ke dalam segmen yang lebih kecil dan updari sistem yangdibentuk setelah
melalui proses berulang-yang lebih besar yang lebih
persyaratan, dan desain arsitektur didefenisikan
kepentingan dan kondisi menang
mereka, dan
mengakhiri setiap siklus dengan
mengatasi resiko.
Mengembang
kan dan
memferivikasi kiriman dari iterasi.
Merencanaka
n iterasi
berikutnya
riview dan