SDLC adalah 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
System Development
Lyfe Cycle (SDLC) adalah keseluruhan proses dalam membangun sistem melalui
beberapa langkah. Ada beberapa model SDLC. Model yang cukup populer dan banyak
digunakan adalah waterfall. Beberapa model lain SDLC misalnya fountain, spiral,
rapid, prototyping, incremental, build & fix, dan synchronize &
stabilize.
Dengan 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.
Jumlah langkah SDLC pada referensi lain mungkin berbeda, namun secara umum
adalah sama. Langkah tersebut adalah :
1. Analisis
sistem, yaitu membuat analisis aliran kerja manajemen yang sedang berjalan
2. Spesifikasi
kebutuhan sistem, yaitu melakukan perincian mengenai apa saja yang dibutuhkan
dalam pengembangan sistem dan membuat perencanaan yang berkaitan dengan proyek system
3.
Perancangan sistem, yaitu membuat desain aliran kerja manajemen dan desain pemrograman
yang diperlukan untuk pengembangan sistem informasi
4.
Pengembangan sistem, yaitu tahap pengembangan sistem informasi dengan menulis
program yang diperlukan
5. Pengujian
sistem, yaitu melakukan pengujian terhadap sistem yang telah dibuat
6. Implementasi
dan pemeliharaan sistem, yaitu menerapkan dan memelihara sistem yang telah
dibuat
Siklus SDLC
dijalankan secara berurutan, mulai dari langkah pertama hingga langkah keenam.
Setiap langkah yang telah selesai harus dikaji ulang, kadang-kadang bersama
expert user, terutama dalam langkah spesifikasi kebutuhan dan perancangan
sistem untuk memastikan bahwa langkah telah dikerjakan dengan benar dan sesuai
harapan. Jika tidak maka langkah tersebut perlu diulangi lagi atau kembali ke
langkah sebelumnya.
Kaji ulang
yang dimaksud adalah pengujian yang sifatnya quality control, sedangkan
pengujian di langkah kelima bersifat quality assurance. Quality control
dilakukan oleh personal internal tim untuk membangun kualitas, sedangkan
quality assurance dilakukan oleh orang di luar tim untuk menguji kualitas
sistem. Semua langkah dalam siklus harus terdokumentasi. Dokumentasi yang baik
akan mempermudah pemeliharaan dan peningkatan fungsi system
Beberapa
model yang berkembang terkait dengan System Development Life Cycle (SDLC).
Namun terdapat beberapa model yang populer dalam dunia pengembangan perangkat
lunak.
1.Waterfall.
Model ini
menggunakan pendekatan secara sistematis dan sekuensial yang mulai pada tingkat
requirment sampai tingkat maintenance.
Kelebihan
1. Proses menjadi teratur
2. Jadwal menjadi lebih menentu
3. Proses mudah dipahami dan jelas
4. Mudah dalam pengelolaan proyek
5.
Kondisi requirment jelas.
Kelemahan
1. Sifatnya kaku, karena tidak mudah tanggap dalam menanggapi segala
perubahan.
2. Membutuhkan daftar kebutuhan yang lengkap diawal
3.
Proses pengembangan relative lama, dikarenakan tahap
selanjutnya bisa dilakukan jika tahap sebelumnya selesai dikerjakan.
2.Prototype
Model prototype merupakan model pengembangan software yang mengijinkan
pengguna/user memiliki gambaran awal tentang program yang akan dikembangkan
serta melakukan pengujian awal.
Model prototype juga memberi fasilitas bagi pengembangn dan user untuk
saling terkait dan berinteraksi.
Kelebihan
1. Fleksibel
2.
Bersifat aktif, sehingga user dapat melihat, merasakan, dan mengalami
proses pengembangan.
3.
Perbaikan kesalahan relative cepat.
Kelemahan
1.
Mengurangi kreatifitas perancangan
2.
Cakupan pengembangannya sistem dapat lebih luas
3.Rapid Application
Development (RAD)
Model pengembangan yang menggunakan
pendekatan orientasi komponen terhadap pengembangan perangkat lunak. Model ini
bertujuan mempersingkat waktu yang biasanya diperlukan dalam siklus hidup
pengembangan konvensional.
Kelebihan
1. Pengembangan yang cepat
2. Adanya Prototype
3. Pengurangan Penulisan kode yang Kompleks, Dikarenakan reuse code yang
sudah ada.
Kelemahan
1. Tidak Relavan untuk Proyek skala besar.
2. Memerlukan komitmen yang kuat antara pengembang dengan Konsumer
3. Membutuhkan Sumber daya yang besar untuk proyek skala besar.
4.Spirall
Model Spirall merupakan model pengembangan perangkat
lunak yang evolusioner yang memadukan
sifat iteratif model protype dan
aspek sistematis dari mode sekuensial.
Version Release meningkat setiap iterasi terjadi.
Kelebihan
1. Cocok untuk proyek skala besar
2. Manajemen kesalahan baik
3. Menggunakan prototype sebagai mekanisme pengurangan resiko dan pada
setiap keadaan didalam evolusi produk.
Kelemahan
1. Waktu pengembangan cukup lama
2. Dibutuhkan ahli dalam penanganan resiko
3. Kesulitan dalam meyakinkan
konsumen.
5.Agile
Model Agile merupakan model pengembangan jangka pendek
yang memerlukan adaptasi cepat dan pengembangan terhadap perubahan dalam bentuk
apapun. Dalam agile terdapat beberapa poin penting diantaranya sebagai berikut:
1.
Interaksi antar personal lebih penting
daripada proses dan alat.
2.
Software yang berfungsi lebih penting daripada Dokumentasi
yang lengkap
3.
Kolaborasi dengan klien lebih penting daripada Negoisasi kontrak
4.
Sikap tanggap lebih penting daripada Mengikuti rencana/plan.
Kelebihan
1.
Functional dapat dibuat dengan cepat dan dilakukan testing
2.
Perubahan dengan cepat ditangani.
Kelemahan
1.
Analisis,desain,dan
pengembangan sulit di prediksi
2.
Dapat memunculkan permasalahan
dari Arsitektur maupun desain.
Berikut ini
adalah Fase-fase Sistem Development Life Cycle (SDLC) meliputi:
A. Perencanaan Sistem (Systems Planning)
Lebih menekankan pada aspek studi
kelayakan pengembangan sistem (feasibility study). Aktivitas-aktivitas yang
ada meliputi :
• Pembentukan dan konsolidasi tim
pengembang.
• Mendefinisikan tujuan dan ruang
lingkup pengembangan.
• Mengidentifikasi apakah
masalah-masalah yang ada bisa diselesaikan melalui pengembangan sistem.
• Menentukan dan evaluasi strategi
yang akan digunakan dalam pengembangan sistem.
• Penentuan prioritas teknologi dan
pemilihan aplikasi.
B. Analisis Sistem (Systems Analysis)
Analisa sistem adalah tahap di mana
dilakukan beberapa aktivitas berikut:
• Melakukan studi literatur untuk
menemukan suatu kasus yang bisa ditangani oleh sistem.
• Brainstorming dalam tim pengembang
mengenai kasus mana yang paling tepat dimodelkan dengan sistem.
• Mengklasifikasikan masalah,
peluang, dan solusi yang mungkin diterapkan untuk kasus tersebut.
• Analisa kebutuhan pada sistem dan
membuat batasan sistem.
• Mendefinisikan kebutuhan sistem.
C. Perancangan Sistem (Systems Design)
Pada tahap ini, features dan
operasi-operasi pada sistem dideskripsikan secara detail. Aktivitas-aktivitas
yang dilakukan adalah:
• Menganalisa interaksi obyek dan
fungsi pada sistem.
• Menganalisa data dan membuat skema
database.
• Merancang user interface.
D. Implementasi Sistem (Systems Implementation)
Tahap berikutnya adalah implementasi
yaitu mengimplementasikan rancangan dari tahap-tahap sebelumnya dan melakukan
uji coba.
Dalam implementasi, dilakukan
aktivitas-aktivitas sebagai berikut:
• Pembuatan database sesuai skema
rancangan.
• Pembuatan aplikasi berdasarkan
desain sistem.
• Pengujian dan perbaikan aplikasi
(debugging).
E. Pemeliharaan Sistem (Systems Maintenance)
Dilakukan oleh admin yang ditunjuk
untuk menjaga sistem tetap mampu beroperasi secara benar melalui kemampuan
sistem dalam mengadaptasikan diri sesuai dengan kebutuhan.