Anda di halaman 1dari 14

LAPORAN

REKAYASA PERANGKAT LUNAK


Disusun untuk memenuhi tugas mata kuliah
Rekayasa Perangkat Lunak

Disusun oleh:

19416255201101 Aida Solehah


19416255201088 Irma Putri Rahayu
19416255201106 Nurani Khoerunnisa

FAKULTAS TEKNIK DAN ILMU KOMPUTER


UNIVERSITAS BUANA PERJUANGAN KARAWANG
2020/2021
KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Allah SWT yang telah memberi rahmat dan
karunia-Nya, tidak lupa shalawat dan salam penulis curah limpahkan kepada nabi besar
Muhammad SAW beserta para keluarga dan sahabatnya, berkat bantuan dan dorongan dari
semua pihak yang telah membantu hingga terselesaikannya tugas laporan ini. Adapun judul
laporan ini adalah “Rekayasa Perangkat Lunak”. Maka dengan itu pada kesempatan ini
penulis menyampaikan rasa terima kasihnya atas sgala petunjuk, bimbingan, dan bantuannya
kepada :
1. Ibu Ayu Ratna J, M. Kom selaku Dosen pengampu matakuliah Analisis dan Desain
Berorientasi Obyek.
2. Teman sekelompok yang telah bekerja sama.
3. Orang tua yang telah memberikan dukungan, motivasi, dan fasilitas
4. Dan kepada semua pihak yang telah banyak membantu yang tidak dapat penulis
sebutkan satu persatu.

Penulis menyadari laporan ini masih jauh dari kata sempurna. Oleh karena itu, kritik dan
saran yang membangun akan saya terima demi kesempurnaan laporan ini.
Demikian laporan ini penulis susun, semoga dapat bermanfaat bagi semua pihak dan penulis
sendiri. Akhir kata penulis ucapkan terimakasih.

Karawang, 09 Februari 2021

Penulis
DAFTAR ISI
BAB 1
PENDAHULUAN

1.1. Latar Belakang


Dalam dunia teknologi sekarang pengembangan dalam bidang informatika mengalami
perkembangan yang sangat pesat. Dengan perkembangan ini, dalam bidang informatika
tidak hanya menghasilkan hanya dalam pengembangan perangkat lunak saja, melainkan
pengembangan dalam bidang permodelan yang bersifat kompleks.
Dalam Pembuatan sebuah perangkat lunak yang harus memiliki teknik analisa
kebutuhan dan teknik pemodelan yang baik, supaya terwujudnya suatu perangkat lunak
yang baik. Dengan hal tersebut maka perlulah suatu pengenalan mengenai pemrmodelan
dalam suatu pembangunan perangkat lunak (Software). Terdapat banyak permodelan
mengenai pembangunan suatru perangkat lunak seperti SDLC dan Agile Model. Yang
dimana setiap model ini mempunyai model lainnya.
IEEE Computer Society mendefinisakan rekayasa perangkat lunak sebagai penerapan
suatu pendekatan yang siistematis, disiplin, dan terkuantifikasi atas pengembangan,
penggunaan, dan pemeliharaan perangkat lunak, serta studi atas pendekatan-pendekatan
ini, yaitu penerapan pendekatan engineering atas perangkat lunak.

1.2. Rumusan Masalah


1. Apa yang dimaksud dengan rekayasa perangkat lunak?
2. Menganalisa mengenai kekurangan serta kelebihan dari permodelan perangkat
lunak yakni Sistem Development Life Cycle (SDLC) yang mencakupi V model,
Increment model, Prototyping Model, Spiral Model dan Concurrent Development
Model.
3. Memberikan penjelasan mengenai Agile Process yang mencakupi Extreme
Programming (XP) dan SCRUM, serta membandingkan RUP.

1.3. Tujuan
1. Untuk mengetahui pengertian rekayasa perangkat lunak.
2. Untuk mengetahui permasalahan mengenai kekurangan, kelebihan, penjelasan
mengenai konsep XP dan SCRUM serta perbandingan antara RUP dan SCRUM.
BAB 2

PEMBAHASAN

2.1. Rekayasa Perangkat Lunak


Rekayasa perangkat lunak atau dalam Bahasa Inggris disebut Software Engineering
adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak
termasuk pembuatan, pemeliharaan, manajemen organisasi pengembangan perangkat
lunak dan manajemen kualitas. Kriteria yang dapat digunakan sebagai acuan dalam
merekayasa perangkat lunak :
1. Dapat terus dirawat dan dipelihara (maintainability)
2. Dapat mengikuti perkembangan teknologi (dependability)
3. Dapat mengikuti keinginan pengguna (robust)
4. Efektif dan efisien dalam menggunakan energy dan penggunaannya
5. Dapat memenuhi kenutuhan yang diinginkan (usability)

Bidang rekayasa akan selalu berusaha menghasilkan output yang kinerjanya tinggi,
biaya rendah dan waktu penyelesaian yang tepat. Secara lebih khusu kita dapat
menyatakan tujuan RPL adalah :
1. Memperoleh biaya produksi perangkat lunak yang rendah.
2. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu.
3. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform.
4. Menghasilkan perangkat lunak yang biaya perawatannya rendah.
Fungsi atau Peranan Perangkat Lunak (Software)
a. Mengidentifikasi program
b. Menyiapkan aplikasi program sehingga tata kerja seluruh perangkat computer
terkontrol.
c. Mengatur dan membuat pekerjaan lebih efisien.
d. Mengatur input dan output dari computer.
e. Menyediakan dan mengatur serta memerintah hardware agar dapat berjalan
dengan baik.

Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk
membantu proses pengembangan perangkat lunak. Model-model ini pada umunya
mengacu pada model proses pengembangan sistem yang disebut System Development Life
Cycle (SDLC). Ada banyak pengembangan perangkat lunak, antara lain The Waterfall
Model, Joint Application Development (JAD), Information Engineering (IE), Rapid
Application Deve;opment (RAD), Prototyping, Unified Process (UP), Structural Analysis
and Design (SAD) d Framework for the Application of System Thinking (FAST).
Rekayasa Perangkat Lunak memiliki tahapan-tahapan, meskipun dalam pendekatan
berbeda-beda, namun model-model pendekatan memiliki kesamaan, yaitu menggunakan
pola tahapan analysis – design – coding – testing – maintenance.
2.2. Model SDLC
2.2.1. V Model
V Model memeliki beberapa kelebihan sebagai berikut :
1. V Model sangat fleksibel.
2. V Model dikembangkan dan di maintain oleh public.

V Model juga memiliki beberapa kekurangan sebagai berikut :


1. V Model adalah model yang project oriented sehingga hanya bisa
digunakan sekali dalam suatu proyek.
2. V Model terlalu fleksibel dalam arti ada beberapa activitydalam V Model
yang digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan
jelas apa yang termasuk dalam activity tersebut dan apa yang tidak.

2.2.2. Incremental Model


Dalam model Incremental ini proses pengerjaan perangkat lunak akan
dilakukan perbagian sehingga bagian selanjutnya akan dikerjakan setelah
bagian awal telah selesai dan selanjutnya sampai menghasilkan perangkat
lunak yang lengkap dengan semua fungsi yang diperlukan dan pengerjaan
perangkat lunak berakhir.
Kelebihan Incremental Model :
1. Resiko yang rendah pada pengembangan sistem.
2. Mengutamakan fungsi-fungsi pada sistem perangkat lunak sehingga
kemudahan pemakaian sistem yang paling di utamakan.
3. Tahap awal adalan dasar dari pembuatan tahap berikutnya (dikerjakan
secara terurut).
4. Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
5. Mampu mengakomodasi perubahan kebutuhan customer. 
6. Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-
lahan menggunakan produknya bagian per bagian.
7. Memaksimalkan pengembalian modal investasi konsumen.
Kekurangan Incremental Model :
1. Hanya akan berhasil jika tidak ada staffing untuk penerapan secara
menyeluruh.
2. Penambahan staf dilakukan jika hasil incremental akan dikembangkan
lebih lanjut.
3. Hanya cocok untuk proyek dengan skala kecil.
4. Kemungkinan tiap bagian tidak dapat diintegrasikan.

2.2.3. Model Rapid Application Development (RAD)


Rapid Application Development (RAD) adalah model proses pengembangan
perangkat lunak yang bersifat incremental terutama untuk waktu pengerjaan
yang cukup pendek. Kelemahan dan Kelebihan Model RAD :
Model RAD memiliki kelemahan sebagai berikut :
1. Untuk pembuatan sistem perangkat lunak dengan skala besar
makamodel RAD akan memerlukan sumber daya manusia yang cukup
besar untuk membentuk tim-tim yang mengembangkan komponen-
komponen;
2. Jika ada persetujuan untk mengembangkan perangkat lunak dengan
cara cepat (rapid) maka proyek dengan model ini akan gagal, karena
akan membingungkan ketika mendefinisikan kebutuhan pelanggan;
3. Jika sistem perangkat lunak yang akan dibuat tidak bisa dimodulkan
(dibagi – bagi menjadi beberapa komponen) maka model RAD tidak
dapat digunakan untuk membuat sistem perangkat lunak ini karena
terlalu banyak campur tangan antar tim;
4. Model RAD tidak cocok digunakan untuk sistem perangkat lunak yang
memiliki resiko teknis sangat tinggi, misalnya manggunakan teknologi
baru yang belum banyak dikenal dan dikuasai pengembang.
Selain itu, model RAD memiliki kelebihan sebagai berikut :
1. Setiap fungsi mayor dapat dimodulkan dalam waktu tertentu kurang
dari 3 bulan dandapat dibicarakan oleh tim RAD yang terpisah dan
kemudian diintegrasikan sehingga waktunya lebih efesien.
2. RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi
mempunyai kemampuan untuk menggunakan kembali komponen yang
ada (reusable object) sehingga pengembang pengembang tidak perlu
membuat dari awal lagi dan waktulebih singkat.

2.2.4. Prototype Model


Prototyping merupakan salah satu metode pengembangan perangkat
lunak yang banyak digunakan. Dengan metode prototyping ini pengembang
dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem.
Kunci agar model prototype ini berhasil dengan baik adalah dengan
mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan
pengembang harus setuju bahwa prototype dibangun untuk mendefinisikan
kebutuhan. Prototype akan dihilangkan sebagianatau seluruhnya dan perangkat
lunak aktual aktual direkayasa dengan kualitas dan implementasi yang sudah
ditentukan.

Keunggulan Prototyping adalah:


1. Adanya komunikasi yang baik antara pengembang dan pelanggan.
2. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan
pelanggan
3. Pelanggan berperan aktif dalam pengembangan sistem
4. Lebih menghemat waktu dalam pengembangan sistem
5. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang
diharapkannya.
Kelemahan prototyping adalah :
1. Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak
yang ada belum mencantumkan kualitas perangkat lunak secara
keseluruhan dan juga belum memikirkan kemampuan pemeliharaan
untuk jangka waktu lama.
2. pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga
menggunakan algoritma dan bahasa pemrograman yang sederhana
untuk membuat prototypinglebih cepat selesai tanpa memikirkan lebih
lanjut bahwa program tersebut hanya merupakan cetak biru sistem .
3. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak
mencerminkan teknik perancangan yang baik.

2.2.5. Model Spiral


Model spiral pada awalnya diusulkan oleh Boehm, adalah model proses
perangkat lunak evolusioner yang merangkai sifat iteratif dari prototype
dengan cara kontrol dan aspek sistematis model sequensial linier. Berikut
Tahapan-tahapan Model Spiral :
Model spiral dibagi menjadi enam wilayah tugas yaitu:
1. Komunikasi pelanggan
Yaitu tugas-tugas untuk membangun komunikasi antara pelanggan
dan kebutuhan- kebutuhan yang diinginkan oleh pelanggan.
2. Perencanaan
Yaitu tugas-tugas untuk mendefinisikan berbagai sumber daya,
ketepatan waktu, dan proyek informasi lain yg berhubungan.
3. Analisis Resiko
Yaitu tugas-tugas yang dibutuhkan untuk menaksir resikomanajemen
dan teknis.
4. Perekayasaan
Yaitu tugas yang dibutuhkan untuk membangun satu atau lebih
representasi dari apikasi tersebut.
5. Konstruksi dan peluncuran
Yaitu tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji,
memasang dan memberi pelayanan kepada pemakai.
6. Evaluasi Pelanggan
Yaitu tugas-tugas untuk mendapatkan umpan balik dari pelanggan.

Kelebihan Model Spiral :


1. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala
besar.
2. Pengembang dan pemakai dapat lebih mudah memahami dan
bereaksi terhadap resiko setiap tingkat evolusi karena perangkat
lunak terus bekerja selama proses .
3. Menggunakan prototipe sebagai mekanisme pengurangan resiko dan
pada setiap keadaan di dalam evolusi produk.
4. Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan
memasukkannya ke dalam kerangka kerja iteratif .
5. Membutuhkan pertimbangan langsung terhadap resiko teknis
sehingga mengurangi resiko sebelum menjadi permaslahan yang
serius.
Kekurangan Model Spiral :
1. Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner
ini bisa dikontrol.
2. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi
masalah yangserius jika resiko mayor tidak ditemukan dan diatur.
3. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian
yang absolut.

2.2.6. Concurrent Development Model


Kelebihan Concurrent Development Model :
Proses Concurrent Development Model ini berlaku untuk semua jenis
pengembangan perangkat lunak dan memberikan gambaran yang akurat
tentang keadaan sekarang dari suatu proyek.
Kekurangan Concurrent Development Model :
Statenya sangat banyak sehingga membutuhkan waktu lebih banyak.

2.3. Agile Proccess Model


Agile Software development adalah salah satu metodologi dalam pengembangan
sebuah perangkat lunak. Kata Agile berarti bersifat cepat, ringan, bebas bergerak,
waspada. Kata ini digunakan sebagai kata yang menggambarkan konsep model proses
yang berbeda dari konsep model – model proses yang sudah ada. Konsep agile software
developoment dicetuskan oleh Kent Beck dan 16 rekannya dengan mengatakan bahwa
Agile Software Development adalah cara membangun software dengan melakukannya
dan membantu orang lain membangunnya sekaligus.
Dalam hal ini Agile Process Model terdiri dari 5 macam model, yakni :
1. Extreme Programming (XP)
2. Adaptive Software Development (ASD)
3. Dinamic System Development Method
4. SCRUM
5. Agile Model
2.3.1. Extreme Programming (XP)
Extreme Programming (XP) merupakan salah satu metodologi dalam
rekayasa perangkat lunak dan juga merupakan satu dari beberapa agile
software development methotodogies yang berfokus pada coding sebagai
aktivitas utama di semua tahap pada siklus pengembangan yang lebih
responsive terhadap kebutuhan costumer (“agile”) di bandingkan dengan
metode – metode tradisional sambil membangun suatu software dengan
kualitas yang lebih baik, selain itu extreme programming meliputi seluruh
area pengembangan perangkat lunak. Tujuan utama yang ada pada
extreme programming adalah untuk menurunkan biaya dari adanya
perubahan pembangunan software. Dalam pengembangan sistem
tradisional, kebutuhan sistem di tentukan awal pengembangan proyek dan
bersifat fixed. Extreme programming diarahkan untuk menurunkan biaya
dari adanya perubahan dengan memperkenalkan nilai-nilai basis dasar,
prinsip dan praktis. Dengan menerapkan extreme xp, pembangunan suatu
sistem haruslah lebih fleksibel terhadap terjadinga suatu perubahan.

2.3.2. SCRUM
Scrum adalah sebuah pendekatan tangkas untuk pengembangan
perangkat lunak. Scrum merupakan suatu kerangka kerja. Jadi,
bukannya menyediakan deskripsi rinci tentang bagaimana segala
sesuatu yang harus dilakukan pada proyek seperti diserahkan
kepada tim pengembangan perangkat lunak pada umumnya. Hal ini
dilakukan supaya tim akan tahu bagaimana cara terbaik untuk
memecahkan masalah yang mereka disajikan. Inilah sebabnya
mengapa, misalnya, rapat perencanaan sprint digambarkan dalam
bentuk hasil yang diinginkan (komitmen untuk mengatur fitur yang
akan dikembangkan di sprint berikutnya), bukan definisi Tugas,
kriteria Validasi, dllseperti yang akan disediakan dalam metodologi
yang lain.
Scrum bergantung pada pengorganisasian-diri, tim lintas
fungsional. Tim scrum adalah mengorganisir diri dalam bentuk tidak
ada pemimpin tim secara keseluruhan yang memutuskanmana orang
yang akan melakukan tugas atau bagaimana suatu masalah akan
dipecahkan. Mereka adalah isu-isu yang ditentukan oleh tim secara
keseluruhan. Tim ini lintas fungsional sehingga setiap orang perlu
untuk mengambil fitur dari ide untuk diimplementasi.
Proyek Scrum membuat kemajuan dalam serangkaian sprint, yang
time boxed iterasi tidak lebih dari sebulan panjang. Pada awal sprint,
anggota tim berkomitmen untuk memberikan beberapa nomor fitur
yang terdaftar di product backlog proyek. Pada akhir sprint, fitur
inidilakukan - mereka diimplementasikan, diuji, dan diintegrasikan ke
dalam produk berkembang atau sistem. Pada akhir sprint tinjauan
sprint dilakukan selama tim menunjukkan fungsi barukepada pemilik
produk dan pemangku kepentingan lain yang memberikan umpan
balik yang dapat mempengaruhi sprint berikutnya.
Dalam hal ini Scrum memiliki prinsip sebagai berikut :
Ukuran tim yang kecil melancarkan komunikasi, mengurangi
biaya,dan memberdayakan satu sama lain. Proses dapat beradaptasi
terhadap perubahan teknis dan bisnis proses menghasilkan beberapa
software increment. Pembangunan dan orang yang membangun dibagi
dalam tim yang kecil. Dokumentasi dan pengujian terus menerus
dilakukan setelah software dibangun proses scrum mampu
menyatakan bahwa produk selesai kepanpun di perlukan.

