SDLC
3.1 Pengertian SDLC
System Development Life Cycle (SDLC) adalah suatu pendekatan
yang memiliki tahap atau bertahap untuk melakukan analisa dan membangun suatu
rancangan sistem dengan menggunakan siklus yang lebih spesifik terhadap
kegiatan pengguna (Kendall & Kendall, 2006).
Metode SDLC adalah metode yang menggunakan pendekatan sistem yang disebut
pendekatan air terjun ( waterfall approach ) dimana setiap tahapan sistem akan
dikerjakan secara berurut menurun dari perencanaan, analisa, desain,
implementasi, dan perawatan ( Aji Supriyanto, 2005: 272 )
Siklus hidup pengembangan sistem ( System Development Life Cycle / SDLC)
merupakan suatu bentuk yang digunakan untuk menggambarkan tahapan utama dan
langkah-langkah di dalam tahapan tersebut untuk proses pengembangannya. Siklus
hidup pengembangan system merupakan proses evolusioner yang diikuti dalam
menerapkan sistem atau subsistem informal berbasis komputer. SDLC dilakukan
dengan pendekatan sistem secara teratur dan dilakukan secara top-down, oleh
karenanya sering disebut pendekatan air terjun (waterfall approach) bagi
pengembangan dan penggunaan sistem.
3.2 Tahapan SDLC
Setiap pengembang mempunyai strategi yang berlainan, namun demikian pada
dasarnya siklus hidup pengembangan sistem informasi terdapat 5 (lima) tahapan,
yaitu :
- 1.
Perencanaan Sistem ( Systems Planning)
- 2.
Analisis Sistem (System Analysis)
- 3.
Perancangan Sistem (System Design)
- 4.
Implementasi Sistem (System Implementation)
- 5.
Penggunaan sistem (System Utilization )
3.2.1 Tahap Perencanaan Sistem ( Systems Planning)
Perencanaan sistem merupakan tahap paling awal yang memberikan pedoman dalam
melakukan langkah selanjutnya. Perencanaan sistem menyangkut estimasi dari
kebutuhan-kebutuhan fisik, tenaga kerja dan dana yang dibutuhkan untuk
mendukung pengembangan sistem ini serta untuk mendukung operasinya setelah
diterapkan.
Perencanaan sistem dapat terdiri dari perencanaan jangka pendek meliputi
periode 1 sampai 2 tahun dan perencanaan jangka panjang meliputi periode sampai
dengan 5 tahun. Perencanaan sistem biasanya ditangani oleh staff perencanaan
sistem, bila tidak ada dapat juga dilakukan oleh departemen sistem.
Proses Perencanaan Sistem dapat dikelompokkan dalam 3 proses utama yaitu :
- Merencanakan
proyek-proyek sistem yang dilakukan oleh staff perencana sistem.
- Menentukan
proyek-proyek sistem yang akan dikembangkan dan dilakukan oleh komite
pengarah.
- Mendefinisikan
proyek-proyek sistem dikembangkan dan dilakukan oleh analis sistem.
3.2.2 Tahap Analisis Sistem (System Analysis)
Analisis Sistem dapat didefinisikan sebagai penguraian dari suatu sistem
informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk
mengidentifikasikan dan mengevaluasi permasalahan-permasalahan,
kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan
yang diharapkan sehingga dapat diusulkan perbaikan-perbaikan.
Tahap analisis merupakan tahap yang kritis dan sangat penting, karena kesalahan
didalam tahap ini akan menyebabkan juga kesalahan di tahap selanjutnya.
Langkah-langkah di dalam tahap analisis sistem hampir sama dengan
langkah-langkah yang dilakukan dalam mendefinisikan proyek-proyek sistem yang
akan dikembangkan di tahap perencanaan sistem. Perbedaannya pada analisis
sistem ruang lingkup tugasnya lebih terperinci. Didalam tahap analisis sistem
terdapat langkah-langkah dasar yang harus dilakukan oleh Analis Sistem yaitu :
- Identify, yaitu
mengidentifikasikan masalah, mengindentifikasikan penyebab masalah,
mengidentifikasikan titik keputusan, mengidentifikasikan personil-personil
kunci.
- Understand, yaitu
memahami kerja dari sistem yang ada, menentukan jenis penelitian,
merencanakan jadwal penelitian, mengatur jadwal wawancara, mengatur jadwal
observasi, mengatur jadwal pengambilan sampel, membuat penugasan
penelitian, membuat agenda wawancara, mengumpulkan hasil penelitian.
- Analyze,
yaitu menganalis sistem, menganalisis kelemahan sistem; menganalisis
kebutuhan Informasi pemakai / manajemen.
- Report, yaitu
membuat laporan hasil analisis yang tujuan untuk memberi laporan bahwa
analisis telah selesai dilakukan, meluruskan kesalahan-pengertian mengenai
apa yang telah ditemukan dan dianalisis oleh analis sistem tetapi tidak
sesuai menurut manajemen, meminta pendapat-pendapat dan saran-saran dari
pihak manajemen, meminta persetujuan kepada pihak manajemen untuk
melakukan tindakan selanjutnya.
3.2.3 Perancangan Sistem (System Design)
Setelah tahap analisis sistem selesai dilakukan, maka analis sistem telah
mendapatkan gambaran dengan jelas apa yang harus dikerjakan. Tiba waktunya
sekarang bagi analis sistem untuk memikirkan bagaimana membentuk sistem
tersebut. Tahap ini disebut dengan perancangan sistem (system design ).
Tahap perancangan sistem ini mempunyai tujuan utama yaitu untuk memenuhi
kebutuhan kepada pemakai sistem, untuk memberikan gambaran yang jelas dan
rancang bangun yang lengkap kepada pemrogram komputer dan ahli-ahli teknik
lainnya yang terlibat. Tahap perancangan sistem merupakan tahap penentuan
proses dan data yang diperlukan oleh sistem baru. Untuk sistem berbasis
komputer biasanya dalam rancangan ada spesifikasi jenis peralatan yang akan
digunakan. Adapun langkah-langkah dalam tahap perancangan sistem ini meliputi :
- Menyiapkan
rancangan sistem yang terperinci : analis bekerja sama dengan pemakai dan
mendokumentasikan rancangan sistem baru dengan alat-alat yang telah
dijelaskan dalam modul teknis. Penggambaran dilakukan dari yang besar dan
secara bertahap secara rinci dengan pendekatan top-down dan ini biasanya
dilakukan untuk rancangan terstruktur (structured design).
- Mengidentifikasikan
berbagai alternatif konfigurasi sistem : analis harus mengidentifikasikan
konfigurasi (bukan merk atau model) peralatan komputer yang akan
memberikan hasil terbaik bagi sistem untuk menyelesaikan pemrosesan.
- Mengevaluasi
berbagai alternatif konfigurasi sistem : analis bekerja bersama manajer
mengevaluasi berbagai alternatif dan dipilih yang paling memungkinkan
subsistem memenuhi kriteria kinerja, dengan kendala-kendala yang ada.
- Memilih
konfigurasi yang terbaik : analis mengevaluasi semua konfigurasi subsistem
dengan menyesuaikan kombinasi peralatan sehingga semua subsistem menjadi
satu konfigurasi tunggal. Setelah dianalisis kemudian direkomendasikan
kepada manajer untuk disetujui. Persetujuan dilakukan oleh Komite
pengarah.
- Menyetujui
usulan penerapan : analisis menyiapkan usulan penerapan yang
mengikhtisarkan tugas-tugas penerapan yang harus dilakukan, keuntungan
yang diharapkan dan biayanya.
- Menyetujui
atau menolak penerapan sistem: jika keuntungan dari sistem melebihi
biayanya, penerapan akan disetujui.
3.2.4 Tahap Implementasi Sistem (System Implementation)
Setelah dianalisis dan dirancang secara rinci dan teknologi telah diseleksi dan
dipilih. Tiba saatnya sistem untuk diimplementasikan. Tahap implementasi sistem
merupakan tahap meletakkan sistem supaya siap untuk dioperasikan. Tahap ini
termasuk juga kegiatan menulis kode program jika tidak digunakan paket
perangkat lunak aplikasi.
Implementasi sistem merupakan kegiatan untuk memperoleh dan mengintegrasikan
sumberdaya fisik dan konseptual yang menghasilkan suatu sistem yang bekerja.
Adapun langkah-langkah dalam tahap ini meliputi :
- Merencanakan
penerapan: sebelum sistem baru digunakan, manajer dan spesialis informasi
memahami dengan baik pekerjaan yang diperlukan untuk menerapkan rancangan
sistem.
- Mengumumkan
penerapan: proyek penerapan diumumkan kepada para pegawai dengan cara yang
sama seperti penelitian sistem. Tujuannya untuk menginformasikan pegawai
mengenai keputusan untuk menerapkan sistem baru dan meminta kerjasama
pegawai.
- Mendapatkan
sumberdaya perangkat keras: rancangan sistem disediakan bagi para pemasok
berbagai jenis peralatan komputer yang terdapat pada konfigurasi yang
disetujui. Setiap pemasok diberikan request for proposal (RFP).
- Mendapatkan
sumberdaya perangkat lunak: dapat membuat sendiri oleh programmer dari
dokumen yang disiapkan analis sistem atau menggunakan perangkat lunak
aplikasi jadi (prewritten application soft ware).
- Menyiapkan
database: DBA bertanggungjawab untuk semua kegiatan yang berhubungan
dengan data, dan ini mencakup persiapan database.
- Menyiapkan
fasilitas fisik: fasilitas di sini adalah lantai yang ditinggikan,
pengendalian suhu ruangan dan kelembaban khusus,keamanan, peralatan
pendeteksi api dan pemadam kebakaran, dsb.
- Mendidik
peserta dan pemakai: baik peserta (operator pemasukan data, pegawai
coding, dan administrasi) dan pemakai harus dididik tentang peran mereka
dalam sistem. Pendidikan sebaiknya setelah siklus hidup dimulai, tepat
sebelum bahan-bahan yang dipelajari mulai diterapkan.
- Masuk
ke sistem baru: proses menggantikan sistem lama ke sistem baru
disebut cutover. Ada 4 pendekatan dasar: percontohan ( pilot
project), serentak, bertahap, dan paralel.
3.2.5 Penggunaan sistem (System Utilization )
Pada tahap ini terdiri dari 3 yaitu :
- Menggunakan
sistem. Pemakai menggunakan sistem untuk mencapai tujuan yang
diidentifikasikan pada tahap perencanaan.
- Audit
sistem. Penelitian apakah sistem baru memenuhi kriteria kinerja. Studi ini
disebut “penelaahan setelah penerapan” (postimplementation).
- Memelihara
sistem. Selama manajer menggunakan sistem, berbagai modifikasi dibuat
sehingga sistem terus memberikan dukungan yang diperlukan. Modifikasi ini
disebut pemeliharaan sistem. Ada tiga alasan untuk pemeliharaan :
Memperbaiki kesalahan, menjaga kemutakhiran sistem dan meningkatkan
sistem.
3.3 Contoh Metodologi atau Model Pengembangan Sistem
Berikut ini adalah contoh Metodologi atau model pengembangan sistem, baik yang
terstruktur maupun yang berbasis obyek :
3.3.1 Agile Model
Ditulis oleh (Widodo Journal : 2006:1) Pada dekade ke 90-an diperkenalkan
metodologi baru yang dikenal dengan nama agile methods. Metodologi
ini sangat revolusioner perubahannya jika dibandingkan dengan metode
sebelumnya. Agile Methods dikembangkan karena pada metodologi
tradisional terdapat banyak hal yang membuat proses pengembangan tidak dapat
berhasil dengan baik sesuai tuntutan user.
Kelebihan Metode Agile
- Meningakatkan
rasio kepuasan pelanggan.
- Bisa
melakukan reviw pelanggan mengenai software yang dibuat lebih awal.
- Mengurangi
resiko kegagalan implementasi software dari non-teknis.
- Besar
kerugian baik secara material atau imaterial tidak terlalu besar jiak
terjadi kegagalan
Kelemahan Metode Agile
- Agile
jarang dipraktekkan secara langsung,
- Interksi
dengan customers yang berlebihan,
- Agile
sulit diimplementasikan dalam proyek yang berskala besar,
- Membutuhkan
manajemen tim yang terlatih,
- Lemah
dalam perencanaan arsitektur, 2 Scrum dan Extreme Programming,
- Keterbatasan
waktu dalam perencanaan Proyek
3.3.2 Metodologi Waterfall
Metodologi Waterfall merupakan model klasik yang sederhana dengan aliran sistem
yang linier. Output dari setiap tahap merupakan input bagi tahap berikutnya.
Model ini pertama kali diperkenalkan oleh Winston Royce tahun
1970, sekarang model ini lebih dikenal dengan Liner Sequential Model.
Karakteristik dari metodologi waterfall ini meliputi beberapa bagian, yaitu:
- Aktivitas
mengalir dari satu fase ke fase lainnya secara berurutan.
- Setiap
fase dikerjakan terlebih dahulu sampai selesai, jika sudah selesai baru
mulai menuju fase berikutnya.
Tahapan penelitian pada model waterfall meliputi metodologi
berupa :
- System
Engineering : Menetapkan segala hal yang diperlukan dalam pelaksanaan
proyek.
- Analisis
: Menganalisis hal-hal yang diperlukan untuk pembuatan atau pengembangan perangkat
lunak.
- Design
: Tahap penerjemahan dari keperluan atau data yang telah dianalisis ke
dalam bentuk yang mudah dimengerti oleh programmer. Tiga atribut yang
penting dalam proses perancangan yaitu : struktur data, arsitektur
perangkat lunak dan prosedur rinci / algoritma.
- Coding
: Menerjemahkan data yang telah dirancang / algoritma ke dalam bahasa
pemrograman yang telah ditentukan.
- Testing
: Uji coba terhadap program telah dibuat.
- Maintenance
: Perubahan atau penambahan program sesuai dengan permintaan user.
Kelebihan dari metode WaterFall :
Metode ini masih lebih baik digunakan walaupun sudah
tergolong kuno, daripada menggunakan pendekatan asal-asalan. Selain itu, metode
ini juga masih masuk akal jika kebutuhan sudah diketahui dengan baik.
Kekurangan dari metode Waterfall :
- Pada
kenyataannya, jarang mengikuti urutan sekuensial seperti pada teori.
Iterasi sering terjadi menyebabkan masalah baru.
- Sulit
bagi pelanggan untuk menentukan semua kebutuhan secara eksplisit.
- Pelanggan
harus sabar, karena pembuatan perangkat lunak akan dimulai ketika tahap
desain sudah selesai. Sedangkan pada tahap sebelum desain bisa memakan
waktu yang lama.
- Kesalahan
di awal tahap berakibat sangat fatal pada tahap berikutnya.
3.3.3 Metodologi Prototype
Model ini dikembangkan karena adanya kegagalan yang terjadi akibat pengembangan
project / aplikasi menggunkan sistem waterfall. Kegagalan yang terjadi biasanya
dikarenakan adanya kekurang pahaman atau bahkan sampai kesalah pahaman
pengertian developer aplikasi mengenai user requirement yang ada. Tahapan metodologi
prototype antara lain :
- Pengumpulan
Kebutuhan dan perbaikan : Menetapkan segala kebutuhan untuk pembangunan
perangkat lunak.
- Disain
cepat : Tahap penerjemahan dari keperluan atau data yang telah dianalisis
ke dalam bentuk yang mudah dimengerti oleh user.
- Bentuk
Prototipe : Menerjemahkan data yang telah dirancang ke dalam bahasa
pemrograman (Program contoh atau setengah jadi ).
- Evaluasi
Pelanggan Terhadap Prototipe : Program yang sudah jadi diuji oleh
pelanggan, dan bila ada kekurangan pada program bisa ditambahkan.
- Prototype
: Perbaikan program yang sudah jadi, sesuai dengan kebutuhan konsumen.
Kemudian dibuat program kembali dan di evaluasi oleh konsumen sampai semua
kebutuhan user terpenuhi.
- Produk
Rekayasa : Program yang sudah jadi dan seluruh kebutuhan user sudah
terpenuhi.
Kelebihan Metode Prototype:
- Developer
belajar langsung mengenai kebutuhan sistem dari customer/user,
- Hasil
produk yang lebih akurat (lebih sesuai dengan permintaan user),
- Desain
sistem lebih fleksibel,
- Iteraktif
dengan adanya simulasi prototype,
- Untuk
pengembangan lebih lanjut (jika terjadi perubahan), developer hanya perlu
mengubah prototype,
- Jika
customer sudah ”puas”, prototype dibuat menjadi system secara sempurna
untuk dijadikan ’Final Product’.
Sedangkan kekurangannya yakni:
- Proses
bisa jadi berlanjut terus menerus tanpa henti (mengikuti keinginan
customer),
- Bisa
jadi customer malah menginginkan prototype system dikirim,
- Reputasi
yang buruk sebagai sebuah metode yang bersifat ”Quick-and-Dirty”,
- Kemungkinan
perawatan secara keseluruhan bisa saja terabaikan,
- Pengembangan
yang berlebihan untuk prototype.












