Anda di halaman 1dari 20

MAKALAH

MODEL MODEL PENGEMBANGAN PERANGKAT LUNAK

DISUSUN UNTUK MEMENUHI TUGAS MATA KULIAH


REKAYASA PERANGKAT LUNAK

Dosen :

Herkules, S.Kom., M.Cs.

Disusun Oleh :

MUHAMMAD RAFFA SAPUTRA

(C2255201055)

KELAS B
PROGRAM STUDI TEKNIK INFORMATIKA
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
(STMIK) PALANGKA RAYA
DAFTAR ISI

DAFTAR ISI.................................................................................................................................. 1
BAB I .............................................................................................................................................. 2
1.1 Latar Belakang ...................................................................................................................... 2
1.2 Rumusan Masalah ................................................................................................................. 3
1.3 Tujuan.................................................................................................................................... 3
BAB II ............................................................................................................................................ 4
2.1 Model Waterfall .................................................................................................................... 4
2.2 Model Prototyping................................................................................................................. 7
2.3 Model Spiral ........................................................................................................................ 10
2.4 Model Evolutionary............................................................................................................. 12
2.5 Reuse Based Development .................................................................................................. 15
BAB III......................................................................................................................................... 17
3.1 Kesimpulan.......................................................................................................................... 17
DAFTAR PUSTAKA .................................................................................................................. 18

1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Rekayasa perangkat lunak (software engineering) adalah proses pembangunan
dengan menggunakan prinsip-prinsip rekayasa dengan tujuan menghasilkan perangkat
lunak yang memiliki nilai ekonomi, dapat dipercaya, dan beroperasi secara efisien
menggunakan mesin.
Menurut IEEE Computer Society, Rekayasa Perangkat Lunak (RPL) didefinisikan sebagai
penerapan suatu pendekatan yang sistematis, disiplin, dan terukur terhadap pengembangan,
penggunaan, dan pemeliharaan perangkat lunak, serta kajian atas pendekatan-pendekatan
tersebut, yakni penerapan pendekatan rekayasa terhadap perangkat lunak.
Fritz Bauer (NAU69) mendefinisikan RPL sebagai "Penerapan dan pemanfaatan prinsip
rekayasa untuk menghasilkan perangkat lunak yang ekonomis, andal, dan beroperasi secara
efisien pada mesin-mesin yang nyata."
Pengembangan perangkat lunak telah menjadi topik penting dan menarik perhatian dalam
dekade terakhir. Hal ini disebabkan oleh kemajuan teknologi informasi dan komunikasi
yang pesat, di mana perangkat lunak menjadi komponen kunci dalam berbagai sistem dan
aplikasi. Perkembangan teknologi seperti Internet of Things (IoT), kecerdasan buatan (AI),
big data, dan komputasi awan telah mendorong permintaan akan solusi perangkat lunak
yang inovatif dan efisien.
Proses pengembangan perangkat lunak melibatkan proses yang kompleks, dimulai dari
perencanaan, analisis kebutuhan, desain, implementasi, pengujian, hingga pemeliharaan.
Proses ini melibatkan tim pengembang yang terdiri dari berbagai peran seperti analis
sistem, desainer, pengembang, dan pengujian. Rekayasa perangkat lunak lebih fokus pada
praktik pengembangan perangkat lunak dan pengiriman perangkat lunak yang bermanfaat
kepada pelanggan, meningkatkan kepuasan pengguna, efisiensi operasional, dan
memberikan keunggulan kompetitif.
Dalam pengembangan atau rekayasa perangkat lunak, terdapat banyak metode yang
digunakan dalam setiap tahapannya. Metode rekayasa perangkat lunak adalah cara
perangkat lunak dibuat, apa yang diperlukan hingga perangkat lunak tersebut siap
digunakan, serta langkah-langkah apa yang harus dilakukan dalam prosesnya.
Dalam makalah ini, akan dibahas beberapa model pengembangan perangkat lunak yang
telah dikembangkan untuk membantu mengatur dan mengelola proses dalam
pengembangan perangkat lunak, serta memiliki kelebihan dan kelemahan masing-masing.

