Senin, 09 April 2012

SDLC


SDLC     
            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. Metode SDLC sering dinamakan proses pemecahan masalah, yang langkah-langkahnya adalah sebagai berikut :
1.      Melakukan survei agar mempunyai gambaran sistem informasi yang sedang berjalan.
2.      Mempelajari dan menganalisis sitem yang tidak berjalan.
3.      Menentukan permintaan pemakai system informasi.
4.      Memilih solusi atau pemecahan masalah yang paling baik.
5.      Menentukan perangkat keras dan lunak komputer.
6.      Merancang system informasi baru.
7.      Membangun system informasi baru.
8.      Mengkomunikasikan dan mengimplementasikan system informasi baru.
9.      Memelihara dan melakukan perbaikan atau meningkatkan system informasi baru bila diperlukan.

adapun tahapan siklus hidup pengembangan sistem SDLC (System Development Life Cycle) antara lain :


1. Survey dan Perencanaan Sistem (System Planning)
Tahap ini melakukan survey agar mempunyai gambaran perangkat lunak
sistem informasi yang sedang berjalan. Perencanaan Sistem merupakan pedoman
untuk melakukan pengembangan sistem. Dengan adanya perencanaan sistem,
pengembangan sistem diharapkan dapat berjalan dengan baik.
2. Analisis Sistem (System Analysis)
Tahap ini mencakup penentuan lingkup sistem database yang diusulkan,
menentukan garis batas sistem dan pengumpulan data, menentukan persyaratan
hardware dan software serta mengindentifikasi kebutuhan informasi para pemakai
3. Desain Sistem (System Design)
Desain sistem merupakan tahapan untuk mendefinisikan kebutuhankebutuhan
fungsional mempersiapakan rancang bangun implementasi,
menggambarkan sistem yang akan dibentuk serta mengkonfigurasi komponenkomponen
perangkat lunak dan perangkat keras dari suatu sistem.
4. Pembuatan Sistem
Perancangan sistem yang dikembangkan dari desain yaitu termasuk tahap
pemograman. Tahap pemograman adalah menterjemahkan skema fisik kedalam
struktur database yang akan menjadi sistem final atau akhir. Pada tahap ini
dilakukan pembuatan program komputer atau program aplikasi yang baru atau
modifikasi program aplikasi yang telah ada sebelumnya.
5. Implementasi Sistem (System Implementation)
Implementasi sistem merupakan tahap meletakkan sistem supaya siap
untuk dioperasikan. Adapun langkah – langkahnya antara lain :
a. Menerapkan rencana implementasi
      b. Melakukan kegiatan implementasi  
c. Tindak lanjut implementasi
6. Pemeliharaan Sistem (System Maintenace)
Pada tahap ini mencakup seluruh aktivitas yang berkaitan dengan
penggunaan dan pemeliharaan sistem database yang baru. Kegiatannya mencakup
pemantauan kinerja dan kepuasan pemakai terhadap sistem baru agar dapat
menentukan perlu tidaknya sistem tersebut direvisi atau dimodivikasi.

Metode Sistem Deveplopment life cycle terstruktur
(sumber: Tata Sutabri, 2004)
            Sedangkan  menurut Henry C. Lucas Junior merupakan suatu bentuk yang digunakan untuk menggambarkan tahapan utama dan langkah-langkah di dalam tahapan dalam proses pengembangannya. Pada system life cycle tiap-tiap bagian dari pengembangan sistem dibagi menjadi beberapa tahapan kerja. Tiap-tiap tahapan ini mempunyai karakteristirk tersendiri, tahapan utama siklus hidup pengembangan sistem dapat terdiri dari tahapan perencanaan sistem (system planning), analisis sistem(system analysis), desain sistem (system desain), seleksi sistem (system selection), implementasi sistem (system implementation), dan perawatan sistem (system maintenace). Yang mempunya tahapan – tahapan sebagai berikut :

1. Inception (Tahap Persiapan)
Pekerjaan (Action) : Preliminary Study (Studi Awal)
Tugas (Task) :
  1. Respond to idea for a system (Tanggapan terhadap ide sebuah sistem) : Merespon rencana, persiapan dan definisi proyek sistem apa yang ingin dikerjakan atau mengulas permasalahan mengapa sistem baru perlu dibuat.
  2. Sketch outline of system,  I / O & Files : Mendefinisikan gambaran besar sistem yaitu membuat sketsa input, output dan file yang akan dikerjakan.
2. Feasibility Study (Tahap Studi Kelayakan)
Pekerjaan (Action) : Existing Procedure (Identifikasi kelayakan prosedur-prosedur atau dokumen-dokumen yang telah ada), Alternative System (Menentukan kelayakan alternatif sistem) dan Cost Estimates (Menentukan kelayakan perkiraan biaya atas perlengkapan-perlengkapan yang akan dipakai).
Tugas (Task) :
1.      Describe existing methods of processing informations (if they exist) output, input, file processing : Menguraikan metode pengolahan informasi output, input dan pengolahan file yang telah ada (jika ada).
2.      Delineate software and hardware alternatif : Menggambarkan garis besar perangkat keras dan lunak alternatif yang dapat dipakai untuk mengatasi permasalahan yang diakibatkan oleh prosedur–prosedur yang ada saat ini.
3.      Determine feasibility : Melakukan perbandingan antara sistem yang ada saat ini dengan sistem baru yang akan dibuat, sehingga dapat disimpulkan kelayakan dari sistem baru yang akan diajukan. (Kelayakan ini menyangkut kelayakan atas teknik, operasi, jadwal, ekonomi, dan kelyakan hukum)
4.      Choose an alternative software and hardware combination : Menentukan suatu kombinasi (arsitektur jaringan) perangkat keras dan lunak pilihan yang akan dipakai untuk sistem yang diajukan.
3. System Analysis (Tahap Analisa Sistem)
Analisis Sistem dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya.
Pekerjaan (Action) : Details of present procedures (Menganalisa rincian langkah-langkah pengoperasian prosedur)
Tugas (Task) : Complete analysis of existing system and document it. Collect data on transaction and file volumes. Melengkapi identifikasi, pemahaman, analisa dan dokumentasi hasil analisis sistem yang telah ada. Menyeleksi data pada masing-masing volume transaksi dan arsip yang ada.
4. Requirement Analysis (Tahap Analisa Kebutuhan)
Pekerjaan (Action) : User Needs (Menganalisa para pemakai sistem dan kebutuhannya), Collection of  data  volume, I/O, file (Seleksi arsip, input/output dan volume data), Boundary setting (Mengidentifikasi kembali ruang lingkup dan sasaran sistem yang akan dibuat)
Tugas (Task) : Repeated meeting with users to determine their needs and to review design to date. Melakukan pertemuan berulang kali bersama pemakai dengan menampilkan disain yang ditawarkan dan untuk dapat menyimpulkan kebutuhannya atas sistem baru yang akan dibuat).
5. Design (Tahap Perancangan)
Pekerjaan (Action) : Ideal system unconstrained (Rancangan sistem yang ideal/mengena sebagaimana mestinya/bersifat tak terbatas), Revision to make ideal acceptable (Rancangan perbaikan untuk memberikan kepuasan ideal bagi pemakai sistem).
Tugas (Task) :
  1. Develop design from user requirement : Mengembangkan rancangan sesuai kebutuhan pemakai sistem dengan memperhatikan tekanan-tekanan desain seperti integrasi, jalur pemakai sistem, persaingan, kualitas dan daya guna informasi, faktor-faktor organisasi dan manusia, kebutuhan-kebutuhan sistem, pengolahan data, biaya efektivitas serta kelayakan.
  2. Choose strategy of packages, generator, non-procedurral language, prototyping and user development or some combination : Menentukan siasat atas software paket, software pembangkit, bahasa non prosedur, prototipe dan  perkembangan pemakai sistem atau kombinasi lainnya.
6. Specifications (Tahap Rancang Bangun)
Pekerjaan (Action) : Processing Logic (Menjabarkan logika pengolahan sistem), File design + I/O (Menjabarkan rancangan arsip, input dan output sistem), Programming Requirements (Menjabarkan kebutuhan pemrograman) dan Manual Procedures (Menjabarkan prosedur-prosedur manual sistem).
Tugas (Task) : Develop spesification as far as needed for choosen strategy : Mengembangkan penjabaran spesifik sejauh kebutuhan siasat yang ditentukan.
7. Programming (Tahap Pemrograman)
Pekerjaan (Action) : Programming (Mengkonversi sistem dalam bentuk program komputer).
Tugas (Task) : Develop program specification, module, schedule and work plan (Mengembangkan spesifikasi program, modul, jadwal dan rencana kerja).
8. Testing (Tahap Pengujian)
Pekerjaan (Action) : Unit Test + Combined Module Test (Melakukan pengujian pada unit-unit dan modul kombinasi yang telah ditentukan) dan Accpetance Test (Melakukan pengujian kepuasan atas pemakaian sistem).
Tugas (Task) : Conduct Unit, Combined Module and Acceptance test (Menjalan unit, modul kombinasi dan pengujian kepuasan pemakaian)
9. Training (Tahap Pelatihan)
Pekerjaan (Action) : Training
Tugas (Task) : Plan and Conduct (Merencanakan pelatihan dan penjalanan sistem)
10. Installation (Tahap Instalasi)
Pekerjaan (Action) : Conversion and installation (pemasangan sistem dan pengkonversinya).
Tugas (Task) : Plan, collect data and convert (Merencanakan, menentukan data dan mengkonversinya)
11. Operation (Tahap Operasi)
Pekerjaan (Action) : Maintenance and enhancements (Melakukan perawatan serta perbaikan dan peningkatan kualitas sistem).
Tugas (Task) : Routine maintenance and enhancements
12. Documentation (Tahap Dokumentasi)
Pekerjaan (Action) : Documentation.
Tugas (Task) : Mengarsipkan data terakhir sehingga bisa dilihat kembali.

Beberapa Model  Yang Terdapat Pada SDLC
1.      Waterfall
Waterfall, merupakan SDLC tertua karena sifatnya yang natural. Urutan SDLC waterfall ini bersifat serial dari proses perencanaan, analisa, desain, dan implementasi pada sistem. Model ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi 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.
Kelebihan :
-   Merupakan model pengembangan paling handal dan paling lama digunakan.
-   Cocok untuk system software berskala besar.
-   Cocok untuk system software yang bersifat generic.
-   Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol.
Kekurangan :
-   Persyaratan system harus digambarkan dengan jelas.
-   Rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah.
 Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu tahapan     pengembangan

2.     Model  prototyping
Prototype merupakan salah satu metode pengembangan perangat lunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem. Prototyping, dimulai dengan pengumpulan kebutuhan, mendefinisikan objektif keseluruhan dari software, mengidentifikasikan segala kebutuhan, kemudian dilakukan “perangcangan kilat” yang difokuskan pada penyajian aspek yang diperlukan.

Kelebihan :
-   Prototype melibatkan user dalam analisa dan desain.
-   Punya kemampuan menangkap requirement secara konkret daripada secara abstrak.
-   Untuk digunakan secara standalone.
-   Digunakan untuk memperluas SDLC.
-   Mempersingkat waktu pengembangan Sistem Informasi

Kekurangan :
-   Proses analisis dan perancangan terlalu singkat.
-   Mengesampingkan alternatif pemecahan masalah.
-   Bisanya kurang fleksible dalam mengahdapi perubahan.
-   Protitype yang dihasilkan tidak selamanya mudah dirubah
 Protype terlalu cepat selesai

3.   Iterasi
Kelebihan :
-   Dapat mengakomodasi jika terjadi perubahan pada tahapan pengembangan yang telah     dilaksanakan.
-   Dapat disesuaikan agar system bisa dipakai selama hidup software computer.
-   Cocok untuk pengembangan sistem dan perangkat lunak skala besar.
-   Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko  setiap tahapan karena system terus bekerja selama proses.

Kekurangan :
-   Hanya berlaku untuk Short-Lifetime system.
-   Tahapan proses tidak terlihat sedang berada ditahapan mana suatu pekerjaan.
-   Memerlukan alat ukur kemajuan secara regular.
-   Perubahan yang sering terjadi dapat merubah struktur system.
-   Memerlukan tenaga ahli dengan kemampuan tinggi.

4.   Rapid Application Development / RAD
Kelebihan :
-   RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object).
-  Setiap fungsi dapat dimodulkan dalam waktu tertentu dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga waktunya lebih efesien.

Kekurangan :
-   Tidak cocok untuk proyek skala besar.
-   Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi.
-   Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
-   Resiko teknis yang tinggi juga kurang cocok untuk model ini.

5.     Incremental Model
     Merupakan metode yang memberikan implementasi sebagai inisial proses kepada user untuk mendapatkan masukan balik. Serta terus melakukan eksplorasi per prototipe untuk pengembangan

Kekurangan
-       Batasan proses tidak jelas
-       Sistem kurang terstrukutur

Kemampuan Aplikasi
-       Untuk system dengan interaksi skala kecil dan medium
-       Untuk antarmuka user
-       Untuk system dengan masa penggunaan pendek

6.      Spiral Life Cycle
-       Mendefinisikan kebutuhan dengan sedetail mungkin
-       Pembuatan desain untuk sistem yang baru
-       Pembuatan prototipe dari pembuatan desain, pembuatan prototype selanjutnya berdasarkan evaluasi sebelumnya
-       Proses prototipe dilakukan berulang-ulang sampai customer puas
-       Sistem dibuat berdasarkan prototipe yang memuaskan customer
-       Sistem di tes dan dievaluasi



Kelebihan
-       Dapat digunakan untuk sistem yang besar
-       Sangat cocok sebagai mekanisme mengurangi resiko Kelemahan
-       Terlalu banyak memikirkan resiko yang akan terjadi
-       Masih jarang digunakan

Referensi:
http://itsum.wordpress.com/2010/09/27/kelebihan-dan-kekurangan-setiap-model-pada-software-development-life-cycle-sdlc/
http://sitiumiati.wordpress.com/2011/04/28/penjelasan-antara-sdlc-prototype-dan-waterfall/
http://gungariana.wordpress.com/2010/10/06/sdlc-menurut-henry-c-lucas-junior/
http://id.wikipedia.org/wiki/SDLC

0 komentar:

Posting Komentar