System
Development Life Cycle
System Development Life Cycle
System
Development Life Cycle (SDLC) adalah pendekatan bertahap untuk melakukan
analisa dan membangun rancangan sistem dengan menggunakan siklus yang spesifik
terhadap kegiatan pengguna System Development Life Cycle (SDLC) juga merupakan
pusat pengembangan sistem informasi yang efisien. SDLC terdiri dari 4 (empat)
langkah kunci yaitu, perencanaan dan seleksi, analisis, desain, implementasi
dan operasional (Valacich, George, & Hoffer, 2012). Menurut Dennis, Wixom,
& Tegarden, 2005 System Development Life Cycle (SDLC) adalah sebuah proses
memahami bagaimana Sistem Informasi dapat mendukung kebutuhan bisnis, merancang
system, membangun sistem, dan memberikannya kepada pengguna.
SDLC dapat
disimpulkan sebagai sebuah siklus untuk membangun sistem dan memberikannya
kepada pengguna melalui tahapan perencanaan, analisa, perancangan dan
implementasi dengan cara memahami dan menyeleksi keadaan dan proses yang
dilakukan pengguna untuk dapat mendukung kebutuhan pengguna. Untuk menggunakan
SDLC maka dibutuhkan sumber data awal dari pengguna yang dijadikan acuan dalam
perencanaan, analisa, perancangan dan implementasi. Penggunaan acuan ini
dimaksudkan agar sistem yang dibangun bisa menjembatani kebutuhan pengguna dari
permasalahan yang dihadapinya.
Berikut ini
adalah penjelasan proses tahapan SDLC, yaitu :
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.
alam
pengembangan system menggunakan SDLC ada beberapa cara untuk
mengimplementasinya dengan metodologi yaitu waterfall model, prototype model,
RAD(Rapid Application Development) model, ASD(Agile Software Development)
model. aterfall, dan prototype adalah model yang paling sering digunakan dalam
pengembangan system.
1. Waterfall Model
Merupakan
model yang paling banyak dipakai didalam Software Engineering (SE). Model ini
melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan
sistem lalu menuju ke tahap analisis, desain, coding, testing / verification,
dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui
harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Roger S.
Pressman memecah model ini menjadi 6 tahapan, yaitu :
1. Sistem
modeling 4. Coding
2. Analisis
kebutuhan software 5. Testing
3. Desain 6. Maintenance
Keuntungan menggunakan teknik waterfall:
- Proses
menjadi teratur
- Jadwal
menjadi lebih menentu
Kelemahan
menggunakan teknik waterfall:
- Membutuhkan daftar kebutuhan yang lengkap di awal, tapi jarang konsumen bisa memberikan kebutuhan secara lengkap diawal
2. Prototyping adalah salah satu
pendekatan dalam rekayasa perangkat lunak yang secara langsung
mendemonstrasikan bagaimana sebuah perangkat lunak atau komponen-komponen
perangkat lunak akan bekerja dalam lingkungannya sebelum tahapan konstruksi
aktual dilakukan (Howard, 1997). Beberapa model prototype adalah sebagai
berikut :
- Reusable prototype : Prototype yang akan ditransformasikan menjadi produk final.
- Throwaway prototype : Prototype yang akan dibuang begitu selesai menjalankan maksudnya.
- input/output prototype : Prototype yang terbatas pada antar muka pengguna (user interface).
- Processing prototype : Prototype yang meliputi perawatan file dasar dan proses-proses transaksi
- System prototype : Prototype yang berupa model lengkap dari perangkat lunak.
Proses pada model prototyping adalah sebagai berikut :
- Pengumpulan kebutuhan
- Perancangan
- Evaluasi prototype
Keuntungan menggunakan
prototype model, yaitu :
- Prototyping adalah model aktif, tidak pasif, sehingga end user dapat melihat, merasakan, dan mengalaminya.
- Kesalahan yang terjadi dalam prototyping dapat dideteksi lebih dini.
Kekurangan menggunakan prototype model, yaitu :
- Prototyping tidak menolak kebutuhan dari fase analisis sistem.
- Prototype hanya dapat memecahkan masalah yang salah dan memberi kesempatan sebagai sistem pengembangan konvensional.
- Prototyping dapat mengurangi kreatifitas perancangan.
3. RAD (Rapid Application Development)
Rapid application development (RAD) atau rapid prototyping adalah model
proses pembangunan perangkat lunak yang tergolong dalam teknik incremental
(bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan
cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid
application development menggunakan metode iteratif (berulang) dalam
mengembangkan sistem dimana working model (model bekerja) sistem
dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan
(requirement) user. RAD mengadopsi model waterfall dan pembangunan dalam waktu
singkat dicapai dengan menerapkan component based construction.
4. Agile Software Development
Agile merupakan adalah jenis pegembangan sistem jangka pendek yang
memerlukan adaptasi cepat dan pengembang terhadap perubahan dalam bentuk
apapun. Dalam Agile Software Development interaksi dan personel lebih penting
dari pada proses dan alat, software yang berfungsi lebih penting daripada
dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada
negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada
mengikuti rencana. Agile juga dapat diartikan sebagai sekelompok metodologi
pengembangan software yang didasarkan pada prinsip-prinsip yang sama atau
pengembangan system jangka pendek yang memerlukan adaptasi cepat dari
pengembang terhadap perubahan dalam bentuk apapun.