Apa itu SDLC (Systems Development Life Cycle) ? - Mas Fadli

Friday 2 November 2018

Apa itu SDLC (Systems Development Life Cycle) ?

Apa itu SDLC? SDLC yang merupakan singkatan dari Systems Development Life Cycle yang berarti Siklus Hidup Sistem adalah tahapan-tahapan yang digunakan oleh analis dan programmer untuk merancang dan membangun sebuah sistem. Konsep ini umumnya merujuk pada sistem komputer dan sistem informasi. 


SDLC merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap-tahap: 

Planning (perencanaansistem), Analysis (analisa), Design (desain), Implementation (implementasi), Testing (pengujian) dan Maintenance (pengelolaan). Dalam rekayasa perangkat lunak, konsep SDLC mendasari berbagai jenis metodologi pengembangan perangkat lunak
  1. 1. Planning (perencanaan sistem) 
    Tahap 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. Fase ini lebih menekankan pada aspek studi kelayakan pengembangan sistem (feasibility study). Aktivitas-aktivitas yang ada meliputi: pembentukan dan konsolidasi tim pengembang; mendefinisikan tujuan dan ruang lingkup pengembangan; mengidentifikasi apakah masalah-masalah yang ada bisa diselesaikan melalui pengembangan sistem; menentukan dan evaluasi strategi yang akan digunakan dalam pengembangan sistem; dan penentuan prioritas teknologi dan pemilihan aplikasi.
  2. 2. Analysis (analisa)
     Tahap analisa adalah sebuah proses investigasi terhadap sistem yang akan dibangun dengan tujuan untuk mendapatkan jawaban mengenai pengguna sistem, cara kerja sistem dan waktu penggunaan sistem. Proses investigasi ini dapat meliputi mencari kebutuhan-kebutuhan informasi terkait dengan sistem yang akan dibangun. Dari proses analisa ini akan didapatkan cara untuk membangun sistem baru dan goal (tujuan) dalam pembangunan sistem.
  3. 3. Design (Perancangan Sistem)
    Tahap perancangan merupakan proses penentuan cara kerja sistem dalam hal architechture design, menganalisa data dan skema database, merancang user interface dan program design. Hasil dari proses perancangan ini akan didapatkan spesifikasi sistem.
  4. 4. Implementation (implementasi)
    Tahap implementasi adalah proses mengimplementasikan rancangan dari tahap-tahap sebelumnya yang meliputi pembangunan dan pengujian sistem, instalasi sistem, dan rencana dukungan sistem. Dalam implementasi, dilakukan aktivitas-aktivitas sebagai berikut: pembuatan database sesuai skema rancangan; pembuatan aplikasi berdasarkan desain sistem (Coding); dan debugging yaitu sebuah metode yang dilakukan oleh para pemrogram dan pengembang perangkat lunak untuk mencari dan mengurangi bug, atau kerusakan di dalam sebuah program komputer atau perangkat keras sehingga perangkat tersebut bekerja sesuai dengan harapan.
  5. 5. Testing (pengujian)
    Tahap pengujian adalah tahap pengujian dari sistem yang telah diimplementasikan di langkah sebelumnya. Tahap ini merupakan tahap yang paling berpengaruh dalam proses pembuatan sistem, karena jika ada salah satu bagian yang tidak sesuai, maka harus ada perancangan ulang di bagian tersebut.

  6. 6. Maintenance (pengelolaan atau pemeliharaan)
    Setelah melewati tahap pengujian. Maka tahap selanjutnya adalah Deployment yaitu tahap rilis sistem yang telah dibangun kepada client yang telah memesan. Setelah Deployment, masuk ke tahap Maintenance. Pemeliharaan yang dimaksud adalah untuk menjaga sistem supaya tetap mampu beroperasi secara benar seperti pemeliharaan data, pembaharuan sistem sesuai kebutuhuan baru, serta meningkatkan keamanan data.
SDLC harus dijalankan secara berurutan, mulai dari langkah pertama sampai langkah keenam. Setiap langkah yang telah selesai harus dikaji ulang 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 anggota tim yang merancang sistem untuk membangun kualitas sistem, 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.

Dalam pengembangan sistem menggunakan SDLC ada beberapa cara untuk mengimplementasinya yaitu dengan metodologi yaitu waterfall model, prototype model, RAD (Rapid Application Development) model, ASD (Agile Software Development) model. Model yang cukup populer dan banyak digunakan diantara keempat model tersebut dalam membangun sistem adalah waterfall model dan prototype model. Berikut ini adalah sekilas tentang siklus Waterfall Model dan Prototype Model:


1. Waterfall Model


Waterfall model pertama kali diperkenalkanoleh Winston Royce tahun 1970. Waterfall Model merupakan model klasik yang sederhana dengan aliran sistem yang linier.  Output dari setiap tahap merupakan input bagi tahap berikutnya.
Model ini telah diperoleh dari proses rekayasa lainnya dan menawarkan cara pembuatan rekayasa perangkat lunak secara lebih nyata.  Model ini melibatkan tim SQA (Software Quantity Assurance) dengan 5 tahapan, dimana setiap tahapan selalu dilakukan verifikasi atau testing.  Tahapan model waterfall meliputi :
  • Requirment
