SIKLUS REKAYASA PERANGKAT LUNAK
(SDLC)
(SDLC)
1. Pengertian
SDLC atau Software Development Life Cycle adalah proses mengembangkan atau mengubah suatu sistem perangkat lunak dengan menggunakan model-model dan metodologi yang digunakan orang untuk mengembangkan sistem-sistem perangkat lunak sebelumnya (berdasarkan best practice atau cara-cara yang sudah teruji baik).
1. Inisialisasi (initiation)
2. Pengembangan konsep sistem (system concept development)
3. Perencanaan (planing)
4. Analisis kebutuhan (requirements analysis)
5. Desain (design)
6. Pengembangan (development)
7. Integrasi dan pengujian (integration and test)
8. Implementasi (implementation)
9. Operasi dan pemeliharaan (operation and maintenance)
10. Disposisi (disposition)
Konsep ini umumnya merujuk pada sistem komputer atau informasi. SDLC
juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak,
yang terdiri dari tahap-tahap: analisa (analysis), desain (design), implementasi
(implementation), uji coba (testing) dan pengelolaan (maintenance). Dalam rekayasaperangkat 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. Terdapat 3 jenis metode siklus hidup sistem yang paling banyak digunakan, yakni: siklus hidup sistem tradisional (traditional system life cycle), siklus hidup menggunakan protoyping (life cycle using prototyping), dan siklus hidup sistem orientasi objek (object-oriented system life cycle).
1.
Metode Pengembangan Perangkat Lunak (Spiral)
Pada artikel kali ini saya akan melanjutkan postingan
tentang salah satu metode pengembangan perangkat lunak yaitu metode PRL SPIRAL.
Model ini mengadaptasi dua model perangkat lunak yang ada yaitu model
prototyping dengan pengulangannya dan model waterfall dengan pengendalian dan
sistematikanya. Model ini dikenal dengan sebutan Spiral Boehm. Pengembang
dalam model ini memadupadankan beberapa model umum tersebut untuk menghasilkan
produk khusus atau untuk menjawab persoalan-persoalan tertentu selama proses
pengerjaan proyek.

