Anda di halaman 1dari 13

MODEL MODEL PENGEMBANGAN PERANGKAT LUNAK

Disusun guna memenuhi tugas mata kuliah


Rekayasa peragkat Lunak
Dosen Pengampu:
Herkules, S.Kom., M.Cs.

Oleh:
Dahlia Febriani (C2255201081)

KELAS TI-B

PROGRAM STUDI INFORMATIKA KOMPUTER


SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
TAHUN 2024

1
Daftar Isi
Daftar Isi.....................................................................................................................................2
Latar belakang pengembangan perangkat lunak........................................................................3
Model Model Pengembangan Perangkat Lunak........................................................................4
Model waterfall...............................................................................................................................4

Model Prototyping..........................................................................................................................6

Model Evolutionary........................................................................................................................7

Model Spiral....................................................................................................................................8

Model Reuse Based Development..............................................................................................10

Kesimpulan..............................................................................................................................11
Daftar Pustaka..........................................................................................................................13

2
Latar belakang pengembangan perangkat lunak
Pengembangan perangkat lunak adalah cermin dari evolusi teknologi informasi yang
mengubah cara manusia berinteraksi, bekerja, dan menjalani kehidupan sehari-hari. Seiring
dengan kemajuan teknologi, perangkat lunak telah menjadi bagian tak terpisahkan dari
kehidupan modern, memberikan solusi untuk berbagai masalah dan meningkatkan efisiensi
dalam berbagai bidang. Pengembangan perangkat lunak dimulai pada awal abad ke-20, ketika
komputer pertama kali diperkenalkan. Pada masa itu, perangkat lunak dikembangkan secara
manual dan seringkali terbatas pada perangkat keras tertentu. Namun, seiring dengan
perkembangan teknologi komputer, pengembangan perangkat lunak berkembang pesat.
Pada tahun 1960-an dan 1970-an, terjadi peningkatan signifikan dalam pengembangan
perangkat lunak, terutama dalam menghadapi sistem-sistem yang semakin kompleks. Banyak
perusahaan dan organisasi mulai membangun sistem-sistem besar untuk memenuhi
kebutuhan mereka. Namun, banyak dari sistem-sistem tersebut mengalami kegagalan karena
kurangnya metodologi yang baik dalam pengembangan perangkat lunak pada waktu itu.
Pada awal tahun 1970-an, mulai muncul metodologi-metodologi pengembangan
perangkat lunak yang lebih baik, seperti model waterfall dan model spiral. Metodologi-
metodologi ini membawa pendekatan sistematis dalam pengembangan perangkat lunak,
memungkinkan pengembang untuk lebih terorganisir dan efisien dalam mengelola proyek-
proyek mereka.
Selama beberapa dekade berikutnya, pengembangan perangkat lunak terus
berkembang dengan pesat, didorong oleh inovasi teknologi dan perubahan dalam kebutuhan
pengguna. Perkembangan internet, komputasi cloud, kecerdasan buatan, dan teknologi
lainnya telah membuka peluang baru dalam pengembangan perangkat lunak.
Semakin berjalannya waktu pengembangan perangkat lunak menjadi lebih kompleks
dan terdiversifikasi. Pengembang perangkat lunak harus menghadapi tantangan dalam
mengelola proyek-proyek yang melibatkan berbagai platform, bahasa pemrograman, dan
teknologi. Namun, pada saat yang sama, mereka juga memiliki akses ke berbagai alat dan
framework yang memudahkan proses pengembangan.
Selain itu, pengembangan perangkat lunak juga dipengaruhi oleh tren-tren sosial,
ekonomi, dan budaya. Permintaan akan aplikasi mobile, e-commerce, media sosial, dan
teknologi-teknologi lainnya terus tumbuh, mendorong inovasi dan pengembangan baru dalam
industri perangkat lunak.

3
Dengan demikian, pengembangan perangkat lunak tidak hanya menjadi kebutuhan,
tetapi juga menjadi salah satu pendorong utama dalam transformasi digital global. Dengan
terus berinovasi dan mengikuti perkembangan teknologi dan kebutuhan pasar, pengembang
perangkat lunak dapat memainkan peran kunci dalam membentuk masa depan teknologi
informasi yang lebih baik.

