0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan16 halaman

Metode dan Model Pengembangan Software

Dokumen ini membahas beberapa metode pengembangan perangkat lunak dan model pengembangan sistem perangkat lunak seperti Agile, Waterfall, Scrum, dan RUP. Dokumen ini juga membandingkan kelebihan dan kekurangan dari masing-masing metode pengembangan perangkat lunak.

Diunggah oleh

Mario Palinggi
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan16 halaman

Metode dan Model Pengembangan Software

Dokumen ini membahas beberapa metode pengembangan perangkat lunak dan model pengembangan sistem perangkat lunak seperti Agile, Waterfall, Scrum, dan RUP. Dokumen ini juga membandingkan kelebihan dan kekurangan dari masing-masing metode pengembangan perangkat lunak.

Diunggah oleh

Mario Palinggi
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

Dosen : Hardiana,[Link].,M.M.

Tugas : 1
Mata Kuliah: Rekayasa Perangkat Lunak

Metode pengembangan, Model pengembangan, Proses Rekayasa


Perangkat lunak dan Pemodelan Sistem perangkat lunak

Nim : 2304411804
Nama : Nisa Unnafiah
Kelas : 2T

PRODI INFORMATIKA
FAKULTAS TEKNIK INFORMATIKA
UNIVERSITAS COKROAMINOTO PALOPO
2024
A. Metode Pengembangan Software: kelebihan dan kekurangan
Apa Itu Metode Pengembangan Software?
Metode pengembangan software merupakan sebuah prosedur, teknik, atau langkah
yang dilakukan oleh tim pengembang software agar proses pengerjaan sebuah software bisa
lebih terorganisir dan terstruktur. Tujuan dari penggunaan metode ini adalah untuk
memberikan pendekatan sistematis terhadap pengembangan suatu software.

5 Jenis Metode Pengembangan Software


1. Metodologi Pengembangan Agile (Agile Development Methodology)
Agile methodology merupakan salah satu jenis metode pengembangan software yang
paling populer dan banyak digunakan oleh software house. Metode yang satu ini berfokus
pada memuaskan pengguna daripada menekankan prosedur dan dokumentasi yang kaku.
Tugas dalam proyek pengembangan software dipecah menjadi sprint singkat dalam
agile methodology. Metode ini merupakan model iteratif yang melibatkan banyak pengujian
saat proses pengembangan berlangsung. Prioritas utama dalam metode ini adalah komunikasi
antara pengguna, pelanggan, dan pengembang.
Kelebihan:
 Minimalnya muncul kecacatan pada software yang dibuat
 Adanya kejelasan komunikasi antara tim pengembang software dan pelanggan
 Kemudahan mengubah persyaratan proyek yang hanya akan berdampak sedikit pada
waktu pengembangan
 Software yang dihasilkan merupakan software berkualitas yang sesuai dengan
kebutuhan penggunanya
Kekurangan:
 Tim pengembang terkadang dapat kehilangan fokus karena banyaknya permintaan
perubahan
 Dokumentasi bukan salah satu fokus utama sehingga dapat menjadi masalah nantinya
di kemudian hari
 Diskusi dan komunikasi dalam metode ini dapat memakan waktu terlalu lama

2. Metodologi Pengembangan Waterfall (Waterfall Development Methodology)


Jenis metode pengembangan software yang kedua yaitu Waterfall Development
Methodology atau metode air terjun. Metode ini merupakan metode linier sederhana di mana
tahap-tahap pengembangan software diatur ke dalam proses berurutan dan berjenjang.
Waterfall Development Methodology sangat populer di kalangan tim pengembang
karena metode ini mudah dipahami. Setiap tahap dalam metode ini harus diselesaikan terlebih
dahulu sebelum dilanjutkan ke tahap berikutnya. Sama seperti namanya, air terjun yang
mengalir satu area, tidak ada jalan mundur atau kembali ke tahap sebelumnya dalam metode
ini.
Kelebihan:
 Linearitas metode ini mudah dipahami oleh pengembang software baru
 spesifikasi dan kebutuhan sudah lebih dulu dijabarkan sebelum kegiatan
pengembangan dimulai
 Tidak adanya miskomunikasi informasi karena semuanya sudah dijelaskan di setiap