2
1.2 Rumusan Masalah
1. Apa itu pengembangan model waterfall?
2. Apa itu pengembangan model prototyping?
3. Apa itu pengembangan model spiral?
4. Apa itu pengembangan model evolutionary?
5. Apa itu pengembangan model rause based development?

1.3 Tujuan
1. Mengetahui tentang model model yang ada dalam pengembangan perangkat lunak.
2. Dapat mengerti dan dapat meyajikan karakteristik dari berbagai pengembangan
model pengembangan perangkat lunak.

3
BAB II
PEMBAHASAN
SDLC atau Software Development Life Cycle merupakan proses pengembangan atau
mengubah suatu sistem perangkat lunak dengan menggunakan model-model dan
metodologi tertentu. SDLC mencerminkan kemajuan usaha analisis dan desain dalam
pengembangan sistem, dengan fase-fase seperti perencanaan sistem, perancangan sistem,
implementasi sistem, dan pemeliharaan sistem. Dalam makalah ini, penulis akan
menjelaskan tiga model dalam SDLC, yaitu model waterfall, model prototype, dan model
spiral.

2.1 Model Waterfall


Model air terjun (waterfall), atau juga dikenal sebagai model sekuensial linier
(sequential linier) atau alur hidup klasik (classic life cycle), adalah salah satu model
pengembangan yang paling umum digunakan dalam rekayasa perangkat lunak. Model ini
mengikuti pendekatan linier dari tahap awal pengembangan, yaitu perencanaan, hingga
tahap akhir pengembangan, yaitu pemeliharaan. Dalam model air terjun (waterfall),
pengembangan perangkat lunak berlangsung secara sekuensial atau terurut, dimulai dari
analisis, desain, pengodean, pengujian, hingga tahap pendukung (support).
Berikut adalah gambar modal air terjun :

Ian Sommerville (2011) mengidentifikasi lima tahapan dalam Metode Waterfall,


yang meliputi Requirements Analysis and Definition, Sytem and Software Design,
Implementation and Unit Testing, Integration and System Testing, dan Operationa and
Maintenance.

4
Berikut adalah tahap-tahap Metode Waterfall :
1. Analisis Kebutuhan (Requirement Analysis)
Sebelum memulai pengembangan perangkat lunak, pengembang perlu memahami
kebutuhan pengguna terhadap perangkat lunak tersebut. Informasi kebutuhan
dikumpulkan melalui berbagai metode seperti diskusi, observasi, survei, dan
wawancara. Data yang terkumpul dianalisis hingga lengkap dan sesuai dengan
spesifikasi kebutuhan pengguna.

2. Desain Sistem dan Perangkat Lunak (System and Software Design)


Informasi dari analisis kebutuhan digunakan untuk merancang sistem dan
perangkat lunak. Desain ini memberikan gambaran lengkap tentang apa yang perlu
dilakukan. Tahap ini juga membantu dalam menyiapkan kebutuhan hardware untuk
arsitektur sistem perangkat lunak.

3. Implementasi dan Pengujian Unit (Implementation and Unit Testing)


Tahap ini melibatkan pembuatan program, yang dibagi menjadi modul-modul kecil
untuk kemudian digabungkan. Selain itu, dilakukan pengujian terhadap fungsionalitas
setiap modul untuk memastikan bahwa memenuhi kriteria yang diinginkan.

4. Integrasi dan Pengujian Sistem (Integration and System Testing)


Setelah modul-modul dikembangkan dan diuji, mereka diintegrasikan ke dalam
sistem secara menyeluruh. Setelah integrasi, dilakukan pengujian terhadap keseluruhan
sistem untuk mengidentifikasi kegagalan atau kesalahan.

5. Pengoperasian dan Pemeliharaan (Operation and Maintenance)


Tahap terakhir ini melibatkan operasionalisasi perangkat lunak oleh pengguna serta
pemeliharaan. Pemeliharaan memungkinkan pengembang untuk memperbaiki
kesalahan yang tidak terdeteksi sebelumnya, termasuk perbaikan kesalahan,
implementasi unit sistem, serta peningkatan dan penyesuaian sistem sesuai dengan
kebutuhan.

