Uploaded by User72037

Makalah RPL Proses Pengembangan Software

advertisement
MAKALAH REKAYASA PERANGKAT LUNAK (RPL)
PROSES PENGEMBANGAN SOFTWARE
(MODEL WATERFALL, SPIRAL, DAN RATIONAL UNIFIED PROCESS)
Dosen Pembimbing:
Imam Rofi'i, S.Kom, M.Kom
Oleh:
Sitti Zuhra (8040180134)
07PS5
SISTEM INFORMASI
UNIVERSITAS DINAMIKA BANGSA
JAMBI
2020
BAB I
PENDAHULUAN
A. Latar Belakang
Pada era teknologi yang sedang terjadi saat ini terjadi banyak pembaharuanpembaharuan
dari system yang telah ada maupun munculnya system yang baru.Dalam perancangan sistem
ada beberapa hal yang sangat membatasi berkembangnyasebuah sistemdiperlukan cosr atau
pengeluaran yang besar, serta sumber daya yangterbatas memaksa perancag sistem berpikir
keras agar input dan output dari sistemtersebut seimbang oleh karena itu diperlukan
permodelan dalam perancangan sebuahsistem dimana berguna sebagai evisiensi dari sumber
daya yang ada sehingga tidakada pemborosan.Permodelan dalam perancangan sebuah sistem
adalah cara- cara tau tahapantahapan yang dikenalkan yang nantinya berguna sebagai panutan
atau landasan dalampembuatan sistem. Kelebihan penggunaan permodelan dalam pembuatan
suatu sistemdiantaranya meningkatkan evisiensi serta keefektifan perancang dalam
membuatranncangan serta perancang dapat menyesuaikan besarnya sumber daya
dengansistem yang akan dibuat. Selain itu permodelan perancangan juga
memberikanpenekanan atau penghematan terhadap cost yang akan dikeluarkan. Hal baik
lainnyasistem dapat berjalan lebih baik dan terstuktur serta tentunya berjalan lebih efisien
B. Rumusan Masalah
Adapun rumusan masalah pada makalah ini, yaitu:
1. Mengetahui hal-hal terkait model waterfall
2. Mengetahui hal-hal terkait model spiral
3. Mengetahui hal-hal terkait model RUP (Rational Unified Process)
BAB I
PEMBAHASAN
A. Model Waterfall
Model rekayasa piranti lunak yang diuraikan oleh Roger S. Pressman (1992: 24) salah
satunya adalah waterfall model. Model ini memberikan pendekatan-pendekatan sistematis
dan berurutan bagi pengembangan piranti lunak.
Model waterfall atau sering kali disebut sebagai classic life cycle adalah model
pengembangan perangkat lunak yang menekankan fase-fase yang berurutan dan sistematis,
dimulai dari spesifikasi kebutuhan konsumen dan berkembang melalui proses perencanaan
(planning), pemodelan (modelling), pembangunan (construction), dan penyebaran
(deployment), yang berujung pada dukungan terus menerus untuk sebuah perangkat lunak
yang utuh. Model ini dapat digunakan pada saat kebutuhan untuk sebuah masalah telah
dipahami dengan baik, dan pekerjaan dapat mengalir secara linear dari proses komunikasi
hingga penyebaran (deployment). Situasi ini ditemui saat adaptasi atau perpanjangan dari
sistem yang ada sudah terdefinisi dengan baik. Adapun model ini juga dapat digunakan pada
situasi di mana dibutuhkan usaha yang terbatas untuk pengembangan perangkat lunak, namun
kebutuhan perangkat lunak sudah terdefinisi dengan baik dan cenderung stabil. Namun,
dalam pengembangan perangkat lunak, model ini cenderung menjadi salah satu pendekatan
yang kurang iteratif dan fleksibel, karena proses mengalir satu arah ("ke bawah" seperti
waterfall).
1.
Manfaat Model Waterfall
Selain karena pengaplikasian menggunakan model ini mudah kelebihan dari model ini
adalah ketikasemua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit, dan benar di
awal project maka SE dapat berjalan dengan baik dan tanpa masalah. Meskipun seringkali
kebutuhan sistem tidak dapat didefinisikan seeksplisit yang diinginkan, tetapi paling tidak
problem pada kebutuhan sistem di awal project lebih ekonomis dalam hal uang & lebih
murah (usaha dan waktu yang terbuang lebih sedikit jika dibandingkan problem yang muncul
pada tahap-tahap selanjutnya.
Keunggulan Model pendekatan pengembangan software metode waterfall adalah
pencerminan kepraktisan rekayasa , yang bisa membuat kualitas software tetap terjaga. Jenis
model yang bersifat lengkap sehingga proses pemeliharaan nya lebih mudah.
2.
Sifat dan Karakteristik Model Waterfall
Dalam model ini terdapat beberapa sifat-sifat yang menojol dan cenderung menjadi
permasalahan pada model waterfall.
Ketika problem muncul, maka proses berhenti karena tidak dapat menuju ke tahapan
selanjutnya. Apabila terdapat kemungkinan problem tersebut muncul akibat kesalahan dari
tahapan sebelumnya, maka proses harus membenahi tahapan sebelumnya agar problem ini
tidak muncul. Karena pendekatannya secara sequential, maka setiap tahap harus menunggu
hasil dari tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama, artinya bagian
lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahap sebelumnya.
3.
Gambar Model
Penjelasan dari Gambar Model:
1) Tahapan Analisis
Tahapan analisis mengacu pada fenomena dan juga permasalahan yang terjadi, dan
mengapa sebuah aplikasi sangat penting untuk dibuat dalam mengatasi masalah atau
fenomena tersebut. Kemampuan analisis tidak tidak hanya dibebankan pada
programmer saja, namun bisa juga dibebankan pada ahli ekonomi dan juga sosial
politik.
2) Tahapan Desain
Tahapan berikutnya adalah pembuatan desain dari sebuah sistem. Dalam tahapan ini,
tidak hanya desain interface sistemnya saja yang dkembangkan, namun juga
dikembangkan desain dari alur sistem tersebut, hingga bagaimana satu sistem tersebut
bisa bekerja, mulai dari tampilan awal, fungsi-fungsi tombol, hingga ioutput yang
akan dihasilkan nantinya.
3) Tahapan Pengkodean
Pengkodean merupakan tahapan yang wajib dilakukan oleh mereka yang
mengerti bahasa pemrograman, Untuk menjalankan desain sistem yang sudah dibuat,
maka kemudian kode dan juga script akan dimasukkan ke dalam desain sistem
tersebut, sehingga nantinya desain dari sistem tersebut bisa berjalan dengan lancar dan
juga baik.
4) Tahapan Pengujian
Setelah sistem selesai dilakukan pengkodean, maka sistem tersebut akan diuji
sebelum dilemparkan ke dalam pasaran untuk digunakan oleh user. Dalam pengujian
dilihat apakah sistem dapat bekerja dengan baik, tampilan interface sesuai harapan,
dan semua fungsinya bisa digunakan dengan baik dan lancar.
5) Tahapan Supporting
Tahapan supporting mengacu pada update – update dari sebuah sistem yang mungkin
mengalami kerusakan, perbaikan terhadap sistem yang mengalami corrupt dan
kerusakan, serta penambahan fitur – fitur baru pada sistem tersebut. Tahap supporting
sangat ditentukan oleh kebutuhan dari user, dan apabila sebuah sistem memiliki
support yang baik, maka sistem tersebut akan berkembang dengan sangat baik.
4.
Kelebihan dan Kekurangan Model
Sebagai sebuah metode dalam mengembangkan sistem, tentu saja metode waterfall
memiliki beberapa kelemahan dan juga kelebihan.
Berikut ini adalah beberapa kelebihan dari metode waterfall dalam mengembangkan sistem:
Waktu yang dihabiskan di awal siklus pengembangan perangkat lunak dapat mengurangi
biaya pada tahap selanjutnya. Misalnya, masalah yang ditemukan pada tahap awal (seperti
spesifikasi kebutuhan) lebih murah untuk diperbaiki daripada bug yang sama yang ditemukan
kemudian dalam proses (dengan faktor 50 hingga 200). Dalam praktik umum, model
waterfall menghasilkan jadwal proyek dengan 20–40% dari waktu yang diinvestasikan untuk
dua fase pertama, 30–40% dari waktu untuk pengkodean, dan sisanya didedikasikan untuk
pengujian dan implementasi. Organisasi proyek yang sebenarnya perlu sangat terstruktur.
Sebagian besar proyek menengah dan besar akan mencakup serangkaian prosedur dan kontrol
terperinci, yang mengatur setiap proses pada proyek.
Argumen lebih lanjut untuk model waterfall adalah bahwa ia menekankan pada
dokumentasi (seperti dokumen kebutuhan dan dokumen desain) serta kode sumber. Dalam
metodologi yang dirancang dan didokumentasikan secara kurang teliti, pengetahuan akan
hilang jika anggota tim pergi sebelum proyek selesai, dan mungkin sulit bagi proyek untuk
pulih dari kehilangan. Jika ada dokumen desain yang berfungsi penuh, maka anggota tim
baru atau bahkan tim yang sama sekali baru harus dapat membiasakan diri dengan membaca
dokumen. Model waterfall memberikan pendekatan terstruktur; model itu sendiri berkembang
secara linier melalui fase-fase yang terpisah, mudah dimengerti dan dapat dijelaskan sehingga
dengan demikian mudah dipahami; hal itu juga memberikan tonggak yang mudah
diidentifikasi dalam proses pengembangan. Mungkin karena alasan inilah model waterfall
digunakan sebagai contoh awal dari model pengembangan dalam banyak teks dan kursus
rekayasa perangkat lunak.
Berikut ini adalah beberapa kelebihan dan juga kekurangan dari metode waterfall dalam
mengembangkan sistem:
Klien mungkin tidak tahu persis apa kebutuhan mereka sebelum mereka melihat
perangkat lunak yang berfungsi dan karenanya mengubah kebutuhan mereka, yang mengarah
ke pendesainan ulang, pengembangan kembali, dan pengujian ulang, dan peningkatan biaya.
Desainer mungkin tidak menyadari kesulitan di masa depan ketika merancang produk atau
fitur perangkat lunak baru, dalam hal ini lebih baik untuk merevisi desain daripada bertahan
dalam desain yang tidak memperhitungkan kendala, kebutuhan, atau masalah yang baru
ditemukan. Organisasi dapat berupaya untuk mengatasi kurangnya kebutuhan konkret dari
klien dengan menggunakan analis sistem untuk memeriksa sistem manual yang ada dan
menganalisis apa yang mereka lakukan dan bagaimana mereka dapat diganti. Namun, dalam
praktiknya, sulit untuk mempertahankan pemisahan yang ketat antara analisis dan
pemrograman sistem
B. Model Spiral
Model spiral adalah generator model proses berbasis risiko yang digunakan untuk
memandu rekayasa perangkat lunak bersama berbagai pemangku kepentingan dari sistem
intensif. Model ini memiliki dua fitur pembeda utama. Salah satunya adalah pendekatan
siklis untuk menumbuhkan tingkat definisi dan implementasi sistem secara bertahap
sambil mengurangi tingkat risikonya. Yang lainnya adalah serangkaian tonggak jangkar
poin untuk memastikan komitmen pemangku kepentingan untuk solusi sistem yang layak
dan saling memuaskan. Model spiral awalnya diusulkan oleh Barry Boehm, model spiral
adalah model proses perangkat lunak evolusioner yang memadukan sifat iteratif dari
prototyping dengan aspek terkontrol dan sistematis dari model waterfall. Hal ini
memberikan potensi untuk pengembangan versi perangkat lunak yang semakin lengkap.
1. Manfaat
Manfaat model spiral adalah untuk melakukan perubahan, penambahan dan
pengembangan perangkat lunak dengan memaksimalkan aspek kecepatan dan
ketepatan berdasarkan keinginan dan kebutuhan penggunanya.
2. Sifat dan Karakteristik
Karakteristik Spiral model adalah penggabungan antara prototyping model dan
waterfall model , metode iterasi yang ada pada prototyping model dan tahap sistematis
yang digunakan dalam waterfall model digabungkan menjadi satu sehingga
menciptakan model baru.
3. Gambar dan Penjelasan Model
Dalam penerapan Model Spiral, terdapat lima tahapan untuk merealisasikan
penggunaannya, yaitu sebagai berikut:
1. Tahap Liason
Tahap ini berhubungan dengan komunikasi antara pihak-pihak yang terlibat dalam
pengembangan softaware (seperti: system analyst) dengan pelanggan (user).
Tujuannya adalah memperbaiki dan mengembangan software sesuai kebutuhan dan
keinginan hingga memuaskan pelanggan.
2. Tahap planning
Tahap perencanaan meliputi estimasi biaya yang digunakan, batas waktu, pengaturan
jadwal, identifikasi lingkungan kerja, sumber-sumber informasi untuk melakukan
iterasi (Teknik perulangan). Hasil dari tahapan ini adalah dokumen spesifikasi
kebutuhan sistem dan bisnis.
3. Tahap analisis risiko
Tahap analisis reisiki berfungsi untuk mengidentifikasi resiko yang berpotensi akan
terjadi dan menghasilkan solusi alternatif secara teknis dan manajemen saat strategi
mitigasi (upaya untuk mengurangi resiko bencana) direncanakan dan diselesaikan.
4. Tahapan rekayasa (engineering)
Pada tahap rekayasa, beberapa kegiatan ini yang akan dilakukan, yaitu:
 Menguji, coding dan mengembangkan software
 Menginstal software
 Membuat prototype
 Mendesain dokumen
 Meringkas suatu pengujian software
 Membuat laporan atas kekurangan dari software agar segera diperbaiki
5. Tahap evaluasi
Pada tahap evaluasi, system analyst membutuhkan masukan dan tanggapan dari para
user dalam mengevaluasi perangkat/produk yang diuji dan memastikan bahwa produk
dibutuhkan sesuai ketentuan yang telah dibicarakan diawal dengan user. System
analyst memastikan pelanggan puas dengan produk yang akan dihasilkan untuk
menjawab persoalan bisnis mereka. Selain itu, system analyst harus tetap memantau
resiko yang akan terjadi seperti faktor-faktor yang dapat menyebabkan cost overrun
(pembengkakan biaya).
4. Kelebihan dan Kekurangan
Kelebihan dalam menggunakan model spiral :
1. Pembangunan dan perubahan perangkat lunak yang terjadi dapat diselesaikan
secara sistematis
2. Mudah dalam mengestimasi biaya karena proses pembuatan prototype yang jelas
dan terencana dalam tahapan yang sistematis
3. Manajemen dan analisa risiko yang lebih cepat dan mudah
4. Mudah dalam melakukan perubahan kebutuhan dan dokumentasi
5. Produksi software bisa terjadi lebih cepat
Kekurangan dalam menggunakan model spiral :
1. Tidak cocok dan sulit diimplementasikan dalam projek kecil
2. Memakan waktu yang cukup lama
3. Membutuhkan best practice atau pengalaman sebelumnya karena proses yang
sangat kompleks
4. Resiko dalam tahap planning cukup besar. Misalnya terjadi perbedaan dalam
jadwal pengembangan dan anggaran belanja.
C. Model Rational Unified Process (RUP)
Rational Unified Process (RUP) adalah kerangka kerja proses pengembangan perangkat
lunak yang diciptakan oleh Rational Software Corporation. RUP menyediakan panduan
pandunan, template, dan contoh semua aspek dari tahapan pengembangan sistem
informasi.
1. Manfaat
 Menyediakan petunjuk untuk pengefesian pengembangan dari kualitas perangkat
lunak.
 Mengurangi risiko
 Menangkap dan menghasilkan latihan terbaik
 Mempromosilkan kultur dan visi umum.
 Menyediakan roadmap untuk penggunakan tools bantuan.
 Memiliki kemampuan yang mengembangkan komponen-komponen yang dapat
digunakan kembali untuk pengembangan aplikasi lainnya. [Falitate Raute]
 Mengatur dan mengontrol semua proses dalam setiap tahapan yang ada sehingga
suatu pengembangan perangkat lunak yang kompleks dapat dilakukan dengan
aman sesuai dengan harapan pengguna [Manage Complexity]
 Perubahan yang teralokasi dan masalah dapat dengan mudah terdeteksi sehingga
biaya pemeliharaan dapat ditekan sekecil mungkin [Lower Maintenece cost].
 Tentunya menghasilkan perangkat lunak yang berkualitas karena telah teruji.
2. Sifat dan Karakteristik
Menurut Lee Osterwei: proses perangkat lunak juga termasuk perangkat lunak.
Rational Unified Process membagi banyak karakteristik dengan produk perangkat
lunak, antara lain :
 Rational Software mengeluarkan upgrade regular
 Rational Sofware Process dikirimkan secara online, oleh karena itu sangat cepat
untuk berada di tangan pengembang.
 Rational Unified Process bisa diperbaiki dan dikonfigurasi sesuai dengan