Model
spiral (spiral model) adalah model
proses software yang evolusioner yang merangkai sifat iteratif dari prototipe
dengan cara kontrol dan aspek sistematis dari model sekuensial linier. Model
ini berpotensi untuk pengembangan versi pertambahan software secara cepat. Di
dalam model spiral, software dikembangkan di dalam suatu deretan pertambahan.
Selama awal iterasi, rilis inkremental bisa merupakan sebuah model atau
prototipe kertas. Selama iterasi berikutnya, sedikit demi sedikit dihasilkan
versi sistem rekayasa yang lebih lengkap.
Model
spiral dibagi menjadi sejumlah aktifitas kerangka kerja, disebut juga wilayah
tugas, di antara tiga sampai enam wilayah tugas. Tahap-tahap model tersebut dapat dijelaskan secara
ringkas sebagai berikut.
1.
Tahap Liason: pada tahap ini membangun komunikasi yang efektif
di antara pengembangan dan pelanggan.
2.
Tahap Planning
(perencanaan): pada tahap ini ditentukan
sumber-sumber informasi, batas waktu dan informasi-informasi yang dapat
menjelaskan proyek.
3.
Tahap Analisis Resiko: mendefinisikan resiko, menentukan apa saja yang
menjadi resiko baik teknis maupun manajemen.
4.
Tahap Rekayasa
(engineering): pembuatan prototipe atau pembangunan
satu atau lebih representasi dari aplikasi tersebut
5.
Tahap Konstruksi dan
Pelepasan (release): pada tahap ini dilakukan
pembangunan perangkat lunak yang dimaksud, diuji, diinstal dan diberikan
sokongan-sokongan tambahan untuk keberhasilan proyek.
6.
Tahap Evaluasi: Pelanggan/pemakai/pengguna biasanya memberikan
masukan berdasarkan hasil yang didapat dari tahap engineering dan instalasi.
Dalam pengembangan
sistem informasi berbasis web, model ini digunakan untuk menyelesaikan sistem
secara global terlebih dahulu, kemudian untuk feature dari sistem akan
dikembangkan kemudian. Dengan ini mempercepat dalam pengimplementasian project
dan hal ini cocok digunakan dalam sistem informasi Web.
Kelebihan
1. Sangat mempertimbangkan resiko kemungkinan munculnya kesalahan sehingga sangat dapat diandalkan untuk pengembangan perangkat lunak skala besar.
2. Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat baik dengan menggabungkan model waterfall ditambah dengan pengulangan-pengulangan sehingga lebih realistis untuk mencerminkan keadaan sebenarnya.
3. Baik pengembang maupun pemakai dapat cepat mengetahui letak kekurangan dan kesalahan dari sistem karena proses-prosesnya dapat diamati dengan baik.
1. Sangat mempertimbangkan resiko kemungkinan munculnya kesalahan sehingga sangat dapat diandalkan untuk pengembangan perangkat lunak skala besar.
2. Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat baik dengan menggabungkan model waterfall ditambah dengan pengulangan-pengulangan sehingga lebih realistis untuk mencerminkan keadaan sebenarnya.
3. Baik pengembang maupun pemakai dapat cepat mengetahui letak kekurangan dan kesalahan dari sistem karena proses-prosesnya dapat diamati dengan baik.
Kekurangan
1.Waktu yang
dibutuhkan untuk mengembangkan perangkat lunak cukup panjang demikian juga
biaya yang besar.
2.
Sangat tergantung kepada tenaga ahli
yang dapat memperkirakan resiko.
3.
Terdapat pula kesulitan untuk mengontrol
proses. Sampai saat ini, karena masih relatif baru, belum ada bukti apakah
metode ini cukup handal untuk diterapkan.
4.
Meyakinkan konsumen (khusunya dalam
situasi kontrak) bahwa pendekatan evolusioner bisa dikontrol.
Model
Boehm sangat cocok diterapkan untuk pengembangan
sistem dan perangkat lunak skala besar di mana pengembang dan pemakai dapat
lebih mudah memahami kondisi pada setiap tahapan dan bereaksi terhadap
kemungkinan terjadinya kesalahan. Selain itu, diharapkan juga waktu dan dana
yang tersedia cukup memadai.
2.
Model Waterfall
Metode
pengembangan sistem metode SDLC(Sistem Development Life Cycle) atau sering
disebut sebagai pendekatan air terjun (waterfall).Metode waterfall pertama
kali diperkenalkan oleh Windows W. Royce pada tahun 1970. Waterfall merupakan
model klasik yang sederhana dengan aliran sistem yang linier Output dari
setiap tahap merupakan input bagi tahap berikutnya (Kristanto,
2004).
3.
Iterative Model (Pengulangan)
Metode yang merupakan pengembangan dari prototyping model dan digunakan ketika requirement dari software akan terus berkembang dalam tahapan-tahapan pengembangan aplikasi tersebut. Sedikit pengertian tentang requirement software dari developer yang diterapkan pada tahap pertama iterasi, akan mendapatkan tanggapan dari user. Ketika requirement menjadi jelas, tahapan iterasi selanjutnya akan dilaksanakan.
4.
Metode Fountain (Air Mancur)
Model
Fontain merupakan perbaikan logis dari model waterfall, langkah langkah dan
urutan prosedurnya pun masih sama. Namun pada model Fountain ini kita dapat
mendahulukan sebuah step ataupun melewati step tersebut, akan tetapi ada yang
tidak bisa anda lewati stepnya seperti kita memerlukan design sebelum melakukan
coding jika itu di lewati maka akan ada tumpang tindih dalam siklus SDLC.
5.
Rapid Application Development (RAD)
Rapid Application Development (RAD) adalah strategi siklus hidup yang
ditujukan untuk menyediakan pengembangan yang jauh lebih cepat dan mendapatkan
hasil dengan kualitas yang lebih baik dibandingkan dengan hasil yang dicapai
melalui siklus tradisional (McLeod, 2002). RAD merupakan gabungan dari
bermacam-macam teknik terstruktur dengan teknik prototyping dan
teknik pengembangan joint application untuk mempercepat
pengembangan sistem/aplikasi (Bentley, 2004). Dari definisi-definisi konsep RAD
ini, dapat dilihat bahwa pengembangan aplikasi dengan menggunakan metode RAD
ini dapat dilakukan dalam waktu yang relatif lebih cepat.
6.
METODE SYNCHRONIZE AND STABILIZE (SDLC)
Model ini adalah model yang digunakan oleh
Microsoft. Secara garis besar, Model Synchronize and Stabilize ini sama
dengan model incremental, tetapi oleh CUsamano dan Selby tahun 1997 menyebutnya
sebagai model Syncronize and Stabilized Model karena ada beberapa proses
manajemen yang ditekannya oleh microsoft.
7.
METODE EXTREME PROGRAMMING (Agile)
Extreme Programming (XP) merupakan suatu pendekatan
yang paling banyak digunakan untuk pengembangan perangkat lunak cepat. Alasan menggunakan
metode Extreme Programming (XP) karena sifat dari aplikasi yang di
kembangkan dengan cepat melalui tahapan-tahapan yang ada meliputi :
Planning/Perencanaan, Design/Perancangan, Coding/Pengkodean dan
Testing/Pengujian. (Pressman, 2012:88).
Sumber
: