Anda di halaman 1dari 5

SDLC (Systems Development Life Cycle)

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

3. RAD (Rapid Aplication Development)


Adalah metode yang berfokus pada pengembangan aplikasi secara cepat, melalui
pengulangan dan feedback berulang-ulang berdasarkan pembuatan prototype, iterasi dan
feedback yang berulang – ulang.
Fase atau Tahapan :
a. Perencanaan kebutuhan, melakukan identifikasi masalah dan mengumpulkan data dari
pelanggan yang bertujuan untuk mengidentifikasi tujuan akhir dari sistem yang diinginkan.
b. Design sistem, proses dan perbaikan design dilakukan berulang ulang sampai design yang
dibutuhkan sesuai dengan yang diinginkan oleh klien yang sebelumnya telah diidentifikasi.
c. Pengembangan dan pengumpulan feedback, pengembang mengubah design sistem yang
telah dibuat ke dalam bentuk aplikasi versi beta, pada tahap ini terus dilakukan
pengembangan dengan memperhatikan feedback dari klien.
d. Implementasi, sebelum sistem diterapkan terlebih dahulu dilakuka pengujian terhadap
program yang telah dibuat untuk mendeteksi kesalahan yang ada.
Kelebihan
a. Aplikasi dikembangkan berdasarkan keinginan user, user bisa terus melakukan review
saat proses pengembangan berlangsung
b. Waktu pengembangan lebih cepat dan efektif, karena proses perancangan menggunakan
Teknik prototyping
c. Biaya yang dibutuhkan relative lebih murah
Kekurangan
a. Tidak cocok untuk proyek besar
b. Hanya cocok untuk proyek yang waktunya singkat
4. Prototyping
Metode ini memberikan gambaran dasar terlebih dahulu kepada client seperti memberikan
gambaran input dan outputnya terlebih dahulu kepada client sebelum masuk ke fase tahapan.
Fase atau Tahapan :
a. Pengumpulan Kebutuhan, pelanggan dan pengembang bersama - sama mendefinisikan
format perangkat lunak.
b. Membangun Prototype, pada tahapan ini dengan cara membuat rancangan sementara.
c. Evaluasi, melihat apakah prototype ini sudah sesuai dengan keinginan pelanggan. Jika
sudah sesuai maka bisa dilanjutkan ke tahap berikutnya tetapi jika tidak sesuai maka bisa
kembali ke tahap 1 dan 2.
d. Kode Sistem, prototype yang sudah disepakati tersebut kemudian diterjemahkan ke dalam
Bahasa pemrograman yang sesuai.
e. Menguji sistem, jika sudah menjadi perangkat lunak yang sudah dapat digunakan maka
harus di tes terlebih dahulu sebelum digunakan.
f. Evaluasi, pelanggan melihat apakah prototype yang dibangun sudah sesuai dengan
keinginan atau tidak, jika sudah sesuai maka lanjut ke tahapan ke 7 tetapi jika tidak sesuai
maka Kembali ke tahapan ke 4 dan 5.
g. Penggunaan sistem, perangkat lunak yang sudah di uji dan diterima oleh pelanggan siap
untuk digunakan.
Kelebihan
a. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan
b. Lebih menghemat waktu
c. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkan
d. Membuat client mendapat gambaran awal dari prototype
e. Adanya komunikasi yang baik antara pengembang dan pelanggan
Kekurangan
a. Biasanya kurang fleksibel dalam menghadapi perubahan
b. Pelanggan tidak melihat bahwa perangkat lunak belum mencerminkan kualitas perangkat
lunak secara keseluruhan
5. V Model
Adalah pengembangan dari model waterfall dengna menghubungkan fase pengujian untuk
setiap tahap pengembangan yang sesuai.
Fase atau Tahapan
Verification :
a. Requirement analysis, mengumpulkan requirement dengan menganalisis kebutuhan
pengguna.
b. System design, pada fase ini pengembang menganalisis dan memahami proses pada sistem
yang diusulkan dengan mempelajari dokumen user requirement
c. Architecture design, tahapan ini akan menghasilkan prototype dan beberapa output lain
meliputi dokumen berisi desain, pola, dan komponen yang diperlukan untuk mewujudkan
proyek tersebut.
d. Module design, disebut sebagai desain tingkat rendah (The Low Level Design (LLD)).
Sistem yang dirancang dipecah menjadi unit atau modul yang lebih kecil dan masing-
masing dijelaskan sehingga programmer dapat memulai pengkodean secara langsung.
e. Implementasi, fase dimana semua pengkodean dijalankan. Setelah pengkodean selesai,
kemudian jalur eksekusi di sisi kanan V yang sebelumnya hanya dikembangkan sekarang
mulai digunakan.
Validation :
a. Unit testing, dijalankan untuk menghilangkan bug pada level kode atau level unit.
b. Integration testing, tes ini memverifikasi bahwa unit yang dibuat dan diuji secara
independen dapat dijalankan secara bersama secara terintegrasi.
c. System testing, uji Sistem memastikan bahwa harapan dari aplikasi yang dikembangkan
terpenuhi.
d. User acceptance testing, pengujian sistem oleh pengguna dengan menggunakan data yang
realistic.
Kelebihan
a. Model yang menerapkan disiplin tingkat tinggi dan fase – fase dalam model diselesaikan
satu persatu
b. Dapat bekerja dengan sangat baik untuk proyek kecil dimana requirement sangat mudah
dipahami
c. Sederhana dan mudah untuk dipahami serta digunakan
d. Mudah untuk me-manage karena sifat kekakuan dari model dan setiap fase dalam siklus
memiliki tujuan yang spesifik.
Kekurangan
a. Memiliki risiko dan ketidakpastian yang tinggi apabila diaplikasikan untuk proyek proyek
besar
b. Model yang tidak bagus untuk proyek yang kompleks.
c. Model yang buruk untuk proyek yang panjang dan berkelanjutan
d. Tidak cocok untuk proyek yang di mana requirement-nya mudah sekali berubah

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

Anda mungkin juga menyukai