Pengembangan perangkat lunak menggunakan model waterfall memiliki


beberapa kelebihan, di antaranya :

- Tahapan proses pengembangannya tetap (pasti), mudah diaplikasikan, dan


prosesnya teratur.
- Cocok digunakan untuk produk perangkat lunak yang sudah jelas kebutuhannya
di awal, sehingga minim kesalahannya.
- Perangkat lunak yang dikembangkan dengan metode ini biasanya menghasilkan
kualitas yang baik.

5
- Dokumen pengembangan sistem sangat terorganisir, karena setiap fase harus
terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.

Pengembangan perangkat lunak menggunakan model waterfall juga memiliki


beberapa kelemahan, di antaranya :

- Proyek yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan,


sehingga perubahan yang terjadi dapat menyebabkan hasil yang sudah didapatkan
oleh tim pengembang harus diubah kembali atau iterasi sering menyebabkan
masalah baru.
- Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena
komitmen harus dilakukan pada tahap awal proses.
- Sulit untuk mengakomodasi perubahan kebutuhan yang diinginkan oleh
pelanggan.
- Pelanggan harus bersabar menunggu produk selesai, karena dikerjakan tahap per
tahap, dan proses pengerjaannya akan berlanjut ke setiap tahapan bila tahapan
sebelumnya sudah benar-benar selesai.
- Perubahan ditengah-tengah pengerjaan produk akan membuat bingung tim
pengembang yang sedang membuat produk.
- Ada waktu kosong (menganggur) bagi pengembang karena harus menunggu
anggota tim proyek lainnya menuntaskan pekerjaannya.

6
2.2 Model Prototyping
Model prototyping adalah teknik untuk mengumpulkan informasi tentang
kebutuhan pengguna dengan cepat, fokus pada penyajian aspek-aspek perangkat lunak
yang akan terlihat oleh pelanggan atau pengguna. Prototipe dievaluasi oleh pengguna dan
digunakan untuk menyaring kebutuhan pengembangan perangkat lunak. Prototipe
memberikan gambaran lengkap tentang cara sistem berfungsi dan membantu dalam
mencari masalah potensial.
Model ini memungkinkan pengguna untuk memahami tahapan pembuatan sistem dan
memastikan sistem beroperasi dengan baik. Prototyping digunakan untuk mendapatkan
representasi dari aplikasi yang akan dibuat dan memungkinkan evaluasi oleh pengguna
sebelum dilakukan pengembangan lebih lanjut. Meskipun cocok untuk menggali
spesifikasi kebutuhan pelanggan secara detail, model ini kurang cocok untuk aplikasi skala
besar karena memakan waktu dan biaya yang tinggi.

Seperti yang terlihat pada gambar di atas, metode prototyping melibatkan tiga siklus
utama, yaitu :

1. Listen to Customer
Tahap ini melibatkan identifikasi kebutuhan pengguna, yang penting untuk
membantu pengembang memahami keinginan dan masalah yang dihadapi pengguna.
Data yang diperoleh dari tahap ini menjadi dasar untuk mencari solusi dan
mengembangkan prototipe ke tahap berikutnya.

7
2. Build and Revise Mock Up
Setelah kebutuhan sistem teridentifikasi, langkah selanjutnya adalah membuat
rancangan prototipe yang sesuai dengan kebutuhan pengguna. Proses ini melibatkan :

- Perancangan alur proses sistem, termasuk input dan output yang diusulkan oleh
klien.
- Penggunaan Unified Modelling Language (UML) untuk mengidentifikasi
komponen sistem yang diperlukan dan bagaimana cara merealisasikannya.
- Perancangan antarmuka pengguna (UI) serta berbagai fitur yang diminta oleh
klien.

3. Customer Test Drives Mock-up


Tahap ini melibatkan pengujian prototipe sistem oleh pengguna dan evaluasi
apakah prototipe tersebut sesuai dengan harapan mereka. Jika hasil pengujian
menunjukkan bahwa prototipe belum memenuhi kebutuhan pengguna, pengembang
harus memperbaikinya. Iterasi ini berlanjut hingga prototipe dapat direalisasikan
menjadi sistem final yang memenuhi keinginan pengguna.

