"""
generate-pertemuan-slides.py
Generates Marp slides for each Pertemuan (14 meetings + UTS + UAS)
Output: slides/pertemuan/pertemuan-XX.md
"""

import os

OUTPUT_DIR = os.path.join(os.path.dirname(__file__), '..', 'slides', 'pertemuan')

# ---------------------------------------------------------------------------
# Data semua pertemuan
# ---------------------------------------------------------------------------
PERTEMUAN = [
    {
        "no": 1,
        "tema": "SI sebagai Kapabilitas Strategis",
        "sub_tema": "Bab 1 — Peran Sistem Informasi dalam Organisasi Modern",
        "bab": "Bab 1",
        "cpmk": "CPMK-1",
        "kemampuan_akhir": "Mahasiswa mampu menjelaskan mengapa SI adalah kapabilitas strategis manajer, bukan sekadar alat teknis IT",
        "materi": [
            ("Apa itu SI — dan Mengapa Manajer Harus Peduli?",
             ["Komponen SI: People, Process, Technology, Data",
              "Evolusi SI: dari otomasi → dukungan → strategi",
              "Tipe SI: TPS → MIS → DSS → ESS",
              "SI bukan milik IT — SI adalah alat manajer"],
             "Mulai dengan pertanyaan provokatif: 'Siapa yang bertanggung jawab atas SI di organisasi Anda?' Kebanyakan menjawab: Departemen IT. Itulah miskonsepsi pertama yang harus kita bongkar. Jelaskan 4 komponen SI dengan analogi: Sekretaris di era 1970 = TPS, Manajer dengan laporan Excel = MIS, CEO yang memutuskan ekspansi = ESS."),
            ("Piramida Nilai Informasi (PVIO)",
             ["Data → Informasi → Pengetahuan → Keputusan → Nilai Bisnis",
              "Setiap naik satu level: nilai naik, volume turun",
              "Mengapa banyak organisasi macet di level 'data'?",
              "Peran SI: mengakselerasi naik piramida"],
             "Gambar PVIO di papan. Tanya: 'Perusahaan yang Anda tahu — ada di level mana?' Contoh: Bank BRI punya data 100 juta nasabah tapi masih banyak keputusan kredit berbasis intuisi. Data ada, tapi tidak naik ke level pengetahuan dan keputusan."),
            ("SI sebagai Keunggulan Kompetitif",
             ["Kasus: Amazon — SI mengubah retail secara fundamental",
              "Kasus lokal: Gojek — SI = inti bisnis, bukan pendukung",
              "3 level manfaat SI: Efisiensi → Efektivitas → Transformasi",
              "Pertanyaan kunci: SI Anda ada di level mana?"],
             "Ceritakan kisah Amazon: tahun 1994 hanya toko buku online, sekarang AWS, Alexa, logistics. Semuanya berbasis SI sebagai inti strategi. Bandingkan dengan retailer konvensional yang treated IT as cost center. Tanya mahasiswa: 'Apa SI terpenting di industri yang ingin kalian masuki?'"),
        ],
        "aktivitas": "Refleksi Individual (15 menit): Tulis 1 keputusan bisnis yang pernah Anda lihat dibuat BERBASIS DATA dan 1 yang dibuat BERBASIS INTUISI. Apa hasilnya? Sharing 3 sukarelawan.",
        "tagihan": "Tidak ada tagihan — pertemuan orientasi. Kontrak perkuliahan ditandatangani bersama.",
        "takeaway": [
            "SI adalah kapabilitas strategis manajer, bukan urusan IT",
            "Nilai informasi meningkat saat naik dari data ke keputusan",
            "Organisasi yang menguasai SI unggul secara kompetitif"
        ],
        "next": "Pertemuan 2: Bagaimana SI selaras dengan strategi bisnis? — Model Porter & IT Strategic Grid",
        "note_review": None,
    },
    {
        "no": 2,
        "tema": "SI dan Strategi Bisnis",
        "sub_tema": "Bab 2 — Keselarasan yang Sering Gagal",
        "bab": "Bab 2",
        "cpmk": "CPMK-1",
        "kemampuan_akhir": "Mahasiswa mampu menganalisis keselarasan SI-strategi bisnis menggunakan model Porter dan IT Strategic Grid",
        "materi": [
            ("Model Porter — SI di Tengah Persaingan",
             ["5 Kekuatan Porter: Rival, Pembeli, Pemasok, Pendatang Baru, Substitusi",
              "SI dapat mempengaruhi SEMUA 5 kekuatan",
              "Contoh: CIMB Niaga pakai AI untuk scoring kredit → buang kekuatan tawar pembeli",
              "Value Chain: SI di setiap mata rantai nilai"],
             "Gambar 5 Forces Porter di papan. Untuk setiap kekuatan, tanya: 'SI apa yang bisa mengurangi ancaman ini?' Contoh konkret: Walmart menggunakan SI supply chain untuk menekan kekuatan tawar pemasok."),
            ("IT Strategic Grid — Posisi SI dalam Strategi",
             ["4 Kuadran: Support, Factory, Turnaround, Strategic",
              "Support: SI penting tapi bukan strategi inti (e.g., payroll)",
              "Strategic: SI = inti bisnis (e.g., Tokopedia tanpa SI = tidak ada)",
              "Pertanyaan: Di mana posisi SI perusahaan Anda?"],
             "Gambar 2x2 grid di papan. Row: application portfolio (low/high strategic impact). Column: IS dependency (low/high operational impact). Minta mahasiswa posisikan 3 sistem IT yang mereka kenal di kuadran yang tepat."),
            ("Strategic Alignment — Sumber Kegagalan",
             ["Misalignment: SI dibangun tanpa melihat strategi bisnis",
              "Contoh kegagalan: Hershey ERP go-live jelang Halloween",
              "Contoh sukses: Indomaret — SI menyokong ekspansi 20.000 gerai",
              "Kunci: CIO dan CEO harus bicara bahasa yang sama"],
             "Ceritakan kasus Hershey: implementasi SAP R/3 senilai $112 juta. Go-live terlalu tergesa, tepat sebelum Halloween (peak season). Hasilnya: $100 juta order gagal terproses, saham turun 8%. Bukan masalah teknologi — masalah misalignment timing antara IT strategy dan business strategy."),
        ],
        "aktivitas": "Tugas Kelompok (30 menit): Pilih 1 perusahaan Indonesia yang Anda kenal. Posisikan SI utamanya di IT Strategic Grid. Presentasi singkat 3 menit per kelompok.",
        "tagihan": "Template A.2 — Strategic Alignment Canvas (dikumpulkan minggu depan sebelum kuliah).",
        "takeaway": [
            "SI harus dirancang dari strategi bisnis, bukan sebaliknya",
            "IT Strategic Grid membantu posisikan investasi SI secara strategis",
            "Misalignment SI-strategi = sumber kegagalan terbesar proyek IT"
        ],
        "next": "Pertemuan 3: Sebelum bangun SI — pahami dulu fondasi: Data sebagai Aset Organisasi",
        "note_review": "Review P1: Tanya 2 mahasiswa — apa 1 insight terpenting dari pertemuan lalu? Kaitkan: 'Kita sudah tahu SI itu strategis — sekarang bagaimana SI selaras dengan arah bisnis?'",
    },
    {
        "no": 3,
        "tema": "Data sebagai Aset Strategis",
        "sub_tema": "Bab 3 — Dari DIKW ke Data Governance",
        "bab": "Bab 3",
        "cpmk": "CPMK-2",
        "kemampuan_akhir": "Mahasiswa mampu menjelaskan hirarki DIKW, mengevaluasi kualitas data, dan memahami implikasi data governance bagi manajer",
        "materi": [
            ("Hirarki DIKW — Fondasi Berpikir Informasi",
             ["Data = fakta mentah tanpa konteks",
              "Informasi = data + konteks yang bermakna",
              "Pengetahuan = informasi + pengalaman + penilaian",
              "Kebijaksanaan = pengetahuan + nilai + etika"],
             "Gunakan analogi cuaca: 28°C (data) → 'Hari ini panas' (informasi) → 'Dalam 3 hari terakhir selalu di atas 30°C, waspada panas ekstrem' (knowledge) → 'Jangan selenggarakan event outdoor besok' (wisdom). Data saja tidak berguna untuk keputusan — perlu diproses naik ke level wisdom."),
            ("4 Dimensi Kualitas Data",
             ["Akurasi: seberapa benar data mencerminkan realitas?",
              "Kelengkapan: apakah semua field terisi?",
              "Konsistensi: data di sistem A sama dengan sistem B?",
              "Ketepatan Waktu: seberapa segar data ini?"],
             "Latihan cepat: tampilkan contoh dataset 'Data Karyawan' dengan beberapa baris yang punya nama kosong, tanggal lahir tidak masuk akal (tahun 1890), NIK duplikat. Minta mahasiswa identifikasi masalah dimensi apa yang ada. Diskusikan dampaknya pada keputusan HR."),
            ("Data Governance — Tanggung Jawab Manajer",
             ["Data Governance: kebijakan + proses + standar untuk data",
              "Siapa pemilik data? Data owner = manajer bisnis, bukan IT",
              "Dark Data: data yang ada tapi tidak pernah dianalisis",
              "UU PDP 2022: implikasi hukum bagi penanggung jawab data"],
             "Tekankan: data governance adalah tanggung jawab MANAJEMEN, bukan IT. IT hanya menyimpan — siapa yang memutuskan data apa yang dikumpulkan, seberapa lama disimpan, siapa yang boleh akses? Itu urusan manajer. UU PDP 2022: jika data bocor dan terbukti lalai, bukan hanya IT yang bertanggung jawab, tapi direksi."),
        ],
        "aktivitas": "Latihan Audit Data (30 menit): Ambil dataset nyata dari kehidupan sehari-hari (nilai kuliah, absensi, catatan keuangan pribadi). Evaluasi menggunakan 4 dimensi kualitas. Sharing temuan terpenting.",
        "tagihan": "Template A.3 — Audit Kualitas Data Organisasi (individual, presentasikan singkat di awal P4).",
        "takeaway": [
            "Data tanpa kualitas adalah beban, bukan aset",
            "Kualitas data = tanggung jawab manajer, bukan hanya IT",
            "Data governance melindungi organisasi dari risiko hukum dan keputusan salah"
        ],
        "next": "Pertemuan 4: Bagaimana menggunakan data untuk mendiagnosis masalah organisasi? — Analisis Masalah & Kebutuhan Informasi",
        "note_review": "Review P2: Tanya kelompok — di kuadran mana mereka posisikan SI perusahaan pilihan? Kaitkan: 'Sudah tahu SI itu strategis dan selaras strategi — tapi SI butuh bahan bakar: DATA. Hari ini kita bahas data sebagai aset.'",
    },
    {
        "no": 4,
        "tema": "Analisis Masalah & Kebutuhan Informasi",
        "sub_tema": "Bab 4 + 5 — Input untuk SI yang Tepat Sasaran",
        "bab": "Bab 4 & 5",
        "cpmk": "CPMK-2",
        "kemampuan_akhir": "Mahasiswa mampu membedakan gejala dari akar masalah dan memetakan kebutuhan informasi per level manajemen",
        "materi": [
            ("Problem Framing — Jangan Obati Gejala",
             ["Gejala ≠ Masalah: penjualan turun ≠ masalah, itu gejala",
              "Fishbone Diagram: 6M (Man, Machine, Method, Material, Measurement, Milieu)",
              "5-Why: terus tanya 'mengapa' sampai 5 level",
              "Gap Analysis: kondisi saat ini vs kondisi ideal"],
             "Contoh kasus: RS XYZ — pasien mengeluh waktu tunggu 4 jam. Gejala: antrian panjang. Coba 5-Why: Mengapa antrian panjang? → Dokter terlambat. Mengapa terlambat? → Jadwal tidak terkoordinasi. Mengapa tidak terkoordinasi? → Tidak ada sistem jadwal terintegrasi. Mengapa tidak ada? → Tidak ada anggaran. Mengapa tidak ada anggaran? → Manajemen tidak tahu dampaknya pada revenue. ROOT CAUSE: Tidak ada data koneksi antara efisiensi jadwal dan revenue."),
            ("Piramida Kebutuhan Informasi Manajerial",
             ["Level Operasional: detail, real-time, terstruktur",
              "Level Taktis (Manajer Menengah): agregasi, trend, perbandingan",
              "Level Strategis (Eksekutif): ringkasan, proyeksi, skenario",
              "Kesalahan umum: memberi info strategis ke operator, atau detail teknis ke CEO"],
             "Analogi: Pilot pesawat vs Direktur Penerbangan. Pilot butuh: altitude, speed, fuel — real-time, detail, operasional. Direktur butuh: load factor, revenue per route, market share — agregat, tren, strategis. Jika Anda membangun SI, pertanyaan pertama: 'Siapa penggunanya dan apa keputusan yang mereka buat?'"),
            ("Teknik Penggalian Kebutuhan",
             ["Wawancara terstruktur: siapa + apa keputusan + informasi apa",
              "Observasi langsung: ikuti manajer sehari, amati info yang dicari",
              "Analisis dokumen: laporan yang sering dibuat = kebutuhan informasi",
              "Prototyping: tunjukkan mock-up, minta feedback segera"],
             "Tips praktis: saat wawancara manajer untuk kebutuhan SI, jangan tanya 'fitur apa yang Anda mau?' Tanya: 'Keputusan terpenting apa yang Anda buat minggu lalu? Informasi apa yang Anda cari dulu sebelum memutuskan?' Dari sana, derivasi kebutuhan informasi riil."),
        ],
        "aktivitas": "Workshop Kelompok (35 menit): Gunakan organisasi pilihan kelompok. Identifikasi 1 masalah berulang menggunakan Kerangka Problem Framing. Susun Problem Statement + list 5 kebutuhan informasi yang diperlukan untuk menyelesaikannya.",
        "tagihan": "Template A.4 (Problem Statement Canvas) + Template A.5 (Information Requirement Table) — dikumpulkan sebagai TUGAS PRA-UTS.",
        "takeaway": [
            "Diagnosis masalah sebelum resepkan solusi SI",
            "Kebutuhan informasi berbeda di setiap level manajemen",
            "SI yang tepat dibangun dari kebutuhan keputusan nyata, bukan asumsi"
        ],
        "next": "UJIAN TENGAH SEMESTER — Bab 1–5. Pastikan Template A.2–A.5 sudah dikumpulkan.",
        "note_review": "Review P3 + presentasi singkat Template A.3: Minta 3 mahasiswa presentasi temuan audit kualitas data mereka (3 menit masing-masing). Kaitkan: 'Sekarang kita gunakan kemampuan analisis data itu untuk mendiagnosis masalah organisasi.'",
    },
    {
        "no": 5,
        "tema": "SI dalam Fungsi Bisnis",
        "sub_tema": "Bab 6 — Ekosistem Informasi Lintas Departemen",
        "bab": "Bab 6",
        "cpmk": "CPMK-3",
        "kemampuan_akhir": "Mahasiswa mampu menganalisis kontribusi SI pada 4 fungsi bisnis utama dan mengidentifikasi gap integrasi",
        "materi": [
            ("SI Pemasaran dan Keuangan",
             ["SI Pemasaran: CRM, analitik kampanye, segmentasi pelanggan",
              "SI Keuangan: sistem akuntansi, peramalan kas, deteksi fraud",
              "Studi kasus: BCA menggunakan BI untuk cross-selling produk",
              "Risiko: data silos antara marketing dan finance"],
             "BCA case: dengan analisis transaksi 30 juta nasabah, BCA bisa prediksi nasabah mana yang kemungkinan besar butuh KPR dalam 6 bulan ke depan. Marketing team lalu hubungi mereka proaktif. Conversion rate 3x lebih tinggi dari cold calling. Ini contoh SI pemasaran berbasis data keuangan — lintas fungsi."),
            ("SI SDM dan Operasional",
             ["HRIS: rekrutmen, pelatihan, penilaian kinerja, penggajian",
              "SCM: perencanaan produksi, manajemen inventori, pengiriman",
              "SI operasional: IoT sensor, quality control, maintenance",
              "Tantangan: data SDM sering tidak terhubung ke data operasional"],
             "Walmart example: sistem SCM Walmart memproses data dari 11.000 toko secara real-time. Ketika badai hurricane diprediksi di Florida, sistem otomatis meningkatkan pemesanan Pop-Tarts Strawberry 7x (data historis menunjukkan ini best seller saat bencana). Ini SI operasional + prediktif."),
            ("Silorisasi — Musuh Utama Keputusan Terintegrasi",
             ["Silo informasi: setiap departemen punya data sendiri, tidak terhubung",
              "Dampak: keputusan berdasarkan perspektif parsial",
              "Contoh: HR tidak tahu proyek mana yang butuh staf lebih, Finance tidak tahu SDM mana yang produktif",
              "Solusi: arsitektur data terintegrasi + budaya berbagi informasi"],
             "Gambar ilustrasi: 4 departemen sebagai pulau terpisah, setiap pulau punya 'database' sendiri dalam bentuk ribuan file Excel. Tanya: 'Bagaimana CEO bisa membuat keputusan strategis jika tidak ada jembatan antar pulau?' Ini akar problem yang akan diselesaikan oleh Enterprise System di pertemuan berikutnya."),
        ],
        "aktivitas": "Kelompok (30 menit): Peta SI Fungsional — untuk organisasi pilihan kelompok, identifikasi SI yang ada di 4 fungsi bisnis. Tandai koneksi dan gap integrasi.",
        "tagihan": "Template A.6 — Peta SI Fungsional Organisasi.",
        "takeaway": [
            "Setiap fungsi bisnis punya kebutuhan SI spesifik",
            "Silo informasi = musuh terbesar pengambilan keputusan holistik",
            "SI fungsional yang terhubung = fondasi keunggulan kompetitif"
        ],
        "next": "Pertemuan 6: Solusi untuk silo — Enterprise System (ERP, CRM, SCM) dan kunci keberhasilannya",
        "note_review": "Review pasca-UTS: 'Bagaimana perasaan kalian setelah UTS? Kita sudah cover fondasi strategis SI. Sekarang masuk ke aplikasi nyata: SI dalam fungsi bisnis sehari-hari.' Hubungkan dengan Problem Statement dari Template A.4 — 'Organisasi yang kalian analisis punya masalah di SI fungsional yang mana?'",
    },
    {
        "no": 6,
        "tema": "Enterprise System & Integrasi",
        "sub_tema": "Bab 7 — ERP, CRM, SCM: Solusi atau Sumber Masalah Baru?",
        "bab": "Bab 7",
        "cpmk": "CPMK-3",
        "kemampuan_akhir": "Mahasiswa mampu menjelaskan arsitektur enterprise system dan mengidentifikasi faktor kritis keberhasilan serta kegagalannya",
        "materi": [
            ("Arsitektur Enterprise Resource Planning (ERP)",
             ["ERP: satu database tunggal untuk semua fungsi bisnis",
              "Modul ERP: Finance, HR, SCM, CRM, Manufacturing, dll.",
              "Filosofi inti: standardisasi proses bisnis di seluruh organisasi",
              "Pemain utama: SAP, Oracle, Microsoft Dynamics, Odoo (open source)"],
             "Gambar arsitektur ERP: database tunggal di tengah, dikelilingi modul-modul. Analogi: ERP adalah 'otak' organisasi yang menyimpan semua memori. Jika semua departemen share database yang sama, tidak ada lagi 'data berbeda' antara HR dan Finance. Tekankan: ERP bukan hanya software — ERP bawa 'best practice' proses bisnis yang sudah built-in."),
            ("CRM dan SCM — Ujung Tombak dan Punggung Rantai",
             ["CRM: kelola hubungan pelanggan dari prospek ke loyalitas",
              "SCM: optimalkan aliran dari pemasok ke tangan konsumen",
              "Integrasi CRM-ERP: order dari CRM langsung trigger SCM",
              "Contoh: Indomaret — SCM terintegrasi = tidak ada kios kehabisan stok"],
             "Case Indomaret: 21.000+ gerai, jutaan transaksi per hari. Bagaimana bisa setiap gerai selalu punya stok yang tepat? SCM terintegrasi + ERP. Data penjualan real-time dari kasir otomatis trigger pemesanan ke supplier. Tanpa integrasi ini, Indomaret tidak bisa scale ke 21.000 gerai."),
            ("Kegagalan Implementasi — Pelajaran dari Hershey",
             ["Hershey 1999: ERP SAP R/3 senilai $112 juta",
              "Go-live 1 Juli — tepat jelang peak season Halloween",
              "Hasil: $100 juta order gagal terproses, saham -8%",
              "Root cause: timeline dipercepat, change management diabaikan"],
             "Ini adalah salah satu kegagalan implementasi ERP paling terkenal di dunia. Bukan karena SAP-nya jelek — tapi karena: (1) timeline dipaksakan demi deadline, (2) training user tidak cukup, (3) testing tidak menyeluruh, (4) tidak ada contingency plan. Pelajaran: ERP bukan plug-and-play. Implementasi ERP = proyek transformasi organisasi, bukan proyek IT."),
        ],
        "aktivitas": "Kelompok (30 menit): Template A.7 — Checklist Kesiapan Enterprise System. Evaluasi tingkat kesiapan organisasi pilihan: budaya, proses bisnis, SDM, infrastruktur. Identifikasi gap terbesar.",
        "tagihan": "Template A.7 — Checklist Kesiapan Enterprise System.",
        "takeaway": [
            "ERP bukan proyek IT — ERP adalah proyek transformasi bisnis",
            "Kegagalan ERP paling sering disebabkan faktor manusia, bukan teknologi",
            "Kesiapan organisasi harus diukur sebelum komit ke enterprise system"
        ],
        "next": "Pertemuan 7: Dengan SI yang terintegrasi, bagaimana kita membuat keputusan yang lebih baik? — Model Simon & DSS",
        "note_review": "Review P5: 'Minggu lalu kita petakan SI fungsional dan temukan gap integrasi. Sekarang kita bahas solusinya: enterprise system. Tapi hati-hati — solusi ini bisa jadi masalah baru jika tidak dikelola dengan benar.'",
    },
    {
        "no": 7,
        "tema": "Pengambilan Keputusan Berbasis Data",
        "sub_tema": "Bab 8 — Model Simon, DSS, dan Melawan Bias Kognitif",
        "bab": "Bab 8",
        "cpmk": "CPMK-3",
        "kemampuan_akhir": "Mahasiswa mampu mengaplikasikan model keputusan Simon dan membedakan keputusan terstruktur vs tidak terstruktur",
        "materi": [
            ("Model Simon — Tiga Fase Keputusan",
             ["Intelligence: kenali masalah, kumpulkan informasi",
              "Design: buat alternatif solusi dan evaluasi",
              "Choice: pilih alternatif terbaik dan implementasikan",
              "+ Implementation & Monitoring (Simon versi modern)"],
             "Role play singkat: dosen berikan skenario 'penjualan turun 20% bulan ini.' Tahap Intelligence: apa data yang dikumpulkan? (data harga, kompetitor, cuaca, trend). Tahap Design: alternatif apa yang mungkin? (turunkan harga, tambah promosi, ubah produk, masuk segmen baru). Tahap Choice: dengan data yang ada, mana yang dipilih? Ini terjadi dalam 10 menit diskusi — tapi banyak manajer melewati tahap Intelligence karena tidak ada datanya."),
            ("Tipologi Keputusan",
             ["Terstruktur: rutin, kriteria jelas, bisa diotomasi (e.g., approval kredit mikro)",
              "Semi-terstruktur: sebagian sistematis, sebagian penilaian personal (e.g., rekrutmen)",
              "Tidak terstruktur: unik, ambigu, membutuhkan judgment (e.g., akuisisi perusahaan)",
              "DSS membantu semua tipe — tapi porsinya berbeda"],
             "Contoh kasus tiga tipologi dari industri yang sama — perbankan: (1) Proses transfer antar rekening = terstruktur, 100% otomatis. (2) Approval kredit Rp 500 juta = semi-terstruktur, sistem menghitung scoring tapi relationship manager tetap review. (3) Apakah bank harus masuk ke bisnis asuransi? = tidak terstruktur, membutuhkan judgment eksekutif."),
            ("Bias Kognitif vs Data-Driven",
             ["Anchoring bias: terlalu bergantung pada informasi pertama",
              "Confirmation bias: hanya cari data yang mendukung keyakinan awal",
              "Availability heuristic: terlalu percaya pada contoh yang mudah diingat",
              "Solusi: DSS memberikan data objektif sebagai 'counter-bias'"],
             "Eksperimen Kahneman: 'Toko A: 85% pelanggan puas. Toko B: 15% pelanggan tidak puas.' Secara logika identik — tapi persepsi berbeda. Ini confirmation bias dalam framing. Manajer yang hanya baca laporan 'positif' = terjebak confirmation bias. DSS memaksa kita lihat data yang tidak kita sukai."),
        ],
        "aktivitas": "Simulasi Keputusan (25 menit): Diberikan skenario bisnis dengan terbatas data. Ronde 1: buat keputusan berbasis intuisi. Ronde 2: diberikan data tambahan, buat keputusan berbasis data. Bandingkan hasilnya.",
        "tagihan": "Template A.8 — Matriks Keputusan Manajerial (5 keputusan nyata di organisasi pilihan + review UTS hari ini).",
        "takeaway": [
            "Keputusan baik = Intelligence + Design + Choice yang sistematis",
            "Kenali tipe keputusan untuk menentukan peran SI yang tepat",
            "Data bukan pengganti judgment — data adalah senjata melawan bias"
        ],
        "next": "Pertemuan 8: Business Intelligence & Analitik — bagaimana data diubah menjadi insight yang bisa ditindaklanjuti",
        "note_review": "Review P6: 'Kita sudah punya enterprise system yang terintegrasi. Data mengalir. Sekarang pertanyaannya: bagaimana kita gunakan data itu untuk membuat keputusan yang lebih baik?' Bridge ke model Simon.",
    },
    {
        "no": 8,
        "tema": "Business Intelligence & Analitik",
        "sub_tema": "Bab 9 — Dari Data ke Insight yang Bisa Ditindaklanjuti",
        "bab": "Bab 9",
        "cpmk": "CPMK-3",
        "kemampuan_akhir": "Mahasiswa mampu membedakan 4 tipe analitik dan merancang kerangka dashboard BI untuk keputusan manajerial spesifik",
        "materi": [
            ("Spektrum Analitik Bisnis — 4 Tipe",
             ["Deskriptif: apa yang TERJADI? (laporan, dashboard historis)",
              "Diagnostik: MENGAPA terjadi? (drill-down, root cause analysis)",
              "Prediktif: apa yang AKAN terjadi? (model statistik, ML)",
              "Preskriptif: apa yang HARUS dilakukan? (optimasi, rekomendasi otomatis)"],
             "Nilai meningkat dari kiri ke kanan — tapi kompleksitas juga meningkat. Contoh retail: Deskriptif = 'Penjualan bulan ini Rp 2,3M.' Diagnostik = 'Turun 15% karena promo kompetitor di Tokopedia.' Prediktif = 'Bulan depan diperkirakan turun lagi 8% jika tidak ada counter-action.' Preskriptif = 'Sistem merekomendasikan: diskon 10% untuk kategori A + push notification ke top-100 pelanggan.'"),
            ("Arsitektur BI — Perjalanan Data ke Dashboard",
             ["Data Sources → ETL → Data Warehouse → OLAP → Dashboard",
              "ETL: Extract, Transform, Load — membersihkan dan mengintegrasikan data",
              "Data Warehouse: toko data historis yang dioptimalkan untuk analisis",
              "Dashboard: lapisan presentasi untuk pengambil keputusan"],
             "Gambar pipeline BI. Tekankan: dashboard hanya 5% dari pekerjaan BI. 95% adalah ETL dan data warehouse — pekerjaan bersih-bersih data yang tidak terlihat tapi krusial. Filosofi: 'Garbage in, garbage out.' Dashboard yang cantik dengan data kotor = misleading."),
            ("Prinsip Dashboard Manajerial yang Baik",
             ["1 keputusan = 1 dashboard (jangan campur semua KPI)",
              "Less is more: maksimal 5-7 KPI per halaman",
              "Pilih visualisasi tepat: trend → line chart, perbandingan → bar",
              "Correlation ≠ Causation: awas interpretasi salah"],
             "Contoh dashboard buruk vs baik. Dashboard buruk: 47 KPI dalam 1 halaman, berbagai warna, tidak ada hierarki informasi. Dashboard baik: 5 KPI utama, goal vs actual, tren 6 bulan, 1 alert merah jika ada yang perlu tindakan. Tanya: 'Kalau CEO hanya punya 30 detik untuk lihat dashboard, informasi apa yang paling penting?'"),
        ],
        "aktivitas": "Workshop Kelompok (35 menit): Rancang kerangka Dashboard BI untuk 1 keputusan manajerial spesifik dari organisasi pilihan. Tentukan: keputusan apa, KPI apa, tipe analitik apa, visualisasi apa.",
        "tagihan": "Template A.9 — Desain Kerangka Dashboard BI. PRESENTASI di Pertemuan 9 (10 menit per kelompok).",
        "takeaway": [
            "4 tipe analitik: Deskriptif → Diagnostik → Prediktif → Preskriptif",
            "Dashboard yang baik: 1 tujuan, sedikit KPI, visualisasi tepat",
            "Korelasi bukan kausalitas — interpretasi data butuh konteks bisnis"
        ],
        "next": "Pertemuan 9: Presentasi Dashboard BI kelompok + intro Pemodelan Proses Bisnis (BPMN)",
        "note_review": "Review P7: 'Kita sudah bisa buat keputusan sistematis dengan model Simon. Tapi model Simon butuh bahan bakar: data yang sudah diolah jadi insight. Itulah Business Intelligence.' Kaitkan dengan DSS di P7.",
    },
    {
        "no": 9,
        "tema": "Presentasi Dashboard BI + Pemodelan Proses",
        "sub_tema": "Bab 10 — BPMN: Membaca Organisasi Melalui Proses",
        "bab": "Presentasi + Bab 10",
        "cpmk": "CPMK-3 & CPMK-4",
        "kemampuan_akhir": "Mahasiswa mampu mempresentasikan dashboard BI secara persuasif dan membuat swimlane diagram AS-IS",
        "materi": [
            ("Sesi Presentasi Dashboard BI (Paruh 1)",
             ["Setiap kelompok: 10 menit presentasi + 5 menit Q&A",
              "Kriteria penilaian: ketepatan tipe analitik, relevansi KPI, kejelasan visualisasi",
              "Feedback konstruktif dari dosen dan kelompok lain",
              "Kunci presentasi baik: mulai dari keputusan, bukan dari data"],
             "Panduan feedback: tanyakan ke presenter — 'Keputusan apa yang akan berubah dengan dashboard ini?' Jika mereka tidak bisa jawab dengan jelas, itu tanda dashboard terlalu umum. Feedback yang baik: spesifik, bukan 'ada yang kurang' tapi 'chart ini cocoknya bar chart karena membandingkan kategori, bukan line karena bukan tren waktu.'"),
            ("Mengapa Proses Bisnis Perlu Dimodelkan?",
             ["Proses = urutan aktivitas yang mengubah input menjadi output bernilai",
              "Tanpa model proses: SI yang dibangun tidak mencerminkan realita",
              "AS-IS model: memotret kondisi saat ini",
              "TO-BE model: merancang proses ideal setelah SI baru"],
             "Analogi: sebelum bangun rumah, arsitek buat blueprint. Sebelum bangun SI, analis buat model proses bisnis. Tanpa blueprint, kontraktor tebak-tebak. Tanpa model proses, developer SI tebak-tebak. Hasilnya: sistem yang tidak dipakai karena tidak sesuai cara kerja nyata."),
            ("Notasi BPMN — Elemen Dasar",
             ["Event (lingkaran): start, intermediate, end",
              "Task (kotak sudut bulat): aktivitas yang dilakukan",
              "Gateway (belah ketupat): decision point / percabangan",
              "Swimlane: area tanggung jawab per aktor/departemen"],
             "Demo live: buat model BPMN sederhana di papan — proses pengajuan cuti karyawan. Lane: Karyawan | Atasan Langsung | HR. Karyawan: isi form → submit. Atasan: review → approve/reject. HR: proses approval → update sistem. Tunjukkan gateway (approve/reject). Mahasiswa langsung paham elemen dasar."),
        ],
        "aktivitas": "Workshop (20 menit): Mulai buat Swimlane Diagram AS-IS untuk 1 proses bisnis dari organisasi pilihan kelompok. Minimal 3 lane, 8 aktivitas.",
        "tagihan": "Template A.10 — Swimlane Diagram AS-IS (dikumpulkan minggu depan).",
        "takeaway": [
            "Dashboard BI yang baik menjawab satu keputusan bisnis spesifik",
            "Model proses bisnis = blueprint sebelum membangun SI",
            "BPMN swimlane: siapa melakukan apa, dalam urutan apa"
        ],
        "next": "Pertemuan 10: Dari proses bisnis ke rancangan SI — Arsitektur Konseptual + Seleksi Solusi (Custom/Komersial/Cloud)",
        "note_review": "Pertemuan 9 tidak perlu review panjang — langsung masuk ke sesi presentasi. Buka dengan: 'Pertemuan hari ini kita lihat hasil kerja keras kelompok — kemudian langsung masuk ke topik baru: bagaimana memotret proses bisnis sebelum bangun SI.'",
    },
    {
        "no": 10,
        "tema": "Merancang SI & Memilih Solusi",
        "sub_tema": "Bab 11 + 12 — Output-First Design & Make-Buy-Rent Decision",
        "bab": "Bab 11 & 12",
        "cpmk": "CPMK-4",
        "kemampuan_akhir": "Mahasiswa mampu merancang arsitektur konseptual SI dan merekomendasikan solusi yang tepat (custom/komersial/cloud)",
        "materi": [
            ("Pendekatan Output-First dalam Perancangan SI",
             ["Mulai dari OUTPUT yang dibutuhkan: laporan, dashboard, notifikasi",
              "Bukan dari: 'fitur apa yang kita mau?'",
              "Backward design: output → proses → input → teknologi",
              "Modul fungsional: kelompokkan fungsi berdasarkan domain bisnis"],
             "Analogi: desainer baju tidak tanya 'mau mesin jahit apa?' — mereka tanya 'siapa yang memakai, untuk acara apa, kondisi apa?' Output-first: jika output yang dibutuhkan adalah 'laporan cash flow harian untuk CFO,' maka sistem butuh: modul transaksi + general ledger + reporting engine. Bukan sebaliknya."),
            ("Make vs Buy vs Rent — Framework Keputusan",
             ["Make (Custom): fleksibel tapi mahal, lama, membutuhkan tim IT",
              "Buy (Komersial): cepat tapi mahal lisensi, perlu customisasi",
              "Rent (Cloud/SaaS): murah di awal, berlangganan, ketergantungan vendor",
              "Total Cost of Ownership (TCO): hitung seluruh biaya 5 tahun"],
             "Matriks keputusan: 3 kolom (Make/Buy/Rent) × faktor keputusan (Biaya Awal, Biaya Operasional, Fleksibilitas, Keamanan Data, Kecepatan Implementasi, Dukungan Teknis). Contoh nyata: startup fintech → SaaS. RS besar dengan regulasi ketat → sistem custom. UMKM dengan anggaran terbatas → SaaS open source (OdooSaaS)."),
            ("Cloud Computing untuk Manajer",
             ["IaaS: sewa infrastruktur (server, storage) — kontrol penuh",
              "PaaS: sewa platform untuk develop aplikasi",
              "SaaS: sewa software siap pakai — paling umum untuk bisnis",
              "Trade-off: biaya rendah vs kontrol data vs vendor lock-in"],
             "Pertanyaan kritis tentang SaaS: 'Data perusahaan ada di mana?' Untuk perusahaan dengan data sensitif (bank, RS, pemerintah) — SaaS internasional bermasalah dengan regulasi. UU PDP 2022 mensyaratkan data WNI disimpan di Indonesia. Ini contoh bagaimana regulasi mempengaruhi pilihan teknologi."),
        ],
        "aktivitas": "Kelompok (30 menit): Berdasarkan Problem Statement (A.4) dan kebutuhan informasi (A.5) kelompok — rancang arsitektur konseptual SI dan buat justifikasi Make-Buy-Rent dengan matriks TCO sederhana.",
        "tagihan": "Template A.11 (Arsitektur Konseptual SI) + Template A.12 (Matriks Evaluasi Solusi).",
        "takeaway": [
            "Rancang SI dari output yang dibutuhkan, bukan dari teknologi yang tersedia",
            "Make-Buy-Rent: setiap pilihan ada trade-off biaya, kontrol, dan kecepatan",
            "TCO 5 tahun lebih jujur dari sekadar biaya lisensi awal"
        ],
        "next": "Pertemuan 11: Solusi sudah dipilih — sekarang bagaimana mengimplementasikannya tanpa gagal?",
        "note_review": "Review P9: 'Minggu lalu kita buat model proses AS-IS. Sekarang kita pakai model itu sebagai input untuk merancang SI yang tepat.' Hubungkan Swimlane A.10 → Arsitektur A.11.",
    },
    {
        "no": 11,
        "tema": "Implementasi SI",
        "sub_tema": "Bab 13 — Mengapa 70% Proyek Gagal dan Cara Mencegahnya",
        "bab": "Bab 13",
        "cpmk": "CPMK-5",
        "kemampuan_akhir": "Mahasiswa mampu menganalisis faktor kritis implementasi SI dan merancang strategi mitigasi yang realistic",
        "materi": [
            ("Tahapan Implementasi SI",
             ["1. Perencanaan: scope, jadwal, anggaran, tim",
              "2. Konfigurasi & Pengembangan: setup + coding",
              "3. Testing: unit test → integration test → UAT",
              "4. Konversi Data: migrasi dari sistem lama",
              "5. Go-Live & Support: deploy + stabilisasi"],
             "Tekankan fase yang paling sering diabaikan: UAT (User Acceptance Testing) dan Konversi Data. UAT bukan 'QA by IT' — UAT adalah pengujian oleh pengguna sesungguhnya di kondisi nyata. Konversi data: data lama sering kotor, tidak konsisten, formatnya berbeda. Estimasi 40-60% waktu proyek habis untuk data migration."),
            ("4 Strategi Konversi — Pilih yang Tepat",
             ["Langsung (Direct Cutover): sistem lama OFF, sistem baru ON — cepat tapi berisiko tinggi",
              "Paralel: dua sistem jalan bersamaan — aman tapi mahal",
              "Bertahap (Phased): satu modul/divisi dulu — terkontrol",
              "Percontohan (Pilot): 1 lokasi/departemen dulu — ideal untuk organisasi besar"],
             "Framework pemilihan strategi: tanya 3 pertanyaan. (1) Seberapa kritis jika terjadi error? → error kritis = hindari direct cutover. (2) Seberapa besar organisasinya? → besar = pilot dulu. (3) Seberapa mampu support paralel? → jika mahal = phased. Kasus Hershey: harusnya pilot dulu, bukan langsung company-wide cutover saat Halloween."),
            ("Change Management — Elemen Paling Sering Diabaikan",
             ["70% kegagalan proyek IT = faktor manusia, bukan teknologi",
              "Resistance to change: 'Kenapa harus ganti? Sistem lama masih jalan'",
              "Model Kotter 8 Langkah: dari urgensi → visi → komunikasi → empowerment",
              "Executive sponsorship: harus ada C-level champion"],
             "Data Standish Group 2023: hanya 35% proyek IT delivered on time, on budget, dengan scope penuh. 19% dibatalkan. 46% terlambat/over budget. Kegagalan terbesar: kurang executive support, requirement tidak jelas, perubahan scope. Semua ini faktor manusia dan manajemen — bukan kualitas kode."),
        ],
        "aktivitas": "Kelompok (30 menit): Buat Implementation Roadmap 6 bulan untuk SI yang dirancang di P10. Pilih strategi konversi yang tepat. Identifikasi 3 risiko implementasi terbesar.",
        "tagihan": "Template A.13 — Implementation Roadmap.",
        "takeaway": [
            "Proyek IT gagal bukan karena teknologi — tapi karena people dan process",
            "Pilih strategi konversi berdasarkan risiko dan kompleksitas organisasi",
            "Change management bukan 'nice to have' — itu faktor penentu keberhasilan"
        ],
        "next": "Pertemuan 12: Setelah implementasi — bagaimana menghitung apakah SI ini layak investasi? ROI, Business Case, dan Risk Register",
        "note_review": "Review P10: 'Kelompok sudah rancang SI dan pilih solusi. Sekarang pertanyaan manajerial terpenting: bagaimana mengeksekusinya?' Kaitkan: arsitektur dari A.11 + solusi dari A.12 → sekarang butuh roadmap A.13.",
    },
    {
        "no": 12,
        "tema": "ROI, Business Case & Risiko SI",
        "sub_tema": "Bab 14 + 15 — Justifikasi Investasi dan Pertahanan dari Risiko",
        "bab": "Bab 14 & 15",
        "cpmk": "CPMK-5",
        "kemampuan_akhir": "Mahasiswa mampu menyusun business case SI tingkat dasar dan membangun risk register yang komprehensif",
        "materi": [
            ("Komponen Business Case SI",
             ["Executive Summary: masalah + solusi + manfaat utama dalam 1 halaman",
              "Analisis Biaya: TCO 5 tahun (lisensi, implementasi, training, operasional)",
              "Analisis Manfaat: tangible (Rp terukur) + intangible (efisiensi, kepuasan)",
              "ROI = (Total Manfaat - Total Biaya) / Total Biaya × 100%"],
             "Template business case 1 halaman: kolom kiri = biaya, kolom kanan = manfaat. Biaya tangible: mudah dihitung. Manfaat intangible: perlu dikuantifikasi. Contoh: 'waktu tersimpan 2 jam/hari × 50 karyawan × 250 hari kerja × Rp 50.000/jam = Rp 1,25 miliar/tahun.' Ini cara mengkonversi manfaat intangible ke angka Rp."),
            ("NPV dan Payback Period — Sederhana tapi Penting",
             ["Payback Period: berapa tahun modal kembali? (target: < 3 tahun untuk SI)",
              "NPV: nilai saat ini dari seluruh arus kas masa depan",
              "Jika NPV positif → investasi menguntungkan secara finansial",
              "Tapi: manfaat strategis tidak selalu terukur dalam NPV"],
             "Contoh kalkulasi sederhana: Investasi awal Rp 500 juta. Penghematan tahun 1: Rp 150 juta, tahun 2: Rp 200 juta, tahun 3: Rp 250 juta. Payback = Rp 500juta / ~Rp 200juta rata-rata = sekitar 2,5 tahun. Tampilkan di Excel atau tabel sederhana. Tekankan: ini rough estimate. CFO yang sesungguhnya akan pakai discount rate juga."),
            ("Risk Register — Pertahanan Manajerial",
             ["Taksonomi risiko SI: Teknis | Manajerial | SDM | Keamanan | Regulasi",
              "Penilaian risiko: Dampak (1-5) × Probabilitas (1-5) = Risk Score",
              "Mitigasi: avoid, transfer, mitigate, accept",
              "CIA Triad: Confidentiality, Integrity, Availability"],
             "Template risk register: 5 kolom — Risiko | Kategori | Probabilitas | Dampak | Risk Score | Mitigasi. Contoh baris: 'Data breach karena SQL injection | Keamanan | 3 | 5 | 15 | Implementasi parameterized queries + penetration test sebelum go-live.' Tekankan: risk register bukan dokumen sekali buat — harus di-update sepanjang proyek."),
        ],
        "aktivitas": "Kelompok (35 menit): Buat Business Case Canvas 1 halaman untuk investasi SI kelompok — termasuk estimasi TCO, manfaat utama, hitungan ROI kasar, dan Risk Register 5 risiko. Ini adalah TAGIHAN BESAR KEDUA.",
        "tagihan": "Template A.14 (Business Case Canvas) + Template A.15 (Risk Register) — TAGIHAN BESAR KEDUA.",
        "takeaway": [
            "Business case yang baik bicara bahasa keuangan: ROI, TCO, Payback Period",
            "Manfaat intangible harus dikuantifikasi agar bisa dievaluasi secara finansial",
            "Risk register adalah komitmen manajemen, bukan formalitas dokumen"
        ],
        "next": "Pertemuan 13: SI sudah berjalan — sekarang bagaimana menghadapi transformasi digital yang lebih besar?",
        "note_review": "Review P11: 'Kita sudah punya roadmap implementasi. Tapi sebelum eksekusi, manajemen butuh justifikasi finansial. Itulah business case — bahasa yang dimengerti oleh CFO dan dewan direksi.'",
    },
    {
        "no": 13,
        "tema": "Transformasi Digital & E-Business",
        "sub_tema": "Bab 16 — Strategi di Era Platform Economy",
        "bab": "Bab 16",
        "cpmk": "CPMK-6",
        "kemampuan_akhir": "Mahasiswa mampu menganalisis strategi transformasi digital dan mengevaluasi digital maturity organisasi",
        "materi": [
            ("Dimensi Transformasi Digital",
             ["Transformasi Customer Experience: personalisasi, omnichannel, self-service",
              "Transformasi Operasional: otomasi, AI-driven processes, efisiensi",
              "Transformasi Model Bisnis: dari produk ke platform, dari jual ke langganan",
              "Transformasi Budaya: data-driven mindset, agile, experimentation"],
             "Tekankan: transformasi digital BUKAN digitisasi (pindah berkas dari kertas ke PDF) — bukan digitalisasi (efisienkan proses yang ada dengan digital) — melainkan transformasi fundamental cara organisasi menciptakan nilai. Gojek bukan perusahaan ojek yang digitalisasi — dia menciptakan model bisnis baru yang tidak ada sebelumnya."),
            ("Platform Economy — Mengapa Pemenang Take All",
             ["Platform: menghubungkan dua sisi (producer dan consumer)",
              "Network effect: makin banyak user → makin bernilai platform",
              "Contoh Indonesia: Tokopedia, Gojek, Traveloka, Ruangguru",
              "Winner-takes-most: skala platform = keunggulan yang sulit disaingi"],
             "Analogi dua sisi: Tokopedia punya nilai karena ada 10 juta penjual DAN 100 juta pembeli. Jika Anda bangun platform baru, butuh keduanya sekaligus — the 'cold start' problem. Bagaimana Gojek solve ini? Mulai dari GO-RIDE dengan subsidi besar untuk bangun supply (driver) dan demand (rider) secara bersamaan."),
            ("Digital Maturity Model",
             ["Level 1 — Digital Laggard: hampir tidak ada digital",
              "Level 2 — Digital Explorer: eksperimen taktis, belum sistematis",
              "Level 3 — Digital Player: beberapa inisiatif digital terintegrasi",
              "Level 4 — Digital Transformer: digital = inti strategi bisnis"],
             "Assessment: minta mahasiswa estimalkan level digital maturity organisasi pilihan kelompok berdasarkan 5 dimensi: Customer Experience, Operasional, Model Bisnis, Teknologi, Budaya. Bukan tentang seberapa banyak aplikasi yang punya — tapi seberapa dalam digital mengubah cara menciptakan nilai."),
        ],
        "aktivitas": "Kelompok (35 menit): Template A.16 — Digital Maturity Assessment untuk organisasi pilihan. Identifikasi posisi saat ini, target 2 tahun ke depan, dan 3 langkah prioritas transformasi yang realistis.",
        "tagihan": "Template A.16 — Digital Maturity Assessment.",
        "takeaway": [
            "Transformasi digital = ubah fundamental cara menciptakan nilai, bukan sekadar digitisasi",
            "Platform economy: network effect menciptakan keunggulan yang sulit disaingi",
            "Digital maturity bukan soal teknologi — soal strategi dan budaya"
        ],
        "next": "Pertemuan 14 (TERAKHIR): AI dalam manajemen + tren masa depan + review komprehensif sebelum UAS",
        "note_review": "Review P12: 'Kelompok sudah punya blueprint SI lengkap: dari masalah, desain, roadmap, sampai business case. Sekarang kita zoom out: di era transformasi digital, semua itu harus diposisikan dalam konteks yang lebih besar.' Bridge ke transformasi digital.",
    },
    {
        "no": 14,
        "tema": "AI, Tren SI & Review Komprehensif",
        "sub_tema": "Bab 17 + 18 — Masa Depan Manajer di Era AI",
        "bab": "Bab 17 & 18",
        "cpmk": "CPMK-6",
        "kemampuan_akhir": "Mahasiswa mampu mengevaluasi potensi dan limitasi AI untuk keputusan manajerial dan mengintegrasikan seluruh kompetensi mata kuliah",
        "materi": [
            ("AI dalam Pengambilan Keputusan Manajerial",
             ["AI = augmentasi, bukan substitusi manajer",
              "Use case nyata: AI untuk prediksi churn, deteksi fraud, rekomendasi stok",
              "Limitasi AI: explainability, bias data, konteks bisnis",
              "Etika AI: fairness, accountability, transparency"],
             "Contoh kasus konkret: AI hiring bias di Amazon — algoritma rekrutmen otomatis ternyata bias negatif terhadap perempuan karena dilatih dari data historis karyawan (yang mayoritas laki-laki). Lesson: AI adalah cermin dari data yang digunakan — jika datanya bias, keputusan AI-nya bias. Peran manajer: oversight, bukan hanya trust AI output."),
            ("Tren SI yang Membentuk Masa Depan Organisasi",
             ["IoT: setiap aset fisik bisa jadi sumber data",
              "Blockchain bisnis: smart contract, supply chain transparency",
              "Edge computing: proses data di sumber, bukan di cloud",
              "Generative AI: dari ChatGPT ke co-pilot enterprise"],
             "Generative AI impact on management: otomasi drafting laporan, analisis dokumen kontrak, code generation, customer service 24/7. Bukan ancaman bagi manajer — tapi ancaman bagi manajer yang tidak tahu cara menggunakannya. 'AI tidak akan menggantikan manajer — tapi manajer yang pakai AI akan menggantikan yang tidak.'"),
            ("Review Komprehensif — Peta 18 Bab",
             ["Fase 1 (B1-4): Konteks Strategis — MENGAPA SI penting?",
              "Fase 2 (B5-9): Data & Keputusan — APA yang SI butuhkan?",
              "Fase 3 (B10-12): Perancangan — BAGAIMANA membangun SI?",
              "Fase 4 (B13-18): Implementasi & Masa Depan — BAGAIMANA mengelola SI?"],
             "Tampilkan diagram 4 fase sebagai perjalanan belajar. Tanya mahasiswa: 'Insight terpenting dari setiap fase?' Hubungkan dengan kontrak belajar di P1: 'Di awal, kita tanya: apa bedanya SI strategis vs SI teknis? Setelah 14 pertemuan — bisakah Anda jawab pertanyaan itu dengan lebih dalam?' Tutup dengan forward-looking statement tentang peran manajer di era AI."),
        ],
        "aktivitas": "Refleksi Individual (20 menit): Tulis reflection paper 500 kata — 'Insight paling transformatif dari mata kuliah ini dan bagaimana saya akan menerapkannya sebagai manajer.' Kumpulkan di akhir sesi.",
        "tagihan": "Template A.18 — Peta Transformasi Personal (reflection paper). PERSIAPKAN UAS: kasus integratif komprehensif.",
        "takeaway": [
            "AI adalah mitra keputusan manajer, bukan pengganti judgment",
            "Tren SI membuka peluang bagi manajer yang mau belajar",
            "Manajer era AI: data-literate, strategically-oriented, ethically-aware"
        ],
        "next": "UJIAN AKHIR SEMESTER — Kasus integratif komprehensif. Semua artefak A.1-A.18 sebagai referensi belajar.",
        "note_review": "Review P13: 'Kita sudah cover transformasi digital — sekarang accelerator terbesarnya: AI. Dan setelah itu, kita review seluruh perjalanan 14 pertemuan bersama.' Ini pertemuan penutup — buat memorable."
    },
]

UTS_DATA = {
    "materi": "Bab 1–9 (Pertemuan 1–7)",
    "cpmk": "CPMK-1, CPMK-2, CPMK-3",
    "durasi": "90 menit",
    "bobot": "25%",
    "format": [
        "Bagian A: 15 Soal Pilihan Ganda Analitis (30 poin)",
        "Bagian B: 3 Esai Singkat (30 poin)",
        "Bagian C: 1 Kasus Analisis (40 poin)"
    ],
    "tips": [
        "Review model: PVIO, IT Strategic Grid, DIKW, Problem Framing, Model Simon, 4 Tipe Analitik",
        "Fokus pada aplikasi konsep ke kasus — bukan hafalan definisi",
        "Template A.2–A.8 yang sudah dikerjakan = bahan belajar terbaik",
        "Soal kasus: baca dua kali, identifikasi framework yang paling relevan, jawab sistematis"
    ],
    "contoh_soal": "Kasus: Dinas Pendidikan dengan 3 sistem terpisah yang tidak terintegrasi. Identifikasi level DIKW, dimensi kualitas data, dan berikan rekomendasi manajerial."
}

UAS_DATA = {
    "materi": "Bab 1–18 (komprehensif, penekanan Bab 6–18)",
    "cpmk": "CPMK-1 s.d. CPMK-6",
    "durasi": "120 menit",
    "bobot": "25%",
    "format": [
        "Bagian A: 10 Soal Pilihan Ganda (20 poin)",
        "Bagian B: 2 Esai Analitis (30 poin)",
        "Bagian C: 1 Kasus Integratif Besar — 5 pertanyaan × 20 poin (50 poin)"
    ],
    "tips": [
        "Pelajari semua 18 Template A.1–A.18 sebagai checklist kompetensi",
        "Kasus integratif: gunakan framework lintas bab (masalah → kebutuhan info → rancangan → implementasi → ROI)",
        "Hubungkan tren AI dan transformasi digital dengan konteks bisnis Indonesia",
        "Alokasi waktu: ~10 menit di Bagian A, ~20 menit di Bagian B, ~90 menit di Bagian C"
    ],
    "contoh_soal": "Kasus RS Harapan Kebumen: 5 pertanyaan — Problem Framing, Information Requirement, Solusi SI, Risk Register, Desain Dashboard BI."
}


