Pengertian System Development Life Cycle (SDLC)
SDLC (System Development Life Cycle) dalam rekayasa sistem dan rekayasa perangkat lunak, adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi.
SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap: analisa (analysis), desain (design), implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance). Dalam rekayasa perangkat lunak, konsep SDLC mendasari berbagai jenis metodologi pengembangan perangkat lunak. Metodologi-metodologi ini membentuk suatu kerangka kerja untuk perencanaan dan Pengendalian pembuatan sistem informasi, yaitu proses pengembangan perangkatlunak.
3 jenis metode siklus hidup sistem yang paling
banyak digunakan :
• Siklus hidup sistem tradisional (traditional system life cycle),
• Siklus hidup menggunakan protoyping (life cycle using prototyping), dan
• Siklus hidup sistem orientasi objek (object-oriented system life cycle).
FUNGSI SDLC
Untuk menggambarkan tahapan-tahapan utama dan langkah-langkah
dari setiap tahapan yang secara garis besar terbagi dalam tiga kegiatan
utama, yaitu :
a. Analysis
b. Design
c. Implementation
Setiap kegiatan dalam SDLC dapat dijelaskan melalui tujuan (purpose) dan
hasil kegiatannya (deliverable).
SIKLUS SDLC
Proses membangun sistem dibagi menjadi beberapa langkah dan pada sistem yang
besar, masing-masing langkah dikerjakan oleh tim yang berbeda.Dalam sebuah
siklus SDLC, terdapat enam langkah.
Langkah tersebut adalah
§ Analisis
sistem, yaitu membuat analisis aliran kerja manajemen yang sedang berjalan.
§ Spesifikasi
kebutuhan sistem, yaitu melakukan perincian mengenai apa saja yang dibutuhkan
dalam pengembangan sistem dan membuat perencanaan yang berkaitan dengan proyek
sistem.
§ Perancangan
sistem, yaitu membuat desain aliran kerja manajemen dan desain pemrograman yang
diperlukan untuk pengembangan sistem informasi.
§
Pengembangan sistem, yaitu tahap pengembangan sistem informasi dengan menulis
program yang diperlukan.
§ Pengujian
sistem, yaitu melakukan pengujian terhadap sistem yang telah dibuat.
§
Implementasi dan pemeliharaan sistem, yaitu menerapkan dan memelihara sistem
yang telah dibuat.
Tahapan-tahapan pekerjaan yang dilakukan oleh analis
sistem dan programmer dalam membangun sistem informasi.
Langkah yang digunakan meliputi :
1. Melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi
2. Mempelajari dan menganalisis sistem informasi yang sedang berjalan
3. Menentukan permintaan pemakai sistem informasi
4. Memilih solusi atau pemecahan masalah yang paling baik
5. Menentukan perangkat keras (hardware) dan perangkat lunak (software)
6. Merancang sistem informasi baru
7. Membangun sistem informasi baru
8. Mengkomunikasikan dan mengimplementasikan sistem informasi baru
9. Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila
diperlukan
TEKNIK DALAM SDLC DAN KEUNTUNGAN TEHNIK SDLC
Dalam perkembangannya SDLC dilengkapi oleh berbagai teknik pengembangan sistem, yaitu:
Prototyping
Prototyping adalah proses pembuatan model sederhana untuk software final yang mengijinkan pengguna memiliki gambaran dasar tentang program serta melakukan pengujian awal. Jenis-jenis teknik prototyping adalah:
(a) Trowaway Prototyping.
(b) Evolutionary Prototyping.
(c) Incremental Prototyping.
- Keuntungan menggunakan teknik prototyping:
(a) Mengurangi waktu dan biaya.
(b) Meningkatkan keterlibatan pengguna.
(c) Mengurangi kesalahpahaman dan kesalahan interpretasi dengan pengguna.
- Kelemahan menggunakan teknik prototyping:
(a) Analisis kurang.
(b) Biaya untuk membuat prototyping cukup tinggi.
(b) Evolutionary Prototyping.
(c) Incremental Prototyping.
- Keuntungan menggunakan teknik prototyping:
(a) Mengurangi waktu dan biaya.
(b) Meningkatkan keterlibatan pengguna.
(c) Mengurangi kesalahpahaman dan kesalahan interpretasi dengan pengguna.
- Kelemahan menggunakan teknik prototyping:
(a) Analisis kurang.
(b) Biaya untuk membuat prototyping cukup tinggi.
Waterfall
- Keuntungan menggunakan teknik waterfall:
(a) Proses menjadi teratur
(b) Estimasi proses menjadi lebih baik
(c) Jadwal menjadi lebih menentu
- Kelemahan menggunakan teknik waterfall:
(a) Sifatnya kaku, sehingga susah melakukan perubahan di tengah proses
(b) Membutuhkan daftar kebutuhan yang lengkap di awal, tapi jarang konsumen
bisa memberikan kebutuhan secara lengkap diawal
Spiral
(a) Sifatnya kaku, sehingga susah melakukan perubahan di tengah proses
(b) Membutuhkan daftar kebutuhan yang lengkap di awal, tapi jarang konsumen
bisa memberikan kebutuhan secara lengkap diawal
Spiral
Teknik spiral mencoba menggabungkan model prototyping dan waterfall. Biasa digunakan untuk proyek besar yang mahal dan rumit. Digunakan oleh militer Amerika untuk mengembangkan program Future Combat Systems.
- Keuntungan menggunakan teknik spiral:
(a) Pengguna dan developer bisa memahami dengan baik software yang
dibangun karena progress dapat diamati dengan baik.
(b) Estimasi menjadi lebih realistik seiring berjalannya proyek karena masalah
ditemukan sesegera mungkin.
(c) Lebih mampu menangani perubahan yang sering terjadi pada software
development.
(d) Software engineers bisa bekerja lebih cepat pada proyek.
- Kelemahan menggunakan teknik spiral:
(a) Membutuhkan waktu yang lama.
(b) Membutuhkan dana yang besar.
(c) Membutuhkan planning jangka panjang yang baik agar program bisa selesai
dengan baik.
V Model
Teknik V model sering disebut sebagai pengembangan dari teknik waterfall. V untuk verifikasi dan validasi dan merupakan model standar yang banyak dipakai di negara-negara Eropa seperti standar untuk proyek pertahanan dan administrasi federal di Jerman.
-Keuntungan menggunakan teknik V model:
(a) Merupakan model pengembangan terstruktur.
(b) Setiap fase dapat diimplementasikan dengan dokumentasi yang detail dari fase
sebelumnya.
(c) Aktivitas pengujian dapat dimulai di awal proyek, sehingga mengurangi waktu
proyek.
-Kelemahan menggunakan teknik V model adalah dokumentasi harus cukup detail
agar fase selanjutnya dapat berjalan dengan baik.
Formal Method
Teknik formal method adalah teknik yang mengandalkan perhitungan matematika dalam setiap prosesnya. Hanya digunakan pada sistem yang sangat memperhatikan keamanan atau keselamatan dari pengguna. Contoh penggunaan teknik ini adalah aerospace engineering.
- Keuntungan menggunakan teknik formal method adalah meminimalkan resiko dengan adanya perhitungan komputasi.
- Sedangkan kerugiannya adalah:
(a) Biaya Tinggi.
(b) Kompleks
(c) Tidak Umum untuk Proyek Software pada umumnya
Extreme Programming
Merupakan bagian dari metode agile software development.
- Keuntungan menggunakan teknik extreme programming.
(a) Menjalin Komunikasi yang Baik dengan Klien.
(b) Meningkatkan Komunikasi dan Sifat Saling Menghargai antar Developer.
- Kelemahan menggunakan teknik extreme programming:
(a) Developer harus selalu siap dengan perubahan karena perubahan selalu
diterima.
(b) Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga
anjuran untuk melakukan apa yang diperlukan hari itu juga).
5. KELEBIHAN DAN KELEMAHAN PADA SDLC
Perbandingan tentang kelebihan dan
kekurangan setiap model pada Software Development Life Cycle (SDLC) ini
dijelaskan berikut ini
1. Waterfall
Kelebihan :
- Merupakan model
pengembangan paling handal dan paling lama digunakan.
- Cocok untuk system
software berskala besar.
- Cocok untuk system
software yang bersifat generic.
- Pengerjaan project system
akan terjadwal dengan baik dan mudah dikontrol.
Kekurangan :
- Persyaratan system harus
digambarkan dengan jelas.
- Rincian proses harus
benar-benar jelas dan tidak boleh berubah-ubah.
- Sulit untuk mengadaptasi jika
terjadi perubahan spesifikasi pada suatu tahapan pengembangan
2. Iterasi
Kelebihan :
- Dapat mengakomodasi jika
terjadi perubahan pada tahapan pengembangan yang telah dilaksanakan.
- Dapat disesuaikan agar
system bisa dipakai selama hidup software computer.
- Cocok untuk pengembangan
sistem dan perangkat lunak skala besar.
- Pengembang dan pemakai
dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tahapan karena
system terus bekerja selama proses.
Kekurangan :
- Hanya berlaku untuk Short-Lifetime
system.
- Tahapan proses tidak
terlihat sedang berada ditahapan mana suatu pekerjaan.
- Memerlukan alat ukur
kemajuan secara regular.
- Perubahan yang sering
terjadi dapat merubah struktur system.
- Memerlukan tenaga ahli
dengan kemampuan tinggi.
3. Rapid Application Development
/ RAD
Kelebihan :
- RAD mengikuti tahapan
pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk
menggunakan kembali komponen yang ada (reusable object).
- Setiap fungsi dapat dimodulkan
dalam waktu tertentu dan dapat dibicarakan oleh tim RAD yang terpisah dan
kemudian diintegrasikan sehingga waktunya lebih efesien.
Kekurangan :
- Tidak cocok untuk proyek
skala besar.
- Proyek bisa gagal karena
waktu yang disepakati tidak dipenuhi.
- Sistem yang tidak bisa
dimodularisasi tidak cocok untuk model ini.
- Resiko teknis yang tinggi
juga kurang cocok untuk model ini.
4. Model prototyping
Kelebihan :
- Prototype
melibatkan user dalam analisa dan desain.
- Punya
kemampuan menangkap requirement secara konkret daripada secara abstrak.
- Untuk
digunakan secara standalone.
- Digunakan
untuk memperluas SDLC.
- Mempersingkat waktu
pengembangan Sistem Informasi
Kekurangan :
- Proses analisis dan
perancangan terlalu singkat.
- Mengesampingkan
alternatif pemecahan masalah.
- Bisanya kurang fleksible
dalam mengahdapi perubahan.
- Protitype yang dihasilkan
tidak selamanya mudah dirubah
- Protype terlalu cepat selesai
sumber :
http://qabbann.blogspot.com/2011/11/sdlc.html