- Bab 8 dari 9
- 25 menit
- 1 latihan kode
- 4 soal kuis
Peran, Dokumen, dan Secure SDLC
Di bab ini (6 bagian)
Tujuan bab ini
- Mengenal delapan peran dalam tim SDLC dan tanggung jawabnya.
- Memetakan dokumen utama ke setiap tahap SDLC.
- Memahami traceability dari kebutuhan sampai test case.
- Menjelaskan prinsip shift-left dan aktivitas Secure SDLC di setiap tahap.
Peran dalam Tim SDLC
Proyek software dikerjakan banyak orang dengan keahlian berbeda. Deck menyebut delapan peran:
| Peran | Tanggung jawab |
|---|---|
| Project Manager | Merencanakan, memantau jadwal, biaya dan risiko |
| Business Analyst | Menggali kebutuhan dan menjembatani bisnis dengan teknis |
| System Architect | Merancang arsitektur dan standar teknis |
| UI/UX Designer | Merancang alur dan tampilan yang mudah dipakai |
| Developer | Menulis, menguji unit, dan merawat kode |
| QA / Tester | Merancang dan menjalankan pengujian |
| DevOps Engineer | Mengelola pipeline, infrastruktur dan rilis |
| Stakeholder / User | Memberi kebutuhan, masukan dan persetujuan |
Perhatikan bahwa developer juga bertugas menguji unit, bukan hanya menulis kode. Dan stakeholder bukan penonton: mereka memberi kebutuhan, masukan, dan persetujuan di sepanjang proyek.
Satu Orang, Banyak Peran
Di tim kecil, satu orang bisa memegang beberapa peran sekaligus. Pada aplikasi kas kelas dengan tim tiga orang, pembagiannya mungkin seperti ini:
- Rina: Project Manager sekaligus Business Analyst. Ia yang mewawancarai bendahara dan menjaga jadwal.
- Bima: System Architect sekaligus Developer. Ia merancang tabel dan menulis sebagian besar kode.
- Sari: UI/UX Designer sekaligus QA. Ia membuat wireframe dan menyusun test case.
- Bendahara kelas: Stakeholder dan pengguna utama.
Yang penting bukan jumlah orangnya, tetapi setiap tanggung jawab punya pemilik yang jelas.
Dokumen Utama di Setiap Tahap
Setiap tahap menghasilkan dokumen. Berikut peta lengkapnya:
| Tahap | Dokumen utama |
|---|---|
| Perencanaan | Project Charter, Studi Kelayakan, Rencana Proyek |
| Analisis Kebutuhan | SRS, Use Case, User Story |
| Desain Sistem | SDD, ERD, Wireframe |
| Implementasi | Source Code, Dokumentasi API, Build |
| Pengujian | Test Plan, Test Case, Bug Report |
| Penerapan | Release Notes, Panduan Instalasi, Manual Pengguna |
| Pemeliharaan | Change Request, Log Insiden, Laporan SLA |
Kamu tidak perlu menghafal tabel ini kata per kata. Cara mudahnya, tanyakan "tahap ini menghasilkan apa?" Perencanaan menghasilkan rencana, analisis menghasilkan daftar kebutuhan, desain menghasilkan rancangan, implementasi menghasilkan kode, pengujian menghasilkan hasil tes, penerapan menghasilkan panduan rilis, dan pemeliharaan menghasilkan catatan perubahan serta insiden.
Traceability
Dokumen membuat pengetahuan proyek terlacak (traceability): dari kebutuhan, ke desain, ke kode, ke test case. Artinya setiap kebutuhan bisa ditelusuri sampai ke kode yang mewujudkannya dan tes yang membuktikannya.
Contoh pada kas kelas:
Kalau suatu saat ada kebutuhan yang tidak punya test case, kamu langsung tahu ada celah. Kalau ada kode yang tidak terhubung ke kebutuhan mana pun, kamu bisa bertanya apakah kode itu memang diperlukan.
Secure SDLC: Keamanan Sejak Awal
Banyak tim menganggap keamanan cukup diuji di akhir, sesaat sebelum rilis. Masalahnya, celah keamanan yang ditemukan di akhir sama mahalnya dengan cacat lain yang ditemukan terlambat. Bahkan bisa lebih mahal kalau celahnya sudah dieksploitasi.
Secure SDLC memakai prinsip shift-left: aktivitas keamanan disisipkan ke setiap tahap, bukan hanya diuji di akhir. Disebut "shift-left" karena kalau tahapan SDLC digambar dari kiri ke kanan, aktivitas keamanan digeser ke kiri, ke tahap yang lebih awal.
Aktivitas Keamanan per Tahap
| Tahap | Aktivitas keamanan |
|---|---|
| Perencanaan | Kebutuhan keamanan dan kepatuhan (misalnya UU PDP) |
| Analisis Kebutuhan | Abuse case dan klasifikasi data |
| Desain Sistem | Threat modeling dan review desain |
| Implementasi | Secure coding, SAST, scan dependensi |
| Pengujian | DAST dan penetration test |
| Penerapan | Hardening dan manajemen secret |
| Pemeliharaan | Patching dan pemantauan keamanan |
Beberapa istilah yang perlu kamu pahami:
- Abuse case: kebalikan dari use case. Kalau use case menjelaskan cara pengguna memakai sistem dengan benar, abuse case menjelaskan cara orang jahat menyalahgunakannya. Contoh: "Siswa mencoba mengubah catatan iurannya sendiri menjadi lunas."
- Threat modeling: memetakan ancaman terhadap desain sebelum dibangun.
- SAST: analisis kode sumber untuk mencari celah, tanpa menjalankan program.
- DAST: pengujian keamanan terhadap aplikasi yang sedang berjalan.
- Hardening: memperketat konfigurasi server dan aplikasi.
- Manajemen secret: menyimpan kata sandi dan kunci rahasia dengan aman, bukan ditulis langsung di kode.
Untuk kas kelas, abuse case tadi langsung menghasilkan kebutuhan keamanan: hanya bendahara yang boleh mengubah data iuran. Kebutuhan ini lalu diuji di tahap pengujian.
Rujukan dan Regulasi
Rujukan Secure SDLC yang disebut di deck: NIST SSDF (SP 800-218), OWASP SAMM, OWASP Top 10, dan ISO/IEC 27001. Di Indonesia, perlindungan data pribadi diatur oleh UU No. 27 Tahun 2022 (UU PDP), sehingga kepatuhan terhadapnya masuk ke kebutuhan sejak perencanaan.
DevSecOps
DevSecOps adalah DevOps ditambah keamanan yang terotomatisasi di pipeline. Misalnya setiap kali kode digabung, pipeline otomatis menjalankan SAST dan scan dependensi. Kalau ditemukan celah serius, pipeline berhenti, sama seperti saat tes biasa gagal.
Kesalahan Umum
- Menganggap keamanan urusan tahap pengujian saja. Prinsip shift-left menyisipkannya ke semua tahap.
- Menulis kata sandi atau kunci API langsung di kode. Ini yang dicegah oleh manajemen secret.
- Membiarkan peran tanpa pemilik di tim kecil. Kalau tidak ada yang memegang peran QA, pengujian sering terlewat.
- Menulis dokumen yang tidak saling terhubung. Tanpa traceability, sulit tahu kebutuhan mana yang sudah diuji.
Rangkuman
- Ada delapan peran utama, dan di tim kecil satu orang bisa memegang beberapa peran sekaligus.
- Setiap tahap punya dokumen utama, dari Project Charter di perencanaan sampai Change Request dan Log Insiden di pemeliharaan.
- Traceability menghubungkan kebutuhan ke desain, kode, dan test case.
- Secure SDLC memakai prinsip shift-left: aktivitas keamanan seperti threat modeling, SAST, DAST, dan patching tersebar di setiap tahap.
- DevSecOps menambahkan keamanan terotomatisasi ke pipeline DevOps, dan UU PDP mengatur perlindungan data pribadi di Indonesia.
Slide 25 sampai 28 dari deck Software Development Life Cycle (SDLC). Penjelasan lengkapnya ada di mode Baca.

Selesaikan bab ini
- 1. Baca materi
- 2. Latihan kode (1)
- 3. Kuis (4 soal)
Latihan kode: Mencari kebutuhan tanpa test case
Traceability menuntut setiap kebutuhan punya test case. Tulis fungsi tanpaTes(kebutuhan, testCase).
kebutuhanadalah array id, misalnya["F-01", "F-02"].testCaseadalah array objek{ id, kebutuhanId }.
Kembalikan array id kebutuhan yang tidak dirujuk oleh test case mana pun, dengan urutan sama seperti kebutuhan.
Cek pemahaman
1Peran yang menggali kebutuhan dan menjembatani bisnis dengan teknis adalah...
2Aktivitas keamanan yang disarankan pada tahap desain sistem adalah...
3Prinsip shift-left berarti aktivitas keamanan disisipkan ke setiap tahap, bukan hanya diuji di akhir.
4Change Request, Log Insiden, dan Laporan SLA adalah dokumen tahap...