riset-teknologi-informasi/slide/slide-07-experiment-design.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

1455 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 7 — Experimental Design & Validity
## Membangun Bukti yang Dapat Dipercaya
*Pertemuan 7 (M7) &nbsp;|&nbsp; Sub-CPMK 2.3 &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 7
1. Tujuan eksperimen: bukan "menjalankan program"
2. Experimental Validity Model
3. Kausalitas vs Korelasi — perbedaan mendasar
4. Empat jenis validitas eksperimen
5. Tiga jenis eksperimen: Comparison, Ablation, Parameter Study
6. Prinsip Controlled Experiment
7. Dokumen Desain Eksperimen — struktur lengkap
8. Cognitive Traps & Studi Kasus
9. Output Praktis: Desain Eksperimen Lengkap
---
## Capaian Pembelajaran
Setelah pertemuan ini, mahasiswa mampu:
- Menjelaskan perbedaan **kausalitas vs korelasi** dan implikasinya pada klaim riset
- Mendefinisikan 4 jenis **validitas eksperimen**: internal, external, construct, conclusion
- Merancang **controlled experiment** dengan memisahkan variabel independen dan kontrol
- Memilih jenis eksperimen yang tepat: **Comparison, Ablation Study, Parameter Study**
- Menyusun **dokumen desain eksperimen** yang lengkap dan reproducible
> Sub-CPMK 2.3 → Merancang eksperimen yang valid dan terkontrol (CPL06)
---
## Apa Tujuan Eksperimen?
**Bukan:** "Menjalankan program dan melihat hasilnya"
**Bukan:** "Mendapatkan angka untuk dimasukkan ke laporan"
**Ya:** Membangun **bukti empiris** yang menjawab hipotesis secara terkontrol, sehingga klaim dapat diverifikasi oleh peneliti lain.
<div class="highlight-box">
**Hipotesis (H0/H1)** &darr; Rancang kondisi yang mengisolasi variabel &darr; Kumpulkan data di bawah kondisi terkontrol &darr; Analisis statistik &darr; **Kesimpulan dengan tingkat kepercayaan terukur**
</div>
> Eksperimen yang tidak dirancang dengan baik tidak bisa di-*peer review* — karena tidak ada yang bisa direplikasi.
---
## Experimental Validity Model
*Pipeline dari RQ ke Kesimpulan yang Valid*
```
RQ → Hypothesis → Variable Design → Controlled Experiment
→ Data → Analysis → Conclusion (with Validity Level)
```
| Tahap | Kegagalan Tipikal |
|-------|------------------|
| Variable Design | Variabel tidak operasional (tidak terukur) |
| Controlled Experiment | Terlalu banyak variabel berubah sekaligus |
| Data | Tidak representatif, bias sampling |
| Analysis | Asumsi statistik dilanggar |
| Conclusion | Overgeneralisasi dari satu dataset |
> Setiap kegagalan di satu tahap merusak validitas seluruh rantai.
---
## Kausalitas vs Korelasi
**Korelasi:** Dua variabel berubah bersamaan — tidak ada klaim tentang sebab-akibat.
**Kausalitas:** Variabel A menyebabkan perubahan pada variabel B — membutuhkan kontrol eksperimental.
| | Korelasi | Kausalitas |
|--|----------|-----------|
| **Claim** | "A dan B berhubungan" | "A menyebabkan B" |
| **Bukti** | Observasi | Controlled Experiment |
| **Ancaman** | Spurious correlation, confounders | Lebih sulit dipastikan, tapi lebih kuat |
| **Contoh riset TI** | "Model dengan lebih banyak parameter punya akurasi lebih tinggi" | "Menambahkan attention mechanism (dengan kondisi lain dikontrol) meningkatkan F1-score" |
> Banyak paper TI mengklaim kausalitas berdasarkan korelasi. Validitas klaim bergantung pada kualitas desain eksperimen.
---
## Empat Jenis Validitas Eksperimen
*(Shadish, Cook & Campbell, 2002)*
| Validitas | Pertanyaan | Ancaman Utama | Cara Memperkuat |
|-----------|-----------|--------------|----------------|
| **Internal** | Apakah hubungan kausal benar? | Confounders, history effect | Randomisasi, kontrolling variabel |
| **External** | Bisa digeneralisasi ke populasi lain? | Single dataset, narrow scope | Multiple dataset, diverse contexts |
| **Construct** | Kita mengukur konsep yang tepat? | Metrik tidak representatif | Justifikasi operasionalisasi |
| **Conclusion** | Bukti statistik cukup? | Underpowered test, alpha ≠ 0.05 | Power analysis, laporan effect size |
> Setiap eksperimen menghadapi trade-off antar jenis validitas. Dokumentasikan dan akui keterbatasannya secara eksplisit.
---
## Tiga Jenis Eksperimen
### 1. Comparison Experiment
**Tujuan:** Membandingkan dua atau lebih metode/kondisi
**Contoh:** "BERT vs IndoBERT vs mBERT untuk sentimen Bahasa Indonesia"
**Persyaratan:** Semua metode diuji pada **kondisi yang identik**
### 2. Ablation Study
**Tujuan:** Mengidentifikasi kontribusi setiap komponen terhadap performa keseluruhan
**Contoh:** "Full model vs tanpa attention vs tanpa dropout vs tanpa pretrained"
**Persyaratan:** Satu komponen dihilangkan per eksperimen
### 3. Parameter Study
**Tujuan:** Menentukan nilai optimal untuk hyperparameter tertentu
**Contoh:** "Learning rate: 1e-3, 1e-4, 1e-5 → mana yang optimal?"
**Persyaratan:** Satu parameter bervariasi, semua yang lain dikontrol
---
## Prinsip Controlled Experiment
**Aturan Emas: Ubah SATU variabel, kontrol SEMUA yang lain**
**Checklist desain controlled experiment:**
| Item | Pertanyaan | Jawaban Anda |
|------|-----------|-------------|
| Random seed | Apakah seed ditetapkan untuk semua library? | `seed=42` di numpy, torch, sklearn |
| Dataset split | Apakah split identik untuk semua kondisi? | Stratified split, fixed index |
| Preprocessing | Apakah pipeline preprocessing sama? | Shared preprocessing module |
| Hardware | Apakah hardware sama untuk semua kondisi? | Catat GPU, RAM, OS |
| Evaluation | Apakah metrik dihitung dengan cara yang sama? | Shared evaluation module |
| Number of runs | Apakah diulang untuk statistical stability? | Minimal 5 runs, laporkan mean ± std |
---
## Dokumen Desain Eksperimen — Struktur
*Template yang wajib ada sebelum eksperimen dimulai:*
```
1. TUJUAN EKSPERIMEN
- RQ yang akan dijawab
- Hipotesis yang diuji (H0/H1)
2. VARIABEL
- Independent: [nama, nilai yang diuji]
- Dependent: [nama, metrik, cara ukur]
- Control: [nama, nilai yang dikontrol]
3. SKENARIO EKSPERIMEN
- Skenario 1: [kondisi] → [apa yang berubah]
- Skenario 2: ...
4. DATA
- Dataset: [nama, sumber, split ratio, jumlah]
- Preprocessing: [langkah-langkah]
5. VALIDITY THREATS & MITIGATION
- Internal: [ancaman] → [mitigasi]
- External: [ancaman] → [mitigasi]
```
---
<!-- _class: section-header bagian-ii -->
# Cognitive Traps
## Bab 7 — Experimental Design
---
## Cognitive Traps — Bab 7
**"Eksperimen = menjalankan program dan mencatat hasilnya"**
Eksperimen ilmiah membutuhkan: hipotesis yang ditetapkan sebelumnya, variabel yang terisolasi, kondisi yang dikontrol, dan jumlah run yang cukup untuk analisis statistik.
**"Korelasi itu sudah cukup untuk klaim kausalitas"**
Korelasi hanya menunjukkan hubungan. Kausalitas membutuhkan isolasi variabel melalui controlled experiment. Tanpa kontrol, tidak ada yang bisa menjamin yang mana penyebabnya.
**"Baseline tidak perlu fair — yang penting ada pembanding"**
Baseline yang tidak fair (versi lama, kondisi berbeda, hiperparameter tidak optimal) itu merugikan pembaca. Reviewer akan menolak paper dengan baseline yang unfair.
---
## Studi Kasus 1 — Eksperimen Tanpa Kontrol (Basic)
**Konteks:** Peneliti membandingkan model A (baru) vs model B (baseline).
**Masalah — tidak terkontrol:**
- Model A dilatih lebih lama (100 epoch vs 50 epoch)
- Model A menggunakan data preprocessing yang lebih agresif
- Dataset split berbeda
- Hardware berbeda (GPU vs CPU)
**Hasil:** Model A lebih baik 12%. Tapi **mengapa?** Tidak bisa diketahui.
**Solusi — controlled comparison:**
| Item | Model A | Model B |
|------|---------|---------|
| Epoch | 50 | 50 |
| Preprocessing | Identik | Identik |
| Dataset split | Fixed seed 42 | Fixed seed 42 |
| Hardware | GPU RTX 3090 | GPU RTX 3090 |
*Sekarang perbedaan performa bisa dikaitkan ke variabel yang benar-benar berbeda.*
---
## Studi Kasus 2 — Baseline Tidak Fair (Advanced)
**Konteks:** Paper mengklaim metode baru 23% lebih baik. Baseline: BERT 2019.
**Masalah:**
- BERT 2019 tanpa fine-tuning vs metode baru dengan fine-tuning → tidak fair
- Baseline diuji pada dataset yang berbeda dari yang digunakan untuk training
- Hyperparameter baseline menggunakan default tanpa tuning
**Pertanyaan reviewer:** "Apakah 23% benar-benar karena metode baru, atau karena baseline-nya dipersiapkan dengan buruk?"
**Standar fair comparison:**
1. Semua metode di-fine-tune dengan kondisi identik
2. Hyperparameter baseline di-tune setidaknya dengan grid search
3. Dataset split identik
4. Evaluasi dengan metrik yang sama
5. Multiple runs (5+) → laporkan mean ± std
---
## Research vs Engineering — Experimental Design
| Aspek | Engineering | Research |
|-------|------------|---------|
| Pengujian | Functional testing, UAT | Controlled experiment dengan statistik |
| Jumlah run | 1 run (jika berhasil, selesai) | Multiple runs (minimal 5 untuk stat) |
| Baseline | Tidak ada (sistem baru) | Wajib, fair, state-of-the-art |
| Variabel | Semua bisa berganti | Satu berganti, semua lain dikontrol |
| Kegagalan | Diperbaiki | Dilaporkan dan dianalisis |
| Dokumentasi | "Sistem sudah jalan" | Reproducible setup untuk replikasi |
---
## Ringkasan Pertemuan 7
| Konsep | Inti |
|--------|------|
| Tujuan Eksperimen | Membangun bukti empiris yang reproducible — bukan sekadar menjalankan program |
| Kausalitas vs Korelasi | Kausalitas butuh kontrol experimental; korelasi hanya observasi |
| 4 Validitas | Internal · External · Construct · Conclusion |
| 3 Jenis Eksperimen | Comparison · Ablation Study · Parameter Study |
| Controlled Experiment | Ubah 1 variabel, kontrol semua yang lain |
| Dokumen Desain | RQ → Variabel → Skenario → Data → Validity Threats |
---
## Final Statement & Output Praktis
<div class="final">
"Eksperimen bukan sekadar menjalankan sistem, tetapi membangun bukti yang dapat dipercaya."
</div>
### Output Praktis M7
Buat **Dokumen Desain Eksperimen** yang mencakup:
1. Tujuan eksperimen & hipotesis yang diuji
2. Tabel variabel (independent, dependent, control)
3. Skenario eksperimen (minimal 2 skenario)
4. Spesifikasi dataset (split, ukuran, sumber)
5. Validity threats & strategi mitigasi
6. Statistical test yang direncanakan (+ alpha level)
*Dokumen ini = bab Metodologi bagian "Experiment Design" dalam laporan riset.*
---
## Referensi Utama — Bab 7
- 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.
- Ko, A. J., LaToza, T. D., & Burnett, M. M. (2015). A practical guide to controlled experiments of software engineering tools with human participants. *Empirical Software Engineering, 20*(1), 110141.
- Juristo, N., & Moreno, A. M. (2001). *Basics of software engineering experimentation*. Springer.