Model Model Pengembangan Perangkat Lunak


Model waterfall
Model waterfall adalah salah satu dari beberapa model proses pengembangan
perangkat lunak yang paling awal dan paling terkenal. merupakan model proses linier yang
terdiri dari serangkaian fase atau tahap yang harus diikuti secara berurutan. Setiap fase dalam
model waterfall hanya dimulai setelah fase sebelumnya selesai dan diverifikasi.
Menurut Pressman (2015:42), model waterfall adalah model klasik yang
bersifat sistematis, berurutan dalam membangun software. Nama model ini sebenarnya
adalah “Linear Sequential Model”. Model ini sering disebut juga dengan “classic life cycle”
atau metode waterfall. Model ini termasuk ke dalam model generic pada rekayasa perangkat
lunak dan pertama kali diperkenalkan oleh Winston Royce sekitar tahun 1970 sehingga sering
dianggap kuno, tetapi merupakan model yang paling banyak dipakai dalam Software
Engineering (SE). Model ini melakukan pendekatan secara sistematis dan berurutan. Disebut
dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap
sebelumnya dan berjalan berurutan.
Fase-fase dalam Waterfall Model menurut referensi Pressman:
1. Communication
2. Planning
3. Modeling
4. Construction
5. Deployment

Keuntungan menggunakan metode waterfall adalah:


1. Prosesnya lebih terstruktur, hal ini membuat kualitas software baik dan tetap terjaga.
2. Dari sisi user juga lebih menguntungkan, karena dapat merencanakan dan
menyiapkan kebutuhan data dan proses yang diperlukan sejak awal.

4
3. Penjadwalan juga menjadi lebih menentu, karena jadwal setiap proses dapat
ditentukan secara pasti. Sehingga dapat dilihat jelas target penyelesaian
pengembangan program.
4. Dengan adanya urutan yang pasti, dapat dilihat pula perkembangan untuk setiap tahap
secara pasti.
5. Model ini merupakan jenis model yang bersifat dokumen lengkap sehingga proses
pemeliharaan dapat dilakukan dengan mudah.

Kelemahan menggunakan metode waterfall adalah:


1. Bersifat kaku, sehingga sulit melakukan perubahan di tengah proses.
2. Membutuhkan daftar kebutuhan yang lengkap sejak awal.

Kapan sebaiknya metode waterfall digunakan? Ada teori-teori yang menyimpulkan beberapa
hal, yaitu :
1. Ketika semua persyaratan yang diajukan sudah dipahami dengan baik pada awal
pengembangan program.
2. Definisi produk bersifat stabil dan tidak ada perubahan yang dilakukan saat
pengembangan untuk alasan apapun . Oleh karena itu , teknologi yang digunakan
juga harus sudah dipahami dengan baik.
3. Menghasilkan produk baru , atau produk dengan versi baru . sebenarnya , jika
menghasilkan produk dengan versi baru , maka itu sudah termasuk incremental
development , yang setiap tahapannya sama dengan metode waterfall kemudian
diulang – ulang.
4. Port-ing produk yang sudah ada ke dalam platform baru.

Dari bahasan diatas, metode waterfall dianggap pendekatan yang lebih cocok
digunakan untuk proyek pembuatan sistem baru dan juga pengembangan software dengan
tingkat resiko yang kecil serta waktu pengembangan yang cukup lama. Tetapi salah satu
kelemahan paling mendasar adalah menyamakan pengembangan hardware dan software
dengan meniadakan perubahan saat pengembangan. Padahal, error diketahui saat software
dijalankan, dan perubahan-perubahan akan sering terjadi.

5
Model Prototyping
Model prototyping adalah pendekatan pengembangan produk yang melibatkan
pembuatan versi awal atau prototipe dari produk yang direncanakan sebelum produk
sebenarnya dibuat. Pendekatan ini memiliki tujuan untuk menguji dan mengumpulkan umpan
balik tentang konsep, fitur, dan fungsi produk sebelum produksi massal dilakukan.
Pendekatan prototyping model digunakan jika pemakai hanya mendefenisikan
objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan
outputnya, sementara pengembang tidak begitu yakin akan efesiensi algoritma, adaptasi
sistem operasi, atau bentuk antarmuka manusia-mesin yang harus diambil.

Cakupan aktivitas dari prototyping model terdiri dari :


1. Mendefinisikan objektif secara keseluruhan dan mengidentifikasi kebutuhan yang
sudah diketahui.
2. Melakukan perancangan secara cepat sebagai dasar untuk membuat prototype. Modul
Rekayasa Perangkat Lunak Halaman 9 dari 64
3. Menguji coba dan mengevaluasi prototype dan kemudian melakukan penambahan dan
perbaikan-perbaikan terhadap prototype yang sudah dibuat.

Tujuan Model Prototyping:


- Mengidentifikasi dan mengatasi masalah sejak awal pengembangan.
- Mempertegas kebutuhan pengguna dan pemangku kepentingan.
- Mengurangi risiko pengembangan produk.
- Meningkatkan kualitas produk akhir.
- Mempercepat waktu ke pasar.

Jenis-jenis Prototipe:
1. Prototipe Horizontal: Menampilkan fitur-fitur dari sistem namun dengan sedikit
detail. Biasanya digunakan untuk menunjukkan tata letak dan navigasi.
2. Prototipe Vertikal: Fokus pada fitur-fitur tertentu dari sistem dan menyajikan detail
yang lebih besar pada fitur-fitur tersebut.
3. Prototipe Spiral: Gabungan antara prototipe horizontal dan vertikal yang
dikembangkan dalam siklus iteratif.

6
Keuntungan Model Prototyping:
- Dapat mengidentifikasi kebutuhan pengguna dengan lebih baik.
- Mempercepat proses pengembangan produk.
- Mengurangi risiko pengembangan produk.
- Meningkatkan komunikasi antara pengembang dan pengguna.

Tantangan Model Prototyping:


- Memerlukan waktu dan sumber daya tambahan untuk membuat prototipe.
- Kemungkinan kehilangan fokus pada tujuan pengembangan.
- Risiko prototipe menjadi "produk" yang diterima secara luas, padahal belum siap.

Model Evolutionary
Model evolusioner dalam rekayasa perangkat lunak adalah pendekatan pengembangan
perangkat lunak yang berfokus pada iterasi bertahap, di mana produk dikembangkan secara
bertahap dan terus-menerus berdasarkan umpan balik dari pengguna dan pemangku
kepentingan. Pendekatan ini mirip dengan evolusi organisme dalam alam, di mana organisme
berkembang dan beradaptasi dengan lingkungan mereka seiring waktu.

Tujuan:
1. Mengakomodasi Perubahan: Model evolusioner dirancang untuk mengakomodasi
perubahan yang mungkin terjadi dalam kebutuhan atau lingkungan bisnis seiring
waktu.
2. Meningkatkan Kepuasan Pengguna: Dengan umpan balik pengguna yang terus-
menerus, tujuan utama adalah menghasilkan produk yang lebih sesuai dengan harapan
dan kebutuhan pengguna.
3. Mengurangi Risiko: Dengan pendekatan iteratif, risiko proyek dapat dikurangi karena
masalah atau kegagalan dapat diidentifikasi lebih awal dan diperbaiki sebelum
memasuki tahap lanjut.
4. Meningkatkan Kualitas: Dengan pengujian terus-menerus dan perbaikan
berkelanjutan, tujuan utama adalah meningkatkan kualitas keseluruhan produk.

7
Kelebihan:
1. Model evolusioner memungkinkan fleksibilitas yang lebih besar dalam menghadapi
perubahan kebutuhan atau prioritas bisnis.
2. 3Dengan iterasi yang cepat, umpan balik pengguna dapat diterima dan
diimplementasikan dengan cepat, mengarah pada produk yang lebih relevan dan
bermanfaat.
3. Produk dapat secara organik berkembang seiring waktu dengan penambahan fitur atau
perbaikan secara bertahap.
4. Risiko proyek dapat dikurangi karena masalah atau kegagalan dapat diidentifikasi
lebih awal dalam siklus pengembangan.
5. Dengan fokus pada kebutuhan pengguna dan umpan balik yang terus-menerus, model
ini sering menghasilkan produk yang lebih memuaskan bagi pengguna.

Kelemahan:
1. Memerlukan manajemen proyek yang kuat untuk mengatur dan mengoordinasikan
serangkaian iterasi dan umpan balik pengguna.
2. Karena sifat iteratif dan perubahan yang mungkin terjadi, seringkali sulit untuk
memperkirakan waktu dan biaya secara akurat.
3. Kinerja model ini sangat bergantung pada umpan balik yang baik dari pengguna dan
pemangku kepentingan lainnya. Tanpa umpan balik yang memadai, risiko produk
yang tidak sesuai dengan harapan meningkat.
4. Dengan fokus pada fleksibilitas, pengendalian perubahan dapat menjadi tantangan
karena dapat terjadi perubahan yang tidak terkendali atau berlebihan.

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. Dalam
rekayasa perangkat lunak model spiral menggabungkan elemen-elemen dari model waterfall
dengan pendekatan iteratif. Pendekatan ini dikenal dengan ciri khasnya yang menekankan
pada manajemen risiko proyek yang lebih efektif.

8
Spiral model dibagi menjadi 6 aktivitas kerangka kerja sebagai berikut:
1. Komunikasi dengan pemakai
2. Perencanaan
3. Analsis resiko
4. Rekayasa
5. Konstruksi dan pelepasan
6. Evaluasi

Tujuan:
1. Tujuan utama dari model Spiral adalah mengidentifikasi, mengelola, dan mengurangi
risiko proyek secara efektif sepanjang siklus pengembangan.
2. Dengan fokus pada evaluasi dan perbaikan terus-menerus, model Spiral bertujuan
untuk menghasilkan produk perangkat lunak yang berkualitas tinggi.
3. Model ini dirancang untuk mengakomodasi perubahan kebutuhan atau spesifikasi
yang mungkin terjadi selama pengembangan.

Kelebihan:
1. Model Spiral membantu dalam mengidentifikasi dan mengurangi risiko sejak dini
dalam proses pengembangan, mengarah pada pengelolaan risiko yang lebih efektif.
2. Pendekatan iteratif memungkinkan perubahan kebutuhan untuk diakomodasi dengan
lebih mudah daripada dalam model waterfall.
3. Dengan siklus evaluasi berulang, model Spiral membantu dalam meningkatkan
kualitas produk secara keseluruhan.
Kelemahan spiral model:
1. Sulit untuk meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan pendekatan
ini akan dapat dikendalikan.
2. Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya
supaya sukses.
3. Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.

Penerapan model Spiral biasanya lebih tepat untuk proyek-proyek besar atau kompleks
dengan tingkat risiko yang tinggi, di mana manajemen risiko yang efektif dan fleksibilitas
dalam pengembangan menjadi prioritas utama.

9
Model Reuse Based Development
Model Reuse Based Development (Pengembangan Berbasis Pemakaian Kembali)
dalam rekayasa perangkat lunak adalah pendekatan pengembangan yang menekankan
penggunaan kembali komponen perangkat lunak yang sudah ada untuk membangun sistem
baru. Pendekatan ini didasarkan pada konsep penggunaan kembali artefak perangkat lunak
seperti kode, desain, atau komponen lainnya, yang telah dikembangkan dan diuji sebelumnya.

Tujuan:
1. Model Reuse Based Development bertujuan untuk meningkatkan produktivitas
pengembangan perangkat lunak dengan memanfaatkan kembali komponen-komponen
yang sudah ada daripada membangun semuanya dari awal.
2. Dengan menggunakan komponen perangkat lunak yang sudah teruji, model ini
bertujuan untuk meningkatkan kualitas sistem yang sedang dikembangkan.
3. Dengan menghindari pengembangan ulang dan memanfaatkan kembali komponen
yang sudah ada, model ini bertujuan untuk mengurangi biaya dan waktu yang
diperlukan untuk pengembangan perangkat lunak.

Kelebihan:
1. Dengan menggunakan kembali komponen yang sudah ada, model ini dapat
mempercepat waktu pengembangan sistem baru.
2. Penggunaan komponen yang sudah teruji dapat meningkatkan kualitas dan keandalan
sistem yang dikembangkan.
3. Dengan menghindari pengembangan ulang, model ini dapat menghemat sumber daya
perusahaan seperti waktu, uang, dan tenaga kerja.

Kelemahan:
1. Keberhasilan model ini sangat bergantung pada ketersediaan komponen yang sesuai
untuk penggunaan kembali. Jika komponen yang dibutuhkan tidak tersedia,
pengembang harus membangunnya sendiri.
2. Integrasi komponen yang sudah ada ke dalam sistem baru dapat menjadi kompleks
terutama jika tidak ada dokumentasi yang memadai atau jika ada perbedaan dalam
arsitektur atau teknologi.

10
3. Meskipun komponen yang sudah ada mungkin teruji, tidak ada jaminan bahwa
mereka akan sesuai dengan kebutuhan sistem yang sedang dikembangkan. Validasi
dan verifikasi diperlukan untuk memastikan kualitasnya.

Model Reuse Based Development sering kali menjadi pilihan yang baik untuk organisasi
yang memiliki inventarisasi komponen perangkat lunak yang kaya dan ingin meningkatkan
efisiensi pengembangan serta mengurangi biaya dan risiko. Namun, kesuksesan implementasi
model ini tergantung pada ketersediaan komponen yang sesuai, integrasi yang efisien, dan
validasi yang cermat terhadap komponen yang digunakan kembali.

Kesimpulan
Kesimpulan dari empat model pengembangan perangkat lunak yang telah dibahas adalah
sebagai berikut:

1. Model Waterfall: Model Waterfall menawarkan pendekatan yang linear dan


berurutan dalam pengembangan perangkat lunak. Meskipun struktur yang jelas dapat
membantu dalam perencanaan dan manajemen proyek, kurangnya fleksibilitas untuk
mengakomodasi perubahan kebutuhan atau masalah yang muncul selama
pengembangan menjadi kelemahan utama. Model ini cocok digunakan untuk proyek
dengan kebutuhan yang jelas dan tidak mungkin berubah.

2. Model Prototyping: Model Prototyping memberikan pendekatan yang iteratif dalam


pengembangan perangkat lunak, dengan membuat versi awal produk yang sederhana
dan cepat untuk mendapatkan umpan balik pengguna. Kelebihan model ini termasuk
kemampuan untuk menguji konsep secara cepat dan meningkatkan kepuasan
pengguna, namun kurangnya pengendalian dalam pengembangan dapat menyebabkan
risiko pengembangan yang tidak terkendali.

3. Model Spiral: Model Spiral menekankan manajemen risiko yang efektif dengan
pendekatan iteratif yang berulang. Model ini cocok digunakan untuk proyek-proyek
dengan tingkat risiko yang tinggi dan memerlukan fleksibilitas dalam pengembangan.

11
Namun, kompleksitas manajemen proyek dan biaya yang lebih tinggi mungkin
menjadi tantangan dalam penerapannya.

4. Model Reuse Based Development: Model Reuse Based Development


menggunakan kembali komponen perangkat lunak yang sudah ada untuk
mempercepat waktu pengembangan, meningkatkan kualitas, dan mengurangi biaya.
Kelebihan model ini termasuk pengurangan waktu pengembangan dan peningkatan
kualitas, namun ketergantungan pada ketersediaan komponen yang sesuai dan
integrasi yang kompleks dapat menjadi tantangan.

Dalam memilih model pengembangan yang sesuai, tim pengembangan


perangkat lunak perlu mempertimbangkan karakteristik proyek, kebutuhan sistem,
dan lingkungan pengembangan. Tidak ada model yang sempurna untuk semua situasi,
dan seringkali organisasi menggunakan kombinasi dari model-model ini atau
mengadaptasikan pendekatan mereka sesuai dengan kebutuhan spesifik proyek.

12
Daftar Pustaka
Boehm, B. W. (1988). "A Spiral Model of Software Development and Enhancement." ACM
SIGSOFT Software Engineering Notes, 11(4), 14-24.
Nugroho, E. P., Ratnasari, K., Ramadhani, K. N., & Putro, B. L. (2009). Rekayasa Perangkat
Lunak.
Pressman , edisi 2015.

13

Anda mungkin juga menyukai