Mengenal SDLC (System Development Life Cycle)

Rabu, 02 November 2016
 
Apa itu SDLC dan contoh-contohnya. Apa itu SDLC dan contoh-contohnya. 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).

Berdasarkan pada penjelasan diatas maka SDLC dapat disimpulkan sebagai sebuah siklus untuk membangun sistem dan memberikannya kepada pengguna melalui tahapan perencanaan, analisa, perancangan dan implementasi dengan cara memahami dan menyeleksi keadaan dan proses yang dilakukan pengguna untuk dapat mendukung kebutuhan pengguna. Untuk menggunakan SDLC maka dibutuhkan sumber data awal dari pengguna yang dijadikan acuan dalam perencanaan, analisa, perancangan dan implementasi. Penggunaan acuan ini dimaksudkan agar sistem yang dibangun bisa menjembatani kebutuhan pengguna dari permasalahan yang dihadapinya.
Berikut ini adalah penjelasan proses tahapan SDLC, yaitu :
1.      Perencanaan
Fase perencanaan adalah sebuah proses dasar untuk memahami mengapa sebuah sistem harus dibangun. Pada fase ini diperlukan analisa kelayakan dengan mencari data atau melakukan proses information gathering kepada pengguna.
2.      Analisa
Fase analisa adalah sebuah proses investigasi terhadap sistem yang sedang berjalan dengan tujuan untuk mendapatkan jawaban mengenai pengguna sistem, cara kerja sistem dan waktu penggunaan sistem. Dari proses analisa ini akan didapatkan cara untuk membangun sistem baru.
3.      Rancangan
Fase perancangan merupakan proses penentuan cara kerja sistem dalam hal architechture design, interface design, database dan spesifikasi file, dan program design. Hasil dari proses perancangan ini akan didapatkan spesifikasi system.
4.      Implementasi
Fase implementasi adalah proses pembangunan dan pengujian sistem, instalasi sistem, dan rencana dukungan sistem.

          Dalam pengembangan system menggunakan SDLC ada beberapa cara untuk mengimplementasinya dengan metodologi yaitu waterfall model, prototype model, RAD(Rapid Application Development) model, ASD(Agile Software Development) model. Diantara keempat model tersebut waterfall, dan prototype adalah model yang paling sering digunakan dalam pengembangan system. Berikut penjelasannya :
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.

3.      RAD (Rapid Application Development)
Rapid application development (RAD) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user. RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat dicapai dengan menerapkan component based construction.

4.      Agile Software Development
Agile merupakan adalah jenis pegembangan sistem jangka pendek yang memerlukan adaptasi cepat dan pengembang terhadap perubahan dalam bentuk apapun. Dalam Agile Software Development interaksi dan personel lebih penting dari pada proses dan alat, software yang berfungsi lebih penting daripada dokumentasi yang lengkap, kolaborasi dengan klien lebih penting dari pada negosiasi kontrak, dan sikap tanggap terhadap perubahan lebih penting daripada mengikuti rencana. Agile juga dapat diartikan sebagai sekelompok metodologi pengembangan software yang didasarkan pada prinsip-prinsip yang sama atau pengembangan system jangka pendek yang memerlukan adaptasi cepat dari pengembang terhadap perubahan dalam bentuk apapun.
 
Sekian semoga bermanfaat.

Tidak ada komentar: