SDLC adalah kependekan dari Systems development life cycle atau dalam bahasa Indonesia disebut siklus hidup pengembangan sistem. SDLC digunakan untuk membangun suatu sistem informasi agar dapat berjalan sesuai dengan apa yang diharapkan.
SDLC terdiri dari beberapa tahapan, yang umum diajarkan pada mapel rekayasa perangkat lunak atau analis sistem, ia terdiri dari 6 tahapan, yakni:
- Planning (Perencanaan)
- Analysis (Analisis)
- Design (Desain)
- Implementation
- Testing & Integration (pengetesan dan pengintegrasian)
- Maintenance (perawatan)
CATATAN PENTING
Dalam literatur lain kita akan menemukan SDLC yang terdiri dari 3,4,5,6,7 sampai 10 jenis. Semuanya benar dan kita tidak boleh terpaku dengannya. Setiap tahapan tersebut akan berbeda penerapannya tergantung teknik pengembangan yang nantinya digunakan.
Pengertian SDLC
SDLC 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.
Pengertian SDLC Menurut Ahli
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.
Kesimpulan
Pengertian SDLC adalah siklus atau tahapan yang digunakan dalam pembuatan/pengembangan suatu sistem informasi agar pengerjaan sistem berjalan secara terstruktur, efektif dan sesuai dengan tujuan yang diinginkan.
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.
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.
Melakukan survei dan penilaian terhadap kelayakan sistem yang sudah dikembangkan.
Menganalisis dan mempelajari sistem yang sudah ada dan sedang berjalan.
Melakukan pemecahan masalah dalam pengembangan sistem.
Menentukan penggunaan hardware dan software yang tepat.
Merancang dan mengembangkan sistem baru.
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.
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. Waterfall Model
Model ini melibatkan penyelesaian satu tahap secara lengkap sebelum melangkah ke tahap berikutnya. Ketika satu tahap selesai langsung dilakukan evaluasi untuk memastikan proyek berjalan sesuai rencana dan layak diteruskan ke tahap berikutnya.
Waterfall Model, disebut juga model klasik, memiliki beberapa tahap utama, yaitu analisis dan rekayasa sistem, perancangan, penulisan program, pengujian, dan pemeliharaan.
2. V-Shaped Model
Model ini fokus pada proses eksekusi dengan cara berurutan. Hampir sama dengan model waterfall, tetapi lebih menekankan pada tahap pengujian. Prosedur pengujian pada model ini bahkan ditulis sebelum kode program dibuat.
3. Incremental Model
Model ini melibatkan beberapa siklus pengembangan. Siklus-siklus tersebut dibagi ke dalam pengulangan-pengulangan kecil. Pengulangan tersebut dapat diatur dengan mudah dan melewati serangkaian tahap termasuk pengaturan, desain, penerapan, dan pengujian.