1. Latar Belakang
Kebutuhan dan kegiatan manusia di era teknologi ini semakin kompleks. Kemudahan,
kecepatan dan ketepatan dalam memperoleh informasi menjadi prioritas utama di segala
bidang. Suatu organisasi, instansi pemerintah maupun perusahaan, pasti memerlukan suatu
sistem penyimpanan data yang mudah digunakan, terjamin keamanannya, dan mudah untuk
diakses kembali.
Kebutuhan akan penyimpanan data dan kemudahan dalam melakukan berbagai kegiatan
serta kemajuan teknologi melahirkan suatu sistem yang disebut sistem teknologi informasi.
Sistem teknologi informasi menghasilkan produk yang berupa informasi. Informasi yang
dihasilkan disimpan dalam bentuk data elektronik (computer based) dan terkomputerisasi
sehingga mampu mengatasi permasalahan kelemahan data paper based.
Pengembangan sistem informasi berbasis komputer ini memiliki beberapa metode. Metode
konvensional atau yang telah lama digunakan adalah metode SDLC (System Design Life
Cycle) atau metode insourcing. Metode ini memiliki kelemahan, yaitu membutuhkan waktu
yang lama dan biaya investasi yang besar untuk mengembangkannya. Saat ini terdapat
beberapa metode alternatif, misalnya metode paket (package system) dan metode outsourcing
yang relatif lebih murah dan dapat segera diimplementasikan. Namun metode alternatif ini
pun memiliki kelemahan, yaitu perusahaan tidak memiliki kendali penuh atas sistem
informasi yang menggunakan metode ini. Beragam pilihan untuk menggunakan metode yang
tepat untuk perusahaan pun harus mempertimbangkan berbagai aspek dan kebutuhan spesifik
perusahaan dan kelebihan serta kekurangan metode-metode tersebut.
1. Rumusan masalah
1. Apa yang dimaksud dengan SDLC?
2. Bagaimana tahapan SDLC?
3. Bagaimana siklus hidup pengembangan SDLC?
4. Apa saja langkah ( aktifitas utama ) SDLC?
5. Apa saja kelebihan dan kekurangan SDLC?
PEMBAHASAN
A. PENGERTIAN SDLC
System Development Life Cycle (SDLC) adalah pendekatan bertahap untuk melakukan
analisa dan membangun rancangan sistem dengan menggunakan siklus yang spesifik
terhadap kegiatan pengguna (Kendall & Kendall, 2006). 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). Selain itu, System
Development Life Cycle (SDLC) adalah sebuah proses memahami bagaimana Sistem
Informasi dapat mendukung kebutuhan bisnis, merancang system, membangun sistem, dan
memberikannya kepada pengguna (Dennis, Wixom, & Tegarden, 2005).
B. TAHAPAN SDLC
SDLC terdiri dari beberapa tahapan berdasarkan analisa kebutuhan yang ada.Dimulai dari
analisa kebutuhan perangkat lunak akan dibuat terlebih dahulu desain dari kebutuhan tersebut
untuk mempermudah dalam pengerjaanya. Kemudian segala kebutuhan tersebut
diimplementasikan dengan dua tahap yaitu tahap analisa dan tahap evaluasi. Setelah
melakukan implementasi, maka proses tersebut akan di kembalikan kembali ke dalam tahap
desain untuk pengembangan kembali perangkat lunak ke versi yang terbaru.Tahap-tahap
SDLC dalam pembangunan sistem informasi:
Pada fase ini semua komponen dirancang dan dijelaskan secara detail. Perencanaan output
(layout) dirancang untuk semua layar, form-form tertentu dan laporan-laporan yang dicetak.
Semua output direview dan disetujui oleh pemakai dan didokumentasikan.
Pada akhir fase ini, laporan rancangan sistem secara detail dihasilkan. Laporan ini
mungkin berisi beribu-ribu dokumen dengan semua spesifikasi untuk masing-masing
rancangan sistem yang terintegrasi menjadi satu kesatuan. Laporan ini dapat juga dijadikan
sebagai buku pedoman yang lengkap untuk merancang, membuat kode dan menguji sistem;
instalasi peralatan; pelatihan; dan tugas-tugas implementasi lainnya.
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 sistem
D. LANGKAH (AKTIFITAS UTAMA) SDLC
Dalam SDLC, dijabarkan menjadi 7 langkah (aktifitas utama): Planning, Analysis, Design,
Development, Testing, Implementation dan Maintenance. Karena langkah-langkah ini
bersifat urut (skuensial) dengan maksud, langkah ke 4 hanya bisa dilakukan jika langkah
ke 3 sudah dilakukan, maka gambar urutan mirip seperti ‘Air Terjun’, sehingga beberapa
buku menyebutnya juga sebagai ‘W a t e r f a l l M e t h o d o l o g y ‘.
Secara literatur, banyak sekali aktifitas yang terjadi pada setiap langkah pada SDLC.
Contohnya saja: menentukan budget, mengumpulkan kebutuhan bisnis, disain model, menulis
detil dan dokumentasi, manajemen proyek, dan sebagainya. Semua aktifitas yang muncul
sudah tentu bergantung pada kasus pengembangan yang akan dilakukan.
Sebagai contoh kecil, beberapa aktifitas terkait dengan langkah-langkah SDLC diuraikan
pada tabel berikut:
Tujuan utama dari adanya pendekatan SDLC adalah menjaga bahwa proyek
pengembangan selalu terkendali. Selain itu, pendekatan ini menjamin bahwa sistem yang
dihasilkan akan sesuai dengan kebutuhan
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 :
a. Sistem modeling d. Coding
b. Analisis kebutuhan software e. Testing
c. Desain f. 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. Prototype
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.
a. Mudah diaplikasikan
b. Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan
pemeliharaan.
Kekurangan metode SDLC :
a. Jarang sekali proyek riil mengikuti aliran sekuensial yang dianjurkan model karena
model ini bisa melakukan itersi tidak langsung.
b. Pelanggan sulit untuk menyatakan kebutuhan secara eksplisit sehingga sulit untuk
mengakomodasi ketidakpastian pada saat awal proyek.
c. Pelanggan harus bersikap sabar karena harus menunggu sampai akhir proyek dilalui.
d. Pengembangan sering melakukan penundaan yang tidak perlu karena anggota tim
proyek harus menunggu tim lain untuk melengkapi tugas karena memiliki
ketergantungan hal ini menyebabkan penggunaan waktu tidak efisien.