Senin, 29 November 2010

System Development Life Cycle (SDLC)

Pendahuluan

Sistem Informasi adalah suatu sinergi antara data, mesin pengolah data (yang biasanya meliputi komputer, program aplikasi dan jaringan) dan manusia untuk menghasilkan informasi. Jadi sistem informasi bukan hanya aplikasi perangkat lunak. Sistem Informasi ada pada hampir setiap perusahaan atau instansi untuk mendukung kegiatan bisnis mereka sehari-hari. Biasanya porsi pengerjaan pengembangan sistem informasi diserahkan kepada orang-orang yang bekerja di bidang Teknologi Informasi.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).

Tinjauan Pustaka

SDLC (Systems Development Life Cycle, Siklus Hidup Pengembangan Sistem) atau Systems Life Cycle (Siklus Hidup 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: 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). (http://id.wikipedia.org/wiki/SDLC)

Pembahasan

SDLC adalah tahapan-tahapan pekerjaan yang dilakukan oleh analis sistem dan programmer dalam membangun sistem informasi. Langkah yang digunakan meliputi :
1. Melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi
2. Mempelajari dan menganalisis sistem informasi yang sedang berjalan
3. Menentukan permintaan pemakai sistem informasi
4. Memilih solusi atau pemecahan masalah yang paling baik
5. Menentukan perangkat keras (hardware) dan perangkat lunak (software)
6. Merancang sistem informasi baru
7. Membangun sistem informasi baru
8. Mengkomunikasikan dan mengimplementasikan sistem informasi baru
9. Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila diperlukan.

System Development Lyfe Cycle (SDLC) adalah keseluruhan proses dalam membangun sistem melalui beberapa langkah. Ada beberapa model SDLC. Model yang cukup populer dan banyak digunakan adalah waterfall. Beberapa model lain SDLC misalnya fountain, spiral, rapid, prototyping, incremental, build & fix, dan synchronize & stabilize.

Dengan siklus SDLC, proses membangun sistem dibagi menjadi beberapa langkah dan pada sistem yang besar, masing-masing langkah dikerjakan oleh tim yang berbeda.

Dalam sebuah siklus SDLC, terdapat enam langkah. Jumlah langkah SDLC pada referensi lain mungkin berbeda, namun secara umum adalah sama. Langkah tersebut adalah

1. Analisis sistem, yaitu membuat analisis aliran kerja manajemen yang sedang berjalan

2. Spesifikasi kebutuhan sistem, yaitu melakukan perincian mengenai apa saja yang dibutuhkan dalam pengembangan sistem dan membuat perencanaan yang berkaitan dengan proyek sistem

3. Perancangan sistem, yaitu membuat desain aliran kerja manajemen dan desain pemrograman yang diperlukan untuk pengembangan sistem informasi

4. Pengembangan sistem, yaitu tahap pengembangan sistem informasi dengan menulis program yang diperlukan

5. Pengujian sistem, yaitu melakukan pengujian terhadap sistem yang telah dibuat

6. Implementasi dan pemeliharaan sistem, yaitu menerapkan dan memelihara sistem yang telah dibuat

Ada Tahapan-tahapan yang Lain Secara Umum Seperti ini :

  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.

  1. 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.

  1. 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).

  1. 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.

  1. 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).

  1. 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.

  1. 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.
  2. 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.


Siklus SDLC dijalankan secara berurutan, mulai dari langkah pertama hingga langkah Terakhir. 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.

Kesimpulan

SDLC Atau Siklus Hidup Pengembangan Sistem dalam System & Software Enginering adalah proses menciptakan atau mengubah sistem, dan model-model juga metodologi yang digunakan orang untuk mengembangkan sistem ini. Konsep umumnya mengacu pada Sistem Informasi. Dan dalam sebuah siklus SDLC, terdapat Beberapa langkah atau Tahapan. Jumlah langkah atau Tahapan SDLC pada referensi lain mungkin berbeda-beda, namun secara umum adalah sama.

Referensi

http://id.wikipedia.org/wiki/SDLC

http://yuliagroups.wordpress.com/system-development-life-cycle-sdlc/

http://www.startvbdotnet.com/sdlc/sdlc.aspx

http://omcom-ombay.blogspot.com/2008/09/sdlc-system-development-life-cycle.html

http://sagung.wordpress.com/2008/03/17/system-development-life-cycle/

http://www.simplearning.co.cc/2010/03/system-development-life-cycle.html

http://www.edison.web.id/misc/system-development-life-cycle/

http://joanmathilda.wordpress.com/2009/10/08/sdlc-system-development-life-cycle/

http://fitrinurlaelasari.blog.upi.edu/2009/06/15/sdlc-systems-development-life-cycle/

http://teknologi.kompasiana.com/terapan/2010/09/27/system-development-life-cycle-sdlc/

Tidak ada komentar:

Posting Komentar