# ---------------------------------------------------------------------------
# Generator functions
# ---------------------------------------------------------------------------

def format_header():
    return """---
marp: true
theme: gaia
class: invert
paginate: true
footer: "SIM di Era AI — Helmi Bahar Alim, S.Kom., M.Kom. — Universitas Putra Bangsa"
---"""


def slide_cover(p):
    return f"""# Pertemuan {p['no']}
## {p['tema']}

_{p['sub_tema']}_

---

**{p['cpmk']}** | Referensi: {p['bab']}

<!--
Slide pembuka. Baca judul tema, sebutkan bab referensi.
Waktukan: 2-3 menit untuk opening.
{"Kemudian: " + p['note_review'] if p['note_review'] else "Langsung masuk ke agenda pertemuan."}
-->"""


def slide_agenda(p):
    bullets = "\n".join([f"- **{m[0]}**" for m in p['materi']])
    return f"""## Agenda Hari Ini

{bullets}
- **Aktivitas:** {p['aktivitas'][:60]}...
- **Tagihan:** {p['tagihan'][:70]}...

<!--
Bacakan agenda secara singkat — beri gambaran alur pertemuan.
Estimasi waktu: materi ~75 menit, aktivitas ~30 menit, penutup ~15 menit.
Pastikan semua mahasiswa sudah membuka buku teks {p['bab']}.
-->"""


def slide_materi(title, bullets, note):
    bullet_text = "\n".join([f"- {b}" for b in bullets])
    return f"""## {title}

{bullet_text}

<!--
{note}
-->"""


def slide_aktivitas(p):
    return f"""## Aktivitas Pertemuan Ini

> _{p['aktivitas']}_

**Instruksi:**
- Waktu: ±30 menit
- Output: {p['tagihan']}

<!--
Instruksikan dengan jelas sebelum mulai aktivitas.
Pastikan kelompok sudah terbentuk sejak P2.
Keliling kelas, berikan feedback real-time ke setiap kelompok.
Jika ada yang stuck: minta mereka mundur ke pertanyaan dasar — "Keputusan apa yang ingin didukung oleh informasi ini?"
-->"""


def slide_tagihan(p):
    return f"""## Tagihan Pertemuan Ini

### {p['tagihan']}

**Cara pengumpulan:** LMS / Google Classroom  
**Deadline:** Sebelum pertemuan berikutnya (23:59)

<!--
Ingatkan bahwa semua template adalah bagian dari portofolio progresif — saling terhubung.
Template yang baik = bahan belajar terbaik untuk UTS/UAS.
Jika ada kelompok yang belum pilih organisasi, SEGERA putuskan hari ini.
-->"""


def slide_takeaway(p):
    lines = "\n".join([f"{i+1}. **{t}**" for i, t in enumerate(p['takeaway'])])
    return f"""## 3 Poin Kunci Hari Ini

{lines}

<!--
Minta 3 mahasiswa masing-masing bacakan 1 poin kunci — sambil jelaskan dengan kata-kata sendiri.
Ini teknik active recall yang meningkatkan retensi.
Jika ada yang salah memahami, koreksi di sini sebelum keluar kelas.
-->"""


def slide_next(p):
    return f"""## Pratinjau Pertemuan Berikutnya

> _{p['next']}_

---

**Persiapan:**
- Baca {p['bab']} buku teks (tersedia di LMS)
- Kumpulkan tagihan hari ini sebelum deadline
- Bawa hasil pekerjaan kelompok untuk dilanjutkan

<!--
Tutup pertemuan dengan antusiasme tentang topik berikutnya.
Berikan 1 pertanyaan pemantik untuk dipikirkan sebelum kuliah berikutnya:
"Sebelum pertemuan berikutnya, pikirkan: {p['next']}"
Berdoa penutup, persilakan keluar.
-->"""


def generate_pertemuan_slide(p):
    slides = [
        format_header(),
        slide_cover(p),
        "---",
        slide_agenda(p),
    ]
    for title, bullets, note in p['materi']:
        slides.append("---")
        slides.append(slide_materi(title, bullets, note))
    slides.append("---")
    slides.append(slide_aktivitas(p))
    slides.append("---")
    slides.append(slide_tagihan(p))
    slides.append("---")
    slides.append(slide_takeaway(p))
    slides.append("---")
    slides.append(slide_next(p))
    return "\n\n".join(slides)


