Systems Development Life Cycle

Pengertian SDLC dan Fase-Fasenya

System Development Life Cycle atau yang selanjutnya disebut dengan SDLC merupakan 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.

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.

SDLC berfungsi untuk menggambarkan tahapan-tahapan utama dan langkah-langkah dari setiap tahapan yang secara garis besar terbagi dalam tiga kegiatan utama, yaitu  :

  • Analysis
  • Design
  • Implementation

Setiap kegiatan dalam SDLC dapat dijelaskan melalui tujuan (purpose) dan hasil kegiatannya (deliverable). Apabila kegiatan utama tersebut dijabarkan ke dalam langkah-langkah yang lebih rinci dapat digambarkan seperti berikut :

+---------------------------------------------------------------------+
:         ANALYSIS        :       DESIGN         :  IMPLEMENTATION    :
+---------------------------------------------------------------------
                          :                      :
     +---------------+    :                      :
 +-->:     Problem   :    :                      :
 |   :    Detection  :    :                      :
 |   +---------------+  +-----------+          +-----------+
 +---------> |          | :         |          | :         |
 |   +---------------+  | : +---------------+  | : +---------------+
 |   :    Initial    :  | : :    Output     :  | : : Programming / :
 |   : Investigation :  | : :               :  | : :     test      :
 |   +---------------+  | : +---------------+  | : +---------------+
 +---------> |          | :         |          | :         |
 |   +---------------+  | : +---------------+  | : +---------------+
 |   :  Requirements :  | : :     Input     :  | : :  Training /   :
 |   :    Analysis   :  | : :               :  | : :    Other      :
 |   +---------------+  | : +---------------+  | : +---------------+
 +---------> |          | :         |          | :         |
     +---------------+  | : +---------------+  | : +---------------+
     : Generation of :  | : :     Files     :--+ : :    System     :
     : Alternatives  :  | : :               :    : :  Change Over  :
     +---------------+  | : +---------------+    : +---------------+
             |          | :                      :
     +---------------+  | :                      :
     : Selection of  :--+ :                      :
     : Proper System :    :                      :
     +---------------+    :                      :

 

Fase Analisis

Dalam tahap analisis ini, digunakan oleh analis sistem untuk :

  1. Membuat keputusan apabila sistem saat ini mempunyai masalah atau sudah tidak berfungsi secara baik dan hasil analisisnya digunakan sebagai dasar untuk memperbaiki sistem
  2. Mengetahui ruang lingkup pekerjaannya yang akan ditanganinya.
  3. Memahami sistem yang sedang berjalan saat ini
  4. Mengidentifikasi masalah dan mencari solusinya

Kegiatan yang dilakukan dalam tahap analisis ini adalah :

  1. 1. Problem detection
    1. Tujuan :  Mendeteksi sistem, apabila sistem saat ini semakin berkurang manfaatnya (memburuk).
    2. Hasil    :  Laporan pendahuluan tentang permasalahan yang terjadi dalam sistem.
  2. 2. Initial investigation
    1. Tujuan :  Memerikan sistem saat ini dengan penekanan pada daerah – daerah yang menimbulkan permasalahan.
    2. Hasil    :  Penjelasan sistem saat ini.
  3. 3. Requirement analysis (determination of ideal systems)
    1. 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).
    2. Hasil    :  Penjelasan kebutuhan analisis terhadap sistem.
  4. 4. Generation of system alternatives
    1. Tujuan :  Menggali (explore) perbedaan dari alternatif sistem dalam mengurangi jarak (gap) antara sistem saat ini dengan sistem idealnya.
    2. Hasil    :  Dokumen-dokumen tentang alternatif sistem yang akan digunakan untuk memperbaiki sistem.
  5. 5. Selection of proper system
    1. Tujuan :  Membandingkan alternatif-alernatif sistem dengan menggunakan metodologi terstruktur, memilih alternatif sistem yang paling baik, dan menjualnya (sell) kepada management.
    2. Hasil    :  Hasil-hasil dari studi sistem.

Fase Perancangan / Design

Dalam tahap perancangan (design) memiliki tujuan untuk 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 :

  1. 1. Output design
    1. Tujuan       :  Memerikan bentuk-bentuk laporan sistem dan dokumennya.
    2. Hasil          :  Bentuk (forms) dari dokumentasi keluaran (output).
  2. 2. Input design
    1. Tujuan       :  Memerikan bentuk-bentuk masukan didokumen dan dilayar ke sistem informasi.
    2. Hasil          :  Bentuk (forms) dari dokumentasi masukan (input).
  3. 3. File design
    1. Tujuan       :  Memerikan bentuk-bentuk file-file yang dibutuhkan dalam sistem informasi.
    2. Hasil          :  Bentuk (forms) dari dokumentasi file.

Fase Implementation

Dalam tahap implementasi memiliki beberapa tujuan, yaitu untuk :

  1. Melakukan kegiatan spesifikasi rancangan logikal ke dalam kegiatan yang  sebenarnya dari sistem informasi yang akan dibangunnya atau dikembangkannya.
  2. Mengimplementasikan sistem yang baru.
  3. Menjamin bahwa sistem yang baru dapat berjalan secara optimal.

Kegiatan yang dilakukan dalam tahap implementasi ini adalah :

  1. 1. Programming & testing
    1. 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.
    2. Hasil    : Coding program dan spesifikasi program.
  2. 2. Training
    1. Tujuan : Memimpin (conduct) pelatihan dalam menggunakan sistem, persiapan lokasi latihan dan tugas-tugas lain yang berhubungan denganp pelatihan (buku-buku panduan sistem).
    2. Hasil    : Rencana pelatihan sistem, modul-modul katihan dan sebagainya.
  3. 3. System changeover
    1. 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).
    2. Hasil    :  Rencana (jadwal dan metode) perubahan sistem (contract).

System Development Methodology

System Development Methodology adalah suatu rangkaian langkah untuk mengimplementasikan SLDC itu sendiri. Dalam dunia rekayasa perangkat lunak terdapat empat buah metodologi dalam menerapkan SLDC, yakni :

  1. Waterfall Development Methodology
  2. Parallel Development Methodology
  3. Rapid Application Development
  4. Agile Development: Extreme Programming

Kelima metodologi tersebut tidak ada yang paling bagus. Semua mempunyai kelebihan dan kekurangan. Tergantung suatu kelompok pengembang perangkat lunak menggunakan metode apa yang paling cocok dengan kondisi lingkungan pengembangan perangkat lunak tersebut.

Waterfall Development Methodology

Waterfall Development Methodology merupakan suatu cara pengembangan software yang fase – fasenya berurutan. Sebuah fase tidak bisa dikerjakan sebelum fase sebelumnya telah selesai dikerjakan.

Kelebihan dari Waterfall Development Methodology adalah :

  1. Proses pengidentifikasian sistem memerlukan waktu yang lama sebelum fase programming dimulai
  2. Meminimalisasi pengubahan sistem pada saat proses pengembangan perangkat lunak

Kekurangan dari Waterfall Development Methodology adalah :

  1. Fase perencanaan / design harus dilakukan pada paper yang khusus sebelum fase programming dimulai
  2. Terjadi selisih waktu yang cukup lama antara pengajuan sistem dan pembaharuan sistem

Parallel Development Methodology

Parallel Development Methodology merupakan suatu cara pada SDLC yang melakukan fase design dan implementation secara paralel.

Kelebihan dari Parallel Development Methodology adalah :

  1. Meminimalisasi waktu penjadwalan
  2. Meminimalisasi kesempatan untuk dikerjakan ulang

Kekurangan dari Parallel Development Methodology adalah :

  1. Masih menggunakan dokument di kertas
  2. Menggabungkan subproyek memerlukan suatu keahlian yang khusus. Biasanya banyak terjadi kegagalan pada saat proses penggabungannya

Rapid Application Development

Rapid Application Development merupakan suatu cara penerapan SDLC dengan membuat suatu software prototype terlebih dahulu dan kemudian dipresentasikan ke costumer. Jika costumer menyetujuinya, maka software akan dikembangkan lebih lanjut.

Kelebihan Rapid Application Development adalah :

  1. Pengguna dapat memperoleh / menggunakan sistem lebih awal
  2. Pengguna dapat merencanakan beberpa tambahan untuk versi setelahnya

Kekurangan Rapid Application Development adalah :

  1. Pengguna bekerja dengan sistem yang sebenarnya belum selesai secara keseluruhan

Agile Development: Extreme Programming

Agile Development: Extreme Programming merupakan suatu pengerjaan perangkat lunak secara cepat. Metode ini sangat cocok untuk proyek perangkat lunak yang membutuhkan waktu lebih instan dalam pengembangannya.

Kelebihan dari Agile Development: Extreme Programming adalah :

  1. Hasil bisa didapat dalam waktu yang sangat cepat
  2. Bekerja lebih baik dalam projek dengan tidak ada perubahan yang tak tentu

Kekurangan dari Agile Development: Extreme Programming adalah :

  1. Membutuhkan kedisiplinan tinggi
  2. Tepat hanya jika dilakukan di projek kecil
  3. Membutuhkan lebih banyak inputan dari pengguna

Untuk menentukan metode mana yang lebih cocok diterapkan dalam pengembangan proyek perangkat lunak, maka harus memperhatikan hal berikut :

  • Clear user requirements
  • Familiarity with technology
  • Complexity of system
  • Reliability of system
  • Time schedule
  • Schedule visibility

3 thoughts on “Systems Development Life Cycle

  1. Nice blog mas
    klo ini membahas life cycle klo blog ku membahas SQA walaupun masih cupu :D
    ========================================
    Tertarik tentang SQA masuk sini http://sqaindonesi.wordpress.com

  2. wah makasih banyak infony tentang SDLC

Tinggalkan Jejak

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s