Anda di halaman 1dari 18

MAKALAH REKAYASA PERANGKAT LUNAK

“System Development Life Cycle (SDLC) dan Systems Development

Methodology (Model Process)”

HALAMAN COVER
“Diajukan Untuk Memenuhi Salah Satu Persyaratan Akademis Dalam
Penyelesaian Tugas Mata Kuliah Rekayasa Perangkat Lunak”

Disusun Oleh:
 Chandrika Gita Permata (2155061010)
 Ganang Hilmi Fa’iq (2115061045)
 Nyoman Eka Swardita (2155061006)
 Syifa Amelia (2115061020)

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS LAMPUNG

2021
KATA PENGANTAR

Puji syukur ke hadirat Tuhan Yang Maha Esa. Atas rahmat dan hidayah-Nya,
penulis dapat menyelesaikan tugas makalah yang berjudul "System Development
Life Cycle (SDLC) dan Systems Development Methodology (Model Process) "
dengan tepat waktu.

Makalah ini disusun untuk memenuhi tugas Mata Kuliah Rekayasa Perangkat
Lunak. Selain itu, makalah ini bertujuan menambah wawasan mengenai Perangkat
Lunak khususnya (SDLC) dan SW Model Process dalam Rekayasa Perangkat
Lunak, bagi para pembaca dan juga bagi penulis.

Penulis mengucapkan terima kasih kepada DR. Eng. Mardiana, S.T., M.T selaku
Dosen Pembimbing Mata Kuliah Rekayasa Perangkat Lunak. Ucapan terima kasih
juga disampaikan kepada semua pihak yang telah membantu diselesaikannya
makalah ini.

Penulis menyadari makalah ini masih jauh dari sempurna. Oleh sebab itu, saran dan
kritik yang membangun diharapkan demi kesempurnaan makalah ini.

Lampung, 1 Maret 2022

Penulis

ii
DAFTAR ISI

HALAMAN COVER ........................................................................................... i

KATA PENGANTAR ........................................................................................ ii

DAFTAR ISI ...................................................................................................... iii

BAB I PENDAHULUAN .................................................................................. 1

1.1 Latar Belakang ......................................................................................... 1

1.2 Rumusan Masalah .................................................................................... 2

1.3 Tujuan Penulisan ..................................................................................... 2

1.4 Metode Penulisan..................................................................................... 2

BAB II PEMBAHASAN.................................................................................... 3

2.1 Pengertian SDLC dan SW Process Model ............................................. 3

2.1.1 Pengertian System Development Life Cycle (SDLC) ................... 3

2.1.2 Pengertian Software Process ......................................................... 4

2.2 Contoh Adaptive Software Development (ASD) dan Component-Based


Development ........................................................................................... 5

2.2.1 Contoh Adaptive Software Development (ASD) .......................... 5

2.2.2 Contoh Component-Based Development ...................................... 6

2.3 Pemilihan SW Process Model ................................................................ 8

2.3.1 Adaptive Software Development (ASD) ....................................... 8

2.3.2 Component-Based Development ................................................. 10

BAB III PENUTUP.......................................................................................... 14

3.1 Kesimpulan ........................................................................................... 14

3.2 Saran ..................................................................................................... 14

DAFTAR PUSTAKA

iii
BAB I
PENDAHULUAN

1.1 Latar Belakang


Perkembangan Teknologi saat ini sudah semaakin berkembang pesat,
mendengar kata teknologi bukan lagi hal yang asing saat ini. Dijaman
globalisasi ini semua sudah sangat mudah apabila ingin mengakses atau
mendapatkan data dari suatu sistem informasi juga sudah sangat banyak dan
sangat mudah ditemukannya penyewaan warnet dan kini hampir setiap orang
sudah memiliki ponsel pintar. Tentunya hal itu akan memudahkan untuk
pembelajaran dan mencari cari informasi yang diperlukan. Informasi sendiri
merupakan data yang sudah diolah, dibentuk , dan dimanipulasi sesuai dengan
keperluan tertentu . suatu informasi memiliki ciri-ciri, yaitu : suatu hal yang
benar atau salah, bersifat baru,dan bersifat korektif.

