SDLC (Systems development life cycle)

SDLC 
(Systems development life cycle)

Apa itu SDLC Waterfall?. Model ini dinamai waterfall karena… | by ... 



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

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.

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.



Langkah-langkah SDLC

Dalam sebuah siklus SDLC, terdapat enam langkah. Jumlah langkah SDLC pada referensi lain mungkin berbeda, namun secara umum adalah sama. Langkah tersebut adalah
siklus sdlc

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.



Pentingnya CIA pada suatu website
CIA Triad dalah suatu model yang dirancang dengan tujuan memandu kebijakan yang terkait keamanan informasi pada suatu organisasi. CIA itu sendiri terdiri dari 3 aspek yaitu Confidentiality, Integrity dan Availability. Unsur-unsur itulah yang dianggap sebagai tiga komponen Cyber Security yang paling penting di seluruh platform, terutama pada Web App.

Seperti yang telah saya sampaikan sebelumnya di bagian pengantar, penerapan CIA Triad ini sangat penting bagi pebisnis yang ingin mensukseskan usahanya di era serba digital. Mengapa? Sebab hal ini dapat meningkatkan kepercayaan klien atau calon pelanggan kepada brand maupun perusahaan Anda.

Seluruh data pengguna dapat tersimpan dengan aman, dan transfer data yang terjadi bisa dipastikan terhindar dari pihak yang tak diinginkan. Kini, dimana perkembangan teknologi semakin pesat, para peretas dan perkembangan Malware juga semakin canggih.
  • Confidentiality

Sederhananya, confidentiality ini bisa berarti sama dengan privasi. Ini juga merupakan serangkaian langkah-langkah yang perlu dilakukan untuk mencegah tereksposnya informasi sensitif dari jangkauan tangan orang-orang yang tidak berwenang. Tak hanya itu, juga harus dipastikan bahwa orang yang tepat sudah benar-benar mendapatkannya data yang dibutuhkan.

Akses di sini memang harus dibatasi agar hanya ditujukan bagi mereka yang berwenang dalam melihat data yang dipermasalahkan. Data biasanya juga dapat dikategorikan menurut jumlah dan jenis kerusakan yang bisa kejadian jika jatuh ke tangan yang tidak diinginkan. Nah, dampaknya akan terlihat dari lebih banyak atau lebih sedikit langkah yang perlu dilakukan  sebagai implementasi dari kategori tersebut.
  • Integrity
Integriy ini berarti menjaga konsistensi, akurasi, dan kepercayaan terhadap data untuk setiap waktu hingga seterusnya. Data tidak boleh diubah pada saat transit. Kemudian juga langkah-langkah tertentu perlu dilakukan untuk memastikan bahwa data tidak bisa diubah-ubah oleh orang yang tidak punya kepentingan sejalan (misalnya, para peretas yang ingin melakukan manipulasi data dsb).

Langkah-langkah tersebut juga termasuk izin dalam mengakses file dan batasan kontrol bagi akses pengguna. Kontrol ini bisa dipakai untuk mencegah perubahan yang keliru atau penghapusan tidak disengaja dari pengguna resmi yang bisa juga menjadi masalah. Jadi, intinya backup/redundant harus tersedia untuk  memulihkan data yang sudah kena masalah agar bisa kembali ke keadaan yang semula.

  • Availability
Availability adalah bisa diterapkan dengan sangat baik bila developer telah memastikan adanya pemeliharaan semua hardware secara ketat. Developer/pengembang juga perlu melakukan perbaikan hardware sesegera mungkin ketika diperlukan. Tak hanya itu, pengembang wajib memelihara lingkungan sistem operasi supaya bisa berfungsi dengan baik dan bebas dari konflik software-nya.

Penting juga bagi pengembang untuk tetap mengikuti semua peningkatan sistem/pembaharuan yang diperlukan dari waktu ke waktu. Ada lagi tugas lainnya, yaitu menyediakan bandwidth komunikasi yang memadai dan mencegah adanya bottleneck. Hal ini bisa mengurangi konsekuensi serius ketika masalah hardware benar-benar terjadi.


Bentuk CIA pada website yang telah anda bangun

Integrity maksudnya adalah data tidak dirubah dari aslinya oleh orang yang tidak berhak, sehingga konsistensi, akurasi, dan validitas data tersebut masih terjaga. Dengan bahasa lain, integrity mencoba memastikan data yang disimpan benar adanya, tidak ada pengguna yang tidak berkepentingan atau software berbahaya yang mengubahnya. Integrity berusaha untuk memastikan data diproteksi dengan aman dari ancaman yang disengaja (serangan hacker) maupun ancaman yang tidak disengaja (misal. kecelakaan).

Integrity dapat dicapai dengan:

  • menerapkan strong  encryption pada media penyimpanan dan transmisi data.
  • menerapkan strong authentication dan validation pada setiap akses file/akun login/action yang diterapkan. Authentication dan validation dilakukan untuk menjamin legalitas dari akses yang dilakukan.
  • menerapkan access control yang ketat ke sistem, yaitu setiap akun yang ada harus dibatasi hak aksesnya. 
Misal tidak semua memiliki hak akses untuk mengedit, lainnya hanya bisa melihat saja.
Contoh mudah dan umum dari rusaknya integrity terkait keamanan informasi adalah pada proses pengiriman email. Alice mengirimkan email ke Bob. Namun ketika email dikirim, di tengah jalan Eve meng-intercept email tersebut dan mengganti isi emailnya kemudian baru diteruskan ke Bob. Bob akan mengira bahwa email tersebut benar dari Alice padahal isinya telah terlebih dahulu dirubah oleh Eve. Hal tersebut menunjukkan aspek integrity dari email yang dikirim oleh Alice telah hilang/rusak.



Daftar Pustaka
  • https://ilearning.me/rekayasa-sistem-2/po2/7-langkah-sdlc/
  • https://salamadian.com/sdlc-system-development-life-
  • cycle/#:~:text=SDLC%20adalah%20siklus%20yang%20digunakan,untuk%20menyelesaikan%20masalah%20secara%20efektif.&text=SDLC%20menjadi%20kerangka%20yang%20berisi,memproses%20pengembangan%20suatu%20perangkat%20lunak.
  • https://www.dewaweb.com/blog/web-app-security-cia-triad/
  • https://netsec.id/confidentiality-integrity-availability-keamanan-informasi/
  • https://id.wikipedia.org/wiki/Badan_Intelijen_Pusat#:~:text=Badan%20Intelijen%20Pusat%20(bahasa%20Inggris,bawah%20Director%20of%20National%20Intelligence.
  • https://idwebhost.com/blog/pentingnya-cia-triad/

Komentar

Postingan populer dari blog ini

E-LEARNING

PEMETAAN TARI TRADISIONAL INDONESIA

Nama Nama Gerak Pada Tari