Oleh:
Firman Wahid Maulana E31231883
Muhammad Iqbal Murobbi E31232210
Muhammad Fikri Arifandi E31232381
Ryan Pratama Putra E31232406
1. Latar Belakang
Pengembangan perangkat lunak dapat diartikan sebagai proses membuat suatu peran
gkat lunak baru untuk menggantikan perangkat lunak lama secara keseluruhan atau memp
erbaiki perangkat lunak yang telah ada. Supaya lebih cepat dan tepat dalam mengembangk
an perangkat lunak serta hasilnya mudah dikembangkan dan dipelihara, maka pengembang
an perangkat lunak memerlukan suatu metodologi khusus.
Systems Development Life Cycle atau dalam bahasa Indonesia disebut sebagai siklu
s hidup pengembangan sistem. SDLC adalah siklus yang digunakan dalam pembuatan atau
pengembangan sistem informasi yang bertujuan untuk menyelesaikan masalah secara efekt
if. Dalam pengertian lain, SDLC adalah proses yang digunakan untuk membangun suatu si
stem informasi agar dapat berjalan sesuai dengan apa yang diharapkan. SDLC menjadi ker
angka yang berisi langkah-langkah yang harus dilakukan untuk memproses pengembangan
suatu perangkat lunak. Sistem ini berisi rencana lengkap untuk mengembangkan, memelih
ara, dan menggantikan perangkat lunak tertentu.
Dalam rekayasa sistem dan rekayasa perangkat lunak, SDLC adalah proses pembuat
an dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengemban
gkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau inf
ormasi. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangka
t lunak, yang terdiri dari tahap-tahap, rencana (planning), analisis (analysis), desain (desig
n), implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance).
PEMBAHASAN
Perangkat lunak atau software menjadi komponen penting dalam dunia teknologi saa
t ini. Proses pengembangannya melibatkan metode dan pendekatan tertentu yang memung
kinkan pengembang untuk merancang, membangun, dan menguji solusi perangkat lunak y
ang handal. Dalam laporan ini, kami akan menjelaskan beberapa metode pengembangan p
erangkat lunak yang umum digunakan.
1. Metode Waterfall
Metode Waterfall atau Air Terjun adalah salah satu pendekatan linear yang paling tua dala
m pengembangan perangkat lunak. Dalam metode ini, pengembangan perangkat lunak ter
bagi menjadi fase-fase terpisah seperti analisis kebutuhan, desain, implementasi, pengujian,
dan pemeliharaan. Setiap fase dimulai setelah fase sebelumnya selesai. Metode ini membe
rikan pemahaman menyeluruh tentang kebutuhan proyek sebelum proses pengembangan d
imulai. Metode Waterfall memberikan kejelasan yang tinggi dalam hal perencanaan, namu
n kurang fleksibel terhadap perubahan.
Dalam metode ini, proses pengembangan dilakukan secara berurutan dan sistematis, sepe
rti aliran air terjun. Tahapan utama dalam metode Waterfall antara lain:
Requirements Analysis and Definition
Pada tahap ini pengembang harus mengetahui seluruh informasi mengenai kebutu
han pengguna terhadap software. Misalnya seperti kegunaan software yang diingi
nkan oleh pengguna dan batasan software.
Informasi ini biasanya diperoleh dari wawancara, survey, ataupun diskusi. Setelah
itu informasi dianalisis dan diolah sehingga mendapatkan data-data yang lengkap
mengenai detail kebutuhan pengguna akan software yang akan dikembangkan.
System Design
Tahap metode waterfall selanjutnya yaitu desain. Tahap ini secara umum mencak
up kepentingan desain teknis seperti bahasa pemrograman, lapisan data, layanan,
dan sebagainya. Spesifikasi desain biasanya akan dibuat untuk menguraikan bagai
mana logika bisnis yang tercakup dalam analisis akan diimplementasikan secara t
eknis.
bertujuan untuk memberikan gambaran lengkap tentang apa yang harus dikerjaka
n dan bagaimana tampilan dari sebuah sistem yang diinginkan.
Sehingga membantu kebutuhan hardware dan sistem agar lebih spesifik serta men
definisikan arsitektur sistem yang akan dibuat secara keseluruhan.
Implementation (Coding)
Tahap implementation and unit testing merupakan tahap pemrograman. Jadi prose
s penulisan code (coding) ada di tahap ini. Pembuatan perangkat lunak dibagi me
njadi modul-modul kecil yang nantinya akan digabungkan dalam tahap selanjutny
a. Pada fase ini juga dilakukan pemeriksaan terhadap fungsionalitas modul yang s
udah dibuat. Apakah sudah memenuhi kriteria yang diinginkan atau belum.
Testing/Verification
Pada tahap keempat ini akan dilakukan penggabungan modul-modul yang sudah
dibuat sebelumnya dan mengintegrasikannya dalam sistem secara keseluruhan.
Setelah proses integrasi selesai, selanjutnya dilakukan pemeriksaan dan pengujian
sistem secara keseluruhan untuk mengidentifikasi kemungkinan adanya kegagala
n dan kesalahan pada software.
Maintenance
Operation & Maintenance merupakan tahapan terakhir dari metode waterfall. Pad
a tahap ini software yang sudah jadi akan dijalankan atau dioperasikan oleh peng
gunanya. Disamping itu dilakukan pula perbaikan kesalahan, perbaikan impleme
ntasi unit system dan peningkatan sistem sesuai kebutuhan.
Penggunaan metode waterfall pada proyek yang ideal harus memiliki kriteria sebagai
berikut:
Dokumentasi tersusun dengan baik, jelas, dan tetap.
Definisi produk sudah jelas dan tidak berubah.
Teknologi yang digunakan telah dipahami dan tidak dinamis.
Tidak ada requirement yang ambigu.
Memiliki banyak SDM dengan keahlian yang dibutuhkan.
Proyeknya singkat
Salah satu contoh penggunaan metode waterfall pada proyek yang ideal adalah pada p
engembangan sistem perangkat lunak yang memiliki kebutuhan yang jelas, resiko keci
l, dan ketegasan dalam rencana dan jadwal. Misalnya, pengembangan sistem informas
i yang memiliki spesifikasi yang tetap dan tidak akan berubah secara signifikan selam
a proses pengembangan.
Tidak hanya memiliki bebarapa kelebihan. metode waterfall memiliki beberapa kekura
ngan dalam penggunaanya antara lain:
2. Metode Spiral
Metode Spiral memadukan aspek linear dari metode Waterfall dengan iterasi dari metode
Prototype. Pendekatan ini melibatkan siklus berulang di mana setiap siklus terdiri dari emp
at tahap yaitu perencanaan, analisis risiko, pengembangan, dan evaluasi. Metode ini memu
ngkinkan pengembang untuk menguji dan mengevaluasi solusi perangkat lunak pada setia
p tahap dengan fokus pada mitigasi risiko. Metode Spiral memiliki pendekatan yang lebih
berisiko, tetapi memungkinkan identifikasi dini dan mitigasi risiko.
Pada proses life cycle, metode spiral ini memiliki beberapa tahapan antara lain:
Tahap Liason: pada taha
p ini membangun komu
nikasi yang efektif di a
ntara
pengembangan dan pelan
ggan.
2. Tahap Planning (pere
ncanaan): pada tahap ini
ditentukan sumber-sumb
er
informasi, batas waktu da
n informasi-informasi yan
g dapat menjelaskan proy
ek.
3. Tahap Analisis Resiko: m
endefinisikan resiko, mene
ntukan apa saja yang menj
adi
resiko baik teknis maupun
manajemen.
4. Tahap Rekayasa (engine
ering): pembuatan prototi
pe atau pembangunan sat
u atau
lebih representasi dari apli
kasi tersebut
5. Tahap Konstruksi dan
Pelepasan (release): pada
tahap ini dilakukan
pembangunan perangkat
lunak yang dimaksud, d
iuji, diinstal dan diberik
an sokongan-
sokongan tambahan untu
k keberhasilan proyek.
6. Tahap Evaluasi: Pelang
gan/pemakai/pengguna
biasanya memberikan m
asukan
berdasarkan hasil yang did
apat dari tahap engineerin
g dan instalasi.
Tahap Liason: pada taha
p ini membangun komu
nikasi yang efektif di a
ntara
pengembangan dan pelan
ggan.
2. Tahap Planning (pere
ncanaan): pada tahap ini
ditentukan sumber-sumb
er
informasi, batas waktu da
n informasi-informasi yan
g dapat menjelaskan proy
ek.
3. Tahap Analisis Resiko: m
endefinisikan resiko, mene
ntukan apa saja yang menj
adi
resiko baik teknis maupun
manajemen.
4. Tahap Rekayasa (engine
ering): pembuatan prototi
pe atau pembangunan sat
u atau
lebih representasi dari apli
kasi tersebut
5. Tahap Konstruksi dan
Pelepasan (release): pada
tahap ini dilakukan
pembangunan perangkat
lunak yang dimaksud, d
iuji, diinstal dan diberik
an sokongan-
sokongan tambahan untu
k keberhasilan proyek.
6. Tahap Evaluasi: Pelang
gan/pemakai/pengguna
biasanya memberikan m
asukan
berdasarkan hasil yang did
apat dari tahap engineerin
g dan instalasi.
Tahap Liason: pada taha
p ini membangun komu
nikasi yang efektif di a
ntara
pengembangan dan pelan
ggan.
2. Tahap Planning (pere
ncanaan): pada tahap ini
ditentukan sumber-sumb
er
informasi, batas waktu da
n informasi-informasi yan
g dapat menjelaskan proy
ek.
3. Tahap Analisis Resiko: m
endefinisikan resiko, mene
ntukan apa saja yang menj
adi
resiko baik teknis maupun
manajemen.
4. Tahap Rekayasa (engine
ering): pembuatan prototi
pe atau pembangunan sat
u atau
lebih representasi dari apli
kasi tersebut
5. Tahap Konstruksi dan
Pelepasan (release): pada
tahap ini dilakukan
pembangunan perangkat
lunak yang dimaksud, d
iuji, diinstal dan diberik
an sokongan-
sokongan tambahan untu
k keberhasilan proyek.
6. Tahap Evaluasi: Pelang
gan/pemakai/pengguna
biasanya memberikan m
asukan
berdasarkan hasil yang did
apat dari tahap engineerin
g dan instalasi.
Tahap liason
Pada tahap ini membangun komunikatif yanag efektif di antara pengembangan da
n pelanggan.
Tahap planning (perencanaan)
Pada tahap ini ditentukan sumber-sumber informs, batas waktu dan informasi-inf
ormasi yang menjelaskan proyek.
Tahap analisis resiko
Mendefinisikan resiko ,menentukan apa aja yang menjadi resiko baik teknis maup
un manajemen.
Tahap rekayasa (engineering)
Pembuatan prototype atau Pembangunan satu atau lebih reprentasi dari pembangu
nan tersebut.
Tahap kontruksi dan pelepasan (release)
Pada tahap ini dilakukan Pembangunan perangkat lunak yang dimaksud diuji, dii
nstal dan diberikan sokongan-sokongan tambahan untuk keberhasilan proyek.
Tahap evaluasi
Pelanggan/pemakai/pengguna biasanya memakai masukan berdasarkan hasil yang
di dapat dari tahap engineering dan instalasi.
3. Metode Agile
Metode Agile menekankan kolaborasi tim, komunikasi yang intensif, dan adaptabilitas ter
hadap perubahan yang mungkin terjadi selama proses pengembangan. Agile melibatkan si
klus pengembangan yang berulang, dikenal sebagai sprint, di mana setiap sprint berfokus
pada pengembangan dan pengujian fitur-fitur tertentu. Metode Agile termasuk Scrum, Kan
ban, dan Extreme Programming (XP). Pendekatan ini membantu tim untuk merespon kebu
tuhan bisnis yang berubah dengan cepat. Metode Agile memungkinkan adaptasi yang cepa
t terhadap perubahan, tetapi memerlukan komunikasi yang intensif.
Metode Agile memiliki proses life cycle yang terdiri dari beberapa tahapan, yaitu:
Perencanaan
Tahap ini meliputi pengumpulan kebutuhan dan persyaratan dari pelanggan,
serta perencanaan untuk mengembangkan produk secara iteratif.
Analisis
Tahap ini meliputi analisis kebutuhan dan persyaratan yang telah dikumpul
kan, serta identifikasi risiko dan kendala yang mungkin terjadi.
Desain
Tahap ini meliputi perancangan arsitektur dan desain produk yang akan dike
mbangkan.
Implementasi
Tahap ini meliputi pengembangan produk secara iteratif, serta pengujian dan
integrasi produk.
Evaluasi
Tahap ini meliputi evaluasi produk yang telah dikembangkan, serta umpan
balik dari pelanggan dan pengguna.
Contoh penggunaan metode Agile pada proyek ideal dapat dilihat dalam berbagai bi
dang, seperti pengembangan aplikasi, sistem informasi, dan perangkat lunak. Berikut adalah
beberapa contoh penggunaan metode Agile pada proyek ideal:
Dalam setiap proyek tersebut, metode Agile digunakan untuk mengembangkan pera
ngkat lunak secara bertahap dan adaptif, serta memungkinkan perubahan dan penyesuaian ber
dasarkan umpan balik pelanggan. Metode Agile juga memungkinkan tim untuk mengembang
kan perangkat lunak yang lebih efisien dan efektif dengan mengurangi biaya perubahan dan k
etidakpastian
4. Metode DevOps
Metode DevOps mengintegrasikan pengembangan perangkat lunak (Development) dengan
operasi (Operation). DevOps berfokus pada kolaborasi antara pengembang perangkat luna
k dan administrator sistem untuk mempercepat pengiriman perangkat lunak dan meningkat
kan stabilitas serta keandalannya. Pendekatan ini melibatkan otomatisasi, pengujian berkel
anjutan, dan penerapan kontinu (Continuous Deployment) untuk menghasilkan perangkat l
unak yang lebih efisien. Metode DevOps meningkatkan efisiensi pengiriman perangkat lun
ak, namun memerlukan keahlian yang kuat dalam otomatisasi dan integrasi.
Proses life cycle dalam metode DevOps melibatkan beberapa tahap, termasuk:
Build (Pembangunan): Membangun (compile) kode ke dalam bentuk yang dapat dijalank
an dan diuji.
Test (Uji Coba): Menguji kode untuk memastikan bahwa tidak ada bug atau masalah yan
g dapat mempengaruhi kinerja aplikasi.
Operate (Operasional): Menjaga dan mengelola operasional aplikasi atau layanan yang te
lah diimplementasikan.
Feedback (Umpan Balik): Mengumpulkan umpan balik dari pengguna dan tim pengemba
ngan untuk meningkatkan kualitas dan fungsionalitas produk
-Contoh Penggunaan DevOps. Netflix merupakan salah satu perusahaan yang telah mencapai
kesuksesan dengan menggunakan DevOps.
Selain itu, ada juga beberapa metode atau pendekatan lain seperti metode Incrementa
l, Prototype, dan Lean yang berfokus pada eliminasi limbah dalam pengembangan perangk
at lunak. Sangat penting untuk memilih metode yang sesuai dengan kebutuhan proyek dan
karakteristik tim pengembangan. Namun, masing-masing metode pengembangan perangka
t lunak memiliki kelebihan dan kekurangan tertentu.
Metode RAD memiliki proses life cycle yang terdiri dari beberapa tahapan, yaitu:
1. Pencanaan Persyaratan: Tentukan ruang lingkup, tujuan, dan persyaratan proyek melalui
umpan balik dan kolaborasi pengguna.
2. Desain Pengguna: Melibatkan pengguna akhir dalam merancang sistem, membuat prototi
pe, dan mendapatkan umpan balik di awal proses pengembangan.
5. Umpan Balik dan Evaluasi: Kumpulkan umpan balik dari pengguna, evaluasi kinerja sist
em, dan buat penyesuaian yang diperlukan untuk perbaikan berkelanjutan.
Ketergantungan pada Tim: Dalam metode RAD, kolaborasi tim sangat penting. Jika
salah satu anggota tim tidak bisa mengikuti jadwal atau tidak dapat berkontribusi dengan
baik, proses pengembangan dapat terhambat dan mempengaruhi waktu penyelesaian
proyek.
Tidak Cocok untuk Proyek Besar: Metode RAD lebih cocok untuk proyek kecil dan
menengah. Proyek besar dengan banyak fitur dan fungsi membutuhkan waktu dan
sumber daya yang lebih banyak, sehingga metode RAD tidak efektif untuk proyek skala
besar.
Tidak Cocok untuk Aplikasi Kritis: Metode RAD tidak cocok untuk pengembangan
aplikasi yang kritis seperti sistem keamanan dan keuangan. Karena proses
pengembangan RAD yang cepat, tidak ada cukup waktu untuk menguji semua skenario
dan risiko yang terkait.
Ketergantungan pada Pengguna: Dalam metode RAD, pengguna aktif terlibat dalam
proses pengembangan. Namun, jika pengguna tidak dapat memberikan masukan yang
tepat atau tidak memahami kebutuhan mereka sendiri, aplikasi yang dibuat mungkin
tidak sesuai dengan kebutuhan pengguna.