Pengembangan Perangkat Lunak SDLC
A. Pengertian SDLC
B. Fungsi SDLC
C. Tahapan SDLC
D. Model Pengembangan SDLC
SDLC (System
Development Life Cycle) atau siklus hidup pengembangan sistem adalah siklus
yang digunakan dalam pembuatan atau pengembangan sistem informasi yang
bertujuan untuk menyelesaikan masalah secara efektif. Dalam pengertian lain,
SDLC adalah tahapan kerja yang bertujuan untuk menghasilkan sistem berkualitas
tinggi yang sesuai dengan keinginan pelanggan atau tujuan dibuatnya sistem
tersebut. SDLC menjadi kerangka yang berisi langkah-langkah yang harus
dilakukan untuk memproses pengembangan suatu perangkat lunak. Sistem ini berisi
rencana lengkap untuk mengembangkan, memelihara, dan menggantikan perangkat
lunak tertentu.
Menurut Prof. Dr. Sri Mulyani, AK., CA. (2017) SDLC adalah
proses logika yang digunakan oleh seorang analis sistem untuk mengembangkan
sebuah sistem informasi yang melibatkan requirments,
validation, training dan pemilik sistem.
B. Fungsi SDLC
Sangat sulit untuk membuat sebuah perangkat lunak tanpa
perancangan yang maksimal. Beberapa teknik dalam mengembangkan perangkat lunak
terus dikembangkan hingga kini.
Masih banyak perdebatan mengenai metode yang paling baik dan
paling sesuai untuk segala tipe perangkat lunak. Meski demikian, ada
perencanaan lebih baik daripada tidak ada perencanaan sama sekali.
Dilihat dari berbagai sisi, SDLC memiliki banyak fungsi,
antara lain sebagai sarana komunikasi antara tim pengembang dengan pemegang
kepentingan. SDLC juga berfungsi membagi peranan dan tanggung jawab yang jelas
antara pengembang, desainer, analis bisnis, dan manajer proyek. Fungsi lain
dari SDLC ialah dapat memberikan gambaran input
dan output yang jelas dari satu tahap
menuju tahap selanjutnya.
C. Tahapan SDLC
SDLC berisi tahapan-tahapan yang dikembangkan untuk tujuan
tertentu. Berikut ini tujuh tahapan yang harus dilewati.
1.
Tahapan Analisis Sistem
Tahapan pertama, yaitu
analisis sistem. Pada tahap ini, sistem akan dianalisis bagaimana akan
dijalankan nantinya. Hasil analisis berupa kelebihan dan kekurangan sistem,
fungsi sistem, hingga pembaharuan yang dapat diterapkan.
Bagian ini termasuk
dalam bagian perencanaan. Bagian lain yang termasuk dalam perencanaan ialah
alokasi sumber daya, perencanaan kapasitas, penjadwalan proyek, estimasi biaya,
dan penetapan.
Dengan demikian, hasil
dari tahap perencanaan ialah rencana proyek, jadwal, estimasi biaya, dan
ketentuan. Idealnya manajer proyek dan pengembang dapat bekerja maksimal pada
tahap ini.
2.
Tahapan Perancangan Sistem
Setelah persyaratan
dipahami, perancang dan pengembang dapat mulai mendesain software. Tahapan ini
akan menghasilkan prototype dan beberapa output lain meliputi dokumen berisi
desain, pola, dan komponen yang diperlukan untuk mewujudkan proyek tersebut.
Setelah spesifikasi,
kemudian dilakukan perancangan sistem sebagai tahapan kelanjutannya. Tahap ini
ialah tahap di mana seluruh hasil analisis dan pembahasan tentang spesifikasi
sistem diterapkan menjadi rancangan atau cetak biru sebuah sistem.
Tahap ini disebut
sebagai cetak biru, di mana sistem sudah siap untuk dikembangkan mulai dari
implementasi, analisis sistem, hingga tenaga pendukung sistem yang akan
dikembangkan.
3.
Tahap Pembangunan Sistem
Pengembangan sistem
ialah tahap di mana rancangan mulai dikerjakan, dibuat, atau diimplementasikan
menjadi sistem yang utuh dan dapat digunakan. Jika diibaratkan bangunan, tahap
ini merupakan tahap membangun.
Tahap ini memakan waktu
cukup lama karena akan muncul kendala-kendala baru yang mungkin dapat
menghambat jalannya pengembangan sistem. Pada tahapan ini, perancangan bisa
saja berubah karena satu atau banyak hal.
Tahap selanjutnya ialah
memproduksi perangkat lunak di bawah proses pengembangan. Menurut metodologi
yang sudah digunakan, tahap ini dapat dilakukan dengan cepat. Output yang dihasilkan pada tahap ini
ialah perangkat lunak yang telah berfungsi dan siap diuji.
4.
Tahap Pengujian Sistem
Sesudah sistem selesai
dikembangkan, sistem harus melalui pengujian sebelum digunakan atau dikomersialisasikan.
Tahap pengujian sistem harus dijalankan untuk mencoba apakah sistem yang
dikembangkan dapat bekerja optimal atau tidak.
Pada tahap ini, ada
beberapa hal yang harus diperhatikan, seperti kemudahan penggunaan sampai
pencapaian tujuan dari sistem yang sudah disusun sejak perancangan sistem
dilakukan. Jika ada kesalahan, tahap pertama hingga keempat harus diperbarui,
diulangi, atau pun dirombak total.
Tahap tes SDLC ialah
bagian paling penting dalam rangkaian pembuatan sebuah perangkat lunak. Karena sangat
tidak mungkin mempublikasikan sebuah software tanpa melalui pengujian terlebih
dahulu.
Beberapa pengujian yang
harus dilewati, antara lain kualitas kode, tes fungsional, tes integrasi, tes
performa, dan tes keamanan.
Untuk memastikan pengujian berjalan
teratur dan tidak ada bagian yang terlewati, tes dapat dilakukan menggunakan
perangkat Continuous Integration seperti Codeship. Dari tahap ini, akan
dihasilkan perangkat lunak yang telah dites dan siap untuk disebarkan ke dalam
proses produksi.
5.
Implementasi
Implementasi dan
pemeliharaan merupakan tahap akhir dalam pembuatan SDLC. Di tahap ini sistem
sudah dibuat, diuji coba, dan dipastikan dapat bekerja optimal.
Setelah tahap
pembuatan selesai, dilakukan implementasi dan pemeliharaan oleh pengguna. Pemeliharaan
sangat penting untuk memastikan sistem bekerja dengan optimal setiap saat.
Untuk implementasi,
langkah yang harus dilakukan adalah sebagai berikut.
a.
Melakukan survei dan penilaian terhadap
kelayakan sistem yang sudah dikembangkan.
b.
Menganalisis dan mempelajari sistem yang sudah
ada dan sedang berjalan.
c.
Melakukan pemecahan masalah dalam pengembangan
sistem.
d.
Menentukan penggunaan hardware dan software yang
tepat.
e.
Merancang dan mengembangkan sistem baru.
f.
Memelihara dan meningkatkan sistem yang baru
jika diperlukan.
Fase ini disebut
juga sebagai tahap penyebaran. Pada tahap ini, software disebarkan setelah melewati proses yang melibatkan
beberapa persetujuan manual. Tahap ini dilakukan sebelum menurunkan software ke produksi.
Proses penyebaran
dapat dilakukan menggunakan Application
Release Automation (ARA) sebelum masuk ke proses produksi. Output yang didapat dari tahap ini ialah
perangkat lunak yang siap untuk diproduksi secara massal.
6.
Pemeliharaan Sistem
Pemeliharaan sistem
yang sudah dibuat sangat penting untuk referensi di kemudian hari. Pemeliharaan
ialah tahap akhir yang menjadi permulaan fase yang baru yaitu penggunaan.
SDLC belum berakhir di tahap ini. Software yang dihasilkan harus terus
dipantau untuk memastikan ia berjalan sempurna.
Celah dan kerusakan
yang ditemukan pada proses produksi harus dilaporkan dan diselesaikan. Jika
ditemukan sebelum diproduksi massal, ini akan lebih baik daripada menyelesaikan
dengan merombak semuanya dari awal ke akhir.
D. Model Pengembangan SDLC
Model pengembangan ini sangat penting untuk membantu proses
pengembangan perangkat lunak. Terdapat beberapa model pengembangan SDLC yang
diikuti oleh berbagai organisasi, yaitu :
1.
Model Waterfall
Metode pengembangan
sistem metode SDLC (System 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).
2.
Model Pengembangan Perangkat Lunak (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.
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.
Fase dan Tahapan Pengembangan Aplikasi :
Menurut
Kendall (2010), terdapat tiga fase dalam RAD yang melibatkan penganalisis dan
pengguna dalam tahap penilaian, perancangan, dan penerapan. Adapun ketiga fase
tersebut adalah requirements planning (perencanaan syarat-syarat), RAD design
workshop (workshop desain RAD), dan implementation (implementasi). Sesuai
dengan metodologi RAD menurut Kendall (2010).
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.
Analisis
kebutuhan dilakukan dengan wawancara dengan sejumlah konsumen yang
potensial. Kemudian kebutuhan-kebutuhan
tersebut dibuat paket dan disusun daftar secara prioritas. Kemudian spesifikasi ditulis. Selanjutnya pekerjaan dibagi dalam tiga atau
empat bagian pembangunan software.
Bagian pertama menangani hal-hal yang paling kritis, bagian selanjutnya
menangani hal-hal yang krisis selanjutnya, dan seterusnya.
Pada akhirnya, setiap hari
dilakukan proses sinkronisasi, yaitu menggabungkan bagian-bagian yang terpisah
tersebut kemudian ditesting. Proses
stabilisasi dilakukan pada akhir pembangunan setiap bagian. Kesalahan yang terjadi akan diperbaiki, dan
tidak akan ada perubahan spesifikasi.
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).
Komentar
Posting Komentar