Pengertian dan Tahapan SDLC beserta Modelnya

Diposting pada

tahapan-sdlc

Pengertian  SDLC (Software Development Life Cycle)

System Development Life Cycle (SDLC) adalah proses yang digunakan oleh analis sis tern untuk mengembangkan sis tern informa si mulai dari pereneanaan, pentuan kebutuhan, peraneangan, validasi, sampai pelatihan, dan penyerahan kepada konsumen.

SDLC mcrupakan alur kerja yang biasa dipakai oleh p crus aha a n- perusahaan vendor software dalam mengembangkan software aplikasi produksinya. SDLC tidak hanya penting untuk proses produksinya softwarenya saja, namun tcrlebih juga penting untuk proses maintenance software itu sendiri.


Baca Juga Artikel Yang Mungkin Berhubungan : Pengertian dan Macam Perangkat Lunak Beserta Fungsinya


Sejarah SDLC (Software Development Life Cycle)

Pada awal pengembangan perangkat lunak para programmer langsung melakukan coding tanpa mengikuti prosedur dan tahapan pengembangan perangkat lunak. Makadari itu sering ditemui masalah saat pengembangan sistem yang lebih besar.

SDLC dimulai dari tahun 1960-an, untuk mengembangkan sistem skala usaha besar secara fungsional untuk para konglomerat pada jaman itu. Sistem-sistem yang dibangun mengelola informasi kegiatan dan rutinitas dari perusahaan-perusahaan yang nantinya akan memiliki jumlah data yang sangat banyak seiring berkembangnya sistem yang berjalan.

SDLC atau Software Development Life Cycle atau sering disebut juga System Development Life Cycle adalah proses mengembangkan atau mengubah suatu sistem perangkat lunak yang memakai metodologi yang dipakai oleh orang untuk mengembangkan sistem-sistem perangkat lunak sebelumnya, berdasarkan pengalaman terbaik atau cara-cara yang sudah pasti terjamin sangat baik. Seperti halnya proses perubahan pada seseorang, untuk menjadi orang yang sukses maka dibutuhkan beberapa tahap untuk dilalui, sama halnya dengan membuat perangkat lunak, memiliki proses yang dilalui agar dapat menghasilkan perangkat lunak yang berkualitas.


Baca Juga Artikel Yang Mungkin Berhubungan : Pengertian Perangkat Lunak (Software) Komputer Beserta Fungsinya


Tahapan  SDLC (Software Development Life Cycle)

Tahapan-tahapan yang ada pada SDLC secara umum adalah sebagai berikut:

  1. Inisiasi (initiation
    Tahap ini biasanya ditandai dengan pembuatan proposal proyek perangkat lunak.
  2. Pengembangan konsep sistem (system concept development)
    mendefinisikan lingkup konsep termasuk dokumentasipengembangan sistem pada analisis lingkup area sistem dan memanajemen rencana  dan mempelajari cara kerja sisitem.
  3. Perencanaan (planning)
    Membuat perencanaan terhadap pekerjaan dan berkas perencanaan yang lainnya. Menyediakan dasar untuk mendapatkan sumber daya (resources) yang dibutuhkan untuk memperoleh solusi.
  4. Analisis kebutuhan (requirements analysis)
    Analisa terhadap kebutuhan pengguna sistem perangkat lunak (user) dan mengembangkan kebutuhan user. Membuat dokumen kebutuhan fungsional.
  5. Desain (design)
    Mentransformasikan kebutuhan secara terinci, dokumen desain sistem focus pada bagaimana dapat memenuhi fungsi-fungsi yang dibutuhkan oeleh sistem.
  6. Pengembangan (development)
    Mengubah perancangan ke sistem informasi yang kompleks dan bagaimana mendapatkan dan melakukan penginstalan lingkungan sistem yang diharapkan; membuat basis data dan menyiapkan standar prosedur pada saat pengujian, menyiapkan dokumen atau file coding, testing, compile, repair dan cleaning program.
  7. Integrasi dan pengujian (integration and test)
    mepresentasikan sistem perangkat lunak yang telah memenuhi keadaan yang dispesifikasikan pada dokumen kebutuhan fungsional. Dengan diarahkan oleh bagian penjamin mutu (quality assurance) dan user. Menghasilkan pelaporan analisis dari pengujian.
  8. Implementasi (implementation)
    Termasuk pada persiapan implementasi, pelaksanaan perangkat lunak pada area produksi (area pada user) dan menjalankan resolusi dari problem yang terdeteksi dari tahap integrasi dan pengujian.
  9. Operasi dan pemeliharaan (operations and maintenance)
    Menjelaskan tentang pekerjaan untuk menjalankan dan memaintenance sistem informasi pada area Produksi (lingkungan pada user), termasuk implementasi akhir dan masuk pada proses peninjauan.
  10. Disposisi (Disposition)
    Mendeskripasikan aktifitas dari pengembangan sistem dan membangun data yang sesungguhnya sesuai dengan aktifitas user.

Baca Juga Artikel Yang Mungkin Berhubungan : Pengertian dan Sejarah Linux beserta Kelebihannya


Model SDLC (Software Development Life Cycle)

Model waterfall

Model waterfall adalah proses pengembangan perangkat lunak tradisional yang umum digunakan dalam proyek-proyek perangkat lunak yang paling pembangunan. Ini adalah model sekuensial, sehingga penyelesaian satu set kegiatan menyebabkan dimulainya aktivitas berikutnya. Hal ini disebut waterfall karena proses mengalir “seeara sistematis dari satu tahap ke tahap lainnya dalam mode ke bawah. Membentuk kerangka keija untuk pengembangan perangkat lunak. Beberapa varian dari model ada, setiap label yang berbeda menggunakan untuk setiap tahap. Seeara umum, bagaimanapun, model ini dianggap mcmiliki enam tahap yang berbeda seperti yang ditunjukkan pada gambar 2.1 yaitu: analisis Kebutuhan, desain, implementasi, verifikasi, instalasi dan pemeliharaan.

a. Tahapan Model Waterfall

Tahapan Model Waterfall

  1. Kcbutulian berbasis Pengujian
    Tahap ini melibatkan pengumpulan informasi mcngcnai solusi akhir dari kebutuhan pelanggan pelanggan dan pemahaman. Ini melibatkan definisi yang jelas tentang tujuan pelanggan, harapan terhadap proyek dan masalah produk akhir diharapkan untuk memecahkan.
  2. Desain
    Tahap desain mclibatkan mcndcfinisikan pcrangkat kcras dan pcrangkat lunak arsitcktur, menentukan kincrja dan parameter keamanan, merancang kontainer penyimpanan data dan kendala, memilih IDE dan bahasa pemrograman, dan menunjukkan strategi untuk menghadapi masalah-masalah seperti penanganan eksepsi, pengelolaan sumber daya dan konektivitas antarmuka.
  3. Implementasi
    Di sinilah perkembangan aktual sistcm tcrjadi scsuai dcngan spesifikasi desain. Langkah ini dilakukan olch pcngcmbang, desainer interface dan stakeholder lainnya dcngan menggunakan alat seperti compiler, debugger, penerjemah dan editor media. Output dari langkah ini adalah komponen produk satu atau lebih yang dibangun berdasarkan standar yang telah ditetapkan coding dan perbaikan, pengujian dan terintegrasi untuk mcmcnuhi kebutuhan arsitektur system.
  4. Pengujian: Verifikasi dan Validasi
    Pada fase ini kedua komponen individu dan solusi terintegrasi yang diverifikasi untuk mclihat itu adalah bug gratis dan memcnuhi spcsifikasi kcbutuhan perangkat lunak. Tester adalah stakeholder yang terlibat dalam fase model. Uji kasus ditulis untuk mengevaluasi apakah sistem sepenuhnya atau sebagian memenuhi persyaratan sistem. Pengujian dapat dikategorikan ke dalam unit testing (dilakukan pada modul tertentu kode), sistem pengujian (untuk melihat bagaimana sistem bereaksi ketika semua modul yang terintegrasi) dan pencrimaan pengujian (dilakukan dengan atau nama pelanggan untuk melihat apakah semua kcbutuhan pelanggan puas). Caeat yang ditemukan pada tahap ini diberikan sebagai umpan balik kepada para pengembang yang pada gilirannya memperbaiki masalah.
  5. Maintenance
    – Instalasi. Langkah ini mclibatkan penyusunan sistcm atau produk untuk instalasi dan penggunaan di lokasi pelanggan. Pengiriman produk dilakukan mclalui internet atau mclalui metodc fisik. Sejumlah revisi biasanya ditandai samping diserahkan untuk memfasilitasi update atau perubahan pada tahap berikutnya.
    – Pemeliharaan. Tahap ini mclibatkan membuat modifikasi pada sistcm atau komponen individu untuk mengubah atribut atau meningkatkan kinerja system.

b. Keuntungan dari Model Waterfall

  1. Kualitas dari sistem Icbih baik. Ini dikarenakan oleh pelaksanaannya sccara bcrtahap. Sehingga tidak terfokus pada tahapan tertentu.
  2. Document pengembangan system sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebclum melangkah kc fasc berikutnya. Jadi setiap fase atau tahapan akan mempunyai dokumcn tertentu.
  3. Mctode ini masih Icbih baik digunakan walaupun sudah tergolong kuno, daripada menggunakan pendekatan asal-asalan. Sclain itu, mctode ini juga masih masuk akal jika kebutuhan sudah diketahui dengan baik.

c. Kerugian dari Model Waterfall

  1. Diperlukan majcmcn yang baik, karena proses pengembangan tidak dapat dilakukan secara berulang sebclum terjadinya suatu produk.
  2. Kesalahan kccil akan menjadi masalah besar jika tidak diketahui sejak avval pengembangan yang berakibat pada tahapan selanjutnya.
  3. Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat mengakomodasi ketidak pastian pada saat awal pengembangan.
  4. Pelanggan harus sabar, karena pembuatan perangkat lunak akan dimulai ketika tahap desain sudah selesai. Sedangkan pada tahap sebelum desain bisa mcmakan waktu yang lama.

Model Prototyping

Prototype adalah proses membangun sebuah sistem dalam sebuah model. Dalam pengertian sistem informasi prototype digunakan untuk mcmbantu sistem desain yang akan dibangun sistem informasi secara intitusi dan mudah diubah untuk end user, prototipe mcrupakan bagian dari proses iterative phase analisa dari metodologi SDLC (Sistem Development Life Cycle).

a. Cara Kerja Prototype

  • Pengumpulan Kebutuhan
    Developer dan klien akan bertemu terlcbih dahulu dan kemudian mcncntukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya
  • Perancangan
    Pcrancangan dilakukan dengan eepat dan rancangan tersebut mewakili semua aspek software yang diketahui, dan rancangan ini menjadi dasar pembuatanproto type.
  • Evaluasi Prototype
    Klien akan mengevaluasi prototype yang dibuat dan digunakan untuk memperjelas kebutuhan software

b. Tahapan Model Prototype

Tahapan Model Prototype

  • Pengumpnlankeblituhan
    Pelanggan dan pengembang bersama-sama mendefmisikan format dan kebutuhan keseluruhan perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
  • Membangun prototyping
    Membangun prototyping dengan membuat perancangan sementara yang berpusat pada penyajian kepada pelanggan (misalnya dengan membuat input dan eontoh outputnya).
  • Evaluasiprotoptyping
    Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan keinginan pelanggan. Jika sudah sesuai maka langkah keempat akan diambil. Jika tidak, maka prototyping diperbaiki dengan mengulang langkah 1,2, dan 3.
  • Mengkodekan system
    Dalam tahap ini prototyping yang sudah disepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.
  • Menguji system
    Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu scbelum digunakan. Pcngujian ini dilakukan dengan White Box, Black Box, Basis Path, pcngujian arsitektur dan lain-lain.
  • Evaluasi Sistem
    Pelanggan mengevaluasi apakah sistem yang sudahjadi sudah sesuai dengan yang diharapkan . Jika sudah, maka langkah ketujuh dilakukan, jika belum maka mcngulangi langkah 4 dan 5.
  • Menggunakan system
    Perangkat lunak yang telah diuji dan ditcrima pclanggan siap untuk digunakan.

Model RAD (Rapid Application Development)

Model RAD (Rapid Application Development) mcrupakan metode pengembangan sistem secara linear sequential yang menekankan pada siklus pcngembangan yang sangat singkat. Jika kcbutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang Utah” dalam periode vvaktu yang sangat pendek (kira-kira 60-90 hari). Pcmakai sistem dapat mendefinisikan kcbutuhan perangkat lunak dengan baik. Pcmakai sistem bersedia mcluangkan waktu yang cukup untuk berkomunikasi intensif dengan pengembang schubungan dengan pengembangan perangkat lunak

a. Tahapan Model RAD

Tahapan Model RAD

  • Basiness modeling
    Pada tahap ini, aliran informasi (information flow) pada fungsi-fungsi bisnis dimodclkan untuk mcngetahui informasi apa yang mengendalikan proses bisnis, informasi apa yang basilkan, siapa yang membuat informasi itu, kcmana saja informasi mcngalir, dan siapa yang mengolahnya.
  • Data modeling
    Aliran informasi yang didefinisikan dari business modeling, disaring lagi agar bisa dijadikan bagian-bagian dari objck data yang dibutuhkan untuk mendukung bisnis tersebut. Karakteristik (atribut) sctiap objck ditentukan beserta relasi antar objeknya.
  • Process modelling
    Objek-objek data yang didefinisikan sebelumnya diubah agar bisa menghasilkan aliran informasi untuk diimplementasikan menjadi fungsi bisnis. Pengolahan deskripsi dibuat untuk menambah, merubah, menghapus, atau mengambil kembali objek data.
  • Application generation
    RAD bckerja dcngan mcnggunakan fourth generation techniques (4GT). Schingga pada tahap ini sangat jarang digunakan pemrograman konvensional mcnggunakan bahasa pemrograman gcnerasi kctiga (third generation programming languages), tetapi lebih ditekankan pada reuse komponen-komponen (jika ada) atau membuat komponen bam (jika pcrlu). Dalam semua kasus, alat bantu untuk otomatisasi digunakan untuk memfasilitasi pembuatan perangkat lunak.
  • Testing and turnover
    Karena menekankan pada penggunaan kcmbali komponen yang tclah ada (reuse), sebagian komponen-komponen terse but sudah diuji sebclumnya. Schingga mengurangi waktu testing secara keseluruhan. Kccuali untuk komponen-komponen barn.

b. Keuntungan dari Model RAD

RAD mcmpunyai keuntungan yang dapat disimpulkan sebagai berikut:

  • Sangat berguna dilakukan pada kondisi user tidak memahami kebutuhankcbutuhan apa saja yang digunakan pada proses pengembangan perangkat lunak.
  • RAD mengikuti tahapan pengembangan sistcm scpcti umumnya, tetapi mcmpunyai kemampuan untuk menggunakan kcmbali komponen yang ada (reusable object) schingga pengembang tidak perlu membuat dari awal lagi dan waktu lebih singkat berkisar antara 60 hari90 hari.
  • Karena mempunyai kemampuan untuk menggunakan komponen yang sudah ada dan waktu yang lebih singkat maka membuat biaya menjadi lebih rendah dalam menggunakan RAD

c. Kekruangan dari Model RAD

  • Untuk proyek dcngan skala besar, RAD membutuhkan sumbcr daya manusia yang cukup untuk mcmbentuk sejumlah tim RAD.
  • RAD membutuhkan pengembang dan pemakai yang mempunyai komitmen untuk melaksanakan aktivitas melengkapi sistem dalam kerangka vvaktu yang singkat.
  • Akan menimbulkan masalah jika sistem tidak dapat dibuat sccara modular.
  • RAD tidak eocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi.
  • Proyek akan menemukan kcndala bila Tim pengembang gagal menentukan pemodel data (Kesulitan Integrasi sistem) .

Model Iterative

Mcrupakan model pengembangan sistem yang bersifat dinamis dalam artian setiap tahapan proses pengembangan sistem dap at diulang jika ter da pat kekurangan atau kesalahan. Setiap tahapan pengembangan system dapat dikerjakan berupa ringkasan dan tidak lengkap, namun pada akhir pengembangan akan didapatkan sistem yang lengkap pada pengembangan system.

Iterative Development berarti menciptakan versi yang Icbih fungsional dari sebuah system dalam siklus pembangunan pendek. Setiap versi ditinjau dengan klicn untuk mcnghasilkan persyaratan untuk membuat versi berikutnya. Proses ini diulang sampai semua fungsionalitas telah dikembangkan. Panjang ideal iterasi adalah antara satu hari (yang Icbih dekat dengan Metodologi Agile) dan tiga minggu. Setiap siklus pcngcmbangan memberikan pengguna kesempatan untuk memberikan umpan balik,mcmpcrbaiki persyaratan, dan kcmajuan melihat (dalam pertemuan sesi fokus grup). Hal ini akhirnya pembangunan berulang yang mcmccahkan masalah yang melekat dalam metodologi fleksibel dibuat pada 1970an.

a. Tahapan Model Iterative

Tahapan Model Iterative

  • Customer communication
    Aktivitas yang dibutuhkan untuk membangun komunikasi yang efektif antara developer dengan user / customer terutama mengenai kebutuhan dari customer.
  • Planning
    Aktivitas pereneanaan ini dibutuhkan untuk mcnentukan sumberdaya, perkiraan vvaktu pengeijaan, dan informasi lainnya yang dibutuhkan untuk pengembangan software.
  • Analysis risk
    Aktivitas analisis resiko ini dijalankan untuk menganalisis baik resiko seeara teknikal maupun seeara manajerial. Tahap inilah yang mungkin tidak ada pada model proses yangjuga menggunakan metode iterasi, tetapi hanya dilakukan pada spiral model.
  • Construction & Release
    Aktivitas yang dibutuhkan untuk develop software, testing, instalasi dan penyediaan user/ costumer support seperti training penggunaan software serta dokumentasi seperti buku manual penggunaan software.
  • Customereva Iution
    Aktivitas yang dibutuhkan untuk mendapatkan feedback dari user/ customer berdasarkan evaluasi mereka selama representasi software pada tahap engineering maupun pada implementasi selama instalasi software pada tahap construction and release.

b. Keuntungan Model Iterative

  • Beberapa fungsi dapat di kembangkan dengan cepat di awal pcmbuatan versi bam.
  • basil vangdi peroleh sccara bcrkala.
  • Kcmajuan scbuah sistcm dapat di nkur.
  • Development software mudah di rcncanakan.
  • Biaya yang dikcluarkan kecil apabila ingin mcrubah requirement.
  • Testing dan debugging selama proses iterasi lebih mudah.
  • Analisis resiko yang lebih baik.
  • Mendukungpembahan requirement.
  • Waktu operasional yang lebih singkat.
  • Coeok untuk project besar.

c. Kekurangan Model Iterative

  • Membutuhkan resource yang cukup banyak.
  • Meski biaya perubahan rendah, tetapi sangat tidak cocok untuk mengubah persavaratan.
  • Memerlukan Perhatian manajemen
  • Permasalahan sistcm arsitektur dan desain mungkin akan timbul, karcna tidak semua persyaratan di tcntukan di avval pcngambangan sistcm. tidak cocok untnk project kecil.
  • Kompicksitas manajemen.
  • Membutuhkan tcnaga ahli untnk analisis rcsiko yang timbul.

Ada banyak sekali model yang ada pada sistem SDLC tetapi kembali lagi kepada karakter customer dan pengembang karena jika salah memilih metode akan sulit dalam pengembangan sistem. Karna setiap metode pengembangan sistem memiliki kelebihan dan kekurangan.