Adapun adanya istilah Teknologi Informasi yaitu, seperangkat alat hardware


atau software yang akan membantu memudahkan pekerjaan dengan informasi
dan melaksanakan tugas yang berkaitan dengan pemrosesan Informasi.

Selain berdampak pada pengaksesaan atau pencarian data yang mudah,


didalam bidang Informatika juga terjadi pengembangan program perangkat
lunak dan pengembangan dalam bidang suatu permodelan yang bersifat
kompleks. Dalam pembuatan sebuah perangkat lunak harus memperhatikan
dan memiliki teknik untuk menganalisa kebutuhan dan teknik permodelan
yang baik agar dapat mewujudkan suatu perangkat lunak yang baik.

Maka dari itu diperlukan pengenalan mengenai permodelan dalam suatu


pembangunan perangkat lunak (software). Terdapat berbagai banyak model
mengenai pembangunan suatu perangkat lunak seperti SDLC dan SW Process
Model.

1
1.2 Rumusan Masalah
Adapun rumusan masalah, yaitu sebagai berikut :
a. Apa itu SDLC dan SW Process Model?
b. Sebutkan dua contoh SW Process Model (Adaptive Software Development
(ASD) dan Component-Based Development)?
c. Jelaskan mengenai pemilihan SW Process Model (Adaptive Software
Development (ASD) dan Component-Based Development)?

1.3 Tujuan Penulisan


Adapun tujuan penulisan makalah, sebagai berikut :
a. Untuk mengetahui pengertian dari SDLC dan SW Model Process.
b. Agar mengetahui contoh dari SW Process Model (Adaptive Software
Development (ASD) dan Component-Based Development).
c. Agar mengetahui mengenai pemilihan SW Process Model (Adaptive
Software Development (ASD) dan Component-Based Development).

1.4 Metode Penulisan


Metode yang digunakan dalam penulisan makalah ini adalah dengan
menggunakan metode pustaka, yaitu berupa mencari dan mengumpulkan
beberapa sumber dari internet maupun buku yang mengenai informasi tentang
SW Process Model, yaitu Adaptive Software Development (ASD) dan
Component-Based Development).

2
BAB II
PEMBAHASAN

2.1 Pengertian SDLC dan SW Process Model


2.1.1 Pengertian System Development Life Cycle (SDLC)
System Development Life Cycle (SDLC) merupakan suatu pendekatan
yang memiliki tahapan untuk dilakukan analisa dan membangun suatu
rancangan sistem dengan menggunakan siklus yang lebih spesifik
terhadap kegiatan penggunanya (Kendal & Kendall, 2006).

Metode SDLC merupakan metode yang menggunakan pendekatan


terhadap sistem yang disebut dengan pendekatan air terjun ( Waterfall
Approach ) yang dimana pada pendekatan ini setiap tahapan sistem akan
dikerjakan secara berturut menurun dimulai dari perencanaan, analisa,
desain, implementasi, dan perawatan (Aji Supriyanto, 2005: 272).

System Development Life Cycle (SDLC) adalah kerangka kerja atau


model manajemen proyek struktur yang menjabarkan fase-fase yang
diperlukan dalam membangun system IT, dimulai dari awal hingga akhir.
SDLC bertujuan untuk menciptakan proses produksi yang efektif dan
berkualitas tinggi agar dapat memenuhi permintaan klien sesuai dengan
anggaran dan jadwal yang tidak ditentukan.

Keuntungan menerapkan SDLC :


 Dapat membantu dari segi perencanaan, estimasi, dan penjadwalan
proyek dengan baik.
 Proyek dapat dikontrol dengan lebih mudah.
 Dapat mempercepat proses pengembangan software.
 Mengurangi resiko proyek.
 Dapat mengurangi biaya manajemen proyek dan manajemen
produksi.