def generate_uts_slide():
    tips = "\n".join([f"- {t}" for t in UTS_DATA['tips']])
    fmt = "\n".join([f"- {f}" for f in UTS_DATA['format']])
    content = f"""{format_header()}

# UJIAN TENGAH SEMESTER
## Sistem Informasi Manajemen di Era AI

**Cakupan:** {UTS_DATA['materi']}  
**Durasi:** {UTS_DATA['durasi']} | **Bobot:** {UTS_DATA['bobot']}

<!--
Slide ini digunakan saat sesi pengumuman/review sebelum UTS.
Sampaikan: UTS bukan hafalan — UTS adalah aplikasi konsep ke kasus baru.
Mahasiswa yang rajin mengerjakan template A.2-A.8 sudah latihan untuk UTS.
-->

---

## Format Soal UTS

{fmt}

<!--
Jelaskan bobot per bagian. Tekankan: Bagian C (kasus analisis) bobotnya 40% — berlatih kasus adalah prioritas utama.
Bagian A: pilihan ganda analitis — bukan hafalan, tapi deduksi. Waktu ~20 menit.
Bagian B: esai singkat — 3-5 kalimat per soal, langsung ke poin. Waktu ~25 menit.
Bagian C: kasus analisis — baca dua kali, identifikasi framework, jawab sistematis. Waktu ~45 menit.
-->

---

## Tips Belajar untuk UTS

{tips}

<!--
Ingatkan: Template A.2-A.8 adalah bahan belajar terbaik.
Setiap template = latihan menerapkan 1 framework ke kasus nyata.
UTS tidak beda jauh — hanya kasusnya berbeda dari organisasi yang mereka pilih.
-->

---

## Contoh Soal Kasus

> _{UTS_DATA['contoh_soal']}_

**Framework yang relevan:**  
DIKW → 4 Dimensi Kualitas Data → Problem Framing → Information Requirement

<!--
Berjalan melalui contoh kasus ini bersama mahasiswa.
Tunjukkan cara menjawab yang terstruktur:
1. Identifikasi framework yang relevan
2. Petakan elemen kasus ke framework
3. Berikan rekomendasi yang konkret dan manajerial
Ini adalah 'template jawaban' yang bisa mahasiswa replikasi di soal UTS sesungguhnya.
-->"""
    return content


def generate_uas_slide():
    tips = "\n".join([f"- {t}" for t in UAS_DATA['tips']])
    fmt = "\n".join([f"- {f}" for f in UAS_DATA['format']])
    content = f"""{format_header()}

# UJIAN AKHIR SEMESTER
## Sistem Informasi Manajemen di Era AI

**Cakupan:** {UAS_DATA['materi']}  
**Durasi:** {UAS_DATA['durasi']} | **Bobot:** {UAS_DATA['bobot']}

<!--
Slide review sebelum UAS. Gunakan pertemuan 14 bagian akhir untuk walkthrough ini.
Sampaikan: UAS adalah puncak — mahasiswa yang mengikuti semua pertemuan dengan aktif tidak perlu panik.
18 template yang sudah dikerjakan = peta kompetensi = bahan belajar UAS.
-->

---

## Format Soal UAS

{fmt}

<!--
Tekankan: Bagian C adalah INTI UAS — 50% bobot.
Kasus integratif besar: satu organisasi, 5 pertanyaan dengan framework berbeda.
Kuncinya: hubungkan framework lintas pertemuan. Masalah (P4) → Kebutuhan Info (P4) → Rancangan (P10) → Implementasi (P11) → ROI (P12) → Dashboard (P8).
Waktu: alokasikan 90 menit untuk Bagian C.
-->

---

## Tips Belajar untuk UAS

{tips}

<!--
Dorong mahasiswa untuk review template portofolio mereka — bukan hanya dibaca, tapi dianalisis:
"Apa yang akan saya ubah jika mengerjakan template ini lagi dengan lebih baik?"
Refleksi itu = deep learning = siap UAS.
-->

---

## Kasus Integratif UAS

> _{UAS_DATA['contoh_soal']}_

**Peta framework:**  
P4 Problem Framing → P4 Info Req → P10 Arsitektur → P11 Roadmap → P12 Business Case → P12 Risk Register → P8 Dashboard BI

<!--
Ini adalah 'meta-kasus' yang menghubungkan semua pertemuan.
Tunjukkan bagaimana 5 pertanyaan UAS = 5 langkah sistematis analisis SI organisasi.
Mahasiswa yang paham urutan ini tidak perlu menghafal apapun — mereka tinggal menerapkan proses yang sudah dilakukan selama semester ke kasus baru.
Tutup dengan motivasi: "Kalian sudah latihan ini 14 pertemuan. UAS hanya giliran pertama melakukannya sendiri."
-->"""
    return content


# ---------------------------------------------------------------------------
# Main
# ---------------------------------------------------------------------------
def main():
    os.makedirs(OUTPUT_DIR, exist_ok=True)

    # Generate 14 pertemuan
    for p in PERTEMUAN:
        filename = f"pertemuan-{p['no']:02d}.md"
        filepath = os.path.join(OUTPUT_DIR, filename)
        content = generate_pertemuan_slide(p)
        with open(filepath, 'w', encoding='utf-8') as f:
            f.write(content)
        print(f"[OK] {filename} — {len(content.split('---'))-1} slides")

    # Generate UTS
    uts_path = os.path.join(OUTPUT_DIR, "pertemuan-UTS.md")
    with open(uts_path, 'w', encoding='utf-8') as f:
        f.write(generate_uts_slide())
    print(f"[OK] pertemuan-UTS.md")

    # Generate UAS
    uas_path = os.path.join(OUTPUT_DIR, "pertemuan-UAS.md")
    with open(uas_path, 'w', encoding='utf-8') as f:
        f.write(generate_uas_slide())
    print(f"[OK] pertemuan-UAS.md")

    print(f"\nTotal: {len(PERTEMUAN) + 2} files generated in slides/pertemuan/")


if __name__ == "__main__":
    main()
