riset-teknologi-informasi/slide/slide-05-metrics-measurement.md
hb_alim e3e1e8db41 feat: add slide deck and book prompt template
- slide/: 16 Marp slide files with inline UPB CSS theme
  (slide-01 through slide-16, covering all RTI-20252 topics)
- slide/theme/: upb.css canonical theme + logo-upb.png
- docs/AI-BOOK-PROMPT-TEMPLATE.md: RTI-20252 book authoring prompt
2026-04-13 15:04:45 +07:00

1448 lines
41 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
marp: true
paginate: true
class: bagian-ii
header: 'RTI — Riset Teknologi Informasi | Universitas Putra Bangsa Kebumen'
footer: 'Helmi Bahar Alim, S.Kom., M.Kom. | 2026'
---
<style>
/* UPB Theme (inline) */
/*
============================================================
UPB MARP THEME — Riset Teknologi Informasi
Universitas Putra Bangsa (UPB), Kebumen
Fak. Sains & Teknologi | Prodi Teknik Informatika
------------------------------------------------------------
Penggunaan di frontmatter slide:
theme: upb
class: bagian-ii ← opsional; ganti warna Bagian
Kelas per Bagian:
(kosong / default) = Bagian I — Biru #2563EB
bagian-ii = Bagian II — Hijau #059669
bagian-iii = Bagian III — Oranye #d97706
bagian-iv = Bagian IV — Ungu #7c3aed
Kelas layout khusus (gunakan via <!-- _class: ... -->):
cover = Cover / halaman judul
section-header = Pembatas antar-topik
integrative = Bab 8 (UTS — gradien biru-ungu)
fullcircle = Bab 16 penutup (gradien gelap)
============================================================
*/
/* ============================================================
1. CSS CUSTOM PROPERTIES — DEFAULT (Bagian I · Biru)
============================================================ */
section {
--accent: #2563EB;
--accent-dark: #1e3a5f;
--accent-light: #eff6ff;
--accent-border: #bfdbfe;
--cover-grad: linear-gradient(135deg, #1e3a5f 0%, #2563EB 100%);
--cover-sub: #bfdbfe;
--cover-meta: #93c5fd;
font-family: 'Segoe UI', Arial, sans-serif;
font-size: 1.1em;
color: #1e293b;
padding: 40px 60px;
}
/* ============================================================
2. VARIAN WARNA PER BAGIAN
============================================================ */
/* Bagian II — Hijau */
section.bagian-ii {
--accent: #059669;
--accent-dark: #064e3b;
--accent-light: #ecfdf5;
--accent-border: #a7f3d0;
--cover-grad: linear-gradient(135deg, #064e3b 0%, #059669 100%);
--cover-sub: #a7f3d0;
--cover-meta: #6ee7b7;
}
/* Bagian III — Oranye */
section.bagian-iii {
--accent: #d97706;
--accent-dark: #78350f;
--accent-light: #fffbeb;
--accent-border: #fde68a;
--cover-grad: linear-gradient(135deg, #78350f 0%, #d97706 100%);
--cover-sub: #fde68a;
--cover-meta: #fcd34d;
}
/* Bagian IV — Ungu */
section.bagian-iv {
--accent: #7c3aed;
--accent-dark: #3b0764;
--accent-light: #f5f3ff;
--accent-border: #ddd6fe;
--cover-grad: linear-gradient(135deg, #3b0764 0%, #7c3aed 100%);
--cover-sub: #ddd6fe;
--cover-meta: #c4b5fd;
}
/* ============================================================
3. LAYOUT: COVER
============================================================ */
section.cover {
background: var(--cover-grad);
color: white;
justify-content: center;
text-align: center;
}
/* Logo dimuat dari CSS — tidak perlu tag img di markdown */
section.cover::before {
content: '';
display: block;
width: 90px;
height: 90px;
background: white url('theme/logo-upb.png') center / contain no-repeat;
border-radius: 8px;
padding: 6px;
margin: 0 auto 14px;
box-sizing: border-box;
}
section.cover h1 {
color: white;
font-size: 2em;
margin-bottom: 8px;
border-bottom: none;
}
section.cover h2 {
color: var(--cover-sub);
font-size: 1.1em;
font-weight: normal;
}
section.cover p { color: var(--cover-meta); font-size: 0.85em; }
section.cover strong { color: white; }
/* ============================================================
4. LAYOUT: SECTION HEADER (pembatas topik)
============================================================ */
section.section-header {
background: var(--accent);
color: white;
justify-content: center;
text-align: center;
}
section.section-header h1 {
color: white;
font-size: 2.5em;
border-bottom: none;
}
section.section-header h2 { color: rgba(255, 255, 255, 0.85); }
/* ============================================================
5. LAYOUT: INTEGRATIVE (Bab 8 — UTS Checkpoint)
============================================================ */
section.integrative {
background: linear-gradient(135deg, #1e3a5f 0%, #7c3aed 100%);
color: white;
justify-content: center;
text-align: center;
}
section.integrative::before {
content: '';
display: block;
width: 90px;
height: 90px;
background: white url('theme/logo-upb.png') center / contain no-repeat;
border-radius: 8px;
padding: 6px;
margin: 0 auto 14px;
box-sizing: border-box;
}
section.integrative h1 {
color: white;
font-size: 2.2em;
border-bottom: none;
}
section.integrative h2 { color: #ddd6fe; font-size: 1.1em; }
section.integrative p { color: #c4b5fd; font-size: 0.85em; }
section.integrative strong { color: white; }
/* ============================================================
6. LAYOUT: FULLCIRCLE (Bab 16 — Penutup)
============================================================ */
section.fullcircle {
background: linear-gradient(135deg, #1e293b 0%, #1e3a5f 50%, #1e293b 100%);
color: white;
justify-content: center;
text-align: center;
}
section.fullcircle h1 {
color: #ddd6fe;
font-size: 2.2em;
border-bottom: 3px solid #7c3aed;
}
section.fullcircle blockquote {
border-left: 5px solid #7c3aed;
background: rgba(255, 255, 255, 0.08);
color: #ddd6fe;
font-style: italic;
}
/* ============================================================
7. ELEMEN KONTEN — menggunakan CSS vars dari bagian
============================================================ */
h1 {
color: var(--accent);
border-bottom: 3px solid var(--accent);
padding-bottom: 8px;
}
h2 { color: var(--accent-dark); font-size: 1.3em; }
h3 { color: var(--accent); font-size: 1.05em; }
blockquote {
border-left: 5px solid var(--accent);
background: var(--accent-light);
padding: 12px 20px;
margin: 16px 0;
color: var(--accent-dark);
font-style: italic;
border-radius: 0 8px 8px 0;
}
table { font-size: 0.82em; width: 100%; border-collapse: collapse; }
th { background: var(--accent); color: white; padding: 8px 12px; }
td { padding: 6px 12px; border-bottom: 1px solid var(--accent-border); }
tr:nth-child(even) td { background: var(--accent-light); }
code {
background: var(--accent-light);
color: var(--accent-dark);
padding: 2px 6px;
border-radius: 4px;
font-size: 0.9em;
}
pre {
background: #f1f5f9;
color: #1e293b;
padding: 16px;
border-radius: 8px;
border-left: 4px solid var(--accent-border);
}
ul li, ol li { margin-bottom: 6px; line-height: 1.6; }
/* ============================================================
8. HELPER CLASSES
============================================================ */
/* Status / penekanan */
.warn { color: #d97706; font-weight: bold; }
.good { color: #059669; font-weight: bold; }
.bad { color: #dc2626; font-weight: bold; }
/* Kotak pernyataan akhir */
.final {
background: #fef3c7;
border-left: 5px solid #d97706;
padding: 14px 20px;
border-radius: 0 8px 8px 0;
font-size: 1.1em;
}
/* Kotak highlight */
.highlight-box {
background: var(--accent);
color: white;
padding: 16px 20px;
border-radius: 8px;
margin: 12px 0;
}
/* Kotak checkpoint bab 8 */
.checkpoint {
background: #f5f3ff;
border: 2px solid #7c3aed;
border-radius: 8px;
padding: 16px 24px;
margin: 16px 0;
}
/* ============================================================
9. PAGINATION & HEADER/FOOTER
============================================================ */
section::after {
font-size: 0.7em;
color: #94a3b8;
}
section[data-marpit-advanced-background] > div:last-child { padding: 40px 60px; }
</style>
<style>
/* UPB Theme (inline) */
/*
============================================================
UPB MARP THEME — Riset Teknologi Informasi
Universitas Putra Bangsa (UPB), Kebumen
Fak. Sains & Teknologi | Prodi Teknik Informatika
------------------------------------------------------------
Penggunaan di frontmatter slide:
class: bagian-ii ← opsional; ganti warna Bagian
Kelas per Bagian:
(kosong / default) = Bagian I — Biru #2563EB
bagian-ii = Bagian II — Hijau #059669
bagian-iii = Bagian III — Oranye #d97706
bagian-iv = Bagian IV — Ungu #7c3aed
Kelas layout khusus (gunakan via <!-- _class: ... -->):
cover = Cover / halaman judul
section-header = Pembatas antar-topik
integrative = Bab 8 (UTS — gradien biru-ungu)
fullcircle = Bab 16 penutup (gradien gelap)
============================================================
*/
/* ============================================================
1. CSS CUSTOM PROPERTIES — DEFAULT (Bagian I · Biru)
============================================================ */
section {
--accent: #2563EB;
--accent-dark: #1e3a5f;
--accent-light: #eff6ff;
--accent-border: #bfdbfe;
--cover-grad: linear-gradient(135deg, #1e3a5f 0%, #2563EB 100%);
--cover-sub: #bfdbfe;
--cover-meta: #93c5fd;
font-family: 'Segoe UI', Arial, sans-serif;
font-size: 1.1em;
color: #1e293b;
padding: 40px 60px;
}
/* ============================================================
2. VARIAN WARNA PER BAGIAN
============================================================ */
/* Bagian II — Hijau */
section.bagian-ii {
--accent: #059669;
--accent-dark: #064e3b;
--accent-light: #ecfdf5;
--accent-border: #a7f3d0;
--cover-grad: linear-gradient(135deg, #064e3b 0%, #059669 100%);
--cover-sub: #a7f3d0;
--cover-meta: #6ee7b7;
}
/* Bagian III — Oranye */
section.bagian-iii {
--accent: #d97706;
--accent-dark: #78350f;
--accent-light: #fffbeb;
--accent-border: #fde68a;
--cover-grad: linear-gradient(135deg, #78350f 0%, #d97706 100%);
--cover-sub: #fde68a;
--cover-meta: #fcd34d;
}
/* Bagian IV — Ungu */
section.bagian-iv {
--accent: #7c3aed;
--accent-dark: #3b0764;
--accent-light: #f5f3ff;
--accent-border: #ddd6fe;
--cover-grad: linear-gradient(135deg, #3b0764 0%, #7c3aed 100%);
--cover-sub: #ddd6fe;
--cover-meta: #c4b5fd;
}
/* ============================================================
3. LAYOUT: COVER
============================================================ */
section.cover {
background: var(--cover-grad);
color: white;
justify-content: center;
text-align: center;
}
/* Logo dimuat dari CSS — tidak perlu tag img di markdown */
section.cover::before {
content: '';
display: block;
width: 90px;
height: 90px;
background: white url('theme/logo-upb.png') center / contain no-repeat;
border-radius: 8px;
padding: 6px;
margin: 0 auto 14px;
box-sizing: border-box;
}
section.cover h1 {
color: white;
font-size: 2em;
margin-bottom: 8px;
border-bottom: none;
}
section.cover h2 {
color: var(--cover-sub);
font-size: 1.1em;
font-weight: normal;
}
section.cover p { color: var(--cover-meta); font-size: 0.85em; }
section.cover strong { color: white; }
/* ============================================================
4. LAYOUT: SECTION HEADER (pembatas topik)
============================================================ */
section.section-header {
background: var(--accent);
color: white;
justify-content: center;
text-align: center;
}
section.section-header h1 {
color: white;
font-size: 2.5em;
border-bottom: none;
}
section.section-header h2 { color: rgba(255, 255, 255, 0.85); }
/* ============================================================
5. LAYOUT: INTEGRATIVE (Bab 8 — UTS Checkpoint)
============================================================ */
section.integrative {
background: linear-gradient(135deg, #1e3a5f 0%, #7c3aed 100%);
color: white;
justify-content: center;
text-align: center;
}
section.integrative::before {
content: '';
display: block;
width: 90px;
height: 90px;
background: white url('theme/logo-upb.png') center / contain no-repeat;
border-radius: 8px;
padding: 6px;
margin: 0 auto 14px;
box-sizing: border-box;
}
section.integrative h1 {
color: white;
font-size: 2.2em;
border-bottom: none;
}
section.integrative h2 { color: #ddd6fe; font-size: 1.1em; }
section.integrative p { color: #c4b5fd; font-size: 0.85em; }
section.integrative strong { color: white; }
/* ============================================================
6. LAYOUT: FULLCIRCLE (Bab 16 — Penutup)
============================================================ */
section.fullcircle {
background: linear-gradient(135deg, #1e293b 0%, #1e3a5f 50%, #1e293b 100%);
color: white;
justify-content: center;
text-align: center;
}
section.fullcircle h1 {
color: #ddd6fe;
font-size: 2.2em;
border-bottom: 3px solid #7c3aed;
}
section.fullcircle blockquote {
border-left: 5px solid #7c3aed;
background: rgba(255, 255, 255, 0.08);
color: #ddd6fe;
font-style: italic;
}
/* ============================================================
7. ELEMEN KONTEN — menggunakan CSS vars dari bagian
============================================================ */
h1 {
color: var(--accent);
border-bottom: 3px solid var(--accent);
padding-bottom: 8px;
}
h2 { color: var(--accent-dark); font-size: 1.3em; }
h3 { color: var(--accent); font-size: 1.05em; }
blockquote {
border-left: 5px solid var(--accent);
background: var(--accent-light);
padding: 12px 20px;
margin: 16px 0;
color: var(--accent-dark);
font-style: italic;
border-radius: 0 8px 8px 0;
}
table { font-size: 0.82em; width: 100%; border-collapse: collapse; }
th { background: var(--accent); color: white; padding: 8px 12px; }
td { padding: 6px 12px; border-bottom: 1px solid var(--accent-border); }
tr:nth-child(even) td { background: var(--accent-light); }
code {
background: var(--accent-light);
color: var(--accent-dark);
padding: 2px 6px;
border-radius: 4px;
font-size: 0.9em;
}
pre {
background: #f1f5f9;
color: #1e293b;
padding: 16px;
border-radius: 8px;
border-left: 4px solid var(--accent-border);
}
ul li, ol li { margin-bottom: 6px; line-height: 1.6; }
/* ============================================================
8. HELPER CLASSES
============================================================ */
/* Status / penekanan */
.warn { color: #d97706; font-weight: bold; }
.good { color: #059669; font-weight: bold; }
.bad { color: #dc2626; font-weight: bold; }
/* Kotak pernyataan akhir */
.final {
background: #fef3c7;
border-left: 5px solid #d97706;
padding: 14px 20px;
border-radius: 0 8px 8px 0;
font-size: 1.1em;
}
/* Kotak highlight */
.highlight-box {
background: var(--accent);
color: white;
padding: 16px 20px;
border-radius: 8px;
margin: 12px 0;
}
/* Kotak checkpoint bab 8 */
.checkpoint {
background: #f5f3ff;
border: 2px solid #7c3aed;
border-radius: 8px;
padding: 16px 24px;
margin: 16px 0;
}
/* ============================================================
9. PAGINATION & HEADER/FOOTER
============================================================ */
section::after {
font-size: 0.7em;
color: #94a3b8;
}
section[data-marpit-advanced-background] > div:last-child { padding: 40px 60px; }
</style>
<style>
/* UPB Theme (inline) */
/*
============================================================
UPB MARP THEME — Riset Teknologi Informasi
Universitas Putra Bangsa (UPB), Kebumen
Fak. Sains & Teknologi | Prodi Teknik Informatika
------------------------------------------------------------
Penggunaan di frontmatter slide:
class: bagian-ii ← opsional; ganti warna Bagian
Kelas per Bagian:
(kosong / default) = Bagian I — Biru #2563EB
bagian-ii = Bagian II — Hijau #059669
bagian-iii = Bagian III — Oranye #d97706
bagian-iv = Bagian IV — Ungu #7c3aed
Kelas layout khusus (gunakan via <!-- _class: ... -->):
cover = Cover / halaman judul
section-header = Pembatas antar-topik
integrative = Bab 8 (UTS — gradien biru-ungu)
fullcircle = Bab 16 penutup (gradien gelap)
============================================================
*/
/* ============================================================
1. CSS CUSTOM PROPERTIES — DEFAULT (Bagian I · Biru)
============================================================ */
section {
--accent: #2563EB;
--accent-dark: #1e3a5f;
--accent-light: #eff6ff;
--accent-border: #bfdbfe;
--cover-grad: linear-gradient(135deg, #1e3a5f 0%, #2563EB 100%);
--cover-sub: #bfdbfe;
--cover-meta: #93c5fd;
font-family: 'Segoe UI', Arial, sans-serif;
font-size: 1.1em;
color: #1e293b;
padding: 40px 60px;
}
/* ============================================================
2. VARIAN WARNA PER BAGIAN
============================================================ */
/* Bagian II — Hijau */
section.bagian-ii {
--accent: #059669;
--accent-dark: #064e3b;
--accent-light: #ecfdf5;
--accent-border: #a7f3d0;
--cover-grad: linear-gradient(135deg, #064e3b 0%, #059669 100%);
--cover-sub: #a7f3d0;
--cover-meta: #6ee7b7;
}
/* Bagian III — Oranye */
section.bagian-iii {
--accent: #d97706;
--accent-dark: #78350f;
--accent-light: #fffbeb;
--accent-border: #fde68a;
--cover-grad: linear-gradient(135deg, #78350f 0%, #d97706 100%);
--cover-sub: #fde68a;
--cover-meta: #fcd34d;
}
/* Bagian IV — Ungu */
section.bagian-iv {
--accent: #7c3aed;
--accent-dark: #3b0764;
--accent-light: #f5f3ff;
--accent-border: #ddd6fe;
--cover-grad: linear-gradient(135deg, #3b0764 0%, #7c3aed 100%);
--cover-sub: #ddd6fe;
--cover-meta: #c4b5fd;
}
/* ============================================================
3. LAYOUT: COVER
============================================================ */
section.cover {
background: var(--cover-grad);
color: white;
justify-content: center;
text-align: center;
}
/* Logo dimuat dari CSS — tidak perlu tag img di markdown */
section.cover::before {
content: '';
display: block;
width: 90px;
height: 90px;
background: white url('theme/logo-upb.png') center / contain no-repeat;
border-radius: 8px;
padding: 6px;
margin: 0 auto 14px;
box-sizing: border-box;
}
section.cover h1 {
color: white;
font-size: 2em;
margin-bottom: 8px;
border-bottom: none;
}
section.cover h2 {
color: var(--cover-sub);
font-size: 1.1em;
font-weight: normal;
}
section.cover p { color: var(--cover-meta); font-size: 0.85em; }
section.cover strong { color: white; }
/* ============================================================
4. LAYOUT: SECTION HEADER (pembatas topik)
============================================================ */
section.section-header {
background: var(--accent);
color: white;
justify-content: center;
text-align: center;
}
section.section-header h1 {
color: white;
font-size: 2.5em;
border-bottom: none;
}
section.section-header h2 { color: rgba(255, 255, 255, 0.85); }
/* ============================================================
5. LAYOUT: INTEGRATIVE (Bab 8 — UTS Checkpoint)
============================================================ */
section.integrative {
background: linear-gradient(135deg, #1e3a5f 0%, #7c3aed 100%);
color: white;
justify-content: center;
text-align: center;
}
section.integrative::before {
content: '';
display: block;
width: 90px;
height: 90px;
background: white url('theme/logo-upb.png') center / contain no-repeat;
border-radius: 8px;
padding: 6px;
margin: 0 auto 14px;
box-sizing: border-box;
}
section.integrative h1 {
color: white;
font-size: 2.2em;
border-bottom: none;
}
section.integrative h2 { color: #ddd6fe; font-size: 1.1em; }
section.integrative p { color: #c4b5fd; font-size: 0.85em; }
section.integrative strong { color: white; }
/* ============================================================
6. LAYOUT: FULLCIRCLE (Bab 16 — Penutup)
============================================================ */
section.fullcircle {
background: linear-gradient(135deg, #1e293b 0%, #1e3a5f 50%, #1e293b 100%);
color: white;
justify-content: center;
text-align: center;
}
section.fullcircle h1 {
color: #ddd6fe;
font-size: 2.2em;
border-bottom: 3px solid #7c3aed;
}
section.fullcircle blockquote {
border-left: 5px solid #7c3aed;
background: rgba(255, 255, 255, 0.08);
color: #ddd6fe;
font-style: italic;
}
/* ============================================================
7. ELEMEN KONTEN — menggunakan CSS vars dari bagian
============================================================ */
h1 {
color: var(--accent);
border-bottom: 3px solid var(--accent);
padding-bottom: 8px;
}
h2 { color: var(--accent-dark); font-size: 1.3em; }
h3 { color: var(--accent); font-size: 1.05em; }
blockquote {
border-left: 5px solid var(--accent);
background: var(--accent-light);
padding: 12px 20px;
margin: 16px 0;
color: var(--accent-dark);
font-style: italic;
border-radius: 0 8px 8px 0;
}
table { font-size: 0.82em; width: 100%; border-collapse: collapse; }
th { background: var(--accent); color: white; padding: 8px 12px; }
td { padding: 6px 12px; border-bottom: 1px solid var(--accent-border); }
tr:nth-child(even) td { background: var(--accent-light); }
code {
background: var(--accent-light);
color: var(--accent-dark);
padding: 2px 6px;
border-radius: 4px;
font-size: 0.9em;
}
pre {
background: #f1f5f9;
color: #1e293b;
padding: 16px;
border-radius: 8px;
border-left: 4px solid var(--accent-border);
}
ul li, ol li { margin-bottom: 6px; line-height: 1.6; }
/* ============================================================
8. HELPER CLASSES
============================================================ */
/* Status / penekanan */
.warn { color: #d97706; font-weight: bold; }
.good { color: #059669; font-weight: bold; }
.bad { color: #dc2626; font-weight: bold; }
/* Kotak pernyataan akhir */
.final {
background: #fef3c7;
border-left: 5px solid #d97706;
padding: 14px 20px;
border-radius: 0 8px 8px 0;
font-size: 1.1em;
}
/* Kotak highlight */
.highlight-box {
background: var(--accent);
color: white;
padding: 16px 20px;
border-radius: 8px;
margin: 12px 0;
}
/* Kotak checkpoint bab 8 */
.checkpoint {
background: #f5f3ff;
border: 2px solid #7c3aed;
border-radius: 8px;
padding: 16px 24px;
margin: 16px 0;
}
/* ============================================================
9. PAGINATION & HEADER/FOOTER
============================================================ */
section::after {
font-size: 0.7em;
color: #94a3b8;
}
section[data-marpit-advanced-background] > div:last-child { padding: 40px 60px; }
</style>
<style>
/* UPB Theme (inline) */
/*
============================================================
UPB MARP THEME — Riset Teknologi Informasi
Universitas Putra Bangsa (UPB), Kebumen
Fak. Sains & Teknologi | Prodi Teknik Informatika
------------------------------------------------------------
Penggunaan di frontmatter slide:
class: bagian-ii ← opsional; ganti warna Bagian
Kelas per Bagian:
(kosong / default) = Bagian I — Biru #2563EB
bagian-ii = Bagian II — Hijau #059669
bagian-iii = Bagian III — Oranye #d97706
bagian-iv = Bagian IV — Ungu #7c3aed
Kelas layout khusus (gunakan via <!-- _class: ... -->):
cover = Cover / halaman judul
section-header = Pembatas antar-topik
integrative = Bab 8 (UTS — gradien biru-ungu)
fullcircle = Bab 16 penutup (gradien gelap)
============================================================
*/
/* ============================================================
1. CSS CUSTOM PROPERTIES — DEFAULT (Bagian I · Biru)
============================================================ */
section {
--accent: #2563EB;
--accent-dark: #1e3a5f;
--accent-light: #eff6ff;
--accent-border: #bfdbfe;
--cover-grad: linear-gradient(135deg, #1e3a5f 0%, #2563EB 100%);
--cover-sub: #bfdbfe;
--cover-meta: #93c5fd;
font-family: 'Segoe UI', Arial, sans-serif;
font-size: 1.1em;
color: #1e293b;
padding: 40px 60px;
}
/* ============================================================
2. VARIAN WARNA PER BAGIAN
============================================================ */
/* Bagian II — Hijau */
section.bagian-ii {
--accent: #059669;
--accent-dark: #064e3b;
--accent-light: #ecfdf5;
--accent-border: #a7f3d0;
--cover-grad: linear-gradient(135deg, #064e3b 0%, #059669 100%);
--cover-sub: #a7f3d0;
--cover-meta: #6ee7b7;
}
/* Bagian III — Oranye */
section.bagian-iii {
--accent: #d97706;
--accent-dark: #78350f;
--accent-light: #fffbeb;
--accent-border: #fde68a;
--cover-grad: linear-gradient(135deg, #78350f 0%, #d97706 100%);
--cover-sub: #fde68a;
--cover-meta: #fcd34d;
}
/* Bagian IV — Ungu */
section.bagian-iv {
--accent: #7c3aed;
--accent-dark: #3b0764;
--accent-light: #f5f3ff;
--accent-border: #ddd6fe;
--cover-grad: linear-gradient(135deg, #3b0764 0%, #7c3aed 100%);
--cover-sub: #ddd6fe;
--cover-meta: #c4b5fd;
}
/* ============================================================
3. LAYOUT: COVER
============================================================ */
section.cover {
background: var(--cover-grad);
color: white;
justify-content: center;
text-align: center;
}
/* Logo dimuat dari CSS — tidak perlu tag img di markdown */
section.cover::before {
content: '';
display: block;
width: 90px;
height: 90px;
background: white url('theme/logo-upb.png') center / contain no-repeat;
border-radius: 8px;
padding: 6px;
margin: 0 auto 14px;
box-sizing: border-box;
}
section.cover h1 {
color: white;
font-size: 2em;
margin-bottom: 8px;
border-bottom: none;
}
section.cover h2 {
color: var(--cover-sub);
font-size: 1.1em;
font-weight: normal;
}
section.cover p { color: var(--cover-meta); font-size: 0.85em; }
section.cover strong { color: white; }
/* ============================================================
4. LAYOUT: SECTION HEADER (pembatas topik)
============================================================ */
section.section-header {
background: var(--accent);
color: white;
justify-content: center;
text-align: center;
}
section.section-header h1 {
color: white;
font-size: 2.5em;
border-bottom: none;
}
section.section-header h2 { color: rgba(255, 255, 255, 0.85); }
/* ============================================================
5. LAYOUT: INTEGRATIVE (Bab 8 — UTS Checkpoint)
============================================================ */
section.integrative {
background: linear-gradient(135deg, #1e3a5f 0%, #7c3aed 100%);
color: white;
justify-content: center;
text-align: center;
}
section.integrative::before {
content: '';
display: block;
width: 90px;
height: 90px;
background: white url('theme/logo-upb.png') center / contain no-repeat;
border-radius: 8px;
padding: 6px;
margin: 0 auto 14px;
box-sizing: border-box;
}
section.integrative h1 {
color: white;
font-size: 2.2em;
border-bottom: none;
}
section.integrative h2 { color: #ddd6fe; font-size: 1.1em; }
section.integrative p { color: #c4b5fd; font-size: 0.85em; }
section.integrative strong { color: white; }
/* ============================================================
6. LAYOUT: FULLCIRCLE (Bab 16 — Penutup)
============================================================ */
section.fullcircle {
background: linear-gradient(135deg, #1e293b 0%, #1e3a5f 50%, #1e293b 100%);
color: white;
justify-content: center;
text-align: center;
}
section.fullcircle h1 {
color: #ddd6fe;
font-size: 2.2em;
border-bottom: 3px solid #7c3aed;
}
section.fullcircle blockquote {
border-left: 5px solid #7c3aed;
background: rgba(255, 255, 255, 0.08);
color: #ddd6fe;
font-style: italic;
}
/* ============================================================
7. ELEMEN KONTEN — menggunakan CSS vars dari bagian
============================================================ */
h1 {
color: var(--accent);
border-bottom: 3px solid var(--accent);
padding-bottom: 8px;
}
h2 { color: var(--accent-dark); font-size: 1.3em; }
h3 { color: var(--accent); font-size: 1.05em; }
blockquote {
border-left: 5px solid var(--accent);
background: var(--accent-light);
padding: 12px 20px;
margin: 16px 0;
color: var(--accent-dark);
font-style: italic;
border-radius: 0 8px 8px 0;
}
table { font-size: 0.82em; width: 100%; border-collapse: collapse; }
th { background: var(--accent); color: white; padding: 8px 12px; }
td { padding: 6px 12px; border-bottom: 1px solid var(--accent-border); }
tr:nth-child(even) td { background: var(--accent-light); }
code {
background: var(--accent-light);
color: var(--accent-dark);
padding: 2px 6px;
border-radius: 4px;
font-size: 0.9em;
}
pre {
background: #f1f5f9;
color: #1e293b;
padding: 16px;
border-radius: 8px;
border-left: 4px solid var(--accent-border);
}
ul li, ol li { margin-bottom: 6px; line-height: 1.6; }
/* ============================================================
8. HELPER CLASSES
============================================================ */
/* Status / penekanan */
.warn { color: #d97706; font-weight: bold; }
.good { color: #059669; font-weight: bold; }
.bad { color: #dc2626; font-weight: bold; }
/* Kotak pernyataan akhir */
.final {
background: #fef3c7;
border-left: 5px solid #d97706;
padding: 14px 20px;
border-radius: 0 8px 8px 0;
font-size: 1.1em;
}
/* Kotak highlight */
.highlight-box {
background: var(--accent);
color: white;
padding: 16px 20px;
border-radius: 8px;
margin: 12px 0;
}
/* Kotak checkpoint bab 8 */
.checkpoint {
background: #f5f3ff;
border: 2px solid #7c3aed;
border-radius: 8px;
padding: 16px 24px;
margin: 16px 0;
}
/* ============================================================
9. PAGINATION & HEADER/FOOTER
============================================================ */
section::after {
font-size: 0.7em;
color: #94a3b8;
}
section[data-marpit-advanced-background] > div:last-child { padding: 40px 60px; }
</style>
<!-- _class: cover bagian-ii -->
# Bab 5 — Metric, Measurement & Data
## Operasionalisasi: Dari Konsep ke Angka yang Bermakna
*Pertemuan 5 (M5) &nbsp;|&nbsp; Sub-CPMK 2.1 &nbsp;|&nbsp; CPMK02 &nbsp;|&nbsp; CPL06*
Fase: **Designing** (M5M7) &nbsp;·&nbsp; Bagian II: Measurement & Design
**Universitas Putra Bangsa** &nbsp;|&nbsp; Fak. Sains & Teknologi &nbsp;·&nbsp; Prodi Teknik Informatika
---
## Agenda Pertemuan 5
1. Bridge dari Fase Thinking — fondasi ke pengukuran
2. Measurement Alignment Model
3. Operasionalisasi: Concept → Variable → Metric
4. Empat skala data: Nominal, Ordinal, Interval, Ratio
5. Kriteria pemilihan metrik
6. Multi-metric evaluation — mengapa satu metrik tidak cukup
7. Data quality: 4 pilar
8. Cognitive Traps & Studi Kasus
9. Output Praktis: Definisi variabel + metrik + tipe data
---
## Capaian Pembelajaran
Setelah pertemuan ini, mahasiswa mampu:
- Menjelaskan proses **operasionalisasi** dari konsep abstrak ke variabel terukur
- Membedakan 4 skala data dan menentukan **analisis statistik** yang valid per skala
- Memilih metrik yang **representatif, sensitif, dan feasible** sesuai RQ
- Merancang **multi-metric evaluation** yang komprehensif
- Menilai **kualitas data** menggunakan 4 pilar
> Sub-CPMK 2.1 → Mendefinisikan metrik yang valid dan representatif (CPL06)
---
## Bridge — Dari Fase Thinking ke Designing
Di Bab 4, Anda menghasilkan:
- **RQ** yang tajam dan testable
- **Hipotesis** H0/H1 yang falsifiable
- **Contribution Statement** yang eksplisit
**Sekarang pertanyaannya:** Apa tepatnya yang akan **diukur**?
> "Sistem yang diusulkan memiliki performa lebih baik dibanding baseline."
- Performa diukur dari apa?
- Akurasi? Precision? Recall? F1? Latency? Throughput?
- Dan jika dipilih akurasi — apakah distribusi datanya seimbang?
**Keputusan memilih metrik harus dilakukan SEBELUM eksperimen berjalan** — bukan setelah melihat data. *(Wohlin et al., 2012)*
---
## Measurement Alignment Model
*Setiap angka harus bisa ditelusuri balik dari Problem*
```
Problem → Concept → Variable → Metric → Data → Result
↕ ↕ ↕ ↕ ↕ ↕
Abstraksi Konsep Operasionalisasi Kuantifikasi Pengumpulan Analisis
```
| Transisi | Pertanyaan Kunci | Kegagalan Umum |
|----------|-----------------|----------------|
| Problem → Concept | Konsep apa yang mewakili masalah ini? | Konsep terlalu abstrak |
| Concept → Variable | Bagaimana konsep ini bisa diobservasi? | Variabel tidak merepresentasikan konsep |
| Variable → Metric | Dengan satuan apa diukur? | Metrik tidak sensitif terhadap perubahan |
| Metric → Data | Bagaimana data dikumpulkan? | Bias dalam pengumpulan |
| Data → Result | Analisis statistik apa yang valid? | Asumsi statistik tidak dipenuhi |
> Jika rantai ini putus di mana saja → **construct validity** rusak.
---
## Operasionalisasi: Dari Konsep ke Angka
**Contoh operasionalisasi "User Engagement":**
<div class="highlight-box">
**Concept:** User Engagement (abstrak)
&darr; Variable 1: Frekuensi penggunaan &nbsp;|&nbsp; Variable 2: Durasi sesi rata-rata &nbsp;|&nbsp; Variable 3: Breadth of feature usage
&darr; Metric 1: Jumlah sesi/minggu &nbsp;|&nbsp; Metric 2: Durasi rata-rata sesi (menit) &nbsp;|&nbsp; Metric 3: Jumlah fitur unik/sesi
&darr; **Data Type:** Ratio | Ratio | Ratio
</div>
> Keputusan tentang **apa yang mewakili apa** harus **didokumentasikan dan dijustifikasi**. Pembaca harus bisa memahami mengapa variabel ini dipilih (dan bukan variabel lain).
---
## Empat Skala Data
*(Field, 2018)*
| Skala | Urutan? | Jarak Seragam? | Nol Absolut? | Contoh | Analisis Valid |
|-------|---------|---------------|-------------|--------|----------------|
| **Nominal** | | | | Jenis browser, bahasa pemrograman | Frekuensi, modus, Chi-square |
| **Ordinal** | ✓ | | | Skala Likert, severity bug | Median, percentile, Mann-Whitney |
| **Interval** | ✓ | ✓ | | Suhu Celsius, skor IQ | Mean, SD, t-test |
| **Ratio** | ✓ | ✓ | ✓ | Waktu respons (ms), akurasi (%), throughput | Semua operasi, termasuk rasio |
> **Kesalahan paling umum:** memperlakukan **Ordinal** (Likert 15) seolah Interval, lalu menghitung rata-rata dan menggunakan t-test. Tidak valid secara statistik kecuali ada justifikasi khusus.
---
## Kriteria Pemilihan Metrik
Tiga kriteria utama *(Wohlin et al., 2012)*:
**1. Representatif** — Metrik benar-benar merepresentasikan konsep yang diteliti.
- Jika RQ tentang efektivitas deteksi → Recall lebih representatif daripada Accuracy
- Menggunakan Accuracy untuk dataset imbalance
**2. Sensitif** — Metrik cukup peka terhadap perubahan variabel independen.
- F1-score sensitif terhadap trade-off precision-recall
- Accuracy pada 99% imbalance tidak sensitif terhadap perubahan model
**3. Feasible** — Data yang dibutuhkan untuk menghitung metrik bisa diperoleh.
- Metrik yang bisa dihitung dari log sistem
- Metrik yang membutuhkan 10.000 human annotators dalam 1 semester
---
## Multi-Metric Evaluation
**Mengapa satu metrik tidak cukup?**
```
Problem ──→ Concept A ──→ Metric A1
└──→ Concept B ──→ Metric B1
└──→ Metric B2
```
| Kasus | Metrik Tunggal | Multi-Metrik |
|-------|---------------|-------------|
| Fraud detection | Accuracy: 98% (menyesatkan) | Recall + Precision + F2 + AUC-ROC |
| Rekomendasi | Precision@K | Precision@K + Diversity + Coverage + Serendipity |
| NLP model | F1-score agregat | F1 per kelas + Confusion Matrix + MCC |
| System performance | Throughput | Throughput + Latency P50/P95/P99 + Error rate |
> Setiap metrik mengukur satu aspek dari konsep. Gunakan minimal **23 metrik yang saling melengkapi** untuk gambaran yang komprehensif.
---
## Data Quality — 4 Pilar
Data berkualitas buruk menghasilkan hasil yang tidak dapat dipercaya, meskipun metodenya sempurna.
| Pilar | Definisi | Cara Cek |
|-------|---------|---------|
| **Completeness** | Tidak ada nilai yang hilang secara tidak terduga | % missing values per kolom |
| **Consistency** | Format dan logika data konsisten di seluruh dataset | Cross-field validation |
| **Accuracy** | Data merepresentasikan realitas yang sebenarnya | Bandingkan dengan ground truth / sumber asli |
| **Representativeness** | Distribusi data mencerminkan populasi target | Distribusi kelas, geografi, demografi |
**Dokumentasi kualitas data** wajib ada dalam laporan:
- Cara pengumpulan data
- Transformasi yang dilakukan
- Missing values: berapa? diapakan?
---
<!-- _class: section-header bagian-ii -->
# Cognitive Traps
## Bab 5 — Metric & Measurement
---
## Cognitive Traps — Bab 5
**"Accuracy adalah metrik universal"**
Accuracy misleading untuk imbalanced dataset. Model yang memprediksi "semua negatif" pada dataset 99% negatif mendapat accuracy 99%. Gunakan Precision, Recall, F1, MCC, atau AUC sesuai konteks.
**"Metrik dipilih setelah melihat hasil eksperimen"**
Ini adalah *outcome bias* — memilih metrik yang kebetulan menghasilkan nilai terbaik. Metrik harus ditetapkan dalam desain eksperimen, sebelum data dikumpulkan.
**"Data yang banyak pasti representatif"**
Volume ≠ representativeness. 1 juta record dari satu demografi tidak merepresentasikan populasi yang beragam. Periksa distribusi dan sumber data, bukan hanya ukurannya.
---
## Studi Kasus 1 — Accuracy Imbalance (Basic)
**Konteks:** Researcher menggunakan dataset fraud (99.5% normal, 0.5% fraud). Hasil: **Accuracy 99.6%**.
**Masalah:**
- Model memprediksi "semua normal" → accuracy 99.5% (hampir sama dengan "model terbaik")
- Recall fraud: **0%** — tidak satu pun fraud terdeteksi
- Laporan hanya menampilkan accuracy → pembaca tersesat
| Metrik | Nilai | Interpretasi |
|--------|-------|-------------|
| Accuracy | 99.6% | Tidak bermakna |
| Recall (fraud) | 0% | Gagal total |
| F2-score | 0.00 | Model tidak berguna |
| AUC-ROC | 0.50 | Sama dengan random |
**Solusi:** Gunakan F2-score, Recall, AUC-ROC. Tambahkan teknik resampling (SMOTE, class weighting). Laporkan semua metrik.
---
## Studi Kasus 2 — User Satisfaction vs System Metric (Advanced)
**Konteks:** Sistem rekomendasi baru — Precision@10 meningkat dari 72% ke 89%. Tapi user survey score turun.
**Gap Metrik:**
- Researcher hanya mengukur Precision@10 (teknis)
- User experience: semua rekomendasi mirip (filter bubble), tidak ada kejutan
- Metrik teknis tidak merepresentasikan kepuasan pengguna
**Pelajaran:**
```
Technical Metric ≠ User Experience
Precision@10 ≠ User Satisfaction
```
**Solusi:** Tambahkan **Beyond-Accuracy Metrics**:
- Diversity (keberagaman rekomendasi)
- Novelty (seberapa baru item yang direkomendasikan)
- Serendipity (kejutan positif)
- Coverage (berapa persen katalog yang bisa direkomendasikan)
---
## Research vs Engineering — Perspektif Measurement
| Aspek | Engineering | Research |
|-------|------------|---------|
| Memilih metrik | Yang paling mudah dihitung | Yang paling merepresentasikan konsep |
| Performa "bagus" | Lulus acceptance test | Signifikan secara statistik vs baseline |
| Data quality | Cukup untuk demo | Terdokumentasi, justified, reproducible |
| Baseline | Tidak ada (sistem baru) | Wajib ada, dipilih dari literatur |
| Laporan | Metrics terbaik saja | Semua metrics, termasuk yang buruk |
---
## Ringkasan Pertemuan 5
| Konsep | Inti |
|--------|------|
| Measurement Alignment | Problem → Concept → Variable → Metric → Data → Result |
| Operasionalisasi | Konsep abstrak → variabel observable → satuan terukur |
| 4 Skala Data | Nominal · Ordinal · Interval · Ratio (menentukan analisis statistik) |
| Pemilihan Metrik | Representatif + Sensitif + Feasible |
| Multi-Metric | 23 metrik saling melengkapi; tidak ada metrik universal |
| Data Quality | Completeness + Consistency + Accuracy + Representativeness |
---
## Final Statement & Output Praktis
<div class="final">
"Penelitian yang baik bukan hanya mengukur, tetapi memastikan bahwa apa yang diukur benar-benar merepresentasikan realitas."
</div>
### Output Praktis M5
Buat **dokumen definisi pengukuran**:
1. Tabel **Variable Operationalization**: Concept → Variable → Metric → Data Type → Statistical Test
2. **Justifikasi pemilihan metrik** (1 paragraf per metrik utama)
3. **Data quality plan**: bagaimana memastikan 4 pilar kualitas data terpenuhi
*Dokumen ini menjadi bagian "Metodologi — Pengukuran" dalam proposal riset.*
---
## Referensi Utama — Bab 5
- Field, A. (2018). *Discovering statistics using IBM SPSS statistics* (5th ed.). SAGE Publications.
- Shadish, W. R., Cook, T. D., & Campbell, D. T. (2002). *Experimental and quasi-experimental designs for generalized causal inference*. Houghton Mifflin.
- Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., & Wesslén, A. (2012). *Experimentation in software engineering*. Springer.
- Herlocker, J. L., Konstan, J. A., Terveen, L. G., & Riedl, J. T. (2004). Evaluating collaborative filtering recommender systems. *ACM Transactions on Information Systems, 22*(1), 553.