Mohon tunggu...
Fajar Dewantoro
Fajar Dewantoro Mohon Tunggu... Akuntan - Mahasiswa Magister Akuntansi Universitas Mercu Buana

NIM: 55522110018 Mata Kuliah: Audit Sistem Informasi Dosen Pengampu: Prof. Dr. Apollo, M.Si., Ak. Program Studi: Magister Akuntansi Fakultas Ekonomi dan Bisnis Universitas Mercu Buana

Selanjutnya

Tutup

Ilmu Alam & Tekno

Kuis 4 Audit Sistem Informasi Prof. Apollo: Software Developement Life Cycle (SDLC)

29 September 2023   11:11 Diperbarui: 29 September 2023   11:12 245
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.

Software Development Life Cycle (SDLC) atau Siklus Hidup Pengembangan Perangkat Lunak adalah proses yang menjelaskan metode dan strategi seperti bagaimana mengembangkan desain dan memelihara proyek perangkat lunak untuk memastikan bahwa semua tujuan, sasaran, fungsi dan kebutuhan pengguna terpenuhi. SDLC harus menghasilkan perangkat lunak berkualitas tinggi yang memenuhi harapan klien, mencapai penyelesaian sesuai tenggat waktu dan perkiraan biaya, serta bekerja secara efektif dan efisien (Kushwaha et al, 2006).

Model Siklus Hidup pengembangan perangkat lunak (Software development Life Cycle models) oleh (Arora dan Arora, 2016):

 1. Waterfall Development 

Waterfall Development  sebagian besar direncanakan dengan menggunakan diagram Gantt yaitu kita menyelesaikan satu fase dan kemudian menyelesaikannya pindah ke fase berikutnya. Model ini tidak akan pernah meninjau kembali suatu fase setelah fase tersebut selesai. Pendekatan dasar metode Waterfall Development adalah menetapkan stabilitas persyaratan. Persyaratannya menentukan informasi, fungsi, perilaku, kinerja, dan antarmuka yang dibutuhkan. Desainnya terdiri dari arsitektur perangkat lunak, representasi antarmuka, dan implementasinya berdasarkan sumber pengujian.

Model tahapan SLDC Waterfall Development:

Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database,. Tahap ini sering disebut dengan Analysis.

Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dsb. Dari aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan. Tahap ini  disebut dengan Software Requirements Analysis.

Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software. Tahap ini  disebut dengan Design.

Desain yang telah dibuat kemudian diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer. Tahap ini  disebut dengan Coding.

Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya  Tahap ini  disebut dengan Testing

Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya Tahap ini  disebut dengan Operation and Maintenance.

Keuntungan dari pendekatan Waterfall Development adalah

Sederhana dan mudah digunakan dan dipahami.

Fase-fasenya tidak tumpang tindih sehingga pengelolaannya dilakukan dengan sangat efisien.

Bekerja sangat baik untuk proyek kecil.

Hambatan dalam pendekatan Waterfall Development adalah

 Tidak dapat meminta persetujuan dari pengguna sampai akhir

Keberhasilan proyek tidak dapat ditentukan sampai akhir.

Kapan menggunakan metode Waterfall Development : Model ini paling cocok jika semua persyaratannya jelas, tetap, dan sangat tidak diketahui.

Definisi produk dan teknologi dipahami dengan baik: Jangka waktu proyek pendek.

2. Agile Development 

Agile Development adalah model iteratif di mana fase-fase proyek berjalan secara bersamaan, yaitu secara paralel. Persyaratan berkembang pada tahap mana pun di fase mana pun. Ada banyak kerangka tangkas yang masing-masing memiliki struktur empiris yang sama (Jovanovich, D., Dogsa, T ,2003).

Keuntungan dari pendekatan Agile Development adalah

Perubahan dapat dimasukkan dengan sangat mudah.

Tanpa perencanaan ulang yang besar, perubahan biaya dapat ditangani dengan baik.