Tahapan dalam model prototyping adalah sebagai berikut :

1. Pengumpulan Kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format keseluruhan
perangkat lunak, semua kebutuhan, dan garis besar sistem yang akan dibuat.

8
2. Membangun Prototyping
Perancangan sementara dibuat dengan fokus pada presentasi kepada pelanggan,
seperti pembuatan input dan format output.

3. Evaluasi Prototyping
Prototipe dievaluasi oleh pelanggan, jika sesuai maka langkah selanjutnya diambil.
Namun, jika belum sesuai, prototipe direvisi dengan mengulang langkah-langkah
sebelumnya.

4. Mengkodekan Sistem
Prototipe yang disepakati diterjemahkan ke dalam bahasa pemrograman yang
sesuai.

5. Menguji Sistem
Setelah sistem menjadi perangkat lunak, proses pengujian dilakukan.

6. Evaluasi Sistem
Pelanggan mengevaluasi apakah perangkat lunak sudah sesuai dengan harapan.
Jika ya, maka proses dilanjutkan ke tahap selanjutnya. Namun, jika tidak, langkah
sebelumnya diulang.

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

Pengembangan perangkat lunak menggunakan model prototype memiliki beberapa


kelebihan, di antaranya :

- Pelanggan berpartisipasi aktif dalam pengembangan sistem, memungkinkan hasil


produk pengembangan lebih mudah disesuaikan dengan keinginan dan kebutuhan
pelanggan.
- Penentuan kebutuhan lebih mudah diwujudkan.
- Memperpendek waktu pengembangan produk perangkat lunak.
- Komunikasi yang baik antara pengembang dan pelanggan terjaga.
- Pengembang dapat bekerja lebih efisien dalam menentukan kebutuhan pelanggan.
- Lebih menghemat waktu dalam pengembangan sistem.
- Penerapan menjadi lebih mudah karena pelanggan mengetahui apa yang
diharapkannya.

9
Pengembangan perangkat lunak menggunakan model prototype memiliki beberapa
kelemahan, di antaranya :

- Proses analisis dan perancangan seringkali terlalu singkat.


- Kurang fleksibel dalam menghadapi perubahan.
- Meskipun pemakai melihat berbagai perbaikan dari setiap versi prototype, mereka
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.

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

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) :

10
1. Customer Communication
Kegiatan yang diperlukan untuk menjalin komunikasi yang baik antara pengguna
atau konsumen dan pengembang, terutama yang berkaitan dengan kebutuhan yang
terakhir.

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

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

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

5. Construction & Release


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

6. 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, di antaranya :

- Pembangunan dan perubahan perangkat lunak dapat diselesaikan secara sistematis.


- Estimasi biaya menjadi lebih mudah karena proses pembuatan prototipe yang jelas
dan terencana dalam tahapan yang sistematis.
- Manajemen dan analisis risiko dapat dilakukan dengan lebih cepat dan mudah.
- Mudah untuk melakukan perubahan kebutuhan dan dokumentasi.

11
Pengembangan perangkat lunak menggunakan model spiral juga memiliki beberapa
kekurangan, di antaranya :

- Tidak cocok dan sulit diimplementasikan dalam proyek kecil.


- Memakan waktu yang cukup lama.
- Memerlukan praktik terbaik atau pengalaman sebelumnya karena proses yang
sangat kompleks.
- Risiko dalam tahap perencanaan cukup besar, misalnya terjadi perbedaan dalam
jadwal pengembangan dan anggaran belanja.

2.4 Model Evolutionary


