SOFTWARE DEVELOPMENT LIFE CYCLE DAN CONFIDENTIALITY, INTEGRITY, DAN AVAILABILITY

 SOFTWARE DEVELOPMENT LIFE CYCLE DAN CONFIDENTIALITY, INTEGRITY, DAN AVAILABILITY

Tugas Makalah Pengantar Web Science







Disusun oleh :

Damara Salsabila

50420328

2IA18



A. LATAR BELAKANG

Apabila ingin terjun ke dunia pengembangan software, SDLC atau software development life cycle, adalah sebuah hal yang perlu kita ketahui. Sekarang ini, inisiatif tersebut merupakan salah satu cara terbaik untuk terus menghidupkan dan mengelola kualitas sebuah software. Tak hanya itu, SDLC juga digadang-gadang sebagai metode pembuatan software terbaik yang fungsinya akan terus berkembang di masa-masa mendatang.


B. RUMUSAN MASALAH

1. Apa yg dimaksud dengan SDLC pada perancangan sistem?

2. Uraikan langkah-langkah SDLC pada web yang kamu bangun / rancang. Lakukan sesuai dengan projek yang telah dibangun.

3. Uraikan mengapa pada website sangat diperlukan adanya Confidentiality, Integrity, dan Availability (CIA).

4. Apa bentuk CIA pada website yang telah anda bangun?



C. PEMBAHASAN

1. Pengertian SDLC pada Perancangan Sistem

SDLC (Software Development Life Cycle) 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. 

Dilihat dari berbagai sisi, SDLC memiliki banyak fungsi, salah satunya 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.


2. Langkah-langkah Membangun SDLC pada Web yang Kita Bangun

Secara garis besar terdapat beberapa tahapan SDLC yang perlu kita lakukan, yaitu :

2.1. Planning

Planning adalah tahap perencanaan dimana tim akan mengidentifikasi dan menentukan scope atau ruang lingkup yang perlu dilakukan dalam proses pengembangan proyek. Pada tahap ini, tim juga akan mengumpulkan semua informasi yang dibutuhkan dalam proses pengembangan software dari para pemangku kepentingan. Setelah itu, tim akan merencanakan struktur tim, time frame, budget, security, dan berbagai faktor penting lain yang dibutuhkan untuk pengembangan software.

2.2. Analisis

Tahapan SDLC yang selanjutnya adalah proses analisis. Pada tahap ini, tim akan menganalisis kebutuhan fungsional sistem. Jadi, tim akan melakukan analisis untuk mengetahui apa masalah bisnis, apa target yang ingin dicapai, apa tujuan utama dari pengembangan software tersebut, apa fungsi dari software yang akan dikembangkan, dan lain-lain. Analisis ini diperlukan dalam tahapan SDLC agar produk nantinya akan memiliki hasil akhir yang sesuai dengan ekspektasi klien. 

2.3. Desain

Berdasarkan requirement yang telah ditentukan sebelumnya, maka tim akan membuat rencana desain atau spesifikasi desain. Beberapa aspek desain yang akan ditentukan, seperti :

•Architecture : bahasa pemrograman yang akan digunakan, desain software secara keseluruhan, dan lain-lain.

•User Interface : mendefinisikan bagaimana cara users ketika berinteraksi dengan software serta bagaimana cara software memberikan respon.

•Platform : platform tempat software dapat berjalan seperti Android, iOs, Linux, dan lain-lain.

•Security : langkah-langkah untuk mengamankan sistem software, seperti enkripsi lalu lintas SSL, perlindungan kata sandi, atau yang lain.

Rincian desain tersebut kemudian akan dibahas dengan para pemangku kepentingan. Tim akan menjelaskankan dengan berbagai parameter seperti risiko, teknologi yang akan digunakan, kapabilitas tim, kendala proyek, waktu dan anggaran. Setelah itu, pemangku kepentingan akan meninjau kembali desain tersebut dan menawarkan umpan balik dan saran. 

2.4. Development

Dalam fase ini, proses pengembangan software dimulai. Jadi, tim pengembang akan mulai membangun seluruh sistem dengan menulis kode menggunakan bahasa pemrograman yang dipilih. Tahapan SDLC ini dapat dikatakan sebagai fase terpanjang dari proses pengembangan software.

Untuk pengerjaan proyek besar, proses pengembangan software biasanya akan dibagi menjadi beberapa unit atau modul kemudian ditugaskan ke beberapa tim pengembang. Database admin akan membuat data yang diperlukan dalam database, front-end developer bertugas membuat UI dan GUI untuk berinteraksi dengan back-end. Proses pengembangan software tersebut akan dilakukan berdasarkan pedoman dan prosedur yang sudah ditentukan sebelumnya. 

2.5. Testing 

Tahapan SDLC ini akan melibatkan para software Quality Assurance (QA) untuk melakukan pengujian pada sistem dan menilai apakah software dapat bekerja sesuai dengan fungsionalitas yang diharapkan. Tim QA akan menguji semua area software untuk memastikan bahwa sistem terbebas dari cacat, error, ataupun bug. Jika ternyata masalah ditemukan di dalam software yang dikembangkan, maka tim QA akan menginformasikannya dengan tim pengembang agar perbaikan dapat segera dilakukan.  Proses ini berlanjut hingga software benar-benar terbebas dari bug, bekerja stabil, dan berfungsi sesuai harapan.

