Anda di halaman 1dari 22

MAKALAH

MODEL MODEL PENGEMBANGAN PERANGKAT

LUNAK REKAYASA PERANGKAT LUNAK

Dosen Pengampu: Herkules, S.Kom., M.Cs.

Disusun oleh:
Nazia Fitra Aini
C2255201002

KELAS A
PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH
TINGGI MANAJEMEN INFORMATIKA DAN
KOMPUTER (STMIK) PALANGKARAYA
MARET 2024

1
DAFTAR ISI

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

BAB I PENDAHULUAN ................................................................................................ 3

1.1. Latar Belakang ................................................................................................... 3

1.2. Rumusan Masalah.............................................................................................. 4

1.3. Tujuan ................................................................................................................ 4

BAB II PEMBAHASAN.................................................................................................. 5

2.1. Model Waterfall ................................................................................................. 5

2.2. Model Prototyping ............................................................................................. 8

2.3. Model Spiral..................................................................................................... 12

2.4. Model Evolutionary ......................................................................................... 14

2.5. Rause Based Development .............................................................................. 17

BAB III PENUTUP ........................................................................................................ 19

3.1. Kesimpulan ...................................................................................................... 19

DAFTAR PUSTAKA ..................................................................................................... 20

2
BAB I

PENDAHULUAN

1.1. Latar Belakang

Rekayasa perangkat lunak (software enginering) merupakan pembangunan


dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan
perangkat lunak yang bernilai ekonomi yang dapat dipercaya dan bekerja secara
efisien menggunakan mesin.
IEEE Computer Society mendefinisikan Rekayasa Perangkat Lunak (RPL)
sebagai penerapan suatu pendekatan yang sistematis, disiplin dan
terkuantifikasi
atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi
atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas
perangkat lunak.
RPL Menurut Fritz Bauer [NAU69], “Penerapan dan pemanfaatan prinsip-
rekayasa untuk menghasilkan perangkat lunak yang ekonomis, andal dan bekerja
secara efisien pada mesin- mesin yang nyata”.
Pengembangan perangkat lunak telah menjadi topik yang penting dan
menarik perhatian dalam dekade terakhir. Hal ini disebabkan oleh kemajuan
teknologi informasi dan komunikasi yang pesat, dimana perangkat lunak
menjadi komponen kunci dalam berbagai sistem dan aplikasi. Perkembangan
tenologi seperti Internet of Things (IoT), kecerdasan buatan (AI), big data, dan
komputasi awan telah mendorong permintaan akan solusi perangkat lunak yang
inovatif dan efisien.
Pengembangan perangkat lunak melibatkan proses yang kompleks dimmulai
dari perencanaan, analisis kebutuhan, desain, implementasi, pengujian, hingga
pemeliharaan. Proses ini melibatkan tim pengembang yang terdiri dari berbagai
macam peran seperti analis sistem, desainer, pengembang, dan pengujian.
Rekayasa perangkat lunak lebih fokus pada praktik pengembangan perangkat
lunak dan mengirimkan perangkat lunak yang bermanfaat kepada customer,
meningkatkan kepuasaan pengguna, meningkatkan efisiensi operasional, dan
memberikan keunggulan kompetitif.
Dalam pengembangan atau rekayasa perangkat lunak memiliki banyak
metode dalam tahapannya. Metode rekayasa perangkat lunak adalah bagaimana
perangkat lunak itu dibuat, apa saja yang dibutuhkan sampai perangkat lunak
tersebut siap digunakan dan langkah apa yang harus digunakan dalam prosesnya.
Pada makalah ini, kami akan membahas beberapa model pengembangan
perangkat lunak yang telah dikembangkan untuk membantu mengatur dan
mengelola proses dalam mengatur langkah- langkah pengembangan perangkat
lunak dan memiliki kelebihan serta kelemahan masing-masing.

3
1.2. Rumusan Masalah

Berikut perumusan masalah yang akan dikaji dalam makalah ini,


diantaranya:
1. Apa itu model waterfall?
2. Apa itu model prototyping?
3. Apa itu model spiral?
4. Apa itu model evolutionary?
5. Apa itu model rause based development?

1.3. Tujuan

Dari latar belakang dan rumusan masalah di atas, adapun tujuan dalam
penulisan makalah ini adalah
1. Mengetahui tentang model model dalam pengembangan perangkat lunak.
2. Dapat memahami dan meyajikan karakteristik dari berbagai
model pengembangan perangkat lunak.

4
BAB II

PEMBAHASAN

Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk
membantu proses pengembangan perangkat lunak. Model-model ini pada umumnya
mengacu pada model proses pengembangan sistem yang disebut System Development
Life Cycle (SDLC).
SDLC atau Software Development Life Cycle merupakan proses pengembangan
atau mengubah suatu system perangkat lunak dengan menggunakan model- model dan
metodologi yang digunakan orang untuk mengembangkan system perangkat lunak.
SDLC juga merupakan metode umum dalam pengembangan sistem yang menandai
kemajuan usaha analisis dan desain. Fase- fase yang terdapat di dalam SDLC meliputi
perencanaan sistem (system planning), perancangan sistem (system analysis),
immplementasi sistem (system implementation), pemeliharaan sistem (system
maintenance). Penulis mengambil 3 model dalam SDLC yang akan dipaparkan pada
makalah ini meliputi model waterfall, model prototype dan model spiral.

2.1. Model Waterfall

Model air terjun (waterfall) sering disebut model sekuensial linier


(sequential linier) atau alur hidup klasik (classic life cycle). Model warterfall
adalah model yang paling sering digunakan. Model pengembangan ini bersifat
linier dari tahap awal pengembangan sistem yaitu tahap perencanaan sampai
tahap akhir pengembangan sistem yaitu tahap pemeliharaan.
Model air terjun menyediakan pendekatan alur hidup perangkat lunak secara
sekuensial atau terurut dimulai dari analisis, desain, pengodean, pengujian, dan
tahap pendukung (support).
Berikut adalah gambar model air terjun:

Gambar 1. Ilustrasi modelwaterfall (Rossa A S dan M Shalahuddin, 2014)

Ian Sommerville (2011) menjelaskan bahwa ada lima tahapan pada Metode
Waterfall, yakni Requirements Analysis and Definition, Sytem and Software
Design, Implementation and Unit Testing, Integration and System Testing, dan
Operationa and Maintenance.

5
Gambar 2. Ilustrasi model waterfall (Ian Sommerville 2011)

Tahap- tahap metode waterfall:

• Analisis Kebutuhan (Requirement Analysis)


Sebelum melakukan pengembangan perangkat lunak, seorang
pengembang harus mengetahui informasi kebutuhan pengguna terhadap
sebuah perangkat lunak. Metode pengumpulan informasi dapat diperoleh
dengan diskusi, observasi, survei, wawancara, dan sebagainya. Informasi
yang diperoleh kemudian diolah dan dianalisa hingga data yang diperlukan
lengkap dan sesuai dengan spesifikasi kebutuhan pengguna.

• Desain Sistem Dan Perangkat Lunak (System and Software Design)


Informasi pada analisis kebutuhan selanjutnya dianalisa untuk
diimplementasikan pada desain pengembangan. Perancangan desaain
dilakukan untuk membantu memberika gambaran lengkap mengenai hal
yang harus dikerjakan. Pada tahap ini juga akan membantu pengembang
untuk menyiapkan kebutuhan hardware dalam pembuatan arsitektur sistem
perangkat lunak.

• Implementasi dan Pengujian Unit (Implementation and Unit Testing)


Tahap ini merupakan tahap pemograman. 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.

