You are on page 1of 28

Kelompok 3 | Rekayasa Sistem Informasi :

Ahmad Rifai
Eplin Mimi Susanti [41816120013]
Fitriya Dewi Damayanti [41816120055]
Ulfa Yuliana [41816120092]

Kelompok 3 | Rekayasa Sistem Informasi


Metode Pengembang Perangkat Lunak

Apasih Metode perangkat lunak itu ?

Kerangka yang digunakan


untuk menstruktur,
merencanakan, dan
mengendalikan proses
pengembangan suatu sistem
informasi

Kelompok 3 | Rekayasa Sistem Informasi


Apa Yang
Dimaksud SDLC??!!

SDLC (Software Development Life Cycle)


merupakan : Sebuah siklus hidup pengembangan
perangkat lunak yang terdiri dari beberapa tahapan-tahapan
penting dalam membangun perangkat lunak yang dilihat
dari segi pengembangannya.
SDLC tidak hanya penting untuk proses produksi software,
tetapi juga sangat penting untuk proses maintenance software
itu sendiri,
Kelebihan :
 Merupakan model pengembangan
handal dan paling lama digunakan
paling
SDLC
 Bagus digunakan untuk system software
berskala besar dikarenakan pengerjaan
project system terjadwal dengan baik dan
dikontrol
Kekurangan :
 Setiap tahap harus dilakukan secara
berurutan sehingga apabila terdapat
perubahan harus melakukan pengulangan
siklus
 Pada tradisional SDLC tahap testing
dilakukan di akhir dengan waktu yang relatif
singkat sehingga memungkinkan terjadinya
bug atau error yang fatal dan menyebabkan
kegagalan project
Metode Pengembangan Perangkat Lunak SDLC
METODE AGILE SOFTWARE
METODE SDLC
DEVELOPMENT

WATERFALL Extreme programming (XP)

Adaptive Software Development


PROTOTYPE (ASD)

RAD (Rapid Application


Scrum
Development)
Model Evolutionary
Agile Modeling (AM)
Development / 8 dari 12 MPPL

Model Incremental
Model Spiral / Model Boehm
Kelompok 3 | Rekayasa Sistem Informasi
WATERFALL
• Analisis kebutuhan perangkat lunak
Pada proses ini, dilakukan penganalisaan dan pengumpulan kebutuhan
sistem yang meliputi Domain informasi, fungsi yang dibutuhkan unjuk
kerja/performansi dan antarmuka.
• Desain
Pada proses Desain, dilakukan penerjemahan syarat kebutuhan
sebuah perancangan perangkat lunak yang dapat diperkirakan sebelum
dibuatnya proses pengkodean (coding). Proses ini berfokus
pada struktur data, arsitektur perangkat lunak, representasi interface,
dan detail algoritma prosedural.
• Pengkodean
Pengkodean merupakan proses menterjemahkan perancangan desain
ke bentuk yang dapat dimengerti oleh mesin, dengan menggunakan
bahasa pemrograman.
• Pengujian
Setelah Proses Pengkodean selesai, dilanjutkan dengan proses
pengujian pada program perangkat lunak.
• Pemeliharaan
Proses Pemeliharaan erupakan bagian paling akhir dari siklus
pengembangan dan dilakukan setelah perangkat lunak dipergunakan

Kelompok 3 | Rekayasa Sistem


Informasi
Kelebihan

Mudah dipahami untuk Sangat menghemat waktu


para pengembang karena setiap tahap
pemula diproses dan diselesaikan
sekaligus

Waterfall
Model
Pengujian mudah dilakukan
Mudah dimanage, karena karena mengacu pada skenario
setiap tahap memiliki tugas- pengujian yang sudah
didefinisikan dalam spesifikasi
tugas spesifik fungsional sebelumnya

Kelompok 3 | Rekayasa Sistem Informasi


Kekurangan
Model ini hanya dapat digunakan ketika tersedia
requirement (kebutuhan) yang sangat tepat

Model ini tidak dapat diterapkan untuk pemeliharaan


sistem (hanya untuk pengembangan sistem baru)

Sekalinya berada di tahap pengujian, tidak ada


Waterfall Model
kemungkinan untuk kembali ke tahap sebelumnya untuk
melakukan suatu perubahan

Model ini cocok digunakan untuk proyek kecil tetapi


tidak cocok untuk proyek lama dan berkelanjutan

Kurang ideal untuk proyek yang requirement-nya sangat


moderat dan ada ruang lingkup yang besar untuk
modifikasi

Kelompok 3 | Rekayasa Sistem Informasi


Kelompok 3 | Rekayasa Sistem Informasi
PROTOTYPE
Tahapan – tahapan Proses Pengembangan dalam Model Prototype, yaitu :
 Pengumpulan kebutuhan

Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua
kebutuhan, dan garis besar sistem yang akan dibuat.

 Membangun prototyping

Membangun prototyping dengan membuat perancangan sementara yang berfokus pada penyajian kepada pelanggan (misalnya
dengan membuat input dan format output).

 Evaluasi protoptyping

Evaluasi ini dilakukan oleh pelanggan, apakah prototyping yang sudah dibangun sudah sesuai dengan keinginan pelanggan
atau belum..

 Mengkodekan sistem

Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.

 Menguji sistem

Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, kemudian dilakukan proses Pengujian. Pengujian ini
dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur, dll.

 Evaluasi Sistem

Pelanggan mengevaluasi apakah perangkat lunak yang sudah jadi sudah sesuai dengan yang diharapkan . Jika ya, maka proses
akan dilanjutkan ke tahap selanjutnya, Jika tidak/belum, maka tahapan sebelumnya akan diulang.

 Menggunakan sistem

Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.
Kelebihan
Ketika prototype Komunikasi antara tim pengembang
ditunjukkan pada klien, perangkat lunak dan klien dapat
mereka dapat memahami menjadikan lingkungan yang sangat
secara jelas fungsi-fungsi baik dan kondusif selama
dari perangkat lunak pengembangan

Mengurangi risiko kegagalan Membantu dalam mengumpulkan


secara signifikan, karena risiko kebutuhan dan analisis kebutuhan
potensial dapat diindentifikasi ketika kurangnya dokumentasi
pada tahap awal dan tahap tentang kebutuhan sistem
moderasi dapat dilakukan
dengan cepat

Kelompok 3 | Rekayasa Sistem Informasi


Kekurangan
Terlalu banyak modifikasi mungkin tidak bagus untuk proyek,
karena hal ini dapat mengganggu aliran kerja dari seluruh tim
pengembangan perangkat lunak

Terlalu banyak keterlibatan klien biasanya tidak disukai


oleh pengembang

Metode prototype biasanya menggunakan biaya


pengembang, sehingga sebaiknya dilakukan dengan
menggunakan sumber daya minimal jika biaya
pengembangan organisasi terlalu tinggi

Kelompok 3 | Rekayasa Sistem Informasi


Rapid Application Development
Rapid Aplication Development (RAD) adalah sebuah
model proses perkembanganperangkat lunak sekuensial
linier yang menekankan siklus perkembangan yang
sangat pendek (kira-kira 60 sampai 90 hari).

Kelompok 3 | Rekayasa Sistem Informasi


Tahapan – tahapan Proses Pengembangan dalam Model Rapid Application Development
(RAD), yaitu :

 Bussiness Modeling

Fase ini untuk mencari aliran informasi yang dapat menjawab pertanyaan berikut:

 Informasi apa yang menegndalikan proses bisnis?

 Informasi apa yang dimunculkan?

 Di mana informasi digunakan ?

 Siapa yang memprosenya ?

 Data Modeling

Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness modeling disaring ke dalam
serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebutProses Modeling

Aliran informasi yang didefinisikan di dalam fase data modeling ditransformasikan untuk mencapai
aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan
untuk menambah, memodifikasi, menghapus, atau mendapatkan kembali sebuah objek data.

 Aplication Generation

Selain menggunakan bahasa pemrograman generasi ketiga, RAD juga memakai komponen program
yang telah ada atau menciptakan komponen yang bisa dipakai lagi.

 Testing dan Turnover

Karena proses RAD menekankan pada pemakaian kembali, banyak komponen program telah diuji.
Kelebihan
RAD
Lebih efektif dari Pengembangan Model waterfall/sequential
Rapid Application Development
linear dalam menghasilkan sistem yang memenuhi
Model RAD mengikuti tahap kebutuhan langsung dari pelanggan.
pengembangan sistem seperti
RAD
pada umumnya, tetapi mempunyai
kemampuan untuk menggunakan Cocok untuk proyek yang memerlukan waktu yang
kembali komponen yang ada singkat.
sehingga pengembang tidak perlu
membuatnya dari awal lagi sehingga
waktu pengembangan menjadi lebih
singkat dan efisien.

Kelompok 3 | Rekayasa Sistem Informasi


Kekurangan
RAD
Bergantung pada tim yang kuat dan kinerja individu untuk
Rapid Application Development mengidentifikasi secara jelas kebutuhan bisnis yang
tepat
Metode yang efektif untuk
memberikan pengembangan
yang lebih cepat dan kualitas RAD
yang dihasilkan lebih tinggi
Hanya akan berhasil pada sistem yang
daripada metode lain. Tujuan
dapat dimodularisasi
utama dari metode ini adalah
untuk mengakselerasikan
seluruh proses pengembangan RAD
perangkat lunak
Pendekatan ini membutuhkan
pengembang dan tim desainer yang
berskil tinggi yang bisa jadi tidak
memungkinkan untuk setiap organisasi

RAD
Tidak dapat diterapkan untuk pengembang yang
menggunakan budget rendah karena biaya pemodelan
dan pembuatan kode sangat tinggi

Kelompok 3 | Rekayasa Sistem Informasi


Model Evolutionary
Development / Evolutionary
Software Process Models

Model Evolutionary Development bersifat iteratif


(mengandung perulangan). Hasil prosesnya berupa
produk yang makin lama makin lengkap sampai versi
terlengkap dihasilkan sebagai produk akhir dari proses.

Kelompok 3 | Rekayasa Sistem Informasi


Model Spiral / Model Boehm
Model Evolutionary Development / Model ini mengadaptasi dua model perangkat
lunak yang ada yaitu model prototyping dengan
Evolutionary Software Process pengulangannya dan model waterfall dengan
terbagi menjadi 2, yaitu : pengendalian dan sistematikanya. Model ini
dikenal dengan sebutan Spiral Boehm.
Pengembang dalam model ini memadupadankan
beberapa model umum tersebut untuk
menghasilkan produk khusus atau untuk
01 menjawab persoalan-persoalan tertentu selama
proses pengerjaan proyek.

Model Incremental
Model Incremental merupakan hasil
02
kombinasi elemen-elemen dari model
waterfall yang diaplikasikan secara berulang,
atau bisa disebut gabungan dari Model linear
sekuensial (waterfall) dengan Model
Prototype.

Kelompok 3 | Rekayasa Sistem Informasi


Kelebihan & Kekurangan Model Incremental
Kelebihan Kekurangan
Personil bekerja optimal,
mampu mengakomodasi
perubahan secara fleksibel, Tidak cocok untuk proyek
dengan waktu yang relatif berukuran besar (lebih dari
singkat dan tidak dibutuhkan 200.000 baris coding).
anggota/tim kerja yang banyak
untuk menjalankannya.

Pihak konsumen dapat


langsung menggunakan
Sulit untuk memetakan
dahulu bagian-bagian yang kebutuhan pemakai ke dalam
telah selesai dibangun. rencana spesifikasi tiap-tiap
Contohnya pemasukan data hasil dari increament.
karyawan.

Kelompok 3 | Rekayasa Sistem Informasi


Kelebihan & Kekurangan ModelSpiral
Kelebihan Kekurangan
sangat mempertimbangkan resiko waktu yang dibutuhkan
kemungkinan munculnya untuk mengembangkan
kesalahan sehingga sangat dapat perangkat lunak cukup
diandalkan untuk pengembangan panjang demikian juga
biaya yang besar. Selain itu,
perangkat lunak skala besar.
sangat tergantung kepada
tenaga ahli yang dapat
memperkirakan resiko.

Pendekatan model ini dilakukan


melalui tahapan-tahapan yang
Terdapat pula kesulitan untuk
sangat baik dengan menggabungkan mengontrol proses. Sampai saat
model waterfall ditambah dengan ini, karena masih relatif baru,
pengulangan-pengulangan sehingga belum ada bukti apakah metode
lebih realistis untuk mencerminkan ini cukup handal untuk
diterapkan.
keadaan sebenarnya.

Kelompok 3 | Rekayasa Sistem Informasi


AGILE SOFTWARE
DEVELOPMENT

Kelompok 3 | Rekayasa Sistem Informasi


Kelebihan dari Agile Software
Development yaitu:
• Meningkatkan kepuasan
kepada klien
• Pembangunan system dibuat
lebih cepat
• Mengurangi resiko kegagalan
01 implementasi software dari
segi non-teknis
Agile merupakan adalah jenis pegembangan
sistem jangka pendek yang memerlukan
adaptasi cepat dan pengembang terhadap
perubahan dalam bentuk apapun. Dalam Agile
02
Software Development interaksi dan personel
Kekurangan :
lebih penting dari pada proses dan alat,
software yang berfungsi lebih penting  Agile membutuhkan tim yang sudah terlatih
daripada dokumentasi yang lengkap,
 Membutuhkan waktu yang banyak dan intens dengan
kolaborasi dengan klien lebih penting dari
customer yang berlebihan sehingga jarang dipraktekaan
pada negosiasi kontrak, dan sikap tanggap
secara langsung
terhadap perubahan lebih penting daripada
mengikuti rencana. Kelompok 3 | Rekayasa Sistem Informasi  Keterbatasan waktu dalam perencanaan proyek
Model Proses Agile

Extreme programming (XP)

Dipublikasikan oleh Kenn Beck pada tahun 1999 dengan


menggunakan pendekatan OOP (Object Oriented
Programming), terdiri dari aktivitas perencanaan, aktivitas
desain, aktivitas pengkodean dan aktivitas pengujian.
Kelompok 3 | Rekayasa Sistem Informasi
Adaptive Software Development
(ASD)

Di usulkan oleh Jim Highsmith


sebagai tehnik untuk membangun
software dan sistem yang komplek,
filosofi dari ASD adalah kolaborasi
manusia dan tim yang mengatur diri
sendiri, aktivitas pada proses ASD
adalah speculation, collaboration & Laerning.
Kelompok 3 | Rekayasa Sistem Informasi
Scrum
Skema dari SCRUM

Diperkenalkan oleh Jeff Sutherland tahun awal tahun 1990-an, Pengembangan


berikutnya dilakukan oleh Schwaber dan Beedle, Scrum memiliki prinsip:
 ukuran tim yang kecil melancarkan komunikasi, mengurangi biaya, dan
emberdayakan 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

Kelompok 3 | Rekayasa Sistem Informasi


Kelebihan

Semua keputusan berada di tangan tim

Dapat digunakan untuk proyek yang tidak


mempertimbangkan dokumentasi kebutuhan bisnis

Meeting yang dilakukan setiap hari secara mudah dapat


membantu pengembang untuk membuat kemungkinan
untuk mengukur produktivitas individu. Hal ini dapat
menyebabkan peningkatan produktivitas masing-masing
anggota tim

Kelompok 3 | Rekayasa Sistem Informasi


Kekurangan

Metode ini akan memakan biaya dan waktu lebih jika tidak
diperkirakan secara akurat

Tidak cocok untuk proyek dalam lingkup besar, tetapi


cocok untuk proyek kecil dan proyek yang bergerak cepat

Setiap anggota tim harus memiliki pengalaman. Jika tim


terdiri dari orang-orang pemula, proyek tidak dapat
diselesaikan dalam waktu yang sudah ditentukan

Kelompok 3 | Rekayasa Sistem Informasi


Agile Modeling (AM)
Agile Modelling
AM adalah suatu metodologi yang praktis untuk dokumentasi
dan pemodelan sistem software. AM adalah kumpulan nilai-
nilai, prinsip dan praktek-praktek untuk memodelkan software
agar dapat diaplikasian pada software development proyek
secara efektif. Prinsip dalam Agile Modelling adalah sebagai
berikut:
 membuat model dengan tujuan
 mengunakan multiple models
 travel light
 isi lebih penting dari pada penampilan
 memahami model dan alat yang yang digunakan untuk
membuat software
adaptasi secara lokal
Kelompok 3 | Rekayasa Sistem Informasi
Terima Kasih
Dosen Pengampu : Kurnia Gusti Ayu, M. Kom

Kelompok 3 | Rekayasa Sistem Informasi

You might also like