Anda di halaman 1dari 33

SDLC

MODEL PROSES
REKAYASA
PERANGAT LUNAK
Apa itu Software Process
• Proses perangkat lunak merupakan serangkaian
kegiatan dan hasil-hasil relevan yang menghasilkan
perangkat lunak.
• Kegiatan-kegiatan ini sebagian besar dilakukan
oleh perekayasa perangkat lunak.
• Ada empat kegiatan proses dasar perangkat lunak :
1. Specification / Spesifikasi perangkat lunak, hal-
hal yang diperlukan oleh sistem, fungsional
perangkat lunak dan batasan kemampuan
operasinya harus didefinisikan.
2. Development / Pengembangan perangkat
lunak, perangkat lunak yang memenuhi
spesifikasi tersebut harus dipenuhi atau
produksi sistem perangkat lunak.
3. Validation / Pengesahan perangkat lunak,
perangkat lunak harus divalidasi untuk menjamin
bahwa perangkat lunak melakukan apa yang
diinginkan oleh pelanggan atau pemeriksaan
perangkat lunak sesuai dengan keinginan
pelanggan.
4. Evolution / Evolusi perangkat lunak, perangkat
lunak harus dikembangkan untuk memenuhi
kebutuhan pelanggan yang berubah-ubah atau
pengubahan perangkat lunak sesuai dengan
permintaan pelanggan.
Apa itu Model Proses Perangkat Lunak

• Model proses perangkat lunak merupakan suatu


deskripsi yang disederhanakan dari proses
perangkat lunak dan kemudian dipresentasikan
dengan sudut pandang tertentu.
• Model proses ini bisa saja mencakup suatu
kegiatan yang termasuk dalam bagian dari proses
perangkat lunak tersebut , produk perangkat lunak,
peran seseorang pada rekayasa perangkat lunak
tersebut.
Model Proses Perangkat Lunak
• Software process model merupakan representasi
sederhana suatu software process, yang
diperkenalkan dari suatu perspektif spesifik.
• Contoh perspektif proses adalah
✓ Workflow Perspektif - Urutan aktivitas.
✓ Data-Flow Perspektif - Arus Informasi.
✓ Role/Action Perspektif – Peran dan Aksi.
• Proses umum model
✓ Waterfall (Model Air Terjun).
✓ Evolutionary development (Pengembangan
Evolusioner).
✓ Formal transformation (Pengembangan Sistem
Formal).
✓ Integration from reusable components
(Pengembangan berdasarkan pemakaian
Berapa Biaya RPL
• Perkiraan kasar adalah 60% untuk biaya
pengembangan, sedangkan 40% untuk biaya
pengujian. Untuk custom sofware, biaya-biaya
evolusi sering melebihi biaya-biaya
pengembangan.

• Biaya-biaya berubah-ubah tergantung pada jenis


sistem yang dikembangkan dan kebutuhan atribut
sistem seperti kehandalan dan reliabilitas sistem.

• Distribusi biaya-biaya tergantung pada model


pengembangan yang digunakan.
KEGUNAAN RPL
• Perangkat lunak menjadi mesin yang
mengendalikan pengambilan keputusan di dalam
dunia bisnis.
• Berfungsi sebagai dasar dari semua bentuk
pelayanan serta penelitian keilmuan modern.
• Perangkat lunak dilekatkan pada semua sistem,
seperti transportasi, medis, telekomunikasi, militer,
proses industri, hiburan, produk kantor dan
sebagainya.
• Program-program perangkat lunak sudah tersebar
secara luas, dan masyarakat memandangnya
sebagai kenyataan teknologi dalam kehidupan.
PENGERTIAN SDLC
• SDLC => Systems development life cycle ( siklus hidup pengembangan
system ).
• SDLC adalah siklus yang digunakan dalam pembuatan atau pengembangan
sistem informasi yang bertujuan untuk menyelesaikan masalah secara efektif.
• Dalam pengertian lain, SDLC adalah tahapan kerja yang bertujuan untuk
menghasilkan sistem berkualitas tinggi yang sesuai dengan keinginan pelanggan
atau tujuan dibuatnya sistem tersebut.
• SDLC adalah proses mengembangkan atau mengubah suatu system perangkat
lunak dengan menggunakan model-model dan metodologi yang digunakan untuk
mengembangkan system-system perangkat lunak sebelumnya.
Tahapan-tahapan SDLC secara global :
1. Inisiasi (initiation). Pada tahap ini ditandai dengan pembuatan proposal.
2. Pengembangan konsep system (system concept development) mendefinisikan
lingkup konsep termasuk dokumen lingkup system, analisis manfaat biaya,
manajemen rencana dan pembelajaran kemudahan system.
3. Perencanaan (Planning).Mengembangkan rencana manajemen proyek dan
dokumen perencanaan lainnya.Menyediakan dasar untuk mendapatkan sumber
daya /resources.
4. Analisis Kebutuhan (requirements analysis). Menganalisis kebutuhan pemakai
system rekayasa perangkat lunak (user) dan mengembangkan kebutuhan user.
5. Desain (Design). Mentransformasikan kebutuhan detail menjadi kebutuhan
yang sudah lengkap, dokumen desain system focus pada bagaimana dapat
memenuhi fungsi – fungsi yang dibutuhkan.
Tahapan-tahapan SDLC secara global :
6. Pengembangan (Development). Mengkonversi desain ke system informasi yang
lengkap termasuk bagaimana memperoleh dan melakukan instalasi lingkungan
system yang dibutuhkan : membuat basis data dan mempersiapkan prosedur
kasus pengujian, mempersiapkan berkas atau file pengujian, pengkodean,
memperbaiki dan membersihkan program, peninjaun pengujian.
7. Integrasi dan pengujian (Integration and test), mendemonstrasikan system
perangkat lunak bahwa telah memenuhi kebutuhan yang dispesifikasikan.
8. Implementasi (Implementaion), termasuk persiapan implementasi,
implementasi perangkat lunak pada lingkungan produksi (lingkungan user) dan
menjalankan resolusi dari permasalahan yang teridentifikasi pada fase
integrasi dan pengujian.
Tahapan-tahapan SDLC secara global :
9. Operasi dan pemeliharaan (operations and maintenance), mendeskripsikan
pekerjaan untuk mengoperasikan dan memelihara system informasi pada
lingkungan produksi (lingkungan user), termasuk implementasi akhir dan
masuk pada proses peninjauan.
10. Disposisi (disposition), mendeskripsikan aktifitas akhir pada pengembangan
system dan membangun data yang sebenarnya sesuai dengan aktifitas user.
MODEL SDLC

1. Model Waterfall

2. Model Prototipe

3. Model Rapid Application Development (RAD)

4. Model Iteratif

5. Model Spiral
1. Model Waterfall (Air Terjun)
• Model ini sering juga disebut dengan model sequensial linier (sequential linear)
atau alur hidup klasik (classic life cycle).

Analysis

Design

Testing

Implementation

Maintenance
1. Model Waterfall (Air Terjun)
• Kelebihan Model Waterfall :
✓ Model pengembangan paling handal dan paling lama digunakan.

✓ Cocok untuk sistem software dengan kompleksitas rendah (predictable).


✓ Pengerjaan project sistem akan terjadwal dengan baik dan mudah dikontrol.

• Kekurangan :
✓ Waktu pengembangan lama karena harus menunggu tahap sebelumnya selesai.

✓ Biaya juga mahal, hal ini juga dikarenakan waktu pengembangan yang lama.
✓ Karena tahap-tahapan pada waterfall tidak dapat berulang, maka model ini tidak
cocok untuk pemodelan pengembangan sebuah proyek yang memiliki kompleksitas
tinggi.
2. Model Prototipe
• Prototype adalah salah satu metode
pengembangan software yang
mengijinkan pengguna/user memiliki
gambaran awal tentang progam yang
akan dikembangkan serta melakukan
pengujian awal.

• Mock up adalah sesuatu yang digunakan


sebagai model desain yang digunakan
untuk mengajar, demonstrasi, evaluasi
desain, promosi, atau keperluan lain.
2. Model Prototipe
2. Model Prototipe

✓ Penentuan kebutuhan lebih mudah diwujudkan.

✓ Mempersingkat waktu pengembangan dan biaya lebih murah.

✓ Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.

✓ Adanya komunikasi yang baik antar pengembang dan pelanggan.

• Kekurangan Model Prototipe :

✓ Proses analisa dan perancangan terlalu singkat.

✓ Biasanya kurang fleksibel dalam menghadapi perubahan.

✓ Pengguna mungkin bingung dalam prototipe dan sistem sebenarnya.


3. Model Rapid Application Development
(RAD)

• Model proses pengembangan perangkat lunak yang bersifat incremental


terutama untuk waktu pengerjaan yang jangka pendek (60 – 90 hari) .

• Model RAD adalah adaptasi dari model air terjun versi kecepatan tinggi
dengan menggunakan model air terjun untuk pengembangan setiap komponen
perangkat lunak.
3. Model Rapid Application Development
(RAD)
3. Model Rapid Application Development
(RAD)
• Kelebihan Model RAD:
✓ Anggota tim sudah berpengalaman mengembangkan perangkat lunak sejenis.
✓ Pengembang sudah memiliki komponen-komponen sistem yang bisa digunakan kembali
dalam proyek tersebut.
✓ Cocok untuk proyek yang memerlukan waktu singkat.
• Kekurangan Model RAD :
✓ Untuk pembuatan sistem perangkat lunak dengan skala besar maka model RAD akan
memerlukan sumber daya manusia yang cukup besar untuk membentuk tim.
✓ Jika tidak ada persetujuan untuk mengembangkan perangkat lunak secara cepat
(rapid) maka proyek akan gagal karena hanya akan bingung mendefinisikan kebutuhan
user.
✓ Tidak cocok untuk sistem perangkat lunak yang memliki resiko tinggi., misalnya
menggunakan teknologi baru yang belum banyak di kenal/ dikuasi pengembang.
3. Model Rapid Application Development
(RAD)
• Dari model RAD muncul modifikasi model dari model RAD :
✓ Pengembang Perangkat Lunak “Tangkas” (Agile Software) dimana interaksi antar
anggota tim dan pelanggan dianggap hal yang penting.
• Pengembangan Scrum (semua tim), semua tim yang terlibat dalam proyek
bekerja secara tumpeng tindih (overlapping) sesuai dengan kebutuhan sumber
daya proyek perangkat lunak. Peranan setiap tim telah ditentukan.

• Pengembangan Pemograman Ekstrim (Extreme Programming) , mengijinkan tim


pengembang untuk berkomunikasi langsung dengan pelanggan (customer) atau
user maupun sesame programmer. Ciri khas model ini komunikasi yang dilakukan
setiap hari atau setiap ditemukan hal-hal yang kurang jelas.
4. Model Iteratif / Pengulangan.
• Mengkombinasikan proses-proses pada model air terjun dan iterative pada model
prototipe.
• Model incremental akan menghasilkan versi-versi perangkat lunak yang sudah
mengalami penambahan fungsi untuk setiap pertambahannya.
4. Model Iteratif / Pengulangan.
• Kelebihan Model Iteratif :
✓ User dapat mencoba sistem yg sudah dikembangkan dan kemudian dapat memberikan
masukkan > keterlibatan user semakin intens dampak positif dalam pengembangan
✓ Prototype relatif lebih mudah dibangun dan tidak memerlukan waktu yang lama
✓ Dengan prototype, kesalahan & kelalaian dalam pengembangan dapat segera
diketahui.
• Kekurangan Model Iteratif :
✓ Setiap iterasi bergantung prototype sebelumnya solusi final umumnya terjadi
apabila ada perbedaan yg nyata pada prototype sebelumnya
✓ Formal end-of-phasemungkin tidak terjadi, karena sangat sulit menentukan scope
dari suatu prototype > proyek tidak pernah selesai
✓ Dokumentasi seringkali tdk lengkap > fokus pada pembuatan prototype
✓ Isu2 mengenai system backup & recovery, system performance dan system security,
kurang/tidak diperhatikan dan sering terlupakan
5. Model Spiral.
• Model spiral merupakan penggabungan dari model prototyping dan model waterfall.
• Model prototyping yang fokus pada penyajian atau presentasi kepada user dengan
format input dan output kemudian perangkat lunak akan dievaluasi.
• Model waterfall yang fokus kepada proses pengembangan perangkat lunak yang
sistematis atau berurutan. Model spiral menekankan pada Analisa resiko setiap
tahapannya.

• Fungsi model spiral adalah untuk melakukan perubahan, penambahan dan


pengembangan perangkat lunak dengan memaksimalkan aspek kecepatan dan
ketepatan berdasarkan keinginan dan kebutuhan penggunanya.
5. Model Spiral.
5. Model Spiral.
• Tahap – tahap pada model spiral :
1. Tahap Liason / customer communication (komunikasi dengan pelanggan).

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.
5. Model Spiral.
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. Model Spiral.
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).
5. Model Spiral.
• Kelebihan Model Spiral :
✓ Pembangunan dan perubahan perangkat lunak yang terjadi dapat diselesaikan secara
sistematis
✓ Mudah dalam mengestimasi biaya karena proses pembuatan prototype yang jelas dan
terencana dalam tahapan yang sistematis
✓ Manajemen dan analisa risiko yang lebih cepat dan mudah
✓ Mudah dalam melakukan perubahan kebutuhan dan dokumentasi
✓ Produksi software bisa terjadi lebih cepat
• Kelemahan
✓ Tidak cocok dan sulit diimplementasikan dalam projek kecil
✓ Memakan waktu yang cukup lama
✓ Membutuhkan best practice atau pengalaman sebelumnya karena proses yang sangat
kompleks
✓ Resiko dalam tahap planning cukup besar. Misalnya terjadi perbedaan dalam jadwal
pengembangan dan anggaran belanja.
CASE (Computer Aided Software
Engineering)
• Implementasi alat dan metode yang difasilitasi komputer dalam pengembangan
perangkat lunak.
• CASE digunakan untuk memastikan perangkat lunak berkualitas tinggi dan bebas
cacat. Tools CASE dapat dikatagorikan menjadi tiga, yakni:
•Upper = analisis dan fase desain
•Lower = mendukung fase pengkodean
•Integrated = juga dikenal sebagai I-CASE
analisis, desain dan pengkodean dukungan
CASE (Computer Aided Software
Engineering)
• Keuntungan Case :
✓ Peningkatan produktivitas. CASE dapat menghasilkan kode bebas-bug dari
spesifikasi sistem dan dapat mengotomatisasikan tugas-tugas yang berulang.
✓ Peningkatan kualitas program. CASE sederhananya meneraokan standar-standar
pengembangan terstruktur, mengecek ketepatan internal desain, dan
mendeteksi inkonsistensi.
✓ Penghematan biaya.
✓ Peningkatan prosedur pengendalian, CASE mendorong pengendalian sistem,
ukuran keamanan, dan keterauditan sistem dan prosedur penanganan kesalahan
lebih dini dalam proses desain.
✓ Dokumentasi yang disederhanakan. CASE secara otomatis mendokumentasikan
sistem dengan kemajuan perkembangan
CASE (Computer Aided Software
Engineering)
• Kelemahan Case :
• Beberapa alat CASE tidak berinteraksi secara efektif dengan sistem lain.

• Teknologi CASE mahal, sehingga perusahaan kecil cenderung tidak dapat


menggunakannya.

• Ekspetasi yang tidak terpenuhi. Sebuah survey yang dilakukan Deloitte &
Touche mengindikasi bahwa hanya 37% CIO yang menggunakan CASE yakin
bahwa mereka mencapai manfaat yang diharapkan.
Terima Kasih

Anda mungkin juga menyukai