3
Adapun tahapan yang diperlukan ketika menjalankan kerangka kerja
SDLC ini, secara garis besar terdapat beberapa tahapan dalam SDLC,
yaitu:
1) Planning (Perencanaan Sistem), mengumpulkan semua informasi
yang dibutuhkan dalam proses pengembangan software.
2) Analysis (Analisis Sistem), menganalisis kebutuhan fungsional
sistem seperrti masalah bisnis, target yang ingin dicapai, apa tujuan
utama pengembangan software tersebut, dll.
3) Design (Perancangan Sistem), membuat rencana desain atau
spesifikasi desain seperti Architecture, User Interface, Platform, dan
Security.
4) Implementasi (Implementasi Sistem), sistem yang sudah dibuat
akan diuji coba dan dipastikan dapat bekerja secara optimal.

2.1.2 Pengertian Software Process


Software Process merupakan perangkat lunak yang direpresentasikan
sebagai sebuah proses program dan dapat mengeksekusi secara otomatis
(Reidar Conradi, Software Process Technology: 7th European).

Software Process adalah Pendekatan sistematis yang digunakan dalam


rekayasa perangkat lunak serta merupakan sebuah aktifitas terurut yang
menuju kepada produksi dari pembuatan produk rekayasa perangkat
lunak (Ian Sommerville, Software Engineering: 9th Edition).

Software process adalah serangkaian langkah-langkah yang terurut untuk


membuat sebuah produk rekayasa perangkat lunak. Software process
adalah suatu hirarki yang tiap langkah dapat memiliki sub-sub langkah
dalam proses rekayasa perangkat lunak (M Deploy, Softwarre
Engineering Process).

Setiap Process Model yang dikembangkan memiliki karakterristik


sendiri, namun jika dilihat secara umum akan ada persamaan nya, yaitu:

4
a) Kebutuhan terhadap definisi masalah yang jelas
b) Tahapan pengembangan yang teratur
c) Stakeholder berperan sangat penting dalam keseluruhan tahapan
pengembangan
d) Dokumentasi
e) Keluaran dari proses pengembangan perangkat lunak.

2.2 Contoh Adaptive Software Development (ASD) dan Component-Based


Development
2.2.1 Contoh Adaptive Software Development (ASD)
Contoh Adaptive Software Development (ASD) adalah mewujudkan
prinsip bahwa adaptasi yang berdekatan dari proses kerja urusan keadaan
normal. Metode ini bisa dikatakan menggantikan metode pengembangan
software waterfall dengan serangkaian perulangan berspekulasi,
berkolaborasi dan siklus. Siklus dinamis memberikan pembelajaran dan
adaptasi kepada proyek. Karakteristik dari siklus hidup ASD adalah
mengacu kepada misi fokus, berbasis fitur, perulangan, timeboxed,
risiko, dan tolerasi yang berubah-ubah. Filosofi yang mendasari ASD
adalah kolaborasi manusia dan tim yang mengatur diri sendiri.

Dasar-dasar filosofis ASD fokus pada kolaborasi manusia dan


pengaturan diri tim. Highsmith berpendapat bahwa pendekatan
pengembangan yang agile dan adaptif berdasarkan kolaborasi adalah
"sebanyak-banyaknya sumber order dalam interaksi kompleks sebagai
disiplin dan rekayasa."

5
2.2.2 Contoh Component-Based Development

Gambar 2.2.1 Contoh gambaran proses Component-Based


Development yang digunakan dalam Sistem Robot

Komponen memiliki tingkat abstraksi yang lebih tinggi dibandingkan


objek dan didefinisikan oleh interface-nya. Komponen juga biasanya
lebih besar dibandingkan sebuah objek dan semua detil implementasinya
disembunyikan dari komponen lainnya. CBSE berkembang menjadi
sebuah pendekatan pengembangan perangkat lunak yang penting bagi
sistem perusahaan berskala-besar, ditambah dengan kebutuhan akan
performa dan keamanan. Sehingga, cara untuk memenuhi kebutuhan
tersebut adalah membangun perangkat lunak dengan menggunakan
kembali komponen-komponen yang sudah ada.

Hal-hal yang penting dari CBSE adalah:


 Komponen independent yang dispesifikasikan melalui interface-
nya. Harus ada pemisahan yang jelas antara interface komponen dan
implementasinya, yang berarti, implementasi dari sebuah komponen
dapat digantikan yang lainnya tanap perlu mengganti bagian lainnya
dari sistem.
 Standar komponen yang mendefinisikan interface dan
memfasilitasi integrasi komponen. Standar-standar ini terwujud di
dalam sebuah model komponen. Standar tersebut mendefinisikan

6
setidaknya mengenai bagaimana interface komponen seharusnya
dispesifikasikan dan bagaimana komponen berkomunikasi. Beberapa
model bahkan menjelaskan lebih lanjut mengenai interfaces yang
harus diimplementasikan oleh semua komponen yang compatible.
Jika komponen sesuai dengan standar, maka operasinya bersifat
independen dari bahasa pemrogramannya. Komponen yang
dikembangkan dalam bahasa pemrograman yang berbeda dapat
diintegrasikan ke dalam sistem yang sama.
 Middleware yang menyediakan dukungan perangkat lunak untuk
integrasi komponen. Untuk membuat komponen-komponen
independen dan terdistribusi dapat berjalan bersama, kita
membutuhkan dukungan middleware yang menangani komunikasi
komponen. Middleware untuk dukungan komponen menangani
masalah-masalah level rendah dengan efisien, sehingga kita cukup
hanya fokus pada masalah yang berkaitan dengan aplikasi. Sebagai
tambahan, middleware untuk dukungan komponen dapat
menyediakan dukungan untuk alokasi sumber daya, manajemen
transaksi, keamanan, dan konkurensi.
 Proses pengembangan yang diarahkan pada rekayasa perangkat
lunak berbasis komponen. Kita membutuhkan proses
pengembangan yang mendukung kebutuhan untuk berkembang,
bergantung pada fungsionalitas dari komponen yang tersedia.

Pengembangan berbasis komponen mewujudkan bentuk praktik


rekayasa perangkat lunak yang baik. Rancangan menggunakan sistem
juga dapat dipahami, meskipun kita tetap harus membangun komponen
daripada menggunakan kembali komponennya. Hal-hal yang mendasari
CBSE sebagai prinsip desain kuat yang mendukung pembangunan
perangkat lunak yang dapat dipahami dan dipelihara adalah:
 Komponen bersifat mandiri, sehingga tidak menginterferensi
operasi yang lain. Detil implementasinya juga tersembunyi dan

7
implementasi komponen tersebut dapat diganti tanpa mempengaruhi
kinerja keseluruhan sistem.
 Komponen berkomunikasi melalui interface yang sudah
didefinisikan dengan baik. Apabila interface dipelihara, komponen
tersebut dapat digantikan oleh komponen lainnya yang menyediakan
fungsionalitas tambahan atau yang ditingkatkan.
 Infrastruktur komponen menawarkan berbagai layanan standar
yang dapat digunakan dalam sistem aplikasi. Hal ini mengurangi
jumlah kode baru yang harus dibangun.

Saat ini, sudah ada standar untuk mendukung proses CBSE ini, di
antaranya adalah: Enterprise Java Beans (EJB), Microsoft COM dan
.NET, dan CORBA CCM.

2.3 Pemilihan SW Process Model


2.3.1 Adaptive Software Development (ASD)
Adaptive Software Development (ASD) merupakan suatu model yang
tergolong dalam pendekatan agile yang diusulkan oleh Jim Highsmith.
ASD menekankan pada pengorganisasian tim secara mandiri, serta
berkolaborasi antar perseorangan dan terus belajar, baik secara individu
maupun tim. Terdapat tools yang digunakan ASD yaitu “time-boxing”,
time boxing merupakan aktifitas yang menentukan jangka waktu tertentu
yang dipakai untuk menyelesaikan berbagai bentuk tugas. Dan apabila
waktu yang telah ditargetkan selesai, maka pembangunan sistem akan
dipindahkan ke tugas selanjutnya, dengan harapan bahwa sebagian besar
dari critical work telah berhasil diselesaikan sebelum waktu keseluruhan
tugas berakhir. Terdapat tiga tahapan pada model ASD, yaitu:
Speculation, Collaboration, dan Learning. Adaptive Software
Development. (Pressman, 2005)

ASD didorong oleh keyakinan pada adaptasi berkelanjutan (filosofi yang


berbeda dan siklus hidup yang berbeda) yang diarahkan untuk menerima

8
perubahan berkelanjutan sebagai norma. Dalam ASD, static Plan-
Design-Build life cylce yang statis digantikan oleh dynamic Speculate-
Collaborate-Learn life cycle (Gambar 2.1.3). Fase spekulasi
(speculation), kolaborasi (collaboration), dan pembelajaran (learning)
ini merupakan life cycle yang didedikasikan untuk pembelajaran
berkelanjutan dan berorientasi pada perubahan, evaluasi ulang,
mengintip ke dalam filter yang tidak pasti, dan kolaborasi intens antara
pengembang, manajemen, dan pelanggan.

Gambar 2.3.1 dynamic Speculate-Collaborate-Learn life cycle

Adapun 3 tahapan yang dilakukan ASD yaitu sebagai berikut :


1) Speculation, adalah aktivitas adaptive cycle planning artinya,
menggunakan informasi awal seperti misi dari klien, batasan proyek
dan kebutuhan dasar untuk didefinisikan sebagai rangkaian software
increment (produk software yang secara berkala diserahkan).
2) Collaboration adalah aktivitas orang-orang yang bermotivasi tinggi
bekerja sama: saling melengkapi, rela membantu, kerja keras, trampil
di bidangnya, dan komunikasikan masalah untuk hasilkan
penyelesaian yang efektif.
3) Learning merupakan aktivitas tim pembangun yang sering merasa
sudah tahu semua hal tentang proyek. Proses pembelajaran proyek
dapat dilakukan dengan 3 cara, yaitu:
- Focus Group
- Formal Technique
- Postmortems

9
Kelebihan dari Adaptive Software Development ini adalah :
- Menambah produktivitas dalam tim;
- Menambah kualitas pada software;
- Menambah kepuasan klien;
- Menghemat biaya; dan
- Mengurangi resiko kegagalan implementasi software dari segi non-
teknis.

Kekurangan dari Adaptive Software Development :


- Metode ini tidak akan berjalan dengan baik jika komitmen tim tersebut
kurang.
- Metode ini tidak cocok dengan skala tim yang lebih dari 20 orang.
- Perkiraan waktu rilis dan harga perangkat lunak sulit ditentukan.
tergantung dari kesulitan pengerjaannya.

2.3.2 Component-Based Development


Component-Based Development merupakan perancangan dan pengem-
bangan sistem perangkat lunak dengan menggunakan komponen yang
sudah ada dan bisa digunakan kembali. Misalnya komponen COST
(Commercial Off-The Shelf). Komponen COST merupakan komponen
yang bisa didapatkan dengan membeli atau sudah dibangun sebelumnya
secara Internal. Teknik CBD melibatkan prosedur untuk membangun
system dengan cara memilih komponen yang ideal kemudian merakit
komponen tersebut sesuai dengan kebutuhan developer.

Component-Based Development sangat berkaitan dengan teknologi


berorientasi objek. Pada pemrograman berorientasi objek, banyak class
yang dibangun dan menjadi komponen dalam suatu software. Class-class
tersebut bersifat “reusable listen to customer build/revise mock-up
customer test-drives mock-up" artinya bisa digunakan kembali. Model ini
bersifat iteratif atau berulang-ulang prosesnya.

10
Adapun 6 tahapan yang ada pada Component-Based Development, yaitu:
1) Requirements analysis dan spesification, menganalisis kebutuhan
dengan ketersediaan komponen dan juga menegosiasikan kebutuhan
dan memodifikasi komponen layak digunakan atau tidak.
2) System Design, berkaitan dengan ketersediaan model ataupun
komponen tertentu yang memerlukan architectural framework.
3) Implementation dan Unti Testing, meliputi pemilihan untuk
komponen, dan penyesuaian komponen serta test komponen.
4) System Integration, berkaitan dengan integrasi dari standar
infrastruktur komponen yang membentuk komponen framework dan
komponen pada aplikasi.
5) System Verification dan validation, sistem verifikasi dan validasi
menitik beratkan pada masalah spesifikasi untuk component-based
yaitu melalui pendekatan lokasi error, terutama ketika komponen tipe
"Black Box" dikirm dari vendo yang berbeda.
6) Operation support dan maintenance, Operasi pendukung dan
pemeliharaan mirip dengan proses implementasi, tetapi komponen-
komponen yang ada akan diubah ke versi yang baru dan diintegrasikan
ke dalam sistem.

