Siklus Hidup Pengembangan Sistem
Pengembangan sistem informsi yang berbasis komputer dapat merupakan tugas kompleks yang membutuhkan banyak sumber daya dan dapat memakan waktu berbulan-bulan bahkan bertahun-tahun untuk menyelesaikannya. Proses pengembangan sistem melewati beberapa tahapan dari mulai sistem itu direncanakan sampai dengan sistem tersebut diterapkan, dioperasikan dan dipelihara. Bila operasi sistem yang sudah dikembangkan masih timbul kembali permasalahan-permasalahan kritis serta tidak dapat diatasi dalam tahap pemeliharaan sistem, maka perlu dikembangkan kembali suatu sistem untuk mengatasinya dan proses ini kembali ke tahap yang pertama, yaitu tahap perencanaan sistem. Siklus ini disebut dengan siklus hidup suatu sistem (systems life cycle). Daur atau siklus hidup dari pengembangan sistem merupakan suatu bentuk yang digunakan untuk menggambarkan tahapan utama dan langkah-langkah di dala tahapan tersebut dalam proses pengembangannya.
Pengembangan sistem informsi yang berbasis komputer dapat merupakan tugas kompleks yang membutuhkan banyak sumber daya dan dapat memakan waktu berbulan-bulan bahkan bertahun-tahun untuk menyelesaikannya. Proses pengembangan sistem melewati beberapa tahapan dari mulai sistem itu direncanakan sampai dengan sistem tersebut diterapkan, dioperasikan dan dipelihara. Bila operasi sistem yang sudah dikembangkan masih timbul kembali permasalahan-permasalahan kritis serta tidak dapat diatasi dalam tahap pemeliharaan sistem, maka perlu dikembangkan kembali suatu sistem untuk mengatasinya dan proses ini kembali ke tahap yang pertama, yaitu tahap perencanaan sistem. Siklus ini disebut dengan siklus hidup suatu sistem (systems life cycle). Daur atau siklus hidup dari pengembangan sistem merupakan suatu bentuk yang digunakan untuk menggambarkan tahapan utama dan langkah-langkah di dala tahapan tersebut dalam proses pengembangannya.
Siklus hidup pengembangan sistem adalah pendekatan
melalui beberapa tahap untuk menganalisis dan merancang sistem yang dimana
sistem tersebut telah dikembangkan dengan sangat baikmelalui penggunaan siklus
kegiatan penganalisis dan pemakai secara spesifik, siklus itu antara lain :
- Mengidentifikasikan
masalah, peluang dan tujuan.
- Menentukan
sarat-sarat informasi.
- Menganalisis
kebutuhan sistem.
- Merancang
sistem yang direkomendasikan.
- Mengembangkan
dan medokumentasikan perangkat lunak.
- Menguji
dan mempertahankan sistem.
- Mengimplementasikan
dan mengevaluasikan sistem
Dalam membangun
suatu sistem informasi (dalam hal ini lebih mengacu kepada pengertian aplikasi
perangkat lunak) digunakan metode Siklus Hidup Pengembangan Sistem (System
Development Life Cycle atau SDLC). SDLC terdiri dari sejumlah tahapan yang
dilaksanakan secara berurutan. Secara umum tahapan dari SDLC adalah sebagai
berikut:
1.
Pengumpulan
data (data gathering)
Jika
sudah ada sistem yang berjalan sebelumnya maka perlu dilakukan pengumpulan data
dan informasi yang dihasilkan dari sistem yang ada. Pengumpulan laporan
(report), cetakan (print-out), dsb baik yang sudah ada maupun yang diharapkan
untuk ada pada sistem yang baru. Interview dan questionnaire terhadap
orang-orang yang terlibat dalam sistem juga mungkin perlu dilakukan. Apabila
sistem yang akan dikembangkan benar-benar baru (belum ada sistem informasi
sebelumnya) maka pada tahapan ini pengembang bisa lebih menekankan kepada studi
kelayakan dan definisi sistem.
2.
Analisa
Sistem
Jika
tahapan pengumpulan data dilakukan dengan melibatkan klien atau pengguna sistem
informasi, maka mulai dari tahapan analisa lebih banyak dilakukan oleh pihak
pengembang sendiri. Analisa terhadap sistem yang sedang berjalan dan sistem
yang akan dikembangkan. Mendefinisikan objek-objek yang terlibat dalam sistem
dan batasan sistem.
3.
Perancangan
Sistem (design)
Merancang
alir kerja (workflow) dari sistem dalam bentuk diagram alir (flowchart) atau
Data Flow Diagram (DFD). Merancang basis data (database) dalam bentuk Entity
Relationship Diagram (ERD) bisa juga sekalian membuat basis data secara fisik.
Merancang input ouput aplikasi (interface) dan menentukan form-form dari setiap
modul yang ada. Merancang arsitektur aplikasi dan jika diperlukan menentukan juga
kerangka kerja (framework) aplikasi. Pada tahapan ini atau sebelumnya sudah
ditentukan teknologi dan tools yang akan digunakan baik selama tahap
pengembangan (development) maupun pada saat implementasi (deployment).
4.
Penulisan
kode program (Coding)
Programming
(desktop application) atau Scripting (web-based application) hanyalah salah
satu tahapan dari siklus hidup pengembangan sistem. Tahapan ini dilakukan oleh
satu atau lebih programmer. Jika tahapan analisa dan perancangan sistem telah
dilakukan dengan baik, maka porsi tahapan coding tidaklah besar.
5.
Testing
Biasanya
tahapan ini dilakukan oleh Quality Assurance dari pihak pengembang untuk
memastikan bahwa software yang dibangun telah berjalan sesuai dengan yang
diharapkan. Salah satu metodenya bisa dengan menginput sejumlah data pada
sistem baru dan membandingkan hasilnya dengan sistem lama. Apabila diperlukan
maka tahapan ini bisa dibagi menjadi dua yaitu testing oleh pihak pengembang
(alpha testing) dan testing oleh pihak pengguna (beta testing).
6.
Instalasi
Pada
pengembangan aplikasi Client-Server, umumnya terdapat server untuk development,
testing dan production. Server development berada di tempat pengembang dan
dipergunakan selama pengembangan dan bisa juga setelahnya untuk perbaikan
aplikasi secara terus menerus (continuous improvements). Server testing berada
di tempat pengembang dan bisa juga di tempat pengguna apabila diperlukan beta
testing. Setelah aplikasi dirasa siap untuk dipergunakan maka digunakanlah
server production yang berada di tempat pengguna. Pada prakteknya di tempat
pengembang juga bisa terdapat server production yaitu server yang memiliki
spesifikasi hardware dan software yang sama dengan server di tempat pengguna.
Hal ini dimaksudkan agar apabila ditemukan error atau bug pada aplikasi di
tempat pengguna maka pengembang dapat mudah mencari penyebabnya pada server
production mereka.
7.
Pelatihan
Pihak
pengembang memberikan training bagi para pengguna program aplikasi sistem
informasi ini. Apabila sebelumnya tidak dilakukan beta testing maka pada
tahapan ini juga bisa dilangsungkan User Acceptance Test.
8.
Pemeliharaan
Maintenance
bertujuan untuk memastikan bahwa sistem yang digunakan oleh pihak pengguna
benar-benar telah stabil dan terbebas dari error dan bug. Pemeliharaan ini
biasanya berkaitan dengan masa garansi yang diberikan oleh pihak pengembang
sesuai dengan perjanjian dengan pihak pengguna. Lamanya waktu pemeliharaan
sangat bervariasi. Namun pada umumnya sistem informasi yang kompleks
membutuhkan masa pemeliharaan dari enam bulan hingga seumur hidup program
aplikasi.
Sumber: