You are on page 1of 15

REKAYASA PERANGKAT LUNAK

MODEL – MODEL PENGEMBANGAN PERANGKAT LUNAK

Disusun untuk Memenuhi Tugas Rekayasa Perangkat Lunak pada Sekolah Tinggi
Manajemen Informatika dan Komputer (STMIK) Palangkaraya

OLEH
ADI TYA NUGROHO
C2055201003
TEKNIK INFORMATIKA - A

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN


KOMPUTER (STMIK) PALANGKARAYA
DAFTAR ISI

DAFTAR ISI ................................................................................................................... 2


BAB I PENDAHULUAN ................................................................................................ 3
1.1 Latar Belakang .................................................................................................... 3
1.2 Rumusan Masalah ` ............................................................................................. 3
1.3 Tujuan ................................................................................................................. 3
BAB II PEMBAHASAN ................................................................................................ 4
2.1 Pengembangan Perangkat Lunak ........................................................................ 4
2.2 Model-Model Pengembangan Perangkat Lunak ................................................. 4
2.2.1 Model Waterfall ........................................................................................ 4
2.2.2 Model Prototyping .................................................................................... 7
2.2.3 Model Evolutionary .................................................................................. 8
2.2.4 Model Spiral ........................................................................................... 10
2.2.5 Reuse Based Development ..................................................................... 12
BAB III PENUTUP ....................................................................................................... 14
3.1 Kesimpulan ....................................................................................................... 14
DAFTAR PUSTAKA .................................................................................................... 15

2
BAB I
PENDAHULUAN

1.1. Latar Belakang


Pengembangan perangkat lunak (Software Development) adalah suatu struktur
yang diterapkan pada pengembangan suatu produk perangkat lunak yang bertujuan untuk
mengembangkan sistem dan memberikan panduan yang bertujuan untuk menyukseskan
proyek pengembangan sistem melalui tahap demi tahap. Proses ini mencakup aktivitas
penerjemahan kebutuhan pemakai menjadi kebutuhan perangkat lunak, transformasi
kebutuhan perangkat lunak menjadi desain, penerapan desain menjadi kode program, uji
coba kode program, dan instalasi serta pemeriksaan kebenararan perangkat lunak untuk
operasional. Di dalam pengembangan perangkat lunak terdapat model-model yang dapat
digunakan para pengembangan untuk mengembangkan aplikasi mereka. Model-model ini
memiliki kelebihan dan kekurangannya masing-masing. Ada model yang dapat
diterapakan untuk semua aplikasi ada juga yang tidak, ada model yang pengerjaannya
cepat ada juga model yang pengerjaannya lambat. Metode ini mempunyai beberapa model
pengembangan, yang paling populer diantaranya adalah metode waterfall, prototype,
spiral, rad, scrum dan agile.

1.2. Rumusan Masalah

1. Apa yang dimaksut dengan pengembangan perangkat lunak?


2. Apa saja model-model pengembangan perangkat lunak?
3. Bagaimana kelebihan dan kekurangan model-model pengembangan perangkat
lunak?

1.3 Tujuan

1. Untuk mengetahui apa dan bagaimana pengembangan perangkat lunak.


2. Untuk mengetahui model-model apa saja pada pengembangan perangkat lunak.
3. Untuk mengetahui kelebihan dan kekurangan tiap model-model pengembangan
perangkat lunak.

3
BAB II
PEMBAHASAN

2.1 Pengembangan Perangkat Lunak

Pengembangan perangkat lunak atau Software Development merupakan suatu


implementasi terstruktur dalam pengembangan Perangkat Lunak, dengan maksud untuk
mengembangkan sistem dan memberikan panduan dalam mensukseskan proyek
pengembangan sistem aplikasi dengan mengikuti tahapan-tahapan tertentu.

Pengertian metode pengembangan perangkat lunak adalah sebuah cara teratur


untuk merancang atau meningkatkan fungsi sebuah program agar pengguna lebih mudah
dalam mengoperasikan komputer. Pengembangan perangkat lunak sendiri dapat dilakukan
melalui berbagai metode. Sedikitnya ada enam metode yang paling banyak digunakan oleh
para pengembang perangkat lunak. Keenam metode tersebut adalah metode waterfall,
prototype, spiral, evolutionary, dan Reuse Based Development.

2.2 Model-Model Pengembangan Perangkat Lunak

Dalam pengembangan perangkat lunak terdapat model-model yang dapat


digunakan para pengembangan untuk mengembangkan aplikasi mereka. Model-model ini
memiliki kelebihan dan kekurangannya masing-masing. Ada model yang dapat
diterapakan untuk semua aplikasi ada juga yang tidak, ada model yang pengerjaannya
cepat ada juga model yang pengerjaannya lambat. . Model proses perangkat lunak
merupakan cara untuk memproses sebuah perangkat lunak dari nol menjadi sebuah
perangkat lunak yang siap untuk digunakan. Berikut merupakan beberapa contoh model
proses perangkat lunak yang biasa digunakan.

2.2.1 Model Waterfall

Metode Waterfall merupakan metode pengembangan perangkat lunak tertua sebab


sifatnya yang natural. Metode Waterfall merupakan pendekatan SDLC paling awal yang
digunakan untuk pengembangan perangkat lunak. Urutan dalam Metode Waterfall bersifat
serial yang dimulai dari proses perencanaan, analisa, desain, dan implementasi pada
sistem.

4
Metode ini dilakukan dengan pendekatan yang sistematis, mulai dari tahap kebutuhan
sistem lalu menuju ke tahap analisis, desain, coding, testing/verification, dan maintenance.
Langkah demi langkah yang dilalui harus diselesaikan satu per satu (tidak dapat meloncat
ke tahap berikutnya) dan berjalan secara berurutan, oleh karena itu di sebut waterfall (Air
Terjun).

Gambar 1. Model Waterfall

Waterfall merupakan metode pengembangan perangkat lunak tradisional yang sistematis.


Metode ini memiliki lima tahapan proses.

 Requirement Analysis
Sebelum melakukan pengembangan perangkat lunak, seorang
pengembang harus mengetahui dan memahami bagaimana informasi kebutuhan
penggguna terhadap sebuah perangkat lunak. Metode pengumpulan informasi
ini dapat diperoleh dengan berbagai macam cara diantaranya, diskusi,
observasi, survei, wawancara, dan sebagainya.
 System and Software Design
Informasi mengenai spesifikasi kebutuhan dari tahap Requirement
Analysis selanjutnya di analisa pada tahap ini untuk kemudian
diimplementasikan pada desain pengembangan. Perancangan desain dilakukan
dengan tujuan membantu memberikan gambaran lengkap mengenai apa yang
harus dikerjakan. Tahap ini juga akan membantu pengembang untuk
menyiapkan kebutuhan hardware dalam pembuatan arsitektur sistem perangkat
lunak yang akan dibuat secara keseluruhan.

5
 Implementation and Unit Testing
Tahap implementation and unit testing merupakan tahap pemrograman.
Pembuatan perangkat lunak dibagi menjadi modul-modul kecil yang nantinya
akan digabungkan dalam tahap berikutnya. Disamping itu, pada fase ini juga
dilakukan pengujian dan pemeriksaan terhadap fungsionalitas modul yang
sudah dibuat, apakah sudah memenuhi kriteria yang diinginkan atau belum.
 Integration and System Testing
Setelah seluruh unit atau modul yang dikembangkan dan diuji di tahap
implementasi selanjutnya diintegrasikan dalam sistem secara keseluruhan.
Setelah proses integrasi selesai, selanjutnya dilakukan pemeriksaan dan
pengujian sistem secara keseluruhan untuk mengidentifikasi kemungkinan
adanya kegagalan dan kesalahan sistem.
 Operation and Maintenance
Pada tahap terakhir dalam Metode Waterfall, perangkat lunak yang
sudah jadi dioperasikan pengguna dan dilakukan pemeliharaan. Pemeliharaan
memungkinkan pengembang untuk melakukan perbaikan atas kesalahan yang
tidak terdeteksi pada tahap-tahap sebelumnya. Pemeliharaan meliputi perbaikan
kesalaha, perabikan implementasi unit sistem, dan peningkatan dan
penyesuaian sistem sesuai dengan kebutuhan.

1) Kelebihan Model Waterfall :


 Merupakan model pengembangan paling handal dan paling lama
digunakan.
 Cocok untuk sistem software yang bersifat generik.
 Pengerjaan projek sistem akan terjadwal dengan baik dan mudah
dikontrol.
2) Kekurangan Model Waterfall :
 Persyaratan sistem harus digambarkan dengan jelas.
 Rincian proses harus benar-benar jelas dan tidak boleh berubah ubah
 Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu
tahapan pengembangan

6
2.2.2 Model Prototyping
Metode Prototype adalah teknik pengembangan sistem yang menggunakan
prototype untuk menggambarkan sistem sehingga klien atau pemilik sistem mempunyai
gambaran jelas pada sistem yang akan dibangun oleh tim pengembang. Prototype dalam
bahasa Indonesia disebut purwarupa (rupa awal). Prototype adalah rupa awal dari sistem
yang menggambarkan rupa akhir dari sebuah sistem.

Gambar 2. Metode Prototyping

Prototype kemudian disingkirkan dan perangkat lunak actual direkayasa dengan tertuju
kepada kualitas dan kemampuan pemeliharaan.
1) Kelebihan Model Prototyping :
 Prototype melibatkan user dalam analisa dan desain.
 Punya kemampuan menangkap requirement secara konkret daripada
secara abstrak.
 Untuk digunakan secara standalone.
 Digunakan untuk memperluas SDLC.
 Mempersingkat waktu pengembangan Sistem Informasi
2) Kekurangan Model Prototyping :
 Proses analisis dan perancangan terlalu singkat.
 Mengesampingkan alternatif pemecahan masalah.
 Bisanya kurang fleksible dalam mengahdapi perubahan.
 Prototype yang dihasilkan tidak selamanya mudah dirubah

7
2.2.3 Model Evolutionary
Evolution Software Process Models adalah sebuah siklus atau tahapan dengan
tujuan pengembangan atau evolusi perangkat lunak, dimana masing – masing dari setiap
aktifitas saling terkoneksi untuk menentukan, membuat sebuah perancangan, serta
implementasi maupun pengujian sistem perangkat lunak. Evolusi ini Bersifat iteratif/
mengandung perulangan. Hasil proses berupa produk yang makin lama makin lengkap
sampai versi terlengkap dihasilkan sebagai produk akhir dari proses.

Gambar 3. Model Evolutionary

Dalam Model Evolusioner, upaya rekayasa pengembangan dilakukan terlebih


dahulu untuk menetapkan definisi kebutuhan dan ruang lingkup sistem yang benar dan
tepat, sebagaimana disepakati oleh semua pengguna di seluruh organisasi. Ini dicapai
melalui penerapan proses berulang untuk mengembangkan sistem yang paling sesuai
dengan keadaan tertentu. Proses ini berulang ketika perekayasa perangkat lunak melewati
proses berulang dari persyaratan yang disebut Analisis-Desain-Pengujian melalui
Prototipe-Implementasi-Penilaian-Evaluasi sampai semua pengguna dan pemangku
kepentingan puas.

Ada dua tipe dasar perkembangan evolusioner:

1. Pengembangan eksplorasi di mana tujuan dari proses ini adalah untuk bekerja
dengan pelanggan untuk mengeksplorasi kebutuhan mereka dan memberikan
sistem akhir. Pengembangan dimulai dengan bagian-bagian dari sistem yang
dipahami. Sistem berkembang dengan menambahkan fitur baru yang
diusulkan oleh pelanggan.

8
2. Throwaway prototyping di mana tujuan dari proses pengembangan
evolusioner adalah untuk memahami kebutuhan pelanggan dan karenanya
mengembangkan definisi persyaratan yang lebih baik untuk sistem. Prototipe
berkonsentrasi pada percobaan dengan persyaratan pelanggan yang kurang
dipahami.
Pada setiap tipe tentu memiliki kekurangan dan kelebihan masing masing dan tipe
evolution ini mempunyai kelebihan dan kelemanya yaitu:
1) Kelebihan Model Evolutionary
 Memuaskan pelanggan atau client karna developmen memenuhi
sepenuhnya yang di inginkan client
 Pembuatan sistem menjadi lebih mudah dan terpusat karna konsep
sepenuhnya dari client

2) Kekurangan Model Evolutionary

 Konsep sistem yang di inginkan oleh client masih terdapat kelemahan


dan kekurangan
 Client memiliki keinginan namun client tidak memiliki gambaran atau
konsep sistem yang jelas

9
2.2.4 Model Spiral
Merupakan model proses perangkat lunak yang memadukan wujud pengulangan
dari model prototyping dengan aspek pengendalian dan sistematika dari linear sequential
model. Dalam model ini perangkat lunak dikembangkan dalam suatu seri incremental
release. Spiral model dibagi menjadi 6 aktivitas kerangka kerja sebagai berikut:

Gambar 4. Model Spiral

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.

10
1) Kelebihan Model Spiral

 Lebih cocok untuk pengembangan sistem dan perangkat lunak skala


besar.
 Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup
perangkat lunak komputer.
 Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi
terhadap resiko setiap tingkat evolusi karena perangkat lunak terus
bekerja selama proses.
 Menggunakan prototipe sebagai mekanisme pengurangan resiko dan
pada setiap keadaan di dalam evolusi produk
 Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga
mengurangi resiko sebelum menjadi permaslahan yang serius.

2) Kekurangan Model Spiral

 Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh


user dan developer.
 Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus
mengandalkannya supaya sukses.
 Belum terbukti apakah metode ini cukup efisien karena usianya yang
relatif baru.
 Memerlukan penaksiran resiko yang masuk akal dan akan menjadi
masalah yang serius jika resiko mayor tidak ditemukan dan diatur
 Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian
yang absolute.

11
2.2.5 Reuse Based Development

Reuse Based Development ini sangat berkaitan dengan teknologi berorientasi


objek. Pada pemrograman berorientasi objek, banyak class yang dibangun dan menjadi
komponen dalam suatu software. Class-class tersebut bersifat reusable artinya bisa
digunakan kembali. Model ini bersifat iteratif atau berulang-ulang prosesnya.

Gambar 5. Model Reuse

Secara umum proses yang terjadi dalam model ini adalah:

 Identifikasi class-class yang akan digunakan kembali dengan menguji class


tersebut dengan data yang akan dimanipulasi dengan aplikasi/software dan
algoritma yang baru
 Class yang dibuat pada proyek sebelumnya disimpan dalam class library,
sehingga bisa langsung diambil dari library yang sudah ada. Jika ternyata ada
kebutuhan class baru, maka class baru dibuat dengan metode berorientasi
objek.
 Bangun software dengan class-class yang sudah ditentukan atau class baru
yang dibuat, integrasikan.

1) Kelebihan Model Reuse

 Tinggal menggunakan program atau komponen yang sudah ada dan


menyusunnya menjadi sebuah program yang lebih kompleks dan
berkembang sesuai dengan kebutuhan user.
 Dapat mengefisienkan penggunaan waktu dan tenaga.

12
 Menyediakan kemampuan untuk memvisualisasikan hasil rakitan
dengan kesanggupan untuk mengukur, menganalisa, merancang dan
merancang ulang program.

2) Kekurangan Model Reuse

 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.

13
BAB III

PENUTUP

3.1 Kesimpulan
Proses pengembangan perangkat lunak (Software Process / Development
Paradigm) adalah sekumpulan tahap, tugas dan aktivitas yang dibutuhkan untuk secara
effisien mentransformasikan kebutuhan pemakai ke suatu solusi perangkat lunak yang
efektif. Pemodelan proses perangkat lunak (Software Process Modeling) bertujuan untuk
merepresentasikan aktivitas yang terjadi selama pembuatan perangkat lunak dan
perubahan-perubahannya (evolusi). Model-Model Proses Pengembangan Perangkat
Lunak yaitu :

 Model Waterfall
 Model Prototyping
 Model Evolutionary
 Model Spiral
 Model Reuse

14
DAFTAR PUSTAKA

Mukhayatudin, I. (2019). Makalah Model Pengembangan Rekayasa Perangkat Lunak.


Catenary Febrianto, Eka Dinata Permata Putra, M. A. R. (2020). Penjelasan Model-Model
Proses Pengembangan Perangkat Lunak.
https://netsolution.co.id/pengembangan-perangkat-lunak/
https://www.sahretech.com/2018/11/mengenal-model-pengembangan-perangkat.html
https://ranahresearch.com/metode-waterfall/
https://providing.blogspot.com/2015/06/evolutionary-development-process-
model.html?m=1
https://wisbays.wordpress.com/2016/09/30/evolutionary-software-process-models/
School of Information Systems. (2019). Pengembangan Sistem Spiral Model. [online]
Available at: https://sis.binus.ac.id/2019/04/29/pengembangan-sistem-spiral-model/
http://dibyosusanto.blogspot.com/2015/08/model-proses-perangkat-lunak.html

15

You might also like