Model evolusioner merupakan kombinasi dari model Iteratif dan Inkremental
dalam siklus hidup pengembangan perangkat lunak. Dalam model ini, siklus
pengembangan dibagi menjadi iterasi yang lebih kecil, di mana pengguna dapat mengakses
produk pada akhir setiap siklus.
1. Pengguna memberikan umpan balik terhadap produk untuk tahap perencanaan
siklus berikutnya, dan tim pengembangan merespons dengan mengubah produk,
rencana, atau proses.
2. Seiring berjalannya waktu, produk perangkat lunak mengalami perkembangan.
3. Salah satu kelemahan umum dari semua model adalah durasi waktu yang tinggi dari
awal proyek hingga penyelesaian solusi.
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 secara bertahap.
6. Jumlah potongan yang dikirimkan ke pelanggan sangat besar.
7. Keuntungan utamanya adalah meningkatnya kepercayaan pelanggan karena mereka
terus-menerus mendapatkan produk yang dapat diukur sejak awal proyek untuk
memverifikasi dan memvalidasi kebutuhan mereka.
8. Model ini memungkinkan perubahan persyaratan dan memecah semua pekerjaan
menjadi bagian-bagian yang dapat dipelihara.

12
Penerapan Model Evolusioner

1. Model ini umumnya digunakan dalam proyek besar di mana mudah menemukan
modul untuk implementasi tambahan. Biasanya, model evolusioner digunakan
ketika pelanggan ingin mulai menggunakan fitur-fitur inti daripada menunggu
perangkat lunak lengkap.
2. Model evolusioner juga sering 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 harus jelas dan dijelaskan secara mendalam kepada tim
pengembang.
2. Mungkin ada perubahan kecil yang diperlukan di beberapa bagian, tetapi tidak
perubahan besar.
3. Karena memerlukan waktu, harus ada waktu tersedia untuk mengatasi kendala
pasar.
4. Risiko harus menjadi target yang tinggi dan berkesinambungan, yang harus dicapai
dan dilaporkan secara berulang kepada pelanggan.
5. Model ini biasanya digunakan ketika mengerjakan teknologi baru dan memerlukan
waktu untuk mempelajarinya.

13
Pengembangan perangkat lunak menggunakan model evolusioner memiliki beberapa
keuntungan, di antaranya :
1. Kemampuan Beradaptasi terhadap Perubahan Persyaratan:
Model evolusi efektif dalam proyek dengan persyaratan yang ambigu atau sering
berubah. Mereka mendukung penyesuaian dan fleksibilitas sepanjang pembangunan.

2. Distribusi Awal dan Bertahap


Komponen atau prototipe fungsional dapat dikirimkan lebih awal melalui
pengembangan bertahap. Hal ini memungkinkan umpan balik pengguna yang lebih
cepat dan dapat meningkatkan kepuasan pengguna.

3. Komentar dan Keterlibatan Pengguna


Model evolusioner menekankan masukan dan partisipasi pengguna, memastikan
bahwa perangkat lunak yang ditawarkan sesuai dengan kebutuhan dan harapan
pengguna.

4. Peningkatan Penanganan Proyek Sulit


Proyek besar dan kompleks dapat dikelola secara efektif dengan membaginya
menjadi bagian-bagian yang lebih kecil dan mudah dikelola.
Pengembangan perangkat lunak menggunakan model evolusioner juga memiliki
beberapa kekurangan, di antaranya :
1. Kesulitan Komunikasi:
Model evolusioner memerlukan kerja sama dan komunikasi yang terus-menerus,
yang mungkin kurang efektif jika terdapat kesenjangan komunikasi atau jika tim
tersebar secara geografis.

2. Ketergantungan pada Kelompok Ahli:


Dibutuhkan kelompok yang berpengalaman untuk dapat menyesuaikan diri dengan
cepat terhadap perubahan. Tim yang kurang berpengalaman mungkin akan kesulitan
menangani sifat dinamis model ini.

3. Meningkatnya Kompleksitas Manajemen:


Manajemen proyek yang baik diperlukan untuk mengelola kompleksitas dari
beberapa peningkatan atau iterasi, terutama dalam proyek-proyek besar.

4. Pengeluaran Awal yang Lebih Besar:


Model evolusi mungkin memerlukan biaya awal yang lebih besar karena pengujian
terus-menerus, umpan balik pengguna, dan pembuatan prototipe, yang bisa menjadi
masalah bagi proyek dengan pendanaan terbatas.

14
2.5 Reuse Based Development
Pendekatan Reuse Based Development pada pengembangan perangkat lunak
bertujuan untuk mempercepat proses pengembangan dan meningkatkan kualitas perangkat
lunak dengan memanfaatkan kembali komponen perangkat lunak yang telah ada. Model
ini memanfaatkan kembali komponen, modul, fungsi, atau kerangka kerja yang sudah ada,
baik berasal dari proyek internal sebelumnya, pihak ketiga, atau sumber terbuka. Dengan
memanfaatkan komponen yang sudah teruji, tujuan utamanya adalah mengurangi waktu
pengembangan, menghemat biaya, dan meningkatkan kualitas perangkat lunak yang
dihasilkan.

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, di antaranya :
1. Pengurangan Waktu dan Biaya Pengembangan
Dengan memanfaatkan komponen yang sudah ada, waktu dan biaya pengembangan
dapat dikurangi secara signifikan.

2. Kualitas yang Lebih Tinggi:


Komponen yang sudah teruji dan terbukti biasanya digunakan kembali, mengurangi
risiko bug dan meningkatkan keandalan perangkat lunak.

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

4. Fokus pada Aspek Penting:


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

Pengembangan perangkat lunak menggunakan model Reuse-based Development


memiliki beberapa kekuranggan, di antaranya :
1. Ketergantungan: Terdapat risiko ketergantungan pada komponen pihak ketiga
yang mungkin tidak diperbarui atau didukung di masa depan.

15
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 bisa terlalu umum atau
besar, menyebabkan overhead yang tidak perlu.
4. Lisensi: Masalah lisensi dapat muncul, terutama ketika menggunakan komponen
dari sumber terbuka atau pihak ketiga.

16
BAB III
PENUTUP
3.1 Kesimpulan
Dalam rangka mengembangkan perangkat lunak, tim pengembang menggunakan
berbagai model pengembangan seperti Waterfall, Prototype, Spiral, Evolutionary, dan
Reuse-based Development. Setiap model memiliki karakteristik, kelebihan, dan kelemahan
yang unik, yang memengaruhi cara proses pengembangan dilakukan.
Model Waterfall menawarkan pendekatan sekuensial yang terstruktur, yang
memungkinkan pengembang untuk melanjutkan dari satu tahap ke tahap berikutnya secara
linear. Meskipun model ini menawarkan kejelasan dan dokumen yang terorganisir dengan
baik, kekurangannya termasuk kurangnya fleksibilitas terhadap perubahan yang mungkin
terjadi.
Sebaliknya, Model Prototype fokus pada pembuatan prototipe yang cepat untuk
mendapatkan umpan balik pengguna sejak awal. Meskipun mempercepat waktu
pengembangan dan meningkatkan partisipasi pengguna, model ini sering mengalami
kurangnya analisis dan perencanaan yang mendalam.
Model Spiral menggabungkan aspek iteratif dan manajemen risiko yang kuat,
memungkinkan untuk pengembangan sistem secara bertahap sambil terus mengevaluasi
dan mengurangi risiko. Namun, proses ini memerlukan waktu yang cukup lama dan
kompleksitas yang tinggi.
Evolutionary Model memadukan pendekatan iteratif dan inkremental, memungkinkan
adaptasi yang lebih baik terhadap perubahan persyaratan dan distribusi bertahap kepada
pengguna. Namun, model ini dapat menghadapi kendala dalam komunikasi dan
manajemen yang kompleks.
Terakhir, Reuse-based Development bertujuan untuk mempercepat pengembangan dan
meningkatkan kualitas perangkat lunak dengan memanfaatkan kembali komponen yang
sudah ada. Meskipun mengurangi waktu dan biaya pengembangan serta meningkatkan
konsistensi, model ini dapat mengalami kendala dalam ketergantungan pada komponen
pihak ketiga dan integrasi yang sulit.
Dengan memahami kelebihan dan kekurangan masing-masing model, tim pengembang
dapat memilih pendekatan yang paling sesuai dengan kebutuhan dan karakteristik proyek
perangkat lunak yang sedang mereka kerjakan, sehingga dapat meningkatkan efisiensi dan
kualitas pengembangan secara keseluruhan.

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

18
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/.
"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.

19

Anda mungkin juga menyukai