2.6. Implementation dan Release

Setelah fase pengujian perangkat lunak selesai dan tidak ada bug yang tersisa pada sistem, maka tahap implementasi dapat dimulai. Tahap ini biasanya juga disebut sebagai tahap deployment. Tujuan dari tahap ini adalah untuk men-deploy perangkat lunak ke lingkungan produksi sehingga users dapat mulai menggunakannya.

Fase ini melibatkan penginstalan aktual dari sistem yang baru dikembangkan. Untuk proyek sederhana, contoh deployment seperti menerapkan kode ke server web. Sedangkan untuk proyek pengembagan software berskala besar, deployment akan melibatkan proses integrasi dengan banyak sistem berbeda.

Meskipun demikian, banyak perusahaan memilih agar produk akhir dapat pertama kali dirilis dalam segmen terbatas dan diuji di lingkungan bisnis (UAT-User Acceptance Testing) sebelum benar-benar dirilis ke pasar. Hal ini juga dilakukan untuk meminimalisir adanya masalah yang ditemukan oleh users setelah produk dirilis ke pasar.

2.7. Maintenance

Tahapan SDLC yang terakhir adalah proses maintenance atau pemeliharaan software. Di tahap ini, tim akan melakukan pemeliharaan sistem dan rutin melakukan pembaruan agar kinerja software tetap dapat optimal.

Biasanya beberapa aktivitas maintenance yang dilakukan adalah :

•Perbaikan bug : perbaikan bug ketika ada masalah yang dilaporkan.

•Upgrade sistem : meningkatkan kinerja software dengan sistem yang lebih baru.

•Peningkatan fitur : menambahkan fitur atau fungsionalitas pada pada software yang dikembangkan.

3. Alasan Perlu Adanya Confidentiality, Integrity, dan Availability (CIA) di Website yang Kita Bangun

CIA itu sendiri terdiri dari tiga 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.

a. 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. 

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. 

Aplikasi yang bagus dari metode ini adalah yang biasa digunakan untuk memastikan kerahasiaan nomor rekening atau nomor perutean pada saat melakukan transaksi online. Hal itu biasa dilakukan dengan mengenkripsi data. Ini merupakan metode umum untuk memastikan kerahasiaan info yang ada.

Selain itu, memasukkan ID pengguna dan kata sandi juga menjadi bentuk prosedur standar dari metode Confidentiality. Tak hanya itu, ada juga otentikasi dua faktor. Pilihan lainnya sebenarnya banyak, termasuk biometric verification.

b. 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).

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. 

c. Availability

Availability adalah bisa diterapkan dengan sangat baik bila developer telah memastikan adanya pemeliharaan semua hardware secara ketat. Developer 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 developer untuk tetap mengikuti semua peningkatan sistem atau 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.

4. Bentuk CIA pada Website

CIA triad adalah model standar dalam keamanan informasi yang dirancang untuk mengatur dan mengevaluasi bagaimana sebuah organisasi atau perusahaan ketika data disimpan, dikirim, atau diproses. Setiap aspek yang ada di dalam CIA triad (Confidentiality – Integrity – Availability) akan menjadi komponen penting dari keamanan informasi.



D. KESIMPULAN

Ancaman keamanan informasi Anda dapat datang dalam berbagai bentuk. Dengan memahami apa itu keamanan informasi, Anda dapat mengevaluasi dan mengidentifikasi kebijakannya. Anda dapat melihat apakah kebijakan tersebut dapat melindungi informasi rahasia sesuai aspek-aspek pada CIA triad. 

Ada banyak cara untuk melindungi keamanan informasi di website Anda. Salah satu yang bisa Anda andalkan adalah dengan melakukan penetration testing.

Seperti yang sudah dijelaskan di atas, pada CIA triad terdapat 3 aspek dasar yang harus selalu diperhatikan dalam menjaga keamanan informasi. Aspek tersebut adalah Confidentiality, Integrity dan Availability.

Dengan melakukan penetration testing, Anda dapat mengeksploitasi dan mengidentifikasi apakah ada kerentanan yang bisa segera diperbaiki dari ketiga aspek tersebut. Selain itu, melalui penetration testing, Anda juga akan memperoleh berbagai saran dan solusi untuk meminimalisir risiko dan dampak yang ditimbulkan apabila ketiga aspek keamanan informasi tersebut berhasil dieksploitasi.




DAFTAR PUSTAKA

https://glints.com/id/lowongan/sdlc-software-development-life-cycle/#.YmJwytpBy3A
https://salamadian.com/sdlc-system-development-life-cycle/
https://www.logique.co.id/blog/2021/04/28/tahapan-sdlc/
https://www.dewaweb.com/blog/web-app-security-cia-triad/
https://www.logique.co.id/blog/2021/02/18/keamanan-informasi/






Komentar