IF Notes

Home

❯

02. Catatan

❯

IF3250 Proyek Perangkat Lunak

❯

UAS

❯

Rangkuman Kilat UAS (Twitter Version)

Rangkuman Kilat UAS (Twitter Version)

Jun 04, 20265 min read

Back to IF3250 Proyek Perangkat Lunak

⚡ Rangkuman Kilat UAS — IF3250 PPL.

Baca cepat 1 jam sebelum ujian.

Fokus: konsep yang berulang tiap tahun + jebakan KECUALI. 🧵👇

Strategi menang: kuasai tabel KECUALI dulu, lalu Scrum + UML + SPLE.

Itu ~70% soal pilihan ganda. 💪

🪤 Jebakan “KECUALI”

Hafalkan jawaban yang SALAH / bukan. Ini paling sering keluar.

Peran arsitektur, KECUALI → Prototipe dari sistem.

Komponen DSSA, KECUALI → Reference model.

Kelebihan GPL, KECUALI → Mudah digunakan domain expert (itu DSL).

Kelebihan DSL, KECUALI → Banyak dukungan IDE yang baik (itu GPL).

‘Flexibility’ SPLE, KECUALI → Produk spesifik diubah jadi produk spesifik lain.

Tugas Scrum Master, KECUALI → bagi tugas / tentukan tech stack / code review.

Behaviour diagram, KECUALI → Object / Deployment (itu structure).

Interaction diagram, KECUALI → Object diagram.

🌀 Scrum (wajib, keluar tiap paket)

3 Role: Product Owner · Scrum Master · Development Team. BUKAN role: Team Leader.

Scrum Master = fasilitator (pimpin daily, hilangkan hambatan). BUKAN: bagi tugas, tentukan tech stack, code review.

4 Ceremony: Sprint Planning · Daily Scrum · Sprint Review · Sprint Retrospective. BUKAN: formal review.

Artefak: Product Backlog · Sprint Backlog · Increment · (Burndown chart). BUKAN artefak: Kanban board.

Daily meeting bahas Hambatan (impediment). Bukan biaya / jadwal / alokasi orang.

Retrospective bahas Continue / Stop / Start (dilanjutkan / dihentikan / mulai dilaksanakan).

Kanban board: kelancaran task + bottleneck.

Burndown naik di Day X: ada bug pada task yang sudah closed / salah estimasi beban.

Metodologi agile: Scrum, Extreme Programming (XP).

📐 UML (klasifikasi diagram)

Structure: class, object, component, deployment, package, profile, composite.

Behaviour: activity, state machine, use case (+ interaction).

Interaction: sequence, communication, timing, interaction overview.

Domain model / meta-model → Profile diagram.

Object diagram = structure → jawaban “bukan behaviour” & “bukan interaction”.

🏭 MDA (Model Driven Architecture)

Model: CIM → PIM → PSM (Computation / Platform Independent / Specific).

Mapping PIM→PSM format: XML, DTD, XSD.

🧩 DSL vs GPL

DSL (Domain-Specific Language): khusus domain, ekspresif & mudah, sederhana→produktif, mudah utk domain expert; ❌ minim IDE. Contoh: HTML, SQL, R.

GPL (General Purpose Language): banyak programmer & dukungan IDE, berkembang lewat pustaka; ❌ tidak ramah domain expert.

Internal DSL untung: pakai infrastruktur bahasa host, ekspresif/dekat domain, integrasi mulus (contoh: jQuery, Gherkin).

🏗️ SPLE / Product Line / Variability

Kegunaan platform: bangun variasi produk + dasar teknologi seragam + turunkan cost. BUKAN: sediakan komponen produk spesifik.

Motivasi PLE (4): ↑kualitas · ↓time-to-market · ↑akurasi estimasi biaya · ↓effort perawatan.

Langkah variability: identifikasi variability subject → definisikan variability point → definisikan varian.

Causes of variability: different customer/market needs + technical constraints HW/platform.

Flexibility = variability, tetap ada batasannya.

Domain Eng (“for reuse”: core asset) vs Application Eng (“with reuse”: produk spesifik).

🌿 Feature Model

Tipe relasi feature: Mandatory · Optional · OR · Alternative (XOR). BUKAN: AND.

Cross-tree constraint: Require · Exclude/Conflict.

🏛️ Arsitektur & DSSA

Peran arsitektur: alat komunikasi stakeholder · abstraksi sistem · manifestasi keputusan desain (earliest set of design decision). BUKAN: prototipe.

Komponen DSSA: domain model · reference requirements · reference architecture · component library · application configuration method. BUKAN: “reference model”.

DSSA = software architecture fokus pada 1 domain (batasi problem space).

📊 Software Quality & Metrics

ISO 25010 (8): Functional Suitability · Performance Efficiency · Compatibility · Usability · Reliability · Security · Maintainability · Portability.

Maintainability sub: modularity, reusability, analysability, modifiability, testability. ⚠️ adaptability=portability, interoperability=compatibility.

Direct measure (internal): LOC, effort, cost, speed, memory.

Indirect measure (external): quality, complexity, efficiency, reliability, maintainability.

Skala: Nominal → Ordinal → Interval → Ratio (makin ke kanan makin kuat; bisa turun, tak bisa naik).

Measure (vs standar) · Metric (ukuran kuantitatif atribut) · Indicator (penanda goal).

Kegunaan measurement: Understand · Control · Improve.

Metrik baik: valid + reliable (+ objektif, intuitif, robust, praktis).

Rumus penting

McCabe Cyclomatic: V(G)=E−N+2=P+1 (P = predicate node). Aman ≤ 10.

Halstead: η1​,η2​ (distinct operator/operand), N1​,N2​ (total). Volume V=Nlog2​η; Difficulty D=2η1​​⋅η2​N2​​; Effort E=D⋅V.

LCOM = ∣P∣−∣Q∣ jika ∣P∣>∣Q∣, else 0. (P = pasangan method tanpa instance var bersama, Q = yang berbagi.)

OO (Chidamber-Kemerer): WMC, DIT (kedalaman), NOC (jml anak), CBO/RFC (coupling), LCOM (cohesion).

🐘 Large Scale Software Development

Bukan sekadar ukuran kode → kompleksitas: software, requirement, lokasi, platform, politik, resource.

Masalah teknis: memory, time (rebuild), performance, threads, safety, portability.

Prinsip: Reproducibility · Policy enforcement vs auditing · Process (define→improve) · Automation (automate→repeatable) · Continuous Integration & Test.

Akar kesulitan = KOORDINASI → 3C: Communication, Capacity, Cooperation.

ULS System: decentralization · conflicting/unknowable requirements · continuous evolution · normal failures · erosi batas manusia/sistem.

ULS Challenge: Design & Evolution, Orchestration & Control, Monitoring & Assessment.

Scaling Agile — LeSS: minimalism, 1 PO, shared backlog, sprint sinkron.

Scaling Agile — SAFe: value stream, Agile Release Train 5–15 tim/≤150 org, Program Increment.

🎯 DSSE (Domain-Specific Software Engineering)

= leveraging existing domain knowledge (similar problem→similar solution, bangun “the difference”).

Spektrum: Traditional SE (terlalu banyak pilihan) → Architecture-Based → DSSE (domain→DSSA→app).

3 faktor: Domain · Business · Technology. Irisan: Corporate Core Competencies, Application Family Arch, Domain Independent Infra.

Domain Model: Domain Dictionary + Information Model + Feature Model + Operational Model.

Cocok: domain matang/stabil, banyak produk terkait (product line).

Kurang tepat: domain baru/berubah, proyek one-off (reference arch not too-early, not too-late).

🔧 GitLab / CI-CD / Testing

GitLab CI/CD tools: Pipeline + Runner.

Testing via GitLab: Unit + Integration (bukan system/user).

Pipeline gate untuk Merge Request → branching (GitHub Flow) & CI saling menopang.

🧠 Mnemonic super-cepat

Role Scrum = “PO-SM-Team” (no Team Leader).

Ceremony = “Plan-Daily-Review-Retro”.

Variability = “Subject → Point → Varian”.

MDA = “CIM-PIM-PSM”.

3C koordinasi = “Communication, Capacity, Cooperation”.

V(G) = “E−N+2 = P+1, aman ≤10”.

DSL contoh = “HTML, SQL, R”.

DSSA ≠ reference model; arsitektur ≠ prototipe.

💪 Tenang. Baca tabel KECUALI sekali lagi, lalu Scrum + UML + SPLE. Itu 70% soal pilihan ganda. Good luck!


Graph View

  • 🪤 Jebakan “KECUALI”
  • 🌀 Scrum (wajib, keluar tiap paket)
  • 📐 UML (klasifikasi diagram)
  • 🏭 MDA (Model Driven Architecture)
  • 🧩 DSL vs GPL
  • 🏗️ SPLE / Product Line / Variability
  • 🌿 Feature Model
  • 🏛️ Arsitektur & DSSA
  • 📊 Software Quality & Metrics
  • Rumus penting
  • 🐘 Large Scale Software Development
  • 🎯 DSSE (Domain-Specific Software Engineering)
  • 🔧 GitLab / CI-CD / Testing
  • 🧠 Mnemonic super-cepat

Created with Quartz v4.5.1 © 2026

  • GitHub
  • Discord Community