tahap
Kekurangan:
 Tingginya risiko penyimpangan proyek dari target karena tidak adanya feedback dari
pelanggan pada fase awal
 Muncul banyak masalah yang lebih sulit untuk diperbaiki pada tahap selanjutnya
karena pengujian hanya dilakukan pada akhir pengembangan
 Metode ini cenderung kaku sehingga tidak ada ruang untuk perubahan dan tidak
cocok untuk proyek pengembangan software yang kompleks
 Tim pengembang menghabiskan terlalu banyak waktu pada dokumentasi daripada
memberikan solusi untuk menyelesaikan masalah pengguna software-nya

3. Metodologi Pengembangan Lean (Lean Development)


Lean Development merupakan salah satu metode pengembangan software yang lahir
dari prinsip manufaktur lean Toyota. Metode ini berfokus pada meminimalkan pemborosan
dan meningkatkan produktivitas, serta menekankan pada pembelajaran berkelanjutan dan
penundaan keputusan.
Metode lean membuat tim pengembang software tetap berpikiran terbuka selama
proses pengembangan dan mempertimbangkan semua faktor sebelum membuat keputusan.
Komunikasi adalah kunci untuk meningkatkan kolaborasi tim dalam metode ini.
Kelebihan:
 Berkurangnya pemborosan dalam proyek seperti tugas berulang, dokumentasi yang
tidak perlu, dan juga kode yang berlebihan
 Biaya pengembangan software dapat ditekan dan dikurangi dengan metode ini
 Meningkatnya efisiensi dalam proses pengembangan
 Peningkatan motivasi di antara anggota tim pengembang untuk mengembangkan
software yang berkualitas
Kekurangan:
 Membutuhkan anggota tim pengembang yang sangat terampil yang biasanya sulit
untuk disatukan
 Tingginya risiko kehilangan fokus pada proyek jika dilakukan oleh tim pengembang
yang kurang terampil
 Kebutuhan akan dokumentasi yang terperinci, sebuah beban besar bagi analis bisnis
4. Model Prototipe (Prototype Model)
Penggunaan model prototipe pada pengembangan software memungkinkan tim
pengembang untuk mengerjakan versi prototipe dari produk akhir alih-alih mengembangkan
software yang lengkap. Prototipe ini dapat digunakan untuk pengujian, evaluasi, dan
feedback pelanggan.
Model prototipe merupakan metode dengan evaluasi yang ketat untuk mengungkap
kemungkinan adanya permasalahan sebelum proses pengembangan yang sebenarnya dimulai.
Keberhasilan pengembangan software dengan model ini ditentukan oleh seberapa baik tim
pengembang berkomunikasi dengan pelanggan dalam melakukan pengujian.
Kelebihan:
 Metode ini baik digunakan untuk menyelesaikan masalah yang sering muncul dalam
tahap awal pengembangan software sehingga dapat mengurangi risiko kegagalan
produk
 Memastikan pelanggan puas dan juga senang dengan contoh produk yang akan dibuat
sebelum dilakukannya proses pengembangan yang sebenarnya
 Hubungan baik dengan pelanggan dapat dibangun sejak awal diskusi
 Terkumpulnya informasi detail lewat prototipe yang nantinya dapat digunakan dalam
membangun software versi akhir
Kekurangan:
 Pengujian prototipe yang berlebihan dapat menunda waktu pengembangan software
yang sebenarnya
 Harapan pelanggan terhadap actual product bisa tidak sesuai dengan prototipe-nya
 Tingginya risiko pengeluaran berlebih terkait biaya karena pengerjaan prototipe sering
kali dibiayai oleh pengembang

5. Metodologi Pengembangan Scrum (Scrum Development)


Scrum merupakan salah satu metodologi pengembangan software yang paling
fleksibel. Metode ini didasarkan pada filosofi Agile dan banyak disukai oleh pengembang
karena pendekatan inkremental dan iteratifnya. Scrum melibatkan pemilik produk, ketua
scrum, dan tim pengembang.
Pemilik produk dalam metode ini biasanya akan menerima masukan dari klien dan
memastikan bahwa tim pengembang berada di jalur yang tepat dalam memenuhi kebutuhan
klien. Ketua scrum atau scrum master bertugas sebagai fasilitator dan memastikan bahwa
anggota tim pengembang sudah terbiasa dengan proses dalam metode scrum.
Kelebihan:
 Metode ini sangat responsif terhadap perubahan
 Ekonomis dan efektif
 Adanya rapat rutin yang dilaksanakan dalam periode waktu tertentu sehingga anggota
tim pengembang bekerja sesuai dengan tugasnya
 Kontribusi dari masing-masing anggota tim pengambang diperhatikan dan diapresiasi
melalui pertemuan scrum
Kekurangan:
 Semua anggota tim harus memiliki keahlian dan komitmen yang sama
 Rapat rutin dapat menguras lebih banyak tenaga
 Tidak adanya kontrol ketat pada deadline
 Tidak cocok untuk proyek besar
Sumber:

B. Model Pengembangan Perangkat Lunak dalam Dunia Software


Engineering
Terdapat bermacam-macam model pengembangan perangkat lunak, contohnya adalah
Rational Unified Process (RUP), Extreme Programming (XP), Agile Modeling, dan Scrum.
1. Rational Unified Process (RUP)
Rational Unified Process (RUP) merupakan suatu model pengembangan sistem secara
objek oriented yang dikembangkan oleh Rational Rose, bagian dari IBM. Secara luas, RUP
telah diakui sebagai standar metodologi pengembangan sistem berorientasi objek. Vesri asli
dari RUP didefinisikan sangat rumit untuk setiap kegiatan, namun versi terbaru dari RUP
yakni metodologinya lebih sederhana. Ciri utama metode ini adalah menggunakan use-case
driven dan pendekatan iteratif untuk siklus pengembangan perangkat lunak.
>> RUP tepat digunakan saat kondisi :
a. Pengembangan perangkat lunak yang berorientasi objek dengan berfokus pada UML
(Unified Modeling Language).
b. Mempunyai waktu pengembangan yang panjang.
c. Dikembangkan pada perangkat lunak sebagai sarana interaksi antara pengguna dan
perangkat keras.
d. Mempunyai tim programmer yang cukup banyak.
e. Pengembangan dan perubahan perangkat lunak berdasarkan kebutuhan user.

>> Keuntungan Pengembangan Perangkat Lunak RUP :


a. Menyediakan akses yang mudah terhadap pengetahuan dasar bagi anggota tim.
b. Menyediakan petunjuk bagaimana menggunakan UML secara efektif.
c. Mendukung proses pengulangan dalam pengembangan software.
d. Memungkinkan adanya penambahan-penambahan pada proses.
e. Memungkinkan untuk secara sistematis mengontrol perubahan-perubahan yang terjadi
pada software selama proses pengembangannya.
f. Memungkinkan untuk menjalankan test case dengan menggunakan Rational Test
Manager Tool
>> Kekurangan Pengembangan Perangkat Lunak RUP :
a. Metodologi ini hanya dapat digunakan pada pengembangan perangkat lunak yang
berorientasi objek dengan berfokus pada UML (Unified Modeling Language).
b. Membutuhkan waktu yang cukup lama dibandingkan XP dan Scrum

2. Extreme Programming (XP)


