Code Studio
Senin, 16 Februari 2026
Minggu, 15 Februari 2026
Software Development - Tahapan Requirement Engineering
Problem Identification ↓ Requirement Engineering ↓ SRS ↓ System Analysis ↓ Architecture Design ↓ Database Design ↓ Backend & Frontend Design ↓ Integration ↓ Testing & Deployment
TAHAPAN REQUIREMENT ENGINEERING
Requirement Engineering terdiri dari lima tahap utama:
Elicitation → Analysis → Specification → Validation → Management
Kelima tahap ini bersifat iteratif, bukan linear kaku. Dalam praktik nyata, sering terjadi pengulangan antar tahap.
1️⃣ ELICITATION (Penggalian Kebutuhan)
๐ Definisi
Proses mengidentifikasi dan mengumpulkan kebutuhan sistem dari stakeholder.
๐ฏ Tujuan
-
Memahami kebutuhan bisnis
-
Menggali ekspektasi stakeholder
-
Mengidentifikasi masalah sistem lama
-
Menemukan kebutuhan eksplisit & implisit
๐ญ Aktivitas Utama
-
Interview
-
Workshop
-
Observasi lapangan
-
Kuesioner
-
Prototyping awal
-
Analisis dokumen lama
๐ Jenis Kebutuhan yang Dikumpulkan
-
Business Requirement
-
User Requirement
-
System Requirement
⚠️ Tantangan
-
Stakeholder tidak mampu menjelaskan kebutuhan secara jelas
-
Kebutuhan saling bertentangan
-
Kebutuhan tersembunyi (implicit requirement)
๐ Output
-
Raw requirement list
-
Stakeholder list
-
Catatan wawancara
-
Daftar masalah sistem
2️⃣ ANALYSIS (Analisis Kebutuhan)
๐ Definisi
Proses menyaring, mengklarifikasi, dan memodelkan requirement agar tidak ambigu.
๐ฏ Tujuan
-
Menghilangkan duplikasi
-
Mengatasi konflik requirement
-
Mengidentifikasi prioritas
-
Memastikan feasibility (teknis & bisnis)
๐ Aktivitas
-
Requirement classification (FR & NFR)
-
Conflict resolution
-
Prioritization (MoSCoW)
-
Modeling (Use Case, Activity Diagram)
-
Feasibility analysis
๐ Contoh Klasifikasi
Functional Requirement
-
Sistem harus menyimpan data transaksi
Non-Functional Requirement
-
Response time < 2 detik
⚠️ Risiko Jika Tidak Dianalisis
-
Ambiguity
-
Scope creep
-
Sistem tidak realistis
๐ Output
-
Requirement yang telah diperjelas
-
Prioritas requirement
-
Model analisis (Use Case list)
3️⃣ SPECIFICATION (Spesifikasi Kebutuhan)
๐ Definisi
Tahap mendokumentasikan requirement dalam format formal dan terstruktur.
๐ฏ Tujuan
-
Membuat dokumen resmi
-
Menghindari interpretasi berbeda
-
Menjadi kontrak antara client & developer
๐ Format Umum
1. Functional Requirement (FR)
FR-01: Sistem harus menyediakan login pengguna.
2. Non-Functional Requirement (NFR)
NFR-01: Sistem harus memiliki uptime 99%.
๐ Karakteristik Requirement yang Baik (SMART)
-
Specific
-
Measurable
-
Achievable
-
Relevant
-
Testable
๐ Output
-
Dokumen SRS
-
Requirement specification document
-
Requirement Traceability Matrix
4️⃣ VALIDATION (Validasi Kebutuhan)
๐ Definisi
Memastikan requirement benar, lengkap, dan sesuai kebutuhan stakeholder.
๐ฏ Tujuan
-
Menghindari kesalahan sebelum coding
-
Memastikan semua stakeholder sepakat
-
Mengurangi rework
๐ Metode Validasi
-
Requirement review meeting
-
Walkthrough document
-
Prototype demonstration
-
Checklist verification
-
Test-case derivation
๐ Checklist Validasi
| Kriteria | Pertanyaan |
|---|---|
| Lengkap? | Semua kebutuhan sudah dicatat? |
| Konsisten? | Tidak ada konflik? |
| Testable? | Bisa diuji? |
| Jelas? | Tidak ambigu? |
๐ Output
-
Requirement yang disetujui (baseline)
-
Dokumen final untuk tahap desain
5️⃣ MANAGEMENT (Manajemen Requirement)
๐ Definisi
Mengelola perubahan requirement selama siklus hidup proyek.
๐ฏ Tujuan
-
Mengendalikan perubahan
-
Menghindari scope creep
-
Menjaga stabilitas proyek
๐ Proses Change Management
Change Request
↓
Impact Analysis
↓
Approval
↓
Update Document
๐ Contoh Perubahan
Awal:
-
Tidak ada fitur diskon
Owner meminta:
-
Tambah fitur promo
Tim melakukan:
-
Analisis dampak database
-
Update SRS
-
Update estimasi waktu
๐ Tools Requirement Management
-
Jira
-
Trello
-
Azure DevOps
-
Git issue tracking
๐ Sifat Iteratif Requirement Engineering
Requirement Engineering tidak berhenti setelah SRS selesai.
Dalam Agile:
Backlog Refinement → Sprint Planning → Review → Update Requirement
Dalam Waterfall:
Perubahan dilakukan melalui formal change request.
๐ RINGKASAN TAHAPAN
| Tahap | Fokus | Output |
|---|---|---|
| Elicitation | Menggali kebutuhan | Raw requirement |
| Analysis | Klarifikasi & prioritas | Requirement terstruktur |
| Specification | Dokumentasi formal | SRS |
| Validation | Verifikasi & persetujuan | Baseline requirement |
| Management | Mengelola perubahan | Updated requirement |
Software Development - Requirement Engineering
Problem Identification ↓ Requirement Engineering ↓ SRS ↓ System Analysis ↓ Architecture Design ↓ Database Design ↓ Backend & Frontend Design ↓ Integration ↓ Testing & Deployment
REQUIREMENT ENGINEERING
๐ Definisi
Requirement Engineering adalah proses sistematis untuk:
-
Mengidentifikasi kebutuhan sistem
-
Mengumpulkan kebutuhan dari stakeholder
-
Menganalisis dan menyaring kebutuhan
-
Mendokumentasikan kebutuhan secara formal
-
Memvalidasi kebutuhan sebelum sistem dikembangkan
Requirement Engineering menjawab pertanyaan:
“Apa yang harus dibangun?” sebelum masuk ke “Bagaimana cara membangunnya?”
๐ฏ Tujuan Requirement Engineering
-
Memastikan sistem sesuai kebutuhan bisnis
-
Menghindari kesalahan desain sejak awal
-
Mengurangi risiko perubahan besar di tengah proyek
-
Menjadi dasar penyusunan SRS
-
Menjadi referensi tim developer, tester, dan stakeholder
๐ TAHAPAN REQUIREMENT ENGINEERING
Requirement Engineering bukan hanya mengumpulkan kebutuhan, tetapi melibatkan beberapa tahap:
Elicitation → Analysis → Specification → Validation → Management
Pada pembahasan ini fokus pada tahap awal:
๐ฏ Tahapan Mengumpulkan Kebutuhan Sistem dari Stakeholder
๐ญ STAKEHOLDER
Stakeholder adalah pihak yang memiliki kepentingan terhadap sistem.
1️⃣ User
Contoh:
-
Pelanggan
-
Operator sistem
Fokus:
-
Kemudahan penggunaan
-
Kecepatan akses
-
Kejelasan informasi
2️⃣ Owner / Business Owner
Fokus:
-
Efisiensi operasional
-
Peningkatan pendapatan
-
Laporan dan analitik
-
Return on Investment (ROI)
3️⃣ Admin
Fokus:
-
Kemudahan pengelolaan data
-
Kontrol sistem
-
Monitoring transaksi
4️⃣ IT Team
Fokus:
-
Maintainability
-
Scalability
-
Security
-
Integrasi sistem
5️⃣ Regulator
Fokus:
-
Kepatuhan hukum
-
Perlindungan data pribadi
-
Standar keamanan sistem
๐ METODE PENGUMPULAN REQUIREMENT
Berikut metode yang umum digunakan dalam praktik profesional.
1️⃣ Interview
๐ Definisi
Percakapan terstruktur dengan stakeholder untuk menggali kebutuhan.
๐ Tujuan
-
Mendapatkan informasi mendalam
-
Memahami pain point
-
Mengetahui ekspektasi sistem
๐ Kelebihan
-
Detail dan kontekstual
-
Bisa menggali kebutuhan tersembunyi
๐ Kekurangan
-
Subjektif
-
Bergantung pada kemampuan interviewer
2️⃣ Workshop
๐ Definisi
Diskusi kelompok terstruktur dengan berbagai stakeholder.
๐ Tujuan
-
Menyamakan persepsi
-
Menghindari konflik requirement
-
Mendapatkan konsensus
๐ Output
-
Requirement yang disepakati bersama
3️⃣ Kuesioner
๐ Definisi
Pengumpulan data melalui pertanyaan tertulis.
๐ Cocok untuk:
-
Banyak responden
-
User skala besar
๐ Kelebihan
-
Efisien
-
Terstruktur
๐ Kekurangan
-
Kurang mendalam
4️⃣ Prototyping
๐ Definisi
Membuat model awal sistem (mockup/wireframe).
๐ Tujuan
-
Memvalidasi kebutuhan
-
Mengurangi kesalahan interpretasi
๐ Manfaat
-
Stakeholder lebih mudah memahami sistem
-
Mengurangi ambiguity
5️⃣ Observasi Lapangan
๐ Definisi
Mengamati langsung proses bisnis yang sedang berjalan.
๐ Tujuan
-
Memahami sistem AS-IS
-
Menemukan masalah nyata
๐ Kelebihan
-
Data objektif
-
Mengungkap kebutuhan yang tidak disadari stakeholder
๐ OUTPUT REQUIREMENT ENGINEERING
Setelah proses pengumpulan selesai, hasilnya harus terdokumentasi secara formal.
1️⃣ Daftar Kebutuhan Sistem
Contoh format:
Functional Requirement
-
Sistem harus menyediakan login
-
Sistem harus menyimpan transaksi
Non-Functional Requirement
-
Sistem harus responsif
-
Sistem harus aman
2️⃣ Prioritas Kebutuhan
Menggunakan metode seperti:
-
MoSCoW Method
| Kategori | Arti |
|---|---|
| Must Have | Wajib |
| Should Have | Penting |
| Could Have | Tambahan |
| Won’t Have | Tidak sekarang |
Contoh:
| Requirement | Prioritas |
|---|---|
| Login | Must |
| Dashboard laporan | Should |
| Dark mode | Could |
3️⃣ Dokumen Requirement Awal
Dokumen ini biasanya berisi:
-
Ringkasan kebutuhan bisnis
-
Daftar functional requirement
-
Daftar non-functional requirement
-
Stakeholder list
-
Constraint
-
Assumption
Dokumen ini menjadi dasar penyusunan SRS formal.
Software Development - Problem Identification
Problem Identification ↓ Requirement Engineering ↓ SRS ↓ System Analysis ↓ Architecture Design ↓ Database Design ↓ Backend & Frontend Design ↓ Integration ↓ Testing & Deployment
Sistem Pemesanan Makanan Online untuk UMKM
Tahap ini adalah fondasi rekayasa perangkat lunak.
Kesalahan di tahap ini akan berdampak ke seluruh siklus pengembangan.
๐ฏ TUJUAN IDENTIFIKASI MASALAH
Memahami:
-
Masalah bisnis yang sebenarnya
-
Proses operasional saat ini (AS-IS)
-
Hambatan pertumbuhan
-
Kebutuhan nyata stakeholder
Prinsip penting:
Jangan membangun sistem berdasarkan asumsi teknis, tetapi berdasarkan masalah bisnis yang terverifikasi.
๐ AKTIVITAS IDENTIFIKASI MASALAH
1️⃣ Observasi Proses Bisnis (AS-IS Analysis)
๐ Tujuan
Memahami bagaimana sistem berjalan saat ini.
๐ Kondisi UMKM (Manual System)
Alur pemesanan yang terjadi:
Pelanggan kirim pesan WhatsApp
↓
Admin membalas manual
↓
Pesanan dicatat di buku
↓
Dapur menerima informasi via lisan
↓
Admin hitung total manual
↓
Pelanggan transfer
↓
Admin konfirmasi manual
๐ Temuan Observasi
1. Proses Tidak Terstandarisasi
-
Format pesanan berbeda-beda
-
Admin harus membaca chat satu per satu
2. Human Error Tinggi
-
Salah catat jumlah
-
Salah hitung total
-
Lupa mencatat pesanan
3. Tidak Ada Database Terpusat
-
Data pelanggan tidak tersimpan
-
Riwayat transaksi tidak terdokumentasi
4. Tidak Real-Time
-
Dapur sering terlambat menerima pesanan
-
Tidak ada notifikasi otomatis
๐ Dampak Operasional
| Masalah | Dampak |
|---|---|
| Manual input | Lambat |
| Tidak terstruktur | Sulit analisis |
| Tidak ada laporan | Owner tidak tahu performa |
| Chat menumpuk | Customer experience buruk |
2️⃣ Interview Stakeholder
Stakeholder utama:
-
Owner UMKM
-
Admin kasir
-
Pelanggan tetap
-
Staff dapur
๐ Hasil Interview – Owner
Keluhan utama:
-
Tidak tahu menu mana paling laris
-
Sulit menghitung omzet harian
-
Tidak ada laporan bulanan otomatis
-
Ketergantungan pada admin
๐ Hasil Interview – Admin
Keluhan:
-
Chat terlalu banyak saat jam sibuk
-
Sering salah hitung
-
Harus copy-paste alamat manual
๐ Hasil Interview – Pelanggan
Keluhan:
-
Lama dibalas
-
Tidak tahu status pesanan
-
Tidak ada katalog menu rapi
3️⃣ Identifikasi Pain Point
Dari observasi dan interview, ditemukan pain point berikut:
๐ด Pain Point 1: Inefisiensi Operasional
-
1 admin hanya mampu menangani ±20 order/jam
-
Pada jam sibuk terjadi bottleneck
๐ด Pain Point 2: Kesalahan Perhitungan
-
Total salah
-
Diskon lupa diterapkan
-
Ongkir tidak konsisten
๐ด Pain Point 3: Tidak Ada Insight Bisnis
Owner tidak memiliki:
-
Data penjualan per hari
-
Produk terlaris
-
Repeat customer rate
๐ด Pain Point 4: Skalabilitas Rendah
Jika pesanan meningkat:
-
Admin harus ditambah
-
Biaya operasional meningkat
๐ด Pain Point 5: Customer Experience Rendah
-
Tidak ada tracking
-
Tidak ada konfirmasi otomatis
-
Tidak ada sistem terstruktur
4️⃣ Analisis Gap Sistem Lama (Gap Analysis)
๐ Perbandingan AS-IS vs TO-BE
| Aspek | AS-IS (Manual) | TO-BE (Digital System) |
|---|---|---|
| Pencatatan | Buku/Chat | Database |
| Perhitungan | Manual | Otomatis |
| Laporan | Tidak ada | Real-time dashboard |
| Proses | Lambat | Otomatis |
| Skalabilitas | Rendah | Tinggi |
๐ Gap Utama
-
Tidak ada sistem terpusat
-
Tidak ada automasi
-
Tidak ada analitik
-
Tidak ada integrasi data
๐ OUTPUT TAHAP IDENTIFIKASI MASALAH
1️⃣ Problem Statement
UMKM mengalami inefisiensi operasional dalam proses pemesanan makanan karena sistem masih dilakukan secara manual melalui WhatsApp dan pencatatan buku, sehingga menyebabkan kesalahan pencatatan, lambatnya pelayanan, tidak tersedianya data analitik, serta keterbatasan skalabilitas bisnis.
2️⃣ Business Objective
Tujuan bisnis yang ingin dicapai:
-
Meningkatkan efisiensi pemrosesan pesanan minimal 50%
-
Mengurangi human error hingga <5%
-
Menyediakan laporan penjualan real-time
-
Meningkatkan kapasitas order tanpa menambah SDM
-
Meningkatkan kepuasan pelanggan
3️⃣ High-Level Solution
Mengembangkan sistem pemesanan makanan berbasis web dengan fitur:
-
Registrasi & login pelanggan
-
Katalog produk digital
-
Keranjang belanja otomatis
-
Checkout otomatis
-
Dashboard admin
-
Laporan penjualan real-time
-
Database terpusat
Software Development
https://chatgpt.com/c/69911a01-4cb8-8324-a4e0-93730503d826
PROSES PENGEMBANGAN PERANGKAT LUNAK (END-TO-END SDLC)
Pengembangan perangkat lunak bukan sekadar coding, tetapi proses rekayasa sistem yang terstruktur dan terdokumentasi.
Secara umum mengikuti tahapan:
Problem Identification
↓
Requirement Engineering
↓
SRS
↓
System Analysis
↓
Architecture Design
↓
Database Design
↓
Backend & Frontend Design
↓
Integration
↓
Testing & Deployment
1️⃣ IDENTIFIKASI MASALAH
๐ฏ Tujuan
Memahami masalah bisnis sebelum menulis satu baris kode pun.
๐ Aktivitas
-
Observasi proses bisnis
-
Interview stakeholder
-
Identifikasi pain point
-
Analisis gap sistem lama
๐ Output
-
Problem statement
-
Business objective
-
High-level solution
⚠️ Prinsip Penting
Jangan langsung menawarkan solusi teknis sebelum memahami masalah bisnis.
2️⃣ REQUIREMENT GATHERING
Tahapan mengumpulkan kebutuhan sistem dari stakeholder.
๐ญ Stakeholder
-
User
-
Owner
-
Admin
-
IT team
-
Regulator
๐ Metode
-
Interview
-
Workshop
-
Kuesioner
-
Prototyping
-
Observasi lapangan
๐ Output
-
Daftar kebutuhan sistem
-
Prioritas kebutuhan
-
Dokumen requirement awal
3️⃣ SRS (Software Requirements Specification)
SRS adalah dokumen formal yang menjelaskan apa yang harus dilakukan sistem, bukan bagaimana caranya.
๐ Struktur Umum SRS
1. Pendahuluan
-
Tujuan dokumen
-
Ruang lingkup sistem
-
Definisi istilah
2. Deskripsi Umum
-
Perspektif produk
-
Karakteristik pengguna
-
Batasan sistem
3. Functional Requirements
Contoh:
| ID | Requirement |
|---|---|
| FR1 | Sistem harus memungkinkan user login |
| FR2 | Sistem harus menyimpan transaksi |
4. Non-Functional Requirements
| Kategori | Contoh |
|---|---|
| Performance | Response < 2 detik |
| Security | Enkripsi password |
| Availability | 99% uptime |
| Scalability | 10.000 user concurrent |
5. Use Case Specification
Menjelaskan interaksi user dengan sistem.
๐ Output
Dokumen SRS lengkap (baseline kontrak antara client dan developer).
4️⃣ ANALISIS SISTEM
Tahapan menguraikan requirement menjadi model sistem.
๐ญ Identifikasi Aktor
-
Primary actor
-
Secondary actor
๐ Use Case Analysis
Menentukan:
-
Main success scenario
-
Alternate flow
-
Exception flow
๐ Activity Diagram (Deskriptif)
User Login
↓
Validasi
↓
Akses Dashboard
⚠️ Constraint Analysis
-
Budget
-
Timeline
-
Infrastruktur
-
Regulasi
5️⃣ PERANCANGAN ARSITEKTUR SISTEM
Menentukan struktur teknis sistem.
๐ Pilihan Arsitektur
| Arsitektur | Kapan digunakan |
|---|---|
| Monolith | Sistem kecil-menengah |
| MVC | Web application |
| Microservices | Enterprise & scalable |
| Clean Architecture | Maintainability tinggi |
๐ Client-Server Model
Client (Browser)
↓
Application Server
↓
Database Server
๐ REST Architecture
Karakteristik:
-
Stateless
-
JSON-based
-
HTTP method (GET, POST, PUT, DELETE)
☁ Deployment Model
-
On-premise
-
Cloud (AWS/GCP/Azure)
-
Containerized (Docker)
-
CI/CD pipeline
6️⃣ DESAIN DATABASE
Database design bertujuan memastikan:
-
Konsistensi data
-
Integritas relasi
-
Efisiensi query
๐ ERD (Konsep)
User (1) ────< Order (1) ────< OrderDetail >──── (1) Product
๐ Normalisasi
1NF → Data atomic
2NF → No partial dependency
3NF → No transitive dependency
๐ Contoh Struktur Tabel
Users
-
id (PK)
-
name
-
email (unique)
-
password_hash
-
role
7️⃣ DESAIN BACKEND
Backend bertanggung jawab pada:
-
Business logic
-
Validasi
-
Data processing
-
Security
๐ Pilihan Teknologi
-
Node.js + Express
-
Java Spring Boot
-
PHP Laravel
-
Python Django
๐ Struktur MVC
/controllers /models /routes /middlewares /config
๐ Contoh Endpoint
GET /api/products POST /api/login POST /api/orders
๐ Security Layer
-
JWT authentication
-
Password hashing (bcrypt)
-
Role-based access control
-
Input sanitization
8️⃣ DESAIN FRONTEND
Frontend bertanggung jawab pada:
-
UI/UX
-
Interaksi user
-
Integrasi API
๐จ UI/UX Principle
-
Simplicity
-
Consistency
-
Accessibility
-
Responsive design
๐ Arsitektur Frontend
-
Multi-page application
-
SPA (Single Page Application)
Modern enterprise → SPA (React/Vue/Angular)
๐ฆ Komponen
-
Navbar
-
Form
-
Table
-
Modal
-
Dashboard
๐ Integrasi API
fetch('/api/products')
.then(res => res.json())
.then(data => render(data));
9️⃣ INTEGRASI SISTEM
Menjamin komunikasi antar layer berjalan baik.
๐ Alur Request-Response
Frontend → HTTP Request → Backend
Backend → Query DB → Response JSON
Frontend → Render UI
๐ฆ Struktur JSON Standar
{
"status": "success",
"data": {},
"message": ""
}
๐ TESTING STRATEGY
Testing dilakukan berlapis.
๐งช 1. Unit Testing
Mengujicoba fungsi secara individual.
Contoh:
-
Validasi login
-
Perhitungan total transaksi
๐ 2. Integration Testing
Mengujicoba antar modul:
-
API ↔ Database
-
Frontend ↔ Backend
๐ฅ 3. System Testing
Menguji sistem secara keseluruhan.
✔ 4. User Acceptance Testing (UAT)
Checklist berbasis requirement di SRS.
- https://www.geeksforgeeks.org/system-design/system-design-life-cycle-phases-models-and-use-cases/
- https://www.geeksforgeeks.org/system-design/system-design-life-cycle-phases-models-and-use-cases/
- https://dev.to/fahimulhaq/a-practical-guide-to-frontend-system-design-fnb
- https://devopedia.org/design-thinking-for-requirements-engineering
- https://testrigor.com/blog/system-design-vs-software-architecture/
Prompt Sheet to Web
Code.gs
Belajar Python 1
https://www.youtube.com/watch?v=HSAm6s10G7g&list=PLZS-MHyEIRo59lUBwU-XHH7Ymmb04ffOY&index=3 https://www.python.org/ https://id.wik...
-
Versi 1 Versi 2 Versi 3 Versi 4 Aplikasi ini versi GUI dengan Swing mempunyai form input catatan...
-
https://www.youtube.com/watch?v=wUw8eLeJH0A&list=PLz_5rPRIvGECVDOGY8fMs3-8uZVlyJ-gr https://webdesignmastery.github.io/Royal_Hotel_31-...
-
https://www.youtube.com/watch?v=ronKK1MqcqE https://drive.google.com/file/d/1XG6bPRxZdLmujypKBONwBhlvhbLN0r1g/view https://drive.google.co...