Keterlibatan tim yang konstan.

Kerugian dari pendekatan Agile Development adalah

Lebih sering terjadi masalah pada struktur tim dibandingkan masalah perencanaan.

Dubious planning date

Kapan menggunakan Agile Development: Ketika ada kebutuhan terus-menerus untuk memasukkan perubahan dan Ketika pengembang dan pemangku kepentingan mempunyai kebebasan yang sama untuk menyarankan perubahan.

 3. Scrum Development

Scrum Development adalah kombinasi metodologi pengembangan perangkat lunak tangkas yang berulang dan bertahap untuk mengelola pengembangan produk. Fokusnya adalah menghadirkan fitur-fitur kecil yang mandiri dan berharga. Setiap fitur bersifat independen satu sama lain jika salah satu fitur bermasalah maka fitur lainnya tidak terpengaruh (Shikha maheshwari, Dinesh Ch. Jain dkk, 2012)

Keuntungan dari pendekatan Scrum Development adalah

Menjadikan proyek ekonomis dan memungkinkan penggunaan waktu secara efisien.

Karena umpan balik yang konstan, perubahan dapat digabungkan dengan mudah

Kerugian dari pendekatan Scrum Development  adalah

Umpan balik yang berkelanjutan terus menuntut fungsionalitas baru.

Manajemen kualitas proyek sulit diterapkan.

Bekerja dengan baik hanya dengan tim kecil.

Kapan menggunakan Scrum Development : Ketika permintaan mempunyai prioritas tinggi dan memerlukan penyelesaian yang tinggi dan Ketika prosesnya bersifat siklus, yaitu perencanaan untuk sprint berikutnya yang tumpang tindih dengan pekerjaan pada topik saat ini.

4. Spiral Development 

Menggabungkan fitur-fitur model SDLC berulang dan salah satu, kerangka kerja baru yang disebut spiral dikembangkan. Model dimulai dengan menentukan tujuan dan batasan perangkat lunak.

Keuntungan dari pendekatan Spiral Development adalah

Sangat efisien untuk proyek-proyek besar dan penting.

Perangkat lunak diproduksi pada awal kehidupan pengembangan siklus.

Kerugian dari pendekatan Spiral Development  adalah

Tidak cocok untuk proyek kecil.

Mahal untuk jangka pendek.

Kapan menggunakan Spiral  Development : Persyaratannya rumit dan Ketika penelitian dan eksplorasi terlibat.

5.V-Model 

Dalam model ini kami menguji perangkat lunak pada setiap tahap dengan cara terbalik. Rencana pengujian dan kasus pengujian dibuat di setiap tahap untuk memverifikasi dan memvalidasi produk sesuai dengan kebutuhan setiap tahap. Oleh karena itu, verifikasi dan validasi berjalan secara paralel.

Keuntungan dari pendekatan V-Model adalah

Sederhana dan mudah digunakan.

Perencanaan, perancangan terjadi jauh sebelum pengkodean.

Kerugian dari pendekatan V-Model adalah

Kekakuan tinggi dan fleksibilitas rendah.

Tidak ada prototipe awal yang diproduksi.

Kapan menggunakan V-Model : Ketika sumber daya teknis yang memadai tersedia memerlukan keahlian teknis dan Persyaratan didefinisikan dan dipahami dengan jelas.

Pemilihan model SDLC yang tepat tergantung pada kebutuhan proyek dan lingkungan pengembangan. Model Waterfall mengharuskan setiap tahap selesai sebelum memulai tahap berikutnya, sementara model Agile berfokus pada pengembangan iteratif dan inkremental. Beberapa proyek mungkin lebih cocok untuk model tradisional seperti Waterfall, sementara yang lain lebih cocok dengan pendekatan Agile yang lebih fleksibel.

Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H

HALAMAN :
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
Mohon tunggu...

Lihat Konten Ilmu Alam & Tekno Selengkapnya
Lihat Ilmu Alam & Tekno Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun