Pengembangan Perangkat Lunak SDLC

A. Pengertian 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

Postingan populer dari blog ini

Pengenalan DFD

Input dan Output pada Bahasa Pemrograman C++

ERD (Entity Relationship Diagram)