• Integrasi dan Pengujian Sistem (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.

• Pengoperasian dan Pemeliharaan (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

6
perbaikan kesalaha, perabikan implementasi unit sistem, dan peningkatan
dan penyesuaian sistem sesuai dengan kebutuhan.

Dari kenyataan yang terjadi sanagt jarang model waterfall dapat dilakukan
sesuai alurnya karena sebab berikut:

• Perubahan spesifikasi perangkat lunak terjadi di tengah alur pengembangan.


• Sangat sulid bagi pelanggan untuk mendefinisikan semua spesifikkasi di
awal alur pengembangan. Pelanggan sering kali butuh contoh (prototype)
untuk menjabarkan spesifikasi kebutuhan sistem lebih berlanjut.
• Pelanggan tidak mungkin bersabar mengakomodasi perubaan yang
diperlukan di akhir alur pengembangan.

Pengembangan perangkat lunak menggunakan model waterfall memiliki


beberapa kelebihan, diantaranya adalah sebagai berikut:

• Tahapan proses pengembangannya tetap (pasti), mudah diaplikasikan,


dan prosesnya teratur.
• Cocok digunakan untuk produk software/ program yang sudah jelas
kebutuhannya di awal, sehingga minimm kesalahannya.
• Software yang dikembangkan dengan metode ini biasanya menghasilkan
kualitas yang baik.
• Dokumen pengembangan sistem sangat terorganisisr, karena setiap fase
harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.

Pengembangan perangkat lunak menggunakan model waterfall memiliki


beberapa kelemahan, diantaranya adalah sebagai berikut:
• Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan,
sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah
didapatkan tim pengembang harus diubah kembali/iterasi sering
menyebabkan masalah baru.
• Terjadinya pembagina proyek menjadi tahap- tahap yang tidak
fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
• Sulit untuk mengalami perubahan kebutuhan yang diinginkan oleh pelanggan.
• Pelanggan harus sabar untuk menanti produk selesai, karena dikerjakan
tahap per tahap, dan proses pengerjaannya akan berlanjut ke setiap tahapan
bila tahal sebelumnya sudah benar- benar selesai.
• Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim
pengembang yanng sedang membuat produk.
• Adanya waktu kosong (menganggur) bagi pengembang karena harus
menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.

7
2.2. Model Prototyping

Model prototyping merupakan suatu teknik untuk mengumpulkan informasi


tertentu mengenai kebuthan- kebutuhan informasi pengguna secara cepat.
Berfokus pada penyajian dari aspek- aspek perangkat lunak tersebut yang akan
nampak bagi pelanggan atau pemakai. Prototipe tersebut akan dievaluasi olen
pelanggan/pemakai dan dipakai untuk menyaring kebutuhan pengembangan
perangkat lunak.
Prototype didefinisikan sebagai alat yang memberikan ide bagi pembuat
maupun pemakai potensial tentang cara sistem berfungsi dalam bentuk
lengkapnya, dan proses untuk menghasilkan sebuah prototype disebut
prototyping.
Bentuk dari prototype pada gambar diatas merupakan versi awal dari
tahapan sebuah sistem software yang digunakan dalam mempresentasikan
gambaran dari ide, eksperimen dari sebuah rancangan, mencari sebanyak
mungkin masalah tersebut. Sistem dengan model prototype mengijinkan
pengguna agar mengetahui tahapan sistem dibuat sehingga sistem mampu
beroperasi dengan baik.
Model prototype digunakan untuk mendapatkan representasi dari pemodelan
aplikasi yang akan dibuat. Rancangan aplikasi awal mmulanya berbentuk
mockup selanjutnya akan dievaluasi oleh pengguna. Setelah mockup dievaluasi
pengguna tahap selanjutnya mockup mmenjadi bahan rujukan bagi pengembang
software untuk merancang aplikasi.
Model prototype kurang cocok untuk aplikasi dengan skala besar karena
membuat prototipe untuk aplikasi skala besar akan sangat memakan waktu dan
tenaga. Model ini sangat cocok digunakan untuk menggali spesfikasi kebutuhan
pelanggan secara lebih detail tetapi beresiko tinggi terhadap membengkaknya
biaya dan waktu proyek.

Gambar 3. Ilustrasi model prototipe

8
Seperti gambar diatas, metode prototype memiliki tiga siklus seperti berikut

• Listen to Customer
Tahap ini adalah identifikasi keperluan user, hal ini harus dilakukan agar
developer mendapatkan informasi mengenai keinginan ataupun masalah
yang dihadapi user. Informasi data yang didapatkan, bisa menjadi acuan
dalam mencari solusi serta pengembangan untuk tahap berikutnya.

• Build and Revise Mock Up


Saat kebutuhan untuk membuat sistem terkumpul, proses
selanjutnya adalah membuat rancangan prototype sesuai kebutuhan
user, dengan melalui tahapan sebagai berikut:
1. Perancangan untuk alur proses di dalam sistem, mulai dari, input,
output yang sudah diusulkan oleh klien.
2. Perancangan Unified Modelling Language atau yang disingkat
UMl,
perancangan ini bertujuan mengidentifikasikan sistem apa saja
yang dibutuhkan serta bagaimana merealisasikannya.
3. Perancangan Interface atau tampilan antarmuka serta beragam fitur
yang diperlukan klien.

• Customer Test Drives Mock-up


Tahapan ini bertujuan untuk melakukan pengujian prototype sistem dan
melakukan evaluasi bahwa prototype sistem telah dibuat sesuai dengan
harapan user. Jika hasil dari pengujian prototype masih tidak
memenuhi kebutuhan keperluan user, maka pengembang harus memperbaiki
kembali prototypenya. Hingga prototype bisa direalisasikan menjadi sistem
final yang sesuai keinginan user.

Gambar 4. Model prototipe

9
Tahapan model prototype:
• Pengumpulan Kebutuhan
Pelanggan dan pengemban bersama-sama mendefinisikan format seluruh
perangkat lunak, semua kebutuhan, dan garis besar sistem yang akan dibuat.

• Membangun Prototyping
Dengan membuat perancangan sementara yang berfokus pada penyajian
kepada pelanggan (misal membuat input dan format output).

• Evaluasi Prototyping
Evaluasi ini dilakukan oleh peanggan, jika sudah sesuai maka langkah
selanjutnya akan diambil. Namun jika belum sesuai maka prototypingnya
direvisi dengan mengulang langkah-langkah sebelumnya.

• Mengkodekan Sistem
Dalam tahap ni protoyping yang sudah disepakati diterjemahkan
kedallam bahasa pemograman yang sesuai.

• Menguji Sistem
Setelah sistem menjadi suatu perangkat lunak, kemmudian dilakukan
proses pengujian.

• Evaluasi Sistem
Pelanggan akan mengevaluasi apakah perangkat lunak sudah jadi dan
sudah sesuai yang diharapkan, Jika Ya maka proses akan dilanjutkan ke
tahap selanjutnya. Namun jika tidak maka mengulang tahap sebelumnya.

• Menggunakan Sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk
digunakan.

Pengembangan perangkat lunak menggunakan model prototype memiliki


beberapa kelebihan, diantaranya adalah sebagai berikut:
• Pelanggan berpatisipasi aktif dalam pengembangan sistem, sehingga
hasil prodduk pengembangan akan semakin mudah disesuaikan dengan
keinginan dan kebutuhan pelanggan.
• Penentuan kebutuhan lebih mudah diwujudkan.
• Mempersingkat waktu pengembangan produk perangkat lunak.
• Adanya komunikasi yang baik antara pengembang dan pelanggan.
• Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan
pelanggan.
• Lebih menghemat waktu dalam pengembangan sistem.
• Penerapan menjadi lebih mudah karena pelanggan mengetahui apa yang
diharapkannya.

1
Pengembangan perangkat lunak menggunakan model prototype memiliki
beberapa kelemahan, diantaranya adalah sebagai berikut:
• Proses analisis dan perancangan terlalu singkat.
• Biasanya kurang fleksibel dalam menghadapi perubahan
• Walaupun pemakai melihat ber berbagai perbaikan dari setiap versi
prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut
dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang.
• Pengembang kadang-kadang membuat kompromi implementasi dengan
menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak
efisien.

1
2.3. Model Spiral

Model Spiral, merupakan model pengembangan system yang digambarkan


berupa spiral. Model spiral menguraikan proses yang terjadi dan mencakup
sejumlah batasa pada pembuatan dan pemeliharaan sistem. Model spiral
menyelesaikan proses secara akurat menggambarkan berbagai tahapan proses
penngembangan perangkat lunak (Febriyanti Darnis, 2019).

Gambar 5. Model Spiral

Model Spiral diatur kedalam zona tugas, yang merupakan kerangka kera
aktivitas. Sebagian besar kegiatan ini dibagi menjadi kelompok- kelompok yang
terdiri dari 3 sampai 5 kegiatan. Kegiatan yanng dilakukan dalam model spiral
antara lain sebagai berikut (Wahyuni and Cahyani, 2020):
• Customer Communication
Kegiatan yang diperlukan untuk menjalin komunikasi yang baik antara
pengguna atau konsumen dan pengembang, terutama yang berkaitan dengan
kebutuhan yang terakhir.

• Planning
Informasi yang diperlukan untuk pengembangan perangkat lunak,
termasuk sumber daya dan waktu pemrosesan yang diproyeksikan, harus
ditentukan melalui upaya perencanaan ini.

• Analysis Risk
Risiko manajerial dan teknis dievaluasi menggunakan proses analisis
risiko ini. Langkah ini mungkin tidak ada dalam model proses yang juga
mencakup iterasi, sebaliknya, itu mungkin hanya ada dalam model spiral.

• Engineering
Membangun suatu rumah atau lebih representasi teknologi dari tindakan
yang terkait dengan aplikasi.

1
• Construction & Release
Pelatihan dan dokumentasi perangkat lunak, serta proes lain yang
diperlukan untuk pengembangan perangkat lunak, pengujian, penginstalan,
dan dkungan pengguna atau pelanggan.

• Customer Evaluation
Aktivitas yang diperlukan untuk mendapatkan umpan balik pengguna
dalam menanggapi evaluasi representasi perangkat lunak mereka pada tahap
rekayasa serta implementasi selama instalasi perangkat lunak pada tahap
pembuatan dan rilis.

Pengembangan perangkat lunak menggunakan model spiral memiliki


beberapa kelebihan, diantaranya adalah sebagai berikut:
• Pembangunan dan perubahan perangkat lunak yang terjadi dapat
diselesaikan secara sistematis
• Mudah dalam mengestimasi biaya karena proses pembuatan prototype yang
jelas dan terencana dalam tahapan yang sistematis
• Manajemen dan analisis risiko yang lebih cepat dan mudah
• Mudah dalam melakukan perubahan kebutuhan dan dokumentasi

Pengembangan perangkat lunak menggunakan model spiral memiliki


beberapa kekurangan, diantaranya adalah sebagai berikut:
• Tidak cocok dan sulit diimplementasikan dalam projek kecil
• Memakan waktu yang cukup lama
• Membutuhkan best practice atau pengalaman sebelumnya karena proses
yang sangat kompleks
• Resiko dalam tahap planning cukup besar. Misalnya terjadi perbedaan
dalam jadwal pengembangan dan anggaran belanja.

1
2.4. Model Evolutionary

Model evolusioner merupakan kombinasi model Iteratif dan Inkremental dari


siklus hidup pengembangan perangkat lunak. Model pengembangan
Evolutionary membagi siklus pengembangan menjadi model air terjun tambahan
yang lebih kecil di mana pengguna bisa mendapatkan akses ke produk di akhir
setiap siklus.

1. Umpan balik diberikan oleh pengguna terhadap produk untuk tahap


perencanaan siklus berikutnya dan tim pengembangan merespons, sering kali
dengan mengubah produk, rencana, atau proses.
2. Oleh karena itu, produk perangkat lunak berkembang seiring
berjalannya waktu.
3. Semua model memiliki kelemahan yaitu durasi waktu dari awal proyek
hingga waktu penyampaian solusi sangat tinggi.
4. Model evolusioner memecahkan masalah ini dengan pendekatan yang
berbeda.
5. Model evolusioner menyarankan untuk memecah pekerjaan menjadi
bagian- bagian yang lebih kecil, memprioritaskannya, dan kemudian
mengirimkan bagian-bagian tersebut ke pelanggan satu per satu.
6. Jumlah potongannya sangat besar dan merupakan jumlah pengiriman yang
dilakukan ke pelanggan.
7. Keuntungan utamanya adalah kepercayaan pelanggan meningkat karena ia
terus-menerus mendapatkan barang atau jasa yang dapat diukur sejak awal
proyek untuk memverifikasi dan memvalidasi kebutuhannya.
8. Model ini memungkinkan perubahan persyaratan serta semua pekerjaan
dipecah menjadi bagian-bagian pekerjaan yang dapat dipelihara.

Gambar 6. Model Evolusioner

1
Penerapan Model Evolusioner
1. Model ini digunakan dalam proyek besar yang dimana mudah dalam
menemukan modul untuk implementasi tambahan. Model evolusioner
biasanya digunakan ketika pelanggan ingin mulai menggunakan fitur-fitur
inti daripada menunggu perangkat lunak lengkap.
2. Model evolusioner digunakan dalam pengembangan perangkat lunak
berorientasi objek karena sistem dapat dengan mudah dibagi menjadi
beberapa unit berdasarkan objek

Kondisi yang diperlukan untuk menerapkan model evolusioner


1. Kebutuhan pelanggan jelas dan dijelaskan secara mendalam kepada tim
pengembang.
2. Mungkin ada perubahan kecil yang diperlukan di beberapa bagian
tetapi bukan perubahan besar.
3. Karena memerlukan waktu, maka harus ada waktu tersisa untuk kendala
pasar.
4. Risiko adalah target yang tinggi dan berkesinambungan yang harus dicapai
dan dilaporkan kepada pelanggan secara berulang-ulang.
5. Ini digunakan ketika mengerjakan suatu teknologi baru dan membutuhkan
waktu untuk mempelajarinya.

Pengembangan perangkat lunak menggunakan model evolusioner memiliki


beberapa keuntungan, diantaranya adalah sebagai berikut:
1. Kemampuan Beradaptasi terhadap Perubahan Persyaratan
Model evolusi bekerja secara efektif dalam proyek ketika persyaratannya
ambigu atau sering berubah. Mereka mendukung penyesuaian dan
fleksibilitas sepanjang jalannya pembangunan.

2. Distribusi Awal dan Bertahap


Komponen atau prototipe fungsional dapat dikirimkan lebih awal berkat
pengembangan bertahap. Kepuasan dan umpan balik pengguna yang lebih
cepat dapat dihasilkan dari hal ini.

3. Komentar dan Keterlibatan Pengguna


Model evolusioner sangat menekankan masukan dan partisipasi
pengguna. Hal ini menjamin bahwa perangkat lunak yang ditawarkan sesuai
dengan kebutuhan dan harapan pengguna.

4. Peningkatan Penanganan Proyek Sulit


Tugas besar dan kompleks dapat dikelola secara efektif dengan bantuan
model evolusi. Proses pengembangan menjadi lebih sederhana dengan
membagi proyek menjadi bagian-bagian yang lebih kecil dan lebih mudah
dikelola.

1
Pengembangan perangkat lunak menggunakan model evolusioner memiliki
beberapa kekurangan, diantaranya adalah sebagai berikut:
1. Kesulitan Komunikasi
Model evolusioner memerlukan kerja sama dan komunikasi yang terus-
menerus. Strategi ini mungkin kurang efektif jika terdapat kesenjangan
dalam komunikasi atau jika anggota tim tersebar secara geografis.

2. Ketergantungan pada Kelompok Ahli


Kelompok yang berpengetahuan dan berpengalaman yang dapat dengan
cepat menyesuaikan diri terhadap perubahan diperlukan untuk model
evolusi. Tim yang kurang berpengalaman mungkin akan kesulitan
menangani sifat dinamis model ini.

3. Meningkatnya Kompleksitas Manajemen


Kompleksitas dapat diperkenalkan dengan mengatur dan mengelola
beberapa peningkatan atau iterasi, khususnya dalam proyek-proyek besar.
Untuk menjamin integrasi dan sinkronisasi, diperlukan manajemen proyek
yang baik.

4. Pengeluaran Awal yang Lebih Besar


Karena model evolusi memerlukan pengujian terus-menerus, umpan
balik pengguna, dan pembuatan prototipe, model tersebut mungkin
memerlukan biaya awal yang lebih besar. Hal ini mungkin menjadi masalah
bagi proyek- proyek yang memiliki pendanaan terbatas.

1
2.5. Reuse Based Development

Reuse Based Development pada pengembangan perangkat lunak adalah


pendekatan yang berfokus pada penggunaan kembali komponen perangkat lunak
yang sudah ada untuk mempercepat proses pengembangan dan meningkatkan
kualitas perangkat lunak yang dihasilkan. Model ini memanfaatkan komponen
perangkat lunak yang telah dikembangkan sebelumnya untuk digunakan kembali
pengembangan perangkat lunak baru.
Reuse Based Development mengacu pada proses pengembangan perangkat
lunak yang memanfaatkan kompnen, modul, fungsi, atau bahkan kerangka kerja
yang sudah ada. Komponen yang digunakan kembali bisa berasal dari proyek
internal sebelumnya, pihak ketiga, atau sumber terbuka. Tujuannya adalah
untuk mengurangi waktu pengembangan, menghemat biaya, dan meningkatkan
kualitas perangkat lunak dengan menggunakan komponen yang sudah teruji.

Tahapan model Reuse Based Development meliputi:


1. Identifikasi komponen yang dapat digunakan kembali.
2. Evaluasi komponen yang telah diidentifikasi.
3. Integrasi komponen ke dalam perangkat lunak yang sedang dikembangkan.
4. Pengujian untuk memastikan bahwa komponen yang digunakan kembali
berfungsi dengan baik.

Pengembangan perangkat lunak menggunakan model Reuse based


Development memiliki beberapa kelebihan, diantaranya adalah sebagai berikut:
1. Pengurangan Waktu dan Biaya Pengembangan
Dengan menggunakan komponen yang sudah ada, waktu dan biaya yang
diperlukan untuk pengembangan dapat dikurangi secara signifikan.

2. Kualitas yang Lebih Tinggi


Komponen yang digunakan kembali biasanya telah teruji dan terbukti,
sehingga mengurangi kemungkinan bug dan meningkatkan keandalan
perangkat lunak.

3. Konsistensi
Penggunaan kembali komponen memastikan konsistensi antara berbagai
bagian dari aplikasi atau antara aplikasi yang berbeda.

4. Fokus pada Aspek Penting


Dengan mengurangi kebutuhan untuk mengembangkan komponen dasar
dari awal, pengembang dapat fokus pada fitur dan fungsi yang unik dan
inovatif.

1
Pengembangan perangkat lunak menggunakan model Reuse based
Development memiliki beberapa kelemahan, diantaranya adalah sebagai berikut:
1. Ketergantungan: Ada risiko ketergantungan pada komponen pihak
ketiga, yang mungkin tidak diperbarui atau didukung di masa depan.
2. Integrasi: Mungkin sulit untuk mengintegrasikan komponen yang digunakan
kembali dengan aplikasi yang sedang dikembangkan, terutama jika
komponen tersebut tidak dirancang dengan penggunaan kembali yang
mudah.
3. Overhead: Terkadang, komponen yang digunakan kembali mungkin
terlalu umum atau terlalu besar, yang menyebabkan overhead yang tidak
perlu.
4. Lisensi: Masalah lisensi dapat muncul, terutama ketika menggunakan
komponen dari sumber terbuka atau pihak ketiga.

1
BAB III

PENUTUP

3.1. Kesimpulan

Dapat disimpulkan bahwa keberhasilan pengembangan perangkat lunak


bergantung pada pengelolaan proyek perangkat lunak secara keseluruhan.
Komponen metodologi pengembangan perangkat lunak terdiri dari metode, alat
bantu (Tools), dan prosedur. Tidak ada metodologi yang benar-benar
sesuai dengan semua jenis organsasi, sehingga dibutuhkan pendekatan lebih
lanjut untuk memilih metodologi mana yang paling sesuai untuk dapat
diterapkan pada organisasi tertentu.
Metodologi pengembangan perangkat lunak yang terdiri dari Linear
Sequential Model atau waterfall, Prototyping, Spiral, Evolutionary dan Reuse
Based Development memiliki perbandingan yang menunjukkan fitur kelebihan
dan kelemahan masing-masing. Pertimbangan pemilihan metodologi yang tepat
sesuai dengan kebutuhan dapat didasarkan pada kriteria penilaian yang terdiri
dari kejelasan persyaratan pengguna, keakraban dengan teknologi, sistem
kompleksitas, sistem keandalan, jadwal waktu singkat dan visibility jadwal
hingga mereferensi beberapa pendapat dari penelitian atau jurnal ilmiah.
Model pengembangan Waterfall cocok digunakan untuk sistem atau
perangkat lunak yang bersifat generik, artinya sistem dapat diidentifikasi semua
kebutuhannya dari awal dengan spesifikasi yang umum serta sesuai untuk
perangkat lunak yang memiliki tujuan untuk membangun sebuah sistem dari
awal yang mengumpulkan kebutuhan sistem yang akan dibangun sesuai dengan
topik penelitian yang dipilih sampai dengan produk tersebut diuji.
Model pengembangan Prototype lebih cocok untuk sistem atau perangkat
lunak yang bersifat customize, artinya software yang diciptakan berdasarkan
permintaan dan kebutuhan (bahkan situasi atau kondisi) tertentu dan sesuai
untuk perangkat lunak memiliki tujuan untuk mengimplementasikan sebuah
metode atau algoritma tertentu pada suatu kasus.
Model Spiral menggabungkan elemen dari model prototyping dan model
waterfall, dengan menekankan pada analisis risiko yang berkelanjutan. Ini
sangat cocok untuk proyek-proyek besar dan kompleks, di mana risiko harus
dikelola dengan hati-hati. Kelemahan dari model ini termasuk kompleksitas
dalam perencanaan dan potensi peningkatan biaya.
Model Evolutionary digunakan untuk proyek- proyek yang beroperasi dalam
lingkungan yang dinamis dan tidak pasti, di mana fleksibilitas dan kemampuan
untuk beradaptasi dengan perubahan adalah kunci. Pendekatan ini
memungkinkan tim untuk merespons dengan cepat terhadap umpan balik
pengguna, mengelola risiko secara efektif, dan secara bertahap meningkatkan
produk mereka seiring waktu.
Model pengembangan Reuse Based Development cocok untuk
pengembagan aplikasi yang memiliki timeline ketat yang dimana dalam situasi
waktu pengembangan adalah faktor krisis dan proyek dengan anggaran terbatas.

1
DAFTAR PUSTAKA

Alda, Muhammad. "IMPLEMENTASI SPIRAL PADA PENGEMBANGAN

APLIKASI SIMMPAN PINJAM BERBASIS ANDROID." JTT (Jurnal

Teknologi Terapan), vol. 9, no. 1, 1 Mar. 2023, pp. 63-74.

Budi, Darmawan S., et al. "Analisis Pemilihan Penerapan Proyek Metodologi

Pengembangan Rekayasa Perangkat Lunak." TEKNIKA, vol. 5,

no. 1, Nov. 2016, pp. 24-31.

Fikri, Ali, et al. "Pengembangan Sistem Informasi Aspirasi Online berbasis Web

Menggunakan Pemodelan Reuse- Oriented Development (Studi Kasus : DPM

Universitas Brawijaya)." Jurnal Pengembangan Teknologi Informasi dan Ilmu

Komputer, vol. 3, no. 2, Feb. 2019, pp. 1174-1183.

Iman, Arkaan N., and Trio A. Kurniawan. "Pengembangan Aplikasi untuk Mengukur

Reusability Perangkat Lunak menggunakan Object-Oriented Metric." Jurnal

Pengembangan Teknologi Informasi dan Ilmu Komputer, vol. 5,

no. 12, Dec. 2021, pp. 5468-5474.

Kresnala, Dany P., et al. "Rancang Bangun Laman Penyetaraan Ijazah Menggunakan

Metode Reuse-Based Software Development." Technomedia Journal (TMJ),

vol. 8, no. 2, Oct. 2023, pp. 276-292.

Niqotaini, Zatin. REKAYASA PERANGKAT LUNAK. Edited by Eri Mardiani, pdf, PT

Penamuda Media, 2023.

Nugroho, Eddy P., et al. Rekayasa Perangkat Lunak. Edited by Ade Hendraputra, pdf,

Politeknik Telkom, 2009.

Nur Hasanah, Fitria, and Rahmaniah Sri Untari. REKAYASA PERANGKAT LUNAK.

pdf, UMSIDA PRESS, 2020.

Pricillia, Titania, and Zulfachmi. "Survey Paper: Perbandingan Metode Pengembangan

Perangkat Lunak (Waterfall Prototype, RAD)." Bangkit Indonesia, 1 Mar. 2021,

pp. 6-12. Accessed 18 Mar.

2
Santoso, Heri. REKAYASA PERANGKAT LUNAK. pdf, PRODI Ilmu Komputer

UINSU, 2019.

Usada, Elisa, et al. "RANCANG BANGUN SISTEM INFORMASI JADWAL

PERKULIAHAN BERBASIS JQUERY MOBILE DENGAN

MENGGUNAKAN PHP DAN MySQL." Infotel, vol. 4, no. 2, pp. 40-51.

Accessed 2 Nov. 2012.

Wardani, Ratna. Rekayasa Perangkat Lunak. UNIVERSITAS NEGERI

YOGYAKARTA, 2012.

Billah, Ersandi. "SDLC Protoype." Medium, 24 Sept. 2019,

medium.com/@ersandibillah03/sdlc-protoype-8a3323c1ca33.

"Evolutionary Model - Software Engineering - GeeksforGeeks." GeeksforGeeks,

24 Jan. 2024, www.geeksforgeeks.org/software-engineering-evolutionary-

model/.

Larissa, Evelin F. "Metode Prototype: Pengertian, Kelebihan Dan

Kekurangan." HaloEdukasi.com, 26 Oct. 2021, haloedukasi.com/metode-

prototype.

Medcom.id. "Analisis Model Waterfall: Pengertian, Tahapan, Kelebihan Dan

Kekurangan." Osc.medcom.id, osc.medcom.id/community/analisis-model-

waterfall-pengertian-tahapan-kelebihan-dan-kekurangan-4352.

"Memahami System Development Life Cycle." Accounting, 19 May 2020,

accounting.binus.ac.id/2020/05/19/memahami-system-development-life-cycle/.

"Metode Pengembangan Perangkat Lunak." Labgis FTI Unand - Laboratory of

Geographic Information System - Fakultas Teknologi Informasi

Universitas Andalas, 28 Sept. 2017, labgis.si.fti.unand.ac.id/metode-

pengembangan- perangkat-lunak/.

"Model Proses RPL." Rplhlw117a03, 28 Sept. 2015,

rplhlw117a03.wordpress.com/2015/09/28/model-proses-rpl/.

2
"Pengembangan Sistem Spiral Model." School of Information Systems, 29 Apr. 2019,

sis.binus.ac.id/2019/04/29/pengembangan-sistem-spiral-model/.

"Reuse Oriented Model." GeeksforGeeks, 10 July 2020, www.geeksforgeeks.org/reuse-

oriented-model/.

Shilpa. "Evolutionary Model in Software Engineering." ArtOfTesting, 25 Sept. 2023,

artoftesting.com/evolutionary-model-in-software-engineering.

---. "Evolutionary Model in Software Engineering." ArtOfTesting, 25 Sept. 2023,

artoftesting.com/evolutionary-model-in-software-engineering.

Anda mungkin juga menyukai