diff --git a/docs/AI-BOOK-PROMPT-TEMPLATE.md b/docs/AI-BOOK-PROMPT-TEMPLATE.md new file mode 100644 index 0000000..ddfe636 --- /dev/null +++ b/docs/AI-BOOK-PROMPT-TEMPLATE.md @@ -0,0 +1,1066 @@ +# Master Prompt Template — AI Book Authoring System +## Berdasarkan Metodologi RTI-20252-Book + +> Dokumen ini berisi prompt-prompt siap pakai untuk membuat buku ajar dengan +> struktur, kualitas, dan metodologi yang identik dengan buku +> *Riset Teknologi Informasi Berbasis OBE & Experimental Thinking*. +> +> Ikuti urutan tahap dari atas ke bawah. Jangan skip tahap. + +--- + +## ═══ FASE 0 — ORIENTASI & KONTEKS ═══ + +Berikan konteks ini kepada AI **di awal setiap sesi baru** sebelum prompt apapun: + +``` +KONTEKS PERMANEN (tempel di setiap sesi): + +Kamu adalah AI editor buku ajar akademik tingkat S1 Indonesia. +Kamu memahami sistem OBE (Outcome-Based Education), KKNI Level 6, +dan standar penulisan buku ajar Kemendikbud. + +Konvensi penulisan yang WAJIB diikuti: +- Bahasa Indonesia semi-formal; istilah teknis dalam Bahasa Inggris (italic) +- Callout boxes: 💡 Insight, ⚠️ Perhatian, 📌 Definisi, 🔧 Template, 📊 Studi Kasus, 🔥 Final Statement +- Referensi: APA 7th Edition +- Diagram: Mermaid flowchart (graph LR atau graph TD) +- Penomoran: Gambar [Bab].[Nomor] (caption bawah), Tabel [Bab].[Nomor] (caption atas) +- Ukuran bab: 15–22 halaman cetak (~3.000–5.000 kata) +- Setiap bab WAJIB: Signature Model (1 diagram Mermaid), Opening Bridge, Closing Bridge, + tabel Research vs Engineering, 3-4 Cognitive Traps, 2 Studi Kasus (Basic+Advanced), + 1 Template Praktis, 1 Mindmap, Final Statement (🔥) +- Tone: explanatory ("mengapa", bukan sekadar "apa") +``` + +--- + +## ═══ FASE 1 — FOUNDATION FILES ═══ + +### PROMPT 1A — MASTER ANCHOR (Buat dulu, sebelum konten apapun) + +``` +Buat file MASTER-ANCHOR.md untuk buku ajar berikut: + +IDENTITAS BUKU: +- Judul : [JUDUL_BUKU] +- Subjudul : [SUBJUDUL] +- Mata Kuliah : [NAMA_MK] +- Program Studi : [PRODI] +- Institusi : [NAMA_INSTITUSI] +- Level : [S1/S2] — KKNI Level [6/7/8] +- Semester : [Semester ke-X] +- Prasyarat : [Mata kuliah prasyarat] + +TUJUAN UTAMA BUKU (1 kalimat): +[Apa yang pembaca BISA LAKUKAN setelah selesai buku ini — action verb spesifik] + +Buat MASTER-ANCHOR.md yang berisi: +1. Identitas mata kuliah (tabel) +2. Tujuan utama — termasuk ❌ BUKAN ini dan ✅ TETAPI ini +3. Research/Learning Pipeline utama yang harus muncul di SETIAP bab + (urutan konsep linear, 8-12 node, misal: A → B → C → D → ...) +4. Learning Phases (3-4 fase, masing-masing nama fase + minggu + fokus) +5. Quality Gates (3 pertanyaan wajib yang setiap bab harus lulus) +6. Anti-drift rules (5-7 aturan: konten apa yang TIDAK boleh masuk) +7. Core Dichotomy yang jadi jiwa buku + (misal RTI: "Engineering Mindset vs Research Mindset") +8. Bahasa & terminologi canonical (kamus mini 10-15 istilah utama) + +Format: Markdown dengan tabel dan callout box ⚠️ untuk anti-drift rules. +Panjang: 3-5 halaman cetak. +``` + +--- + +### PROMPT 1B — BOOK-SPEC (Setelah MASTER-ANCHOR disetujui) + +``` +Buat file BOOK-SPEC.md untuk buku ajar [JUDUL_BUKU]. + +Berdasarkan MASTER-ANCHOR yang sudah dibuat, tambahkan informasi berikut: + +METADATA TAMBAHAN: +- Penulis : [NAMA_PENULIS, gelar akademik] +- Target halaman : [250-350 / sesuaikan dengan jumlah bab] +- Jumlah bab : [N bab + front matter + back matter] +- Bahasa : [Bahasa Indonesia / Campuran] +- Bahasa teknis : [Bahasa Inggris italic] + +STRUKTUR BUKU: +[Daftar Bagian, Bab, dan judulnya — bisa sementara] + +Buat BOOK-SPEC.md yang berisi: +1. Identitas buku (tabel lengkap) +2. Spesifikasi fisik: ukuran B5 (17.6×25cm), font, spasi, margin +3. Struktur buku lengkap: Front Matter → Bagian I–IV (atau sesuai) → Back Matter +4. Anatomi bab standar: 13 seksi wajib dengan kode dan nama +5. Sistem callout/box: 6 jenis (💡⚠️📌🔧📊🔥) dengan panduan penggunaan +6. Konvensi referensi dan kutipan +7. Panduan gambar dan tabel +8. Panduan Mermaid diagram (color scheme per Bagian) +9. Style guide: ❌ contoh buruk vs ✅ contoh baik untuk 5 situasi +10. Quality checklist per bab (15-20 item) + +Format: Markdown. Panjang: 4-6 halaman cetak. +``` + +--- + +### PROMPT 1C — BLUEPRINT (Setelah BOOK-SPEC final) + +``` +Buat file BLUEPRINT.md untuk buku ajar [JUDUL_BUKU]. + +Buku ini memiliki [N] bab yang dibagi dalam [M] Bagian: +[Sebutkan Bagian dan topik kolomnya secara garis besar] + +Untuk SETIAP bab, buat blueprint dengan 8 elemen berikut: + +1. HEADER: Nomor bab, judul bab, minggu ke-X +2. OBE MAPPING: Sub-CPMK, CPMK, CPL +3. SIGNATURE MODEL: Nama model + ASCII pipeline notation + Format: [Konsep A] → [Konsep B] → [Konsep C] → ... +4. KONSEP INTI: 5-7 bullet poin konsep yang WAJIB dicakup +5. CASE STUDIES: 2 judul (Basic = situasi umum, Advanced = situasi kompleks) +6. COGNITIVE TRAPS: 3-4 kutipan kalimat salah yang sering diucapkan pemula + Format: "Kalimat salah yang biasa diucapkan mahasiswa" +7. FINAL STATEMENT: 1 kalimat filosofis penutup bab (🔥) + Format: kalimat yang dimulai "... bukan tentang ..., tetapi tentang ..." +8. OUTPUT PRAKTIS: Artefak konkret yang dihasilkan mahasiswa + +PENTING: +- Bab tengah satu Bagian = checkpoint integratif (UTS/UAS) — tandai +- Setiap Final Statement harus unik dan tidak mengulang kata yang sama +- Signature Model harus mencerminkan inti filosofi bab tersebut +- Cognitive Traps harus khas untuk topik itu (bukan generik) + +Format: Markdown. Satu section per bab. Panjang total: 8-12 halaman. +``` + +--- + +## ═══ FASE 2 — WRITING TEMPLATE ═══ + +### PROMPT 2A — WRITING TEMPLATE + +``` +Buat file WRITING-TEMPLATE.md untuk buku [JUDUL_BUKU]. + +Ini adalah template yang akan digunakan untuk SETIAP bab. +Buat scaffold 13 seksi berikut dengan panduan penulisan per seksi: + +SEKSI 0 — HEADER (metadata, tidak dicetak sebagai bab): + - Nomor dan judul bab + - Sub-CPMK, CPMK, CPL + - Learning Phase (Fase X: [nama fase]) + - Signature Model name + - Ringkasan bab (1 paragraf, ~75 kata) + +SEKSI X.1 — PEMBUKA (~3-5 paragraf): + Panduan: Bridge dari bab sebelumnya → fenomena menarik → + pertanyaan pemantik → pertanyaan sentral bab + +SEKSI X.2 — SIGNATURE MODEL: + Panduan: 1 diagram Mermaid (graph LR atau TD) + nama "Gambar [X].1" + + penjelasan setiap node (3-5 kalimat tiap node) + +SEKSI X.3 — DEFINISI KUNCI (📌): + Panduan: 2-4 definisi formal dalam callout 📌, + format: "**[Istilah]** adalah ..." + +SEKSI X.4 — KONSEP INTI (~6-8 sub-bagian): + Panduan: Reasoning-heavy, bukan deskriptif. + Setiap sub-bagian: nama, penjelasan mengapa penting (2-3 paragraf), + minimal 1 tabel atau list terstruktur + +SEKSI X.5 — RESEARCH VS ENGINEERING (Tabel X.1): + Panduan: Tabel 2 kolom, 6-8 baris, aspek dikiri. + Wajib diakhiri callout 💡 Insight + +SEKSI X.6 — RESEARCH REALITY: + Panduan: 2-3 fenomena nyata dengan data/contoh konkret. + Setiap fenomena diakhiri 💡 insight + +SEKSI X.7 — COGNITIVE TRAPS (⚠️): + Panduan: 3-4 callout ⚠️. Format tiap trap: + Kutipan → Mengapa salah → Koreksi yang benar + +SEKSI X.8 — STUDI KASUS (📊): + Panduan: 2 kasus. Per kasus: konteks → ❌ pendekatan buruk → + ✅ pendekatan benar → tabel perbandingan → 💡 Pelajaran + +SEKSI X.9 — TEMPLATE PRAKTIS (🔧): + Panduan: 1 template fillable dalam code block. + Nama template: "Template [A.N] — [Nama Template]" + Semua field dengan garis: ____________________ + +SEKSI X.10 — MINDMAP RINGKASAN: + Panduan: 1 diagram Mermaid mindmap atau graph. + Nama "Gambar [X].2". Radial/tree, max 3 level. + +SEKSI X.11 — RANGKUMAN: + Panduan: 5-7 bullet poin takeaway + 1 paragraf closing bridge → + bab berikutnya + 🔥 Final Statement (ambil dari BLUEPRINT) + +SEKSI X.12 — LATIHAN & REFLEKSI: + Panduan: 3-5 pertanyaan refleksi + 1-2 latihan menghasilkan artefak. + Output harus konkret, bisa dinilai. + +Di bawah setiap panduan seksi, berikan contoh singkat (5-10 baris) +bagaimana penulisan yang baik vs buruk. + +Format: Markdown. Template ini menjadi standar yang dipatuhi setiap bab. +``` + +--- + +## ═══ FASE 3 — CHAPTER WRITING ═══ + +### PROMPT 3A — PILOT CHAPTER (Bab 1 atau bab yang paling dikuasai) + +``` +Tulis BAB [N] secara LENGKAP untuk buku [JUDUL_BUKU]. + +WAJIB dibaca sebelum menulis: +- MASTER-ANCHOR.md (pipeline, anti-drift rules, quality gates) +- BOOK-SPEC.md (format, callout, konvensi) +- WRITING-TEMPLATE.md (13-seksi scaffold) + +DATA BAB INI (dari BLUEPRINT): +- Judul : [JUDUL_BAB] +- Pertemuan : M[N] +- OBE : Sub-CPMK [X.Y], CPMK[N], CPL[N] +- Phase : Phase [N] — [Nama Phase] +- Signature Model: [NAMA_MODEL] — [ASCII pipeline] +- Konsep Inti : [daftar dari BLUEPRINT] +- Case Study 1 : [JUDUL_KASUS_BASIC] +- Case Study 2 : [JUDUL_KASUS_ADVANCED] +- Cognitive Traps: [3-4 trap dari BLUEPRINT] +- Final Statement: "[KALIMAT DARI BLUEPRINT]" +- Output Praktis: [ARTEFAK] + +INSTRUKSI PENULISAN: +1. Ikuti 13-seksi dari WRITING-TEMPLATE.md persis +2. Signature Model WAJIB dalam Mermaid (graph LR, bernama Gambar [N].1) +3. Cognitive Trap format: callout ⚠️, ada kutipan + koreksi +4. Studi Kasus format: ❌ pendekatan → ✅ pendekatan → tabel → 💡 Pelajaran +5. Template Praktis dalam code block dengan field ____________ +6. Mindmap dalam Mermaid (Gambar [N].2) +7. Opening Bridge: sambungkan dari Bab [N-1] (atau pengantar jika Bab 1) +8. Closing Bridge: arahkan ke Bab [N+1] +9. Minimum 3 referensi dalam teks (format APA 7th in-text) +10. Setiap tabel diberi Tabel [N].[M] + caption di atas + +QUALITY GATE (cek sebelum selesai): +[ ] Gate 1: Apakah bab ini membuat pembaca BERPIKIR, bukan sekadar membaca? +[ ] Gate 2: Apakah bab ini mengarah ke EKSPERIMEN, bukan teori semata? +[ ] Gate 3: Apakah bab ini menghasilkan ARTEFAK RISET yang konkret? + +Target: 3.500–5.000 kata, setara 15-22 halaman cetak B5. +Format: Markdown. +``` + +--- + +### PROMPT 3B — BAB LANJUTAN (Setelah pilot chapter disetujui) + +``` +Tulis BAB [N] untuk buku [JUDUL_BUKU]. + +Ini bab ke-[N] dari [TOTAL] bab. + +KONTEKS BUKU SEJAUH INI: +- Bab sebelumnya ([N-1]): [JUDUL_BAB_SEBELUMNYA] — membahas [TOPIK_SINGKAT] +- Bab ini ([N]): [JUDUL_BAB_INI] +- Bab berikutnya ([N+1]): [JUDUL_BAB_BERIKUTNYA] + +[Isi DATA BAB INI dari BLUEPRINT seperti Prompt 3A] + +TAMBAHAN UNTUK BAB LANJUTAN: +- Opening Bridge WAJIB merujuk ke output/artefak dari Bab [N-1] +- Terminologi yang sudah didefinisikan di bab sebelumnya: JANGAN definisikan ulang, + cukup gunakan dengan referensi "(lihat Bab [X])" +- Studi kasus BOLEH menggunakan karakter/konteks yang sama dengan bab sebelumnya + untuk menciptakan narasi berkesinambungan + +[Lanjutkan dengan instruksi yang sama dari Prompt 3A] +``` + +--- + +### PROMPT 3C — BAB INTEGRATIF / CHECKPOINT (UTS atau UAS) + +``` +Tulis BAB [N] — BAB INTEGRATIF (Checkpoint [UTS/UAS]) untuk buku [JUDUL_BUKU]. + +Bab ini BERBEDA dari bab biasa karena fungsinya adalah KONSOLIDASI, +bukan pengenalan konsep baru. + +TUJUAN BAB INI: +Mahasiswa mengintegrasikan output dari Bab [A] sampai Bab [B] menjadi +satu dokumen/artefak yang koheren. + +STRUKTUR KHUSUS BAB INTEGRATIF: +1. Pembuka: jelaskan mengapa integrasi diperlukan (bukan hanya kompilasi) +2. Integration Map: diagram Mermaid yang menunjukkan hubungan semua konsep + dari bab-bab sebelumnya +3. Koneksi Kritis: tabel 6-8 koneksi, per koneksi ada pertanyaan verifikasi +4. Koherensi Vertikal + Horizontal: jelaskan 2 jenis koherensi +5. Cognitive Traps KHUSUS integratif: + - Proposal sebagai "kumpulan bab" (bukan argumen utuh) + - Copy-paste methodology + - Optimistic timeline + - No possibility of failure +6. Template Integratif: checklist yang menghubungkan semua artefak sebelumnya +7. Rubrik evaluasi diri (4 kriteria, skala 1-3) +8. Refleksi: "Bagian mana yang paling lemah dalam integrasimu?" + +TIDAK perlu: Studi Kasus terpisah, Mindmap per konsep baru. +WAJIB: Integration Map diagram (Gambar [N].1), Checklist template. + +Target: 12-16 halaman (lebih pendek dari bab biasa). +``` + +--- + +## ═══ FASE 4 — WORKSHEET ═══ + +### PROMPT 4A — WORKSHEET PER BAB + +``` +Buat worksheet standalone WS-[NN] untuk BAB [N] buku [JUDUL_BUKU]. + +Worksheet ini digunakan oleh mahasiswa SECARA MANDIRI, tanpa harus membuka buku. +Karena itu, WAJIB berisi semua informasi yang dibutuhkan untuk mengerjakan latihan. + +DATA WORKSHEET: +- Nomor : WS-[NN padded, misal 01, 02, dst.] +- Bab : [N] +- Topik : [TOPIK_BAB] +- Template: A.[N] + +STRUKTUR WORKSHEET (5 seksi): + +## Ringkasan Materi (~1 halaman) +Kompaksi dari konten bab: +- Model/pipeline utama dalam ASCII atau tabel +- Tabel perbandingan kunci (Research vs Engineering) +- 4-6 definisi istilah penting dalam tabel +- 3-4 aturan/prinsip (jebakan kognitif yang dibalik jadi prinsip positif) + +## Template A.[N] — [Nama Template] (~0.5 halaman) +Salin persis template dari Seksi [N].9 buku, dalam code block + +## Latihan 1 — [Nama Latihan] +- Instruksi spesifik +- Tabel dengan MINIMAL 2 baris contoh yang sudah diisi (italic) +- Sisa baris kosong untuk mahasiswa isi +- Pertanyaan terbuka di bawah tabel + +## Latihan 2 — [Nama Latihan] +[Sama dengan Latihan 1] + +## Latihan 3 — [Nama Latihan] +[Sama, dengan tingkat kesulitan lebih tinggi] + +## Refleksi (~2 pertanyaan) +- Pertanyaan 1: "Sebelum materi ini, apakah pernah [asumsi umum]?" +- Pertanyaan 2: Terbuka tentang aplikasi ke riset pribadi mahasiswa + +PENTING: +- Semua tabel latihan HARUS punya minimal 1 baris contoh yang sudah diisi + dengan teks italic (*Contoh: ...*) +- Jangan buat tabel sepenuhnya kosong +- Setiap latihan menghasilkan artefak yang bisa dikumpulkan dan dinilai + +Format: Markdown. Nama file: ws-[NN]-[slug-topik].md +``` + +--- + +### PROMPT 4B — BATCH WORKSHEET (Sekaligus 4+ worksheet) + +``` +Buat BATCH worksheet untuk Bab [A] sampai Bab [B] dari buku [JUDUL_BUKU]. + +Konsistensi yang WAJIB dijaga antar-worksheet: +1. Contoh/skenario berkesinambungan — gunakan SATU konteks/domain yang sama + di semua worksheet (misal: semua pakai domain [DOMAIN_CONTOH]) + sehingga mahasiswa melihat progress riset dari WS-01 sampai WS-[N] +2. Terminologi konsisten — istilah yang sama dipakai dengan arti yang sama +3. Template nomor berurutan (A.1, A.2, ...) +4. Format file konsisten: ws-[NN]-[slug].md + +KONTEKS DOMAIN CONTOH: +[Deskripsikan satu skenario riset yang akan digunakan sebagai benang merah +di semua contoh worksheet. Misal: "Penelitian tentang [topik] yang membandingkan +[metode A] vs [metode B] pada [domain]"] + +Buat WS-[A] sampai WS-[B] sesuai panduan Prompt 4A, menggunakan domain di atas. + +Output: [B-A+1] file worksheet terpisah. +``` + +--- + +## ═══ FASE 5 — BACK MATTER ═══ + +### PROMPT 5A — DAFTAR PUSTAKA + +``` +Buat daftar pustaka (REFERENCES.md) untuk buku [JUDUL_BUKU]. + +Berdasarkan referensi yang sudah dikutip dalam semua [N] bab, +kompilasi dalam format APA 7th Edition. + +Persyaratan: +- Minimum [N×3] referensi (3 per bab sebagai baseline) +- Variasi: buku teks, jurnal internasional (Q1/Q2), prosiding, dan standar/panduan +- Setiap referensi HARUS dikutip minimal di 1 bab (tidak ada referensi orphan) +- Tambahkan kolom "Dikutip di Bab" (tabel terpisah sebagai indeks) + +Struktur: +1. Daftar penuh APA 7th (urutan abjad) +2. Tabel indeks: Referensi × Bab (centang) + +Format: Markdown. target [N×3] – [N×5] referensi. +``` + +--- + +### PROMPT 5B — GLOSARIUM + +``` +Buat glosarium untuk buku [JUDUL_BUKU]. + +Kompilasi semua istilah teknis yang didefinisikan dalam callout 📌 +di semua [N] bab. + +Untuk setiap istilah: +- Entri utama: **[Istilah]** (bahasa Inggris jika ada padanan) + *[Padanan Bahasa Indonesia jika ada]* + Definisi: [1-2 kalimat, semi-formal] + Bab: [N, M, ...] + +Persyaratan: +- Minimum [N×4] istilah (4 per bab sebagai baseline) +- Urutan abjad +- Konsisten dengan bagaimana istilah digunakan dalam teks + +Format: Markdown. Target [N×4]–[N×6] entri. +``` + +--- + +### PROMPT 5C — INDEKS + +``` +Buat indeks buku untuk [JUDUL_BUKU]. + +Indeks harus mencakup: +1. Nama konsep/teori/model (contoh: Signature Model, Research Pipeline) +2. Nama metode/teknik (contoh: Paired t-test, IQR, Z-score) +3. Referensi penulis (contoh: Creswell, 2018) +4. Istilah kunci dari setiap bab +5. Nama template (Template A.1, A.2, ...) + +Format per entri: +**[Entri]**, [N], [M], [...] + *[sub-entri jika ada]*, [N] + +Minimum [N×5] entri utama, dengan beberapa sub-entri. +Urutan abjad. Nomor merujuk ke nomor bab, bukan halaman +(karena ini versi Markdown, halaman ditentukan saat layout). + +Format: Markdown. +``` + +--- + +### PROMPT 5D — KATA PENGANTAR + +``` +Tulis Kata Pengantar untuk buku [JUDUL_BUKU]. + +Penulis: [NAMA_PENULIS], [GELAR] +Institusi: [INSTITUSI] +Tanggal: [KOTA], [BULAN TAHUN] + +Kata Pengantar yang baik memiliki 5 elemen: +1. KONTEKS (1 paragraf): Mengapa buku ini ditulis? Kebutuhan apa yang dijawab? +2. POSISI (1 paragraf): Apa yang membedakan buku ini dari yang lain? +3. CARA BACA (1 paragraf): Bagaimana cara terbaik menggunakan buku ini? +4. TERIMA KASIH (1 paragraf): Pihak yang berkontribusi +5. HARAPAN (1 paragraf): Apa yang diharapkan dari pembaca? + +Tone: Hangat tapi akademik. Panjang: 400-600 kata. +Hindari kalimat klise seperti "Buku ini jauh dari sempurna..." + +Format: Markdown. Diakhiri tanda tangan formal: + +[KOTA], [BULAN TAHUN] +Penulis, + +**[NAMA_PENULIS], [GELAR]** +``` + +--- + +### PROMPT 5E — TENTANG PENULIS + +``` +Tulis halaman Tentang Penulis untuk buku [JUDUL_BUKU]. + +Data penulis: +- Nama lengkap + gelar : [NAMA, GELAR] +- Institusi : [INSTITUSI, PRODI, FAKULTAS] +- Bidang keahlian : [BIDANG 1, BIDANG 2, BIDANG 3] +- Pendidikan : [S1: ..., S2: ..., S3 (jika ada): ...] +- Publikasi utama : [3-5 karya jika ada] +- Kontak : [email institusional] + +Format halaman bio akademik standar buku ajar Indonesia: +- 1 foto placeholder (bisa diisi teks "[Foto Penulis]") +- Paragraf 1: Pendidikan + jabatan saat ini +- Paragraf 2: Keahlian dan bidang riset +- Paragraf 3: Karya dan kontribusi akademik +- Kontak + +Panjang: 150-250 kata. +``` + +--- + +## ═══ FASE 6 — REVIEW & CONSISTENCY ═══ + +### PROMPT 6A — AUDIT KONSISTENSI + +``` +Lakukan CONSISTENCY AUDIT untuk buku [JUDUL_BUKU]. + +Baca semua [N] bab dan periksa: + +1. TERMINOLOGI KONSISTENCY + Buat tabel: Istilah → Cara penulisan di tiap bab + Tandai: ✓ konsisten, ✗ inkonsisten + +2. BRIDGE CONTINUITY + Buat tabel: Bab → Opening Bridge (merujuk bab apa?) → Closing Bridge (mengarah ke bab apa?) + Validasi: setiap Closing Bridge Bab N = topik Opening Bridge Bab N+1 + +3. ARTEFAK CHAIN + Buat tabel: Bab → Output Praktis → Digunakan di Bab + Validasi: output setiap bab menjadi input bab berikutnya (chain intact) + +4. QUALITY GATE AUDIT + Per bab: Gate 1 (Think) / Gate 2 (Experiment) / Gate 3 (Artefact) = Pass/Fail + +5. TEMPLATE NUMBERING + Validasi Template A.1 sampai A.[N] berurutan dan konsisten + +6. DIAGRAM COUNT + Per bab: Gambar [N].1 (Signature Model) + Gambar [N].2 (Mindmap) = ada? + +Laporan: 1 tabel summary per poin. Highlight ✗ untuk perbaikan. +``` + +--- + +### PROMPT 6B — REVISI CHAPTER + +``` +Revisi BAB [N] dari buku [JUDUL_BUKU] berdasarkan temuan audit. + +Masalah yang ditemukan: +[Copy temuan spesifik dari audit — jangan generik] + +Instruksi revisi: +1. Jangan ubah konten/substansi yang sudah benar +2. Fokus pada: [ASPEK YANG PERLU DIPERBAIKI] +3. Pertahankan semua callout box, tabel, dan diagram yang sudah ada +4. Hanya tambah/ubah bagian yang bermasalah + +Verifikasi setelah revisi: +[ ] Bridge dengan bab sebelumnya/sesudahnya sudah konsisten +[ ] Terminologi sesuai MASTER-ANCHOR +[ ] Quality Gates masih terpenuhi +[ ] Panjang masih dalam 15-22 halaman +``` + +--- + +## ═══ PROMPT SATU-LANGKAH (Quick Start) ═══ + +### PROMPT MEGA — Buat Seluruh Foundation Sekaligus + +Gunakan ini jika ingin memulai CEPAT tanpa melalui Fase 1 satu per satu. +**Peringatan:** Hasil lebih baik jika tiap file di-review dulu sebelum lanjut. + +``` +Saya ingin membuat buku ajar baru dengan metodologi yang sama persis dengan +buku "Riset Teknologi Informasi Berbasis OBE & Experimental Thinking" yang +sudah pernah kita buat sebelumnya. + +INFORMASI BUKU BARU: +Judul : [JUDUL] +Subjudul : [SUBJUDUL] +Mata Kuliah : [NAMA_MK] +Penulis : [NAMA, GELAR] +Institusi : [INSTITUSI] +Program Studi : [PRODI] +Level : [S1/S2], Semester [N] +Prasyarat MK : [MK PRASYARAT] +Jumlah bab : [N] (dibagi [M] Bagian) + +DAFTAR BAB (urutan + judul sementara): +Bagian I — [Nama Phase]: + Bab 1: [Judul] + Bab 2: [Judul] + ... + +Bagian II — [Nama Phase]: + ... + +[Dan seterusnya] + +Tujuan utama buku: [1 kalimat action verb] +Core dichotomy : "[Mindset A] vs [Mindset B]" +Domain contoh worksheet: [Domain untuk semua contoh konsisten] + +TUGAS: +Buat secara berurutan: +1. MASTER-ANCHOR.md +2. BOOK-SPEC.md +3. BLUEPRINT.md (semua [N] bab) +4. WRITING-TEMPLATE.md + +Setelah keempat file ini disetujui, saya akan minta bab satu per satu +menggunakan Prompt 3A/3B/3C. + +Mulai dari MASTER-ANCHOR.md. +``` + +--- + +## ═══ TIPS PENGGUNAAN ═══ + +### Urutan yang Disarankan + +``` +Fase 0 → Fase 1 (1A → 1B → 1C) → Fase 2 → Fase 3 (pilot 1 bab dulu) +→ Review pilot → Fase 3 (sisa bab) → Fase 4 (batch WS) → Fase 5 → Fase 6 +``` + +### Tips Manajemen Context Window + +- Simpan MASTER-ANCHOR dan BOOK-SPEC sebagai "sticky context" yang selalu + ditempel di awal setiap sesi baru +- Jangan tulis lebih dari 2 bab dalam satu sesi +- Setelah selesai setiap bab, minta AI membuat "SUMMARY BAB [N]: 5 poin kunci" + dan simpan sebagai catatan untuk sesi berikutnya + +### Domain Contoh yang Disarankan per Jenis Buku + +| Jenis Buku | Domain Contoh Worksheet | +|-----------|------------------------| +| Riset SI/TI | Sistem rekomendasi, fraud detection, NLP | +| Kecerdasan Buatan | Klasifikasi gambar, NLP, reinforcement learning | +| Keamanan Siber | Intrusion detection, phishing, malware analysis | +| Database | Query optimization, data warehousing, NoSQL vs SQL | +| Rekayasa Perangkat Lunak | Code quality, testing, refactoring | +| Data Science | Preprocessing pipeline, model selection, deployment | + +### Checklist Sebelum Commit ke Repo + +``` +[ ] MASTER-ANCHOR final (tidak berubah lagi) +[ ] BOOK-SPEC final +[ ] BLUEPRINT semua bab terisi +[ ] WRITING-TEMPLATE final +[ ] Pilot chapter melewati 3 Quality Gates +[ ] Setiap bab: 2 Gambar + min 1 Tabel + min 3 Referensi +[ ] Worksheet semua bab ada contoh di setiap tabel latihan +[ ] Back matter: References, Glosarium, Indeks, Kata Pengantar, Bio Penulis +[ ] Consistency Audit clean (tidak ada ✗) +``` + +--- + +*Dokumen ini dibuat berdasarkan analisis metodologi buku* +*Riset Teknologi Informasi Berbasis OBE & Experimental Thinking* +*oleh Helmi Bahar Alim, S.Kom., M.Kom. — Universitas Putra Bangsa Kebumen, 2026.* + +--- + +--- + +# LAMPIRAN — VARIAN NON-OBE +## Panduan Adaptasi untuk Buku Tanpa CPL/CPMK + +> Gunakan bagian ini jika buku yang dibuat **bukan buku ajar kurikulum formal**, +> melainkan: buku referensi umum, buku populer-ilmiah, panduan praktisi, +> buku monografi, atau buku ajar mandiri tanpa akreditasi OBE. +> +> **Semua standar kualitas konten tetap sama.** +> Yang berubah hanya *sistem akuntabilitas pembelajaran* — dari OBE metrics +> ke Reader-Outcome metrics. + +--- + +## Prinsip Dasar: Apa yang Diganti, Apa yang Tetap + +| Elemen | Buku OBE (versi asli) | Buku Non-OBE (varian ini) | +|--------|----------------------|--------------------------| +| Tujuan pembelajaran | CPL + CPMK + Sub-CPMK | **Reader Outcome**: apa yang pembaca BISA LAKUKAN | +| Penanda kompetensi | KKNI Level 6/7 | **Difficulty Level**: Pemula / Menengah / Mahir | +| Artefak output | "Output Praktis" (dinilai dosen) | **Takeaway Artefact** (digunakan pembaca sendiri) | +| Checkpoint bab | UTS / UAS integratif | **Synthesis Chapter** (integrasi tanpa nilai) | +| Template bab | Header OBE (Sub-CPMK, CPMK, CPL) | **Header Ringkas** (Topik, Fase, Reader Outcome) | +| Latihan akhir bab | "Latihan & Refleksi" (diserahkan) | **Latihan & Refleksi** (self-directed, tidak dikumpul) | +| Quality Gates | Think / Experiment / Artefact | **Think / Apply / Reflect** | + +**Yang TETAP SAMA:** +- 13-seksi scaffold per bab +- Signature Model (1 Mermaid per bab) +- Cognitive Traps (3-4 per bab) +- Studi Kasus Bad/Good (2 per bab) +- Template Praktis dalam code block +- Mindmap Ringkasan +- Opening + Closing Bridge +- Final Statement 🔥 +- Callout system (💡⚠️📌🔧📊🔥) +- APA 7th referensi +- Glosarium, Indeks, Back Matter lengkap + +--- + +## Panduan Penggantian Elemen per Elemen + +### 1. Ganti Header Bab OBE → Header Non-OBE + +**Versi OBE (original):** +``` +Sub-CPMK : 1.1 +CPMK : CPMK01 +CPL : CPL03 +``` + +**Versi Non-OBE (ganti dengan):** +``` +Topik : [Nama topik bab] +Fase : Fase [N] — [Nama Fase] +Reader Outcome : Setelah bab ini, pembaca mampu [kata kerja aktif + objek spesifik] +Level : [Pemula / Menengah / Mahir] +Prasyarat Bab : Bab [N-1] atau [Tidak ada] +``` + +**Contoh isi Reader Outcome yang baik vs buruk:** +``` +❌ Buruk: "Pembaca memahami konsep riset" +✅ Baik : "Pembaca mampu merumuskan problem statement yang spesifik, + terukur, dan dapat diuji secara empiris" +``` + +--- + +### 2. Ganti Output Praktis → Takeaway Artefact + +**Versi OBE:** "Output Praktis: Problem statement yang diserahkan untuk penilaian" + +**Versi Non-OBE:** Gunakan format ini di akhir setiap bab: + +``` +## Takeaway Artefact — Bab [N] + +Setelah membaca bab ini, Anda siap membuat: +**[Nama artefak]** — [deskripsi 1 kalimat] + +Gunakan Template [A.N] di halaman [X] sebagai panduan. + +Self-check: +[ ] Saya bisa menjelaskan [Konsep A] tanpa membuka buku +[ ] Artefak saya memenuhi kriteria [KriteriaA], [KriteriaB], [KriteriaC] +[ ] Saya tahu bagaimana artefak ini digunakan di Bab [N+1] +``` + +--- + +### 3. Ganti Quality Gates OBE → Quality Gates Non-OBE + +**Versi OBE:** +``` +Gate 1: Apakah bab ini membuat pembaca BERPIKIR? +Gate 2: Apakah bab ini mengarah ke EKSPERIMEN? +Gate 3: Apakah bab ini menghasilkan ARTEFAK RISET? +``` + +**Versi Non-OBE (sesuaikan dengan jenis buku):** + +Untuk buku **referensi/panduan praktisi:** +``` +Gate 1 (THINK) : Apakah bab ini mengubah cara pembaca memandang [topik]? +Gate 2 (APPLY) : Apakah pembaca bisa langsung menerapkan konsep ini hari ini? +Gate 3 (REFLECT) : Apakah ada self-check yang membuat pembaca sadar di level mana mereka? +``` + +Untuk buku **populer-ilmiah:** +``` +Gate 1 (ENGAGE) : Apakah ada hook yang membuat pembaca ingin terus membaca? +Gate 2 (INSIGHT) : Apakah ada minimal 1 insight yang mengejutkan atau counter-intuitive? +Gate 3 (SHARE) : Apakah ada sesuatu yang pembaca ingin ceritakan ke orang lain? +``` + +Untuk buku **monografi/buku ajar mandiri:** +``` +Gate 1 (DEPTH) : Apakah bab ini menjelaskan "mengapa" bukan hanya "apa"? +Gate 2 (CONNECT) : Apakah koneksi ke bab lain eksplisit? +Gate 3 (PRODUCE) : Apakah pembaca menghasilkan sesuatu yang konkret? +``` + +--- + +## PROMPT NON-OBE — FASE 0: Konteks Permanen + +``` +KONTEKS PERMANEN — BUKU NON-OBE (tempel di setiap sesi baru): + +Kamu adalah AI editor buku [JENIS_BUKU: referensi / populer-ilmiah / panduan praktisi]. +Buku ini TIDAK menggunakan sistem OBE/CPL/CPMK. +Standar kualitas konten tetap setara buku ajar akademik. + +Konvensi yang WAJIB diikuti (sama dengan versi OBE): +- Bahasa: [Indonesia semi-formal / Indonesia formal / campuran] +- Callout boxes: 💡 Insight, ⚠️ Perhatian, 📌 Definisi, 🔧 Template, 📊 Studi Kasus, 🔥 Final Statement +- Referensi: APA 7th Edition (tetap diperlukan untuk kredibilitas) +- Diagram: Mermaid flowchart +- Penomoran: Gambar [Bab].[N] + Tabel [Bab].[N] +- Setiap bab WAJIB: Signature Model, Opening/Closing Bridge, Cognitive Traps (3-4), + Studi Kasus (2: Basic+Advanced), Template Praktis, Mindmap, Final Statement 🔥 + +Yang BERBEDA dari versi OBE: +- Header bab: Reader Outcome + Level (bukan Sub-CPMK/CPMK/CPL) +- Quality Gates: Think/Apply/Reflect (bukan Think/Experiment/Artefact) +- Akhir bab: Takeaway Artefact + Self-check (bukan Output Praktis untuk dosen) +- Tone: [sesuaikan: lebih conversational jika populer, tetap semi-formal jika referensi] +``` + +--- + +## PROMPT NON-OBE 1A — MASTER ANCHOR + +``` +Buat file MASTER-ANCHOR.md untuk buku [JUDUL_BUKU]. + +Ini BUKAN buku ajar OBE. Tidak ada CPL/CPMK/Sub-CPMK. +Ganti semua referensi OBE dengan Reader Outcome Framework. + +IDENTITAS BUKU: +- Judul : [JUDUL] +- Subjudul : [SUBJUDUL] +- Jenis : [Referensi / Panduan Praktisi / Populer-Ilmiah / Monografi] +- Penulis : [NAMA, GELAR] +- Target Pembaca : [Deskripsi pembaca: siapa, latar belakang, tujuan membaca] +- Level Buku : [Pemula / Menengah / Mahir / Mixed] +- Konteks Baca : [Mandiri / Pendamping kuliah / Referensi profesional] + +TUJUAN UTAMA (1 kalimat, action verb): +[Apa yang pembaca BISA LAKUKAN setelah selesai buku ini] + +Buat MASTER-ANCHOR.md yang berisi: +1. Identitas buku (tabel) +2. Reader Profile: siapa pembaca ideal, pengetahuan awal yang diasumsikan +3. Tujuan utama — ❌ BUKAN ini dan ✅ TETAPI ini +4. Central Pipeline: urutan konsep yang jadi tulang punggung buku + (8-12 node linear: Konsep A → B → C → ...) +5. Learning Phases (3-4 fase, nama fase + bab-bab yang tercakup + fokus) +6. Quality Gates Non-OBE (3 gates sesuai jenis buku: Think/Apply/Reflect) +7. Anti-drift rules (5-7 aturan konten yang TIDAK boleh masuk) +8. Core Dichotomy yang jadi jiwa buku + (misal: "Cara lama vs cara yang terbukti lebih baik") +9. Kamus terminologi canonical (10-15 istilah, artinya dalam konteks buku ini) + +Format: Markdown dengan tabel dan callout ⚠️. +Panjang: 3-5 halaman cetak. +``` + +--- + +## PROMPT NON-OBE 1C — BLUEPRINT (Versi Non-OBE) + +``` +Buat file BLUEPRINT.md untuk buku [JUDUL_BUKU] (Non-OBE). + +Untuk SETIAP bab, buat blueprint dengan 8 elemen — versi Non-OBE: + +1. HEADER: Nomor bab, judul bab, fase, level (Pemula/Menengah/Mahir) +2. READER OUTCOME: "Setelah bab ini, pembaca mampu [kata kerja + objek spesifik]" + (GANTI OBE MAPPING — ini pengganti CPL/CPMK) +3. SIGNATURE MODEL: Nama model + ASCII pipeline notation +4. KONSEP INTI: 5-7 poin konsep yang wajib dicakup +5. CASE STUDIES: 2 judul (Basic + Advanced) +6. COGNITIVE TRAPS: 3-4 kutipan kalimat salah yang sering muncul +7. FINAL STATEMENT: 1 kalimat filosofis 🔥 +8. TAKEAWAY ARTEFACT: Apa yang pembaca hasilkan + kriteria self-check (3 item) + +KONTRAS dengan OBE: +- Tidak ada Sub-CPMK/CPMK/CPL +- Tidak ada checkpoint UTS/UAS — ganti dengan SYNTHESIS CHAPTER + (bab konsolidasi tanpa konteks penilaian) +- Tidak ada "diserahkan ke dosen" — semua artefak untuk pembaca sendiri + +Format: Markdown. Satu section per bab. +``` + +--- + +## PROMPT NON-OBE 3A — PILOT CHAPTER (Versi Non-OBE) + +``` +Tulis BAB [N] secara LENGKAP untuk buku [JUDUL_BUKU] (Non-OBE). + +DATA BAB INI (dari BLUEPRINT): +- Judul : [JUDUL_BAB] +- Fase : Fase [N] — [Nama Fase] +- Level : [Pemula / Menengah / Mahir] +- Reader Outcome : [dari BLUEPRINT — GANTI OBE] +- Signature Model : [NAMA_MODEL] — [ASCII pipeline] +- Konsep Inti : [daftar] +- Case Study 1 : [Basic] +- Case Study 2 : [Advanced] +- Cognitive Traps : [3-4] +- Final Statement : "[🔥 dari BLUEPRINT]" +- Takeaway Artefact: [dari BLUEPRINT] + +INSTRUKSI PENULISAN (identik dengan versi OBE KECUALI poin 2 dan 10): +1. Ikuti 13-seksi scaffold persis +2. Header bab: Reader Outcome + Level (BUKAN Sub-CPMK/CPMK/CPL) +3. Signature Model dalam Mermaid (Gambar [N].1) +4. Cognitive Traps: callout ⚠️, kutipan + koreksi +5. Studi Kasus: ❌ → ✅ → tabel → 💡 Pelajaran +6. Template Praktis dalam code block +7. Mindmap Mermaid (Gambar [N].2) +8. Opening Bridge dari bab sebelumnya +9. Closing Bridge ke bab berikutnya +10. Akhir bab: Takeaway Artefact + Self-check (BUKAN "Output Praktis") +11. Minimum 3 referensi APA 7th +12. Tabel: Tabel [N].[M] + caption + +QUALITY GATES NON-OBE (cek sebelum selesai): +[ ] Gate 1 (THINK) : Apakah bab ini mengubah cara pembaca memandang topik? +[ ] Gate 2 (APPLY) : Apakah pembaca bisa menerapkan langsung setelah membaca? +[ ] Gate 3 (REFLECT) : Apakah self-check membuat pembaca sadar posisi mereka? + +Target: 3.500–5.000 kata, setara 15-22 halaman B5. +``` + +--- + +## PROMPT NON-OBE 3C — SYNTHESIS CHAPTER (Pengganti Bab Integratif OBE) + +``` +Tulis SYNTHESIS CHAPTER untuk buku [JUDUL_BUKU] — Bab [N]. + +INI BUKAN UTS/UAS. Ini adalah bab konsolidasi mandiri — pembaca +mengintegrasikan pemahaman sendiri, tidak ada penilaian eksternal. + +Perbedaan dengan Bab Integratif OBE: +- HAPUS semua referensi ke "proposal", "diserahkan", "nilai", "ujian" +- GANTI dengan framing: "sebelum lanjut, pastikan fondasi Anda kokoh" +- Rubrik di sini = rubrik SELF-ASSESSMENT, bukan rubrik penilaian dosen + +STRUKTUR KHUSUS SYNTHESIS CHAPTER: +1. Pembuka: "Di titik ini, Anda sudah..." (recap journey, bukan briefing ujian) +2. Synthesis Map: Mermaid diagram yang menghubungkan semua konsep Bab [A]–[B] +3. Koneksi Kritis: tabel koneksi antar-konsep + pertanyaan verifikasi mandiri +4. Self-Assessment Rubrik (4 kriteria, skala 1-3): + - Kriteria berbasis "bisa saya lakukan", bukan "nilai yang diberikan" +5. "Sebelum Lanjut" Checklist: 8-10 item yang pembaca centang sendiri +6. Jika belum siap: panduan mini untuk mengulang bagian mana +7. Closing: "Dengan fondasi ini, kita siap memasuki..." + +TIDAK ADA: referensi ke dosen/penguji, deadline, nilai, format pengumpulan. + +Target: 10-14 halaman. +``` + +--- + +## PROMPT NON-OBE 4A — WORKSHEET (Versi Non-OBE) + +``` +Buat worksheet WS-[NN] untuk BAB [N] buku [JUDUL_BUKU] (Non-OBE). + +Worksheet ini adalah ALAT LATIHAN MANDIRI pembaca. +Tidak ada kolom "Nama / NIM / Tanggal Dikumpulkan". + +PERBEDAAN dari versi OBE: +- Header: "Latihan Mandiri — Bab [N]: [Topik]" (bukan "Worksheet WS-NN") +- Tidak ada kolom identitas mahasiswa +- Instruksi latihan: "Anda" bukan "Mahasiswa" +- Akhir worksheet: Self-check (bukan "Rubrik Penilaian") +- Tidak ada "Kumpulkan ke dosen / upload ke LMS" + +STRUKTUR TETAP SAMA: +## Ringkasan Materi +## Template A.[N] +## Latihan 1, 2, 3 +## Refleksi + +TAMBAHAN DI AKHIR (mengganti rubrik penilaian): +## Self-Check +- [ ] Saya bisa menjelaskan [konsep utama] dalam 2 kalimat +- [ ] Template saya memenuhi: [kriteria 1], [kriteria 2], [kriteria 3] +- [ ] Saya siap menggunakan hasil latihan ini di Bab [N+1] + +Format: Markdown. Nama file: ch[NN]-[slug-topik]-exercise.md +(atau ws-[NN]-[slug].md jika ingin konsisten dengan format OBE) +``` + +--- + +## Tabel Perbedaan Lengkap: OBE vs Non-OBE + +| Aspek | Versi OBE | Versi Non-OBE | +|-------|-----------|---------------| +| Header bab | Sub-CPMK / CPMK / CPL | Reader Outcome + Level | +| Quality Gates | Think / Experiment / Artefact | Think / Apply / Reflect | +| Akhir bab | Output Praktis (dikumpulkan) | Takeaway Artefact + Self-check | +| Bab konsolidasi | UTS / UAS Checkpoint | Synthesis Chapter | +| Worksheet header | Nama / NIM / Kelas | Tidak ada identitas | +| Worksheet penutup | Rubrik Penilaian | Self-check mandiri | +| Referensi ke nilai | "Dikumpulkan", "Dinilai" | "Digunakan", "Diterapkan" | +| Tone latihan | "Mahasiswa diminta..." | "Anda diminta..." / "Coba..." | +| Referensi APA | Wajib | Wajib (kredibilitas tetap) | +| Semua elemen lain | Sama | **Sama persis** | + +--- + +## Contoh Konversi: Satu Blueprint Bab + +**Versi OBE:** +``` +Bab 2 — Problem Formulation +Sub-CPMK : 1.2 +CPMK : CPMK01 +CPL : CPL03 +Output Praktis: Problem statement (dikumpulkan, dinilai dengan rubrik Bab 2) +``` + +**Versi Non-OBE:** +``` +Bab 2 — Problem Formulation +Reader Outcome: Setelah bab ini, pembaca mampu mengubah topik umum menjadi + problem statement yang spesifik, terukur, dan siap diteliti +Level : Pemula → Menengah +Takeaway Artefact: Problem statement untuk topik riset Anda sendiri +Self-check : + [ ] Problem statement saya menjawab "apa masalahnya", bukan "apa solusinya" + [ ] Ada data/fakta yang membuktikan masalah ini nyata + [ ] Masalah bisa diukur dan diuji secara empiris +``` + +--- + +*Lampiran Non-OBE ditambahkan April 2026.* +*Metodologi inti tetap identik — hanya sistem akuntabilitas pembelajaran yang disesuaikan.* diff --git a/slide/slide-01-research-mindset.md b/slide/slide-01-research-mindset.md new file mode 100644 index 0000000..0f2b7ef --- /dev/null +++ b/slide/slide-01-research-mindset.md @@ -0,0 +1,1396 @@ +--- +marp: true +paginate: true +header: 'RTI — Riset Teknologi Informasi | Universitas Putra Bangsa Kebumen' +footer: 'Helmi Bahar Alim, S.Kom., M.Kom. | 2026' +--- + + + + + + + + + + + + + + + + +# Bab 1 — Research Mindset in IT + +## Etika Penelitian, Validitas, dan Paradigma + +*Pertemuan 1 (M1)  |  Sub-CPMK 1.1  |  CPMK01  |  CPL03* + +Fase: **Thinking** (M1–M4)  ·  Bagian I: Foundation + +**Universitas Putra Bangsa**  |  Fak. Sains & Teknologi  ·  Prodi Teknik Informatika + +--- + +## Agenda Pertemuan 1 + +1. Pertanyaan Pemantik — Engineer vs Peneliti +2. Research Trust Model — rantai kepercayaan ilmiah +3. Etika: penjaga validitas, bukan sekadar moral +4. Tiga jenis validitas +5. Paradigma penelitian: Positivisme, Interpretivisme, Pragmatisme +6. Cognitive Traps — jebakan berpikir umum +7. Studi Kasus +8. Output Praktis Pertemuan 1 + +--- + +## Capaian Pembelajaran + +Setelah pertemuan ini, mahasiswa mampu: + +- Membedakan pola pikir **engineer** dan **peneliti** +- Menjelaskan **Research Trust Model** dan risiko distorsi di setiap tahap +- Mengidentifikasi 3 jenis **validitas**: internal, external, construct +- Menjelaskan peran **etika** dalam menjaga integritas ilmiah +- Menentukan **paradigma** penelitian yang sesuai untuk studi kasus TI + +> Sub-CPMK 1.1 → Menunjukkan pemahaman paradigma riset dalam TI (CPL03) + +--- + +## Pertanyaan Pemantik + +Seorang developer menyelesaikan sistem deteksi plagiarisme berbasis NLP. +Demo berjalan lancar. Sistem melaporkan: **akurasi 87%**. + +> Apakah 87% itu **benar**? + +Pertanyaan reviewer: +- 87% terhadap *data training* atau dunia nyata? +- Konsisten pada 1.000 dokumen dari domain berbeda? +- Ada bias dalam proses pengumpulan data? +- Apa *baseline*-nya? + +**Inilah batas antara Engineer dan Peneliti.** + +--- + +## Research Trust Model + +*Rantai kepercayaan dari Realitas ke Pengetahuan — setiap panah = titik rawan distorsi* + +
+ +**Reality** → Data → Processing → Analysis → Inference → **Knowledge** + +
+ +| Transisi | Bahaya Distorsi | +|----------|----------------| +| Reality → Data | Sampling bias, instrumen tidak dikalibrasi | +| Data → Processing | Keputusan outlier & normalisasi mengubah makna | +| Processing → Analysis | Asumsi statistik dilanggar | +| Analysis → Inference | Overgeneralisasi, logical fallacy | +| Inference → Knowledge | Peer review bypass, selective reporting | + +> **Etika** mencegah distorsi yang **disengaja**. **Validitas** mendeteksi distorsi yang **tidak disengaja**. + +--- + +## Etika: Penjaga Validitas Ilmiah + +Bukan sekadar "jangan plagiat" — etika menjaga integritas seluruh rantai penelitian. + +| Pelanggaran | Contoh Konkret | Dampak | +|-------------|---------------|--------| +| **Fabrikasi** | Membuat data fiktif | Hasil tidak bisa direplikasi | +| **Falsifikasi** | Membuang outlier agar p < 0.05 | Kesimpulan menyesatkan | +| **Selective reporting** | Hanya laporkan eksperimen yang berhasil | Publication bias | +| **p-hacking** | Ganti metrik berulang sampai dapat p < 0.05 | False positive | +| **HARKing** | Hipotesis dibuat *setelah* melihat data | Inversi proses ilmiah | + +**Prinsip etika utama** *(Resnik, 2020)*: Kejujuran · Kehati-hatian · Keterbukaan · Integritas + +--- + +## Tiga Jenis Validitas + +*(Shadish, Cook & Campbell, 2002)* + +| Tipe Validitas | Pertanyaan Kunci | Ancaman Umum | +|---------------|-----------------|--------------| +| **Internal validity** | Apakah hubungan sebab-akibat ini benar? | *Confounding variables*, history effect | +| **External validity** | Bisa digeneralisasi ke populasi lain? | Dataset terlalu sempit, domain spesifik | +| **Construct validity** | Kita mengukur konsep yang tepat? | Metrik tidak merepresentasikan konsep | + +> **Insight:** Model ML akurasi 98% bisa memiliki **external validity rendah** jika hanya diuji pada satu dataset yang tidak representatif terhadap distribusi nyata. + +**Tambahan:** *Conclusion validity* — apakah ada cukup bukti statistik untuk menarik kesimpulan? + +--- + +## Paradigma Penelitian + +*(Creswell & Creswell, 2018)* + +| Paradigma | Asumsi Realitas | Metode Utama | Cocok untuk TI | +|-----------|----------------|-------------|---------------| +| **Positivisme** | Realitas objektif, bisa diukur | Kuantitatif, eksperimen | Benchmark, performa sistem | +| **Interpretivisme** | Realitas dikonstruksi sosial | Kualitatif, wawancara | UX research, adopsi teknologi | +| **Pragmatisme** | Kebenaran = yang berguna | Mixed methods | Evaluasi sistem + usability | + +**Posisi mata kuliah ini:** Positivisme + Design Science + +> Design Science Research: membuat dan mengevaluasi *artefak* (sistem, model, metode) sebagai bentuk kontribusi ilmiah — menggabungkan membangun (*build*) dengan membuktikan (*evaluate*). + +--- + + + +# Cognitive Traps +## Jebakan Berpikir Peneliti Pemula + +--- + +## Cognitive Traps — Bab 1 + +**"Angka tinggi = benar"** +Akurasi 98% dari dataset imbalance (95% kelas negatif) tidak bermakna. Butuh F1, AUC, confusion matrix. + +**"Data itu netral"** +Data dikumpulkan oleh manusia, melalui instrumen buatan manusia — bias selalu bisa masuk di setiap tahap. + +**"Kalau sistemnya jalan, berarti benar"** +Sistem berfungsi ≠ klaim tentang sistem valid. Ini perbedaan mendasar engineer vs peneliti. + +**"Kegagalan tidak perlu dilaporkan"** +Kegagalan adalah data — bahkan lebih informatif dari keberhasilan. Wajib didokumentasikan. + +--- + +## Studi Kasus 1 — Manipulasi Dataset (Basic) + +**Konteks:** Mahasiswa membangun model klasifikasi teks dengan akurasi 99%. + +Masalah: Data train dan data test adalah subset dari corpus yang sama dan dipreprocess bersama-sama (*data leakage*). Model "hafal" data test, bukan belajar dari pola. + +**Gejala yang terlewat:** +- Performa di data baru: 61% +- Training loss vs validation loss gap sangat kecil (tidak wajar) + +Solusi: Lakukan **train/validation/test split** sebelum _preprocessing_ apapun. Gunakan held-out test set yang benar-benar tidak tersentuh selama pengembangan. + +> Kunci: urutan operasi dalam pipeline ML menentukan validitas hasil. + +--- + +## Studi Kasus 2 — AI Bias (Advanced) + +**Konteks:** Model screening CV untuk rekrutmen — performa teknis baik, tapi bias gender tersembunyi. + +Masalah: Model dilatih pada data historis perusahaan yang memang bias (lebih banyak merekrut pria untuk posisi teknis). Model belajar mereplikasi bias ini. Akurasi keseluruhan: 89% — tetapi *false rejection rate* kandidat perempuan 3× lebih tinggi. + +Solusi: +1. Tambahkan **fairness metrics** (demographic parity, equalized odds) +2. Audit distribusi training data +3. Fairness constraint dalam objective function +4. Human-in-the-loop untuk keputusan final + +--- + +## Research vs Engineering — Perbedaan Fundamental + +| Aspek | Engineering Mindset | Research Mindset | +|-------|--------------------|--------------------| +| Pertanyaan | "Bagaimana membuatnya bekerja?" | "Apakah klaim ini benar?" | +| Standar sukses | "Sistemnya berjalan" | "Validitasnya terbukti" | +| Terhadap kegagalan | Dihindari, disembunyikan | Dilaporkan, dianalisis | +| Output utama | Produk/aplikasi | Pengetahuan yang terverifikasi | +| Standar penerimaan | Functional requirement | Peer review + replikasi | +| Sumber kebenaran | Testing fungsional | Eksperimen terkontrol + statistik | + +> Mata kuliah RTI melatih Anda untuk menambahkan **research mindset** di atas engineering mindset yang sudah Anda miliki. + +--- + +## Ringkasan Pertemuan 1 + +| Konsep | Inti | +|--------|------| +| Research Trust Model | Reality → Data → Processing → Analysis → Inference → Knowledge | +| Etika | Mencegah distorsi **disengaja** (fabrikasi, falsifikasi, p-hacking) | +| Validitas | Internal (kausalitas), External (generalisasi), Construct (ketepatan ukur) | +| Paradigma | Positivisme + Design Science (posisi MK ini) | +| Mindset shift | Engineer membangun → Peneliti **membuktikan** | + +--- + +## Final Statement & Output Praktis + +
+"Penelitian bukan tentang mendapatkan hasil, tetapi tentang memastikan hasil tersebut dapat dipercaya." +
+ +### Output Praktis M1 + +Buat **esai analisis** (min. 400 kata): + +1. Identifikasi **1 kasus nyata** di dunia TI yang melanggar etika penelitian (boleh dari berita, paper retracted, atau studi kasus terkenal) +2. Jelaskan validitas **mana yang terganggu** dan mengapa +3. Tentukan **paradigma penelitian** yang paling tepat untuk kasus tersebut + +*Format: narasi, bukan bullet points. Cantumkan minimal 2 referensi APA 7th.* + +--- + +## Referensi Utama — Bab 1 + +- Creswell, J. W., & Creswell, J. D. (2018). *Research design: Qualitative, quantitative, and mixed methods approaches* (5th ed.). SAGE Publications. + +- Resnik, D. B. (2020). *What is ethics in research & why is it important?* National Institute of Environmental Health Sciences. https://www.niehs.nih.gov/research/resources/bioethics/whatis + +- Shadish, W. R., Cook, T. D., & Campbell, D. T. (2002). *Experimental and quasi-experimental designs for generalized causal inference*. Houghton Mifflin. + +- Wieringa, R. J. (2014). *Design science methodology for information systems and software engineering*. Springer. diff --git a/slide/slide-02-problem-formulation.md b/slide/slide-02-problem-formulation.md new file mode 100644 index 0000000..5620d4b --- /dev/null +++ b/slide/slide-02-problem-formulation.md @@ -0,0 +1,1430 @@ +--- +marp: true +paginate: true +header: 'RTI — Riset Teknologi Informasi | Universitas Putra Bangsa Kebumen' +footer: 'Helmi Bahar Alim, S.Kom., M.Kom. | 2026' +--- + + + + + + + + + + + + + + + + +# Bab 2 — Problem Formulation & System Context + +## Merumuskan Masalah Riset dari Fenomena TI + +*Pertemuan 2 (M2)  |  Sub-CPMK 1.2  |  CPMK01  |  CPL03 + CPL06* + +Fase: **Thinking** (M1–M4)  ·  Bagian I: Foundation + +**Universitas Putra Bangsa**  |  Fak. Sains & Teknologi  ·  Prodi Teknik Informatika + +--- + +## Agenda Pertemuan 2 + +1. Dari mana penelitian dimulai? +2. Problem Formation Model — proses transformasi masalah +3. Problem Quality Model — 5 kriteria masalah yang layak diteliti +4. Topic vs Problem vs Research Problem +5. Symptom vs Root Cause — menggali ke akar +6. System Thinking dalam konteks riset TI +7. Operasionalisasi: Problem → Variable → Metric +8. Cognitive Traps & Studi Kasus +9. Output Praktis: Problem Statement + +--- + +## Capaian Pembelajaran + +Setelah pertemuan ini, mahasiswa mampu: + +- Membedakan **topik**, **masalah**, dan **masalah riset** secara presisi +- Mengidentifikasi **gejala vs akar masalah** dalam fenomena TI +- Mendeskripsikan **konteks sistem** (Input-Process-Output-Outcome-Constraints-Stakeholders) +- Mentransformasi fenomena TI menjadi **researchable problem** yang terukur +- Memvalidasi problem statement dengan **5 kriteria kualitas** + +> Sub-CPMK 1.2 → Merumuskan masalah riset dari fenomena TI (CPL03 + CPL06) + +--- + +## Pertanyaan Pemantik + +Bab 1 membagun fondasi berpikir: *Curious → Critical → Systematic*. + +Sekarang pertanyaannya: **dari mana penelitian dimulai?** + +> Bukan dari metode. +> Bukan dari dataset. +> Bukan dari tool atau teknologi yang ingin digunakan. +> +> **Penelitian dimulai dari MASALAH.** + +Tapi "masalah riset" bukan sekadar keluhan: +- *"Website kampus lambat"* → keluhan +- *"Waktu respons meningkat 340% saat concurrent user > 500, belum ada studi tentang caching strategy X di arsitektur monolitik akademik"* → masalah riset + +**Perbedaannya: presisi, konteks sistem, dan testability.** + +--- + +## Problem Formation Model + +*Dari Realitas ke Variabel Terukur* + +
+ +**Reality** → Observed Issue → Diagnosed Problem → Researchable Problem → **Measurable Variable** + +(Symptom)        (Root Cause)        (Scoped & Bounded)     (Operationalized) + +
+ +| Tahap | Fungsi | Pertanyaan yang Dijawab | +|-------|--------|------------------------| +| **Reality** | Fenomena dunia nyata | Apa yang terjadi di lapangan? | +| **Observed Issue** | Pengamatan awal (gejala) | Apa yang terlihat "tidak beres"? | +| **Diagnosed Problem** | Akar masalah setelah investigasi | Mengapa itu terjadi? | +| **Researchable Problem** | Masalah + gap literatur + batasan | Apakah ini layak diteliti? | +| **Measurable Variable** | Variabel yang bisa diuji | Bagaimana mengukurnya? | + +> Kesalahan paling umum: melompat langsung dari **Reality ke Measurable Variable** — melewati analisis akar masalah dan literatur gap. + +--- + +## Problem Quality Model — 5 Kriteria + +Setiap masalah riset harus lulus 5 kriteria ini: + +| Kriteria | Pertanyaan Uji | Gagal jika... | +|----------|---------------|--------------| +| **Clarity** | Bisa dipahami tanpa ambiguitas? | Tidak jelas siapa/apa/di mana/kapan | +| **Measurability** | Ada metrik yang bisa diukur? | Hanya bisa dinilai secara subjektif | +| **Relevance** | Ada gap di literatur? | Sudah terjawab penuh sebelumnya | +| **Testability** | Bisa dieksperimenkan? | Terlalu luas, tidak feasible | +| **Impact** | Ada kontribusi nyata? | Tidak ada yang peduli dengan jawabannya | + +> Jika masalah tidak lulus semua 5 kriteria → ulangi proses formasi. Lebih baik 1 minggu perbaiki masalah daripada 1 semester meneliti masalah yang salah. + +--- + +## Topic vs Problem vs Research Problem + +| Level | Analogi | Contoh TI | +|-------|---------|-----------| +| **Topik** | "Ada masalah di kota ini" | "Keamanan IoT" | +| **Masalah** | "Jalan berlubang di KM 5" | "MQTT tidak terenkripsi pada IoT rumahan" | +| **Masalah Riset** | "Lubang di KM 5 disebabkan drainase gagal; belum ada studi material X untuk kondisi ini" | "Belum ada studi yang membandingkan overhead TLS 1.3 vs DTLS pada MQTT di perangkat resource-constrained (RAM < 64KB)" | + +**Research Problem memiliki 3 elemen yang tidak dimiliki masalah biasa:** +1. **Gap** — "belum ada studi yang..." +2. **Variabel terukur** — "overhead (ms, KB)" +3. **Batasan konteks** — "resource-constrained, RAM < 64KB" + +--- + +## Symptom vs Root Cause + +Dalam riset TI, apa yang terlihat di permukaan bukan selalu masalah yang sebenarnya. + +| Yang Diamati (Gejala) | Akar Masalah (Dugaan) | Masalah Riset | +|----------------------|----------------------|---------------| +| "Pengguna mengeluh aplikasi lambat" | Query DB tidak terindeks → full table scan | Efektivitas composite index pada tabel 2M record PostgreSQL dalam skenario concurrent read | +| "Model ML performa menurun di produksi" | Training-serving skew (distribusi data berbeda) | Deteksi & mitigasi data drift pada pipeline ML streaming real-time | +| "Pengguna meninggalkan fitur baru" | Friction di onboarding flow | Korelasi antara kompleksitas UI dan user retention pada aplikasi mobile F&B | + +> Teknik menggali akar masalah: **5 Whys**, **Fishbone Diagram**, **Root Cause Analysis** — sebelum masuk ke literatur. + +--- + +## System Thinking dalam Riset TI + +Masalah riset TI selalu terikat pada **sistem**. Tanpa memahami sistem, masalah jadi abstrak dan tidak bisa dieksperimenkan. + +``` +Input → [Process] → Output → Outcome + | + Constraints + | + Stakeholders +``` + +| Komponen | Contoh (Studi Rekomendasi Film) | +|----------|---------------------------------| +| **Input** | Riwayat tontonan pengguna, rating, metadata konten | +| **Process** | Algoritma collaborative filtering | +| **Output** | Daftar 10 film yang direkomendasikan | +| **Outcome** | Pengguna puas, waktu tonton meningkat (atau tidak) | +| **Constraints** | Latency < 200ms, privasi data, cold-start problem | +| **Stakeholders** | Pengguna, platform, content provider | + +> Akurasi tinggi (Output) ≠ pengguna puas (Outcome). Inilah mengapa masalah riset tidak bisa hanya fokus pada satu komponen sistem. + +--- + +## Transformasi: Problem → Variable → Metric + +*Operasionalisasi masalah ke variabel yang dapat diukur* + +``` +Problem → Variable → Metric → Data Type → Analysis Method +``` + +**Contoh:** + +| Problem | Variable | Metric | Tipe Data | +|---------|---------|--------|-----------| +| Rekomendasi tidak relevan | Relevansi rekomendasi | Precision@K, NDCG | Ratio | +| Fraud lolos deteksi | Kemampuan deteksi fraud | Recall, F2-score | Ratio | +| UI terlalu kompleks | Kemudahan penggunaan | Task completion time, SUS score | Ratio / Ordinal | + +> Metrik harus dipilih **sebelum eksperimen berjalan** — bukan setelah melihat data dan memilih yang menghasilkan angka terbaik. *(Wohlin et al., 2012)* + +--- + + + +# Cognitive Traps +## Bab 2 — Problem Formulation + +--- + +## Cognitive Traps — Bab 2 + +**"Saya ingin menggunakan metode X, maka saya cari masalah yang cocok"** +Ini *reverse engineering* penelitian. Metode dipilih berdasarkan masalah — bukan sebaliknya. Jika mulai dari metode, bukan masalah yang diteliti, tapi metode yang didemonstrasikan. + +**"Semakin kompleks sistemnya, semakin bagus penelitiannya"** +Kompleksitas bukan kontribusi. Masalah spesifik yang sederhana namun belum terjawab lebih bermakna daripada sistem kompleks dengan masalah yang sudah umum diketahui. + +**"Problem tidak perlu diukur, yang penting jelas"** +"Respon sistem lambat" bukan masalah riset — tidak ada yang bisa dieksperimenkan. Research problem harus memiliki variabel yang terukur secara kuantitatif. + +**"Semua problem bisa diteliti"** +Tidak semua masalah memenuhi 5 kriteria kualitas. Sebagian masalah lebih tepat diselesaikan melalui engineering atau desain, bukan riset ilmiah. + +--- + +## Studi Kasus 1 — Rekomendasi Film (Basic) + +**Konteks:** Peneliti membangun sistem rekomendasi film dengan collaborative filtering. Akurasi: 91%. + +**Masalah:** Peneliti menggunakan *accuracy* (hit rate) sebagai satu-satunya metrik. Pengguna memperoleh rekomendasi yang "akurat" secara teknis, tapi tidak puas karena semua rekomendasi mirip (*filter bubble*) dan selalu item populer (*popularity bias*). + +**Masalah riset yang sebenarnya:** +*"Bagaimana trade-off antara Precision@10 dan Diversity dalam sistem rekomendasi collaborative filtering pada dataset cold-start?"* + +**Solusi:** Definisikan masalah dari perspektif sistem lengkap (output + outcome + constraints). Gunakan multi-metric: Precision@K + Serendipity + Diversity + Coverage. + +--- + +## Studi Kasus 2 — Fraud Detection (Advanced) + +**Konteks:** Model fraud detection — akurasi 98%, tapi fraud tetap lolos ke produksi. + +**Root Cause Analysis:** +- Dataset imbalance: 99.5% transaksi normal, 0.5% fraud +- Dengan akurasi 98% sederhana: model bisa memprediksi "semua normal" dan tetap mendapat akurasi 98% +- Metrik yang salah menghasilkan *false sense of security* + +| Metrik | Nilai | Makna Sebenarnya | +|--------|-------|-----------------| +| Accuracy | 98.2% | Tidak bermakna untuk imbalanced data | +| Recall (fraud) | 12% | Model melewatkan 88% kasus fraud! | +| F2-score | 0.31 | Rendah — recall lebih dipentingkan dari precision | + +**Masalah riset yang tepat:** *"Efektivitas teknik resampling [SMOTE vs ADASYN] terhadap Recall dan F2-score pada deteksi fraud transaksi perbankan dengan rasio imbalance 1:200."* + +--- + +## Ringkasan Pertemuan 2 + +| Konsep | Inti | +|--------|------| +| Problem Formation | Reality → Observed Issue → Diagnosed → Researchable → Measurable | +| Problem Quality | Clarity + Measurability + Relevance + Testability + Impact | +| Hierarki | Topik (wilayah) < Masalah (celah) < Research Problem (celah + gap + batas) | +| Symptom vs Root Cause | Gali lebih dalam sebelum ke literatur | +| System Thinking | Input-Process-Output-Outcome + Constraints + Stakeholders | +| Operasionalisasi | Problem → Variable → Metric → Data Type → Analysis | + +--- + +## Final Statement & Output Praktis + +
+"Penelitian tidak dimulai dari solusi, tetapi dari masalah yang dipahami secara mendalam dan dapat diuji secara ilmiah." +
+ +### Output Praktis M2 + +Buat **Problem Statement** yang mencakup: + +1. **Konteks sistem** — deskripsikan Input, Process, Output, Outcome, Constraints +2. **Gejala yang diamati** — data/fakta yang membuktikan masalah nyata +3. **Akar masalah** — hasil 5-Whys/RCA +4. **Gap literatur** — apa yang belum dijawab di penelitian sebelumnya +5. **Variabel & metrik** yang akan diukur + +*Validasi terhadap 5 kriteria Problem Quality Model sebelum dikumpulkan.* + +--- + +## Referensi Utama — Bab 2 + +- Creswell, J. W., & Creswell, J. D. (2018). *Research design: Qualitative, quantitative, and mixed methods approaches* (5th ed.). SAGE Publications. + +- Hevner, A. R., March, S. T., Park, J., & Ram, S. (2004). Design science in information systems research. *MIS Quarterly, 28*(1), 75–105. + +- Wieringa, R. J. (2014). *Design science methodology for information systems and software engineering*. Springer. + +- Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., & Wesslén, A. (2012). *Experimentation in software engineering*. Springer. diff --git a/slide/slide-03-literature-gap.md b/slide/slide-03-literature-gap.md new file mode 100644 index 0000000..9f608a2 --- /dev/null +++ b/slide/slide-03-literature-gap.md @@ -0,0 +1,1430 @@ +--- +marp: true +paginate: true +header: 'RTI — Riset Teknologi Informasi | Universitas Putra Bangsa Kebumen' +footer: 'Helmi Bahar Alim, S.Kom., M.Kom. | 2026' +--- + + + + + + + + + + + + + + + + +# Bab 3 — Literature Review, Research Gap & Baseline + +## Menavigasi Literatur untuk Menemukan Posisi Riset + +*Pertemuan 3 (M3)  |  Sub-CPMK 1.3  |  CPMK01  |  CPL03* + +Fase: **Thinking** (M1–M4)  ·  Bagian I: Foundation + +**Universitas Putra Bangsa**  |  Fak. Sains & Teknologi  ·  Prodi Teknik Informatika + +--- + +## Agenda Pertemuan 3 + +1. Bridge dari Bab 2 — dari masalah ke literatur +2. Research Positioning Model — tujuan sebenarnya literature review +3. Literature review bukan ringkasan — positioning artinya apa? +4. Empat jenis research gap +5. Baseline: definisi, kriteria, dan cara memilih +6. Strategi pencarian literatur yang efisien +7. Gap → RQ → Hypothesis (jembatan ke Bab 4) +8. Cognitive Traps & Studi Kasus +9. Output: Tabel Literatur + Gap Statement + Baseline + +--- + +## Capaian Pembelajaran + +Setelah pertemuan ini, mahasiswa mampu: + +- Menjelaskan tujuan **literature review** sebagai *positioning*, bukan ringkasan +- Mengidentifikasi **4 jenis research gap**: Performance, Method, Data, Context +- Memilih **baseline** yang representatif dan *state-of-the-art* +- Melakukan pencarian literatur terstruktur di **IEEE, ACM, Scopus** dengan boolean query +- Menyusun **gap statement** yang menghubungkan literatur ke RQ + +> Sub-CPMK 1.3 → Menavigasi literatur & menemukan research gap (CPL03) + +--- + +## Bridge dari Bab 2 + +Di Bab 2, Anda telah: +- Mengidentifikasi masalah riset (bukan sekadar topik) +- Memvalidasi dengan 5 kriteria Problem Quality +- Menghasilkan Problem Statement dengan variabel terukur + +**Pertanyaan berikutnya:** Apakah masalah ini sudah pernah diteliti? + +> Jika sudah terjawab penuh → bukan research gap, tapi replikasi. +> Jika belum terjawab → di manakah tepatnya "celahnya"? +> Jika sebagian terjawab → apa yang spesifik belum terselesaikan? + +Literature review menjawab pertanyaan-pertanyaan ini **secara sistematis**. + +--- + +## Research Positioning Model + +*Dari Literatur ke Posisi Riset Anda* + +``` +Existing Studies → Method Comparison → Limitation Identification + → Research Gap → Research Position → Contribution +``` + +| Tahap | Aktivitas | Output | +|-------|----------|--------| +| **Existing Studies** | Baca & kategorikan 20–40 paper relevan | Peta literatur | +| **Method Comparison** | Bandingkan pendekatan & metrik tiap paper | Tabel metode & hasil | +| **Limitation ID** | Identifikasi keterbatasan eksplisit & implisit | Daftar limitasi | +| **Research Gap** | Temukan celah yang belum terjawab | Gap statement | +| **Research Position** | Di mana riset Anda dalam peta literatur | Positioning statement | +| **Contribution** | Apa yang baru yang Anda tambahkan | Contribution claim | + +--- + +## Literature Review: Positioning, Bukan Ringkasan + +**Literature review yang salah:** +*"Smith (2020) menggunakan CNN untuk klasifikasi gambar dan mendapat akurasi 89%. Jones (2021) menggunakan ResNet dan mendapat 92%. Kumar (2022) menggunakan ViT dan mendapat 95%."* + +Ini adalah **ringkasan** — bukan *positioning*. Tidak muncul pertanyaan: mengapa ada perbedaan? Apa yang belum dijawab? + +**Literature review yang benar:** +*"Studi-studi sebelumnya menunjukkan peningkatan akurasi konsisten menggunakan arsitektur transformer, namun seluruh evaluasi dilakukan pada dataset standar (ImageNet). Tidak ada yang mengevaluasi performa pada dataset domain-spesifik dengan resolusi rendah, yang merupakan kondisi nyata di sistem pemantauan industri (gap: Context Gap). Riset ini mengisi celah tersebut dengan..."* + +> **Aturan positioning:** setiap paragraf literature review harus diakhiri dengan implikasi terhadap riset Anda. + +--- + +## Empat Jenis Research Gap + +| Jenis Gap | Definisi | Pertanyaan Diagnostik | Contoh | +|-----------|---------|----------------------|--------| +| **Performance Gap** | Metode terbaik saat ini belum mencapai standar yang dibutuhkan | "Apakah performa ada yang sudah cukup?" | Deteksi kanker kulit: akurasi 87%, kebutuhan klinis > 95% | +| **Method Gap** | Tidak ada metode yang tepat untuk masalah tertentu | "Sudah ada metode, tapi cocok?" | Semua paper pakai supervised, padahal data berlabel minimal | +| **Data Gap** | Tidak ada dataset yang representatif untuk konteks tertentu | "Dataset yang ada cocok untuk konteks ini?" | Tidak ada dataset NLP Bahasa Indonesia untuk domain hukum | +| **Context Gap** | Metode ada & bagus, tapi belum dievaluasi di konteks target | "Sudah diuji di konteks saya?" | Transformer efektif untuk English, belum dievaluasi di Bahasa Jawa | + +> Satu riset bisa memiliki **lebih dari satu jenis gap**. Identifikasi semua, prioritaskan yang paling kuat. + +--- + +## Baseline: Standar Pembanding + +Baseline adalah metode atau sistem **terbaik yang sudah ada** yang digunakan sebagai patokan perbandingan. + +**Kriteria baseline yang valid:** + +| Kriteria | Penjelasan | +|----------|-----------| +| **Relevan** | Menjawab problem yang sama dengan riset Anda | +| **Representatif** | Standar di komunitas riset tersebut (sering dikutip) | +| **State-of-the-art** | Bukan versi lama dari 2010 saat yang 2023 sudah ada | +| **Reproducible** | Bisa diimplementasi ulang dengan informasi di paper | +| **Fair** | Diuji pada kondisi yang sama dengan sistem Anda | + +> **Baseline lemah = kontribusi lemah.** Jika baseline Anda sudah ketinggalan 5 tahun, reviewer akan pertanyakan relevansi temuan Anda. + +--- + +## Strategi Pencarian Literatur Terstruktur + +**Database utama:** IEEE Xplore · ACM Digital Library · Scopus · Web of Science · Google Scholar + +**Boolean query yang efektif:** +``` +("fraud detection" OR "anomaly detection") +AND ("machine learning" OR "deep learning") +AND ("imbalanced dataset" OR "class imbalance") +NOT ("image classification") +``` + +**Filter yang disarankan:** +- Tahun: 2019–2024 (tidak lebih dari 5 tahun untuk metodologi) +- Venue: conference A/B IEEE, ACM, jurnal terindeks Scopus Q1–Q2 +- Tipe: full research paper (bukan extended abstract) + +**Alur PRISMA:** +1. Identifikasi → 2. Screening judul+abstrak → 3. Eligibility (baca full) → 4. Included + +--- + +## Gap → RQ → Hypothesis: Jembatan ke Bab 4 + +``` +Research Gap → Research Question → Hypothesis (H0/H1) +``` + +**Contoh:** + +**Gap:** *Context Gap — tidak ada studi yang mengevaluasi BERT fine-tuning pada teks hukum Indonesia (domain language drift, kosakata khusus)* + +**RQ:** *"Sejauh mana fine-tuning IndoBERT pada corpus hukum Indonesia meningkatkan F1-score klasifikasi kategori dokumen dibandingkan dengan model baseline IndoBERT tanpa fine-tuning?"* + +**H0:** *Fine-tuning IndoBERT pada corpus hukum tidak meningkatkan F1-score secara signifikan (p ≥ 0.05)* + +**H1:** *Fine-tuning IndoBERT pada corpus hukum meningkatkan F1-score secara signifikan (p < 0.05)* + +--- + + + +# Cognitive Traps +## Bab 3 — Literature Review + +--- + +## Cognitive Traps — Bab 3 + +**"Semakin banyak referensi, semakin bagus"** +Kualitas ≠ kuantitas. 15 paper yang relevan dan dianalisis mendalam lebih kuat dari 50 paper yang hanya disebutkan. Reviewer melihat kedalaman analisis, bukan panjang daftar pustaka. + +**"Belum ada paper tentang ini = gap"** +Bisa jadi masalahnya tidak penting, atau sudah diselesaikan dengan cara yang berbeda. "Tidak ada paper" bisa berarti: tidak penting, domain tidak relevan, atau Anda salah kata kunci pencarian. Validasi gap dari sudut yang berbeda. + +**"Tidak perlu baseline, yang penting sistemnya jalan"** +Tanpa baseline, tidak ada pembanding. Kontribusi Anda tidak bisa dibuktikan. Setiap research contribution membutuhkan referensi titik awal (*starting point*). + +--- + +## Studi Kasus 1 — Image Classification (Basic) + +**Konteks:** Mahasiswa meneliti klasifikasi gambar X-ray untuk deteksi pneumonia. + +**Masalah:** Literature review berisi 30+ paper, tapi semuanya hanya dirangkum. Tidak ada kategorisasi gap. Baseline yang dipilih: VGG16 dari 2014. + +**Implikasi:** +- Reviewer: "Mengapa tidak menggunakan EfficientNet atau ResNeSt yang sudah terbukti lebih baik di benchmark medis?" +- Kontribusi dianggap lemah karena baseline sudah usang + +**Solusi:** +1. Kategorikan paper berdasarkan metode, dataset, metrik, tahun +2. Identifikasi gap eksplisit dari keterbatasan yang disebutkan penulis asli +3. Pilih baseline dari paper tahun 2022–2024 yang menjadi referensi utama di bidang tersebut + +--- + +## Studi Kasus 2 — Disease Detection (Advanced) + +**Konteks:** Peneliti mengidentifikasi gap "belum ada model untuk deteksi penyakit tanaman di Indonesia." + +**Masalah:** +- Gap terlalu luas: bukan satu gap, tapi minimal 3 gap berbeda (data, context, performance) +- Tidak ada baseline yang clear: membandingkan dengan "model umum" tanpa spesifikasi +- Kontribusi klaim terlalu besar: "pertama di Indonesia" — tidak mungkin diverifikasi + +**Analysis — Apa yang sebenarnya terjadi:** +Tanpa baseline yang jelas, reviewer tidak bisa menilai apakah peningkatan yang diklaim benar-benar signifikan atau hanya artifact dari pemilihan dataset. + +**Solusi:** Persempit gap → satu klaim yang kuat dan verifiable: *"Belum ada benchmark dataset tanaman kopi Indonesia dengan anotasi multi-disease pada kondisi lapangan (bukan greenhouse) per 2024."* + +--- + +## Tabel Literatur — Template + +*Gunakan template ini untuk memetakan 20–40 paper relevan* + +| Penulis (Tahun) | Metode | Dataset | Metrik | Hasil | Keterbatasan | Relevansi ke Riset Saya | +|----------------|--------|---------|--------|-------|-------------|------------------------| +| Smith (2022) | CNN | ImageNet | Accuracy | 94% | Single domain | Baseline method | +| Jones (2023) | ViT | custom | F1 | 91% | Small dataset | Context gap ref | +| *dst...* | | | | | | | + +**Instruksi pengisian:** +- Kolom "Keterbatasan": salin dari paper yang ditulis penulis sendiri (lebih valid) +- Kolom "Relevansi": tulis eksplisit — apakah ini baseline, gap reference, atau method reference + +--- + +## Ringkasan Pertemuan 3 + +| Konsep | Inti | +|--------|------| +| Tujuan Literature Review | Positioning riset, **bukan** ringkasan paper | +| Research Positioning Model | Existing Studies → Gap → Position → Contribution | +| 4 Jenis Gap | Performance · Method · Data · Context | +| Baseline | Relevan + Representatif + State-of-the-art + Fair | +| Strategi Pencarian | Boolean query + filter database tier-1 + PRISMA | +| Jembatan | Gap → RQ → H0/H1 | + +--- + +## Final Statement & Output Praktis + +
+"Literature review bukan tentang apa yang sudah diketahui, tetapi tentang apa yang belum diselesaikan dan bagaimana Anda mengisinya." +
+ +### Output Praktis M3 + +Buat **3 dokumen**: + +1. **Tabel Literatur** (min. 10 paper, format tabel di atas) +2. **Gap Statement** (1–2 paragraf): jenis gap + justifikasi + mengapa gap ini penting +3. **Baseline Selection** (1 paragraf): alasan memilih baseline + kriteria yang terpenuhi + +*Semua referensi APA 7th. Gap Statement menjadi bagian dari Problem Statement.* + +--- + +## Referensi Utama — Bab 3 + +- Kitchenham, B., & Charters, S. (2007). *Guidelines for performing systematic literature reviews in software engineering* (Technical Report EBSE 2007-001). Keele University. + +- Petersen, K., Feldt, R., Mujtaba, S., & Mattsson, M. (2008). Systematic mapping studies in software engineering. *Proceedings of the 12th International Conference on Evaluation and Assessment in Software Engineering*, 68–77. + +- Wohlin, C. (2014). Guidelines for snowballing in systematic literature studies and a replication in software engineering. *Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering*, Article 38. + +- Webster, J., & Watson, R. T. (2002). Analyzing the past to prepare for the future: Writing a literature review. *MIS Quarterly, 26*(2), xiii–xxiii. diff --git a/slide/slide-04-rq-hypothesis.md b/slide/slide-04-rq-hypothesis.md new file mode 100644 index 0000000..7f00150 --- /dev/null +++ b/slide/slide-04-rq-hypothesis.md @@ -0,0 +1,1416 @@ +--- +marp: true +paginate: true +header: 'RTI — Riset Teknologi Informasi | Universitas Putra Bangsa Kebumen' +footer: 'Helmi Bahar Alim, S.Kom., M.Kom. | 2026' +--- + + + + + + + + + + + + + + + + +# Bab 4 — RQ, Contribution & Hypothesis + +## Merancang Pertanyaan Riset dan Hipotesis yang Dapat Diuji + +*Pertemuan 4 (M4)  |  Sub-CPMK 1.4  |  CPMK01  |  CPL03* + +Fase: **Thinking** (M1–M4)  ·  Bagian I: Foundation + +**Universitas Putra Bangsa**  |  Fak. Sains & Teknologi  ·  Prodi Teknik Informatika + +--- + +## Agenda Pertemuan 4 + +1. Bridge dari Bab 3 — dari gap ke pertanyaan +2. RQ Formation Model — pipeline RQ yang valid +3. Tiga jenis RQ: Comparison, Improvement, Exploratory +4. Kriteria RQ yang baik: SMART + Testable +5. Contribution statement — tiga jenis kontribusi +6. Hipotesis: H0 dan H1, syarat apa yang harus dipenuhi +7. RQ → Variable → Metric → Data → Analysis (chain of operationalization) +8. Cognitive Traps & Studi Kasus +9. Output Praktis: RQ + Contribution + H0/H1 + +--- + +## Capaian Pembelajaran + +Setelah pertemuan ini, mahasiswa mampu: + +- Merumuskan **Research Question (RQ)** yang tajam, terukur, dan dapat diuji +- Membedakan **3 jenis RQ**: Comparison, Improvement, Exploratory +- Menyusun **contribution statement** yang eksplisit (improvement/comparison/novel) +- Merumuskan **hipotesis H0/H1** yang testable secara statistik +- Memetakan **RQ → Variable → Metric → Data → Analysis** + +> Sub-CPMK 1.4 → Merancang RQ, hypothesis, dan contribution (CPL03) + +--- + +## Bridge dari Bab 3 + +Di Bab 3, Anda telah: +- Menavigasi literatur hingga menemukan **research gap** +- Memvalidasi gap (Performance / Method / Data / Context) +- Menetapkan **baseline** yang valid sebagai titik pembanding + +**Pertanyaan berikutnya:** + +> Dari gap yang teridentifikasi, **pertanyaan apa tepatnya** yang akan Anda jawab? + +Gap adalah masalah yang belum terjawab. RQ adalah **rumusan presisi** dari pertanyaan yang akan dijawab melalui eksperimen. Tanpa RQ yang tajam, eksperimen tidak punya arah. + +--- + +## RQ Formation Model + +*Pipeline dari Problem hingga RQ yang siap dieksperimenkan* + +
+ +**Problem** → Research Gap → Research Question → Hypothesis → **Experiment Design** + +
+ +| Tahap | Output | Ciri Keberhasilan | +|-------|--------|------------------| +| **Problem** | Masalah yang teridentifikasi | Spesifik, terukur (dari Bab 2) | +| **Research Gap** | Celah di literatur | Jenis gap teridentifikasi (dari Bab 3) | +| **Research Question** | Pertanyaan eksplisit | Bisa dijawab melalui eksperimen | +| **Hypothesis** | H0 + H1 | Falsifiable, testable dengan statistik | +| **Experiment Design** | Blueprint eksperimen | Variabel terkontrol, baseline jelas | + +> RQ bukan judul dalam bentuk tanya. RQ adalah **instrumen yang mengarahkan seluruh desain eksperimen**. + +--- + +## Tiga Jenis Research Question + +| Jenis RQ | Pertanyaan Template | Cocok Ketika | +|----------|-------------------|-------------| +| **Comparison** | "Seberapa besar perbedaan metode A vs B pada [metrik] untuk [konteks]?" | Ada dua+ pendekatan yang ingin dibandingkan | +| **Improvement** | "Sejauh mana modifikasi [X] meningkatkan [metrik] dibandingkan baseline?" | Ada celah performa yang ingin diisi | +| **Exploratory** | "Faktor apa yang paling berpengaruh terhadap [variabel] dalam [konteks]?" | Fenomena baru yang mekanismenya belum jelas | + +**Contoh:** +- *Comparison:* "Seberapa besar perbedaan akurasi BERT vs IndoBERT dalam klasifikasi sentimen Bahasa Indonesia pada domain e-commerce?" +- *Improvement:* "Sejauh mana penambahan attention mechanism meningkatkan Recall pada model NER Bahasa Indonesia dibandingkan BiLSTM-CRF baseline?" +- *Exploratory:* "Faktor apa yang paling berpengaruh terhadap latensi inferensi model transformer pada perangkat edge (ARM Cortex-M7)?" + +--- + +## Kriteria RQ yang Baik + +**SMART + Testable:** + +| Kriteria | Penjelasan | Contoh Gagal | Contoh Benar | +|----------|-----------|-------------|-------------| +| **Specific** | Satu masalah, satu konteks | "Bagaimana ML bekerja dalam bisnis?" | "Bagaimana XGBoost vs RF dalam fraud detection transaksi kartu kredit?" | +| **Measurable** | Ada metrik kuantitatif | "Apakah sistem lebih baik?" | "Apakah F1-score meningkat ≥ 5%?" | +| **Achievable** | Bisa dijawab dengan sumber daya yang ada | RQ butuh 10 tahun data | RQ bisa dijawab dalam 1 semester | +| **Relevant** | Terhubung ke gap yang teridentifikasi | RQ tidak ada gap-nya | RQ mengisi Method Gap yang jelas | +| **Testable** | Bisa diuji secara statistik | "Apakah AI itu berguna?" | "Apakah perbedaan signifikan (p<0.05)?" | + +--- + +## Contribution Statement — Tiga Jenis + +Setiap riset harus memiliki **contribution claim** yang eksplisit. + +| Jenis Kontribusi | Definisi | Contoh Kalimat | +|-----------------|---------|---------------| +| **Improvement** | Meningkatkan performa metode yang sudah ada | "Riset ini meningkatkan Recall deteksi fraud dari 72% (baseline XGBoost) menjadi 89% melalui kombinasi SMOTE + cost-sensitive learning" | +| **Comparison** | Menyediakan perbandingan yang belum ada di konteks tertentu | "Riset ini menyediakan perbandingan komprehensif pertama antara 5 algoritma ML pada dataset transaksi perbankan syariah Indonesia" | +| **Novel Approach** | Metode atau kombinasi baru yang belum pernah digunakan | "Riset ini mengusulkan arsitektur hybrid CNN-Transformer dengan attention pruning untuk inferensi on-device dengan parameter 40% lebih sedikit" | + +> Klaim "pertama di dunia" membutuhkan bukti dari systematic literature review yang ketat. Gunakan dengan hati-hati. + +--- + +## Hipotesis: H0 dan H1 + +**H0 (Null Hypothesis):** tidak ada perbedaan / pengaruh signifikan antara kondisi yang dibandingkan + +**H1 (Alternative Hypothesis):** ada perbedaan / pengaruh yang signifikan + +**Syarat hipotesis yang valid:** +1. **Falsifiable** — bisa dibuktikan salah dengan data +2. **Testable** — bisa diuji dengan uji statistik yang tersedia +3. **Specific** — menyebutkan variabel, arah, dan ukuran efek yang diharapkan +4. **Grounded** — berdasarkan teori atau temuan literatur sebelumnya + +**Contoh pair H0/H1:** +> **H0:** Penambahan *attention mechanism* pada BiLSTM tidak meningkatkan F1-score NER secara signifikan (p ≥ 0.05) dibandingkan BiLSTM baseline. +> +> **H1:** Penambahan *attention mechanism* pada BiLSTM meningkatkan F1-score NER secara signifikan (p < 0.05) dibandingkan BiLSTM baseline. + +--- + +## RQ → Variable → Metric → Data → Analysis + +*Rantai operasionalisasi yang tidak boleh putus* + +
+ +**RQ** → Independent Var → Dependent Var → Metric → Data Type → **Statistical Test** + +
+ +**Contoh lengkap:** + +| Elemen | Nilai | +|--------|-------| +| **RQ** | Sejauh mana SMOTE meningkatkan Recall dalam fraud detection? | +| **Independent Variable** | Teknik resampling: tanpa SMOTE vs dengan SMOTE | +| **Dependent Variable** | Kemampuan deteksi fraud | +| **Metric** | Recall, F2-score, AUC-ROC | +| **Data Type** | Ratio scale | +| **Statistical Test** | Paired t-test / Wilcoxon signed-rank | + +> Jika satu elemen tidak terhubung ke elemen lainnya → construct validity rusak. + +--- + + + +# Cognitive Traps +## Bab 4 — RQ & Hypothesis + +--- + +## Cognitive Traps — Bab 4 + +**"RQ = judul penelitian dalam bentuk kalimat tanya"** +Judul bersifat deskriptif. RQ bersifat *operational* — ia mendefinisikan variabel, konteks, dan ukuran keberhasilan. "Bagaimana sistem deteksi fraud berbasis ML?" bukan RQ — tidak ada yang bisa dieksperimenkan. + +**"RQ tidak perlu metric — yang penting pertanyaannya jelas"** +Tanpa metrik, tidak ada cara mengukur apakah RQ berhasil dijawab. RQ harus mengandung atau secara implisit mengarah ke ukuran kuantitatif. + +**"RQ bisa dijawab tanpa eksperimen"** +Jika RQ bisa dijawab hanya dengan membaca buku atau teori, itu bukan RQ penelitian — itu pertanyaan studi literatur. RQ harus membutuhkan data empiris. + +--- + +## Studi Kasus 1 — RQ Terlalu Umum (Basic) + +**RQ awal:** *"Bagaimana deep learning dapat meningkatkan akurasi klasifikasi teks?"* + +**Masalah:** +- Terlalu luas: "deep learning" (ratusan arsitektur), "teks" (semua domain), "akurasi" (metrik tunggal + imbalance risk) +- Tidak ada konteks spesifik +- Tidak ada baseline yang jelas +- Tidak bisa diuji dalam satu semester + +**RQ yang diperbaiki:** *"Sejauh mana fine-tuning IndoBERT pada dataset review produk e-commerce berbahasa Indonesia meningkatkan F1-score klasifikasi sentimen dibandingkan baseline IndoBERT tanpa fine-tuning, dengan distribusi kelas yang seimbang?"* + +**Perbaikan:** domain (e-commerce Indonesia), model spesifik (IndoBERT), metrik (F1-score), baseline (IndoBERT vanilla), kontrol (distribusi kelas). + +--- + +## Studi Kasus 2 — RQ Tanpa Baseline (Advanced) + +**Situasi:** Peneliti ingin meneliti "efektivitas GAN dalam augmentasi data medis." RQ: *"Apakah GAN dapat menghasilkan data medis sintetis yang berguna?"* + +**Masalah:** +- Tidak ada baseline pembanding +- "Berguna" tidak terukur +- Tidak ada metrik kualitas data sintetis yang dispesifikkan +- Tidak ada uji hipotesis yang bisa dirancang + +**RQ yang diperbaiki:** +*"Sejauh mana augmentasi data menggunakan StyleGAN2 meningkatkan F1-score klasifikasi pneumonia pada chest X-ray dibandingkan baseline tanpa augmentasi dan augmentasi tradisional (flip+rotation+brightness), diukur pada dataset ChestX-ray14 dengan split 70/15/15?"* + +**Perbaikan:** Metode GAN spesifik, 2 baseline (tanpa augmentasi + augmentasi tradisional), metrik jelas, dataset dan split terdefinisi. + +--- + +## Ringkasan Pertemuan 4 + +| Konsep | Inti | +|--------|------| +| RQ Formation | Problem → Gap → RQ → Hypothesis → Experiment Design | +| 3 Jenis RQ | Comparison · Improvement · Exploratory | +| Kriteria RQ | SMART + Testable + ada metrik kuantitatif | +| Contribution | Improvement / Comparison / Novel (pilih satu, klaim eksplisit) | +| H0/H1 | Null vs Alternative, falsifiable, testable, specific | +| Operasionalisasi | RQ → IndepVar → DepVar → Metric → DataType → StatTest | + +--- + +## Final Statement & Output Praktis + +
+"Research Question bukan sekadar pertanyaan, tetapi blueprint dari eksperimen yang akan dilakukan." +
+ +### Output Praktis M4 + +Susun **3 dokumen akhir Fase Thinking**: + +1. **Research Question** — 1 RQ yang memenuhi SMART+Testable, sesuai jenis (comparison/improvement/exploratory) +2. **Contribution Statement** — 1–2 kalimat eksplisit tentang kontribusi riset Anda +3. **Hipotesis** — H0 + H1 yang falsifiable, disertai StatTest yang direncanakan + +*Ketiga dokumen ini + Problem Statement (M2) + Gap Statement (M3) = fondasi proposal riset Anda.* + +--- + +## Referensi Utama — Bab 4 + +- Creswell, J. W., & Creswell, J. D. (2018). *Research design: Qualitative, quantitative, and mixed methods approaches* (5th ed.). SAGE Publications. + +- Kitchenham, B. A., Pfleeger, S. L., Pickard, L. M., Jones, P. W., Hoaglin, D. C., El Emam, K., & Rosenberg, J. (2002). Preliminary guidelines for empirical research in software engineering. *IEEE Transactions on Software Engineering, 28*(8), 721–734. + +- Runeson, P., & Höst, M. (2009). Guidelines for conducting and reporting case study research in software engineering. *Empirical Software Engineering, 14*(2), 131–164. + +- Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., & Wesslén, A. (2012). *Experimentation in software engineering*. Springer. diff --git a/slide/slide-05-metrics-measurement.md b/slide/slide-05-metrics-measurement.md new file mode 100644 index 0000000..e327b1a --- /dev/null +++ b/slide/slide-05-metrics-measurement.md @@ -0,0 +1,1448 @@ +--- +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' +--- + + + + + + + + + + + + + + + + +# Bab 5 — Metric, Measurement & Data + +## Operasionalisasi: Dari Konsep ke Angka yang Bermakna + +*Pertemuan 5 (M5)  |  Sub-CPMK 2.1  |  CPMK02  |  CPL06* + +Fase: **Designing** (M5–M7)  ·  Bagian II: Measurement & Design + +**Universitas Putra Bangsa**  |  Fak. Sains & Teknologi  ·  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":** + +
+ +**Concept:** User Engagement (abstrak) + +↓ Variable 1: Frekuensi penggunaan  |  Variable 2: Durasi sesi rata-rata  |  Variable 3: Breadth of feature usage + +↓ Metric 1: Jumlah sesi/minggu  |  Metric 2: Durasi rata-rata sesi (menit)  |  Metric 3: Jumlah fitur unik/sesi + +↓ **Data Type:** Ratio | Ratio | Ratio + +
+ +> 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 1–5) 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 **2–3 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? + +--- + + + +# 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 | 2–3 metrik saling melengkapi; tidak ada metrik universal | +| Data Quality | Completeness + Consistency + Accuracy + Representativeness | + +--- + +## Final Statement & Output Praktis + +
+"Penelitian yang baik bukan hanya mengukur, tetapi memastikan bahwa apa yang diukur benar-benar merepresentasikan realitas." +
+ +### 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), 5–53. diff --git a/slide/slide-06-system-design.md b/slide/slide-06-system-design.md new file mode 100644 index 0000000..b207304 --- /dev/null +++ b/slide/slide-06-system-design.md @@ -0,0 +1,1423 @@ +--- +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' +--- + + + + + + + + + + + + + + + + +# Bab 6 — System Design sebagai Experimental Artifact + +## Sistem sebagai Alat Uji, Bukan Tujuan Akhir + +*Pertemuan 6 (M6)  |  Sub-CPMK 2.2  |  CPMK02  |  CPL06* + +Fase: **Designing** (M5–M7)  ·  Bagian II: Measurement & Design + +**Universitas Putra Bangsa**  |  Fak. Sains & Teknologi  ·  Prodi Teknik Informatika + +--- + +## Agenda Pertemuan 6 + +1. Perubahan paradigma: sistem sebagai alat uji hipotesis +2. System as Experiment Model +3. 4 Prinsip desain sistem riset: Traceability, Modularity, Controllability, Measurability +4. Mapping RQ → System Component +5. Pentingnya control & isolation variabel +6. Dokumentasi arsitektur sebagai bagian metodologi +7. Cognitive Traps & Studi Kasus +8. Output Praktis: Diagram arsitektur + mapping ke variabel + +--- + +## Capaian Pembelajaran + +Setelah pertemuan ini, mahasiswa mampu: + +- Menjelaskan perbedaan antara **sistem engineered** dan **sistem sebagai artefak penelitian** +- Memetakan **RQ → System Component** secara eksplisit +- Merancang sistem yang memenuhi **4 prinsip**: Traceability, Modularity, Controllability, Measurability +- Menjelaskan pentingnya **variabel control** dan **isolation** dalam desain eksperimen +- Mendokumentasikan arsitektur sebagai bagian metodologi riset + +> Sub-CPMK 2.2 → Merancang sistem sebagai artefak eksperimen (CPL06) + +--- + +## Perubahan Paradigma Fundamental + +| Pertanyaan | Engineering View | Research View | +|-----------|-----------------|--------------| +| **Untuk apa sistem ini dibangun?** | Agar pengguna bisa menggunakannya | Agar hipotesis bisa diuji | +| **Ukuran keberhasilan utama** | Sistem berjalan sesuai requirement | Hipotesis terjawab secara signifikan | +| **Yang diprioritaskan** | Fitur lengkap, UX bagus | Kontrol variabel, reproducibility | +| **Arsitektur dirancang berdasarkan** | Kebutuhan fungsional | RQ dan variabel eksperimen | +| **Dokumentasi terpenting** | User manual, API docs | Experimental setup, parameter log | + +> "Dalam penelitian, sistem bukan dibangun untuk digunakan, tetapi untuk **membuktikan sesuatu secara ilmiah**." + +--- + +## System as Experiment Model + +*RQ menentukan arsitektur, bukan sebaliknya* + +
+ +**Research Question** ↓ Variable (Independent & Dependent) ↓ System Component (apa yang perlu dibangun?) ↓ Experimental Setup (bagaimana dijalankan?) ↓ **Output / Measured Data** + +
+ +Setiap komponen sistem harus bisa dijawab: **"Komponen ini mendukung variabel/hipotesis yang mana?"** + +--- + +## 4 Prinsip Desain Sistem Riset + +### 1. Traceability — setiap komponen bisa ditelusuri ke RQ + +Setiap modul atau komponen sistem harus punya kaitan eksplisit ke variabel dalam RQ. + +
+ +**RQ:** "Apakah attention mechanism meningkatkan F1-score NER?" +- Modul A: BiLSTM encoder (baseline) +- Modul B: Attention layer (variabel independen) +- Modul C: CRF decoder (output) +- Modul D: Evaluasi F1 per entity (variabel dependen) + +
+ +Jika ada komponen yang tidak bisa ditelusuri ke RQ → pertanyakan apakah komponen itu diperlukan. + +--- + +## 4 Prinsip Desain Sistem Riset (lanjutan) + +### 2. Modularity — komponen yang diuji harus bisa diswap + +Sistem harus dirancang sehingga variabel yang diuji bisa diubah secara independen. + +**Monolith:** Semua logika dalam satu fungsi besar → tidak bisa isolasi perubahan + +**Modular:** Setiap komponen terpisah, bisa diganti tanpa mengubah yang lain + +### 3. Controllability — bisa mengontrol kondisi eksperimen + +Harus bisa mengatur: seed random, hyperparameter, ukuran dataset, split ratio — secara konsisten dan reproducible. + +### 4. Measurability — output bisa langsung diukur + +Output sistem harus langsung menghasilkan data dalam format yang bisa dievaluasi dengan metrik yang sudah didefinisikan. + +--- + +## Mapping RQ → System Component + +*Template traceability matrix* + +| RQ / Hipotesis | Variabel | Komponen Sistem | Cara MengukurNya | +|----------------|---------|----------------|-----------------| +| H1: attention meningkatkan F1 NER | IndepVar: ada/tidaknya attention layer | Modul attention (swappable) | F1 per entity type | +| | DepVar: F1-score NER | Evaluation module | Seqeval library | +| H2: batch size pengaruhi training speed | IndepVar: batch size (16/32/64/128) | Training config (YAML) | Training time per epoch | +| | DepVar: convergence speed | Logger | Loss curve per epoch | + +> **Traceability matrix** ini adalah bagian wajib dari bab Metodologi dalam laporan riset. + +--- + +## Control & Isolation Variabel + +**Prinsip eksperimen ilmiah:** Ubah **satu variabel pada satu waktu**, kontrol semua yang lain. + +**Variabel yang harus dikontrol (contoh ML):** + +| Variabel Kontrol | Cara Mengontrol | +|-----------------|----------------| +| Dataset split | Fixed seed, stratified split | +| Hyperparameter | Config file yang di-version control | +| Hardware | Sama untuk semua eksperimen | +| Random seed | Set di semua library (numpy, torch, sklearn) | +| Data preprocessing | Pipeline identik untuk semua kondisi | +| Jumlah epoch/run | Fixed, sama untuk semua kondisi | + +> Mengubah lebih dari satu variabel dalam satu eksperimen → tidak bisa mengidentifikasi variabel mana yang menyebabkan perubahan output. + +--- + + + +# Cognitive Traps +## Bab 6 — System Design + +--- + +## Cognitive Traps — Bab 6 + +**"Semakin kompleks sistem, semakin besar kontribusi"** +Kompleksitas bukan kontribusi. Sistem sederhana yang terkontrol dengan baik lebih kuat secara ilmiah daripada sistem kompleks yang tidak bisa diisolasi variabelnya. Reviewer menilai kontrol eksperimen, bukan jumlah fitur. + +**"Arsitektur bisa ditentukan setelah RQ"** +Dalam engineering, RQ ≠ yang menentukan arsitektur. Dalam research, RQ **adalah** yang menentukan arsitektur. Desain tanpa traceability ke RQ akan sulit dipertahankan saat sidang. + +**"Sistem monolith lebih mudah, jadi pakai itu saja"** +Monolith tidak bisa diisolasi. Jika Anda tidak bisa mematikan/menghidupkan satu komponen tanpa mengubah yang lain, Anda tidak bisa menguji pengaruh variabel secara independen. + +--- + +## Studi Kasus 1 — Monolith vs Modular (Basic) + +**Konteks:** Model ML untuk text classification. RQ: "Apakah pre-trained embedding meningkatkan F1?" + +**Desain monolith:** +```python +def train_and_evaluate(data): + # 500 baris kode: preprocessing + embedding + model + training + eval + # semua dalam satu fungsi +``` +Masalah: tidak bisa mengisolasi efek embedding. Preprocessing berubah → semua berubah. + +**Desain modular:** +```python +preprocessor = TextPreprocessor(config) # modul terpisah +embedder = EmbeddingLayer(type="pretrained" | "random") # swappable +model = ClassificationModel(embedder) # depend on embedder interface +evaluator = F1Evaluator() # independent +``` + +*Sekarang bisa swap `type="pretrained"` ↔ `type="random"` tanpa mengubah yang lain.* + +--- + +## Studi Kasus 2 — Multiple Feature Change (Advanced) + +**Konteks:** Peneliti melaporkan: "Model baru 15% lebih baik dari baseline." + +**Masalah — terlalu banyak perubahan sekaligus:** +- Menambahkan attention mechanism ✚ +- Mengubah optimizer dari Adam ke AdamW ✚ +- Menambahkan dropout layer ✚ +- Mengubah learning rate schedule ✚ + +Pertanyaan reviewer: *"Peningkatan 15% berasal dari yang mana?"* + +**Pendekatan yang benar: Ablation Study** + +| Eksperimen | Attention | AdamW | Dropout | F1-score | +|-----------|-----------|-------|---------|----------| +| Baseline | – | – | – | 74.2% | +| + Attention | ✓ | – | – | 81.5% (+7.3%) | +| + AdamW | ✓ | ✓ | – | 82.1% (+0.6%) | +| + Dropout | ✓ | ✓ | ✓ | 85.7% (+3.6%) | + +*Sekarang jelas: attention yang berkontribusi terbesar.* + +--- + +## Research vs Engineering — System Design + +| Aspek | Engineering | Research | +|-------|------------|---------| +| Tujuan rancangan | Sistem berfungsi | Hipotesis dapat diuji | +| Kompleksitas | Bisa kompleks jika diperlukan | Sesederhana mungkin agar terkontrol | +| Dokumentasi | User manual | Experimental setup (reproducibility) | +| Perubahan komponen | Untuk perbaikan fitur | Untuk ablation study | +| Evaluasi | Acceptance testing | Uji statistik vs baseline | +| Portability | Nice to have | Wajib (reproducibility) | + +--- + +## Ringkasan Pertemuan 6 + +| Konsep | Inti | +|--------|------| +| Paradigma shift | Sistem **bukan** tujuan → alat uji hipotesis | +| System as Experiment | RQ → Variable → Component → Setup → Output | +| 4 Prinsip | Traceability · Modularity · Controllability · Measurability | +| Mapping RQ | Setiap komponen harus bisa ditelusuri ke variabel | +| Control | Ubah 1 variabel, kontrol semua → ablation study | +| Dokumentasi | Traceability matrix wajib dalam metodologi | + +--- + +## Final Statement & Output Praktis + +
+"Dalam penelitian, sistem bukan dibangun untuk digunakan, tetapi untuk membuktikan sesuatu secara ilmiah." +
+ +### Output Praktis M6 + +Buat **2 dokumen**: + +1. **Diagram Arsitektur Sistem** (Mermaid/draw.io) — annotated dengan label variabel: + - Tandai: `[IndepVar]`, `[DepVar]`, `[Control]` pada setiap komponen +2. **Traceability Matrix** (tabel: RQ/Hipotesis → Variabel → Komponen → Cara Ukur) + +*Dokumen ini menjadi bagian "System Design" dalam bab Metodologi.* + +--- + +## Referensi Utama — Bab 6 + +- Hevner, A. R., March, S. T., Park, J., & Ram, S. (2004). Design science in information systems research. *MIS Quarterly, 28*(1), 75–105. + +- Wieringa, R. J. (2014). *Design science methodology for information systems and software engineering*. Springer. + +- Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., & Wesslén, A. (2012). *Experimentation in software engineering*. Springer. + +- Peffers, K., Tuunanen, T., Rothenberger, M. A., & Chatterjee, S. (2007). A design science research methodology for information systems research. *Journal of Management Information Systems, 24*(3), 45–77. diff --git a/slide/slide-07-experiment-design.md b/slide/slide-07-experiment-design.md new file mode 100644 index 0000000..cbcddc4 --- /dev/null +++ b/slide/slide-07-experiment-design.md @@ -0,0 +1,1455 @@ +--- +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' +--- + + + + + + + + + + + + + + + + +# Bab 7 — Experimental Design & Validity + +## Membangun Bukti yang Dapat Dipercaya + +*Pertemuan 7 (M7)  |  Sub-CPMK 2.3  |  CPMK02  |  CPL06* + +Fase: **Designing** (M5–M7)  ·  Bagian II: Measurement & Design + +**Universitas Putra Bangsa**  |  Fak. Sains & Teknologi  ·  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. + +
+ +**Hipotesis (H0/H1)** ↓ Rancang kondisi yang mengisolasi variabel ↓ Kumpulkan data di bawah kondisi terkontrol ↓ Analisis statistik ↓ **Kesimpulan dengan tingkat kepercayaan terukur** + +
+ +> 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] +``` + +--- + + + +# 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 + +
+"Eksperimen bukan sekadar menjalankan sistem, tetapi membangun bukti yang dapat dipercaya." +
+ +### 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), 110–141. + +- Juristo, N., & Moreno, A. M. (2001). *Basics of software engineering experimentation*. Springer. diff --git a/slide/slide-08-proposal-checkpoint.md b/slide/slide-08-proposal-checkpoint.md new file mode 100644 index 0000000..ba865fb --- /dev/null +++ b/slide/slide-08-proposal-checkpoint.md @@ -0,0 +1,1399 @@ +--- +marp: true +paginate: true +header: 'RTI — Riset Teknologi Informasi | Universitas Putra Bangsa Kebumen' +footer: 'Helmi Bahar Alim, S.Kom., M.Kom. | 2026' +--- + + + + + + + + + + + + + + + + +# Bab 8 — Proposal & Checkpoint +## Integrasi Fase Thinking + Designing + +*Pertemuan 8 (M8)  |  Bab Integratif  |  UTS Checkpoint* + +Fase: **Integratif** (M8) — merangkum Bab 1–7 ke dalam Proposal Riset + +**Universitas Putra Bangsa**  |  Fak. Sains & Teknologi  ·  Prodi Teknik Informatika + +--- + +## Tujuan Pertemuan 8 + +Bab ini **berbeda** dari pertemuan biasa. Tidak ada konsep baru. + +Tujuan: mengintegrasikan seluruh output M1–M7 menjadi **satu dokumen proposal riset yang koheren**. + +> Proposal bukan kumpulan tugas dari 7 pertemuan yang ditempelkan bersama. +> Proposal adalah **argumen ilmiah yang utuh** — tiap bagian menjawab satu pertanyaan, +> dan bersama-sama membuktikan bahwa riset Anda layak dan feasible. + +**Di akhir pertemuan ini, Anda memiliki:** +- Dokumen proposal riset lengkap (8 bagian) +- Kemampuan mengidentifikasi inkonsistensi antar bagian +- Kesiapan untuk mempresentasikan dan mempertahankan proposal + +--- + +## Integration Map — Bab 1 sampai 7 + +*Semua output dari 7 pertemuan harus saling terhubung* + +
+ +**[Bab 1]** Research Mindset → Etika & Validitas + +**[Bab 2]** Problem Statement + **[Bab 3]** Literature & Gap → **[Bab 4]** RQ + H0/H1 + Contribution + +↓ **[Bab 5]** Variabel + Metrik + Tipe Data + +↓ **[Bab 6]** Arsitektur Sistem (traceability ke variabel) + +↓ **[Bab 7]** Desain Eksperimen (skenario + controlled + validity) + +↓ **PROPOSAL RISET** (dokumen terintegrasi) + +
+ +--- + +## Anatomi Proposal Riset — 8 Bagian + +| No | Bagian | Sumber dari Bab | Pertanyaan yang Dijawab | +|----|--------|----------------|------------------------| +| 1 | **Latar Belakang** | Bab 2 + Bab 3 | Mengapa masalah ini penting dan belum terjawab? | +| 2 | **Rumusan Masalah** | Bab 2 | Apa tepatnya yang akan diteliti? | +| 3 | **Tinjauan Pustaka** | Bab 3 | Apa yang sudah diketahui dan apa gap-nya? | +| 4 | **Research Question** | Bab 4 | Pertanyaan apa yang akan dijawab? | +| 5 | **Kontribusi** | Bab 4 | Apa yang baru dari riset ini? | +| 6 | **Metodologi** | Bab 5 + 6 + 7 | Bagaimana hipotesis akan diuji? | +| 7 | **Jadwal & Sumber Daya** | Bab 7 | Apakah feasible dalam satu semester? | +| 8 | **Referensi** | Semua bab | APA 7th, min. 15 referensi | + +--- + +## Koherensi Vertikal — Konsistensi antar Bagian + +*Setiap bagian harus konsisten dengan semua bagian yang lain* + +**Cek 1: Problem ↔ RQ** +> Problem: "Tidak ada studi tentang efektivitas SMOTE di dataset fraud perbankan syariah Indonesia" +> RQ: "Apakah SMOTE meningkatkan Recall dalam deteksi fraud di dataset perbankan syariah Indonesia?" +> Konsisten — RQ menjawab secara langsung gap yang disebutkan di Problem + +**Cek 2: RQ ↔ Metodologi** +> RQ: "...meningkatkan Recall..." +> Metodologi: mengukur Accuracy dan Precision saja +> Inkonsisten — Recall harus menjadi metrik utama + +**Cek 3: Hipotesis ↔ Statistical Test** +> H1: "perbedaan signifikan (p < 0.05)" +> Statistical plan: visualisasi grafik saja +> Inkonsisten — butuh t-test atau Wilcoxon + +--- + +## Koherensi Horizontal — Argumen yang Mengalir + +Proposal harus bisa dibaca sebagai satu narasi, bukan kumpulan potongan: + +**Alur argumentasi yang baik:** + +
+ +"Di bidang X, masalah Y terjadi karena Z. *[Latar Belakang]* Studi-studi sebelumnya telah mencoba A, B, C, namun belum ada yang... *[Tinjauan Pustaka]* Oleh karena itu, riset ini bertanya: *[RQ]* Kontribusi yang diharapkan adalah *[Contribution]*. Untuk membuktikan hipotesis H1, kami merancang eksperimen dengan *[metodologi]* yang mengukur *[metrik]* terhadap baseline *[X]*." + +
+ +> Jika pembaca bisa mengikuti argumen ini tanpa tersesat → proposal koheren. + +--- + + + +# Cognitive Traps +## Proposal & Integrasi + +--- + +## Cognitive Traps — Bab 8 + +**"Proposal = kumpulan tugas dari bab sebelumnya yang di-paste"** +Proposal adalah dokumen baru yang menulis ulang semua elemen dalam alur argumentasi yang koheren. Copy-paste tugas per bab tanpa koneksi menghasilkan proposal yang patchwork — tidak lulus. + +**"Copy-paste methodology dari paper lain"** +Metodologi harus spesifik untuk RQ Anda, bukan template umum. Reviewer tahu ketika metodologi generik tidak sesuai dengan RQ yang diklaim. + +**"Jadwal: semua selesai di bulan terakhir"** +Jadwal yang tidak realistis adalah red flag. Setiap tahap (implementasi, pengambilan data, analisis, penulisan) butuh buffer waktu. Gagal dalam satu tahap akan mempengaruhi semua yang berikutnya. + +**"Tidak ada kemungkinan gagal"** +Proposal yang tidak mengidentifikasi risiko kegagalan tidak realistis. Selalu sertakan: "Jika kondisi X tidak tercapai, rencana alternatifnya adalah Y." + +--- + +## Template Integrasi — Self-Check Proposal + +
+ +**Gunakan checklist ini sebelum mengumpulkan proposal:** + +- [ ] Problem Statement sudah divalidasi dengan 5 kriteria kualitas (Bab 2) +- [ ] Literature review berisi ≥ 15 referensi dengan gap yang teridentifikasi (Bab 3) +- [ ] RQ spesifik, measurable, dan testable (Bab 4) +- [ ] Contribution claim eksplisit (improvement/comparison/novel) (Bab 4) +- [ ] H0/H1 yang falsifiable disertai statistical test yang direncanakan (Bab 4) +- [ ] Variabel + metrik + justifikasi terdokumentasi (Bab 5) +- [ ] Arsitektur sistem dengan traceability ke variabel (Bab 6) +- [ ] Dokumen desain eksperimen lengkap (skenario, controlled, validity threats) (Bab 7) +- [ ] Koherensi: Problem ↔ RQ ↔ Metodologi ↔ Metrik +- [ ] Jadwal realistis dengan buffer untuk setiap fase + +
+ +--- + +## Rubrik Evaluasi Proposal + +| Kriteria | Bobot | Level 1 (Lemah) | Level 2 (Cukup) | Level 3 (Kuat) | +|----------|-------|----------------|----------------|----------------| +| **Kejelasan masalah & gap** | 25% | Topik, bukan masalah | Masalah ada, gap kurang jelas | Problem + gap + validation | +| **Ketajaman RQ & Hipotesis** | 25% | RQ terlalu umum | RQ spesifik, hipotesis ada | RQ SMART, H0/H1 falsifiable | +| **Kelengkapan metodologi** | 30% | Deskripsi alat saja | Ada metrik, desain eksperimen parsial | Controlled, variabel terisolasi, validity | +| **Koherensi argumen** | 20% | Tiap bagian berdiri sendiri | Ada kesatuan tapi ada inkonsistensi | Alir argumen mulus Problem→Conclusion | + +--- + +## Struktur Presentasi Proposal (10 menit) + +**Slide 1:** Judul + nama + institusi (30 detik) + +**Slide 2:** Latar Belakang + Masalah (2 menit) +- Fenomena nyata + data pendukung +- Apa yang sudah ada dan apa gap-nya + +**Slide 3:** RQ + Contribution (1.5 menit) +- Satu kalimat RQ yang tajam +- Satu kalimat contribution yang eksplisit + +**Slide 4:** Metodologi ringkas (3 menit) +- Workflow eksperimen +- Variabel (indep, dep, control) +- Metrik + statistical test + +**Slide 5:** Jadwal + Ekspektasi Hasil (1 menit) + +**Q&A:** 5–10 menit + +--- + +## Pertanyaan yang Sering Diajukan Penguji + +**Tentang Problem:** +*"Mengapa masalah ini penting? Siapa yang dirugikan jika tidak diselesaikan?"* + +**Tentang RQ:** +*"Apakah RQ ini sudah ada jawabannya di paper yang Anda sitasi?"* + +**Tentang Metodologi:** +*"Mengapa memilih metrik X, bukan Y?"* +*"Bagaimana Anda memastikan baseline-nya fair?"* + +**Tentang Feasibility:** +*"Apakah dataset ini tersedia secara publik? Berapa ukurannya?"* +*"Bagaimana jika H0 tidak ditolak?"* + +> Persiapkan jawaban berbasis **data dan referensi** untuk setiap pertanyaan ini. + +--- + +## Ringkasan Pertemuan 8 + +| Elemen | Status di Proposal Anda | +|--------|------------------------| +| Problem Statement (Bab 2) | Tertulis dalam Latar Belakang + Rumusan Masalah | +| Gap Statement (Bab 3) | Tertulis dalam Tinjauan Pustaka | +| RQ + H0/H1 (Bab 4) | Bagian RQ + Hipotesis | +| Variabel + Metrik (Bab 5) | Bagian Metodologi — Pengukuran | +| Arsitektur Sistem (Bab 6) | Bagian Metodologi — Desain Sistem | +| Desain Eksperimen (Bab 7) | Bagian Metodologi — Eksperimen | +| Integratif Bab 8 | Koherensi seluruh dokumen | + +--- + +## Output: Proposal Riset Lengkap + +
+"Proposal bukan kumpulan output, tetapi argumen yang utuh dan koheren tentang mengapa riset ini layak dan bagaimana ia akan dilaksanakan." +
+ +### Submission M8 + +**Dokumen proposal riset lengkap** (min. 15 halaman): + +1. Latar Belakang · 2. Rumusan Masalah · 3. Tinjauan Pustaka · 4. RQ & Hipotesis +5. Contribution · 6. Metodologi (Sistem + Metric + Eksperimen) · 7. Jadwal · 8. Referensi + +*Self-check dengan checklist 10 item sebelum dikumpulkan. Presentasi 10 menit pada saat UTS.* + +--- + +## Referensi Utama — Bab 8 + +- Creswell, J. W., & Creswell, J. D. (2018). *Research design: Qualitative, quantitative, and mixed methods approaches* (5th ed.). SAGE Publications. + +- Wieringa, R. J. (2014). *Design science methodology for information systems and software engineering*. Springer. + +- Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., & Wesslén, A. (2012). *Experimentation in software engineering*. Springer. + +- Kitchenham, B. A., & Pfleeger, S. L. (2002). Principles of survey research part 2: Designing a survey. *ACM SIGSOFT Software Engineering Notes, 27*(1), 18–20. diff --git a/slide/slide-09-implementation-environment.md b/slide/slide-09-implementation-environment.md new file mode 100644 index 0000000..7574dc3 --- /dev/null +++ b/slide/slide-09-implementation-environment.md @@ -0,0 +1,1458 @@ +--- +marp: true +paginate: true +class: bagian-iii +header: 'RTI — Riset Teknologi Informasi | Universitas Putra Bangsa Kebumen' +footer: 'Helmi Bahar Alim, S.Kom., M.Kom. | 2026' +--- + + + + + + + + + + + + + + + + +# Bab 9 — Implementation & Environment + +## Reproducibility sebagai Standar Ilmiah + +*Pertemuan 9 (M9)  |  Sub-CPMK 3.1  |  CPMK03  |  CPL06* + +Fase: **Executing** (M9–M11)  ·  Bagian III: Execution + +**Universitas Putra Bangsa**  |  Fak. Sains & Teknologi  ·  Prodi Teknik Informatika + +--- + +## Agenda Pertemuan 9 + +1. Bridge dari Fase Designing — dari desain ke implementasi +2. Reproducible Implementation Model +3. Implementasi riset ≠ coding biasa +4. Kontrol lingkungan: hardware, OS, library, seed +5. Repeatability vs Reproducibility — perbedaan penting +6. Dokumentasi wajib: setup, parameter, dataset +7. Best practices: version control, config logging, isolation +8. Cognitive Traps & Studi Kasus +9. Output Praktis: Documentation Setup + README + +--- + +## Capaian Pembelajaran + +Setelah pertemuan ini, mahasiswa mampu: + +- Menjelaskan perbedaan antara **repeatability** dan **reproducibility** +- Mengidentifikasi semua komponen **environment** yang harus dikontrol +- Mengimplementasikan **version control** dan **config logging** untuk eksperimen +- Membuat **dokumentasi setup** yang memungkinkan orang lain mereplikasi eksperimen +- Membuat **README eksperimen** yang standar + +> Sub-CPMK 3.1 → Mengimplementasikan eksperimen dengan kontrol reproducibility (CPL06) + +--- + +## Bridge dari Fase Designing + +Di Fase Designing (Bab 5–7), Anda merancang: +- Variabel yang akan diukur (Bab 5) +- Arsitektur sistem yang terkontrol (Bab 6) +- Desain eksperimen lengkap dengan skenario (Bab 7) + +**Sekarang: Fase Executing dimulai.** + +> Kualitas implementasi menentukan apakah desain eksperimen yang sudah baik bisa menghasilkan data yang **valid dan reproducible**. + +Implementasi yang buruk (tanpa dokumentasi, tanpa version control, tanpa environment isolation) bisa merusak eksperimen yang desainnya sempurna. + +--- + +## Reproducible Implementation Model + +*Dari desain eksperimen ke hasil yang bisa dipercaya* + +
+ +**Experiment Design** ↓ Implementation ↓ Environment Setup (dikontrol & didokumentasikan) ↓ Execution Consistency (setiap run identik) ↓ Reproducibility (orang lain bisa mereplikasi) ↓ **Trustworthy Result** + +
+ +> Jika eksperimen tidak bisa direplikasi oleh peneliti lain → hasilnya tidak bisa dipercaya secara ilmiah, terlepas dari seberapa bagus angkanya. + +--- + +## Implementasi Riset ≠ Coding Biasa + +| Aspek | Coding Biasa | Implementasi Riset | +|-------|-------------|-------------------| +| **Tujuan** | Sistem berfungsi | Eksperimen dapat direplikasi | +| **Konfigurasi** | Hardcoded dalam kode | Dipisah dalam config file (YAML/JSON) | +| **Random seed** | Diabaikan | Ditetapkan dan di-log | +| **Versi library** | "Yang terbaru" | Dikunci (requirements.txt/conda env) | +| **Hasil** | "Jalan, selesai" | Di-log lengkap, timestamped | +| **Dokumentasi** | Minimal | Wajib, cukup detail untuk replikasi | + +**Prinsip:** Jika Anda menjalankan ulang kode Anda sendiri 6 bulan kemudian dan hasilnya berbeda → reproducibility gagal. + +--- + +## Komponen Environment yang Harus Dikontrol + +*Semuanya didokumentasikan, semuanya di-version control* + +
+ +- **Hardware:** CPU/GPU (model, RAM, VRAM) +- **OS:** Ubuntu 20.04 / Windows 11 (versi spesifik) +- **Language:** Python 3.10.12 (bukan "Python 3") +- **Framework:** PyTorch 2.1.0 / TensorFlow 2.13.0 +- **Libraries:** numpy 1.24.3, scikit-learn 1.3.0, transformers 4.35.0 +- **Dataset:** nama, sumber URL, tanggal diunduh, checksum (MD5/SHA256) +- **Random Seed:** seed=42 — set di semua library +- **Config:** hyperparameter dalam config.yaml (tidak hardcoded) + +
+ +**Tool:** `conda env export > environment.yml` atau `pip freeze > requirements.txt` + +--- + +## Repeatability vs Reproducibility + +| | Repeatability | Reproducibility | +|-|--------------|----------------| +| **Definisi** | Hasil sama oleh **peneliti yang sama** di kondisi yang sama | Hasil sama oleh **peneliti berbeda** dari deskripsi metode | +| **Standar** | Minimum — harus dicapai | Target — yang membuat sains berkembang | +| **Syarat** | Kode + environment + data tersedia | Kode + environment + data + dokumentasi terbuka | +| **Gagal karena** | Seed tidak di-set, library berbeda | Dokumentasi tidak cukup, data tidak publik | + +**Dalam laporan riset:** +- Reportkan mean ± std dari multiple runs (minimal 5) → menunjukkan repeatability +- Sertakan kode + environment file → memungkinkan reproducibility + +--- + +## Best Practices: Version Control untuk Eksperimen + +### Git untuk Kode + +```bash +# Setiap eksperimen = branch tersendiri +git checkout -b exp/03-attention-mechanism +git commit -m "Exp03: baseline BiLSTM+CRF untuk NER" + +# Tag untuk eksperimen yang final +git tag exp-03-final +``` + +### Logging Eksperimen + +Setiap run harus menghasilkan log yang berisi: + +``` +timestamp: 2026-04-13 09:15:32 +experiment_id: exp-03 +model: BiLSTM+CRF +config: config_03.yaml +dataset: CoNLL2003, split=42 +random_seed: 42 +result: {f1: 0.872, precision: 0.889, recall: 0.856} +duration: 1h23m +hardware: RTX 3090, 24GB VRAM +``` + +--- + +## Template README Eksperimen + +```markdown +# Eksperimen [N]: [Nama Eksperimen] + +## Tujuan +[Menguji hipotesis apa? Terkait RQ mana?] + +## Environment +- Python 3.10.12 +- PyTorch 2.1.0 +- CUDA 11.8 +- GPU: NVIDIA RTX 3090 + +## Setup +```bash +conda env create -f environment.yml +conda activate rti-exp +``` + +## Cara Menjalankan +```bash +python train.py --config configs/exp_03.yaml +``` + +## Hasil Terakhir +| Run | F1 | Precision | Recall | +|-----|-----|-----------|--------| +| 1 | 87.2% | 88.9% | 85.6% | +| ... | | | | +| Mean ± Std | 87.1 ± 0.3% | | | + +## Catatan +[Anomali, variasi, observasi penting selama eksekusi] +``` + +--- + + + +# Cognitive Traps +## Bab 9 — Implementation & Environment + +--- + +## Cognitive Traps — Bab 9 + +**"Kode sudah jalan, dokumentasi bisa dibuat nanti"** +Dokumentasi yang dibuat setelah eksperimen sering tidak lengkap — detail kecil yang kritis (versi library, seed, preprocessing decision) sudah terlupakan. Dokumentasi harus **bersamaan dengan implementasi**. + +**"Environment = install library yang diperlukan"** +Environment yang tidak terdokumentasi berarti "pip install terbaru" — dan library berubah versi. Satu perbedaan versi library bisa mengubah hasil secara signifikan. + +**"Satu run sudah cukup — hasilnya sudah bagus"** +Satu run tidak bisa membuktikan stabilitas. Variance antar run bisa besar. Minimal 5 run dengan fixed seed berbeda, laporkan mean ± std. + +--- + +## Studi Kasus 1 — Implementasi Tidak Reproducible (Basic) + +**Konteks:** Mahasiswa A mengirimkan kode ke dosen. Dosen menjalankan kode tersebut — hasilnya berbeda 12% dari yang dilaporkan. + +**Penyebab:** +- Library tidak di-lock (transformers versi beda → tokenizer berubah) +- Random seed tidak di-set → augmentasi data berbeda setiap run +- Preprocessing ada operasi random (shuffle tanpa seed) +- Config disimpan di dalam fungsi, tidak di file terpisah + +**Dampak:** Hasil tidak bisa diverifikasi → laporan tidak diterima. + +**Checklist reproducibility:** +- [ ] `requirements.txt` / `environment.yml` tersedia +- [ ] Semua random seed ditetapkan +- [ ] Config dipisah dari kode +- [ ] README berisi langkah menjalankan dari awal + +--- + +## Studi Kasus 2 — Library Version Mismatch (Advanced) + +**Konteks:** Paper melaporkan F1 = 94.2% menggunakan `scikit-learn`. Peneliti lain mencoba mereplikasi: F1 = 91.8%. + +**Investigasi:** +| Komponen | Paper | Replikasi | +|---------|-------|----------| +| scikit-learn | 0.24.2 | 1.3.0 | +| Implementasi `F1-score` | macro average | micro average (default berubah) | +| Preprocessing | StandardScaler | Sama | + +**Penyebab:** Perubahan default parameter `average` di `sklearn.metrics.f1_score` antara versi 0.24 dan 1.x. + +**Dampak:** 3 bulan upaya replikasi, hasilnya tetap tidak bisa dicocokkan. + +**Pelajaran:** Lock versi library. Sebutkan versi dalam paper. Gunakan checksum dataset. + +--- + +## Research vs Engineering — Implementation + +| Aspek | Engineering | Research | +|-------|------------|---------| +| Kode | Fungsional | Fungsional + reproducible | +| Config | Bisa hardcoded | Harus dieksternalisasi | +| Versi library | "Yang terbaru" | Di-lock dalam environment file | +| Random seed | Opsional | Wajib, didokumentasikan | +| Logging | Debug logging | Experiment logging (ID, params, result, time) | +| Dokumentasi | README basic | README eksperimen (langkah-langkah detail) | + +--- + +## Ringkasan Pertemuan 9 + +| Konsep | Inti | +|--------|------| +| Reproducible Implementation | Design → Implementation → Environment → Consistency → Reproducibility | +| Kontrol Environment | Hardware + OS + Python version + Library versions + Dataset checksum | +| Repeatability vs Reproducibility | Same researcher (min) vs different researcher (target) | +| Version Control | Branch per eksperimen, tag versi final | +| Logging | Setiap run: timestamp, config, result, hardware | +| README Eksperimen | Cukup detail untuk orang lain jalankan dari awal | + +--- + +## Final Statement & Output Praktis + +
+"Implementasi yang baik bukan yang paling cepat, tetapi yang menghasilkan hasil yang bisa dipercaya dan diverifikasi." +
+ +### Output Praktis M9 + +Buat **2 dokumen**: + +1. **Documentation Setup** — environment.yml / requirements.txt + semua konfigurasi eksperimen +2. **README Eksperimen** — langkah setup sampai menjalankan, annotated dengan tujuan tiap langkah + +*Dokumen ini menjadi Appendix "Experiment Reproducibility" dalam laporan riset.* + +--- + +## Referensi Utama — Bab 9 + +- Pineau, J., Vincent-Lamarre, P., Sinha, K., Larivière, V., Beygelzimer, A., d'Alché-Buc, F., Fox, E., & Larochelle, H. (2021). Improving reproducibility in machine learning research. *Journal of Machine Learning Research, 22*(1), 7459–7478. + +- Stodden, V., McNutt, M., Bailey, D. H., Deelman, E., Gil, Y., Hanson, B., Heroux, M. A., Ioannidis, J. P. A., & Taufer, M. (2016). Enhancing reproducibility for computational methods. *Science, 354*(6317), 1240–1241. + +- Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., & Wesslén, A. (2012). *Experimentation in software engineering*. Springer. diff --git a/slide/slide-10-experiment-execution.md b/slide/slide-10-experiment-execution.md new file mode 100644 index 0000000..7951a28 --- /dev/null +++ b/slide/slide-10-experiment-execution.md @@ -0,0 +1,1441 @@ +--- +marp: true +paginate: true +class: bagian-iii +header: 'RTI — Riset Teknologi Informasi | Universitas Putra Bangsa Kebumen' +footer: 'Helmi Bahar Alim, S.Kom., M.Kom. | 2026' +--- + + + + + + + + + + + + + + + + +# Bab 10 — Experiment Execution & Data Collection + +## Dari Rencana ke Data yang Terpercaya + +*Pertemuan 10 (M10)  |  Sub-CPMK 3.2  |  CPMK03  |  CPL06* + +Fase: **Executing** (M9–M11)  ·  Bagian III: Execution + +**Universitas Putra Bangsa**  |  Fak. Sains & Teknologi  ·  Prodi Teknik Informatika + +--- + +## Agenda Pertemuan 10 + +1. Execution plan: pentingnya perencanaan sebelum eksekusi +2. Experiment Execution Pipeline +3. Mengapa multiple run wajib +4. Struktur data logging yang benar +5. Konsistensi eksekusi — sama persis setiap kali +6. Data collection protokol +7. Cognitive Traps & Studi Kasus +8. Output Praktis: Log Eksperimen + Dataset Mentah + +--- + +## Capaian Pembelajaran + +Setelah pertemuan ini, mahasiswa mampu: + +- Menyusun **execution plan** yang detail sebelum menjalankan eksperimen +- Menerapkan **multiple run** dan menjelaskan alasan statistiknya +- Merancang struktur **data logging** yang komprehensif +- Memastikan **konsistensi eksekusi** di semua skenario dan run +- Menghasilkan **dataset eksperimen mentah** yang siap divalidasi + +> Sub-CPMK 3.2 → Melaksanakan eksperimen dan mengumpulkan data (CPL06) + +--- + +## Experiment Execution Pipeline + +*Dari desain ke dataset yang siap dianalisis* + +
+ +**Design** ↓ Execution Plan (sebelum eksperimen dimulai) ↓ Controlled Execution (skenario satu per satu) ↓ Data Collection (setiap metrik, setiap run) ↓ Data Logging (terstruktur, timestamped) ↓ **Dataset for Analysis** + +
+ +> Eksekusi **tanpa execution plan** = memasak tanpa resep. Mungkin jadi, tapi tidak terjamin konsistensinya. + +--- + +## Execution Plan — Apa yang Harus Ada + +**Sebelum menjalankan eksperimen pertama:** + +``` +EXECUTION PLAN — Eksperimen [N] + +Skenario yang akan dijalankan: + Skenario 1: [kondisi A] — [parameter spesifik] + Skenario 2: [kondisi B] — [parameter spesifik] + Skenario 3: [baseline] — [parameter spesifik] + +Jumlah run per skenario: 10 +Random seeds untuk tiap run: [42, 123, 456, 789, 1024, ...] + +Urutan eksekusi: + 1. Skenario baseline → 10 runs + 2. Skenario 1 → 10 runs + 3. Skenario 2 → 10 runs + +Estimasi waktu per run: 45 menit +Total waktu: ~22.5 jam +``` + +--- + +## Mengapa Multiple Run Wajib? + +**Satu run tidak cukup karena:** + +1. Inisialisasi random (weight initialization, shuffle order) berbeda setiap run +2. Hardware variance (thermal throttling, background processes) +3. Satu run tidak bisa menghitung **standard deviation → tidak bisa uji statistik** + +| Runs | Yang Bisa Dihitung | Yang Tidak Bisa | +|------|-------------------|----------------| +| 1 run | Point estimate saja | ± std, t-test, CI | +| 3 run | Mean (terlalu kecil untuk distribusi) | Reliable CI | +| 5 run | Mean ± std (minimum acceptable) | Large sample statistics | +| 10+ run | Mean ± std + t-test + CI | — | + +> **Minimum dalam riset TI:** 5 run. Disarankan 10 run untuk stabilitas statistik. + +--- + +## Struktur Data Logging + +*Setiap run harus menghasilkan log yang lengkap* + +```python +log_entry = { + "run_id": "exp03_run07", + "timestamp": "2026-04-13T10:25:33", + "experiment_id": "exp-03", + "scenario": "attention-mechanism", + "random_seed": 789, + "config": { + "model": "BiLSTM", + "attention": True, + "learning_rate": 1e-3, + "batch_size": 32, + "epochs": 50 + }, + "results": { + "f1_micro": 0.872, + "f1_macro": 0.815, + "precision": 0.889, + "recall": 0.856, + "training_time_sec": 2723 + }, + "hardware": "RTX 3090, 24GB VRAM, CUDA 11.8" +} +``` + +--- + +## Konsistensi Eksekusi — Checklist Setiap Run + +*Sebelum memulai setiap run, pastikan:* + +| Item | Cek | +|------|-----| +| Environment aktif (conda/venv) | `conda activate rti-exp` | +| Config file benar untuk skenario ini | `cat configs/exp_03_s1.yaml` | +| Random seed di-set | Set di numpy, torch, Python random | +| Dataset di lokasi yang benar + checksum OK | `md5sum dataset.csv` | +| GPU memory kosong | `nvidia-smi` | +| Log directory tersedia | `mkdir -p logs/exp03/` | +| Tidak ada proses berat yang berjalan | Tutup browser, aplikasi lain | + +> Konsistensi eksekusi bukan paranoia — ini adalah standar ilmiah. + +--- + + + +# Cognitive Traps +## Bab 10 — Experiment Execution + +--- + +## Cognitive Traps — Bab 10 + +**"Satu run sudah cukup kalau hasilnya bagus"** +"Bagus" dalam satu run mungkin keberuntungan (lucky seed). Tanpa multiple run, tidak ada cara mengetahui apakah hasil tersebut stabil atau artifact dari kondisi spesifik satu eksekusi. + +**"Data logging berlebihan, cukup catat hasil akhir saja"** +Ketika ada anomali atau hasil yang tidak terduga, log yang lengkap adalah satu-satunya cara untuk menginvestigasi. Logging minimal = debugging impossible. Disk space murah, waktu investigasi mahal. + +**"Eksperimen bisa dijalankan sambil mengerjakan yang lain"** +Background processes mengkonsumsi CPU/GPU/RAM dan dapat mempengaruhi throughput dan latency measurement. Untuk eksperimen yang mengukur performa sistem, isolasi resource wajib. + +--- + +## Studi Kasus 1 — Single Run Disaster (Basic) + +**Konteks:** Mahasiswa melaporkan F1=91.5%. Dosen meminta run ulang. Hasil: 84.2%. + +**Investigasi:** +- Run pertama: lucky seed, distribusi batch training kebetulan balans +- Run ulang: seed berbeda, batch distribution berbeda +- Variance sangat tinggi: std = 3.7% → model tidak stabil + +**Tabel dari 5 run:** +| Run | Seed | F1-score | +|-----|------|---------| +| 1 | 42 | 91.5% ← yang dilaporkan | +| 2 | 123 | 84.2% | +| 3 | 456 | 87.1% | +| 4 | 789 | 85.8% | +| 5 | 1024 | 86.3% | +| **Mean ± Std** | | **87.0 ± 2.6%** | + +**Pelajaran:** F1 yang sebenarnya adalah 87.0 ± 2.6%, bukan 91.5%. + +--- + +## Studi Kasus 2 — Eksekusi Tidak Konsisten (Advanced) + +**Konteks:** Researcher membandingkan dua model. Model A selalu dijalankan di pagi hari (server dingin), Model B di sore hari (server panas, thermal throttling aktif). + +**Hasil:** Model A 15% lebih cepat dalam inference time. + +**Masalah:** Perbedaan inference time bukan karena model — tapi karena kondisi hardware yang berbeda. + +**Protokol eksekusi yang benar:** +1. Randomize urutan eksekusi per run (Model A/B dijalankan bergantian dalam satu sesi) +2. Jalankan warm-up run sebelum pengukuran (GPU dalam kondisi stabil) +3. Ukur hardware state sebelum setiap run (`nvidia-smi`, CPU temperature) +4. Catat semua di log + +--- + +## Format Dataset Mentah + +*Hasil semua run harus tersimpan dalam format yang terstruktur* + +``` +results/ + exp03_summary.csv ← semua run, semua skenario + exp03_raw/ + run_01_seed42.json + run_02_seed123.json + ... + exp03_config/ + scenario_1_attention.yaml + scenario_2_baseline.yaml +``` + +**Format `exp03_summary.csv`:** +```csv +run_id,scenario,seed,f1_micro,f1_macro,precision,recall,time_sec +exp03_s1_r1,attention,42,0.872,0.815,0.889,0.856,2723 +exp03_s1_r2,attention,123,0.865,0.810,0.882,0.849,2698 +exp03_s2_r1,baseline,42,0.821,0.768,0.844,0.799,2511 +``` + +--- + +## Research vs Engineering — Execution + +| Aspek | Engineering | Research | +|-------|------------|---------| +| Eksekusi | Run sekali, jika berhasil → selesai | Minimal 5 run per skenario | +| Kondisi eksekusi | Tidak disebutkan | Dikontrol dan didokumentasikan | +| Data yang disimpan | Hasil akhir saja | Semua run, semua metrik, semua log | +| Anomali | Dibuang / diabaikan | Dicatat dan diinvestigasi | +| Urutan eksekusi | Tidak penting | Randomized untuk menghindari order bias | + +--- + +## Ringkasan Pertemuan 10 + +| Konsep | Inti | +|--------|------| +| Execution Pipeline | Design → Plan → Execution → Collection → Logging → Dataset | +| Multiple Run | Min. 5 runs → bisa hitung mean ± std → bisa uji statistik | +| Data Logging | Setiap run: ID, timestamp, config, result, hardware | +| Konsistensi | Checklist yang sama sebelum setiap run | +| Format Dataset | CSV summary + JSON detail per run + YAML config | + +--- + +## Final Statement & Output Praktis + +
+"Data yang baik bukan data yang banyak, tetapi data yang dikumpulkan dengan konsistensi metodologi yang ketat." +
+ +### Output Praktis M10 + +Hasilkan dan kumpulkan: + +1. **Log eksperimen** (minimal 5 run per skenario, format terstruktur) +2. **Dataset mentah** (`results/exp_summary.csv` + file per run) +3. **Catatan anomali** — apa yang terjadi di luar rencana selama eksekusi + +*Dokumen ini menjadi dasar untuk validasi data di Bab 11.* + +--- + +## Referensi Utama — Bab 10 + +- Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., & Wesslén, A. (2012). *Experimentation in software engineering*. Springer. + +- Pineau, J., Vincent-Lamarre, P., Sinha, K., Larivière, V., Beygelzimer, A., d'Alché-Buc, F., Fox, E., & Larochelle, H. (2021). Improving reproducibility in machine learning research. *Journal of Machine Learning Research, 22*(1), 7459–7478. + +- Hoefler, T., & Belli, R. (2015). Scientific benchmarking of parallel computing systems: Twelve ways to tell the masses when reporting performance results. In *Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis* (pp. 1–12). ACM. diff --git a/slide/slide-11-data-validation.md b/slide/slide-11-data-validation.md new file mode 100644 index 0000000..66b8b0d --- /dev/null +++ b/slide/slide-11-data-validation.md @@ -0,0 +1,1435 @@ +--- +marp: true +paginate: true +class: bagian-iii +header: 'RTI — Riset Teknologi Informasi | Universitas Putra Bangsa Kebumen' +footer: 'Helmi Bahar Alim, S.Kom., M.Kom. | 2026' +--- + + + + + + + + + + + + + + + + +# Bab 11 — Data Validation & Integrity + +## Memastikan Data yang Dikumpulkan Dapat Dipercaya + +*Pertemuan 11 (M11)  |  Sub-CPMK 3.3  |  CPMK03  |  CPL06* + +Fase: **Executing** (M9–M11)  ·  Bagian III: Execution + +**Universitas Putra Bangsa**  |  Fak. Sains & Teknologi  ·  Prodi Teknik Informatika + +--- + +## Agenda Pertemuan 11 + +1. Mengapa validasi data itu urusan peneliti, bukan pre-processing +2. Data Trust Model — pipeline dari Raw ke Analysis Ready +3. Empat Pilar Kualitas Data +4. Proses validasi step-by-step +5. Anomaly detection — outlier, missing values, inkonsistensi +6. Alignment data–eksperimen +7. Cognitive Traps & Studi Kasus +8. Output Praktis: Dataset Tervalidasi + Catatan Anomali + +--- + +## Capaian Pembelajaran + +Setelah pertemuan ini, mahasiswa mampu: + +- Menjelaskan perbedaan **validasi data** dan **preprocessing data** +- Menerapkan **4 pilar kualitas data** sebagai kriteria penerimaan dataset +- Melaksanakan proses validasi (format → range → consistency → logic) +- Mendokumentasikan **anomali** yang ditemukan dan keputusan yang diambil +- Memeriksa **alignment** antara data yang dikumpulkan dan desain eksperimen + +> Sub-CPMK 3.3 → Memvalidasi integritas data eksperimen (CPL06) + +--- + +## Data Trust Model + +*Setiap langkah harus meningkatkan kepercayaan terhadap data* + +
+ +**Raw Data** (dari eksperimen) ↓ Data Cleaning (format, struktur) ↓ Consistency Check (antar-run, antar-skenario) ↓ Validation (range, logic, alignment) ↓ Trusted Data (dengan dokumentasi anomali) ↓ **Analysis Ready** (siap Bab 13) + +
+ +> Validasi ≠ Preprocessing. Validasi memastikan data **benar**. Preprocessing mempersiapkan data untuk **analisis**. Urutannya tidak bisa dibalik. + +--- + +## Empat Pilar Kualitas Data + +*Standar yang harus dipenuhi oleh setiap dataset penelitian* + +| Pilar | Definisi | Pertanyaan Kunci | Contoh Pelanggaran | +|-------|---------|-----------------|-------------------| +| **Accuracy** (Akurasi) | Data mencerminkan fenomena yang diukur | Apakah nilai ini masuk akal? | F1=1.02 (mustahil) | +| **Consistency** (Konsistensi) | Tidak ada kontradiksi dalam dataset | Apakah run yang sama menghasilkan format yang sama? | Skenario A: nilai 0–1, Skenario B: nilai 0–100 | +| **Completeness** (Kelengkapan) | Semua yang seharusnya ada, ada | Adakah run yang hilang? | 10 run direncanakan, 8 di CSV | +| **Validity** (Validitas) | Data sesuai dengan definisi variabel dalam desain | Apakah yang diukur sesuai dengan RQ? | Mengukur accuracy padahal RQ butuh recall | + +--- + +## Proses Validasi Data — 4 Tahap + +### Tahap 1 — Format Validation +```python +# Cek struktur CSV +import pandas as pd +df = pd.read_csv('exp03_summary.csv') +print(df.dtypes) # Apakah kolom numerik dibaca sebagai float? +print(df.shape) # Apakah jumlah baris sesuai rencana? +print(df.isnull().sum()) # Apakah ada missing values? +``` + +### Tahap 2 — Range Validation +```python +# Validasi range metrik +assert (df['f1_micro'] >= 0).all() and (df['f1_micro'] <= 1).all(), "F1 out of range!" +assert (df['precision'] >= 0).all() and (df['precision'] <= 1).all(), "Precision out of range!" +assert (df['time_sec'] > 0).all(), "Training time harus positif!" +``` + +--- + +## Proses Validasi Data — Lanjutan + +### Tahap 3 — Consistency Check +```python +# Cek jumlah run per skenario (harus 10 per skenario) +run_counts = df.groupby('scenario')['run_id'].count() +print(run_counts) + +# Output yang diharapkan: +# scenario +# attention 10 +# baseline 10 +# no-attention 10 +``` + +### Tahap 4 — Logic Validation (Alignment dengan Desain) +``` +□ Semua skenario yang direncanakan ada di dataset? +□ Semua random seed yang dijadwalkan tereksekusi? +□ Metrik yang ada di dataset ← sesuai dengan RQ dan hipotesis? +□ Satuan metrik konsisten? (0–1 atau 0–100%?) +``` + +--- + +## Anomaly Detection + +*Tiga jenis anomali yang paling sering ditemukan:* + +### 1. Outlier Statistik +```python +from scipy import stats +z_scores = stats.zscore(df['f1_micro']) +outliers = df[abs(z_scores) > 3] +print("Outliers:", outliers) +``` + +Jika ditemukan outlier → **jangan langsung dibuang**. Investigasi dulu: +- Apakah log menunjukkan sesuatu yang aneh pada run tersebut? +- Apakah hardware state berbeda? +- Dokumentasikan alasan, baru putuskan: retain atau exclude with justification. + +### 2. Missing Values +Cek cross-referensi dengan execution log. Run hilang = re-run jika memungkinkan. + +### 3. Inkonsistensi Format +Contoh: kolom `time_sec` yang seharusnya float, tertuliskan "N/A" di beberapa baris. + +--- + + + +# Cognitive Traps +## Bab 11 — Data Validation + +--- + +## Cognitive Traps — Bab 11 + +**"Data dari eksperimen saya sendiri pasti sudah benar"** +Eksperimen yang dirancang baik pun bisa menghasilkan data yang cacat karena bug kecil, kondisi hardware, atau kesalahan konfigurasi. Validasi bukan soal ketidakpercayaan — tapi standar ilmiah. + +**"Outlier dibuang karena pasti error"** +Outlier bisa menjadi temuan paling menarik dalam penelitian. Membuang outlier tanpa investigasi = kehilangan insight + manipulasi data. Selalu dokumentasikan outlier dan alasan keputusan. + +**"Validasi data itu sama dengan preprocessing"** +Validasi = memastikan data benar (integritas). Preprocessing = mempersiapkan data untuk analisis (transformasi). Urutan wajib: validasi dulu, baru preprocessing. Tidak bisa dibalik. + +**"Kalau run-nya banyak, satu yang error tidak apa-apa"** +Setiap run yang cacat mempengaruhi mean dan std. Dalam 10 run, 1 run error = 10% data rusak = seluruh analisis terdampak. + +--- + +## Studi Kasus 1 — Data Inconsistency (Basic) + +**Konteks:** Mahasiswa membandingkan Model A vs Model B, 10 run masing-masing. + +**Masalah yang ditemukan saat validasi:** +- Model A: F1-score dalam skala 0–1 (0.872, 0.865, dst) +- Model B: F1-score dalam skala 0–100 (87.5, 86.2, dst) +- Keduanya berasal dari library yang berbeda (sklearn vs torchmetrics) + +**Dampak jika tidak divalidasi:** +- Model A mean = 0.869 +- Model B mean = 86.8 → tampak 100x lebih buruk +- Analisis komparatif menjadi tidak valid + +**Solusi:** Normalisasi ke skala yang sama **setelah validasi mengidentifikasi ini**, dan dokumentasikan dalam catatan preprocessing. + +--- + +## Studi Kasus 2 — Missing Runs + Outlier (Advanced) + +**Konteks:** 10 run direncanakan per skenario. Dataset hanya berisi 9 run. Run ke-7 juga tampak anomali (F1 = 0.342, jauh di bawah mean 0.87). + +**Investigasi:** +1. **Missing run:** Cross-cek dengan execution log → run ke-6 gagal karena `CUDA OOM` dan tidak di-log dengan benar +2. **Outlier run-7:** Log menunjukkan GPU temperature spike 85°C selama run → thermal throttling aktif + +**Keputusan yang didokumentasikan:** +``` +Anomali 1 — Run ke-6: Eksekusi gagal (CUDA OOM). + Keputusan: Re-run dengan batch_size=16 (bukan 32). + +Anomali 2 — Run ke-7: Thermal throttling aktif (85°C). + Keputusan: Exclude dari analisis. Alasan: kondisi hardware tidak normal. + Pengganti: Re-run dengan server di ruangan ber-AC. +``` + +--- + +## Dokumentasi Catatan Validasi + +*Setiap keputusan tentang data harus terdokumentasi* + +``` +DATA VALIDATION REPORT — Eksperimen 3 +Tanggal validasi: 2026-05-02 +Peneliti: [Nama] + +HASIL VALIDASI FORMAT : PASS — semua kolom sesuai tipe yang diharapkan +HASIL VALIDASI RANGE : PASS — semua nilai F1 dalam [0,1] +HASIL VALIDASI KONSISTENSI: FAIL → lihat anomali 1 +HASIL VALIDASI ALIGNMENT : PASS — semua metrik sesuai RQ + +ANOMALI YANG DITEMUKAN: + [ANO-01] Run exp03_s1_r6: Missing. Penyebab: CUDA OOM. + Keputusan: Re-run. Status: Selesai (exp03_s1_r6b). + [ANO-02] Run exp03_s1_r7: Outlier (F1=0.342). Penyebab: Thermal throttling. + Keputusan: Exclude + re-run (exp03_s1_r7b). + +STATUS AKHIR: Dataset valid. Siap untuk preprocessing. +``` + +--- + +## Research vs Ad-Hoc — Data Handling + +| Aspek | Ad-Hoc | Research | +|-------|--------|---------| +| Validasi data | Langsung analisis | Validasi dulu sebelum apapun | +| Outlier | Dibuang atau diabaikan | Investigasi + dokumentasi keputusan | +| Missing data | Di-impute langsung | Cari tahu penyebab, pertimbangkan re-run | +| Format inconsistency | "Nanti saja saat analisis" | Temukan saat validasi, perbaiki dengan dokumentasi | +| Laporan | Hanya hasil | Hasil + catatan anomali + audit trail | + +--- + +## Ringkasan Pertemuan 11 + +| Konsep | Inti | +|--------|------| +| Data Trust Model | Raw → Cleaning → Consistency → Validation → Trusted → Analysis Ready | +| 4 Pilar | Accuracy, Consistency, Completeness, Validity | +| Proses Validasi | Format → Range → Consistency → Logic (4 tahap) | +| Anomaly Handling | Investigasi dulu → keputusan berbasis bukti → dokumentasi | +| Output Wajib | Dataset tervalidasi + Catatan anomali + Validation report | + +--- + +## Final Statement & Output Praktis + +
+"Data yang divalidasi dengan buruk adalah fondasi yang retak — bangunan analisis di atasnya, sebagus apapun, tidak akan dapat dipercaya." +
+ +### Output Praktis M11 + +Kumpulkan dan lampirkan: + +1. **Dataset tervalidasi** (`exp_summary_validated.csv`) +2. **Validation report** (format bebas, isi sesuai template catatan validasi) +3. **Catatan anomali** — setiap anomali yang ditemukan dan keputusan yang diambil + +*Dataset ini menjadi input untuk Preprocessing (Bab 13) dan Presentasi Hasil (Bab 12).* + +--- + +## Referensi Utama — Bab 11 + +- Pipino, L. L., Lee, Y. W., & Wang, R. Y. (2002). Data quality assessment. *Communications of the ACM, 45*(4), 211–218. + +- Strong, D. M., Lee, Y. W., & Wang, R. Y. (1997). Data quality in context. *Communications of the ACM, 40*(5), 103–110. + +- Rahm, E., & Do, H. H. (2000). Data cleaning: Problems and current approaches. *IEEE Data Engineering Bulletin, 23*(4), 3–13. + +- Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., & Wesslén, A. (2012). *Experimentation in software engineering*. Springer. diff --git a/slide/slide-12-result-presentation.md b/slide/slide-12-result-presentation.md new file mode 100644 index 0000000..a508e9f --- /dev/null +++ b/slide/slide-12-result-presentation.md @@ -0,0 +1,1427 @@ +--- +marp: true +paginate: true +class: bagian-iv +header: 'RTI — Riset Teknologi Informasi | Universitas Putra Bangsa Kebumen' +footer: 'Helmi Bahar Alim, S.Kom., M.Kom. | 2026' +--- + + + + + + + + + + + + + + + + +# Bab 12 — Result Presentation & Visualization + +## Dari Data Mentah ke Insight yang Dapat Dikomunikasikan + +*Pertemuan 12 (M12)  |  Sub-CPMK 4.1  |  CPMK04  |  CPL07* + +Fase: **Analyzing & Communicating** (M12–M16)  ·  Bagian IV + +**Universitas Putra Bangsa**  |  Fak. Sains & Teknologi  ·  Prodi Teknik Informatika + +--- + +## Agenda Pertemuan 12 + +1. Memasuki Bagian IV — dari eksekusi ke komunikasi hasil +2. Data → Insight Pipeline +3. Tabel vs Grafik — kapan menggunakan yang mana +4. Mapping tujuan → jenis visualisasi +5. Multi-metric presentation — cara melaporkan banyak metrik sekaligus +6. Visualization bias — cara visualisasi bisa menipu +7. Cognitive Traps & Studi Kasus +8. Output Praktis: Tabel + Grafik + Observasi Awal + +--- + +## Capaian Pembelajaran + +Setelah pertemuan ini, mahasiswa mampu: + +- Menjelaskan perbedaan peran **tabel** (presisi) dan **grafik** (insight) +- Memilih jenis visualisasi berdasarkan **tujuan komunikasi hasil** +- Menyajikan hasil **multi-metrik** secara terstruktur dan tidak menyesatkan +- Mengidentifikasi dan menghindari **visualization bias** +- Menghasilkan **observasi awal** dari presentasi hasil sebelum interpretasi formal + +> Sub-CPMK 4.1 → Menyajikan dan memvisualisasikan hasil eksperimen (CPL07) + +--- + +## Sambutan ke Bagian IV + +*Apa yang sudah kita miliki, apa yang harus kita lakukan* + +``` +Bagian I → Thinking: Masalah ditemukan, RQ dirumuskan +Bagian II → Designing: Metrik ditentukan, sistem dirancang, eksperimen didesain +Bagian III → Executing: Sistem diimplementasikan, dijalankan, data dikumpulkan + divalidasi + +NOW: Bagian IV → Analyzing & Communicating + Bab 12: Sajikan hasil agar bisa dibaca + Bab 13: Preprocessing untuk analisis + Bab 14: Analisis, interpretasi, failure analysis + Bab 15: Tulis laporan ilmiah + Bab 16: Presentasikan dan defend +``` + +> Data yang valid (Bab 11) adalah fondasi. Presentasi yang jelas (Bab 12) adalah jembatan. + +--- + +## Data → Insight Pipeline + +*Proses mengubah angka mentah menjadi insight yang dapat dikomunikasikan* + +
+ +**Validated Data** (Bab 11) ↓ Structured Presentation (tabel, format baku) ↓ Visualization (grafik yang tepat sasaran) ↓ Pattern Recognition (tren, perbedaan, konsistensi) ↓ **Insight** (observasi bermakna, siap Bab 14) + +
+ +> Bab 12 menghasilkan **observasi** — "kita melihat X lebih baik dari Y dalam kondisi Z" +> Bab 14 menghasilkan **interpretasi** — "ini terjadi karena..." + +--- + +## Tabel vs Grafik — Pilih yang Benar + +| Situasi | Gunakan Tabel | Gunakan Grafik | +|---------|--------------|---------------| +| Tujuan | Presisi — angka exakt penting | Insight — pola, tren, perbandingan | +| Pembaca perlu | Mencari angka spesifik | Memahami pola dengan cepat | +| Data | Multi-metrik, banyak dimensi | Satu atau dua dimensi utama | +| Konteks | Laporan teknis, lampiran | Presentasi, paper figure | + +**Aturan praktis:** +- Tabel **selalu ada** di laporan → pembaca bisa verifikasi angka +- Grafik menampilkan **pesan utama** yang ingin disampaikan +- Tidak ada grafik tanpa tabel pendamping di laporan ilmiah + +--- + +## Mapping Tujuan → Jenis Visualisasi + +| Tujuan Komunikasi | Jenis Grafik | Contoh | +|------------------|-------------|--------| +| Bandingkan nilai antar model | Bar chart | Perbandingan F1 Model A vs B vs C | +| Bandingkan multiple metrik | Grouped/stacked bar | Precision, Recall, F1 per model | +| Lihat tren seiring waktu | Line chart | Training loss over epochs | +| Lihat distribusi performa | Box plot | F1 dari 10 run per skenario | +| Lihat trade-off dua metrik | Scatter plot | Precision-Recall curve | +| Lihat keseluruhan radar | Radar chart | 5 metrik sekaligus per model | +| Lihat sebaran error | Heatmap | Confusion matrix | + +> **Box plot sangat penting** untuk researcher: menampilkan median, IQR, dan outlier sekaligus. + +--- + +## Multi-Metric Presentation + +*Penelitian TI jarang punya satu metrik tunggal — cara melaporkan banyak metrik* + +**Format tabel standar:** + +| Skenario | F1-micro | F1-macro | Precision | Recall | Time (s) | +|----------|---------|---------|-----------|--------|---------| +| Baseline | 0.821 ± 0.015 | 0.768 ± 0.018 | 0.844 ± 0.012 | 0.799 ± 0.021 | 2511 ± 43 | +| +Attention | **0.869 ± 0.011** | **0.815 ± 0.014** | **0.882 ± 0.010** | **0.857 ± 0.016** | 2706 ± 52 | +| +Ensemble | 0.851 ± 0.013 | 0.798 ± 0.016 | 0.867 ± 0.011 | 0.836 ± 0.019 | 3124 ± 67 | + +**Prinsip:** Selalu tampilkan mean ± std. Bold = best per kolom. N = jumlah run (cantumkan di caption). + +--- + +## Visualization Bias — Cara Visualisasi Menipu + +*Tiga teknik visual yang menyesatkan (dan sering tidak disengaja)* + +### 1. Manipulasi Y-axis +``` + Y-axis mulai dari 0.85: vs. Y-axis mulai dari 0: + | | +0.89| █ 1.0| +0.87| █ █ 0.8| █ █ █ +0.85|█ █ | + A B C A B C + Tampak sangat berbeda Tampak hampir sama +``` +Kedua grafik menggunakan data yang persis sama! + +### 2. Selective Data — hanya menampilkan skenario terbaik +### 3. Misleading Chart Type — bar chart untuk data kontinu yang seharusnya box plot + +--- + + + +# Cognitive Traps +## Bab 12 — Result Presentation + +--- + +## Cognitive Traps — Bab 12 + +**"Lebih besar selalu lebih baik"** +Tidak semua metrik makin besar makin baik. Execution time, memory usage, dan false positive rate → lebih kecil lebih baik. Selalu beri label dan arah di tabel dan grafik. + +**"Grafik sudah cukup, tidak perlu tabel"** +Grafik tidak bisa di-verifikasi angkanya. Dalam laporan ilmiah, tabel pencantuman nilai exakt adalah standar — bukan opsional. Grafik tanpa tabel = tidak cukup untuk reproduksi. + +**"Saya hanya menampilkan skenario terbaik untuk memperkuat argumen"** +Selective reporting adalah pelanggaran integritas ilmiah. Semua skenario yang dijalankan harus dilaporkan. Argumen yang kuat muncul dari analisis yang jujur — bukan dari data yang dipilah. + +**"Observasi awal sudah cukup, tidak perlu analisis lebih lanjut"** +Bab 12 menghasilkan observasi. Interpretasi dan penjelasan mengapa — itu adalah tugas Bab 14. Jangan melompat dari angka ke kesimpulan tanpa analisis formal. + +--- + +## Studi Kasus 1 — Y-Axis Manipulation (Basic) + +**Presentasi original:** +Grafik menunjukkan model peneliti jauh lebih baik dari baseline. Dosen menanyakan skala Y-axis. + +Ternyata Y-axis dimulai dari 0.82, mengakhiri di 0.90. +Perbedaan aktual: 87.0% vs 82.1% = **4.9 percentage point**. + +**Revisi:** +1. Y-axis dimulai dari 0 +2. Tambahkan error bar (± std dari 10 run) +3. Tambahkan tabel dengan nilai exakt + +**Pelajaran:** Perbedaan 4.9pp tetap signifikan secara statistik. Tidak perlu "membesarkan" secara visual — biarkan angka bicara sendiri. + +--- + +## Studi Kasus 2 — Visualisasi yang Tepat (Advanced) + +**Original:** Bar chart untuk menampilkan performa dari 10 run. +Bar chart hanya menampilkan mean — variance tersembunyi. + +**Solusi: Box plot dari 10 run** + +``` +Attention: |───[===|===]───•| Median: 0.869, IQR: 0.011–0.015 +Ensemble: |──[===|===]──| Median: 0.851, IQR: 0.013–0.016 +Baseline: |─[===|===]──| Median: 0.821, IQR: 0.015–0.018 +``` + +**Informasi tambahan yang terlihat dari box plot:** +- Attention memiliki variance lebih kecil (lebih stabil) +- Ensemble lebih stabil dari Baseline +- Tidak ada overlap distribusi → perbedaan kemungkinan signifikan + +--- + +## Format Observasi Awal + +*Sebelum interpretasi, dokumentasikan dulu apa yang terlihat* + +``` +OBSERVASI AWAL HASIL EKSPERIMEN + +[OBS-01] Skenario "+Attention" menghasilkan F1-micro tertinggi (0.869 ± 0.011), + diikuti "+Ensemble" (0.851 ± 0.013), dan Baseline (0.821 ± 0.015). + +[OBS-02] Variance skenario "+Attention" lebih kecil dari Baseline, + menunjukkan stabilitas yang lebih baik. + +[OBS-03] "+Ensemble" memerlukan waktu eksekusi lebih lama (3124 ± 67s) + dibanding "+Attention" (2706 ± 52s). + +[OBS-04] Pada F1-macro, semua skenario menunjukkan nilai lebih rendah daripada + F1-micro, mengindikasikan performa yang tidak seimbang antar kelas. + +CATATAN: Observasi ini baru mendeskripsikan "apa yang terjadi". Interpretasi + mengapa — akan dilakukan di Bab 14. +``` + +--- + +## Ringkasan Pertemuan 12 + +| Konsep | Inti | +|--------|------| +| Data→Insight Pipeline | Validated Data → Structured → Visualization → Pattern → Insight | +| Tabel vs Grafik | Tabel = presisi (selalu ada), Grafik = insight (pilih tepat) | +| Mapping Visualisasi | Tujuan berbeda → jenis grafik berbeda (bar/box/scatter/radar) | +| Multi-metric | Mean ± std, bold best, N runs disebut di caption | +| Visualization Bias | Y-axis manipulation, selective data, misleading chart type | +| Observasi vs Interpretasi | Bab 12 = "apa yang terjadi", Bab 14 = "mengapa terjadi" | + +--- + +## Final Statement & Output Praktis + +
+"Visualisasi yang jujur bukan hanya soal estetika — ini adalah pernyataan integritas ilmiah. Data yang baik tidak perlu dimanipulasi agar terlihat menarik." +
+ +### Output Praktis M12 + +Buat dan kumpulkan: + +1. **Tabel hasil** (semua skenario, semua metrik, format mean ± std) +2. **Minimal 2 grafik** (pilih jenis sesuai tujuan komunikasi) +3. **Dokumen observasi awal** (format [OBS-XX] seperti template di atas) + +--- + +## Referensi Utama — Bab 12 + +- Tufte, E. R. (2001). *The visual display of quantitative information* (2nd ed.). Graphics Press. + +- Few, S. (2012). *Show me the numbers: Designing tables and graphs to enlighten* (2nd ed.). Analytics Press. + +- Munzner, T. (2014). *Visualization analysis and design*. CRC Press. + +- Jain, R. (1991). *The art of computer systems performance analysis: Techniques for experimental design, measurement, simulation, and modeling*. Wiley. diff --git a/slide/slide-13-data-preprocessing.md b/slide/slide-13-data-preprocessing.md new file mode 100644 index 0000000..ad4f6df --- /dev/null +++ b/slide/slide-13-data-preprocessing.md @@ -0,0 +1,1464 @@ +--- +marp: true +paginate: true +class: bagian-iv +header: 'RTI — Riset Teknologi Informasi | Universitas Putra Bangsa Kebumen' +footer: 'Helmi Bahar Alim, S.Kom., M.Kom. | 2026' +--- + + + + + + + + + + + + + + + + +# Bab 13 — Data Preprocessing + +## Mengubah Data Mentah menjadi Siap Analisis + +*Pertemuan 13 (M13)  |  Sub-CPMK 4.2  |  CPMK04  |  CPL07* + +Fase: **Analyzing & Communicating** (M12–M16)  ·  Bagian IV + +**Universitas Putra Bangsa**  |  Fak. Sains & Teknologi  ·  Prodi Teknik Informatika + +--- + +## Agenda Pertemuan 13 + +1. Preprocessing vs Validasi — perbedaan yang kritis +2. Data Refinement Pipeline +3. Data Cleaning — missing values, duplikat, error +4. Data Transformation — encoding, agregasi, feature creation +5. Normalization & Scaling +6. Empat Prinsip Preprocessing +7. Cognitive Traps & Studi Kasus +8. Output Praktis: Dataset Bersih + Dokumentasi Preprocessing + +--- + +## Capaian Pembelajaran + +Setelah pertemuan ini, mahasiswa mampu: + +- Membedakan **validasi data** (Bab 11) vs **preprocessing data** (Bab 13) +- Menerapkan teknik **data cleaning**: missing values, duplikat, outlier handling +- Melakukan **transformasi data** yang sesuai (encoding, normalisasi, agregasi) +- Mendokumentasikan setiap langkah preprocessing untuk **reproduksi** +- Menerapkan **4 prinsip preprocessing** agar tidak memperkenalkan bias + +> Sub-CPMK 4.2 → Melakukan preprocessing data untuk analisis (CPL07) + +--- + +## Data Refinement Pipeline + +*Dari data tervalidasi hingga siap dianalisis* + +
+ +**Raw Data Tervalidasi** (Bab 11) ↓ Cleaning (hapus noise, missing, duplikat) ↓ Transformation (ubah format/representasi) ↓ Normalization (sesuaikan skala/distribusi) ↓ **Processed Data** ↓ Analysis Ready (input Bab 14) + +
+ +> **Prinsip fundamental:** Preprocessing harus **dapat direproduksi** dan **terdokumentasi**. Tidak boleh ada langkah yang dilakukan tanpa jejak. + +--- + +## Validasi vs Preprocessing — Garis yang Jelas + +*Perbedaan yang sering tertukar* + +| Aspek | Validasi (Bab 11) | Preprocessing (Bab 13) | +|-------|-----------------|----------------------| +| **Tujuan** | Memastikan data benar | Mempersiapkan data untuk analisis | +| **Pertanyaan** | "Apakah data ini valid?" | "Bagaimana mengoptimalkan data untuk analisis?" | +| **Tindakan** | Identifikasi masalah + keputusan | Transformasi + normalisasi | +| **Output** | Dataset valid + catatan anomali | Dataset siap analisis | +| **Urutan** | **Pertama** | **Kedua** (setelah validasi) | + +> Jika preprocessing dilakukan sebelum validasi → kita mungkin "memperbaiki" data yang seharusnya diinvestigasi lebih lanjut. + +--- + +## Data Cleaning — Tiga Masalah Utama + +### 1. Missing Values +```python +# Identifikasi +print(df.isnull().sum()) + +# Strategi penanganan (pilih berdasarkan konteks): +# a. Drop baris jika jumlah kecil dan tidak sistemik +df.dropna(subset=['f1_micro'], inplace=True) + +# b. Impute dengan mean (hanya untuk data kontinu, non-kritis) +df['time_sec'].fillna(df['time_sec'].mean(), inplace=True) + +# c. Flag sebagai missing category (untuk data kategoris) +df['hardware'].fillna('unknown', inplace=True) +``` + +### 2. Duplikat (run yang ter-log dua kali) +```python +df.drop_duplicates(subset=['run_id'], keep='first', inplace=True) +``` + +### 3. Format Error (nilai "N/A" teks di kolom numerik) +```python +df['time_sec'] = pd.to_numeric(df['time_sec'], errors='coerce') +``` + +--- + +## Data Transformation + +*Mengubah representasi data untuk memudahkan analisis* + +### Encoding Variabel Kategoris +```python +# Label encoding (untuk variabel ordinal) +scenario_map = {'baseline': 0, '+attention': 1, '+ensemble': 2} +df['scenario_code'] = df['scenario'].map(scenario_map) + +# One-hot encoding (untuk variabel nominal, tanpa urutan) +df_encoded = pd.get_dummies(df, columns=['hardware']) +``` + +### Agregasi +```python +# Hitung statistik per skenario (dari 10 run ke 1 baris per skenario) +summary = df.groupby('scenario').agg({ + 'f1_micro': ['mean', 'std', 'min', 'max'], + 'time_sec': ['mean', 'std'] +}).round(4) +``` + +--- + +## Normalization & Scaling + +*Mengapa diperlukan dan kapan digunakan* + +| Teknik | Formula | Kapan Digunakan | +|--------|---------|----------------| +| Min-Max Normalization | $x' = \frac{x - x_{min}}{x_{max} - x_{min}}$ | Ketika distribusi tidak diketahui, butuh skala [0,1] | +| Z-Score Standardization | $z = \frac{x - \mu}{\sigma}$ | Ketika data asumsi distribusi normal, ML yang sensitif skala | +| Log Transformation | $x' = \log(x)$ | Data sangat skewed (mis. execution time) | +| Robust Scaling | $x' = \frac{x - Q2}{Q3 - Q1}$ | Ada outlier yang tidak bisa dibuang | + +> **Penting:** Fit scaler HANYA pada training data, apply ke test data. Jangan fit pada seluruh dataset → data leakage! + +--- + +## Empat Prinsip Preprocessing + +*Standar yang membedakan preprocessing ilmiah dari ad-hoc* + +**1. Consistency** — Terapkan langkah yang sama persis ke semua skenario +```python +# Satu fungsi preprocessing, dipanggil untuk setiap skenario +def preprocess(df): return pipeline.fit_transform(df) +``` + +**2. Transparency** — Setiap langkah terdokumentasi dengan alasan +``` +[STEP-01] Normalisasi waktu eksekusi dengan log transform. + Alasan: distribusi sangat right-skewed (skewness=4.3). +``` + +**3. Reproducibility** — Simpan pipeline sebagai kode, bukan manual +```python +joblib.dump(pipeline, 'preprocessing_pipeline.pkl') +``` + +**4. Minimal Distortion** — Jangan hapus karakteristik penting dari data +> Normalisasi boleh mengubah skala, tidak boleh mengubah urutan atau hubungan relatif. + +--- + + + +# Cognitive Traps +## Bab 13 — Data Preprocessing + +--- + +## Cognitive Traps — Bab 13 + +**"Preprocessing dilakukan dulu sebelum memahami data"** +Preprocessing tanpa pemahaman konteks dapat memperkenalkan bias yang tidak disadari. Selalu lakukan exploratory analysis terlebih dahulu, baru tentukan preprocessing yang tepat. + +**"Normalisasi selalu diperlukan"** +Beberapa algoritma (decision tree, random forest) tidak sensitif terhadap skala. Normalisasi tidak selalu meningkatkan performa. Pilih berdasarkan kebutuhan algoritma, bukan habit. + +**"Data leakage tidak masalah karena kita tahu hasilnya"** +Data leakage (fit scaler pada entire dataset termasuk test) adalah invalidasi hasil yang fundamental. Hasil yang tinggi karena data leakage bukan prestasi — itu artifact. + +**"Langkah preprocessing tidak perlu didokumentasikan satu per satu"** +Jika preprocessing tidak terdokumentasi, penelitian tidak dapat direproduksi. Penelitian yang tidak dapat direproduksi tidak dapat diverifikasi. Ini adalah standar minimum publikasi ilmiah. + +--- + +## Studi Kasus 1 — Data Leakage (Basic) + +**Konteks:** Mahasiswa melakukan normalisasi sebelum train/test split. + +```python +# Data Leakage +from sklearn.preprocessing import StandardScaler + +scaler = StandardScaler() +X_scaled = scaler.fit_transform(X) # Fit pada SEMUA data, termasuk test! + +X_train, X_test = train_test_split(X_scaled, test_size=0.2) + +# Masalah: scaler telah "melihat" test data → test data tidak independen lagi +``` + +```python +# Benar +from sklearn.preprocessing import StandardScaler +from sklearn.pipeline import Pipeline + +X_train, X_test = train_test_split(X, test_size=0.2) + +scaler = StandardScaler() +X_train_scaled = scaler.fit_transform(X_train) # Fit HANYA pada training +X_test_scaled = scaler.transform(X_test) # Transform saja test data +``` + +--- + +## Studi Kasus 2 — Inconsistent Preprocessing (Advanced) + +**Konteks:** Researcher membandingkan Model A dan Model B. + +**Masalah:** +- Model A: preprocessing dengan normalisasi Min-Max +- Model B: preprocessing dengan standardisasi Z-score +- Kedua model dibandingkan sebagai "perbandingan arsitektur" + +**Tapi preprocessing yang berbeda = bukan hanya arsitektur yang berbeda!** + +Model B mungkin lebih baik bukan karena arsitekturnya, tapi karena Z-score lebih cocok dengan distribusi data ini. + +**Solusi:** +1. Tentukan satu pipeline preprocessing yang sama untuk semua model yang dibandingkan +2. Jika ingin membandingkan teknik preprocessing → buat itu sebagai variabel eksperimen eksplisit + +--- + +## Dokumentasi Preprocessing + +*Format standar yang harus ada dalam laporan* + +``` +PREPROCESSING DOCUMENTATION + +Dataset: exp03_summary_validated.csv (setelah validasi Bab 11) +Tanggal preprocessing: 2026-05-05 +Peneliti: [Nama] + +LANGKAH PREPROCESSING: + +[STEP-01] Log transform pada kolom 'time_sec' + Alasan: skewness = 4.3 (right-skewed). Log transform menurunkan ke 0.8. + Kode: df['time_sec'] = np.log1p(df['time_sec']) + +[STEP-02] One-hot encoding pada kolom 'scenario' + Alasan: variabel nominal (tidak ada urutan). + Output: 3 kolom dummy (attendance_baseline, +attention, +ensemble) + +[STEP-03] Min-Max normalization pada seluruh fitur numerik + Alasan: SVM dan neural network sensitif terhadap skala. + Penting: Scaler di-fit HANYA pada training fold (cross-validation). + +OUTPUT: exp03_processed.csv + preprocessing_pipeline.pkl +``` + +--- + +## Ringkasan Pertemuan 13 + +| Konsep | Inti | +|--------|------| +| Preprocessing vs Validasi | Validasi dulu (cek kebenaran), preprocessing kemudian (siapkan analisis) | +| Cleaning | Missing (drop/impute/flag) + Duplikat + Format Error | +| Transformation | Encoding kategoris + Agregasi runs → per-skenario | +| Normalization | Min-Max/Z-score/Log/Robust sesuai konteks + hindari data leakage | +| 4 Prinsip | Consistency · Transparency · Reproducibility · Minimal Distortion | + +--- + +## Final Statement & Output Praktis + +
+"Preprocessing yang tidak terdokumentasi adalah black box — tidak ada yang bisa memverifikasi apakah transformasi yang dilakukan valid atau tidak, termasuk penelitinya sendiri setelah 6 bulan." +
+ +### Output Praktis M13 + +Kumpulkan: + +1. **Dataset bersih** (`exp_processed.csv` — siap untuk analisis) +2. **Preprocessing pipeline** (kode Python / file `.pkl`) +3. **Dokumentasi preprocessing** (format [STEP-XX] lengkap dengan alasan) + +--- + +## Referensi Utama — Bab 13 + +- Famili, A., Shen, W. M., Weber, R., & Simoudis, E. (1997). Data preprocessing and intelligent data analysis. *Intelligent Data Analysis, 1*(1), 3–23. + +- Garcia, S., Luengo, J., & Herrera, F. (2015). *Data preprocessing in data mining*. Springer. + +- Kaufman, S., Rosset, S., Perlich, C., & Stitelman, O. (2012). Leakage in data mining: Formulation, detection, and avoidance. *ACM Transactions on Knowledge Discovery from Data, 6*(4), 1–21. + +- Géron, A. (2022). *Hands-on machine learning with Scikit-Learn, Keras, and TensorFlow* (3rd ed.). O'Reilly Media. diff --git a/slide/slide-14-data-analysis.md b/slide/slide-14-data-analysis.md new file mode 100644 index 0000000..b521273 --- /dev/null +++ b/slide/slide-14-data-analysis.md @@ -0,0 +1,1458 @@ +--- +marp: true +paginate: true +class: bagian-iv +header: 'RTI — Riset Teknologi Informasi | Universitas Putra Bangsa Kebumen' +footer: 'Helmi Bahar Alim, S.Kom., M.Kom. | 2026' +--- + + + + + + + + + + + + + + + + +# Bab 14 — Data Analysis, Interpretation & Failure Analysis + +## Dari Data ke Pengetahuan yang Dapat Dipertanggungjawabkan + +*Pertemuan 14 (M14)  |  Sub-CPMK 4.3  |  CPMK04  |  CPL07* + +Fase: **Analyzing & Communicating** (M12–M16)  ·  Bagian IV + +**Universitas Putra Bangsa**  |  Fak. Sains & Teknologi  ·  Prodi Teknik Informatika + +--- + +## Agenda Pertemuan 14 + +1. Perbedaan analisis dan interpretasi +2. Data → Knowledge Pipeline +3. Link wajib: Result → RQ → Hypothesis → Conclusion +4. Uji statistik untuk penelitian TI +5. Failure analysis — kegagalan sebagai sumber insight +6. Limitation — membatasi klaim dengan jujur +7. Cognitive Traps & Studi Kasus +8. Output Praktis: Analisis + Interpretasi + Failure Analysis + Limitation + +--- + +## Capaian Pembelajaran + +Setelah pertemuan ini, mahasiswa mampu: + +- Membedakan **analisis** ("apa yang terjadi") dari **interpretasi** ("mengapa terjadi") +- Membangun rantai logis **hasil → RQ → hipotesis → kesimpulan** +- Melakukan **uji statistik** yang sesuai untuk mendukung klaim perbandingan +- Menulis **failure analysis** yang mengubah kegagalan menjadi insight +- Menyatakan **limitation** dengan jujur dan proporsional + +> Sub-CPMK 4.3 → Menganalisis, menginterpretasikan, dan menyimpulkan hasil eksperimen (CPL07) + +--- + +## Data → Knowledge Pipeline + +*Lima tahap yang dapat dibedakan secara epistemologis* + +
+ +**Data** (angka mentah, Bab 13) ↓ **Analysis** — "Apa yang terjadi?" (statistik deskriptif + uji hipotesis) ↓ **Interpretation** — "Mengapa ini terjadi?" (berbasis teori/literatur) ↓ **Explanation** — "Apa implikasinya?" (link ke RQ & kontribusi) ↓ **Knowledge** (temuan yang dapat dipercaya) + +
+ +> Melompat dari Data langsung ke Knowledge tanpa Analysis dan Interpretation → **pseudoscience**, bukan penelitian. + +--- + +## Analisis vs Interpretasi — Garis yang Tegas + +*Dua pertanyaan berbeda, dua langkah berbeda* + +| Aspek | Analisis | Interpretasi | +|-------|---------|-------------| +| **Pertanyaan** | Apa yang terjadi di data? | Mengapa ini terjadi? | +| **Sumber** | Data itu sendiri + statistik | Teori, literatur, pengetahuan domain | +| **Output** | Fakta tentang data (deskriptif + inferensial) | Penjelasan, mekanisme, insight | +| **Contoh** | "F1 dengan attention 87.0%, baseline 82.1%, p=0.003" | "Attention meningkatkan F1 karena model dapat fokus pada fitur kontekstual yang relevan" | + +> Analisis harus datang sebelum interpretasi. Interpretasi tanpa analisis = opini. Analisis tanpa interpretasi = laporan teknis, bukan penelitian. + +--- + +## Rantai Logis Wajib + +*Setiap klaim dalam laporan harus dapat ditelusuri* + +``` +RQ: "Apakah mekanisme attention meningkatkan F1 pada klasifikasi teks?" + +Hipotesis H1: "Penggunaan attention meningkatkan F1-macro secara signifikan" + +Hasil Empiris: + Attention: 0.891 ± 0.012 + Baseline: 0.841 ± 0.018 + Δ = +0.050, t(18) = 3.24, p = 0.004 + +Analisis: "Perbedaan signifikan secara statistik (p < 0.05). H1 diterima." + +Interpretasi: "Attention mechanism memungkinkan model untuk memberikan + bobot lebih pada token yang relevan secara kontekstual, + mengurangi noise dari token yang tidak informatif." + +Kesimpulan: "Attention meningkatkan F1-macro untuk klasifikasi teks + multi-kelas pada domain yang diuji." +``` + +--- + +## Uji Statistik dalam Penelitian TI + +*Memilih uji yang tepat untuk mendukung klaim* + +| Situasi | Uji yang Tepat | Asumsi | +|---------|---------------|--------| +| Bandingkan 2 model (≥5 runs/model) | Paired t-test atau Wilcoxon signed-rank | Normalitas (t-test) atau tidak (Wilcoxon) | +| Bandingkan 3+ model | One-way ANOVA → post-hoc Tukey | Normalitas, homogenitas varians | +| Ukuran efek (seberapa besar beda) | Cohen's d | — | +| Korelasi dua variabel | Pearson (linear) atau Spearman (non-linear) | — | + +```python +from scipy import stats + +# Paired t-test: 10 run attention vs 10 run baseline +t_stat, p_value = stats.ttest_rel(attention_results, baseline_results) +print(f"t = {t_stat:.3f}, p = {p_value:.4f}") + +# Effect size (Cohen's d) +d = (np.mean(attention_results) - np.mean(baseline_results)) / np.std(baseline_results) +print(f"Cohen's d = {d:.3f}") +``` + +--- + +## Failure Analysis — Kegagalan sebagai Insight + +*Tidak semua hipotesis terkonfirmasi — dan itu sebaiknya begitu* + +**Ketika H1 DITOLAK:** + +``` +Respons yang salah: "Hasil tidak sesuai hipotesis, diabaikan" +Respons yang salah: "Ganti metrik/dataset sampai H1 terkonfirmasi" (p-hacking) + +Respons yang benar: + 1. Terima hasil empiris apa adanya + 2. Investigasi mengapa hipotesis tidak terkonfirmasi + 3. Pertimbangkan apakah ada masalah pada desain eksperimen + 4. Tulis failure analysis — ini adalah kontribusi ilmiah! +``` + +**Nilai failure analysis:** +- Menambah pengetahuan tentang kondisi di mana pendekatan TIDAK bekerja +- Mencegah peneliti lain mengulangi jalan buntu yang sama +- Menunjukkan kejujuran ilmiah → meningkatkan kredibilitas penelitian + +--- + +## Template Failure Analysis + +``` +FAILURE ANALYSIS — Skenario "+Ensemble" + +Hipotesis: "+Ensemble akan meningkatkan F1 lebih tinggi dari +Attention" +Hasil aktual: +Ensemble (0.851 ± 0.013) vs +Attention (0.869 ± 0.011) +Status: H1b DITOLAK untuk skenario ini + +INVESTIGASI: +1. Waktu eksekusi +Ensemble 15% lebih tinggi (3124s vs 2706s) +2. Kedua model memiliki arsitektur yang serupa di bagian encoder +3. Ensemble hanya menggabungkan 2 model — jumlah terlalu sedikit + untuk mendapatkan keuntungan diversity yang signifikan + +PENJELASAN YANG MUNGKIN: +- Ensemble menguntungkan ketika model-model yang digabungkan + memiliki error yang tidak berkorelasi. Dua model dengan arsitektur + serupa cenderung membuat error yang sama. + +IMPLIKASI: Penelitian lanjutan perlu menguji ensemble > 3 model + dengan diversitas arsitektur yang lebih tinggi. +``` + +--- + +## Limitation — Kejujuran yang Memperkuat Klaim + +*Limitation bukan mengakui kelemahan — ini adalah presisi tentang domain of validity* + +**Apa yang harus ada di seksi limitation:** + +``` +LIMITATION + +1. Domain data: Eksperimen dilakukan pada dataset teks berbahasa Indonesia + (SMSA, 10.000 sampel). Generalisasi ke bahasa lain atau domain lain + belum diverifikasi. + +2. Ukuran dataset: Dataset berukuran sedang. Penelitian lanjutan dengan + dataset lebih besar diperlukan untuk mengkonfirmasi stabilitas temuan. + +3. Arsitektur baseline: Baseline menggunakan BiLSTM. Perbandingan dengan + transformer-based baseline (BERT) belum dilakukan. + +4. Hardware dependency: Eksperimen dijalankan pada GPU tunggal. Performa + dalam distributed setting mungkin berbeda. +``` + +> Limitation yang ditulis dengan baik **memperkuat** kreadibilitas penelitian, bukan melemahkannya. + +--- + + + +# Cognitive Traps +## Bab 14 — Analysis & Interpretation + +--- + +## Cognitive Traps — Bab 14 + +**"Hasil tinggi = hipotesis terkonfirmasi, tidak perlu analisis lebih lanjut"** +Angka tinggi tidak otomatis menjawab RQ. Harus ada uji statistik, perbandingan yang valid, dan interpretasi yang menghubungkan hasil ke teori. + +**"Kegagalan berarti penelitian gagal"** +Penelitian yang menghasilkan temuan negatif (hipotesis ditolak) tetap merupakan kontribusi ilmiah yang valid — bahkan seringkali lebih berharga karena mencegah peneliti lain mengulangi jalan buntu. + +**"Limitation tidak perlu ditulis agar terkesan lebih kuat"** +Tidak mencantumkan limitation tidak membuat klaim lebih kuat — sebaliknya membuat klaim tidak kredibel karena terkesan menyembunyikan sesuatu. Reviewer yang berpengalaman selalu mencari seksi limitation. + +**"Interpretasi saya tidak perlu didukung literatur"** +Interpretasi tanpa dukungan teori atau literatur = spekulasi. Setiap klaim interpretasi harus dapat menunjuk ke mekanisme yang diusulkan dalam literatur. + +--- + +## Studi Kasus 1 — Analysis Tanpa Interpretasi (Basic) + +**Laporan yang bermasalah:** +> "Model dengan attention menghasilkan F1 = 87.0%, sedangkan baseline F1 = 82.1%. Model attention lebih baik dari baseline. Hipotesis diterima." + +**Masalah:** +- Tidak ada uji statistik — apakah perbedaan 4.9pp tersebut signifikan? +- Tidak ada interpretasi — mengapa attention meningkatkan F1? +- Tidak ada kontekstualisasi — apakah 4.9pp besar atau kecil di literatur? + +**Versi yang benar:** +> "Model dengan attention (87.0 ± 1.1%) secara statistik signifikan melampaui baseline (82.1 ± 1.5%), t(18)=3.24, p=0.004, Cohen's d=1.02 (efek besar). Peningkatan ini konsisten dengan temuan Lee et al. (2024) yang menemukan bahwa attention mechanism meningkatkan F1 sebesar 3–6pp pada task klasifikasi teks. Mekanismenya diduga karena..." + +--- + +## Studi Kasus 2 — Honest Failure Analysis (Advanced) + +**Konteks:** Penelitian mengusulkan metode baru (Metode X) yang diharapkan 15% lebih akurat dari baseline. + +**Hasil:** Metode X hanya 2% lebih akurat. Tidak signifikan secara statistik (p = 0.18). + +**Respons yang salah:** +- Tukar metrik (dari F1-macro ke F1-micro) → p = 0.04. Laporkan ini saja. + +**Respons yang benar:** +``` +FAILURE ANALYSIS: + Hipotesis: Metode X meningkatkan akurasi >15% + Hasil: +2% (p = 0.18, tidak signifikan) + + Investigasi: BERT-based baseline yang digunakan telah mengimplementasikan + mekanisme yang serupa dengan Metode X. Gap yang diharapkan + tidak terwujud karena baseline sudah lebih kuat dari yang + diasumsikan saat desain eksperimen. + + Kontribusi: Mereplikasi baseline yang lebih kuat untuk task ini beserta + analisis kondisi di mana Metode X TIDAK memberikan gain signifikan. +``` + +--- + +## Ringkasan Pertemuan 14 + +| Konsep | Inti | +|--------|------| +| Analysis vs Interpretation | "Apa?" vs "Mengapa?" — keduanya wajib, berbeda | +| Rantai Logis | Result → RQ → Hipotesis → Kesimpulan (harus terhubung) | +| Uji Statistik | t-test/Wilcoxon + Cohen's d untuk perbandingan | +| Failure Analysis | Kegagalan = kontribusi ilmiah, bukan aib yang disembunyikan | +| Limitation | Mendefinisikan domain of validity = memperkuat klaim | + +--- + +## Final Statement & Output Praktis + +
+"Peneliti yang jujur lebih berharga dari peneliti yang 'selalu berhasil'. Ilmu pengetahuan dibangun dari akumulasi temuan yang jujur — termasuk yang negatif." +
+ +### Output Praktis M14 + +Dokumen yang harus dikumpulkan: + +1. **Hasil analisis** (statistik deskriptif + uji statistik) +2. **Interpretasi** (penjelasan berbasis teori untuk setiap temuan) +3. **Failure analysis** (jika ada hipotesis yang ditolak atau hasil di luar ekspektasi) +4. **Limitation section** (minimal 3 limitation yang relevan) + +--- + +## Referensi Utama — Bab 14 + +- Cohen, J. (1988). *Statistical power analysis for the behavioral sciences* (2nd ed.). Lawrence Erlbaum. + +- Demšar, J. (2006). Statistical comparisons of classifiers over multiple data sets. *Journal of Machine Learning Research, 7*, 1–30. + +- Goodman, S. (2008). A dirty dozen: Twelve p-value misconceptions. *Seminars in Hematology, 45*(3), 135–140. + +- Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Regnell, B., & Wesslén, A. (2012). *Experimentation in software engineering*. Springer. diff --git a/slide/slide-15-scientific-writing.md b/slide/slide-15-scientific-writing.md new file mode 100644 index 0000000..51cd5a6 --- /dev/null +++ b/slide/slide-15-scientific-writing.md @@ -0,0 +1,1433 @@ +--- +marp: true +paginate: true +class: bagian-iv +header: 'RTI — Riset Teknologi Informasi | Universitas Putra Bangsa Kebumen' +footer: 'Helmi Bahar Alim, S.Kom., M.Kom. | 2026' +--- + + + + + + + + + + + + + + + + +# Bab 15 — Scientific Writing + +## Menyusun Argumen Ilmiah yang Koheren + +*Pertemuan 15 (M15)  |  Sub-CPMK 4.4  |  CPMK04  |  CPL07* + +Fase: **Analyzing & Communicating** (M12–M16)  ·  Bagian IV + +**Universitas Putra Bangsa**  |  Fak. Sains & Teknologi  ·  Prodi Teknik Informatika + +--- + +## Agenda Pertemuan 15 + +1. Penulisan ilmiah = menyusun argumen, bukan dokumentasi +2. Scientific Argument Flow +3. Struktur IMRAD dan ekstensinya +4. Logical flow: Why → What → How → Result → So What +5. Konsistensi antar bagian laporan +6. Writing quality: clarity, precision, conciseness, consistency +7. Cognitive Traps & Studi Kasus +8. Output Praktis: Laporan Ilmiah Lengkap (IMRAD) + +--- + +## Capaian Pembelajaran + +Setelah pertemuan ini, mahasiswa mampu: + +- Menjelaskan bahwa penulisan ilmiah adalah **konstruksi argumen**, bukan dokumentasi +- Menyusun laporan penelitian menggunakan **struktur IMRAD** yang lengkap +- Memastikan **logical flow** yang konsisten dari masalah ke kesimpulan +- Memeriksa **konsistensi** antar bagian laporan (problem ↔ RQ ↔ method ↔ result ↔ conclusion) +- Menerapkan **4 standar kualitas penulisan** ilmiah (clarity, precision, conciseness, consistency) + +> Sub-CPMK 4.4 → Menyusun laporan ilmiah yang koheren (CPL07) + +--- + +## Scientific Argument Flow + +*Arsitektur logis sebuah laporan ilmiah* + +
+ +**Problem** ↓ Gap (penelitian sebelumnya belum menjawabnya) ↓ Research Question ↓ Method (dengan kontrol yang tepat) ↓ Result (temuan empiris) ↓ Analysis (statistik + uji hipotesis) ↓ Conclusion (jawaban RQ + implikasi) ↓ **Contribution** + +
+ +--- + +## Penulisan Ilmiah ≠ Dokumentasi + +*Perbedaan yang mengubah cara kita menulis* + +| Aspek | Dokumentasi | Penulisan Ilmiah | +|-------|------------|-----------------| +| **Tujuan** | Mencatat apa yang sudah dilakukan | Meyakinkan pembaca tentang validitas klaim | +| **Struktur** | Kronologis (saya melakukan X, lalu Y) | Argumentatif (ada masalah, inilah solusi, inilah buktinya) | +| **Pembaca** | Diri sendiri / tim teknis | Komunitas penelitian yang skeptis | +| **Standar** | Selesai jika semua langkah tercatat | Selesai jika argumen terbukti dan dapat diverifikasi | + +> Kalau kamu menulis "Saya melakukan preprocessing menggunakan Python" → itu dokumentasi. +> Kalau kamu menulis "Normalisasi Min-Max diterapkan karena distribusi data sangat skewed (skewness=4.3), konsisten dengan rekomendasi Garcia et al. (2015)" → itu penulisan ilmiah. + +--- + +## Struktur IMRAD + Extension + +*Standar internasional laporan penelitian* + +| Bagian | Pertanyaan | Isi Utama | +|--------|-----------|-----------| +| **Introduction** | *Why?* | Masalah, gap literatur, RQ, hipotesis, kontribusi | +| **Method** | *How?* | Desain eksperimen, setting, metrik, prosedur | +| **Results** | *What did we find?* | Tabel, grafik, statistik deskriptif — tanpa interpretasi | +| **Analysis & Discussion** | *What does it mean?* | Interpretasi, failure analysis, limitation | +| **Conclusion** | *So what?* | Jawaban RQ, kontribusi, saran penelitian lanjutan | +| **References** | | Harvard/IEEE/APA style, konsisten | +| **Appendix** | | Log eksperimen lengkap, kode, data tambahan | + +--- + +## Logical Flow — Dari Why ke So What + +*Menu: semua harus terhubung satu sama lain* + +``` +WHY (Introduction): + "Klasifikasi teks multi-kelas pada teks informal bahasa Indonesia + masih memiliki F1 di bawah 85% karena belum ada penelitian yang + mengintegrasikan attention mechanism untuk konteks ini." + +WHAT (Research Question + Hypothesis): + "Apakah attention mechanism meningkatkan F1 pada klasifikasi teks + informal bahasa Indonesia? H1: Ya, secara signifikan." + +HOW (Method): + "Eksperimen terkontrol dengan 3 skenario, 10 run masing-masing, + BiLSTM baseline vs +Attention vs +Ensemble." + +RESULT (Results): + "Attention: 87.0 ± 1.1%, Baseline: 82.1 ± 1.5%, p=0.004." + +SO WHAT (Conclusion): + "Attention mechanism secara signifikan meningkatkan F1 pada domain ini. + Kontribusi: baseline baru + konfirmasi efektivitas attention pada + klasifikasi teks bahasa Indonesia informal." +``` + +--- + +## Konsistensi Antar Bagian + +*Cek silang yang wajib dilakukan sebelum submit* + +``` +Cek Konsistensi Internal Laporan: + +□ Problem di Introduction ←→ sesuai dengan RQ? +□ RQ ←→ sesuai dengan Hipotesis? +□ Hipotesis ←→ metrik utama yang diukur? +□ Metrik yang diukur ←→ dibahas di Results? +□ Results ←→ dikaitkan ke Hipotesis di Discussion? +□ Discussion ←→ menjawab RQ di Conclusion? +□ Contribution di Conclusion ←→ konsisten dengan Gap di Introduction? + +Inkonsistensi yang paling sering terjadi: + - RQ berbunyi "perbandingan" tapi Discussion tidak membandingkan + - Hipotesis menyebut metrik A, tapi hasil menekankan metrik B + - Conclusion mengklaim generalisasi yang lebih luas dari yang diuji +``` + +--- + +## Writing Quality — Empat Standar + +### 1. Clarity — Pembaca mengerti tanpa perlu membaca ulang +``` +"Sistem yang diimplementasikan menunjukkan hasil yang cukup baik." +"Sistem mencapai F1-micro 87.0%, melampaui baseline sebesar 4.9 pp." +``` + +### 2. Precision — Klaim spesifik, bukan ambigu +``` +"Metode X lebih cepat dari baseline." +"Metode X mengurangi inference time sebesar 23% (312ms vs 405ms)." +``` + +### 3. Conciseness — Katakan dengan sedikit kata tanpa kehilangan makna +``` +"Pada bagian ini kami akan menjelaskan tentang..." +"Bagian ini menjelaskan..." +``` + +### 4. Consistency — Sama persis dalam terminologi di seluruh dokumen +``` +Bab 1: "klasifikasi sentimen" → Bab 3: "analisis sentimen" → Bab 5: "opinion mining" +Pilih satu istilah, gunakan konsisten dari halaman 1 sampai akhir. +``` + +--- + + + +# Cognitive Traps +## Bab 15 — Scientific Writing + +--- + +## Cognitive Traps — Bab 15 + +**"Saya tulis sesuai urutan kronologis pelaksanaan"** +Pembaca tidak peduli dengan urutan kronologis. Mereka peduli dengan argumen ilmiah. IMRAD bukan kronologi — Introduction ditulis terakhir setelah kita tahu apa yang kita temukan. + +**"Results dan Discussion bisa digabung karena lebih efisien"** +Penggabungan boleh, tapi harus tetap jelas mana yang *fakta dari data* dan mana yang *interpretasi peneliti*. Mencampurnya tanpa penanda = membuat pembaca bingung apakah klaim tersebut empiris atau spekulatif. + +**"Tujuan: agar laporan terlihat panjang dan komprehensif"** +Panjang bukan tujuan. Argumen yang kuat, terstruktur, dan dapat diverifikasi adalah tujuan. Laporan yang panjang tapi tidak koheren lebih lemah dari laporan pendek yang argumentatif. + +**"Conclusion adalah ringkasan dari seluruh bab"** +Conclusion bukan ringkasan — ini adalah jawaban eksplisit terhadap RQ yang diajukan di Introduction. Harus ada kalimat yang secara langsung menjawab "Apakah X?" yang ditanyakan di awal. + +--- + +## Studi Kasus 1 — Inkonsistensi RQ–Conclusion (Basic) + +**RQ di Introduction:** +> "Apakah attention mechanism meningkatkan F1 pada klasifikasi teks bahasa Indonesia?" + +**Conclusion yang ditulis:** +> "Sistem yang dikembangkan berhasil mengklasifikasikan teks dengan akurasi yang baik dan dapat diimplementasikan dalam sistem nyata." + +**Masalah:** +1. RQ menanyakan "attention vs non-attention" → Conclusion tidak menjawab ini +2. RQ menanyakan "F1" → Conclusion menyebut "akurasi yang baik" (metrik berbeda!) +3. Conclusion mengklaim "sistem nyata" → ini tidak diuji dalam eksperimen + +**Conclusion yang benar:** +> "Attention mechanism secara signifikan meningkatkan F1-micro sebesar 4.9 pp (82.1% → 87.0%, p=0.004, d=1.02) pada klasifikasi teks informal bahasa Indonesia. H1 diterima. Penemuan ini mengkonfirmasi efektivitas attention pada konteks bahasa Indonesia dan menetapkan baseline baru untuk penelitian lanjutan." + +--- + +## Studi Kasus 2 — From Documentation to Argument (Advanced) + +**Versi dokumentasi:** +> "Pada preprocessing, kami melakukan normalisasi data menggunakan Min-Max. Kemudian kami membagi dataset menjadi training dan testing. Setelah itu kami melatih model BiLSTM. Hasilnya menunjukkan F1 sebesar 87%." + +**Versi argumentatif:** +> "Untuk mengontrol pengaruh perbedaan skala terhadap konvergensi model, normalisasi Min-Max diterapkan pada seluruh fitur numerik (García et al., 2015). Pembagian dataset 80:20 (stratified) memastikan representasi kelas yang proporsional di setiap split. Model BiLSTM dengan attention dilatih menggunakan konfigurasi yang ditetapkan dalam desain eksperimen (Bab 3). +> +> Skenario +Attention mencapai F1-micro 87.0 ± 1.1%, secara signifikan melampaui baseline BiLSTM tanpa attention (82.1 ± 1.5%), t(18)=3.24, p=0.004." + +--- + +## Checklist Akhir Sebelum Submit + +``` +LAPORAN FINAL — QUALITY GATE + +□ IMRAD structure lengkap (termasuk appendix dengan raw data) +□ RQ → Hipotesis → Metrik → Result → Conclusion: rantai konsisten +□ Semua klaim empiris dilengkapi angka dan uji statistik +□ Semua skenario dilaporkan (bukan hanya yang terbaik) +□ Failure analysis ada (jika hipotesis ditolak atau hasil tidak terduga) +□ Limitation section ada dan proporsional +□ Kutipan konsisten: semua yang disebut di teks ada di daftar pustaka +□ Format referensi konsisten (pilih satu: APA/IEEE/Harvard) +□ Terminologi konsisten dari bab 1 sampai akhir +□ Tidak ada klaim generalisasi yang melampaui scope eksperimen +``` + +--- + +## Ringkasan Pertemuan 15 + +| Konsep | Inti | +|--------|------| +| Scientific Argument Flow | Problem → Gap → RQ → Method → Result → Analysis → Conclusion → Contribution | +| Writing vs Documentation | Dokumentasi = kronologi, Ilmiah = argumen | +| IMRAD | Introduction–Method–Results–Analysis/Discussion–Conclusion | +| Logical Flow | Why → What → How → Result → So What | +| Konsistensi | Problem ↔ RQ ↔ Method ↔ Result ↔ Conclusion | +| Writing Quality | Clarity + Precision + Conciseness + Consistency | + +--- + +## Final Statement & Output Praktis + +
+"Penulisan ilmiah bukan tentang melaporkan apa yang kamu lakukan — ini tentang membangun kasus yang meyakinkan bahwa apa yang kamu temukan dapat dipercaya dan bermakna bagi komunitas penelitian." +
+ +### Output Praktis M15 + +Kumpulkan: + +1. **Laporan ilmiah lengkap** (format IMRAD, minimal 30 halaman) +2. **Cek konsistensi silang** (checklist diisi dan dilampirkan) +3. **Daftar pustaka** (minimal 15 referensi, format konsisten) + +--- + +## Referensi Utama — Bab 15 + +- Day, R. A., & Gastel, B. (2011). *How to write and publish a scientific paper* (7th ed.). Greenwood. + +- Swales, J. M., & Feak, C. B. (2012). *Academic writing for graduate students: Essential tasks and skills* (3rd ed.). University of Michigan Press. + +- Hofmann, A. H. (2013). *Scientific writing and communication: Papers, proposals, and presentations*. Oxford University Press. + +- Bem, D. J. (2004). Writing the empirical journal article. In J. M. Darley, M. P. Zanna, & H. L. Roediger III (Eds.), *The compleat academic: A practical guide for the beginning social scientist* (pp. 185–219). APA. diff --git a/slide/slide-16-presentation-defense.md b/slide/slide-16-presentation-defense.md new file mode 100644 index 0000000..0992d09 --- /dev/null +++ b/slide/slide-16-presentation-defense.md @@ -0,0 +1,1475 @@ +--- +marp: true +paginate: true +class: bagian-iv +header: 'RTI — Riset Teknologi Informasi | Universitas Putra Bangsa Kebumen' +footer: 'Helmi Bahar Alim, S.Kom., M.Kom. | 2026' +--- + + + + + + + + + + + + + + + + +# Bab 16 — Presentation & Defense + +## Mempertahankan Pengetahuan yang Telah Kamu Bangun + +*Pertemuan 16 (M16)  |  Sub-CPMK 4.5  |  CPMK04  |  CPL07* + +Fase: **Analyzing & Communicating** (M12–M16)  ·  Bagian IV + +**Pertemuan Penutup — M16 dari 16** + +**Universitas Putra Bangsa**  |  Fak. Sains & Teknologi  ·  Prodi Teknik Informatika + +--- + +## Agenda Pertemuan 16 + +1. Presentasi = simulasi peer review langsung +2. Scientific Defense Model +3. Struktur slide presentasi yang efektif +4. Membangun argumen yang kuat (claim + evidence + reasoning) +5. Mengantisipasi pertanyaan evaluator +6. Teknik menjawab pertanyaan +7. Cognitive Traps & Studi Kasus +8. **Full Circle: Bab 16 = Bab 1 Revisited** +9. Output Praktis: Slide + Defense Argument + Jawaban Berbasis Data + +--- + +## Capaian Pembelajaran + +Setelah pertemuan ini, mahasiswa mampu: + +- Memahami bahwa presentasi adalah **simulasi peer review** — bukan formalitas +- Membangun **argumen defensif** berbasis data (claim + evidence + reasoning) +- **Mengantisipasi pertanyaan** evaluator berdasarkan kategori yang umum +- **Menjawab pertanyaan** secara langsung, berbasis data, dan dengan akui limitation bila perlu +- Menampilkan **slide presentasi** yang komunikatif dan tidak membebani pendengar + +> Sub-CPMK 4.5 → Mempresentasikan dan mempertahankan penelitian secara ilmiah (CPL07) + +--- + +## Scientific Defense Model + +*Dari karya penelitian ke penerimaan komunitas* + +
+ +**Research Work** (Bab 1–15) ↓ Presentation (komunikasi terstruktur & persuasif) ↓ Questioning (evaluator menantang klaim) ↓ Defense — Argumentation (claim + evidence + reasoning) ↓ Evaluation (validitas klaim + kemampuan defend) ↓ **Acceptance** + +
+ +> Defense bukan ujian hafalan — ini adalah **simulasi peer review langsung**. Pertanyaan evaluator adalah versi lisan dari proses review yang terjadi di jurnal ilmiah. + +--- + +## Presentasi ≠ Membaca Ulang Laporan + +*Perbedaan antara slide yang baik dan slide yang buruk* + +| Aspek | Slide Buruk | Slide Efektif | +|-------|-------------|-------------------| +| Teks | Copy-paste dari laporan | Poin kunci saja (max 5 bullets) | +| Angka | Semua angka dari tabel | Hanya angka paling penting | +| Visual | Tidak ada / dekoratif | Grafik yang menceritakan story | +| Presenter | Membaca slide | Menggunakan slide sebagai anchor | +| Waktu | 1 menit per slide | 2–3 menit per slide (kedalaman) | + +**Struktur slide presentasi (15 menit):** +- Slide 1–2: Motivasi + Masalah (3 mnt) +- Slide 3–4: Method + Setup (3 mnt) +- Slide 5–7: Hasil + Visualisasi kunci (5 mnt) +- Slide 8–9: Diskusi + Conclusion (3 mnt) +- Slide 10: Q&A ready + +--- + +## Membangun Argumen Defensif — Struktur Toulmin + +*Setiap klaim penelitian harus punya struktur argumen yang kuat* + +``` +CLAIM (klaim yang kamu pertahankan): + "Attention mechanism secara signifikan meningkatkan performa + klasifikasi teks bahasa Indonesia." + +EVIDENCE (bukti empiris): + "F1-macro meningkat dari 82.1 ± 1.5% ke 87.0 ± 1.1%. + Uji t berpasangan: t(18)=3.24, p=0.004, d=1.02." + +REASONING (mekanisme yang menghubungkan): + "Attention memungkinkan model memberi bobot berbeda pada token, + sehingga token yang bermakna secara kontekstual mendapat penekanan + lebih dibanding kata stopword. Ini konsisten dengan Lee et al. (2024) + yang menemukan pattern serupa pada bahasa morfologis tinggi." + +QUALIFIER (batas validitas): + "Dalam konteks teks informal bahasa Indonesia, dataset SMSA, + BiLSTM backbone. Generalisasi ke bahasa lain belum diverifikasi." +``` + +--- + +## Mengantisipasi Pertanyaan Evaluator + +*Kategori pertanyaan yang paling sering muncul di sidang* + +| Kategori | Contoh Pertanyaan | Persiapan | +|----------|-----------------|-----------| +| **Problem/Gap** | "Mengapa masalah ini penting? Sudah ada penelitian serupa?" | Siapkan 3 referensi gap terkini | +| **Method** | "Mengapa pilih BiLSTM bukan BERT?" | Siapkan justifikasi berbasis literatur dan resource constraint | +| **Metric** | "Mengapa F1-macro dan bukan accuracy?" | Siapkan penjelasan class imbalance + alasan metodologis | +| **Result** | "Confidence interval-nya berapa?" | Siapkan tabel lengkap + p-value | +| **Validity** | "Dataset ini representatif?" | Siapkan deskripsi distribusi dataset | +| **Limitation** | "Apa kelemahan penelitian ini?" | Jawab jujur + saran penelitian lanjutan | + +--- + +## Teknik Menjawab Pertanyaan + +*Tiga mode jawaban sesuai situasi* + +### Mode 1 — Jawab Langsung dengan Data +``` +Q: "Bagaimana model Anda menangani kelas minoritas?" +A: "Kami menggunakan F1-macro yang memberikan bobot setara ke semua kelas. + Dari confusion matrix (halaman 47), kelas minoritas 'neutral' + mencapai F1 = 0.79, dibanding baseline 0.68." +``` + +### Mode 2 — Akui Limitation + Tunjukkan Arah +``` +Q: "Bagaimana perbandingan dengan BERT?" +A: "Itu limitation yang kami akui di halaman 52. BiLSTM dipilih karena + resource constraint dan scope penelitian ini. Perbandingan dengan + BERT adalah arah penelitian lanjutan yang jelas." +``` + +### Mode 3 — Klarifikasi Pertanyaan Ambigu +``` +Q: "Sistemnya scalable?" +A: "Bisa Bapak/Ibu klarifikasi — scalable dalam konteks ukuran dataset + atau throughput inference? Kami mengukur keduanya dalam eksperimen." +``` + +--- + + + +# Cognitive Traps +## Bab 16 — Defense & Presentation + +--- + +## Cognitive Traps — Bab 16 + +**"Presentasi = membacakan laporan lebih cepat"** +Presentasi ilmiah bukan summary dari laporan. Ini adalah penampilan narasi penelitian yang paling penting: mengapa masalah ini penting dan mengapa temuan Anda dapat dipercaya. Slide adalah pendukung bicara, bukan pengganti bicara. + +**"Menjawab 'tidak tahu' adalah tanda kelemahan"** +Menjawab "Itu di luar scope penelitian ini" atau "Itu adalah gap yang menarik untuk penelitian lanjutan" adalah jawaban yang benar dan jujur. Evaluator menghargai presisi lebih dari kepura-puraan tahu segalanya. + +**"Pertanyaan sulit berarti presentasi saya gagal"** +Pertanyaan mendalam adalah tanda bahwa evaluator TERTARIK dengan penelitian Anda. Pertanyaan mudah atau tidak ada pertanyaan justru mengkhawatirkan. Defense yang baik = dialog intelektual yang produktif. + +**"Saya harus defend semua klaim, termasuk yang lemah"** +Defender yang baik tahu mana yang perlu dipertahankan kuat dan mana yang perlu diakui sebagai limitation. Mempertahankan sesuatu yang lemah dengan keras hanya merusak kredibilitas. + +--- + +## Studi Kasus 1 — Pertanyaan yang Tidak Diantisipasi (Basic) + +**Situasi:** Mahasiswa mempresentasikan penelitian klasifikasi sentimen. + +**Q evaluator:** "Mengapa dataset Anda hanya 5.000 sampel? Apakah cukup?" + +**Jawaban yang salah:** +> "Karena segitu yang ada, jadi saya pakai itu saja." + +**Jawaban yang benar:** +> "Ukuran dataset 5.000 sampel dipilih berdasarkan dua pertimbangan. +> Pertama, penelitian pembanding (Andi et al., 2023) menggunakan 4.700 sampel domain serupa. +> Kedua, power analysis menunjukkan bahwa 5.000 sampel cukup untuk mendeteksi +> efek medium (d=0.5) dengan power 0.80. +> +> Kami mengakui bahwa dataset lebih besar akan meningkatkan external validity. +> Ini adalah salah satu limitation yang kami cantumkan di Bab 5." + +--- + +## Studi Kasus 2 — Berpindah dari Defense ke Dialog (Advanced) + +**Q evaluator:** "Saya perhatikan Anda tidak menggunakan cross-validation. Kenapa?" + +**Jawaban defensif:** +> "Dataset kami sudah cukup besar, jadi tidak perlu cross-validation." + +**Jawaban berbasis data + akui limitation + tunjukkan arah:** +> "Keputusan itu memang kami pertimbangkan. Kami menggunakan hold-out split +> 80:20 karena computational constraint menjalankan 10-fold cross-validation +> pada 10 skenario × 5 run setiap skenario membutuhkan waktu ~300 jam GPU. +> +> Anda benar bahwa k-fold cross-validation akan memberikan estimasi variance +> yang lebih robust. Kami mencantumkan ini sebagai limitation di halaman 52. +> Untuk penelitian lanjutan dengan resource lebih, k-fold adalah langkah yang +> tepat. Terima kasih atas masukannya." + +--- + +## Persiapan Q&A yang Terstruktur + +*Template persiapan defense sebelum sidang* + +``` +Q&A PREPARATION SHEET + +PERTANYAAN CATEGORY 1 — Problem/Motivation + Q: Mengapa masalah ini penting? + A: [3 alasan + 1 statistik dari literatur] + Slides pendukung: Slide 2, 3 + +PERTANYAAN CATEGORY 2 — Methodology + Q: Mengapa BiLSTM, bukan transformer? + A: [Resource constraint + comparable performance + scope] + Slides pendukung: Slide 5 + +PERTANYAAN CATEGORY 3 — Results + Q: Apakah hasil ini generalizable? + A: [Dataset description + limitation + external validity caveat] + Slides pendukung: Slide 7, 8 + +BACKUP SLIDES (tidak ditampilkan kecuali ditanya): + - Confusion matrix lengkap + - Hyperparameter tuning results + - Statistical test details + - Full comparison table semua skenario +``` + +--- + + + +# Full Circle — Bab 16 = Bab 1 Revisited + +> *"Bab 1 mengajarkan kita bahwa penelitian adalah tentang memastikan hasil dapat dipercaya.* +> +> *Bab 16 adalah ujian apakah kita benar-benar berhasil melakukannya."* + +**Research Trust Model (Bab 1):** + +``` +Reality → Data → Processing → Analysis → Inference → Knowledge +``` + +**Defense menguji setiap mata rantai:** +- Apakah data dikumpulkan dengan integritas? (Bab 10–11) +- Apakah processing valid dan terdokumentasi? (Bab 13) +- Apakah analysis dilakukan dengan benar? (Bab 14) +- Apakah inference dibatasi dengan limitation yang jujur? (Bab 14–15) +- Apakah knowledge yang dihasilkan layak dipercaya oleh komunitas? (Bab 16) + +--- + +## Perjalanan 16 Pertemuan — Ringkasan Besar + +| Bagian | Bab | Fase | Inti | +|--------|-----|------|------| +| **Bagian I** | 1–4 | Thinking | Mindset → Masalah → Gap → RQ | +| **Bagian II** | 5–8 | Designing | Metrik → Sistem → Eksperimen → Proposal | +| **Bagian III** | 9–11 | Executing | Implementasi → Eksekusi → Validasi | +| **Bagian IV** | 12–16 | Communicating | Sajikan → Preprocess → Analisis → Tulis → Defend | + +> Dari "Apa itu penelitian?" ke "Saya bisa mempertahankan penelitian saya di depan evaluator" — itulah perjalanan 16 pertemuan ini. + +--- + +## Ringkasan Pertemuan 16 + +| Konsep | Inti | +|--------|------| +| Defense Model | Research Work → Presentation → Questioning → Defense → Evaluation → Acceptance | +| Argumen | Claim + Evidence + Reasoning + Qualifier | +| Antisipasi Q | 6 kategori pertanyaan evaluator | +| Teknik Jawab | Langsung/Data · Akui Limitation · Klarifikasi | +| Slide Efektif | Anchor bicara, bukan pengganti bicara | +| Full Circle | Bab 16 menguji semua yang dipelajari dari Bab 1 | + +--- + +## Final Statement & Output Praktis + +
+"Defense bukan akhir dari penelitian. Defense adalah awal dari kontribusi Anda kepada komunitas ilmiah. Penelitian yang dipertahankan dengan baik adalah penelitian yang siap dipublikasikan." +
+ +### Output Praktis M16 — Penutup Mata Kuliah + +Kumpulkan paket final: + +1. **Slide presentasi** (10–12 slide, format Marp atau PowerPoint) +2. **Q&A preparation sheet** (minimal 10 pasang Q&A yang diantisipasi) +3. **Laporan ilmiah final** (IMRAD lengkap + appendix) +4. **Repository penelitian** (kode, data, log eksperimen, README) + +--- + +## Referensi Utama — Bab 16 + +- Booth, W. C., Colomb, G. G., Williams, J. M., Bizup, J., & FitzGerald, W. T. (2016). *The craft of research* (4th ed.). University of Chicago Press. + +- Sword, H. (2012). *Stylish academic writing*. Harvard University Press. + +- Toulmin, S. E. (2003). *The uses of argument* (updated ed.). Cambridge University Press. + +- Lebrun, J. L. (2011). *Scientific writing 2.0: A reader and writer's guide*. World Scientific. diff --git a/slide/theme/logo-upb.png b/slide/theme/logo-upb.png new file mode 100644 index 0000000..1aa4224 Binary files /dev/null and b/slide/theme/logo-upb.png differ diff --git a/slide/theme/upb.css b/slide/theme/upb.css new file mode 100644 index 0000000..6531e9f --- /dev/null +++ b/slide/theme/upb.css @@ -0,0 +1,285 @@ +/* @theme upb */ + +/* + ============================================================ + 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 ): + 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-light); + border-left: 5px solid var(--accent); + color: var(--accent-dark); + 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; }