kebutuhan organisasi pengembang.
 Ratioanan Unified Process bisa diintegrasikan dengan tools pengembang
software sesuai dengan kebutuhan rasional sehingga pengembang dengan
mudah dapat mengakses petunjuk proses sesuai dengan tools pengembang yang
digunakannya.
3. Gambar dan Penjelasan Model




Inception - merupakan tahap untuk mengidentifikasi sistem yang akan
dikembangkan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup
analisis sistem existing, perumusan sistem target, penentuan arsitektur global
target, identifikasi kebutuhan, perumusan persyaratan (fungsional, performansi,
keamanan, GUI, dll), perumusan kebutuhan pengujian (level unit, integrasi,
sistem, performansi, fungsionalitas, keamanan, dll), UML diagram, dan
pembuatan dokumentasi.
Elaboration - Elaboration merupakan tahap untuk melakukan desain secara
lengkap berdasarkan hasil analisis pada tahap inception. Aktivitas yang
dilakukan pada tahap ini antara lain mencakup pembuatan desain arsitektur
subsistem (architecture pattern), desain komponen sistem, desain format data
(protokol komunikasi), desain database, desain user interface, pemodelan
diagram UML (diagram sequence, class, component, deployment, dll.), dan
pembuatan dokumentasi
Construction - Construction merupakan tahap untuk mengimplementasikan
hasil desain dan melakukan pengujian hasil implementasi. Pada tahap awal
construction, ada baiknya dilakukan pemeriksaan ulang hasil analisis dan
desain, terutama desain pada sequence diagram, class diagram, component dan
deployment. Apabila desain yang dibuat telah sesuai dengan analisis sistem,
maka implementasi dengan bahasa pemrogramanan tertentu dapat dilakukan.
Aktivitas yang dilakukan pada tahap ini antara lain mencakup pengujian hasil
analisis dan desain, pendataan kebutuhan implementasi lengkap (berpedoman
pada identifikasi kebutuhan di tahap analisis), penentuan coding pattern yang
digunakan, pembuatan program, pengujian, optimasi program, pendataan
berbagai kemungkinan pengembangan atau perbaikan lebih lanjut, dan
pembuatan dokumentasi.
Transition - Transition merupakan tahap untuk menyerahkan sistem aplikasi
kepada user (roll-out), yang umumnya mencakup pelatihan dan beta testing
aplikasi
4. Kelebihan dan Kekurangan
Kelebihan dari RUP:





