- Bab 2 dari 9
- 25 menit
- 1 latihan kode
- 4 soal kuis
Tujuh Tahap, Perencanaan, dan Analisis Kebutuhan
Di bab ini (6 bagian)
Tujuan bab ini
- Mengenal ketujuh tahap SDLC dan urutannya sebagai siklus.
- Menjelaskan aktivitas, output, dan peran di tahap perencanaan.
- Membedakan kebutuhan fungsional dan non-fungsional.
- Mengenali teknik pengumpulan kebutuhan dan isi dokumen SRS.
Gambaran Tujuh Tahap
SDLC punya tujuh fase inti, dari ide sampai software yang terus dirawat:
| No | Tahap | Istilah | Inti pekerjaan |
|---|---|---|---|
| 1 | Perencanaan | Planning | Tujuan, ruang lingkup, kelayakan, jadwal dan anggaran |
| 2 | Analisis Kebutuhan | Analysis | Menggali dan mendokumentasikan kebutuhan (SRS) |
| 3 | Desain Sistem | Design | Arsitektur, basis data, antarmuka dan modul |
| 4 | Implementasi | Development | Menulis kode program sesuai desain dan standar |
| 5 | Pengujian | Testing | Memastikan software bebas cacat dan sesuai kebutuhan |
| 6 | Penerapan | Deployment | Merilis software ke lingkungan produksi |
| 7 | Pemeliharaan | Maintenance | Memperbaiki, menyesuaikan dan meningkatkan sistem |
Tahap pemeliharaan akan memicu perencanaan baru, sehingga prosesnya berupa siklus, bukan garis lurus. Di bab ini kita membahas dua tahap pertama secara rinci, karena keduanya menentukan arah seluruh proyek.
Tahap 1: Perencanaan
Perencanaan adalah tahap fondasi. Tujuannya memastikan proyek layak dijalankan dan semua pihak sepakat tentang apa yang akan dibangun. Ada tiga pertanyaan kunci di tahap ini:
- Apa masalahnya?
- Apakah layak secara teknis dan finansial?
- Berapa lama dan berapa biayanya?
Aktivitas Utama
- Mendefinisikan masalah, tujuan, dan ruang lingkup proyek.
- Melakukan studi kelayakan dari lima sisi: teknis, ekonomi, operasional, hukum, dan jadwal.
- Mengestimasi biaya, waktu, dan sumber daya.
- Mengidentifikasi risiko awal beserta rencana mitigasinya.
- Menyusun jadwal, milestone, dan membentuk tim.
Studi Kelayakan pada Aplikasi Kas Kelas
Mari terapkan lima sisi kelayakan ke contoh berjalan kita:
| Sisi | Pertanyaan | Jawaban untuk kas kelas |
|---|---|---|
| Teknis | Apakah tim mampu membangunnya? | Ya, tim sudah belajar HTML, JavaScript, dan database dasar |
| Ekonomi | Apakah biayanya masuk akal? | Hosting gratis cukup, tidak ada biaya lisensi |
| Operasional | Apakah akan benar-benar dipakai? | Bendahara bersedia mencatat lewat aplikasi |
| Hukum | Ada aturan yang dilanggar? | Data hanya nama dan nominal iuran, tetap dijaga kerahasiaannya |
| Jadwal | Bisa selesai tepat waktu? | Target 6 minggu, sebelum semester berakhir |
Kalau salah satu sisi jawabannya "tidak", lebih baik proyek ditunda atau ruang lingkupnya dikurangi sekarang, bukan setelah kode setengah jadi.
Output dan Peran
Deliverable tahap perencanaan adalah Project Charter, Laporan Studi Kelayakan, Rencana Proyek dan Jadwal, serta Daftar Risiko (Risk Register). Pihak yang terlibat: Project Manager, Sponsor, Stakeholder, dan Business Analyst.
Risk register tidak perlu rumit. Untuk kas kelas, isinya bisa seperti ini: "Risiko: anggota tim sibuk ujian di minggu ke-4. Mitigasi: fitur inti selesai sebelum minggu ke-4."
Tahap 2: Analisis Kebutuhan
Kalau perencanaan menjawab "apakah proyek ini layak", analisis kebutuhan menjawab APA yang dibutuhkan pengguna secara rinci. Hasilnya dituangkan ke dalam dokumen Software Requirements Specification (SRS).
Tahap ini sangat menentukan. Kebutuhan yang buruk adalah penyebab umum kegagalan proyek. Kode sebagus apa pun tidak berguna kalau yang dibangun bukan yang dibutuhkan.
Fungsional vs Non-Fungsional
Kebutuhan dibagi dua jenis:
- Kebutuhan fungsional: apa yang harus dilakukan sistem. Ini berupa fitur.
- Kebutuhan non-fungsional: seberapa baik sistem bekerja. Ini berupa kualitas.
Contoh dari deck:
| Fungsional | Non-fungsional |
|---|---|
| Pengguna dapat login dengan email | Kinerja: respons di bawah 2 detik |
| Admin dapat menambah data produk | Keamanan: data sensitif terenkripsi |
| Sistem mengirim notifikasi pesanan | Ketersediaan: aktif 99,5% waktu |
| Pengguna dapat mencetak laporan | Usability: mudah dipakai orang awam |
Trik cepat membedakannya: kebutuhan fungsional biasanya bisa ditulis sebagai "pengguna dapat ..." atau "sistem ...", sedangkan non-fungsional biasanya mengandung ukuran kualitas seperti waktu, persen, atau tingkat kemudahan.
Untuk aplikasi kas kelas:
- Fungsional: bendahara dapat mencatat iuran, siswa dapat melihat saldo, wali kelas dapat mencetak laporan bulanan.
- Non-fungsional: halaman saldo terbuka di bawah 2 detik di ponsel, hanya bendahara yang bisa mengubah data.
Teknik Pengumpulan Kebutuhan
Kebutuhan tidak muncul sendiri. Kamu harus menggalinya dengan teknik berikut:
- Wawancara: bertanya langsung ke bendahara dan wali kelas.
- Kuesioner: menyebar pertanyaan ke seluruh siswa sekaligus.
- Observasi: melihat bagaimana bendahara mencatat di buku tulis saat ini.
- Workshop: duduk bersama semua pihak untuk menyepakati fitur.
- Prototyping: menunjukkan rancangan kasar agar pengguna bisa bilang "ya, seperti ini" atau "bukan".
- User Story: menulis kebutuhan dari sudut pandang pengguna.
Contoh user story: "Sebagai bendahara, saya ingin melihat siapa saja yang belum membayar minggu ini, agar saya bisa menagih tepat sasaran."
Output tahap ini adalah SRS, Use Case, dan User Story.
Memeriksa Kelengkapan Kebutuhan dengan Kode
Daftar kebutuhan yang baik punya identitas, deskripsi, dan jenis yang jelas. Kamu bisa memodelkan pemeriksaan sederhana seperti ini:
Di latihan bab ini, kamu akan menulis fungsi yang memisahkan kebutuhan berdasarkan jenisnya.
Kesalahan Umum
- Menulis kebutuhan yang kabur, misalnya "aplikasi harus cepat". Lebih baik "respons di bawah 2 detik" karena bisa diukur dan diuji.
- Melupakan kebutuhan non-fungsional. Fitur lengkap tapi lambat dan tidak aman tetap mengecewakan pengguna.
- Hanya bertanya ke satu orang. Wali kelas dan siswa punya kebutuhan yang berbeda dari bendahara.
- Melewatkan studi kelayakan. Proyek yang ternyata tidak layak sebaiknya dihentikan di awal, bukan di tengah jalan.
Rangkuman
- SDLC punya tujuh tahap yang membentuk siklus: perencanaan, analisis, desain, implementasi, pengujian, penerapan, dan pemeliharaan.
- Perencanaan memastikan proyek layak lewat studi kelayakan teknis, ekonomi, operasional, hukum, dan jadwal.
- Output perencanaan: Project Charter, laporan studi kelayakan, rencana proyek dan jadwal, serta risk register.
- Analisis kebutuhan menggali APA yang dibutuhkan pengguna dan menuangkannya ke SRS, use case, dan user story.
- Kebutuhan fungsional menjelaskan apa yang dilakukan sistem, non-fungsional menjelaskan seberapa baik sistem bekerja.
Slide 6 sampai 9 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: Memisahkan kebutuhan fungsional dan non-fungsional
Tulis fungsi pisahkanKebutuhan(daftar). Setiap item berbentuk { id, jenis } dengan jenis bernilai "fungsional" atau "non-fungsional".
Kembalikan objek { fungsional, nonFungsional } berisi array id sesuai urutan aslinya. Item dengan jenis lain diabaikan.
Cek pemahaman
1Manakah yang termasuk kebutuhan non-fungsional?
2Dokumen utama hasil tahap analisis kebutuhan adalah...
3Studi kelayakan di tahap perencanaan mencakup sisi teknis, ekonomi, operasional, hukum, dan jadwal.
4Pertanyaan 'Apakah layak secara teknis dan finansial?' paling khas untuk tahap...
