Saturday, July 8, 2017

Pengertian SDLC & Contoh


SDLC (Systems Development Life Cycle, Siklus Hidup Pengembangan Sistem) atau Systems Life Cycle (Siklus Hidup Sistem) bersifat rekayasa sistem serta rekayasa perangkat lunak, merupakan sebuah proses pembuatan dan pengubahan sistem serta model dan metodologi yang biasa digunakan sebagai pengembangan sistem-sistem tersebut. Konsep-konsep tersebut biasanya tertuju pada sistem komputer atau informasi.

SDLC juga berbentuk pola-pola yang diambil bertujuan untuk mengembakan sistem perangkat lunak, sebagian besar terdiri dari beberapa tahap seperti : rencana (planning), analisis (analysis), desain(design), implementasi (implementation), uji coba (testing), dan pengelolaan (maintenance).


Menurut Kendal, 2006 SDLC merupakan pendekatan secara bertahap untuk melakukan analisa serta membangun rancangan sistem menggunakan siklus yang spesifik kepada kegiatan pengguna.
System Development Life Cycle (SDLC) juga sebagai pusat pengembangan sistem informasi yang efisien, Valacich, George, & Hoffer, 2012 juga berpendapat selain itu SDLC terdiri dari 4 kunci, yaitu :

  1. Perencanaan dan seleksi
  2. Analisis
  3. Desain
  4. Implementasi dan operasional
Pendapat dari Dennis, Wixom, & Tegarden, 2005 ialah proses memahami bagaimana Sistem Informasi bisa mendukung berbagai kebutuhan seperti bisnis, merancang sistem, membangun sistem, dan memberikannya kepada pengguna.

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 hal yang dibutuhkan seperti sumber data awal dari pengguna yang akan dijadikan acuan dalam perencanaan, analisa, perancangan dan implementasi.

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.

Setelah selesai paham tentang SDLC langkah selanjutnya ialah bagaimana cara mengimplementasikannya, berikut beberapa metodoli yang bisa di implementasikan kepada SDLC :
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 :
  1. Sistem modeling
  2. Analisis kebutuhan software
  3. Desain
  4. Coding
  5. Testing                                                                   
  6. 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 :
  1. Reusable prototype : Prototype yang akan ditransformasikan menjadi produk final.
  2. Throwaway prototype : Prototype yang akan dibuang begitu selesai menjalankan maksudnya.
  3. Input/output prototype : Prototype yang terbatas pada antar muka pengguna (user interface).
  4. Processing prototype : Prototype yang meliputi perawatan file dasar dan proses-proses transaksi
  5. System prototype : Prototype yang berupa model lengkap dari perangkat lunak.
Proses pada model prototyping adalah sebagai berikut :
  1. Pengumpulan kebutuhan
  2. Perancangan
  3. 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.

Sumber 1
Sumber 2

Rahardyan Putra

Author & Editor

I am just a beginner who needs a lesson.

0 comments:

Post a Comment

 
biz.