XP merupakan suatu model yang tergolong dalam pendekatan agile yang diusulkan
oleh Kent Back. Menurut penjelasannya, definisi XP adalah sebagai berikut: “Extreme
Programming (XP) is a lightweight, efficient, low-risk, flexible, predictable, scientific, and
fun way to develop software”. Model ini cenderung menggunakan pendekatan Object-
Oriented serta tahapan-tahapan yang harus dilalui antara lain: Planning, Design, Coding, dan
Testing. Sasaran Extreme Programming adalah tim yang dibentuk berukuran antara kecil
sampai medium saja, tidak perlu menggunakan sebuah tim yang besar. Hal ini dimaksudkan
untuk menghadapi requirements yang tidak jelas maupun terjadinya perubahan-perubahan
requirements yang sangat cepat. Extreme Programming merupakan agile methods yang
paling banyak digunakan dan menjadi sebuah pendekatan yang sangat terkenal.
>> XP tepat digunakan saat kondisi:
a. Keperluan berubah dengan cepat
b. Resiko tinggi dan ada proyek dengan tantangan yang baru
c. Tim programmer sedikit, yaitu 2-10 orang
d. Mampu mengotomatiskan tes
e. Ada campur tangan klien secara langsung
>> Kelemahan XP:
a. Cerita-cerita yang menunjukkan requirements kemungkinan besar tidak lengkap
sehingga Developer harus selalu siap dengan perubahan karena perubahan akan selalu
diterima.
b. Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga anjuran
untuk melakukan apa yang diperlukan hari itu juga).
c. XP tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-
satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.
3. Agile Modeling
Agile Modeling merupakan filosofi tentang bagaimana membangun model dengan
beberapa diantaranya dilakukan dengan format yang terperinci sedangkan model lain
beberapa ada yang dilakukan secara samar dan minimalis. Agile Software Development
juga melihat pentingnya komunikasi antara anggota tim, antara orang-orang teknis dan
businessman, serta antara developer dan managernya. Ciri lain dari Agile Software
Development adalah klien menjadi bagian dari tim pembangun software.
>> Kelebihan dari Agile Modeling:
a. Meningkatkan kepuasan kepada klien
b. Pembangunan sistem dibuat lebih cepat
c. Mengurangi resiko kegagalan implementasi software dari segi non-teknis
d. Jika pada saat pembangunan system terjadi kegagalan,kerugian dari segi materi
relative kecil.
>> Kelemahan dari Agile Modeling:
Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima.
4. Scrum
Scrum bermula ketika anak buah Jeff Sutherland yang bekerja di Easel Corporation
membaca tulisan dari Professor Takeuchi Tanaka yang dimuat di Harvard Business Review
mengenai manajemen proyek pada tahun 1993. Tulisan tersebut memuat bagaimana Professor
Takeuchi Tanaka kagum dengan tim olahraga Rugby yang bekerja bersama menyingkirkan
semua hambatan yang ada di depannya. Professor Takeuchi Tanaka lalu membawa konsep ini
ke manajemen proyek dan menamakan metode kerja ini Scrum.
Scrum merupakan suatu kerangka kerja yang berupa deskripsi rinci tentang
bagaimana segala sesuatu yang harus dilakukan pada proyek. Hal ini dilakukan dikarenakan
tim akan tahu bagaimana cara terbaik untuk memecahkan masalah yang disajikan untuk
mereka. Ada 3 elemen organisasi utama pada scrum yaitu product owner, Scrum master, dan
Scrum team. Scrum Master dapat dianggap sebagai pelatih / guru bagi tim yang mengajarkan
cara kerja lebih kolaboratif dan menyenangkan dalam mengembangkan software. Product
Owner mewakili bisnis, pelanggan atau pengguna dan memandu tim ke arah pengembangan
produk yang tepat. Sedangkan Scrum Team merupakan grup pengembang kecil biasanya
terdiri dari 5-9 orang. Untuk project yang sangat besar, biasanya pekerjaan akan dibagi dan
didelegasikan ke grup-grup kecil. Jika sangat dibutuhkan scrum master juga dapat ikut
membantu dalam koordinasi team.
>> Scrum tepat digunakan saat kondisi:
a. Keperluan berubah dengan cepat
b. Tim programmer sedikit, yaitu 5-9 orang
c. Pelanggan tidak terlalu paham dengan apa yang diinginkan
>> Scrum memiliki prinsip yaitu:
a. Ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan
memberdayakan satu sama lain
b. Proses dapat beradaptasi terhadap perubahan teknis dan bisnis
c. Proses menghasilkan beberapa software increment
d. Pembangunan dan orang yang membangun dibagi dalam tim yang kecil
e. Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
f. Proses scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
>> Kelebihan Scrum antara lain:
a. Keperluan berubah dengan cepat
b. Tim berukuran kecil sehingga melancarkan komunikasi, mengurangi biaya dan
memberdayakan satu sama lain
c. Pekerjaan terbagi-bagi sehingga dapat diselesaikan dengan cepat
d. Dokumentasi dan pengujian terus menerus dilakukan setelah software dibangun
e. Proses Scrum mampu menyatakan bahwa produk selesai kapanpun diperlukan
>> Kelemahan Scrum antara lain:
a. Developer harus selalu siap dengan perubahan karena perubahan akan selalu diterima
Sumber:

C. Proses Rekayasa Perangkat Lunak


SOFTWARE ENGINGEERING
Dalam rekayasa perangkat lunak tahap awal adalah pendefinisian tentang rekayasa
system apa yang akan dibuat. Diperlukan proses perencanaan dan analisis kebutuhan. Setelah
pendefinisian tahap selanjutnya adalah pengembangan, dalam tahap ini adalah bagaimana
produk yang telah didefinisikan dengan jelas kemudian akan mulai diimplementasikan.
Maka pada proses pengembangan ini akan dilakukan design software, kemudian mengenerate
koding-koding pembangun program, hingga program siap dites kebenarannya.
Proses rekayasa perangkat lunak adalah proses yang terus berulang, karena
karakteristik perangkat lunak yang membutuhkan pemeliharaan dan continue development
agar perangkat lunak tidak kadarluasa. Dalam proses pemelihataan kita melakukan koreksi
kesalahan, adaptasi kebutuhan, peningkatan kemampuan atau fungsi dan bentuk pencegahan
lainnya agar perangkat lunak tersebut tidak kadarluasa.
Penyebab kegagalan rekayasa perangkat lunak adalah :
 Perencanaan yang tidak realistik, terlalu optimis dalam perhitungan.
 sistem pemantauan kerja yang tidak berjalan dengan seharusnya.
 Perubahan kebutuhan.
 Resiko-resiko lainnya

1. METODOLOGI PROSES
Metodologi adalah cara sistematis atau cara yang didefinisikan secara jelas untuk
mencapai tujuan akhir. Juga merupakan sebuah system tata tertib dalam berpikir atau
bertindak. Metodologi yang baik adalah sebuah peta atau jalan yang menjadi panduan untuk
menemukan jalan yang tepat untuk mencapai tujuan.
Metodologi dalam proses rekayasa perangkat lunak masih menjadi objek penelitian,
tapi sekarang ada banyak model umum atau paradigma yang berbeda dari pengembangan
perangkat lunak, yaitu :
 Pendekatan Waterfall
 Pengembangan secara evolusioner
 Trasformasi Formal
 Reuse

2. MODEL WATERFALL
Pertama kali diperkenalkan oleh Winston Royce tahun1970. Model ini merupakan model
klasik yang sederhana dengan aliran system yang linear. Output dari setiap tahap menjadi
input bagi tahap berikutnya. Model ini melibatkan SQA (Software Quality Assurance)
dengan tahapan yang setiap tahapannya dilakukan verivikasi dan testing. Tahapa-
tahapannya adalah :
a. Requirement
Pada tahapan ini dilakukan analisa kebutuhan, kemudian diverivikasi oleh klien dan tim
SQA. Jasa, kendala, tujuan dihasilkan dari konsultasi dengan pengguna system, kemudian
semuanya dibuat dalam bentuk yang dapat dimengerti oleh staf pengembang.
b. Specification
Jika dokumentasi spesifikasi disetujui oleh klien, maka dokumen tersebut merupakan
kontrak kerja antara klien dengan pengembang software. Selanjutnya adalah merencanakan
jadwal pengembangan software. Jika disetujui, maka tahap desain akan dilakukan.
c. Desain
Pada proses desain, system membagi kebutuhan-kebutuhan untuk menghasilkan sebuah
arsitektur system keseluruhan. Yang dilakukan pada tahap ini adalah :
 Dekomposisi modul system
 Rancangan masukan dan keluaran
 Penetapan struktur data
 Penetapan prosedur kerja
 Penetapan formula pengolahan data
 Implementasi dan Integrasi
Adalah tahap dilakukannya konversi dari hasil rancangan (spesifikasi program) menjadi
source code yang terpisah masih dalam bentuk modul, kemudian setiap modul akan diuji
terlebih dahulu sebelum digabungkan dengan modul lainnya, kemudian system yang
terbentuk dari proses integrasi akan diuji untuk meyakinkan persyaratan perangkat lunak
terpenuhi.
d. Operation Mode dan Retriment
Merupakan tahap terpanjang. Sistem dipasang dan digunakan. Dilakukan
pemeliharaan termasuk pembetulan kesalahan yang tidak ditemukan pada langkah
sebelumnya.
Jika tim SQA tidak menyetujui maka tahapan pada model waterfall tidak dianggap
selesai. Jika terdapat ketidaksesuaian dengan dokumen tahap sebelumnya, maka proses harus
kembali ke tahap sebelumnya untuk penyesuaian dan peninjauan ulang. Model ini
mengijinkan untuk kembali ketahap sebelumnya.
Permasalahan pada linear model atau waterfall adalah :
 Penanganan perubahan pada saat proses sedang berlangsung menjadi lebih sulit.
 Semua kebutuhan sudah terefenisi sejak awal.
 Software yang diberikan adalah versi terakhir dari setiap tahap, perubahan dalam
proses biasanya tidak dilakukan.
 Blocking state
3. MODEL PROTOTYPING
Terdiri atas tiga bentuk model proses yaitu :
 Diatas kertas berbasis komputer menggambarkan interaksi manusia.
 Working prototype : mengimplementasikan sebagian fungsi perangkat lunak.
 Program jadi : melakukan sebagian atau keseluruhan fungsi yang akan dilakukan. Ada
beberapa feature yang belum dikembangkan.
Tahapan proses prototyping adalah :
 Requirement : pengumpulan kebutuhan dan perbaikan
 Quick design
 Pembentukan Prototyping
 Evaluasi Pelanggan
 Perbaikan Prototyping
* Iterasi dilakukan terus menerus mulai dari tapa Quick Design hingga perbaikan Prototype
sampai didapat produk akhir.
Permasalahan pada model Prototyping adalah :
 Pelanggan yang melihat working version kemungkinan tidak menyadari bahwa
mungkin prototype dibuat terburu-buru dengan rancangan yang disusun tidak
terstruktur.
 Pembuatan kadang membuat implementasi sembarang karena ingin working version
bekerja lebih cepat.

4. MODEL SPIRAL BOEHM


Model ini diusulkan oleh Boehm pada tahun 1988 sebagai pendekatan alternative dari
model waterfall. Model ini menggunakan fitur yang ada pada model waterfall dan prototype.
Setiap tahapan model ini selalu dilakukan risk analisys dan verivikasi atau testing. Model ini
memiliki empat aktivitas yaitu :
 Determine objectives : penentuan tujuan, alternative dan batasan dalam proses.
 Risk Analysis : analisa alternatif terhadap resiko yang mungkin terjadi.
 Engineering/develop : pengembangan produk.
 Plant next phase : penentuan rencana-rencana untuk tahap selanjutnya.
Perbedaan yang mendasar antara model spiral dengan model lainnya adalah bahwa
model spiral dengan eksplisit menyadari resiko-resiko yang ada. Risk Analysis yang
dilakukan model spiral ini adalah :
 Project Risk : Hal-hal yang mempengaruhi tahap proyek, contoh : kekurangan sumber
daya.
 Technical Risk : Hal-hal yang mempengaruhi tahap actual, contoh :; personil tidak
terlatih ditahap tersebut.
 Bussiness Risk : Hal-hal yang mempengaruhi keinginan perusahaan untuk membuat
software, contoh : software ternyata tidak dibutuhkan lagi.
Prioritas resiko dapat dikategorikan sebagai berikut :
 Catastrophic (luar biasa), contoh : penurunan kualitas yang luar biasa, biaya yang
tidak terkontrol.
 Critical (kritis), contoh : tidak tepat waktu, biaya diluar perkiraan.
 Marginal (ringan), contoh : penjadwalan yang terlambat.
 Negligible (tidak berarti), contoh : penggunaan waktu proyek yang tidak optimal.
Model spiral sangat baik digunakan untuk pengembangan sistem yang besar, karena
sistem ini meminimalisasi resiko lewat mekanisme yang baik. kelemahan sistem ini ada pada
pengontrollannya dan belum banyak cerita sukses tentang penggunaan model ini.
5. MODEL INCREMENTAL
Model ini menerapkan rekayasa perangkat lunak perbagian, hingga menghasilkan
perangkat lunak yang lengkap. Proses membangun berhenti jika produk telah mencapai
seluruh fungsi yang diharapkan. Pada awal tahapan dilakukan penentuan, kebutuhan dan
spesifikasi. Kemudian dilakukan perancangan arsitektur software yang terbuka, agar dapat
diterapkan pembangunan per-bagian pada tahapan selanjutnya.
Tahapan pada model incremental adalah requirement, specification, architektur
design, kemudian tahapan membangun tiap bagian secara berurutan. Setiap bagian yang telah
selesai testing, maka akan dikirim kepemakai untuk lansung dapat digunakan. Pada model
incremental, tahapan requirement, specification dan architektur design harus dikerjakan
terlebih dahulu sebelum tahapan pembagian tiap modul.
Sumber:

D. Pemodelan Sistem Perangkat lunak


a) Model Waterfall
Model air terjun ini merupakan model klasik yang bersifat sistematis dalam membuat
suatu perangkat lunak dan juga paling sering digunakan. Pada fase analisis
fungsi,kemampuan operasi perangkat lunak yang akan dibuat harus diketahui terlebih dahulu.
Kemudian apabila analisi telah selesai dilakukan maka didesainlah perangkat lunak yang
akan dibuat. Setelah desain selesai lalu desain tersebut diterjemahkan kedalam kode-kode
dengan bahasa pemrograman yang diinginkan, misalnya saja C++. Setelah kode selesai
dibuat diadakanlah proses pengetesan terhadap perangkat lunak yang baru dibuat agar
diketahui apakah perangkat yang dibuat bisa berjalan dengan benar atau tidak.

Requirements Analysis

Design

Development

Testing

Maintenance

Gambar 1. Model Waterfall


Tahapan-tahapan pada model air terjun, yaitu:
1) Rekayasa sistem perangkat lunak (System Engineering) merupakan bagian dari
sebuah sistem untuk mendapatkan gambaran yang meluas pada arah sistem.
2) Analisis (Analysis) merupakan tahapan sistem perangkat lunak yang fokusnya lebih
terarah ke perangkat lunak dan berusaha mengetahui aspek ‘what’ dengan melibatkan
pemakaian dan pengembangan.
3) Perancangan (Design) merupakan tahapan sistem perangkat lunak yang membentuk
representasi dan dapat dievaluasi kualitasnya sebelum tahap coding dilakukan.
4) Pengembangan program (Coding) merupakan rancangan yang mengarah ke dalam
bentuk yang dapat dimengerti komputer.
5) Pengujian (Testing) merupakan tahapan sistem perangkat lunak yang berfokus pada
rincian logikal dari perangkat lunak, bertujuan mengungkapkan dan menghilangkan
kesalahan-kesalahan yang ada sehingga perangkat lunak bekerja sesuai dengan yang
diharapkan.
6) Pemeliharaan (Maintenance) merupakan kegiatan-kegiatan koreksi kesalahan dan
penyesuaian perangkat lunak terhadap perubahan lingkungannya.

b) Model Prototype
Metode prototype merupakan suatu paradigma baru dalam metode pengembangan
perangkat lunak dimana metode ini tidak hanya sekedar evolusi dalam dunia
pengembangan perangkat lunak, tetapi juga merevolusi metode pengembangan perangkat
lunak yang lama yaitu sistem sekuensial yang biasa dikenal dengan nama SDLC
(Software Development Life Cycle) atau waterfall development model.

Requirements Analysis

Maintenance Design

SLDC
Software/System Development
Life Cycle- SLDC

Testing Development

Gambar 2. Model SLDC


Proto Typing
Customer
Satisfied
Initial Design Costumer
Requirements Evaluation

Review &
Updation

Maintain Test Development

Proto Type Model


Gambar.3 Model prototype

c) Model Spiral
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 4. Model Spiral

d) Model RAD
Rapid Aplication Development (RAD) adalah sebuah model proses perkembangan
perangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat
pendek (kira-kira 60 sampai 90 hari). Model RAD ini merupakan sebuah adaptasi
“kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat dicapai
dengan menggunakan pendekatan konstruksi berbasis komponen.
Gambar 5. Model RAD

e) Model 4GT
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.

Fourth Generation Techniques (4GT)


Requirements
Gathering
Design
Strategy Implementation
using 4GL
Testing

Gambar 6. Model 4 GT
f) Gabungan Beberapa Model Pengembangan
Gabungan beberapa model pengembangan ini memiliki tujuan yaitu untuk mengambil
kelebihan masing-masing paradigma. Berikut ini merupakan gambaran dari gabungan
beberapa model pengembangan:
Gambar 7. Gabungan dari beberapa model pengembangan

Anda mungkin juga menyukai