Menyediakan akses yang mudah terhadap pengetahuan dasar bagi anggota tim.
Menyediakan petunjuk bagaimana menggunakan UML secara efektif.
Mendukung proses pengulangan dalam pengembangan software.
Memungkinkan adanya penambahan-penambahan pada proses.
Memungkinkan untuk secara sistematis mengontrol perubahan- perubahan
yang terjadi pada software selama proses pengembangannya.
Kekurangan dari RUP:
 Metodologi ini hanya dapat digunakan pada pengembangan perangkat lunak
yang berorientasi objek dengan berfokus pada UML (Unified Modeling
Language).
 Membutuhkan waktu yang cukup lama dibandingkan XP dan Scrum.
BAB III
PENUTUP
Metode-metode rekayasa perangkat lunak merupakan metode yang memberikan teknik untuk
membangun perangkat lunak . metode-metode itu menyangkut serangkaian tugas yang luas
yang menyangkut analisis kebutuhan, kontruksi program, desain, pengujian, dan
pemeliharaan bedasarkan buku Roger S. Pressman (2002) yang berjudul Rekayasa Perangkat
Lunak.
Proses pengembangan perangkat lunak adalah perekat yang menjaga bentangan-bentangan
teknologi secara bersama-sama dan memungkinkan perkembangan perangkat lunak komputer
yang tepat waktu dan rasional. Dapat mengetahui metode-metode pengembangan perangakat
lunak berdasarkan kelebihan dan kekurangan nya.
Adapun beberapa model dari proses pengembangan perangkat lunak, yaitu:
1.
2.
3.
Model Waterfall adalah model pengembangan perangkat lunak yang menekankan fasefase yang berurutan dan sistematis
Model Spiral adalah generator model proses berbasis risiko yang digunakan untuk
memandu rekayasa perangkat lunak bersama berbagai pemangku kepentingan dari
sistem intensif
Model Rational Unified Process (RUP) adalah kerangka kerja proses pengembangan
perangkat lunak yang diciptakan oleh Rational Software Corporation
DAFTAR PUSTAKA
https://id.wikipedia.org/wiki/Model_waterfall
https://id.wikipedia.org/wiki/Model_Spiral
https://www.dictio.id/t/apa-yang-dimaksud-dengan-model-spiral-dalampengembangan-perangkat-lunak/15028
https://sis.binus.ac.id/2019/04/29/pengembangan-sistem-spiralmodel/#:~:text=Kelebihan%20dalam%20menggunakan%20model%20spiral%20%3A
&text=Mudah%20dalam%20mengestimasi%20biaya%20karena,Produksi%20softwar
e%20bisa%20terjadi%20lebih
https://binus.ac.id/malang/2020/07/rational-unified-process/
http://www.sistem-informasi.xyz/2017/05/pengertian-rational-unified-processrup_1.html
Download