Dalam tahapan ini jasa, kendala dan  tujuandari konsultasi dengan pengguna sistem.  Kemudian semuanya dibuat dalam bentuk yang dapat dimengerti oleh user dan staf pengembang.  Dengan kata lain, dalam tahapn ini dilakukan analisa kebutuhan, kemdian diverifikasi klien dan tim SQA.
  • Specification
Dokumentasi spesifikasi, kemudian diperiksa oleh tim SQA.  Selanjutnya jika disetujui oleh klien, maka dokumen tersebutmerupakan kontrak kerjaantaraklien dan pengembang s0ftware.  Selanjutnya merencanakan jadwal pengembangan software. Jika disetujui oleh SQA, tahap desain baru dilakukan.
Design
Proses design sistem membagi kebutuhan-kebutuhan menjadi sistem perangkat lunak atau perangkat keras.  Proses tersebut menghasilkan sebuah arsitektur keseluruhan. Desain perangkat lunak termasuk menghasilkan fungsi sistem perangkatlunak dalam bentuk yang mungkin ditransformasi kedalam satu atau lebih program yang dapat dijalankan.  Tahapan ini telah menentukan alur software hingga pada tahap algoritma detail.  Di akhir tahap ini, kembali diperksa tim SQA.
  • Implementation
Selama tahap ini, desain perangkat lunak disadari sebagai sebuah program lengkap atau unit program.  Desain yang telah disetujui, diubah dalam bentuk kode-kode program.  Tahap ini, kode-kode program yang dihasilkan masih pada tahap modul-modul. Diakhir tahap ini, tiap modul di testing tanpa diintegrasikan.
  • Integration
Unit program diintegrasikan dandiuji menjadi sistem yang lengkap untuk meyakinkan bahwa persyaratan perangkat lunak telah dipenuhi.  Setelah uji coba, sistem disampaikan ke konsumen.
  • Operaton mode & retirement
Normalnya, ini adalah tahap yang terpanjang.  Sistem dipasang dan digunakan. Pemeliharaan termasuk pembetulan kesalahan yang tidak ditemukan pada langkah sebelumnya.  Perbaikan inmplementasi unit sistem dan peningkatan jasa sistem sebagai kebutuhan baru ditemukan.

Setiap tahap dari modelini menggunakan Document Drivent, yaitu tahap selanjutnya selalu bekerja berdasarkan dokumen yang telah diberikan sebelumnya.
Tahapan pada waterfall model tidak akan selesai jika tidak disetujui SQA.  Modifikasi pada tahap tertentu (tidak sesuai dengan dokumen sebelumnya), proses harus kembali pada tahap sebelumnya untuk penyesuaian dan peninjauan ulang.

Dalam prakteknya, setiap langkah sering tumpang tindih dan saling memberi informasi satu sama lain.  Proses perangkat lunak tidak linierdan sederhana,  tapi mengandung urutan iterasi dari aktifitas pengembangan.  Selama di langkah terakhir, perangkat lunak telah digunakan.  Kesalahan dan kelalaian dalam menentukan kebutuhan perangkat lunak original dapat diatasi.

Sayangnya model yang banyak mengandung iterasi, sehingga membuat sulit bagi pihak manajemen untuk memeriksa seluruh rencana dan laporan.  Maka dari itu, setelah sedikit iterasi, biasanya bagian yang telah dikembangkan akan dihentikan dan dilanjutkan dengan langkah pengembangan selanjutnya.

Masalah-masalah selama resolusi selanjutnya, dibiarkan atau diprogram.  Pemberhentian yang prematur dari persyaratan akan berarti bahwa sistem tidak akan sesuai dengan keinginan user.  Mungkin juga sistem terstruktur secarajelek yang sebenarnya merupakan masalah deain akan dibiarkan karenaterkalahkan olehtrik implementasi.
Masalah pendekatan waterfall adalah ketidakluwaesan pembagian proyek ke dalam langkah yang jelas/nyata.  Sistem yang disampaikan kadang-kadang tidak dapatdigunakan sesuai keinginan konsumen.  Namun demikian, model waterfall mencerminkan kepraktisan rekayasa.  Konsekuensinya, model proses perangkat lunak yang berdasarkan pada pendekatan ini, digunakan dalam pengembangan sistem perangkat lunak dan hardware yang luas.

2. Prototype Model


Salah satu metode siklus hidup sistem yang didasarkan pada konsep model bekerja (working model). Tujuannya adalah mengembangkan model menjadi sistem final. Artinya sistem akan dikembangkan lebih cepat daripada metode tradisional dan biayanya menjadi lebih rendah. Ciri khas dari metodologi adalah pengembang sistem (system developer), klien, dan pengguna dapat melihat dan melakukan eksperimen dengan bagian dari sistem komputer dari sejak awal proses pengembangan.
Salah satu hal terpenting mengenai metodologi ini, cepat atau lambat akan disingkirkan dan hanya digunakan untuk tujuan dokumentasi.  Kelemahannya adalah metode ini tidak memiliki analisis dan rancangan yang mendalam yang merupakan hal penting bagi sistem yang sudah kokoh, terpercaya dan bisa dikelola. Jika seorang pengembang memutuskan untuk membangun jenis prototipe ini, penting untuk memutuskan kapan dan bagaimana ia akan disingkirkan dan selanjutnya menjamin bahwa hal tersebut telah diselesaikan tepat pada waktunya..

Share with your friends

Give us your opinion

Notification
This is just an example, you can fill it later with your own note.
Done
close