2.4. RUP dan SCRUM

Perbandingan RUP dan SCRUM sebagai berikut :


No Faktor RUP SCRUM
1 Kompleksitas, dan Lebih besar, lebih kompleks dan Lebih sederhana, lebih
Kelengakapan lebih Lengkap simple
2 Penyesuaian Perlu down sized atau Perlu down size atau
penyederhanaan penerapan RUP penyederhanaan
penerapan RUP

3 Ketersediaan Komersial, didukung Rational Freeware, dimaintain


Software dan IBM oleh community
4 Fokus Manajemen Kelengkapan proses, Berfokus pada pengerjaan
artefak , activity dan role proyek pengembangan
software

5 Pendekatan Top-down solution Bottom-up approach


6 Team Ada pembagian responsibility dan Team work sangat
dipertahankan
Tugas
7 Siklus Siklus sudah pasti dengan 4 tahap, Setiap iterasi adalah
tapi beberapa “workflow” bisa sebuah siklus yang
komplit
Konkuren
8 Perencanaan Perencaan proyek sudah terencana Tidak memiliki dead-line.
dan sesauai dengan iterasi yang Setiap perencanaan
digunakan. Memiliki dead-line. selanjutnya tergantung
pada iterasi saat ini.

9. Target Target sudah pasti, jelas, dan Tidak memiliki target


tercatat. melainkan
membandingkannya
dengan iterasi terdahulu.
10. Tipe Proyek/Produk Direkomendasikan untuk proyek Direkomendasikan untuk
besar dan memiliki jangka waktu pengembangan yang cepat
yang panjang. dan untuk organisasi yang
tidak mempedulikan
deadline
BAB 3
PENUTUP

3.1. Kesimpulan
Rekayasa Perangkat Lunak adalah suatu disiplin ilmu yang membahas semua aspek
produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebtuhan pengguna,
menentukan spesifikasi dari kebutuhan pengguna, desain, pengkodean, pengujian sampai
pemeliharaan sistem setelah digunakan. Model-model rekayasa perangkat lunak pada
umumnya mengacu pada modelmproses pengembangan sistem yang disebut System
Development Life Cycle (SDLC). RUP dan SCRUM memiliki tipe proyek yang berbeda
sehingga keduanya akan tepat apabila diterapkan pada proyek yang sesuai dengan tipikal
masing-masing metodologi.
DAFTAR PUSTAKA

Asnawati dan Feri Hari Utami. 2015. Rekayasa Perangkat Lunak. Deepublish.
Yogyakarta.
http://dymand-informatika.blogspot.com/2012/03/rekayasa-perangkat-lunak-makalah-
1.html
https://kreasinovasiku.blogspot.com/2016/05/makalah-dasar-rekayasa-perangkat-
lunak.html
https://caridokumen.com/download/makalah-rekayasa-perangkat-lunak-
_5a45d505b7d7bc7b7ad81337_pdf
https://glints.com/id/lowongan/software-development-life-cycle/#.YCMLFmhKjIU

Anda mungkin juga menyukai