Dalam bahasa Indonesia disebut siklus hidup pengembangan sistem. SDLC digunakan
untuk membangun suatu sistem informasi agar dapat berjalan sesuai dengan apa yang diharapkan.
SDLC adalah siklus yang digunakan dalam pembuatan atau pengembangan sistem informasi yang
bertujuan untuk menyelesaikan masalah secara efektif.
Macam – macam SDLC :
1. Metode waterfall
Metode ini dianalogikan seperti air terjun, yang pengerjaannya harus berurutan dari atas hingga
bawah dan tidak bisa dikerjakan secara bersamaan.
Tahap atau Fase :
a. Requirement Analysis, mengumpulkan informasi dan melakukan perencanaan kemudian
menentukan software apa yang akan dihasilkan.
b. Design, membuat konsep perancangan interface dan solusi dari pengembangan sistem.
c. Implementasi, proses pembuatan software sesuai dengan perancangan sebelumnya.
d. Testing, pengujian dan validasi terhadap suatu sistem oleh klien.
e. Maintenance, proses operasionalisasi dan pemeliharaan sistem untuk memperbaiki bug dan
problem dalam suatu software.
Kelebihan
a. Sistem rangkaian jelas, sehingga pengerjaan proyek lebih detail dan kesalahan bisa
diminimalisir.
b. Gambaran akhir yang jelas, karena Analisa pada tahap awal metode ini sangat lengkap
dan jelas sehingga output yang dihasilkan konsisten dari awal.
c. Baik dalam dokumentasi, setiap progress dan informasi bisa tercatat dan dapat diakses
oleh pengembang yang lain.
d. Menghemat biaya, klien tidak bisa ikut campur dalam urusan pengembang sehingga tidak
bisa melakukan perubahan atau meminta tambahan fitur dan biaya yang dikeluarkan
menjadi lebih sedikit.
e. Baik digunakan untuk pengembangan software berskala besar,
Kekurangan
a. Kurang fleksibel, klien tidak dapat memberikan pendapat dan masukan saat proses
pengembangan berlangsung, karena klien hanya bisa melakukannya saat tahap awal
perancangan software saja.
b. Tim harus benar benar solid, karena jika ada salah satu tim yang tidak bisa mengerjakan
tugasnya dengan baik maka akan berpengaruh pada alur kerja yang lain.
c. Membutuhkan waktu yang lama, karena pada proses pengembangannya tidak bisa
dikerjakan langsung seccara Bersama sama tetapi harus bergantian dan berurutan dari awal.
2. Spiral
Model ini dapat terus digunakan meskipun software sudah dikirimkan, karena proses (siklus)
dapat berputar lagi jika ada perubahan pada software, sampai tidak ada permintaan perubahan
pada software oleh client.
Fase atau Tahapan :
a. Liason, komunikasi antar pengembang dan klien tujuannya untuk memuaskan klien.
b. Planning, memperkirakan biaya jadwal sumber daya dan literasi
c. Risk Analysis, untuk menganalisa risiko yang akan ditimbulkan saat mitigasi
direncanakan dan diselesaikan.
d. Engineering, melakukan pengujian coding, menginstal software dan membuat prototype
serta meringkas hasil dari pengujian software kemudian membuat laporan.
e. Tahap Konstruksi dan Pelepasan (release), melakukan pembaruan atas pengujian yang
dilakukan sebelumnya kemudian merelease produk.
f. Evaluasi, Evaluasi perangkat lunak oleh pelanggan. Untuk mengecek dan memantau
apakah software sudah sesuai dengan keinginan klien atau tidak.
Kelebihan
a. Perkiraan biaya mudah, karena pada model ini terdapat tahap planning untuk
memperkirakan besar biaya yang dikeluarkan
b. Ada ruang untuk umpan balik klien, para klien bisa memberi masukan dan feedback
saat prosess pengembangan sedang berlangsung.
c. Pengembangan yang berkelanjutan, membantu memanajemen resiko karena siklus pada
metode ini terus berputar dan dapat dilakukan perubahan kapan saja sampai benar benar
sesuai dengan apa yang diharapkan.
Kekurangan
a. Tidak disarankan untuk proyek kecil karena dapat menghabiskan biaya yang lumayan
besar.
b. Membutuhkan pengalaman yang cukup baik sebelumnya karena proses dari model
spiral cukup kompleks.
c. Memakan waktu yang cukup lama
6. Incremental
Model ini memakai urutan-urutan linier seiring dengan laju waktu kalender. Setiap urutan
linier menghasilkan pertambahan perangkat lunak yang kemudian dapat disampaikan kepada
pengguna.
Karakteristik
a. Sistem pengembangan dipecah menjadi banyak proyek pengembangan yang lebih kecil
b. Bagian-bagian dari sistem yang berhasil dibuat dipakai untuk menghasilkan keseluruhan
sistem akhir
c. Kebutuhan yang memiliki prioritas tinggi ditangani terlebih dahulu
Fase atau Tahapan
a. Requirment, penentuan kebutuhan atau analisis kebutuhan.
b. Specification, proses spesifikasi dimana menggunakan analisis kebutuhan sebagai
acuannya.
c. Architecture design, perancangan software yang terbuka agar dapat diterapkan sistem
pembangunan per-bagian pada tahapan selanjutnya.
d. Code, setelah melakukan proses desain selanjutnya ada pengkodean.
e. Test, merupakan tahap pengujian dalam model ini.
Kelebihan
a. Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah masih
dapat ditemukan pada beberapa increment. Karena layanan dengan prioritas tertinggi
diserahkan pertama dan increment berikutnya diintegrasikan dengannya, sangatlah penting
bahwa layanan sistem yang paling penting mengalami pengujian yang ketat. Ini berarti
bahwa pengguna akan memiliki kemungkinan kecil untuk memenuhi kegagalan perangkat
lunak pada increment sistem yang paling bawah.
b. Kebutuhan dengan prioritas tinggi dapat dikembangkan terlebih dahulu
c. Klien dapat memberikan timbal balik lebih cepat dan sering daari hasil pengembangan
produk.
Kekurangan
a. Dibutuhkan design yang efisien untuk memastikan kebutuhan fungsi dan ketentuan dalam
iterasi mendatang
b. Dibutuhkan pemahaman penuh lebih awal sebelum pengembangan lebih lanjut
c. Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat
perubahan selama proses rekayasa berlangsung