Component-Based Software Engineering (CBSE) adalah proses yang


menekankan perancangan dan pembangunan software dengan
menggunakan komponen software yang sudah ada. CBSE terdiri dari dua
bagian yang terjadi secara paralel yaitu domain engineering dan software
engineering (component-based development) seperti yang digambarkan
pada Gambar 2.3.2:
 Domain engineering menciptakan model domain bagi aplikasi yang
akan digunakan untuk menganalisis kebutuhan pengguna.
Identifikasi, pembangunan, pengelompokan dan pengalokasikan
komponen-komponen software supaya bisa digunakan pada sistem
yang ada dan yang akan datang.

11
 Software engineering (component-based development) melakukan
analisis terhadap domain model yang sudah ditetapkan kemudian
menentukan spesifikasi dan merancang berdasarkan model struktur
dan spesifikasi sistem, kemudian melakukan pembangunan software
dengan menggunakan komponen-komponen yang sudah ditetapkan
berdasarkan analisis dan rancangan yang dihasilkan sebelumnya
hingga akhirnya menghasilkan software.

Gambar 2.1.4 Domain Engineering dan Software Engineering


(Component-Based Development)

Kelebihan dari Component-Based Development, yaitu :


- Mempersingkat waktu pengembangan
- Meminimalisir biaya pengembangan proyek
- Meningkatkan produktivitas
- Komponen-kompenen dari perangkat lunak bisa digunakan kembali
menggunakan model reuse.

Kekurangan dari Component-Based Development, yaitu :


- Model CBD bersifat iterarif atau berulang-ulang prosesnya.
- Sistem tidak bisa di modularisasi

12
- Komponen lama tidak kompatibel atau sejalan dengan model
perakitan komponen saat ini.

13
BAB III
PENUTUP

3.1 Kesimpulan
Software Process merupakan pendekatan sistematis yang digunakan dalam
rekayasa perangkat lunak, serta merupakan sebuah aktifitas terurut yang
merujuk kepada produksi dari pembuatan produk rekayasa perangkat lunak,
juga merupakan sebuah proses dari program dan dapat mengeksekusi secara
otomatis. Software Process memliki tujuan untuk menghasilkan software yang
berkualitas. Adapun process model yang penulis cantumkan dalam makalah
ini, yaitu: Adaptive Software Development (ASD) dan Component-Based
Development.

3.2 Saran
Masih banyak kekurangan didalam penulisan makalah ini, penulis
mengharapkan dengan adanya makalah ini akan dapat membantu untuk lebih
memahami apa itu SDLC dan SW Process Model. Penulis juga mengharapkan
kepada pembaca agar memberikan kritik dan saran yang dapat membangun
agar kedepannya dapat membuat dan menyusun sebuah makalah dengan lebih
baik lagi.

14
DAFTAR PUSTAKA

Dharmayanti, D. (2012). Proses Pembangunan Perangkat Lunak.

Fauzan, M., Nasabah, G. H., Kartu, K. P., & Dan, M. N. B. (2018). Putra.
Pengertian SDLC Adalah: Fungsi, Metode dan Tahapan Sdlc.
https://salamadian. com/sdlc-system-development-life-cycle/, 20
September 2020. Transportation Research Part D: Transport and
Environment, 59.

Highsmith, J. (2013). Adaptive software development: a collaborative approach to


managing complex systems. Addison-Wesley.

Ian Sommerville, Software Engineering (9th Edition)

M Deploy, Software Engineering Process

Qureshi, M. R. J., & Hussain, S. A. (2008). An adaptive software development


process model. Advances in Engineering Software, 39(8), 654-658.

Rahim, A. S. (2018). Implementasi Metode Component-Based Software


Engineering (CBSE) dalam Mengembangkan Learning Management
System (LMS) (Doctoral dissertation, University of Muhammadiyah
Malang).

Reidar Conradi, Software Process Technology: 7th European Workshop

SA, R., & Shalahuddin, M. (2013). Rekayasa Perangkat Lunak.

Anda mungkin juga menyukai