SDLC (SYSTEM DEVELOPMENT LIFE CYCLE)

SDLC (SYSTEM DEVELOPMENT LIFE CYCLE)
SDLC (Systems Development Life Cycle, Siklus Hidup Pengembangan Sistem), dalam rekayasa sistem dan rekayasa perangkat lunak, adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap: rencana(planning),analisa (analysis), desain (design), implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance). Dalam rekayasa perangkat lunak, konsep SDLC mendasari berbagai jenis metodologi pengembangan perangkat lunak. Metodologi-metodologi ini membentuk suatu kerangka kerja untuk perencanaan dan pengendalian pembuatan sistem informasi, yaitu proses pengembangan perangkat lunak. Terdapat 3 jenis metode siklus hidup sistem yang paling banyak digunakan, yakni: siklus hidup sistem tradisional (traditional system life cycle), siklus hidup menggunakan protoyping (life cycle using prototyping), dan siklus hidup sistem orientasi objek (object-oriented system life cycle)
Didefinisikan oleh Departemen Kehakiman AS sebagai sebuah proses pengembangan software yang digunakan oleh systems analyst, untuk mengembangkan sebuah sistem informasi. Systems Development Life Cycle mencakup kebutuhan (requirement), validasi, pelatihan, kepemilikan (user ownership) sebuah sistem informasi yang diperoleh melalui investigasi, analisis, desain, implementasi, dan perawatan software.
Software yang dikembangkan berdasarkan Systems Development Life Cycle akan menghasilkan sistem dengan kualitas yang tinggi, memenuhi harapan penggunanya, tepat dalam waktu dan biaya, bekerja dengan efektif dan efisien dalam infrastruktur teknologi informasi yang ada atau yang direncanakan, serta murah dalam perawatan dan pengembangan lebih lanjut. Systems Development Life Cycle merupakan pendekatan sistematis untuk memecahkan masalah yang terdiri dari beberapa tahapan. Tiap-tiap tahapan dapat terdiri dari beberapa langkah berikut:
• Konsep software : mengidentifikasi dan mendefinisikan kebutuhan akan sebuah sistem baru.
• Analisis kebutuhan : menganalisis kebutuhan informasi dari pengguna akhir sebuah sistem.
• Desain arsitektural : membuat blueprint desain berdasarkan spesifikasi utama, seperti hardware, software, pengguna, dan sumber data.
• Coding dan debugging : membuat dan memprogram sistem.
• Pengujian system : mengevaluasi fungsionalitas sistem aktual, dalam hubungannya dengan fungsionalitas yang diharapkan.
Langkah-langkah dalam SDLC
Tidak ada langkah baku dalam Systems Development Life Cycle, tapi ketujuh langkah di bawah merupakan life cycle yang paling sering digunakan oleh para software developer profesional.
1. Studi kelayakan : Dilakukan oleh software developer dengan mempelajari konsep sistem yang diinginkan oleh pihak manajemen, apakah sistem baru tersebut realistis dalam masalah pembiayaan, waktu, serta perbedaan dengan sistem yang ada sekarang. Biasanya, dalam tahap ini diputuskan untuk meng-update sistem yang ada, atau menggantinya dengan yang baru.
2. Analisis : Pengguna dan software developer bekerja sama mengumpulkan, mempelajari, dan merumuskan kebutuhan-kebutuhan bisnis. Dalam tahap analisis ini, digunakan oleh analis sistem untuk :
a. Membuat keputusan apabila sistem saat ini mempunyai masalah atau sudah tidak berfungsi secara baik dan hasil analisisnya digunakan sebagai dasar untuk memperbaiki sistem.
b. Mengetahui ruang lingkup pekerjaannya yang akan ditanganinya.
c. Memahami sistem yang sedang berjalan saat ini.
d. Mengidentifikasi masalah dan mencari solusinya
Kegiatan yang dilakukan dalam tahap analisis ini adalah :
Problem detection
a. Tujuan : Mendeteksi sistem, apabila sistem saat ini semakin berkurang manfaatnya (memburuk).
b. Hasil : Laporan pendahuluan tentang permasalahan yang terjadi dalam sistem.
Initial investigation
a. Tujuan : Memerikan sistem saat ini dengan penekanan pada daerah- daerah yang menimbulkan permasalahan.
b. Hasil : Penjelasan sistem saat ini.
Requirement analysis (determination of ideal systems)
a. Tujuan : Mendapatkan konsensus dari komunitas pemakai dari sistem informasi yang ideal. Sebuah penggantian sistem akan menimbulkan jarak antara sistem saat ini dengan sistem yang ideal (yang mengacu ke komputerisasi).
b. Hasil : Penjelasan kebutuhan analisis terhadap sistem.
Generation of system alternatives
a. Tujuan : Menggali (explore) perbedaan dari alternatif sistem dalam mengurangi jarak (gap) antara sistem saat ini dengan sistem idealnya.
b. Hasil : Dokumen-dokumen tentang alternatif sistem yang akan digunakan untuk memperbaiki sistem.
Selection of proper system
a. Tujuan : Membandingkan alternatif-alernatif sistem dengan menggunakan metodologi terstruktur, memilih alternatif sistem yang paling baik, dan menjualnya (sell) kepada management.
b. Hasil : Hasil-hasil dari studi sistem.
3. Desain – Pada langkah ini dilakukan pembuatan blueprint sistem. Di dalamnya termasuk penyesuaian dengan arsitektur telekomunikasi, hardware, dan software untuk pengembangan lebih lanjut, serta membuat model sistem – menciptakan model graphical user interface (GUI), database, dan lain-lain.
Dalam tahap perancangan (desgin) memiliki tujuan, yaitu untuk :
a. Mendesain sistem baru yang dapat menyelesaikan masalah-masalah yang dihadapi perusahaan yang diperoleh dari pemilihan alternatif sistem yang terbaik.
Kegiatan yang dilakukan dalam tahap perancangan ini adalah :
Output design
a. Tujuan : Memerikan bentuk-bentuk laporan sistem dan dokumennya.
b. Hasil : Bentuk (forms) dari dokumentasi keluaran (output).
Input design
a. Tujuan : Memerikan bentuk-bentuk masukan didokumen dan dilayar ke sistem informasi.
b. Hasil : Bentuk (forms) dari dokumentasi masukan (input).
File design
a. Tujuan : Memerikan bentuk-bentuk file-file yang dibutuhkan dalam sistem informasi.
b. Hasil : Bentuk (forms) dari dokumentasi file.
4. Pengembangan – Di sini, barulah para programmer melakukan coding untuk menerapkan desain ke dalam sistem yang sesungguhnya, membuat program, dan menyiapkan database.
5. Pengujian – Setelah sistem berhasil dikembangkan, langkah selanjutnya adalah pengujian untuk melihat apakah sistem telah sesuai dengan harapan dan kebutuhan pengguna. Dalam tahap ini, juga dilakukan debugging dan penyesuaian-penyesuaian akhir.
6. Implementasi – Pada tahap ini, software yang telah diuji siap diimplementasikan ke dalam sistem pengguna. Pembuatan user guide dan pelatihan juga dilakukan dalam tahap ini.
Dalam tahap implementasi memiliki beberapa tujuan, yaitu untuk :
a. Melakukan kegiatan spesifikasi rancangan logikal ke dalam kegiatan yang sebenarnya dari sistem informasi yang akan dibangunnya atau dikembangkannya.
b. Mengimplementasikan sistem yang baru.
c. Menjamin bahwa sistem yang baru dapat berjalan secara optimal.
Kegiatan yang dilakukan dalam tahap implementasi ini adalah :
Programming & testing
a. Tujuan : Mengkonversikan perancangan logikal ke dalam kegiatan operasi coding dengan menggunakan bahasa pemograman tertentu, dan mengetest semua program serta memastikan semua fungsi / modul program dapat berjalan secara benar.
b. Hasil : Coding program dan spesifikasi program.
Training
a. Tujuan : Memimpin (conduct) pelatihan dalam menggunakan sistem, persiapan lokasi latihan dan tugas-tugas lain yang berhubungan denganp pelatihan (buku-buku panduan sistem).
b. Hasil : Rencana pelatihan sistem, modul-modul katihan dan sebagainya.
System changeover
a. Tujuan : Merubah pemakaian sistem lama ke sistem bari dari sistem informasi yang berhasil dibangun.Perubahan sistem merupakan tanggungjawab team designer ke pemakai siste (user organization).
b. Hasil : Rencana (jadwal dan metode) perubahan sistem (contract).
7. Perawatan – Perawatan dimaksudkan agar sistem yang telah diimplemantasikan dapat mengikuti perkembangan dan perubahan apapun, yang terjadi guna meraih tujuan penggunaannya. Help desk untuk membantu pengguna, serta perubahan yang dianggap penting dapat dilakukan terhadap sistem dalam tahap ini. Jika memperhatikan langkah-langkah di atas, coding dan debugging yang selama ini menjadi pekerjaan utama software developer, hanyalah dua dari tujuh tahapan dalam Systems Development Life Cycle. Di luar kedua langkah tersebut, SDLC lebih banyak berkutat pada urusan manajemen (non-teknis), yang mungkin kurang mendapat perhatian dari pada software developer.
Daftar Pustaka
1. Davis, William S., Systems Analysis And Design : A Structured Approach,Addison-Wesley Publishing Company, 1983.
2. HM., Yogiyanto, Analisis dan Disain Sistem Informasi : Pendekatan Terstruktur, Penerbit Andi Offset, Yogyakarta, 1995.
3. Martin, Merle P., Analysis And Design of Business Information Sytems, Macmillan Publishing Company, New York, 1991.
sumber: Tabloid PCMild
http://id.wikipedia.org/wiki/SDLC
http://togaptar.wordpress.com/2011/02/08/system-development-life-cycle-sdlc/
http://kuliah.dinus.ac.id/ika/asi4.html