<?xml version="1.0" encoding="UTF-8" standalone="no"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:gd="http://schemas.google.com/g/2005" xmlns:georss="http://www.georss.org/georss" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-9000860041661554971</atom:id><lastBuildDate>Fri, 14 Aug 2026 03:17:18 +0000</lastBuildDate><category>herbal</category><category>download</category><category>ebook</category><category>islami</category><category>Forex</category><category>Marketiva</category><category>converter</category><category>Cinta</category><category>El-shirazy</category><category>Habiburahman</category><category>Investasi Menurut Hukum Islam</category><category>Kang Abik</category><category>Novel</category><category>Online</category><category>Trading</category><category>VALUTA</category><category>doa</category><category>#pemimpinmerdekabelajar #refleksimerdekabelajar</category><category>18 Cara Merawat Komputer/Laptop Agar Tetap Awet Dan Tidak Rusak</category><category>ASING</category><category>Apa</category><category>Ayat</category><category>BATASAN RIBA DALAM SYARIAH</category><category>Bank konvensional vs Bank Syariah</category><category>Basic</category><category>Batasan Mengambil Keuntungan dalam Islam</category><category>Bertasbih</category><category>Bertasbih II</category><category>CARI</category><category>COMMODITIES</category><category>Cara</category><category>Cara Daftar Google Adsense Indonesia untuk menghasilkan uang dari internet</category><category>Cara Download Video Di YouTube Tanpa Software</category><category>Cara Investasi yang benar dan aman</category><category>Cara Memasang Iklan Adsense di Tengah Posting Secara Otomatis</category><category>Cara Memperbaiki Harddisk Tidak Terbaca Komputer</category><category>Cara Mendapatkan Uang dari Internet  seo</category><category>Cara Mendapatkan Uang dari Internet Bagi Anda yang Suka Bermain Game</category><category>Cara Mendapatkan Uang dari Internet Jika Anda Memahami Teknik SEO</category><category>Cara Mendapatkan Uang dari Internet Jika Anda Memiliki Modal Memadai</category><category>Cara Mendapatkan Uang dari Internet Jika Anda Punya Waktu Memadai</category><category>Cara Mendapatkan Uang dari Internet dengan Membuat Program/Software</category><category>Cara Mendapatkan Uang dari Internet dengan Toko Online</category><category>Cara Meningkatkan lalu lintas Pengunjung Blog / Website Dengan Cepat</category><category>Cara Mudah Membuat Akun PayPal Tanpa Kartu Kredit</category><category>Cara atasi Bluetooth Laptop tidak bekerja</category><category>Cara mengetahui spesifikasi komputer di linux</category><category>Cara mudah Download Video Di YouTube</category><category>DI INTERNET</category><category>DOWNLOAD SOAL-SOAL LATIHAN PRAKTEK EXCEL</category><category>Deposit</category><category>Deposito Syariah</category><category>Download ebook islami bagian 5</category><category>Download internet download accelator IrfanView</category><category>Dunia</category><category>Edensor</category><category>FUND</category><category>Forex dalam hukum Islam</category><category>HOBI YANG MENGHASILKAN UANG</category><category>Hukum Investasi  Menurut Syariat Islam</category><category>Hukum Tansaksi Valas dan Spekulasi Kurs Mata Uang</category><category>INDEXES</category><category>INVESTASI SYARIAH MENGUNTUNGKAN DUNIA DAN AKHIRAT</category><category>Instrumen Pasar Modal Syariah</category><category>Investasi dalam pandangan islam (syariah)</category><category>Jenis Investasi Berdasarkan Syariah</category><category>Join</category><category>Jual Beli dalam Syariah</category><category>KAMUS ISTILAH FOREX</category><category>Kenapa Kamu Harus Punya PayPal</category><category>Kumpulan Perintah Linux di Terminal Lengkap</category><category>MARKETIVA AGEA MUDAHNYA BERTRANSAKSI FOREX</category><category>MATA UANG</category><category>MENGENAL SAHAM (1)</category><category>MENGENAL SAHAM (2)</category><category>MENGUMPULKAM MODAL</category><category>MENYIAPKAN DANA HAJI</category><category>MONEY GAME</category><category>Materi</category><category>Membuat blog jadi 3 kolom</category><category>Mengetahui Kapasitas Memory</category><category>Menghasilkan Uang dari Internet dengan ClixSense</category><category>Menghasilkan Uang dari Internet dengan WHAFF!</category><category>Modul penyelesain masalah akuntansi dengan excel</category><category>Musik Klasik Bagi Bayi 1</category><category>Musik Klasik Bagi Bayi 2</category><category>Musik Klasik Bagi Bayi 3</category><category>Nama</category><category>Novel Ayat-Ayat Cinta</category><category>PELATIHAN PEMANFAATAN TIK DAN LITERASASI DIGITAL DI SMK N 8 SOLO KERJASAMA PUSTEKOM KEMDIKBUD DAN KOGTIK</category><category>PRODUK SIMPANAN DI BANK</category><category>Pasar Modal Syariah</category><category>Penyebab Blue Screen Windows dan Solusi Cara Mengatasinya</category><category>Processor</category><category>REKSA DANA (1)</category><category>REKSA DANA (2)</category><category>Resiko dalam Investasi</category><category>SAW</category><category>SENI BACA ALQURAN</category><category>SIKLUS FINANSIAL ANDA</category><category>STRATEGI FOREX</category><category>Secara</category><category>Singkat</category><category>Soal</category><category>Spekulasi di Pasar Modal</category><category>Strategy</category><category>TEMPAT</category><category>Tantangan Investasi Syariah di Pasar Modal</category><category>Tata Cara Jual Beli dalam Islam</category><category>Tinjauan Syariat Terhadap Jual-Beli Kredit</category><category>Tips Jitu Trading</category><category>Tips Memperbaiki Komputer Yang Macet Hang</category><category>Tradding</category><category>Transaksi</category><category>Tutorial</category><category>Tutorial Cara</category><category>UANG</category><category>Witdrawl</category><category>ahmed</category><category>aisyah</category><category>akm</category><category>alam</category><category>alquran</category><category>andrea</category><category>andrea hirata</category><category>ansav</category><category>antivirus</category><category>aqiqah</category><category>audio</category><category>avi</category><category>bagian</category><category>bepergian</category><category>berhijab</category><category>berjilbab</category><category>dan</category><category>dan Hardisk pada PC</category><category>dan Hardisk pada PC Mengetahui Kapasitas Memory</category><category>dan Referensi Jawaban</category><category>deedat</category><category>dogma</category><category>download converter</category><category>download lagu Letto - Lethologica (2009)</category><category>download laskar pelangi karya andrea hirata</category><category>download modul praktek SPSS</category><category>download setup alqur'an in word</category><category>download soal-soal pilihan Ganda TKJ (teknik Jaringan dan Komputer)</category><category>engkau</category><category>fiqih</category><category>flv</category><category>hamil</category><category>hirata</category><category>ilmu</category><category>iman</category><category>injil</category><category>islam</category><category>jual beli kredit dalam islam</category><category>karpov</category><category>karya andrea hirata</category><category>keajaiban</category><category>kristen</category><category>kristus</category><category>laskar pelangi 3</category><category>laut</category><category>lintas</category><category>maryamah</category><category>matematika</category><category>mati</category><category>menghalangi</category><category>menghasilkan uang dari internet dengan ProBux</category><category>misteri</category><category>mpeg</category><category>muallaf</category><category>muhammmad</category><category>nabawiyah</category><category>naskah</category><category>nusantar</category><category>orientasi</category><category>pcmav</category><category>pemuda</category><category>pendeta</category><category>penduduk</category><category>perdebatan</category><category>perjalanan</category><category>quran</category><category>rahasia</category><category>sang pemimpi</category><category>sedang</category><category>sejarah</category><category>semesta</category><category>sirah</category><category>smadav</category><category>surga</category><category>swaramuslim</category><category>tawakal</category><category>wanita</category><category>wav</category><category>wma</category><title>INVESTASI DEMI HIDUP YANG LEBIH BAIK</title><description>"Berbuat BAIK adalah investasi"-
"Kesehatan adalah investasi"-
"Ilmu adalah investasi"--

"BerInvestasilah yang bisa Menjamin Kebahagian Kehidupan Dunia Akhirat"</description><link>http://kitab-investasi.blogspot.com/</link><managingEditor>noreply@blogger.com (Unknown)</managingEditor><generator>Blogger</generator><openSearch:totalResults>742</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><language>en-us</language><itunes:explicit>yes</itunes:explicit><copyright>Bussines for you</copyright><itunes:keywords>reksadana,saham,forex,Bank,Tabungan,Forex,Pulsa,Elektronik,HP,Bisnis,Bussine</itunes:keywords><itunes:summary>Islamic canon law investment for calm old age, happy, Very Rich, Barokah if died entered heaven Reksadana , Saham, Bank, Tabungan, Forex, Pulsa Elektronik</itunes:summary><itunes:subtitle>Investasi syariah</itunes:subtitle><itunes:category text="Business"><itunes:category text="Investing"/></itunes:category><itunes:author>abang_cool</itunes:author><itunes:owner><itunes:email>nof_rizal07@yahoo.co.id</itunes:email><itunes:name>abang_cool</itunes:name></itunes:owner><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-5361175741707973809</guid><pubDate>Fri, 14 Aug 2026 00:50:06 +0000</pubDate><atom:updated>2026-08-14T10:17:18.742+07:00</atom:updated><title>Pemetaan Profil Growth Mindset Murid</title><description>&lt;!DOCTYPE html&gt;
&lt;html lang="id"&gt;
&lt;head&gt;
&lt;meta charset="UTF-8"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
&lt;title&gt;Pemetaan Growth Mindset Murid — SMKN 1 Tuntang&lt;/title&gt;
&lt;style&gt;
  :root{
    --navy:#152238;
    --navy-2:#1F3454;
    --steel:#3D5A80;
    --amber:#E8A33D;
    --amber-dark:#C97F1B;
    --paper:#F5F6F8;
    --card:#FFFFFF;
    --ink:#1B2333;
    --ink-soft:#5A6478;
    --line:#E1E4EA;
    --growth:#2E7D5B;
    --fixed:#B0532B;
    --radius:14px;
  }
  *{box-sizing:border-box;}
  body{
    margin:0;
    font-family:'Segoe UI',-apple-system,BlinkMacSystemFont,'Inter',Arial,sans-serif;
    background:var(--paper);
    color:var(--ink);
  }
  .topbar{
    background:linear-gradient(120deg,var(--navy) 0%,var(--navy-2) 100%);
    color:#fff;
    padding:36px 20px 90px;
    position:relative;
    overflow:hidden;
  }
  .topbar::after{
    content:"";
    position:absolute;
    right:-60px; top:-60px;
    width:220px; height:220px;
    border-radius:50%;
    background:radial-gradient(circle, rgba(232,163,61,0.25) 0%, rgba(232,163,61,0) 70%);
  }
  .topbar-inner{
    max-width:760px;
    margin:0 auto;
    position:relative;
    z-index:1;
  }
  .eyebrow{
    display:inline-block;
    font-size:12.5px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--amber);
    font-weight:700;
    border:1px solid rgba(232,163,61,0.5);
    padding:5px 12px;
    border-radius:999px;
    margin-bottom:16px;
  }
  h1{
    font-size:clamp(24px,4vw,32px);
    line-height:1.25;
    margin:0 0 10px;
    font-weight:700;
  }
  .lede{
    color:#C9D2E3;
    font-size:15px;
    line-height:1.6;
    max-width:640px;
    margin:0;
  }
  .wrap{
    max-width:760px;
    margin:-56px auto 60px;
    padding:0 20px;
    position:relative;
    z-index:2;
  }
  .card{
    background:var(--card);
    border-radius:var(--radius);
    box-shadow:0 12px 30px rgba(21,34,56,0.10);
    padding:28px;
    margin-bottom:20px;
    border:1px solid var(--line);
  }
  .card h2{
    font-size:17px;
    margin:0 0 4px;
    color:var(--navy);
  }
  .card .sub{
    font-size:13px;
    color:var(--ink-soft);
    margin:0 0 18px;
  }
  label.field{
    display:block;
    font-size:13.5px;
    font-weight:600;
    color:var(--navy);
    margin-bottom:6px;
  }
  .field-wrap{margin-bottom:16px;}
  input[type=text], select{
    width:100%;
    padding:11px 13px;
    border-radius:9px;
    border:1.5px solid var(--line);
    font-size:14.5px;
    font-family:inherit;
    color:var(--ink);
    background:#fcfcfd;
  }
  input[type=text]:focus, select:focus{
    outline:none;
    border-color:var(--steel);
    box-shadow:0 0 0 3px rgba(61,90,128,0.15);
  }
  .progress-shell{
    position:sticky;
    top:0;
    z-index:20;
    background:rgba(245,246,248,0.94);
    backdrop-filter:blur(6px);
    padding:12px 20px;
    border-bottom:1px solid var(--line);
  }
  .progress-inner{
    max-width:760px;
    margin:0 auto;
    display:flex;
    align-items:center;
    gap:12px;
  }
  .progress-track{
    flex:1;
    height:7px;
    border-radius:999px;
    background:#E4E7EE;
    overflow:hidden;
  }
  .progress-fill{
    height:100%;
    width:0%;
    background:linear-gradient(90deg,var(--steel),var(--amber));
    border-radius:999px;
    transition:width .25s ease;
  }
  .progress-label{
    font-size:12.5px;
    font-weight:700;
    color:var(--navy);
    white-space:nowrap;
    min-width:64px;
    text-align:right;
  }
  .section-tag{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-size:11.5px;
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--steel);
    margin-bottom:14px;
  }
  .section-tag .dot{
    width:7px;height:7px;border-radius:50%;
    background:var(--amber);
  }
  .qitem{
    padding:18px 0;
    border-top:1px solid var(--line);
  }
  .qitem:first-of-type{border-top:none; padding-top:4px;}
  .qnum{
    font-size:12px;
    font-weight:700;
    color:#fff;
    background:var(--steel);
    width:22px;height:22px;
    border-radius:6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-right:8px;
    flex-shrink:0;
  }
  .qtext{
    font-size:14.5px;
    line-height:1.55;
    color:var(--ink);
    display:flex;
    margin-bottom:12px;
  }
  .qtext span.txt{padding-top:1px;}
  .opts{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
  }
  @media (max-width:520px){
    .opts{grid-template-columns:repeat(2,1fr);}
  }
  .opt{
    position:relative;
  }
  .opt input{
    position:absolute;
    opacity:0;
    width:100%;height:100%;
    cursor:pointer;
    margin:0;
  }
  .opt .pill{
    display:block;
    text-align:center;
    font-size:12.5px;
    font-weight:600;
    padding:10px 6px;
    border-radius:9px;
    border:1.5px solid var(--line);
    color:var(--ink-soft);
    transition:all .15s ease;
    background:#fcfcfd;
  }
  .opt input:checked + .pill{
    background:var(--navy);
    border-color:var(--navy);
    color:#fff;
  }
  .opt input:focus-visible + .pill{
    box-shadow:0 0 0 3px rgba(61,90,128,0.35);
  }
  .opt .pill:hover{border-color:var(--steel); color:var(--navy);}
  .submit-bar{
    display:flex;
    flex-direction:column;
    gap:12px;
    align-items:center;
    text-align:center;
  }
  button#submitBtn{
    width:100%;
    padding:15px;
    border:none;
    border-radius:11px;
    background:var(--amber-dark);
    color:#fff;
    font-size:15.5px;
    font-weight:700;
    cursor:pointer;
    transition:background .15s ease, transform .1s ease;
  }
  button#submitBtn:hover{background:#B06F16;}
  button#submitBtn:active{transform:scale(0.99);}
  button#submitBtn:disabled{background:#C7CCD6; cursor:not-allowed;}
  .hint{font-size:12.5px; color:var(--ink-soft);}
  .warn{
    font-size:13px;
    color:var(--fixed);
    font-weight:600;
    margin-top:6px;
    display:none;
  }
  .footer-note{
    text-align:center;
    font-size:12px;
    color:var(--ink-soft);
    margin-top:24px;
  }
  #successScreen{
    display:none;
    text-align:center;
    padding:40px 20px 70px;
    max-width:560px;
    margin:0 auto;
  }
  #successScreen .check{
    width:64px;height:64px;
    border-radius:50%;
    background:var(--growth);
    color:#fff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin:0 auto 18px;
    font-size:30px;
  }
  #successScreen h2{color:var(--navy); font-size:22px; margin-bottom:8px;}
  #successScreen p{color:var(--ink-soft); font-size:14.5px; line-height:1.6;}
  #resultBox{
    margin-top:18px;
    background:var(--card);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:20px;
    text-align:left;
  }
  #resultBox .scoreRow{display:flex; justify-content:space-between; font-size:14px; padding:6px 0; border-bottom:1px dashed var(--line);}
  #resultBox .scoreRow:last-child{border-bottom:none;}
  .catBadge{
    display:inline-block;
    padding:3px 10px;
    border-radius:999px;
    font-size:12.5px;
    font-weight:700;
    color:#fff;
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div class="topbar"&gt;
  &lt;div class="topbar-inner"&gt;
    &lt;span class="eyebrow"&gt;SMKN 1 Tuntang · TJKT · Teknik Otomotif · Tata Busana&lt;/span&gt;
    &lt;h1&gt;Pemetaan Profil Growth Mindset Murid&lt;/h1&gt;
    &lt;p class="lede"&gt;Kuesioner ini diisi oleh Bapak/Ibu guru mata pelajaran untuk memetakan profil pola pikir (growth mindset) murid yang diajar, sebagai bagian dari siklus inkuiri kolaboratif identifikasi masalah pembelajaran di laboratorium/bengkel. Jawaban akan otomatis terkirim dan tersimpan.&lt;/p&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div class="progress-shell" id="progressShell"&gt;
  &lt;div class="progress-inner"&gt;
    &lt;div class="progress-track"&gt;&lt;div class="progress-fill" id="progressFill"&gt;&lt;/div&gt;&lt;/div&gt;
    &lt;div class="progress-label" id="progressLabel"&gt;0 / 25&lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;div class="wrap"&gt;

  &lt;form id="mindsetForm"&gt;

    &lt;div class="card" id="metaCard"&gt;
      &lt;h2&gt;Data Guru&lt;/h2&gt;
      &lt;p class="sub"&gt;Isi identitas Bapak/Ibu guru dan kelompok murid yang sedang dinilai.&lt;/p&gt;

      &lt;div class="field-wrap"&gt;
        &lt;label class="field"&gt;Nama Guru&lt;/label&gt;
        &lt;input type="text" id="namaGuru" required placeholder="Contoh: Nofrizal, S.Pd."&gt;
      &lt;/div&gt;

      &lt;div class="field-wrap"&gt;
        &lt;label class="field"&gt;Mata Pelajaran yang Diampu&lt;/label&gt;
        &lt;input type="text" id="mapel" required placeholder="Contoh: Produktif TJKT"&gt;
      &lt;/div&gt;

      &lt;div class="field-wrap" style="margin-bottom:0;"&gt;
        &lt;label class="field"&gt;Jurusan&lt;/label&gt;
        &lt;select id="jurusan" required&gt;
          &lt;option value="" disabled selected&gt;Pilih jurusan&lt;/option&gt;
          &lt;option value="TJKT"&gt;Teknik Jaringan Komputer dan Telekomunikasi (TJKT)&lt;/option&gt;
          &lt;option value="Teknik Otomotif"&gt;Teknik dan Bisnis Sepeda Motor (Teknik Otomotif)&lt;/option&gt;
          &lt;option value="Tata Busana"&gt;Tata Busana&lt;/option&gt;
          &lt;option value="Tata Busana"&gt;Semua Jurusan&lt;/option&gt;
        &lt;/select&gt;
      &lt;/div&gt;

      &lt;div class="field-wrap" style="margin-bottom:0; margin-top:16px;"&gt;
        &lt;label class="field"&gt;Jumlah Murid yang Dinilai (perkiraan, semua rombel di jurusan ini)&lt;/label&gt;
        &lt;input type="text" id="jumlahMurid" placeholder="Contoh: 96 murid"&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div id="questionsContainer"&gt;&lt;/div&gt;

    &lt;div class="card"&gt;
      &lt;div class="submit-bar"&gt;
        &lt;button type="submit" id="submitBtn"&gt;Kirim Jawaban&lt;/button&gt;
        &lt;div class="warn" id="warnMsg"&gt;Mohon lengkapi semua data dan jawab seluruh 25 pernyataan sebelum mengirim.&lt;/div&gt;
        &lt;div class="hint"&gt;Jawaban dikirim langsung ke rekap Google Sheet sekolah.&lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

  &lt;/form&gt;

  &lt;div id="successScreen"&gt;
    &lt;div class="check"&gt;✓&lt;/div&gt;
    &lt;h2&gt;Jawaban Terkirim&lt;/h2&gt;
    &lt;p&gt;Terima kasih, Bapak/Ibu Guru. Pemetaan profil growth mindset murid yang diampu telah tercatat dan akan digunakan dalam siklus inkuiri kolaboratif SMKN 1 Tuntang.&lt;/p&gt;
    &lt;div id="resultBox"&gt;&lt;/div&gt;
  &lt;/div&gt;

  &lt;p class="footer-note"&gt;Presentasi Siklus Inkuiri Kolaboratif — SMKN 1 Tuntang&lt;/p&gt;
&lt;/div&gt;

&lt;script&gt;
/* ======================================================
   KONFIGURASI PENGIRIMAN DATA
   Ganti WEB_APP_URL dengan URL Web App Google Apps Script
   yang sudah di-deploy dan terhubung ke Google Sheet tujuan.
   Lihat panduan "Apps Script" yang disertakan terpisah.
====================================================== */
const WEB_APP_URL = "https://script.google.com/macros/s/AKfycbwntViLE98jkmp-xGIHAK8u13gdKyR4DY8dGMVfz77m9pqBHra7cc8bCOqlsmX3MtQadg/exec";

// type: "growth" -&gt; setuju mencerminkan growth mindset (skor SS=3..STS=0)
// type: "fixed"  -&gt; setuju mencerminkan fixed mindset (skor SS=0..STS=3)
const QUESTIONS = [
  { section:"Keyakinan tentang Kemampuan", items:[
    {t:"Murid yang saya ajar meyakini bahwa kemampuan mereka di mata pelajaran/praktik ini bisa terus berkembang melalui latihan.", type:"growth"},
    {t:"Murid yang saya ajar menganggap kemampuan praktiknya sudah menetap dan sulit untuk diubah.", type:"fixed"},
    {t:"Murid saya percaya bahwa kerja keras lebih menentukan keberhasilan dibanding bakat bawaan.", type:"growth"},
    {t:"Murid saya percaya hanya murid yang berbakat saja yang bisa unggul dalam praktik di jurusan ini.", type:"fixed"},
    {t:"Murid saya cepat puas dengan kemampuan yang sudah dimiliki dan enggan mempelajari hal baru.", type:"fixed"},
  ]},
  { section:"Sikap terhadap Tantangan &amp; Kegigihan", items:[
    {t:"Ketika menghadapi materi atau praktik yang sulit, murid saya cenderung terus mencoba hingga berhasil.", type:"growth"},
    {t:"Murid saya mudah menyerah ketika mengerjakan tugas praktik yang menantang.", type:"fixed"},
    {t:"Murid saya menganggap tantangan dalam tugas praktik sebagai kesempatan untuk berkembang.", type:"growth"},
    {t:"Murid saya menghindari tugas atau proyek praktik yang dirasa terlalu menantang.", type:"fixed"},
    {t:"Murid saya tetap berusaha semaksimal mungkin meski keterbatasan alat/bahan praktik di laboratorium atau bengkel.", type:"growth"},
    {t:"Murid saya mudah frustrasi dan berhenti berusaha ketika alat atau bahan praktik terbatas.", type:"fixed"},
  ]},
  { section:"Respon terhadap Kegagalan &amp; Kritik", items:[
    {t:"Murid saya menganggap kesalahan dalam praktik sebagai bagian wajar dari proses belajar.", type:"growth"},
    {t:"Murid saya merasa malu dan menghindar setelah melakukan kesalahan di depan teman-temannya.", type:"fixed"},
    {t:"Murid saya menunjukkan semangat yang lebih tinggi setelah mendapat kritik atau masukan dari saya.", type:"growth"},
    {t:"Murid saya bersikap defensif atau tidak senang saat menerima kritik terhadap hasil kerjanya.", type:"fixed"},
    {t:"Murid saya mau mencoba metode atau pendekatan baru saat cara sebelumnya gagal.", type:"growth"},
    {t:"Murid saya enggan mencoba cara baru karena takut gagal lagi.", type:"fixed"},
  ]},
  { section:"Rasa Ingin Tahu &amp; Motivasi Belajar", items:[
    {t:"Murid saya aktif bertanya ketika belum memahami suatu topik atau teknik praktik.", type:"growth"},
    {t:"Murid saya cenderung diam meski belum paham, karena takut dianggap tidak mampu.", type:"fixed"},
    {t:"Murid saya menunjukkan rasa ingin tahu terhadap teknik, alat, atau tren baru di bidang jurusannya.", type:"growth"},
    {t:"Secara umum, murid yang saya ajar memiliki motivasi belajar yang tinggi untuk berkembang di bidang keahliannya.", type:"growth"},
  ]},
  { section:"Kolaborasi &amp; Perkembangan Keterampilan", items:[
    {t:"Murid saya saling membantu dan berdiskusi dengan teman saat menghadapi kesulitan praktik.", type:"growth"},
    {t:"Murid saya lebih memilih bekerja sendiri dan enggan berkolaborasi saat praktik atau proyek kelompok.", type:"fixed"},
    {t:"Murid saya menunjukkan peningkatan keterampilan praktik dari waktu ke waktu selama saya ajar.", type:"growth"},
    {t:"Murid saya menunjukkan keterampilan praktik yang stagnan meski sudah diberi banyak latihan dan bimbingan.", type:"fixed"},
  ]},
];

const OPTIONS = [
  {label:"Sangat Setuju", key:"SS"},
  {label:"Setuju", key:"S"},
  {label:"Tidak Setuju", key:"TS"},
  {label:"Sangat Tidak Setuju", key:"STS"},
];

function scoreFor(type, key){
  const growthScale = {SS:3,S:2,TS:1,STS:0};
  const fixedScale  = {SS:0,S:1,TS:2,STS:3};
  return type === "growth" ? growthScale[key] : fixedScale[key];
}

const container = document.getElementById("questionsContainer");
let qCounter = 0;
let totalQuestions = 0;
QUESTIONS.forEach(sec =&gt; totalQuestions += sec.items.length);

QUESTIONS.forEach((sec) =&gt; {
  const card = document.createElement("div");
  card.className = "card";
  const tag = document.createElement("div");
  tag.className = "section-tag";
  tag.innerHTML = '&lt;span class="dot"&gt;&lt;/span&gt;' + sec.section;
  card.appendChild(tag);

  sec.items.forEach((item) =&gt; {
    qCounter++;
    const qid = "q" + qCounter;
    const qDiv = document.createElement("div");
    qDiv.className = "qitem";

    const qText = document.createElement("div");
    qText.className = "qtext";
    qText.innerHTML = '&lt;span class="qnum"&gt;' + qCounter + '&lt;/span&gt;&lt;span class="txt"&gt;' + item.t + '&lt;/span&gt;';
    qDiv.appendChild(qText);

    const opts = document.createElement("div");
    opts.className = "opts";
    OPTIONS.forEach((o) =&gt; {
      const optDiv = document.createElement("label");
      optDiv.className = "opt";
      optDiv.innerHTML =
        '&lt;input type="radio" name="' + qid + '" value="' + o.key + '" data-type="' + item.type + '" data-text="' + item.t.replace(/"/g,'&amp;quot;') + '" required&gt;' +
        '&lt;span class="pill"&gt;' + o.label + '&lt;/span&gt;';
      opts.appendChild(optDiv);
    });
    qDiv.appendChild(opts);
    card.appendChild(qDiv);
  });

  container.appendChild(card);
});

document.getElementById("progressLabel").textContent = "0 / " + totalQuestions;

function updateProgress(){
  const answered = new Set();
  document.querySelectorAll('#questionsContainer input[type=radio]:checked').forEach(r =&gt; answered.add(r.name));
  const n = answered.size;
  document.getElementById("progressLabel").textContent = n + " / " + totalQuestions;
  document.getElementById("progressFill").style.width = (n / totalQuestions * 100) + "%";
}
container.addEventListener("change", updateProgress);

function categorize(total, maxScore){
  const f1 = Math.round(maxScore * (20/60));
  const f2 = Math.round(maxScore * (33/60));
  const f3 = Math.round(maxScore * (44/60));
  if(total &lt;= f1) return {label:"Fixed Mindset (F)", color:"#B0532B"};
  if(total &lt;= f2) return {label:"Fixed-Growth (FG)", color:"#C97F1B"};
  if(total &lt;= f3) return {label:"Growth-Fixed (GF)", color:"#3D5A80"};
  return {label:"Growth Mindset (G)", color:"#2E7D5B"};
}

document.getElementById("mindsetForm").addEventListener("submit", function(e){
  e.preventDefault();

  const namaGuru = document.getElementById("namaGuru").value.trim();
  const mapel = document.getElementById("mapel").value.trim();
  const jurusan = document.getElementById("jurusan").value;
  const jumlahMurid = document.getElementById("jumlahMurid").value.trim();

  const checked = document.querySelectorAll('#questionsContainer input[type=radio]:checked');
  const warnMsg = document.getElementById("warnMsg");

  if(!namaGuru || !mapel || !jurusan || checked.length &lt; totalQuestions){
    warnMsg.style.display = "block";
    window.scrollTo({top:0, behavior:"smooth"});
    return;
  }
  warnMsg.style.display = "none";

  let total = 0;
  const answers = {};
  checked.forEach((r) =&gt; {
    const s = scoreFor(r.dataset.type, r.value);
    total += s;
    answers[r.name + "_jawaban"] = r.value;
    answers[r.name + "_skor"] = s;
  });
  const maxScore = totalQuestions * 3;
  const cat = categorize(total, maxScore);

  const payload = Object.assign({
    timestamp: new Date().toISOString(),
    namaGuru: namaGuru,
    mapel: mapel,
    jurusan: jurusan,
    jumlahMurid: jumlahMurid,
    totalSkor: total,
    skorMaksimal: maxScore,
    kategori: cat.label,
  }, answers);

  const submitBtn = document.getElementById("submitBtn");
  submitBtn.disabled = true;
  submitBtn.textContent = "Mengirim...";

  const formData = new URLSearchParams();
  Object.keys(payload).forEach(k =&gt; formData.append(k, payload[k]));

  fetch(WEB_APP_URL, {
    method: "POST",
    mode: "no-cors",
    body: formData
  }).catch(function(err){
    console.warn("Pengiriman ke Google Sheet gagal atau tidak dapat dikonfirmasi (mode no-cors):", err);
  }).finally(function(){
    document.getElementById("mindsetForm").style.display = "none";
    document.getElementById("progressShell").style.display = "none";
    const successScreen = document.getElementById("successScreen");
    successScreen.style.display = "block";
    document.getElementById("resultBox").innerHTML =
      '&lt;div class="scoreRow"&gt;&lt;span&gt;Guru&lt;/span&gt;&lt;b&gt;' + namaGuru + '&lt;/b&gt;&lt;/div&gt;' +
      '&lt;div class="scoreRow"&gt;&lt;span&gt;Jurusan&lt;/span&gt;&lt;b&gt;' + jurusan + '&lt;/b&gt;&lt;/div&gt;' +
      '&lt;div class="scoreRow"&gt;&lt;span&gt;Total Skor&lt;/span&gt;&lt;b&gt;' + total + ' / ' + maxScore + '&lt;/b&gt;&lt;/div&gt;' +
      '&lt;div class="scoreRow"&gt;&lt;span&gt;Kategori Mindset&lt;/span&gt;&lt;span class="catBadge" style="background:' + cat.color + '"&gt;' + cat.label + '&lt;/span&gt;&lt;/div&gt;';
    window.scrollTo({top:0, behavior:"smooth"});
  });
});
&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</description><link>http://kitab-investasi.blogspot.com/2026/08/pemetaan-growth-mindset-murid-smkn-1.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-575736118791912939</guid><pubDate>Wed, 12 Aug 2026 02:46:19 +0000</pubDate><atom:updated>2026-08-12T10:09:55.509+07:00</atom:updated><title>Kaidah Kebahasaan Teks Prosedur (Bagian 2) &amp; Menyusun Teks Prosedur</title><description>&lt;style&gt;
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&amp;family=Source+Sans+3:wght@400;500;600;700&amp;family=IBM+Plex+Mono:wght@400;500;600&amp;display=swap');
.epb{
  --blueprint:#0F2A3D;
  --blueprint-deep:#0A1E2C;
  --panel:#4A2E12;
  --paper:#F3F0E6;
  --ink:#132029;
  --amber:#F5A623;
  --amber-deep:#C97F12;
  --mint:#6EC6CA;
  --line:rgba(234,242,245,0.16);
  --off-white:#EAF2F5;
  --muted:#9FB4C2;
}
.epb *{box-sizing:border-box;}
.epb{scroll-behavior:smooth; background:#0A1F2E;}
.epb{
  margin:0;
  position:relative;
  overflow:hidden;
  background:var(--blueprint);
  color:var(--off-white);
  font-family:'Source Sans 3',sans-serif;
  line-height:1.65;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 34px 34px;
}
.epb h1, .epb h2, .epb h3, .epb h4{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:0.02em; margin:0 0 0.5em;}
.epb .mono{font-family:'IBM Plex Mono',monospace;}
.epb a{color:var(--amber);}
.epb .crop{position:absolute; width:22px; height:22px; z-index:5; opacity:.55; pointer-events:none;}
.epb .crop::before, .epb .crop::after{content:"";position:absolute;background:var(--mint);}
.epb .crop::before{width:100%;height:1px;top:50%;left:0;}
.epb .crop::after{width:1px;height:100%;left:50%;top:0;}
.epb .crop.tl{top:14px;left:14px;}
.epb .crop.tr{top:14px;right:14px;}
.epb .crop.bl{bottom:14px;left:14px;}
.epb .crop.br{bottom:14px;right:14px;}
.epb header.cover{
  position:relative;
  padding:40px 24px 36px;
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.epb .doc-code{font-family:'IBM Plex Mono',monospace; color:var(--amber); letter-spacing:0.15em; font-size:0.78rem; text-transform:uppercase; margin-bottom:18px; display:flex; gap:10px; align-items:center;}
.epb .doc-code::before{content:"◆"; color:var(--amber);}
.epb .cover h1{font-size:clamp(1.6rem,7vw,2.5rem); color:var(--off-white); max-width:16ch; line-height:1.05;}
.epb .cover .subtitle{color:var(--muted); font-size:1.05rem; max-width:60ch; margin-top:14px;}
.epb .meta-strip{
  margin-top:38px; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  border-top:1px dashed var(--line); border-bottom:1px dashed var(--line);
}
.epb .meta-strip div{padding:14px 16px; border-right:1px dashed var(--line);}
.epb .meta-strip div:last-child{border-right:none;}
.epb .meta-strip .k{font-family:'IBM Plex Mono',monospace; font-size:0.68rem; color:var(--amber); text-transform:uppercase; letter-spacing:0.1em;}
.epb .meta-strip .v{font-size:0.98rem; color:var(--off-white); margin-top:4px; font-weight:600;}
.epb .stamp{
  position:absolute; top:40px; right:20px; width:104px; height:104px;
  border:2.5px solid var(--amber); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  transform:rotate(-11deg);
  color:var(--amber); font-family:'IBM Plex Mono',monospace;
  text-align:center; font-size:0.62rem; letter-spacing:0.08em; text-transform:uppercase;
  opacity:0.9;
}
.epb .stamp .ring{position:absolute; inset:8px; border:1px dashed var(--amber); border-radius:50%;}
.epb .stamp b{display:block; font-family:'Oswald',sans-serif; font-size:1.05rem; letter-spacing:0.06em; margin-top:4px;}

@media (max-width:760px){.epb .stamp{display:none;}
.epb }


.epb main{max-width:920px; margin:0 auto; padding:0 20px 60px;}
.epb .section{padding-top:64px;}
.epb .eyebrow{font-family:'IBM Plex Mono',monospace; color:var(--amber); font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:10px; display:flex; align-items:center; gap:10px;}
.epb .eyebrow::after{content:""; flex:1; height:1px; background:var(--line);}
.epb h2.section-title{font-size:1.7rem; color:var(--off-white);}
.epb p{color:#DDE7EC;}
.epb .lead{color:var(--muted); font-size:1.02rem; max-width:72ch;}
.epb .panel{
  background:var(--panel); border:1px solid var(--line); border-radius:2px;
  padding:26px 28px; margin:22px 0;
}
.epb .panel.tp{border-left:4px solid var(--mint);}
.epb .panel.warn{border-left:4px solid var(--amber);}
.epb .tp-box{display:grid; gap:14px; margin-top:18px;}
.epb .tp-item{display:flex; gap:14px; align-items:flex-start;}
.epb .tp-item .idx{font-family:'IBM Plex Mono',monospace; color:var(--amber); font-weight:600; min-width:34px;}
.epb .flow{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; margin-top:20px;}
.epb .flow .step{background:var(--blueprint-deep); border:1px solid var(--line); padding:18px; position:relative;}
.epb .flow .step .tag{font-family:'IBM Plex Mono',monospace; color:var(--amber); font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase;}
.epb .flow .step h4{font-size:1rem; margin-top:8px; color:var(--off-white);}
.epb .flow .step .time{position:absolute; top:16px; right:16px; font-family:'IBM Plex Mono',monospace; font-size:0.7rem; color:var(--amber);}
.epb .grid-3{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; margin-top:16px;}
.epb .card{background:var(--blueprint-deep); border:1px solid var(--line); padding:18px;}
.epb .card h4{color:var(--amber); font-size:0.95rem;}
.epb .criteria{display:grid; gap:16px; margin-top:20px;}
.epb .crit{
  background:var(--blueprint-deep); border:1px solid var(--line);
  display:grid; grid-template-columns:64px 1fr; gap:0;
}
.epb .crit .num{
  background:var(--amber); color:var(--blueprint-deep); font-family:'IBM Plex Mono',monospace;
  font-weight:700; display:flex; align-items:center; justify-content:center; font-size:1.05rem;
}
.epb .crit .body{padding:18px 20px;}
.epb .crit h4{color:var(--off-white); font-size:1.02rem; margin-bottom:6px;}
.epb .crit .q{margin-top:10px; padding-top:10px; border-top:1px dashed var(--line); font-family:'IBM Plex Mono',monospace; font-size:0.86rem; color:var(--amber);}
.epb .timeline{margin-top:24px; position:relative; padding-left:34px;}
.epb .timeline::before{content:""; position:absolute; left:11px; top:6px; bottom:6px; width:2px; background:var(--line);}
.epb .tl-item{position:relative; padding-bottom:26px;}
.epb .tl-item:last-child{padding-bottom:0;}
.epb .tl-item::before{content:""; position:absolute; left:-34px; top:2px; width:22px; height:22px; border-radius:50%; background:var(--blueprint); border:2px solid var(--amber);}
.epb .tl-item h4{color:var(--off-white); font-size:1rem; margin-bottom:4px;}
.epb .doc-sample{
  background:var(--paper); color:var(--ink); border-radius:2px; padding:0; margin-top:22px;
  box-shadow:0 20px 45px rgba(0,0,0,0.35);
}
.epb .doc-sample .doc-head{background:var(--ink); color:var(--paper); padding:12px 22px; font-family:'IBM Plex Mono',monospace; font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; display:flex; justify-content:space-between;}
.epb .doc-sample .doc-body{padding:26px 28px 30px;}
.epb .doc-sample h3{font-family:'Oswald',sans-serif; color:var(--ink); font-size:1.25rem; text-transform:none; letter-spacing:0;}
.epb .doc-sample ol{padding-left:22px;}
.epb .doc-sample li{margin-bottom:9px;}
.epb .flag{
  display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:0.7rem; font-weight:600;
  background:#D94E2A; color:#fff; padding:1px 7px; border-radius:2px; margin-left:6px; vertical-align:middle;
}
.epb .doc-sample .note-margin{margin-top:6px; font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:#8A3A1F; padding-left:8px; border-left:2px solid #D94E2A;}
.epb .legend{display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:16px;}
.epb .legend span{font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:var(--muted); display:flex; align-items:center; gap:8px;}
.epb .legend .dot{width:10px; height:10px; border-radius:50%; display:inline-block;}
.epb table{width:100%; border-collapse:collapse; margin-top:18px; font-size:0.94rem;}
.epb th, .epb td{border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top;}
.epb th{background:var(--blueprint-deep); font-family:'IBM Plex Mono',monospace; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--amber);}
.epb .summary-box{
  border:1px solid var(--amber); background:linear-gradient(180deg, rgba(245,166,35,0.08), transparent);
  padding:24px 26px; margin-top:24px;
}
.epb .summary-box ul{margin:10px 0 0; padding-left:20px;}
.epb .summary-box li{margin-bottom:8px;}
.epb .task-header{
  background:var(--amber); color:var(--blueprint-deep); padding:22px 26px; margin-top:20px;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
}
.epb .task-header h2{color:var(--blueprint-deep); font-size:1.4rem; margin:0;}
.epb .task-header .badge{font-family:'IBM Plex Mono',monospace; font-size:0.8rem; background:var(--blueprint-deep); color:var(--amber); padding:6px 12px; border-radius:2px;}
.epb .steps-num{counter-reset:step; margin-top:18px; list-style:none; padding:0;}
.epb .steps-num li{counter-increment:step; position:relative; padding-left:44px; margin-bottom:16px;}
.epb .steps-num li::before{content:counter(step,decimal-leading-zero); position:absolute; left:0; top:0; font-family:'IBM Plex Mono',monospace; color:var(--amber); font-weight:600; font-size:0.95rem; border:1px solid var(--amber); width:30px; height:26px; display:flex; align-items:center; justify-content:center;}
.epb .rubric-scale{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:16px;}
.epb .rubric-scale div{background:var(--blueprint-deep); border:1px solid var(--line); padding:12px; text-align:center;}
.epb .rubric-scale .n{font-family:'IBM Plex Mono',monospace; color:var(--amber); font-size:1.3rem; font-weight:700;}
.epb .rubric-scale .l{font-size:0.78rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.05em;}
.epb .notebook{
  background:repeating-linear-gradient(var(--paper), var(--paper) 33px, #D8D3C2 34px);
  color:var(--ink); border-radius:2px; padding:28px 30px; margin-top:20px; position:relative;
  box-shadow:0 20px 45px rgba(0,0,0,0.35);
}
.epb .notebook::before{content:""; position:absolute; left:46px; top:0; bottom:0; width:1.5px; background:#C0453A; opacity:0.5;}
.epb .notebook .content{padding-left:24px;}
.epb .notebook h3{color:var(--ink); font-family:'Oswald',sans-serif; letter-spacing:0.02em; margin-bottom:10px;}
.epb .notebook ul{padding-left:20px;}
.epb footer{border-top:1px solid var(--line); padding:24px 20px 40px; color:var(--muted); font-size:0.86rem;}
.epb footer .doc-code{margin-bottom:10px;}
.epb .divider-dash{border:none; border-top:1px dashed var(--line); margin:44px 0 0;}
.epb::selection{background:var(--amber); color:var(--blueprint-deep);}

&lt;/style&gt;
&lt;div class="epb"&gt;
&lt;div class="crop tl"&gt;&lt;/div&gt;&lt;div class="crop tr"&gt;&lt;/div&gt;&lt;div class="crop bl"&gt;&lt;/div&gt;&lt;div class="crop br"&gt;&lt;/div&gt;

&lt;header class="cover"&gt;
  &lt;div class="stamp"&gt;&lt;div class="ring"&gt;&lt;/div&gt;&lt;span&gt;Modul Ajar&lt;b&gt;Terverifikasi&lt;/b&gt;Fase F&lt;/span&gt;&lt;/div&gt;
  &lt;div class="doc-code"&gt;DOK/B.INDO/XI/PROSEDUR-KAIDAH-2 — 3 JP · 1 Pertemuan&lt;/div&gt;
  &lt;h1&gt;Kaidah Kebahasaan Teks Prosedur (Bagian 2) &amp;amp; Menyusun Teks Prosedur&lt;/h1&gt;
  &lt;p class="subtitle"&gt;Materi Bahasa Indonesia Kelas XI SMK/MAK — melatih murid menganalisis kalimat perintah, kata teknis, dan penanda wacana, serta menyusun teks prosedur secara logis dan sistematis.&lt;/p&gt;

  &lt;div class="meta-strip"&gt;
    &lt;div&gt;&lt;div class="k"&gt;Mata Pelajaran&lt;/div&gt;&lt;div class="v"&gt;Bahasa Indonesia&lt;/div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;div class="k"&gt;Jenjang&lt;/div&gt;&lt;div class="v"&gt;SMK/MAK — Kelas XI&lt;/div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;div class="k"&gt;Elemen&lt;/div&gt;&lt;div class="v"&gt;Membaca, Memirsa &amp;amp; Menulis&lt;/div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;div class="k"&gt;Alokasi Waktu&lt;/div&gt;&lt;div class="v"&gt;3 JP (3 × 45 menit)&lt;/div&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/header&gt;

&lt;main&gt;

  &lt;!-- ============ TUJUAN PEMBELAJARAN ============ --&gt;
  &lt;section class="section" id="tujuan"&gt;
    &lt;div class="eyebrow"&gt;01 — Identitas Pembelajaran&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Capaian &amp;amp; Tujuan Pembelajaran&lt;/h2&gt;

    &lt;div class="panel tp"&gt;
      &lt;div class="eyebrow" style="margin-bottom:6px;"&gt;Capaian Pembelajaran (Elemen Membaca–Memirsa &amp;amp; Menulis)&lt;/div&gt;
      &lt;p&gt;Murid mampu menganalisis kaidah kebahasaan pada berbagai jenis teks, termasuk teks prosedur, serta menulis teks prosedur secara logis dan sistematis dengan memperhatikan struktur dan kaidah kebahasaan yang tepat.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class="panel"&gt;
      &lt;div class="eyebrow" style="margin-bottom:6px;"&gt;Tujuan Pembelajaran&lt;/div&gt;
      &lt;p style="font-size:1.05rem; color:var(--off-white); font-weight:600;"&gt;Murid mampu menganalisis penggunaan kalimat perintah, kata teknis, dan penanda wacana, serta menyusun teks prosedur secara logis dan sistematis.&lt;/p&gt;

      &lt;div class="tp-box"&gt;
        &lt;div class="tp-item"&gt;&lt;span class="idx mono"&gt;TP.1&lt;/span&gt;&lt;p&gt;Murid dapat menganalisis variasi bentuk dan fungsi kalimat perintah dalam teks prosedur.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="tp-item"&gt;&lt;span class="idx mono"&gt;TP.2&lt;/span&gt;&lt;p&gt;Murid dapat mengidentifikasi kata teknis dalam teks prosedur beserta fungsinya.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="tp-item"&gt;&lt;span class="idx mono"&gt;TP.3&lt;/span&gt;&lt;p&gt;Murid dapat mengidentifikasi penanda wacana dan menjelaskan fungsinya dalam menjaga keterpaduan teks.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="tp-item"&gt;&lt;span class="idx mono"&gt;TP.4&lt;/span&gt;&lt;p&gt;Murid dapat menyusun teks prosedur baru secara logis dan sistematis dengan menerapkan ketiga kaidah kebahasaan tersebut.&lt;/p&gt;&lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class="eyebrow" style="margin-top:26px; margin-bottom:6px;"&gt;8 Profil Lulusan yang Dikembangkan&lt;/div&gt;
    &lt;div class="grid-3"&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Penalaran Kritis&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Menganalisis fungsi kalimat perintah, kata teknis, dan penanda wacana dalam teks.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Kreativitas&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Menyusun teks prosedur baru secara orisinal dan sistematis.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Kolaborasi&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Bekerja sama dalam kelompok saat menyusun teks prosedur.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Komunikasi&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Menyampaikan hasil analisis dan teks prosedur yang disusun secara jelas.&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI A: RECAP BAGIAN 1 ============ --&gt;
  &lt;section class="section" id="materi-a"&gt;
    &lt;div class="eyebrow"&gt;02 — Materi Inti A&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Mengingat Kembali Kaidah Kebahasaan Teks Prosedur (Bagian 1)&lt;/h2&gt;
    &lt;p class="lead"&gt;Pada pertemuan sebelumnya, murid telah mempelajari empat ciri kebahasaan teks prosedur. Materi hari ini melanjutkan dengan tiga ciri kebahasaan tambahan, sekaligus mempelajari cara menyusun teks prosedur.&lt;/p&gt;

    &lt;div class="grid-3"&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Kalimat Imperatif&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Mengarahkan pembaca melakukan tindakan.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Kalimat Deklaratif&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Menyampaikan fakta atau informasi pendukung.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Kalimat Persuasif&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Membujuk pembaca mengikuti langkah dengan sungguh-sungguh.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Konjungsi Temporal&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Menandai urutan waktu antarlangkah.&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI B: KALIMAT PERINTAH ============ --&gt;
  &lt;section class="section" id="materi-b"&gt;
    &lt;div class="eyebrow"&gt;03 — Materi Inti B&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Kalimat Perintah dalam Teks Prosedur&lt;/h2&gt;
    &lt;p class="lead"&gt;Kalimat perintah merupakan bentuk khusus kalimat imperatif yang memiliki beberapa variasi sesuai maksud penyampaiannya.&lt;/p&gt;

    &lt;div class="criteria"&gt;
      &lt;div class="crit"&gt;
        &lt;div class="num mono"&gt;1&lt;/div&gt;
        &lt;div class="body"&gt;
          &lt;h4&gt;Perintah Biasa&lt;/h4&gt;
          &lt;p style="margin:0;"&gt;Mengarahkan pembaca melakukan tindakan secara langsung.&lt;/p&gt;
          &lt;div class="q"&gt;Contoh: "Sambungkan kabel ke sumber listrik."&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="crit"&gt;
        &lt;div class="num mono"&gt;2&lt;/div&gt;
        &lt;div class="body"&gt;
          &lt;h4&gt;Perintah Larangan&lt;/h4&gt;
          &lt;p style="margin:0;"&gt;Melarang pembaca melakukan suatu tindakan tertentu.&lt;/p&gt;
          &lt;div class="q"&gt;Contoh: "Jangan sentuh permukaan yang masih panas."&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="crit"&gt;
        &lt;div class="num mono"&gt;3&lt;/div&gt;
        &lt;div class="body"&gt;
          &lt;h4&gt;Perintah Ajakan&lt;/h4&gt;
          &lt;p style="margin:0;"&gt;Mengajak pembaca melakukan tindakan dengan nada lebih halus.&lt;/p&gt;
          &lt;div class="q"&gt;Contoh: "Mari kita mulai dengan menyiapkan alat terlebih dahulu."&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="crit"&gt;
        &lt;div class="num mono"&gt;4&lt;/div&gt;
        &lt;div class="body"&gt;
          &lt;h4&gt;Perintah Permintaan&lt;/h4&gt;
          &lt;p style="margin:0;"&gt;Meminta pembaca melakukan sesuatu dengan nada sopan.&lt;/p&gt;
          &lt;div class="q"&gt;Contoh: "Tolong perhatikan indikator suhu sebelum melanjutkan."&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI C: KATA TEKNIS ============ --&gt;
  &lt;section class="section" id="materi-c"&gt;
    &lt;div class="eyebrow"&gt;04 — Materi Inti C&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Kata Teknis dalam Teks Prosedur&lt;/h2&gt;

    &lt;div class="panel"&gt;
      &lt;p&gt;&lt;b style="color:var(--off-white);"&gt;Kata teknis&lt;/b&gt; adalah istilah khusus yang digunakan dalam bidang keahlian tertentu, jarang dipakai dalam percakapan sehari-hari, dan berfungsi memberikan ketepatan serta presisi pada instruksi yang disampaikan.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class="grid-3"&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Bidang Otomotif&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;karburator, velg, pentil, kampas rem&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Bidang Tata Boga&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;mengocok, memfermentasi, mengukus, marinasi&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Bidang Teknik Komputer&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;partisi, ekstensi file, restart, defrag&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
    &lt;p class="lead" style="margin-top:14px;"&gt;&lt;b style="color:var(--off-white);"&gt;Fungsi:&lt;/b&gt; memastikan pembaca yang memahami bidang tersebut dapat mengikuti instruksi secara akurat tanpa salah tafsir.&lt;/p&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI D: PENANDA WACANA ============ --&gt;
  &lt;section class="section" id="materi-d"&gt;
    &lt;div class="eyebrow"&gt;05 — Materi Inti D&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Penanda Wacana dalam Teks Prosedur&lt;/h2&gt;

    &lt;div class="panel"&gt;
      &lt;p&gt;&lt;b style="color:var(--off-white);"&gt;Penanda wacana&lt;/b&gt; adalah kata atau frasa yang mengatur hubungan antarkalimat atau antarparagraf dalam sebuah teks, sehingga teks menjadi padu dan mudah dipahami. Penanda wacana tidak hanya menunjukkan urutan waktu, tetapi juga penambahan, penekanan, dan simpulan.&lt;/p&gt;
    &lt;/div&gt;

    &lt;table&gt;
      &lt;tr&gt;&lt;th style="width:24%;"&gt;Jenis Penanda Wacana&lt;/th&gt;&lt;th style="width:38%;"&gt;Contoh Kata/Frasa&lt;/th&gt;&lt;th&gt;Fungsi&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Penanda Urutan&lt;/td&gt;&lt;td&gt;pertama-tama, selanjutnya, berikutnya&lt;/td&gt;&lt;td&gt;Menunjukkan urutan langkah&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Penanda Penambahan&lt;/td&gt;&lt;td&gt;selain itu, di samping itu, lagi pula&lt;/td&gt;&lt;td&gt;Menambahkan informasi baru&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Penanda Penekanan&lt;/td&gt;&lt;td&gt;perlu diperhatikan, yang terpenting, perlu diingat&lt;/td&gt;&lt;td&gt;Menegaskan bagian penting&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Penanda Simpulan&lt;/td&gt;&lt;td&gt;dengan demikian, oleh karena itu, jadi&lt;/td&gt;&lt;td&gt;Menyimpulkan atau menegaskan hasil akhir&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI E: MENYUSUN TEKS PROSEDUR ============ --&gt;
  &lt;section class="section" id="materi-e"&gt;
    &lt;div class="eyebrow"&gt;06 — Materi Inti E&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Menyusun Teks Prosedur secara Logis dan Sistematis&lt;/h2&gt;

    &lt;div class="timeline"&gt;
      &lt;div class="tl-item"&gt;&lt;h4 class="mono"&gt;01 · Menentukan Tujuan&lt;/h4&gt;&lt;p&gt;Tentukan tujuan atau hasil akhir yang ingin dicapai dari prosedur yang akan disusun.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="tl-item"&gt;&lt;h4 class="mono"&gt;02 · Mendaftar Alat &amp;amp; Bahan&lt;/h4&gt;&lt;p&gt;Susun daftar alat dan bahan yang diperlukan, jika prosedur membutuhkannya.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="tl-item"&gt;&lt;h4 class="mono"&gt;03 · Merancang Langkah secara Berurutan&lt;/h4&gt;&lt;p&gt;Susun langkah-langkah sesuai urutan logis, tanpa ada langkah yang meloncat atau bertentangan.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="tl-item"&gt;&lt;h4 class="mono"&gt;04 · Menerapkan Kaidah Kebahasaan&lt;/h4&gt;&lt;p&gt;Gunakan kalimat perintah, kata teknis, dan penanda wacana yang tepat pada setiap bagian teks.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="tl-item"&gt;&lt;h4 class="mono"&gt;05 · Merevisi Keruntutan Teks&lt;/h4&gt;&lt;p&gt;Baca ulang teks yang disusun untuk memastikan urutan sudah logis dan mudah diikuti pembaca.&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI F: TABEL RANGKUMAN ============ --&gt;
  &lt;section class="section" id="materi-f"&gt;
    &lt;div class="eyebrow"&gt;07 — Materi Inti F&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Rangkuman Ciri Kebahasaan Bagian 2&lt;/h2&gt;

    &lt;table&gt;
      &lt;tr&gt;&lt;th style="width:20%;"&gt;Ciri Kebahasaan&lt;/th&gt;&lt;th style="width:30%;"&gt;Fungsi&lt;/th&gt;&lt;th&gt;Contoh&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kalimat Perintah&lt;/td&gt;&lt;td&gt;Mengarahkan, melarang, mengajak, atau meminta pembaca melakukan tindakan&lt;/td&gt;&lt;td&gt;"Jangan sentuh permukaan yang masih panas."&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kata Teknis&lt;/td&gt;&lt;td&gt;Memberikan ketepatan dan presisi sesuai bidang keahlian&lt;/td&gt;&lt;td&gt;"Periksa tekanan pada pentil ban."&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Penanda Wacana&lt;/td&gt;&lt;td&gt;Menjaga keterpaduan antarkalimat/paragraf dalam teks&lt;/td&gt;&lt;td&gt;"Selain itu, pastikan area kerja dalam keadaan bersih."&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ PEMODELAN ============ --&gt;
  &lt;section class="section" id="contoh"&gt;
    &lt;div class="eyebrow"&gt;08 — Pemodelan&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Contoh Penerapan: Menganalisis dan Menyusun Teks Prosedur&lt;/h2&gt;
    &lt;p class="lead"&gt;Guru membacakan dan membahas bersama contoh berikut sebagai model sebelum murid mengerjakan tugas kelompok.&lt;/p&gt;

    &lt;div class="doc-sample"&gt;
      &lt;div class="doc-head"&gt;&lt;span&gt;Lampiran · Teks Prosedur Contoh&lt;/span&gt;&lt;span&gt;Dokumen-01&lt;/span&gt;&lt;/div&gt;
      &lt;div class="doc-body"&gt;
        &lt;h3 style="color:#132029 !important;"&gt;Prosedur Memasang Kartu SIM dan Kartu Memori pada Smartphone&lt;/h3&gt;
        &lt;p style="margin-top:-4px; color:#4b5a63 !important;"&gt;&lt;i&gt;Tujuan: Memasang kartu SIM dan kartu memori dengan benar agar smartphone dapat digunakan secara optimal.&lt;/i&gt;&lt;/p&gt;
        &lt;ol style="color:#132029 !important;"&gt;
          &lt;li style="color:#132029 !important;"&gt;Matikan smartphone terlebih dahulu sebelum memasang kartu.&lt;span class="flag"&gt;PERINTAH&lt;/span&gt;&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Gunakan ejector pin untuk membuka slot kartu SIM.&lt;span class="flag"&gt;KATA TEKNIS&lt;/span&gt;&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Letakkan kartu SIM pada baki (tray) sesuai posisi yang tertera.&lt;span class="flag"&gt;KATA TEKNIS&lt;/span&gt;&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Selain itu, pastikan kartu memori terpasang pada slot yang benar agar terbaca oleh sistem.&lt;span class="flag"&gt;PENANDA WACANA&lt;/span&gt;&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Masukkan kembali baki ke dalam slot hingga terdengar bunyi klik.&lt;span class="flag"&gt;PERINTAH&lt;/span&gt;&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Jangan memaksa memasukkan baki jika terasa tersendat.&lt;span class="flag"&gt;PERINTAH&lt;/span&gt;&lt;/li&gt;
        &lt;/ol&gt;
        &lt;div class="note-margin" style="margin-top:10px; color:#8A3A1F !important;"&gt;Dengan demikian, kartu SIM dan kartu memori siap digunakan setelah smartphone dinyalakan kembali. &lt;b&gt;(penanda simpulan)&lt;/b&gt;&lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class="panel" style="margin-top:22px;"&gt;
      &lt;p style="margin:0;"&gt;&lt;b style="color:var(--off-white);"&gt;Simpulan model analisis:&lt;/b&gt; Teks di atas menggunakan variasi kalimat perintah (perintah biasa dan larangan), kata teknis khas perangkat elektronik ("ejector pin", "baki/tray"), serta penanda wacana penambahan ("selain itu") dan simpulan ("dengan demikian") yang menjaga keterpaduan antarlangkah.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ RANGKUMAN ============ --&gt;
  &lt;section class="section" id="rangkuman"&gt;
    &lt;div class="eyebrow"&gt;09 — Ringkasan Materi&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Poin-Poin Penting&lt;/h2&gt;
    &lt;div class="summary-box"&gt;
      &lt;ul&gt;
        &lt;li&gt;Kalimat perintah memiliki variasi bentuk: perintah biasa, larangan, ajakan, dan permintaan.&lt;/li&gt;
        &lt;li&gt;Kata teknis adalah istilah khusus bidang keahlian yang memberi ketepatan pada instruksi.&lt;/li&gt;
        &lt;li&gt;Penanda wacana menjaga keterpaduan teks melalui penanda urutan, penambahan, penekanan, dan simpulan.&lt;/li&gt;
        &lt;li&gt;Teks prosedur disusun melalui lima langkah: menentukan tujuan → mendaftar alat/bahan → merancang langkah → menerapkan kaidah kebahasaan → merevisi keruntutan.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ TUGAS KELOMPOK ============ --&gt;
  &lt;section class="section" id="tugas-kelompok"&gt;
    &lt;div class="eyebrow"&gt;10 — Lembar Kerja&lt;/div&gt;
    &lt;div class="task-header"&gt;
      &lt;h2&gt;Tugas Kelompok: Menyusun Teks Prosedur Baru&lt;/h2&gt;
      &lt;span class="badge"&gt;Durasi ± 60 menit&lt;/span&gt;
    &lt;/div&gt;

    &lt;p style="margin-top:18px;"&gt;&lt;b style="color:var(--off-white);"&gt;Tujuan tugas:&lt;/b&gt; Murid secara berkelompok menyusun sebuah teks prosedur baru secara logis dan sistematis, dengan menerapkan kalimat perintah, kata teknis, dan penanda wacana yang telah dipelajari.&lt;/p&gt;

    &lt;div class="panel" style="margin-top:20px;"&gt;
      &lt;div class="eyebrow" style="margin-bottom:6px;"&gt;Pilihan Tema (boleh memilih salah satu atau mengusulkan tema lain sesuai bidang keahlian dengan persetujuan guru)&lt;/div&gt;
      &lt;p style="margin:0;"&gt;Mengisi Daya Ponsel dengan Aman · Membuat Mi Instan yang Lezat · Merawat Tanaman Hias di Dalam Ruangan · Membersihkan Keyboard Laptop · atau prosedur lain sesuai bidang keahlian kelompok.&lt;/p&gt;
    &lt;/div&gt;

    &lt;h4 style="color:var(--off-white); margin-top:24px;"&gt;Petunjuk Pengerjaan&lt;/h4&gt;
    &lt;ol class="steps-num"&gt;
      &lt;li&gt;&lt;b&gt;Bentuk kelompok&lt;/b&gt; beranggotakan 4–5 orang sesuai pembagian dari guru.&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Pilih satu tema&lt;/b&gt; teks prosedur yang akan disusun.&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Tentukan tujuan&lt;/b&gt; serta alat/bahan (jika ada) untuk prosedur tersebut.&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Susun langkah-langkah&lt;/b&gt; secara berurutan dan logis pada Lembar Kerja Penyusunan di bawah ini.&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Terapkan kaidah kebahasaan&lt;/b&gt;: gunakan minimal 5 kalimat perintah, 2 kata teknis, dan 2 penanda wacana, lalu isi tabel ceklis penggunaannya.&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Presentasikan hasil&lt;/b&gt; di depan kelas selama maksimal 5 menit per kelompok, dilanjutkan tanya jawab singkat.&lt;/li&gt;
    &lt;/ol&gt;

    &lt;h4 style="color:var(--off-white); margin-top:26px;"&gt;Lembar Kerja Penyusunan Teks Prosedur&lt;/h4&gt;
    &lt;table&gt;
      &lt;tr&gt;&lt;th style="width:22%;"&gt;Bagian&lt;/th&gt;&lt;th&gt;Isi yang Disusun Kelompok&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Judul&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Tujuan&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Alat &amp;amp; Bahan&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Langkah 1–3&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Langkah 4–6&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Penutup&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;

    &lt;h4 style="color:var(--off-white); margin-top:26px;"&gt;Ceklis Penggunaan Kaidah Kebahasaan&lt;/h4&gt;
    &lt;table&gt;
      &lt;tr&gt;&lt;th style="width:34%;"&gt;Kaidah Kebahasaan&lt;/th&gt;&lt;th style="width:20%;"&gt;Target Minimal&lt;/th&gt;&lt;th&gt;Jumlah yang Digunakan&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kalimat Perintah&lt;/td&gt;&lt;td&gt;5 kalimat&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kata Teknis&lt;/td&gt;&lt;td&gt;2 kata&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Penanda Wacana&lt;/td&gt;&lt;td&gt;2 kata/frasa&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;

    &lt;h4 style="color:var(--off-white); margin-top:26px;"&gt;Rubrik Penilaian Kelompok&lt;/h4&gt;
    &lt;table&gt;
      &lt;tr&gt;&lt;th style="width:26%;"&gt;Aspek Penilaian&lt;/th&gt;&lt;th&gt;Skor 4 (Sangat Baik)&lt;/th&gt;&lt;th&gt;Skor 3 (Baik)&lt;/th&gt;&lt;th&gt;Skor 2 (Cukup)&lt;/th&gt;&lt;th&gt;Skor 1 (Kurang)&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kelogisan urutan langkah&lt;/td&gt;&lt;td&gt;Seluruh langkah runtut dan logis&lt;/td&gt;&lt;td&gt;Sebagian besar runtut&lt;/td&gt;&lt;td&gt;Ada beberapa langkah tidak runtut&lt;/td&gt;&lt;td&gt;Urutan tidak logis&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Ketepatan kalimat perintah&lt;/td&gt;&lt;td&gt;Digunakan tepat dan bervariasi&lt;/td&gt;&lt;td&gt;Digunakan tepat&lt;/td&gt;&lt;td&gt;Kurang bervariasi&lt;/td&gt;&lt;td&gt;Tidak tepat/tidak digunakan&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Ketepatan kata teknis &amp;amp; penanda wacana&lt;/td&gt;&lt;td&gt;Digunakan tepat sesuai konteks&lt;/td&gt;&lt;td&gt;Sebagian besar tepat&lt;/td&gt;&lt;td&gt;Kurang tepat&lt;/td&gt;&lt;td&gt;Tidak digunakan&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Presentasi&lt;/td&gt;&lt;td&gt;Jelas, percaya diri, menjawab pertanyaan dengan baik&lt;/td&gt;&lt;td&gt;Jelas namun kurang percaya diri&lt;/td&gt;&lt;td&gt;Kurang jelas/terbata-bata&lt;/td&gt;&lt;td&gt;Tidak dapat menjelaskan hasil&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

&lt;!-- ============ TUGAS INDIVIDU: KUIS INTERAKTIF 10 PERTANYAAN ============ --&gt;
  &lt;section class="section" id="tugas-individu"&gt;
    &lt;div class="eyebrow"&gt;11 — Penutup Pembelajaran&lt;/div&gt;
    &lt;div class="task-header"&gt;
      &lt;h2&gt;Tugas Individu: Menjawab 10 Pertanyaan tentang Materi&lt;/h2&gt;
      &lt;span class="badge"&gt;Dikerjakan Mandiri · Otomatis Bernilai&lt;/span&gt;
    &lt;/div&gt;

    &lt;p style="margin-top:18px;"&gt;&lt;b style="color:var(--off-white);"&gt;Petunjuk:&lt;/b&gt; Isi No. Absen dan Nama, lalu jawab 10 pertanyaan pilihan ganda berikut berdasarkan materi yang telah dipelajari hari ini. Skor akan muncul otomatis setelah menekan tombol "Kirim Jawaban", dan hasilnya (No. Absen, Nama, Skor) akan tercatat otomatis.&lt;/p&gt;

    &lt;div class="panel" id="epbq-form-wrap" style="margin-top:20px;"&gt;
      &lt;div style="display:grid; grid-template-columns:1fr 2fr; gap:14px; margin-bottom:22px;"&gt;
        &lt;div&gt;
          &lt;label class="mono" style="display:block; font-size:0.75rem; color:var(--amber); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:6px;"&gt;No. Absen&lt;/label&gt;
          &lt;input id="epbq-absen" type="text" inputmode="numeric" placeholder="Contoh: 12" style="width:100%; padding:10px 12px; border-radius:2px; border:1px solid var(--line); background:var(--blueprint-deep); color:var(--off-white); font-family:'Source Sans 3',sans-serif; font-size:0.95rem;"&gt;
        &lt;/div&gt;
        &lt;div&gt;
          &lt;label class="mono" style="display:block; font-size:0.75rem; color:var(--amber); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:6px;"&gt;Nama Lengkap&lt;/label&gt;
          &lt;input id="epbq-nama" type="text" placeholder="Tulis nama lengkap" style="width:100%; padding:10px 12px; border-radius:2px; border:1px solid var(--line); background:var(--blueprint-deep); color:var(--off-white); font-family:'Source Sans 3',sans-serif; font-size:0.95rem;"&gt;
        &lt;/div&gt;
      &lt;/div&gt;

      &lt;div id="epbq-questions"&gt;&lt;/div&gt;

      &lt;div style="margin-top:24px; display:flex; align-items:center; gap:16px; flex-wrap:wrap;"&gt;
        &lt;button id="epbq-submit" type="button" style="background:var(--amber); color:var(--blueprint-deep); border:none; padding:12px 26px; font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:0.05em; font-weight:600; border-radius:2px; cursor:pointer; font-size:0.95rem;"&gt;Kirim Jawaban&lt;/button&gt;
        &lt;span id="epbq-status" class="mono" style="font-size:0.85rem; color:var(--muted);"&gt;&lt;/span&gt;
      &lt;/div&gt;

      &lt;div id="epbq-result" style="display:none; margin-top:20px; padding:18px 20px; border:1px solid var(--amber); background:rgba(245,166,35,0.08);"&gt;
        &lt;p style="margin:0; font-size:1.05rem;"&gt;Skor kamu: &lt;b id="epbq-score" style="color:var(--amber); font-size:1.3rem;"&gt;&lt;/b&gt; / 100&lt;/p&gt;
        &lt;p id="epbq-detail" style="margin:8px 0 0; font-size:0.9rem; color:var(--muted);"&gt;&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

&lt;script&gt;
(function(){
  var EPBQ_ENDPOINT = "https://script.google.com/macros/s/AKfycbzM7t2qgAENzxQJXzSYJYL28R6nb3TxJVELLL3CopyEXb51t_gRtrkPOxTpI5mq6VCEKw/exec";

  var questions = [
    {q:"1. Kalimat yang berisi larangan kepada pembaca disebut...", opts:["Kalimat deklaratif","Kalimat perintah larangan","Kalimat persuasif","Kalimat interogatif"], correct:1},
    {q:"2. Manakah contoh kalimat perintah ajakan?", opts:["\"Jangan sentuh permukaan yang panas.\"","\"Mari kita mulai dengan menyiapkan alat.\"","\"Alat ini terbuat dari logam.\"","\"Sebaiknya gunakan alat ini secara rutin.\""], correct:1},
    {q:"3. Kata teknis dalam teks prosedur berfungsi untuk...", opts:["Membuat teks lebih panjang","Memberikan ketepatan dan presisi instruksi","Menghibur pembaca","Menambah jumlah kalimat persuasif"], correct:1},
    {q:"4. Manakah yang termasuk kata teknis bidang otomotif?", opts:["Mengocok","Partisi","Karburator","Marinasi"], correct:2},
    {q:"5. Penanda wacana \"selain itu\" termasuk jenis...", opts:["Penanda urutan","Penanda penambahan","Penanda penekanan","Penanda simpulan"], correct:1},
    {q:"6. Contoh penanda wacana penekanan adalah...", opts:["\"Pertama-tama...\"","\"Dengan demikian...\"","\"Perlu diperhatikan...\"","\"Selanjutnya...\""], correct:2},
    {q:"7. Langkah pertama dalam menyusun teks prosedur adalah...", opts:["Merevisi keruntutan teks","Menentukan tujuan","Menerapkan kaidah kebahasaan","Mendaftar alat dan bahan"], correct:1},
    {q:"8. Mengapa urutan langkah dalam teks prosedur tidak boleh diacak?", opts:["Karena akan membuat teks lebih pendek","Karena pembaca bisa gagal mencapai hasil yang diinginkan","Karena aturan tata bahasa mengharuskannya","Karena teks prosedur harus selalu memiliki 5 langkah"], correct:1},
    {q:"9. Manakah kalimat yang mengandung kata teknis?", opts:["\"Silakan duduk dengan nyaman.\"","\"Periksa tekanan pada pentil ban.\"","\"Semoga langkah ini bermanfaat.\"","\"Jangan lupa berdoa sebelum memulai.\""], correct:1},
    {q:"10. Penanda wacana yang menyimpulkan sebuah proses biasanya menggunakan kata...", opts:["\"Kemudian\"","\"Selain itu\"","\"Dengan demikian\"","\"Perlu diperhatikan\""], correct:2}
  ];

  var container = document.getElementById("epbq-questions");
  questions.forEach(function(item, idx){
    var block = document.createElement("div");
    block.style.marginBottom = "20px";
    block.style.paddingBottom = "16px";
    block.style.borderBottom = "1px dashed rgba(234,242,245,0.16)";

    var qEl = document.createElement("p");
    qEl.style.color = "#EAF2F5";
    qEl.style.fontWeight = "600";
    qEl.style.marginBottom = "8px";
    qEl.textContent = item.q;
    block.appendChild(qEl);

    item.opts.forEach(function(opt, oi){
      var label = document.createElement("label");
      label.style.display = "block";
      label.style.color = "#DDE7EC";
      label.style.fontSize = "0.92rem";
      label.style.margin = "4px 0";
      label.style.cursor = "pointer";

      var radio = document.createElement("input");
      radio.type = "radio";
      radio.name = "epbq-q" + idx;
      radio.value = oi;
      radio.style.marginRight = "8px";

      label.appendChild(radio);
      label.appendChild(document.createTextNode(opt));
      block.appendChild(label);
    });

    container.appendChild(block);
  });

  document.getElementById("epbq-submit").addEventListener("click", function(){
    var absen = document.getElementById("epbq-absen").value.trim();
    var nama = document.getElementById("epbq-nama").value.trim();
    var statusEl = document.getElementById("epbq-status");

    if(!absen || !nama){
      statusEl.textContent = "Isi No. Absen dan Nama terlebih dahulu.";
      statusEl.style.color = "#F5A623";
      return;
    }

    var belumDijawab = [];
    var benar = 0;
    questions.forEach(function(item, idx){
      var checked = document.querySelector('input[name="epbq-q' + idx + '"]:checked');
      if(!checked){
        belumDijawab.push(idx+1);
      } else if(parseInt(checked.value,10) === item.correct){
        benar++;
      }
    });

    if(belumDijawab.length &gt; 0){
      statusEl.textContent = "Pertanyaan belum dijawab: nomor " + belumDijawab.join(", ");
      statusEl.style.color = "#F5A623";
      return;
    }

    var skor = benar * 10;
    document.getElementById("epbq-score").textContent = skor;
    document.getElementById("epbq-detail").textContent = "Menjawab benar " + benar + " dari 10 pertanyaan.";
    document.getElementById("epbq-result").style.display = "block";
    statusEl.textContent = "Mengirim hasil...";
    statusEl.style.color = "#9FB4C2";

    var payload = new URLSearchParams();
    payload.append("noAbsen", absen);
    payload.append("nama", nama);
    payload.append("skor", skor);
    payload.append("waktu", new Date().toISOString());

    if(EPBQ_ENDPOINT.indexOf("PASTE_URL") === 0){
      statusEl.textContent = "Skor tercatat di halaman ini. (Pengiriman ke Google Sheets belum diaktifkan guru.)";
      return;
    }

    fetch(EPBQ_ENDPOINT, {
      method: "POST",
      mode: "no-cors",
      headers: {"Content-Type":"application/x-www-form-urlencoded"},
      body: payload.toString()
    }).then(function(){
      statusEl.textContent = "Hasil berhasil dikirim ke guru.";
      statusEl.style.color = "#6EC6CA";
    }).catch(function(){
      statusEl.textContent = "Skor tercatat di halaman ini, namun pengiriman gagal. Tunjukkan skor ini ke guru.";
      statusEl.style.color = "#F5A623";
    });
  });
})();
&lt;/script&gt;

&lt;/main&gt;

&lt;footer&gt;
  &lt;div class="doc-code"&gt;DOK/B.INDO/XI/PROSEDUR-KAIDAH-2 — Fokus Tujuan Pembelajaran, Materi Inti, Tugas Kelompok &amp;amp; Tugas Individu, 1× pertemuan (3 JP)&lt;/div&gt;
  &lt;p style="margin:0;"&gt;Referensi: Kurikulum Merdeka — Capaian Pembelajaran Bahasa Indonesia Fase F (Elemen Membaca, Memirsa, dan Menulis); Buku Teks Bahasa Indonesia Kelas XI SMK/MAK Kemendikbudristek.&lt;/p&gt;
&lt;/footer&gt;
&lt;/div&gt;</description><link>http://kitab-investasi.blogspot.com/2026/08/kaidah-kebahasaan-teks-prosedur-bagian.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-8699242951655968917</guid><pubDate>Fri, 07 Aug 2026 01:33:22 +0000</pubDate><atom:updated>2026-08-07T08:33:22.366+07:00</atom:updated><title>Sistem Operasi, Manajemen File, &amp; Penyimpanan Cloud</title><description>&lt;!DOCTYPE html&gt;
&lt;html lang="id"&gt;
&lt;head&gt;
&lt;meta charset="UTF-8"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
&lt;title&gt;Sistem Operasi, Manajemen File &amp; Penyimpanan Cloud — Informatika Kelas X&lt;/title&gt;
&lt;link rel="preconnect" href="https://fonts.googleapis.com"&gt;
&lt;link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&amp;family=IBM+Plex+Sans:wght@400;500;600;700&amp;display=swap" rel="stylesheet"&gt;
&lt;style&gt;
  :root{
    --chrome: #2E3440;
    --chrome-deep: #232833;
    --desktop: #E8ECF1;
    --window: #FFFFFF;
    --line: #C7D0DA;
    --folder: #F0A93F;
    --folder-dark: #C9820A;
    --cloud: #3B82C4;
    --cloud-dark: #2A5F8F;
    --file-gray: #7C8798;
    --ink: #1F2A36;
    --ink-soft: #55647A;
    --green: #3FAE72;
    --red: #E0604A;
    --radius: 6px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'IBM Plex Sans', sans-serif;
    background: var(--desktop);
    color: var(--ink);
    line-height:1.6;
  }
  .mono{font-family:'IBM Plex Mono', monospace;}

  /* ===== Top window chrome hero ===== */
  .titlebar-hero{
    background: var(--chrome);
    color: #E8ECF1;
  }
  .titlebar{
    display:flex; align-items:center; gap:8px;
    padding: 14px 6vw;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .dot{width:12px; height:12px; border-radius:50%;}
  .dot.r{background:#E0604A;}
  .dot.y{background:#F0A93F;}
  .dot.g{background:#3FAE72;}
  .path-bar{
    margin-left:14px;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.78rem;
    background: rgba(255,255,255,0.07);
    padding:5px 12px;
    border-radius:4px;
    color:#B9C4D2;
    letter-spacing:0.02em;
  }
  .hero-body{
    padding: 40px 6vw 60px;
  }
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.78rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color: var(--folder);
    margin-bottom:18px;
  }
  h1.title{
    font-family:'IBM Plex Mono', monospace;
    font-weight:700;
    font-size: clamp(1.9rem, 4vw, 3.3rem);
    line-height:1.16;
    max-width: 20ch;
    color:#F4F6F9;
  }
  h1.title span{color: var(--cloud);}
  .hero-sub{
    margin-top:16px;
    max-width: 64ch;
    font-size:1.03rem;
    color: #C3CCD8;
  }
  .meta-strip{
    margin-top:36px;
    display:grid;
    grid-template-columns: repeat(auto-fit,minmax(160px,1fr));
    gap:1px;
    background: rgba(255,255,255,0.1);
    border:1px solid rgba(255,255,255,0.1);
    max-width: 920px;
  }
  .meta-cell{ background: var(--chrome-deep); padding:14px 16px; }
  .meta-cell .k{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase;
    color: var(--cloud); opacity:0.9;
  }
  .meta-cell .v{ margin-top:6px; font-size:0.94rem; font-weight:600; color:#F1F4F7; }

  /* ===== Content ===== */
  main{
    background: var(--desktop);
    padding: 8px 0 0;
  }
  .section{
    padding: 54px 6vw;
    max-width: 1180px;
    margin: 0 auto;
  }
  .section-tag{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase;
    color: var(--ink-soft);
    display:flex; align-items:center; gap:10px; margin-bottom:10px;
  }
  .section-tag .num{
    color:#fff; background: var(--chrome); padding:3px 8px; border-radius:3px; font-weight:600;
  }
  h2.section-title{
    font-family:'IBM Plex Mono', monospace;
    font-size: clamp(1.35rem, 2.3vw, 1.9rem);
    font-weight:700; color: var(--chrome); margin-bottom: 22px; max-width: 32ch;
  }
  h3.sub-title{
    font-family:'IBM Plex Mono', monospace;
    font-size:1.06rem; font-weight:600; color: var(--chrome);
    margin: 26px 0 12px; display:flex; align-items:center; gap:10px;
  }
  h3.sub-title::before{ content:""; width:8px;height:8px; background: var(--folder); display:inline-block; border-radius:1px; }
  p{ color:#33414F; max-width: 74ch; margin-bottom: 14px;}
  strong{color:var(--chrome);}
  ul, ol{ margin: 8px 0 18px 1.3em; max-width: 74ch;}
  li{margin-bottom:8px; color:#33414F;}

  .callout{
    border-left: 3px solid var(--cloud);
    background: #EAF2FA;
    padding: 16px 20px; border-radius: 0 6px 6px 0; margin: 18px 0; max-width: 74ch;
  }
  .callout .lbl{
    font-family:'IBM Plex Mono', monospace; font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase;
    color:#2A5F8F; font-weight:700; margin-bottom:6px;
  }

  /* ===== Window-style cards ===== */
  .win-card{
    background: var(--window);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: 0 2px 10px rgba(30,40,55,0.06);
    overflow:hidden;
  }
  .win-card .win-bar{
    background: #F3F5F8;
    border-bottom: 1px solid var(--line);
    padding: 8px 12px;
    display:flex; align-items:center; gap:6px;
  }
  .win-card .win-bar .d{width:9px;height:9px;border-radius:50%;}
  .win-card .win-bar .d.r{background:#E0604A;} .win-card .win-bar .d.y{background:#F0A93F;} .win-card .win-bar .d.g{background:#3FAE72;}
  .win-card .win-bar .win-title{
    margin-left:8px; font-family:'IBM Plex Mono', monospace; font-size:0.72rem; color: var(--ink-soft);
  }
  .win-card .win-content{ padding: 18px 20px; }

  .card-grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 20px 0 8px; }
  @media (max-width: 860px){ .card-grid{grid-template-columns: 1fr;} }
  .card-grid .win-card h4{ font-family:'IBM Plex Mono', monospace; font-size:0.98rem; color:var(--chrome); margin-bottom:6px;}
  .card-grid .win-card p{ font-size:0.88rem; margin-bottom:8px;}
  .card-grid .win-card ul{ margin:6px 0 0 1.1em; font-size:0.88rem;}
  .card-grid .win-card li{ margin-bottom:4px; color:#3C4C5B;}

  /* ===== Folder tree diagram ===== */
  .tree-frame{
    margin: 24px 0;
    background: var(--window);
    border:1px solid var(--line);
    border-radius: 8px;
    padding: 22px 24px;
  }
  .tree{ font-family:'IBM Plex Mono', monospace; font-size:0.88rem; line-height:2; color:#2C3947;}
  .tree .lvl0::before{ content:"&#128193; "; }
  .tree .lvl1{ padding-left:26px; position:relative;}
  .tree .lvl1::before{ content:"├─ &#128193; "; color: var(--ink-soft);}
  .tree .lvl2{ padding-left:52px; position:relative; color:#55647A;}
  .tree .lvl2::before{ content:"├─ &#128196; "; }
  .tree .lvl2.last::before{ content:"└─ &#128196; "; }
  .tree .folder-name{color:var(--folder-dark); font-weight:600;}
  .tree .file-name{color:var(--file-gray);}

  /* ===== Cloud sync diagram ===== */
  .diagram-frame{
    margin: 26px 0;
    background: var(--window);
    border-radius: 8px;
    padding: 18px;
    border: 1px solid var(--line);
  }
  .diagram-frame svg{width:100%; height:auto; display:block;}
  .diagram-caption{
    font-family:'IBM Plex Mono', monospace; font-size:0.72rem; color: var(--ink-soft);
    text-align:center; margin-top:10px; letter-spacing:0.03em;
  }
  .signal{ stroke-dasharray: 6 8; animation: flow 1.6s linear infinite; }
  @keyframes flow{ to{ stroke-dashoffset:-56; } }
  @media (prefers-reduced-motion: reduce){ .signal{animation:none;} }

  /* ===== Compare table ===== */
  table.compare{ width:100%; border-collapse:collapse; margin:18px 0; font-size:0.9rem; background:var(--window); }
  table.compare th, table.compare td{ border:1px solid var(--line); padding:11px 14px; text-align:left; }
  table.compare th{ background: var(--chrome); color:#fff; font-family:'IBM Plex Mono', monospace; font-size:0.74rem; letter-spacing:0.04em; text-transform:uppercase; }
  table.compare tr:nth-child(even) td{ background:#F3F5F8; }

  /* ===== Summary ===== */
  .summary-box{ background: var(--chrome); color: #fff; border-radius: 8px; padding: 26px 28px; margin-top: 10px; }
  .summary-box h4{ font-family:'IBM Plex Mono', monospace; color: var(--folder); font-size:0.85rem; letter-spacing:0.08em; text-transform:uppercase; margin-bottom:14px; }
  .summary-box ul{ margin:0 0 0 1.1em; max-width:none; }
  .summary-box li{ color:#E4EAF0; margin-bottom:8px; }

  /* ===== Tugas kelompok ===== */
  .task-panel{
    border: 1.5px dashed var(--chrome);
    border-radius: 8px; padding: 26px 28px;
    background: repeating-linear-gradient(135deg, #FFFFFF, #FFFFFF 18px, #EEF1F5 18px, #EEF1F5 19px);
  }
  .task-head{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:12px; }
  .task-head .badge{
    font-family:'IBM Plex Mono', monospace; font-size:0.7rem; letter-spacing:0.08em; text-transform:uppercase;
    background: var(--cloud); color:#fff; padding:4px 10px; border-radius:3px;
  }
  .task-panel h3{ font-family:'IBM Plex Mono', monospace; font-size:1.22rem; color: var(--chrome); }
  .steps-num{ counter-reset: step; margin:16px 0; max-width:78ch; }
  .steps-num li{ counter-increment: step; list-style:none; position:relative; padding-left:34px; margin-bottom:14px; }
  .steps-num li::before{
    content: counter(step); position:absolute; left:0; top:0;
    font-family:'IBM Plex Mono', monospace; font-weight:700; color:#fff; background: var(--chrome);
    width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:0.8rem;
  }
  table.rubrik{ width:100%; border-collapse:collapse; margin-top:18px; font-size:0.88rem; }
  table.rubrik th, table.rubrik td{ border:1px solid #C9C4B4; padding:10px 12px; text-align:left; }
  table.rubrik th{ background: var(--chrome); color:#fff; font-family:'IBM Plex Mono', monospace; font-size:0.75rem; letter-spacing:0.04em; text-transform:uppercase; }
  table.rubrik tr:nth-child(even) td{ background:#F1F0E8; }

  .closing-task{
    margin-top:22px; background: #FFF6E8; border:1.5px solid var(--folder); border-radius:8px; padding:20px 22px;
  }
  .closing-task .lbl{ font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:#8A5A0A; font-weight:700; margin-bottom:8px; }

  footer{
    background: var(--chrome-deep); color:#9FAEC0; text-align:center; padding: 30px 6vw 40px;
    font-family:'IBM Plex Mono', monospace; font-size:0.75rem; letter-spacing:0.04em;
  }

  @media (max-width: 700px){
    .card-grid{grid-template-columns:1fr;}
    .hero-body{padding:32px 5vw 44px;}
    .section{padding:38px 5vw;}
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div class="titlebar-hero"&gt;
  &lt;div class="titlebar"&gt;
    &lt;span class="dot r"&gt;&lt;/span&gt;&lt;span class="dot y"&gt;&lt;/span&gt;&lt;span class="dot g"&gt;&lt;/span&gt;
    &lt;span class="path-bar"&gt;C:\Informatika\Kelas-X\Sistem-Operasi-File-Cloud&lt;/span&gt;
  &lt;/div&gt;
  &lt;div class="hero-body"&gt;
    &lt;div class="eyebrow"&gt;Informatika · Fase E · Kelas X SMK&lt;/div&gt;
    &lt;h1 class="title"&gt;Sistem Operasi, Manajemen File, &amp; Penyimpanan &lt;span&gt;Cloud&lt;/span&gt;&lt;/h1&gt;
    &lt;p class="hero-sub"&gt;Materi ini membahas bagaimana sistem operasi mengatur seluruh sumber daya komputer, bagaimana file dan folder dikelola secara sistematis, serta bagaimana layanan penyimpanan cloud mendukung pekerjaan digital masa kini.&lt;/p&gt;

    &lt;div class="meta-strip"&gt;
      &lt;div class="meta-cell"&gt;&lt;div class="k"&gt;Elemen CP&lt;/div&gt;&lt;div class="v"&gt;Sistem Operasi &amp; File&lt;/div&gt;&lt;/div&gt;
      &lt;div class="meta-cell"&gt;&lt;div class="k"&gt;Jenjang&lt;/div&gt;&lt;div class="v"&gt;SMK Kelas X&lt;/div&gt;&lt;/div&gt;
      &lt;div class="meta-cell"&gt;&lt;div class="k"&gt;Alokasi Waktu&lt;/div&gt;&lt;div class="v"&gt;1 Pertemuan · 4 JP (180 menit)&lt;/div&gt;&lt;/div&gt;
      &lt;div class="meta-cell"&gt;&lt;div class="k"&gt;Model&lt;/div&gt;&lt;div class="v"&gt;Praktik &amp; Kerja Kelompok&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;main&gt;

  &lt;!-- ===================== TUJUAN ===================== --&gt;
  &lt;section class="section" id="tujuan"&gt;
    &lt;div class="section-tag"&gt;&lt;span class="num"&gt;00&lt;/span&gt; Capaian &amp; Tujuan Pembelajaran&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Ke Mana Materi Ini Menuju&lt;/h2&gt;

    &lt;h3 class="sub-title"&gt;Capaian Pembelajaran&lt;/h3&gt;
    &lt;p&gt;Murid mampu mengelola sistem operasi, file, folder, media penyimpanan, serta memanfaatkan layanan cloud storage untuk mendukung pekerjaan digital.&lt;/p&gt;

    &lt;h3 class="sub-title"&gt;Tujuan Pembelajaran&lt;/h3&gt;
    &lt;ol&gt;
      &lt;li&gt;Menjelaskan pengertian dan fungsi sistem operasi dalam mengelola sumber daya komputer.&lt;/li&gt;
      &lt;li&gt;Mengidentifikasi jenis-jenis sistem operasi yang umum digunakan.&lt;/li&gt;
      &lt;li&gt;Mengelola file dan folder: membuat, menamai, menyalin, memindahkan, dan menghapus dengan struktur yang rapi.&lt;/li&gt;
      &lt;li&gt;Membedakan jenis media penyimpanan (internal, removable, dan cloud) beserta karakteristiknya.&lt;/li&gt;
      &lt;li&gt;Memanfaatkan layanan penyimpanan cloud untuk menyimpan, mengelola, dan berbagi berkas pekerjaan digital.&lt;/li&gt;
    &lt;/ol&gt;

    &lt;h3 class="sub-title"&gt;Rincian Kegiatan (4 JP × 45 menit)&lt;/h3&gt;
    &lt;table class="compare"&gt;
      &lt;tr&gt;&lt;th&gt;Tahap&lt;/th&gt;&lt;th&gt;Kegiatan&lt;/th&gt;&lt;th&gt;Waktu&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Pendahuluan&lt;/td&gt;&lt;td&gt;Apersepsi ("Ke mana perginya file yang kamu simpan?"), penyampaian tujuan pembelajaran&lt;/td&gt;&lt;td&gt;15 menit&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Inti — Eksplorasi Konsep&lt;/td&gt;&lt;td&gt;Penjelasan sistem operasi, manajemen file/folder, media penyimpanan, dan cloud storage&lt;/td&gt;&lt;td&gt;55 menit&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Inti — Praktik Mandiri&lt;/td&gt;&lt;td&gt;Murid mempraktikkan membuat struktur folder dan mengunggah file ke akun cloud storage&lt;/td&gt;&lt;td&gt;30 menit&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Inti — Kerja Kelompok&lt;/td&gt;&lt;td&gt;Diskusi dan pengerjaan tugas kelompok&lt;/td&gt;&lt;td&gt;45 menit&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Inti — Presentasi&lt;/td&gt;&lt;td&gt;Presentasi singkat tiap kelompok dan tanggapan guru&lt;/td&gt;&lt;td&gt;25 menit&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Penutup&lt;/td&gt;&lt;td&gt;Refleksi, penguatan konsep, menulis kesimpulan ringkas di buku catatan&lt;/td&gt;&lt;td&gt;10 menit&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;
  &lt;/section&gt;

  &lt;!-- ===================== A. SISTEM OPERASI ===================== --&gt;
  &lt;section class="section" id="sistem-operasi"&gt;
    &lt;div class="section-tag"&gt;&lt;span class="num"&gt;01&lt;/span&gt; Konsep Dasar&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Apa Itu Sistem Operasi?&lt;/h2&gt;
    &lt;p&gt;&lt;strong&gt;Sistem operasi (operating system/OS)&lt;/strong&gt; adalah perangkat lunak utama yang menjembatani antara pengguna, aplikasi, dan perangkat keras komputer. OS dijalankan pertama kali saat komputer dinyalakan dan terus bekerja di latar belakang selama komputer digunakan.&lt;/p&gt;

    &lt;h3 class="sub-title"&gt;Fungsi Utama Sistem Operasi&lt;/h3&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;Manajemen proses&lt;/strong&gt; — mengatur program apa saja yang sedang berjalan dan membagi waktu pemrosesan CPU untuk masing-masing program.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Manajemen memori&lt;/strong&gt; — mengalokasikan RAM untuk setiap program agar dapat berjalan tanpa saling bertabrakan.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Manajemen perangkat keras&lt;/strong&gt; — mengatur komunikasi dengan printer, keyboard, mouse, dan perangkat lain melalui driver.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Manajemen file&lt;/strong&gt; — mengatur bagaimana data disimpan, disusun dalam folder, dan diakses kembali.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Antarmuka pengguna (User Interface)&lt;/strong&gt; — menyediakan tampilan (GUI) atau baris perintah (CLI) agar manusia dapat berinteraksi dengan komputer.&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h3 class="sub-title"&gt;Jenis-Jenis Sistem Operasi&lt;/h3&gt;
    &lt;div class="card-grid"&gt;
      &lt;div class="win-card"&gt;
        &lt;div class="win-bar"&gt;&lt;span class="d r"&gt;&lt;/span&gt;&lt;span class="d y"&gt;&lt;/span&gt;&lt;span class="d g"&gt;&lt;/span&gt;&lt;span class="win-title"&gt;desktop-os.exe&lt;/span&gt;&lt;/div&gt;
        &lt;div class="win-content"&gt;
          &lt;h4&gt;Windows&lt;/h4&gt;
          &lt;p&gt;OS paling umum di komputer perkantoran dan sekolah, dikembangkan oleh Microsoft, dikenal luas kompatibel dengan berbagai aplikasi.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="win-card"&gt;
        &lt;div class="win-bar"&gt;&lt;span class="d r"&gt;&lt;/span&gt;&lt;span class="d y"&gt;&lt;/span&gt;&lt;span class="d g"&gt;&lt;/span&gt;&lt;span class="win-title"&gt;macos.app&lt;/span&gt;&lt;/div&gt;
        &lt;div class="win-content"&gt;
          &lt;h4&gt;macOS&lt;/h4&gt;
          &lt;p&gt;OS buatan Apple untuk perangkat Mac, dikenal dengan antarmuka yang halus dan integrasi kuat dengan perangkat Apple lainnya.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="win-card"&gt;
        &lt;div class="win-bar"&gt;&lt;span class="d r"&gt;&lt;/span&gt;&lt;span class="d y"&gt;&lt;/span&gt;&lt;span class="d g"&gt;&lt;/span&gt;&lt;span class="win-title"&gt;~/linux&lt;/span&gt;&lt;/div&gt;
        &lt;div class="win-content"&gt;
          &lt;h4&gt;Linux&lt;/h4&gt;
          &lt;p&gt;OS open-source yang fleksibel dan banyak dipakai di server, perangkat pengembangan, hingga superkomputer. Contoh: Ubuntu, Debian.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="win-card"&gt;
        &lt;div class="win-bar"&gt;&lt;span class="d r"&gt;&lt;/span&gt;&lt;span class="d y"&gt;&lt;/span&gt;&lt;span class="d g"&gt;&lt;/span&gt;&lt;span class="win-title"&gt;mobile.apk&lt;/span&gt;&lt;/div&gt;
        &lt;div class="win-content"&gt;
          &lt;h4&gt;Android&lt;/h4&gt;
          &lt;p&gt;OS berbasis Linux untuk perangkat mobile, dikembangkan Google, digunakan oleh mayoritas smartphone di dunia.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="win-card"&gt;
        &lt;div class="win-bar"&gt;&lt;span class="d r"&gt;&lt;/span&gt;&lt;span class="d y"&gt;&lt;/span&gt;&lt;span class="d g"&gt;&lt;/span&gt;&lt;span class="win-title"&gt;mobile.ipa&lt;/span&gt;&lt;/div&gt;
        &lt;div class="win-content"&gt;
          &lt;h4&gt;iOS&lt;/h4&gt;
          &lt;p&gt;OS buatan Apple khusus untuk iPhone, dikenal dengan ekosistem tertutup namun stabil dan aman.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="win-card"&gt;
        &lt;div class="win-bar"&gt;&lt;span class="d r"&gt;&lt;/span&gt;&lt;span class="d y"&gt;&lt;/span&gt;&lt;span class="d g"&gt;&lt;/span&gt;&lt;span class="win-title"&gt;chrome.os&lt;/span&gt;&lt;/div&gt;
        &lt;div class="win-content"&gt;
          &lt;h4&gt;Chrome OS&lt;/h4&gt;
          &lt;p&gt;OS ringan berbasis cloud dari Google, banyak digunakan di Chromebook untuk kebutuhan belajar dan kerja ringan berbasis internet.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;!-- ===================== B. MANAJEMEN FILE ===================== --&gt;
  &lt;section class="section" id="manajemen-file"&gt;
    &lt;div class="section-tag"&gt;&lt;span class="num"&gt;02&lt;/span&gt; Pengelolaan Data&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Manajemen File dan Folder&lt;/h2&gt;
    &lt;p&gt;Salah satu tugas penting sistem operasi adalah mengatur &lt;strong&gt;file&lt;/strong&gt; (berkas data) dan &lt;strong&gt;folder/direktori&lt;/strong&gt; (wadah untuk mengelompokkan file) agar data dapat disimpan dan ditemukan kembali dengan mudah.&lt;/p&gt;

    &lt;h3 class="sub-title"&gt;Anatomi Sebuah File&lt;/h3&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;Nama file&lt;/strong&gt; — identitas unik dalam satu folder, sebaiknya deskriptif dan konsisten.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Ekstensi file&lt;/strong&gt; — akhiran nama yang menandakan jenis/format file, misalnya &lt;span class="mono"&gt;.docx&lt;/span&gt; (dokumen), &lt;span class="mono"&gt;.xlsx&lt;/span&gt; (spreadsheet), &lt;span class="mono"&gt;.jpg&lt;/span&gt; (gambar), &lt;span class="mono"&gt;.pdf&lt;/span&gt; (dokumen portabel), &lt;span class="mono"&gt;.mp4&lt;/span&gt; (video).&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Ukuran file&lt;/strong&gt; — kapasitas ruang yang dipakai, diukur dalam KB, MB, atau GB.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Path (alamat file)&lt;/strong&gt; — lokasi lengkap file dalam struktur folder, misalnya &lt;span class="mono"&gt;D:\Tugas\Informatika\laporan.docx&lt;/span&gt;.&lt;/li&gt;
    &lt;/ul&gt;

    &lt;h3 class="sub-title"&gt;Struktur Folder (Hierarki)&lt;/h3&gt;
    &lt;p&gt;Folder disusun secara berjenjang seperti pohon terbalik — satu folder utama dapat memiliki banyak subfolder, dan setiap subfolder dapat menyimpan file maupun subfolder lain di dalamnya.&lt;/p&gt;
    &lt;div class="tree-frame"&gt;
      &lt;div class="tree"&gt;
        &lt;div class="lvl0"&gt;&lt;span class="folder-name"&gt;Tugas Sekolah&lt;/span&gt;&lt;/div&gt;
        &lt;div class="lvl1"&gt;&lt;span class="folder-name"&gt;Informatika&lt;/span&gt;&lt;/div&gt;
        &lt;div class="lvl2"&gt;&lt;span class="file-name"&gt;materi-sistem-operasi.pdf&lt;/span&gt;&lt;/div&gt;
        &lt;div class="lvl2 last"&gt;&lt;span class="file-name"&gt;tugas-kelompok.docx&lt;/span&gt;&lt;/div&gt;
        &lt;div class="lvl1"&gt;&lt;span class="folder-name"&gt;Matematika&lt;/span&gt;&lt;/div&gt;
        &lt;div class="lvl2 last"&gt;&lt;span class="file-name"&gt;latihan-soal.pdf&lt;/span&gt;&lt;/div&gt;
        &lt;div class="lvl1"&gt;&lt;span class="folder-name"&gt;Bahasa Indonesia&lt;/span&gt;&lt;/div&gt;
        &lt;div class="lvl2 last"&gt;&lt;span class="file-name"&gt;esai-argumentatif.docx&lt;/span&gt;&lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;h3 class="sub-title"&gt;Operasi Dasar Pengelolaan File&lt;/h3&gt;
    &lt;ul style="columns:2;"&gt;
      &lt;li&gt;&lt;strong&gt;Create&lt;/strong&gt; — membuat file/folder baru&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Rename&lt;/strong&gt; — mengganti nama&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Copy&lt;/strong&gt; — menggandakan&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Move&lt;/strong&gt; — memindahkan lokasi&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Delete&lt;/strong&gt; — menghapus&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Compress&lt;/strong&gt; — memampatkan (mis. .zip)&lt;/li&gt;
    &lt;/ul&gt;

    &lt;div class="callout"&gt;
      &lt;div class="lbl"&gt;Praktik Baik&lt;/div&gt;
      &lt;p style="margin:0;"&gt;Gunakan penamaan file yang konsisten dan deskriptif, misalnya &lt;span class="mono"&gt;Laporan_Praktikum_Bab3_v1.docx&lt;/span&gt;, serta kelompokkan file ke dalam folder bertema agar mudah ditemukan kembali — bukan menumpuk semua file langsung di Desktop.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;!-- ===================== C. MEDIA PENYIMPANAN ===================== --&gt;
  &lt;section class="section" id="penyimpanan"&gt;
    &lt;div class="section-tag"&gt;&lt;span class="num"&gt;03&lt;/span&gt; Perangkat Simpan&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Media Penyimpanan&lt;/h2&gt;
    &lt;p&gt;File dan folder yang dikelola sistem operasi pada akhirnya disimpan secara fisik maupun virtual pada media penyimpanan berikut.&lt;/p&gt;

    &lt;table class="compare"&gt;
      &lt;tr&gt;&lt;th&gt;Jenis&lt;/th&gt;&lt;th&gt;Contoh&lt;/th&gt;&lt;th&gt;Karakteristik&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Penyimpanan Internal&lt;/td&gt;&lt;td&gt;HDD (Hard Disk Drive), SSD (Solid State Drive)&lt;/td&gt;&lt;td&gt;Terpasang permanen di dalam perangkat; SSD jauh lebih cepat namun lebih mahal per GB dibanding HDD.&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Penyimpanan Removable&lt;/td&gt;&lt;td&gt;Flashdisk, memory card (microSD), HDD eksternal&lt;/td&gt;&lt;td&gt;Portabel, mudah dipindah antar perangkat, namun rawan hilang atau rusak fisik.&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Penyimpanan Cloud&lt;/td&gt;&lt;td&gt;Google Drive, OneDrive, Dropbox, iCloud&lt;/td&gt;&lt;td&gt;Data tersimpan di server internet, dapat diakses dari mana saja selama terhubung internet.&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;
  &lt;/section&gt;

  &lt;!-- ===================== D. CLOUD STORAGE ===================== --&gt;
  &lt;section class="section" id="cloud"&gt;
    &lt;div class="section-tag"&gt;&lt;span class="num"&gt;04&lt;/span&gt; Penyimpanan Modern&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Penyimpanan Cloud (Cloud Storage)&lt;/h2&gt;
    &lt;p&gt;&lt;strong&gt;Cloud storage&lt;/strong&gt; adalah layanan penyimpanan data yang menempatkan file pada server jarak jauh milik penyedia layanan, bukan pada perangkat milik pengguna sendiri. File yang disimpan di cloud dapat diakses, diedit, dan dibagikan dari perangkat mana pun yang terhubung ke internet.&lt;/p&gt;

    &lt;h3 class="sub-title"&gt;Cara Kerja Cloud Storage&lt;/h3&gt;
    &lt;div class="diagram-frame"&gt;
      &lt;svg viewBox="0 0 800 300" xmlns="http://www.w3.org/2000/svg"&gt;
        &lt;text x="400" y="28" text-anchor="middle" fill="#55647A" font-family="IBM Plex Mono, monospace" font-size="12" letter-spacing="2"&gt;SINKRONISASI PERANGKAT LOKAL &amp;amp; CLOUD&lt;/text&gt;

        &lt;!-- laptop --&gt;
        &lt;rect x="60" y="90" width="150" height="95" rx="6" fill="none" stroke="#2E3440" stroke-width="1.5"/&gt;
        &lt;text x="135" y="122" text-anchor="middle" fill="#2E3440" font-family="IBM Plex Mono, monospace" font-weight="700" font-size="12"&gt;Laptop&lt;/text&gt;
        &lt;text x="135" y="145" text-anchor="middle" fill="#55647A" font-family="IBM Plex Mono, monospace" font-size="9"&gt;file lokal&lt;/text&gt;
        &lt;rect x="85" y="155" width="100" height="16" fill="none" stroke="#7C8798" stroke-width="1"/&gt;

        &lt;!-- smartphone --&gt;
        &lt;rect x="60" y="205" width="150" height="70" rx="6" fill="none" stroke="#2E3440" stroke-width="1.5"/&gt;
        &lt;text x="135" y="232" text-anchor="middle" fill="#2E3440" font-family="IBM Plex Mono, monospace" font-weight="700" font-size="12"&gt;Smartphone&lt;/text&gt;
        &lt;text x="135" y="252" text-anchor="middle" fill="#55647A" font-family="IBM Plex Mono, monospace" font-size="9"&gt;app cloud storage&lt;/text&gt;

        &lt;!-- cloud --&gt;
        &lt;g transform="translate(430,60)"&gt;
          &lt;path d="M50 90 a40 40 0 0 1 0-80 a50 50 0 0 1 96-14 a36 36 0 0 1 4 94 z" fill="none" stroke="#3B82C4" stroke-width="2"/&gt;
          &lt;text x="90" y="52" text-anchor="middle" fill="#2A5F8F" font-family="IBM Plex Mono, monospace" font-weight="700" font-size="13"&gt;CLOUD&lt;/text&gt;
          &lt;text x="90" y="70" text-anchor="middle" fill="#3B82C4" font-family="IBM Plex Mono, monospace" font-size="9"&gt;server penyedia layanan&lt;/text&gt;
        &lt;/g&gt;

        &lt;!-- arrows --&gt;
        &lt;line class="signal" x1="210" y1="130" x2="440" y2="110" stroke="#3B82C4" stroke-width="2"/&gt;
        &lt;line class="signal" x1="210" y1="240" x2="440" y2="150" stroke="#3B82C4" stroke-width="2"/&gt;

        &lt;text x="580" y="235" text-anchor="middle" fill="#55647A" font-family="IBM Plex Mono, monospace" font-size="10"&gt;Sinkron otomatis via internet —&lt;/text&gt;
        &lt;text x="580" y="252" text-anchor="middle" fill="#55647A" font-family="IBM Plex Mono, monospace" font-size="10"&gt;perubahan di satu perangkat&lt;/text&gt;
        &lt;text x="580" y="269" text-anchor="middle" fill="#55647A" font-family="IBM Plex Mono, monospace" font-size="10"&gt;otomatis muncul di perangkat lain&lt;/text&gt;
      &lt;/svg&gt;
      &lt;div class="diagram-caption"&gt;File yang diunggah dari satu perangkat langsung tersinkronisasi ke semua perangkat lain yang masuk ke akun cloud yang sama.&lt;/div&gt;
    &lt;/div&gt;

    &lt;h3 class="sub-title"&gt;Contoh Layanan Cloud Storage&lt;/h3&gt;
    &lt;div class="card-grid"&gt;
      &lt;div class="win-card"&gt;&lt;div class="win-bar"&gt;&lt;span class="d r"&gt;&lt;/span&gt;&lt;span class="d y"&gt;&lt;/span&gt;&lt;span class="d g"&gt;&lt;/span&gt;&lt;span class="win-title"&gt;drive.google.com&lt;/span&gt;&lt;/div&gt;&lt;div class="win-content"&gt;&lt;h4&gt;Google Drive&lt;/h4&gt;&lt;p&gt;Terintegrasi dengan akun Google dan Google Docs/Sheets/Slides untuk kolaborasi real-time.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
      &lt;div class="win-card"&gt;&lt;div class="win-bar"&gt;&lt;span class="d r"&gt;&lt;/span&gt;&lt;span class="d y"&gt;&lt;/span&gt;&lt;span class="d g"&gt;&lt;/span&gt;&lt;span class="win-title"&gt;onedrive.live.com&lt;/span&gt;&lt;/div&gt;&lt;div class="win-content"&gt;&lt;h4&gt;OneDrive&lt;/h4&gt;&lt;p&gt;Layanan cloud dari Microsoft, terhubung erat dengan Windows dan aplikasi Office.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
      &lt;div class="win-card"&gt;&lt;div class="win-bar"&gt;&lt;span class="d r"&gt;&lt;/span&gt;&lt;span class="d y"&gt;&lt;/span&gt;&lt;span class="d g"&gt;&lt;/span&gt;&lt;span class="win-title"&gt;dropbox.com&lt;/span&gt;&lt;/div&gt;&lt;div class="win-content"&gt;&lt;h4&gt;Dropbox&lt;/h4&gt;&lt;p&gt;Salah satu pionir cloud storage, dikenal dengan fitur sinkronisasi dan berbagi file yang sederhana.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;

    &lt;h3 class="sub-title"&gt;Kelebihan &amp; Tantangan Cloud Storage&lt;/h3&gt;
    &lt;table class="compare"&gt;
      &lt;tr&gt;&lt;th&gt;Kelebihan&lt;/th&gt;&lt;th&gt;Tantangan&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Dapat diakses dari mana saja dan kapan saja selama ada internet&lt;/td&gt;&lt;td&gt;Membutuhkan koneksi internet untuk sinkronisasi&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Memudahkan kolaborasi dan berbagi file dengan orang lain&lt;/td&gt;&lt;td&gt;Kapasitas gratis terbatas, perlu berlangganan untuk kapasitas lebih besar&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Berfungsi sebagai cadangan (backup) jika perangkat lokal rusak/hilang&lt;/td&gt;&lt;td&gt;Perlu diperhatikan pengaturan privasi dan keamanan berbagi file&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;
  &lt;/section&gt;

  &lt;!-- ===================== E. HUBUNGAN ===================== --&gt;
  &lt;section class="section" id="hubungan"&gt;
    &lt;div class="section-tag"&gt;&lt;span class="num"&gt;05&lt;/span&gt; Keterkaitan&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Hubungan Antar Konsep&lt;/h2&gt;
    &lt;p&gt;Sistem operasi, manajemen file, media penyimpanan, dan cloud storage bekerja sebagai satu rangkaian yang saling melengkapi:&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;Sistem operasi&lt;/strong&gt; menyediakan alat (file manager) untuk mengelola file dan folder.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;File dan folder&lt;/strong&gt; yang dikelola tersebut pada akhirnya disimpan secara fisik pada &lt;strong&gt;media penyimpanan&lt;/strong&gt; — baik internal, removable, maupun cloud.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Cloud storage&lt;/strong&gt; memperluas kapasitas dan fleksibilitas penyimpanan, memungkinkan file yang sama diakses dari berbagai perangkat dan sistem operasi yang berbeda.&lt;/li&gt;
      &lt;li&gt;Ketiganya membentuk fondasi produktivitas digital: tanpa manajemen file yang baik, kapasitas penyimpanan sebesar apa pun akan sulit dimanfaatkan secara efektif.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/section&gt;

  &lt;!-- ===================== F. RANGKUMAN ===================== --&gt;
  &lt;section class="section" id="rangkuman"&gt;
    &lt;div class="section-tag"&gt;&lt;span class="num"&gt;06&lt;/span&gt; Penguatan Konsep&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Rangkuman Materi&lt;/h2&gt;
    &lt;div class="summary-box"&gt;
      &lt;h4&gt;Poin-Poin Kunci&lt;/h4&gt;
      &lt;ul&gt;
        &lt;li&gt;Sistem operasi mengatur proses, memori, perangkat keras, file, dan antarmuka pengguna.&lt;/li&gt;
        &lt;li&gt;Contoh sistem operasi: Windows, macOS, Linux, Android, iOS, dan Chrome OS.&lt;/li&gt;
        &lt;li&gt;File memiliki nama, ekstensi, ukuran, dan path; folder menyusun file dalam struktur hierarki.&lt;/li&gt;
        &lt;li&gt;Operasi dasar pengelolaan file meliputi create, rename, copy, move, delete, dan compress.&lt;/li&gt;
        &lt;li&gt;Media penyimpanan terbagi atas internal (HDD/SSD), removable (flashdisk, HDD eksternal), dan cloud.&lt;/li&gt;
        &lt;li&gt;Cloud storage menyimpan file di server internet dan mensinkronkannya ke seluruh perangkat pengguna.&lt;/li&gt;
        &lt;li&gt;Cloud storage memudahkan akses dan kolaborasi, namun bergantung pada koneksi internet dan kuota penyimpanan.&lt;/li&gt;
        &lt;li&gt;Sistem operasi, manajemen file, dan cloud storage saling melengkapi dalam mendukung pekerjaan digital.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;!-- ===================== TUGAS KELOMPOK ===================== --&gt;
  &lt;section class="section" id="tugas"&gt;
    &lt;div class="section-tag"&gt;&lt;span class="num"&gt;07&lt;/span&gt; Aktivitas Belajar&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Tugas Kelompok&lt;/h2&gt;

    &lt;div class="task-panel"&gt;
      &lt;div class="task-head"&gt;
        &lt;span class="badge"&gt;Kerja Kelompok · 4–5 orang&lt;/span&gt;
        &lt;span class="badge" style="background:var(--chrome);"&gt;45 menit diskusi + 25 menit presentasi&lt;/span&gt;
      &lt;/div&gt;
      &lt;h3&gt;Membangun Struktur Folder &amp; Ekosistem Cloud Storage Kelompok&lt;/h3&gt;
      &lt;p&gt;Setiap kelompok merancang struktur folder digital untuk sebuah proyek belajar, kemudian mengimplementasikannya pada salah satu layanan cloud storage dan mempraktikkan cara berbagi file antar anggota.&lt;/p&gt;

      &lt;ol class="steps-num"&gt;
        &lt;li&gt;&lt;strong&gt;Bentuk kelompok&lt;/strong&gt; beranggotakan 4–5 orang dan pilih satu layanan cloud storage yang akan digunakan (Google Drive, OneDrive, atau Dropbox).&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Rancang struktur folder&lt;/strong&gt; untuk proyek "Portofolio Belajar Semester Ini" dengan minimal 1 folder utama dan 3 subfolder bertema (mis. per mata pelajaran atau per jenis tugas).&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Buat struktur folder tersebut&lt;/strong&gt; di akun cloud storage kelompok, lalu unggah minimal 3 contoh file ke dalamnya.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Atur pengaturan berbagi (sharing)&lt;/strong&gt; agar seluruh anggota kelompok dapat mengakses dan mengedit folder bersama.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Dokumentasikan prosesnya&lt;/strong&gt; dalam bentuk tangkapan layar (screenshot) struktur folder dan pengaturan berbagi.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Diskusikan dan tuliskan perbandingan&lt;/strong&gt;: kelebihan dan kekurangan menyimpan tugas di penyimpanan lokal (flashdisk/laptop) dibandingkan di cloud storage untuk skenario kerja kelompok.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Presentasikan&lt;/strong&gt; struktur folder, hasil dokumentasi, dan kesimpulan perbandingan di depan kelas selama maksimal 5 menit per kelompok.&lt;/li&gt;
      &lt;/ol&gt;

      &lt;h3 class="sub-title" style="margin-top:26px;"&gt;Format Laporan&lt;/h3&gt;
      &lt;p&gt;Laporan memuat: (1) nama layanan cloud &amp; anggota kelompok, (2) skema/daftar struktur folder yang dirancang, (3) tangkapan layar folder dan pengaturan berbagi di cloud, (4) tabel perbandingan penyimpanan lokal vs cloud.&lt;/p&gt;

      &lt;h3 class="sub-title"&gt;Rubrik Penilaian&lt;/h3&gt;
      &lt;table class="rubrik"&gt;
        &lt;tr&gt;&lt;th&gt;Aspek&lt;/th&gt;&lt;th&gt;Indikator&lt;/th&gt;&lt;th&gt;Skor Maks.&lt;/th&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Struktur Folder&lt;/td&gt;&lt;td&gt;Struktur folder logis, bertingkat, dan sesuai tema proyek&lt;/td&gt;&lt;td&gt;25&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Implementasi di Cloud&lt;/td&gt;&lt;td&gt;Folder dan file berhasil dibuat serta diunggah ke layanan cloud yang dipilih&lt;/td&gt;&lt;td&gt;25&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Pengaturan Berbagi&lt;/td&gt;&lt;td&gt;Pengaturan sharing tepat sehingga seluruh anggota dapat mengakses&lt;/td&gt;&lt;td&gt;20&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Analisis Perbandingan&lt;/td&gt;&lt;td&gt;Perbandingan lokal vs cloud logis, relevan, dan didukung alasan yang jelas&lt;/td&gt;&lt;td&gt;15&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Kerja Sama &amp; Presentasi&lt;/td&gt;&lt;td&gt;Seluruh anggota berkontribusi; presentasi jelas dan percaya diri&lt;/td&gt;&lt;td&gt;15&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td colspan="2" style="text-align:right; font-weight:600;"&gt;Total&lt;/td&gt;&lt;td&gt;100&lt;/td&gt;&lt;/tr&gt;
      &lt;/table&gt;
    &lt;/div&gt;

    &lt;div class="closing-task"&gt;
      &lt;div class="lbl"&gt;Penutup Pembelajaran · Tugas Individu&lt;/div&gt;
      &lt;p style="margin:0;"&gt;&lt;strong&gt;Tulislah satu kesimpulan ringkas (5–7 kalimat) di buku catatan kalian masing-masing&lt;/strong&gt;, yang merangkum keseluruhan materi hari ini: fungsi sistem operasi, cara mengelola file dan folder, jenis-jenis media penyimpanan, serta peran dan cara kerja cloud storage dalam mendukung pekerjaan digital. Tulis dengan bahasa dan pemahaman kalian sendiri, bukan menyalin ulang materi.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/section&gt;

&lt;/main&gt;

&lt;footer&gt;
  INFORMATIKA · SISTEM OPERASI, MANAJEMEN FILE &amp; PENYIMPANAN CLOUD · FASE E KELAS X SMK
&lt;/footer&gt;

&lt;/body&gt;
&lt;/html&gt;</description><link>http://kitab-investasi.blogspot.com/2026/08/sistem-operasi-manajemen-file.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-4375210522487967607</guid><pubDate>Tue, 04 Aug 2026 02:25:41 +0000</pubDate><atom:updated>2026-08-04T09:25:41.044+07:00</atom:updated><title>sertifikat kombel</title><description>&lt;!DOCTYPE html&gt;
&lt;html lang="id"&gt;
&lt;head&gt;
&lt;meta charset="UTF-8"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
&lt;title&gt;Generator Sertifikat&lt;/title&gt;

&lt;link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@700&amp;display=swap" rel="stylesheet"&gt;

&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"&gt;&lt;/script&gt;

&lt;style&gt;

body{
    font-family:Arial,sans-serif;
    background:#eef2f7;
    padding:20px;
    max-width:700px;
    margin:auto;
}

.card{
    background:white;
    padding:24px;
    border-radius:20px;
    box-shadow:0 10px 20px rgba(0,0,0,.1);
}

h2{
    text-align:center;
    color:#1e4668;
}

.confirm-box{
    background:#f0f6ff;
    border-left:5px solid #2c7da0;
    padding:16px;
    border-radius:16px;
    margin-bottom:20px;
    text-align:center;
}

.confirm-box p{
    margin-top:0;
    font-weight:bold;
    color:#1e4668;
}

.confirm-buttons{
    display:flex;
    gap:10px;
    margin-top:10px;
}

.confirm-buttons button{
    flex:1;
}

.yes-btn{
    background:#1f8a4c;
}

.yes-btn:hover{
    background:#166638;
}

.no-btn{
    background:#c0392b;
}

.no-btn:hover{
    background:#962d22;
}

input,select,button{
    width:100%;
    padding:12px;
    margin-top:10px;
    border-radius:12px;
    border:1px solid #ccc;
    font-size:16px;
}

button{
    background:#2c7da0;
    color:white;
    border:none;
    cursor:pointer;
    font-weight:bold;
}

button:hover{
    background:#1f5e7a;
}

button:disabled{
    background:#94a3b8;
    cursor:not-allowed;
}

input:disabled,
select:disabled{
    background:#f1f5f9;
}

#preview{
    width:100%;
    border-radius:12px;
    margin-top:10px;
}

.loading{
    display:none;
    margin-top:15px;
    color:#1e4668;
    font-weight:bold;
    text-align:center;
}

.status{
    margin-top:12px;
    font-weight:bold;
}

.success{
    color:#1f8a4c;
}

.error{
    color:#c0392b;
}

&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div class="card"&gt;

&lt;h2&gt;&#128220; Generator Sertifikat&lt;/h2&gt;

&lt;!-- ================= KONFIRMASI ================= --&gt;

&lt;div class="confirm-box"&gt;

&lt;p&gt;&#128269; Apakah Anda mengikuti pelatihan?&lt;/p&gt;

&lt;div class="confirm-buttons"&gt;

&lt;button class="yes-btn" onclick="confirmIkut()"&gt;
✅ YA, IKUT
&lt;/button&gt;

&lt;button class="no-btn" onclick="confirmTidakIkut()"&gt;
❌ TIDAK
&lt;/button&gt;

&lt;/div&gt;

&lt;div id="statusKonfirmasi" class="status"&gt;&lt;/div&gt;

&lt;/div&gt;

&lt;!-- ================= FORM ================= --&gt;

&lt;label&gt;Nama Lengkap&lt;/label&gt;

&lt;input
type="text"
id="nama"
placeholder="Contoh: Ahmad Fauzi"
disabled&gt;

&lt;label&gt;Peran&lt;/label&gt;

&lt;select id="peran" disabled&gt;
    &lt;option&gt;Peserta&lt;/option&gt;
    &lt;option&gt;Narasumber&lt;/option&gt;
&lt;/select&gt;

&lt;img
id="preview"
src="https://lh3.googleusercontent.com/d/1uGWwV5s0sYXgquBcnrH5_jyIFYnyMTHz"
alt="Template"&gt;

&lt;button
id="downloadBtn"
onclick="generatePDF()"
disabled&gt;

⬇️ UNDUH PDF

&lt;/button&gt;

&lt;div class="loading" id="loading"&gt;
Memproses PDF...
&lt;/div&gt;

&lt;/div&gt;

&lt;script&gt;

// ================= TEMPLATE (DIUBAH) =================

const FILE_ID =
'1uGWwV5s0sYXgquBcnrH5_jyIFYnyMTHz';  // &lt;-- ID baru

const TEMPLATE_URL =
`https://lh3.googleusercontent.com/d/${FILE_ID}`;

// ================= UTIL =================

function showLoading(show){

    document.getElementById('loading').style.display =
        show ? 'block' : 'none';

}

function getRomanMonth(monthIndex){

    const romawi = [
        "I","II","III","IV","V","VI",
        "VII","VIII","IX","X","XI","XII"
    ];

    return romawi[monthIndex];

}

function capitalizeEachWord(text){

    return text
        .toLowerCase()
        .replace(/\b\w/g,c=&gt;c.toUpperCase());

}

// ================= KONFIRMASI =================

function confirmIkut(){

    document.getElementById('nama').disabled = false;

    document.getElementById('peran').disabled = false;

    document.getElementById('downloadBtn').disabled = false;

    document.getElementById('statusKonfirmasi').innerHTML =
        '&lt;span class="success"&gt;✅ Konfirmasi diterima. Anda dapat mengunduh sertifikat.&lt;/span&gt;';

}

function confirmTidakIkut(){

    document.getElementById('nama').disabled = true;

    document.getElementById('peran').disabled = true;

    document.getElementById('downloadBtn').disabled = true;

    document.getElementById('statusKonfirmasi').innerHTML =
        '&lt;span class="error"&gt;❌ Anda tidak dapat mengunduh sertifikat.&lt;/span&gt;';

}

// ================= LOAD IMAGE =================

function loadImage(url){

    return new Promise((resolve,reject)=&gt;{

        const img = new Image();

        img.crossOrigin = "anonymous";

        img.onload = ()=&gt;resolve(img);

        img.onerror = ()=&gt;{

            reject(
                new Error(
                    'Template Google Drive gagal dimuat'
                )
            );

        };

        img.src = url + '?t=' + Date.now();

    });

}

// ================= NOMOR =================

async function generateNomor(){

    const now = new Date();

    const bulan =
        getRomanMonth(now.getMonth());

    const tahun =
        now.getFullYear();

    const nomor =
        Math.floor(Math.random()*900)+100;

    return `${nomor}/K/${bulan}/${tahun}`;

}

// ================= PDF =================

async function generatePDF(){

    const namaInput =
        document.getElementById('nama');

    const peranSelect =
        document.getElementById('peran');

    let nama =
        namaInput.value.trim();

    const peran =
        peranSelect.value;

    if(!nama){

        alert('Nama wajib diisi');

        return;

    }

    nama =
        capitalizeEachWord(nama);

    showLoading(true);

    try{

        await document.fonts.ready;

        const img =
            await loadImage(TEMPLATE_URL);

        const canvas =
            document.createElement('canvas');

        canvas.width = img.width;
        canvas.height = img.height;

        const ctx =
            canvas.getContext('2d');

        ctx.drawImage(
            img,
            0,
            0,
            canvas.width,
            canvas.height
        );

        // ================= POSISI =================

        const nomorY =
            canvas.height * 0.235;

        const namaY =
            canvas.height * 0.3990;

        const peranY =
            canvas.height * 0.5420;

        // ================= STYLE =================

        ctx.textAlign = 'center';

        ctx.textBaseline = 'middle';

        ctx.fillStyle = '#000';

        // nomor
        const nomorSertifikat =
            await generateNomor();

        ctx.font =
            `bold ${canvas.width*0.0125}px Montserrat`;

        ctx.fillText(
            nomorSertifikat,
            canvas.width/2,
            nomorY
        );

        // nama auto shrink
        let fontSize =
            canvas.width * 0.031;

        ctx.font =
            `700 ${fontSize}px Montserrat`;

        let textWidth =
            ctx.measureText(nama).width;

        const maxWidth =
            canvas.width - 180;

        while(
            textWidth &gt; maxWidth &amp;&amp;
            fontSize &gt; 20
        ){

            fontSize -= 2;

            ctx.font =
                `700 ${fontSize}px Montserrat`;

            textWidth =
                ctx.measureText(nama).width;

        }

        ctx.fillText(
            nama,
            canvas.width/2,
            namaY
        );

        // peran
        ctx.font =
            `bold ${canvas.width*0.024}px Montserrat`;

        ctx.fillText(
            peran,
            canvas.width/2,
            peranY
        );

        // ================= PDF =================

        const imageData =
            canvas.toDataURL(
                'image/jpeg',
                1.0
            );

        const { jsPDF } =
            window.jspdf;

        const pdf =
            new jsPDF({

                orientation:
                    canvas.width &gt; canvas.height
                    ? 'landscape'
                    : 'portrait',

                unit:'px',

                format:[
                    canvas.width,
                    canvas.height
                ]

            });

        pdf.addImage(
            imageData,
            'JPEG',
            0,
            0,
            canvas.width,
            canvas.height
        );

        const safeName =
            nama.replace(/[^a-z0-9]/gi,'_');

        pdf.save(
            `Sertifikat_${safeName}.pdf`
        );

    }catch(error){

        console.error(error);

        alert(
            '❌ Gagal membuat PDF\n\n' +
            error.message +
            '\n\nPastikan file Google Drive bersifat PUBLIC.'
        );

    }finally{

        showLoading(false);

    }

}

&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</description><link>http://kitab-investasi.blogspot.com/2026/08/sertifikat-kombel.html</link><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://lh3.googleusercontent.com/d/1uGWwV5s0sYXgquBcnrH5_jyIFYnyMTHz=s72-c" width="72"/><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-639845434598151534</guid><pubDate>Tue, 04 Aug 2026 00:35:15 +0000</pubDate><atom:updated>2026-08-04T07:38:59.337+07:00</atom:updated><title>Kaidah Kebahasaan Teks Prosedur (Bagian 1)</title><description>&lt;style&gt;
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&amp;family=Source+Sans+3:wght@400;500;600;700&amp;family=IBM+Plex+Mono:wght@400;500;600&amp;display=swap');
.epb{
  --blueprint:#0F2A3D;
  --blueprint-deep:#0A1E2C;
  --panel:#4A2E12;
  --paper:#F3F0E6;
  --ink:#132029;
  --amber:#F5A623;
  --amber-deep:#C97F12;
  --mint:#6EC6CA;
  --line:rgba(234,242,245,0.16);
  --off-white:#EAF2F5;
  --muted:#9FB4C2;
}
.epb *{box-sizing:border-box;}
.epb{scroll-behavior:smooth; background:#0A1F2E;}
.epb{
  margin:0;
  position:relative;
  overflow:hidden;
  background:var(--blueprint);
  color:var(--off-white);
  font-family:'Source Sans 3',sans-serif;
  line-height:1.65;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 34px 34px;
}
.epb h1, .epb h2, .epb h3, .epb h4{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:0.02em; margin:0 0 0.5em;}
.epb .mono{font-family:'IBM Plex Mono',monospace;}
.epb a{color:var(--amber);}
.epb .crop{position:absolute; width:22px; height:22px; z-index:5; opacity:.55; pointer-events:none;}
.epb .crop::before, .epb .crop::after{content:"";position:absolute;background:var(--mint);}
.epb .crop::before{width:100%;height:1px;top:50%;left:0;}
.epb .crop::after{width:1px;height:100%;left:50%;top:0;}
.epb .crop.tl{top:14px;left:14px;}
.epb .crop.tr{top:14px;right:14px;}
.epb .crop.bl{bottom:14px;left:14px;}
.epb .crop.br{bottom:14px;right:14px;}
.epb header.cover{
  position:relative;
  padding:40px 24px 36px;
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.epb .doc-code{font-family:'IBM Plex Mono',monospace; color:var(--amber); letter-spacing:0.15em; font-size:0.78rem; text-transform:uppercase; margin-bottom:18px; display:flex; gap:10px; align-items:center;}
.epb .doc-code::before{content:"◆"; color:var(--amber);}
.epb .cover h1{font-size:clamp(1.6rem,7vw,2.5rem); color:var(--off-white); max-width:16ch; line-height:1.05;}
.epb .cover .subtitle{color:var(--muted); font-size:1.05rem; max-width:60ch; margin-top:14px;}
.epb .meta-strip{
  margin-top:38px; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  border-top:1px dashed var(--line); border-bottom:1px dashed var(--line);
}
.epb .meta-strip div{padding:14px 16px; border-right:1px dashed var(--line);}
.epb .meta-strip div:last-child{border-right:none;}
.epb .meta-strip .k{font-family:'IBM Plex Mono',monospace; font-size:0.68rem; color:var(--amber); text-transform:uppercase; letter-spacing:0.1em;}
.epb .meta-strip .v{font-size:0.98rem; color:var(--off-white); margin-top:4px; font-weight:600;}
.epb .stamp{
  position:absolute; top:40px; right:20px; width:104px; height:104px;
  border:2.5px solid var(--amber); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  transform:rotate(-11deg);
  color:var(--amber); font-family:'IBM Plex Mono',monospace;
  text-align:center; font-size:0.62rem; letter-spacing:0.08em; text-transform:uppercase;
  opacity:0.9;
}
.epb .stamp .ring{position:absolute; inset:8px; border:1px dashed var(--amber); border-radius:50%;}
.epb .stamp b{display:block; font-family:'Oswald',sans-serif; font-size:1.05rem; letter-spacing:0.06em; margin-top:4px;}

@media (max-width:760px){.epb .stamp{display:none;}
.epb }


.epb main{max-width:920px; margin:0 auto; padding:0 20px 60px;}
.epb .section{padding-top:64px;}
.epb .eyebrow{font-family:'IBM Plex Mono',monospace; color:var(--amber); font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:10px; display:flex; align-items:center; gap:10px;}
.epb .eyebrow::after{content:""; flex:1; height:1px; background:var(--line);}
.epb h2.section-title{font-size:1.7rem; color:var(--off-white);}
.epb p{color:#DDE7EC;}
.epb .lead{color:var(--muted); font-size:1.02rem; max-width:72ch;}
.epb .panel{
  background:var(--panel); border:1px solid var(--line); border-radius:2px;
  padding:26px 28px; margin:22px 0;
}
.epb .panel.tp{border-left:4px solid var(--mint);}
.epb .panel.warn{border-left:4px solid var(--amber);}
.epb .tp-box{display:grid; gap:14px; margin-top:18px;}
.epb .tp-item{display:flex; gap:14px; align-items:flex-start;}
.epb .tp-item .idx{font-family:'IBM Plex Mono',monospace; color:var(--amber); font-weight:600; min-width:34px;}
.epb .flow{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; margin-top:20px;}
.epb .flow .step{background:var(--blueprint-deep); border:1px solid var(--line); padding:18px; position:relative;}
.epb .flow .step .tag{font-family:'IBM Plex Mono',monospace; color:var(--amber); font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase;}
.epb .flow .step h4{font-size:1rem; margin-top:8px; color:var(--off-white);}
.epb .flow .step .time{position:absolute; top:16px; right:16px; font-family:'IBM Plex Mono',monospace; font-size:0.7rem; color:var(--amber);}
.epb .grid-3{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; margin-top:16px;}
.epb .card{background:var(--blueprint-deep); border:1px solid var(--line); padding:18px;}
.epb .card h4{color:var(--amber); font-size:0.95rem;}
.epb .criteria{display:grid; gap:16px; margin-top:20px;}
.epb .crit{
  background:var(--blueprint-deep); border:1px solid var(--line);
  display:grid; grid-template-columns:64px 1fr; gap:0;
}
.epb .crit .num{
  background:var(--amber); color:var(--blueprint-deep); font-family:'IBM Plex Mono',monospace;
  font-weight:700; display:flex; align-items:center; justify-content:center; font-size:1.05rem;
}
.epb .crit .body{padding:18px 20px;}
.epb .crit h4{color:var(--off-white); font-size:1.02rem; margin-bottom:6px;}
.epb .crit .q{margin-top:10px; padding-top:10px; border-top:1px dashed var(--line); font-family:'IBM Plex Mono',monospace; font-size:0.86rem; color:var(--amber);}
.epb .timeline{margin-top:24px; position:relative; padding-left:34px;}
.epb .timeline::before{content:""; position:absolute; left:11px; top:6px; bottom:6px; width:2px; background:var(--line);}
.epb .tl-item{position:relative; padding-bottom:26px;}
.epb .tl-item:last-child{padding-bottom:0;}
.epb .tl-item::before{content:""; position:absolute; left:-34px; top:2px; width:22px; height:22px; border-radius:50%; background:var(--blueprint); border:2px solid var(--amber);}
.epb .tl-item h4{color:var(--off-white); font-size:1rem; margin-bottom:4px;}
.epb .doc-sample{
  background:var(--paper); color:var(--ink); border-radius:2px; padding:0; margin-top:22px;
  box-shadow:0 20px 45px rgba(0,0,0,0.35);
}
.epb .doc-sample .doc-head{background:var(--ink); color:var(--paper); padding:12px 22px; font-family:'IBM Plex Mono',monospace; font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; display:flex; justify-content:space-between;}
.epb .doc-sample .doc-body{padding:26px 28px 30px;}
.epb .doc-sample h3{font-family:'Oswald',sans-serif; color:var(--ink); font-size:1.25rem; text-transform:none; letter-spacing:0;}
.epb .doc-sample ol{padding-left:22px;}
.epb .doc-sample li{margin-bottom:9px;}
.epb .flag{
  display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:0.7rem; font-weight:600;
  background:#D94E2A; color:#fff; padding:1px 7px; border-radius:2px; margin-left:6px; vertical-align:middle;
}
.epb .doc-sample .note-margin{margin-top:6px; font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:#8A3A1F; padding-left:8px; border-left:2px solid #D94E2A;}
.epb .legend{display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:16px;}
.epb .legend span{font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:var(--muted); display:flex; align-items:center; gap:8px;}
.epb .legend .dot{width:10px; height:10px; border-radius:50%; display:inline-block;}
.epb table{width:100%; border-collapse:collapse; margin-top:18px; font-size:0.94rem;}
.epb th, .epb td{border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top;}
.epb th{background:var(--blueprint-deep); font-family:'IBM Plex Mono',monospace; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--amber);}
.epb .summary-box{
  border:1px solid var(--amber); background:linear-gradient(180deg, rgba(245,166,35,0.08), transparent);
  padding:24px 26px; margin-top:24px;
}
.epb .summary-box ul{margin:10px 0 0; padding-left:20px;}
.epb .summary-box li{margin-bottom:8px;}
.epb .task-header{
  background:var(--amber); color:var(--blueprint-deep); padding:22px 26px; margin-top:20px;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
}
.epb .task-header h2{color:var(--blueprint-deep); font-size:1.4rem; margin:0;}
.epb .task-header .badge{font-family:'IBM Plex Mono',monospace; font-size:0.8rem; background:var(--blueprint-deep); color:var(--amber); padding:6px 12px; border-radius:2px;}
.epb .steps-num{counter-reset:step; margin-top:18px; list-style:none; padding:0;}
.epb .steps-num li{counter-increment:step; position:relative; padding-left:44px; margin-bottom:16px;}
.epb .steps-num li::before{content:counter(step,decimal-leading-zero); position:absolute; left:0; top:0; font-family:'IBM Plex Mono',monospace; color:var(--amber); font-weight:600; font-size:0.95rem; border:1px solid var(--amber); width:30px; height:26px; display:flex; align-items:center; justify-content:center;}
.epb .rubric-scale{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:16px;}
.epb .rubric-scale div{background:var(--blueprint-deep); border:1px solid var(--line); padding:12px; text-align:center;}
.epb .rubric-scale .n{font-family:'IBM Plex Mono',monospace; color:var(--amber); font-size:1.3rem; font-weight:700;}
.epb .rubric-scale .l{font-size:0.78rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.05em;}
.epb .notebook{
  background:repeating-linear-gradient(var(--paper), var(--paper) 33px, #D8D3C2 34px);
  color:var(--ink); border-radius:2px; padding:28px 30px; margin-top:20px; position:relative;
  box-shadow:0 20px 45px rgba(0,0,0,0.35);
}
.epb .notebook::before{content:""; position:absolute; left:46px; top:0; bottom:0; width:1.5px; background:#C0453A; opacity:0.5;}
.epb .notebook .content{padding-left:24px;}
.epb .notebook h3{color:var(--ink); font-family:'Oswald',sans-serif; letter-spacing:0.02em; margin-bottom:10px;}
.epb .notebook ul{padding-left:20px;}
.epb footer{border-top:1px solid var(--line); padding:24px 20px 40px; color:var(--muted); font-size:0.86rem;}
.epb footer .doc-code{margin-bottom:10px;}
.epb .divider-dash{border:none; border-top:1px dashed var(--line); margin:44px 0 0;}
.epb::selection{background:var(--amber); color:var(--blueprint-deep);}

&lt;/style&gt;
&lt;div class="epb"&gt;
&lt;div class="crop tl"&gt;&lt;/div&gt;&lt;div class="crop tr"&gt;&lt;/div&gt;&lt;div class="crop bl"&gt;&lt;/div&gt;&lt;div class="crop br"&gt;&lt;/div&gt;

&lt;header class="cover"&gt;
  &lt;div class="stamp"&gt;&lt;div class="ring"&gt;&lt;/div&gt;&lt;span&gt;Modul Ajar&lt;b&gt;Terverifikasi&lt;/b&gt;Fase F&lt;/span&gt;&lt;/div&gt;
  &lt;div class="doc-code"&gt;DOK/B.INDO/XI/PROSEDUR-KAIDAH-1 — 3 JP · 1 Pertemuan&lt;/div&gt;
  &lt;h1&gt;Kaidah Kebahasaan Teks Prosedur (Bagian 1)&lt;/h1&gt;
  &lt;p class="subtitle"&gt;Materi Bahasa Indonesia Kelas XI SMK/MAK — melatih murid mengidentifikasi ciri kebahasaan teks prosedur: kalimat imperatif, deklaratif, persuasif, dan konjungsi temporal.&lt;/p&gt;

  &lt;div class="meta-strip"&gt;
    &lt;div&gt;&lt;div class="k"&gt;Mata Pelajaran&lt;/div&gt;&lt;div class="v"&gt;Bahasa Indonesia&lt;/div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;div class="k"&gt;Jenjang&lt;/div&gt;&lt;div class="v"&gt;SMK/MAK — Kelas XI&lt;/div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;div class="k"&gt;Elemen&lt;/div&gt;&lt;div class="v"&gt;Membaca &amp;amp; Memirsa&lt;/div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;div class="k"&gt;Alokasi Waktu&lt;/div&gt;&lt;div class="v"&gt;3 JP (3 × 45 menit)&lt;/div&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/header&gt;

&lt;main&gt;

  &lt;!-- ============ TUJUAN PEMBELAJARAN ============ --&gt;
  &lt;section class="section" id="tujuan"&gt;
    &lt;div class="eyebrow"&gt;01 — Identitas Pembelajaran&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Capaian &amp;amp; Tujuan Pembelajaran&lt;/h2&gt;

    &lt;div class="panel tp"&gt;
      &lt;div class="eyebrow" style="margin-bottom:6px;"&gt;Capaian Pembelajaran (Elemen Membaca–Memirsa)&lt;/div&gt;
      &lt;p&gt;Murid mampu mengidentifikasi dan menganalisis ciri kebahasaan pada berbagai jenis teks, termasuk teks prosedur, untuk memahami bagaimana bahasa digunakan secara efektif dalam menyampaikan instruksi kepada pembaca.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class="panel"&gt;
      &lt;div class="eyebrow" style="margin-bottom:6px;"&gt;Tujuan Pembelajaran&lt;/div&gt;
      &lt;p style="font-size:1.05rem; color:var(--off-white); font-weight:600;"&gt;Murid mampu mengidentifikasi ciri-ciri kebahasaan teks prosedur, seperti kalimat imperatif, deklaratif, persuasif, dan konjungsi temporal.&lt;/p&gt;

      &lt;div class="tp-box"&gt;
        &lt;div class="tp-item"&gt;&lt;span class="idx mono"&gt;TP.1&lt;/span&gt;&lt;p&gt;Murid dapat menjelaskan pengertian dan ciri kalimat imperatif dalam teks prosedur.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="tp-item"&gt;&lt;span class="idx mono"&gt;TP.2&lt;/span&gt;&lt;p&gt;Murid dapat menjelaskan pengertian dan ciri kalimat deklaratif dalam teks prosedur.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="tp-item"&gt;&lt;span class="idx mono"&gt;TP.3&lt;/span&gt;&lt;p&gt;Murid dapat menjelaskan pengertian dan ciri kalimat persuasif dalam teks prosedur.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="tp-item"&gt;&lt;span class="idx mono"&gt;TP.4&lt;/span&gt;&lt;p&gt;Murid dapat mengidentifikasi konjungsi temporal serta menemukan keempat ciri kebahasaan tersebut dalam sebuah teks prosedur.&lt;/p&gt;&lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class="eyebrow" style="margin-top:26px; margin-bottom:6px;"&gt;8 Profil Lulusan yang Dikembangkan&lt;/div&gt;
    &lt;div class="grid-3"&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Penalaran Kritis&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Menganalisis fungsi setiap jenis kalimat dan konjungsi dalam teks prosedur.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Kemandirian&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Menyelesaikan identifikasi dan rangkuman secara mandiri.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Kolaborasi&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Bekerja sama dalam kelompok saat menganalisis ciri kebahasaan teks.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Komunikasi&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Menyampaikan hasil identifikasi ciri kebahasaan secara jelas dan runtut.&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI A: RECAP ============ --&gt;
  &lt;section class="section" id="materi-a"&gt;
    &lt;div class="eyebrow"&gt;02 — Materi Inti A&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Mengingat Kembali Ciri Umum Teks Prosedur&lt;/h2&gt;
    &lt;p class="lead"&gt;Teks prosedur memiliki kaidah kebahasaan yang khas karena tujuannya mengarahkan pembaca melakukan suatu tindakan. Pada pertemuan ini, murid akan mempelajari empat ciri kebahasaan utama teks prosedur.&lt;/p&gt;

    &lt;div class="grid-3"&gt;
      &lt;div class="card"&gt;&lt;h4&gt;1. Kalimat Imperatif&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Kalimat perintah yang mengarahkan pembaca melakukan tindakan.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;2. Kalimat Deklaratif&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Kalimat pernyataan yang menyampaikan fakta atau informasi.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;3. Kalimat Persuasif&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Kalimat ajakan/bujukan agar pembaca mengikuti langkah dengan sungguh-sungguh.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;4. Konjungsi Temporal&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Kata penghubung yang menandai urutan waktu antarlangkah.&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI B: IMPERATIF ============ --&gt;
  &lt;section class="section" id="materi-b"&gt;
    &lt;div class="eyebrow"&gt;03 — Materi Inti B&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Kalimat Imperatif dalam Teks Prosedur&lt;/h2&gt;

    &lt;div class="panel"&gt;
      &lt;p&gt;&lt;b style="color:var(--off-white);"&gt;Kalimat imperatif&lt;/b&gt; adalah kalimat yang berisi perintah, larangan, permintaan, atau anjuran kepada pembaca agar melakukan suatu tindakan. Kalimat ini merupakan ciri paling dominan dalam teks prosedur karena berfungsi langsung mengarahkan langkah-langkah yang harus dilakukan.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class="grid-3"&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Perintah biasa&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;"Panaskan minyak dalam wajan."&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Larangan&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;"Jangan gunakan alat dalam keadaan basah."&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Permintaan/anjuran halus&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;"Tunggulah hingga adonan mengembang."&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
    &lt;p class="lead" style="margin-top:14px;"&gt;&lt;b style="color:var(--off-white);"&gt;Ciri penanda:&lt;/b&gt; biasanya berakhiran &lt;i&gt;-lah&lt;/i&gt; atau &lt;i&gt;-kan&lt;/i&gt;, menggunakan kata kerja dasar tanpa subjek eksplisit, dan sering diakhiri tanda seru atau titik.&lt;/p&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI C: DEKLARATIF ============ --&gt;
  &lt;section class="section" id="materi-c"&gt;
    &lt;div class="eyebrow"&gt;04 — Materi Inti C&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Kalimat Deklaratif dalam Teks Prosedur&lt;/h2&gt;

    &lt;div class="panel"&gt;
      &lt;p&gt;&lt;b style="color:var(--off-white);"&gt;Kalimat deklaratif&lt;/b&gt; adalah kalimat yang menyatakan suatu fakta, informasi, atau penjelasan kepada pembaca tanpa memerintah. Dalam teks prosedur, kalimat ini biasanya muncul pada bagian tujuan, pengantar, atau catatan tambahan untuk memberi konteks sebelum atau setelah langkah-langkah dijelaskan.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class="grid-3"&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Pada bagian tujuan&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;"Prosedur ini bertujuan menjaga kebersihan alat dapur."&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Pada bagian penjelas&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;"Minyak yang terlalu panas dapat merusak tekstur makanan."&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Pada catatan tambahan&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;"Alat ini umumnya digunakan di dapur rumah tangga."&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
    &lt;p class="lead" style="margin-top:14px;"&gt;&lt;b style="color:var(--off-white);"&gt;Ciri penanda:&lt;/b&gt; berupa kalimat berita, tidak mengandung perintah, dan biasanya diakhiri tanda titik.&lt;/p&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI D: PERSUASIF ============ --&gt;
  &lt;section class="section" id="materi-d"&gt;
    &lt;div class="eyebrow"&gt;05 — Materi Inti D&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Kalimat Persuasif dalam Teks Prosedur&lt;/h2&gt;

    &lt;div class="panel"&gt;
      &lt;p&gt;&lt;b style="color:var(--off-white);"&gt;Kalimat persuasif&lt;/b&gt; adalah kalimat yang bertujuan membujuk atau meyakinkan pembaca agar mengikuti langkah-langkah dengan sungguh-sungguh, biasanya muncul pada bagian tips, peringatan, atau penutup teks prosedur.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class="grid-3"&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Ajakan&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;"Sebaiknya langkah ini dilakukan secara rutin agar hasilnya maksimal."&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Penekanan manfaat&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;"Dengan mengikuti langkah ini, alat akan lebih awet digunakan."&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Peringatan halus&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;"Pastikan langkah ini tidak dilewatkan agar hasil kerja optimal."&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
    &lt;p class="lead" style="margin-top:14px;"&gt;&lt;b style="color:var(--off-white);"&gt;Ciri penanda:&lt;/b&gt; sering menggunakan kata "sebaiknya", "agar", "disarankan", "pastikan", dan menekankan alasan atau manfaat mengikuti langkah.&lt;/p&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI E: KONJUNGSI TEMPORAL ============ --&gt;
  &lt;section class="section" id="materi-e"&gt;
    &lt;div class="eyebrow"&gt;06 — Materi Inti E&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Konjungsi Temporal dalam Teks Prosedur&lt;/h2&gt;

    &lt;div class="panel"&gt;
      &lt;p&gt;&lt;b style="color:var(--off-white);"&gt;Konjungsi temporal&lt;/b&gt; adalah kata penghubung yang menandai urutan waktu antarlangkah dalam teks prosedur, sehingga pembaca dapat memahami langkah mana yang harus dilakukan lebih dulu dan langkah berikutnya.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class="grid-3"&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Penanda awal&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;pertama, mula-mula, langkah awal&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Penanda lanjutan&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;kemudian, selanjutnya, setelah itu, lalu&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Penanda akhir&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;terakhir, akhirnya, hingga selesai&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI F: TABEL RANGKUMAN CIRI ============ --&gt;
  &lt;section class="section" id="materi-f"&gt;
    &lt;div class="eyebrow"&gt;07 — Materi Inti F&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Rangkuman Empat Ciri Kebahasaan Teks Prosedur&lt;/h2&gt;

    &lt;table&gt;
      &lt;tr&gt;&lt;th style="width:20%;"&gt;Ciri Kebahasaan&lt;/th&gt;&lt;th style="width:28%;"&gt;Fungsi&lt;/th&gt;&lt;th style="width:26%;"&gt;Penanda&lt;/th&gt;&lt;th&gt;Contoh&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kalimat Imperatif&lt;/td&gt;&lt;td&gt;Mengarahkan pembaca melakukan tindakan&lt;/td&gt;&lt;td&gt;Akhiran -lah/-kan, tanpa subjek eksplisit&lt;/td&gt;&lt;td&gt;"Aduk adonan hingga rata."&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kalimat Deklaratif&lt;/td&gt;&lt;td&gt;Menyampaikan fakta/informasi pendukung&lt;/td&gt;&lt;td&gt;Kalimat berita, tanpa perintah&lt;/td&gt;&lt;td&gt;"Adonan yang baik bertekstur lembut."&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kalimat Persuasif&lt;/td&gt;&lt;td&gt;Membujuk pembaca mengikuti langkah dengan sungguh-sungguh&lt;/td&gt;&lt;td&gt;Kata "sebaiknya", "agar", "pastikan"&lt;/td&gt;&lt;td&gt;"Sebaiknya adonan didiamkan 10 menit agar mengembang sempurna."&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Konjungsi Temporal&lt;/td&gt;&lt;td&gt;Menandai urutan waktu antarlangkah&lt;/td&gt;&lt;td&gt;Kata "kemudian", "setelah itu", "lalu"&lt;/td&gt;&lt;td&gt;"Kemudian, masukkan adonan ke dalam oven."&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ PEMODELAN ============ --&gt;
  &lt;section class="section" id="contoh"&gt;
    &lt;div class="eyebrow"&gt;08 — Pemodelan&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Contoh Penerapan: Mengidentifikasi Ciri Kebahasaan&lt;/h2&gt;
    &lt;p class="lead"&gt;Guru membacakan dan membahas bersama contoh berikut sebagai model identifikasi sebelum murid mengerjakan tugas kelompok. Setiap kalimat ditandai sesuai ciri kebahasaannya.&lt;/p&gt;

    &lt;div class="doc-sample"&gt;
      &lt;div class="doc-head"&gt;&lt;span&gt;Lampiran · Teks Prosedur Contoh&lt;/span&gt;&lt;span&gt;Dokumen-01&lt;/span&gt;&lt;/div&gt;
      &lt;div class="doc-body"&gt;
        &lt;h3 style="color:#132029 !important;"&gt;Prosedur Menjaga Kesehatan Mata saat Bekerja di Depan Layar Komputer&lt;/h3&gt;
        &lt;p style="margin-top:-4px; color:#4b5a63 !important;"&gt;&lt;i&gt;Tujuan: Menjaga kesehatan mata agar tidak cepat lelah selama bekerja atau belajar menggunakan komputer.&lt;/i&gt;&lt;/p&gt;
        &lt;ol style="color:#132029 !important;"&gt;
          &lt;li style="color:#132029 !important;"&gt;Aturlah jarak pandang layar komputer sekitar 50–70 cm dari mata.&lt;span class="flag"&gt;IMPERATIF&lt;/span&gt;&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Sesuaikan tingkat kecerahan layar agar tidak terlalu terang atau terlalu redup.&lt;span class="flag"&gt;IMPERATIF&lt;/span&gt;&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Kemudian, terapkan aturan 20-20-20: setiap 20 menit, alihkan pandangan ke objek sejauh 20 kaki selama 20 detik.&lt;span class="flag"&gt;KONJUNGSI TEMPORAL&lt;/span&gt;&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Berkediplah lebih sering agar mata tidak kering.&lt;span class="flag"&gt;IMPERATIF&lt;/span&gt;&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Setelah itu, gunakan kacamata anti-radiasi jika diperlukan.&lt;span class="flag"&gt;KONJUNGSI TEMPORAL&lt;/span&gt;&lt;/li&gt;
        &lt;/ol&gt;
        &lt;div class="note-margin" style="margin-top:10px; color:#8A3A1F !important;"&gt;Paparan layar dalam waktu lama dapat menyebabkan mata lelah, kering, bahkan menurunkan konsentrasi. &lt;b&gt;(kalimat deklaratif — fakta pendukung)&lt;/b&gt;&lt;/div&gt;
        &lt;div class="note-margin" style="margin-top:10px; color:#8A3A1F !important;"&gt;Sebaiknya langkah-langkah ini dilakukan secara rutin agar kesehatan mata tetap terjaga selama bekerja atau belajar. &lt;b&gt;(kalimat persuasif — penutup)&lt;/b&gt;&lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class="panel" style="margin-top:22px;"&gt;
      &lt;p style="margin:0;"&gt;&lt;b style="color:var(--off-white);"&gt;Simpulan model identifikasi:&lt;/b&gt; Teks di atas didominasi kalimat imperatif pada bagian langkah-langkah, dua konjungsi temporal ("kemudian" dan "setelah itu") menandai urutan langkah, satu kalimat deklaratif memberi fakta pendukung, dan satu kalimat persuasif pada bagian penutup membujuk pembaca agar konsisten menerapkan langkah tersebut.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ RANGKUMAN ============ --&gt;
  &lt;section class="section" id="rangkuman"&gt;
    &lt;div class="eyebrow"&gt;09 — Ringkasan Materi&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Poin-Poin Penting&lt;/h2&gt;
    &lt;div class="summary-box"&gt;
      &lt;ul&gt;
        &lt;li&gt;Kalimat imperatif mengarahkan pembaca melakukan tindakan dan menjadi ciri paling dominan dalam teks prosedur.&lt;/li&gt;
        &lt;li&gt;Kalimat deklaratif menyampaikan fakta atau informasi pendukung, biasanya pada bagian tujuan atau catatan tambahan.&lt;/li&gt;
        &lt;li&gt;Kalimat persuasif membujuk pembaca agar mengikuti langkah dengan sungguh-sungguh, biasanya pada bagian tips atau penutup.&lt;/li&gt;
        &lt;li&gt;Konjungsi temporal menandai urutan waktu antarlangkah, seperti "pertama", "kemudian", "setelah itu", dan "terakhir".&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ TUGAS KELOMPOK ============ --&gt;
  &lt;section class="section" id="tugas-kelompok"&gt;
    &lt;div class="eyebrow"&gt;10 — Lembar Kerja&lt;/div&gt;
    &lt;div class="task-header"&gt;
      &lt;h2&gt;Tugas Kelompok: Mengidentifikasi Ciri Kebahasaan Teks Prosedur&lt;/h2&gt;
      &lt;span class="badge"&gt;Durasi ± 60 menit&lt;/span&gt;
    &lt;/div&gt;

    &lt;p style="margin-top:18px;"&gt;&lt;b style="color:var(--off-white);"&gt;Tujuan tugas:&lt;/b&gt; Murid secara berkelompok mengidentifikasi kalimat imperatif, deklaratif, persuasif, dan konjungsi temporal pada teks prosedur berikut, lalu mempresentasikan hasil temuannya.&lt;/p&gt;

    &lt;div class="doc-sample" style="margin-top:20px;"&gt;
      &lt;div class="doc-head"&gt;&lt;span&gt;Lampiran · Teks Prosedur untuk Diidentifikasi&lt;/span&gt;&lt;span&gt;Dokumen-02&lt;/span&gt;&lt;/div&gt;
      &lt;div class="doc-body"&gt;
        &lt;h3 style="color:#132029 !important;"&gt;Prosedur Mencuci Tangan yang Benar sesuai Anjuran Kesehatan&lt;/h3&gt;
        &lt;p style="margin-top:-4px; color:#4b5a63 !important;"&gt;&lt;i&gt;Tujuan: Membersihkan tangan dari kuman dan kotoran agar terhindar dari penyakit.&lt;/i&gt;&lt;/p&gt;
        &lt;ol style="color:#132029 !important;"&gt;
          &lt;li style="color:#132029 !important;"&gt;Basahi kedua tangan dengan air mengalir.&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Gunakan sabun secukupnya, lalu gosok telapak tangan hingga berbusa.&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Bersihkan sela-sela jari, punggung tangan, dan kuku secara menyeluruh.&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Setelah itu, bilas tangan dengan air mengalir hingga bersih.&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Keringkan tangan menggunakan tisu atau kain bersih.&lt;/li&gt;
        &lt;/ol&gt;
        &lt;p style="margin:10px 0 0; color:#132029 !important;"&gt;Tangan merupakan bagian tubuh yang paling sering bersentuhan dengan kuman penyebab penyakit.&lt;/p&gt;
        &lt;p style="margin:10px 0 0; color:#4b5a63 !important;"&gt;&lt;i&gt;Sebaiknya kebiasaan mencuci tangan ini dilakukan secara rutin, terutama sebelum makan dan setelah beraktivitas di luar rumah, agar tubuh tetap sehat.&lt;/i&gt;&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;p class="lead" style="margin-top:14px;"&gt;Teks di atas &lt;b style="color:var(--off-white);"&gt;belum ditandai&lt;/b&gt; — tugas kelompok adalah menemukan sendiri kalimat imperatif, deklaratif, persuasif, dan konjungsi temporal yang terdapat di dalamnya.&lt;/p&gt;

    &lt;h4 style="color:var(--off-white); margin-top:24px;"&gt;Petunjuk Pengerjaan&lt;/h4&gt;
    &lt;ol class="steps-num"&gt;
      &lt;li&gt;&lt;b&gt;Bentuk kelompok&lt;/b&gt; beranggotakan 4–5 orang sesuai pembagian dari guru.&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Baca teks prosedur&lt;/b&gt; di atas secara bersama-sama dalam kelompok.&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Tandai setiap kalimat&lt;/b&gt; sesuai jenisnya (imperatif, deklaratif, atau persuasif) dan garis bawahi konjungsi temporal yang ditemukan.&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Isi Tabel Identifikasi&lt;/b&gt; di bawah ini untuk setiap ciri kebahasaan.&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Presentasikan hasil&lt;/b&gt; di depan kelas selama maksimal 5 menit per kelompok, dilanjutkan tanya jawab singkat.&lt;/li&gt;
    &lt;/ol&gt;

    &lt;h4 style="color:var(--off-white); margin-top:26px;"&gt;Format Tabel Identifikasi Kelompok&lt;/h4&gt;
    &lt;table&gt;
      &lt;tr&gt;&lt;th style="width:22%;"&gt;Ciri Kebahasaan&lt;/th&gt;&lt;th style="width:38%;"&gt;Contoh Kalimat/Kata yang Ditemukan&lt;/th&gt;&lt;th style="width:12%;"&gt;Jumlah&lt;/th&gt;&lt;th&gt;Fungsi dalam Teks&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kalimat Imperatif&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kalimat Deklaratif&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kalimat Persuasif&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Konjungsi Temporal&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;

    &lt;h4 style="color:var(--off-white); margin-top:26px;"&gt;Rubrik Penilaian Kelompok&lt;/h4&gt;
    &lt;table&gt;
      &lt;tr&gt;&lt;th style="width:26%;"&gt;Aspek Penilaian&lt;/th&gt;&lt;th&gt;Skor 4 (Sangat Baik)&lt;/th&gt;&lt;th&gt;Skor 3 (Baik)&lt;/th&gt;&lt;th&gt;Skor 2 (Cukup)&lt;/th&gt;&lt;th&gt;Skor 1 (Kurang)&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Ketepatan identifikasi kalimat&lt;/td&gt;&lt;td&gt;Seluruh jenis kalimat teridentifikasi tepat&lt;/td&gt;&lt;td&gt;Sebagian besar tepat&lt;/td&gt;&lt;td&gt;Identifikasi dangkal, sebagian keliru&lt;/td&gt;&lt;td&gt;Identifikasi tidak sesuai&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Ketepatan identifikasi konjungsi&lt;/td&gt;&lt;td&gt;Seluruh konjungsi temporal ditemukan dengan tepat&lt;/td&gt;&lt;td&gt;Sebagian besar tepat&lt;/td&gt;&lt;td&gt;Sebagian konjungsi terlewat&lt;/td&gt;&lt;td&gt;Tidak ditemukan dengan tepat&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kerja sama kelompok&lt;/td&gt;&lt;td&gt;Seluruh anggota aktif berkontribusi&lt;/td&gt;&lt;td&gt;Sebagian besar anggota aktif&lt;/td&gt;&lt;td&gt;Hanya sebagian kecil anggota aktif&lt;/td&gt;&lt;td&gt;Didominasi satu orang&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Presentasi&lt;/td&gt;&lt;td&gt;Jelas, percaya diri, menjawab pertanyaan dengan baik&lt;/td&gt;&lt;td&gt;Jelas namun kurang percaya diri&lt;/td&gt;&lt;td&gt;Kurang jelas/terbata-bata&lt;/td&gt;&lt;td&gt;Tidak dapat menjelaskan hasil&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ RANGKUMAN UNTUK BUKU CATATAN ============ --&gt;
  &lt;section class="section" id="catatan-murid"&gt;
    &lt;div class="eyebrow"&gt;11 — Penutup Pembelajaran&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Rangkuman untuk Dicatat di Buku Catatan&lt;/h2&gt;
    &lt;p class="lead"&gt;Sebagai penutup pertemuan, setiap murid menuliskan satu rangkuman ringkas secara mandiri di buku catatan sebagai simpulan pribadi atas materi hari ini.&lt;/p&gt;

    &lt;div class="notebook"&gt;
      &lt;div class="content"&gt;
        &lt;h3 style="color:#132029 !important;"&gt;Instruksi Menulis Rangkuman&lt;/h3&gt;
        &lt;p style="margin-top:0; color:#132029 !important;"&gt;Tulis di buku catatan masing-masing, maksimal &lt;b&gt;satu halaman&lt;/b&gt;, mencakup poin-poin berikut:&lt;/p&gt;
        &lt;ul style="color:#132029 !important;"&gt;
          &lt;li style="color:#132029 !important;"&gt;Pengertian kalimat imperatif, deklaratif, dan persuasif dalam teks prosedur, menurut pemahaman sendiri.&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Ciri penanda masing-masing jenis kalimat tersebut.&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Pengertian dan fungsi konjungsi temporal, disertai minimal tiga contoh kata.&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Satu contoh kalimat buatan sendiri untuk setiap ciri kebahasaan (imperatif, deklaratif, persuasif, dan konjungsi temporal).&lt;/li&gt;
        &lt;/ul&gt;
        &lt;p style="margin-bottom:0; color:#4b5a63 !important;"&gt;&lt;i&gt;Rangkuman ditulis dengan kalimat sendiri (bukan menyalin ulang dari materi), dan dikumpulkan pada awal pertemuan berikutnya untuk diperiksa guru.&lt;/i&gt;&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

&lt;/main&gt;

&lt;footer&gt;
  &lt;div class="doc-code"&gt;DOK/B.INDO/XI/PROSEDUR-KAIDAH-1 — Fokus Tujuan Pembelajaran, Materi Inti &amp;amp; Tugas Kelompok, 1× pertemuan (3 JP)&lt;/div&gt;
  &lt;p style="margin:0;"&gt;Referensi: Kurikulum Merdeka — Capaian Pembelajaran Bahasa Indonesia Fase F (Elemen Membaca dan Memirsa); Buku Teks Bahasa Indonesia Kelas XI SMK/MAK Kemendikbudristek.&lt;/p&gt;
&lt;/footer&gt;
&lt;/div&gt;</description><link>http://kitab-investasi.blogspot.com/2026/08/kaidah-kebahasaan-teks-prosedur-bagian-1.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-6658566003008767440</guid><pubDate>Wed, 29 Jul 2026 02:22:44 +0000</pubDate><atom:updated>2026-07-29T09:22:44.174+07:00</atom:updated><title>Sistem Komputer &amp; Arsitektur Von Neumann</title><description>&lt;!DOCTYPE html&gt;
&lt;html lang="id"&gt;
&lt;head&gt;
&lt;meta charset="UTF-8"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
&lt;title&gt;Sistem Komputer &amp; Arsitektur Von Neumann — Informatika Kelas X&lt;/title&gt;
&lt;link rel="preconnect" href="https://fonts.googleapis.com"&gt;
&lt;link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&amp;family=IBM+Plex+Sans:wght@400;500;600;700&amp;display=swap" rel="stylesheet"&gt;
&lt;style&gt;
  :root{
    --blueprint: #0F2A44;
    --blueprint-deep: #0A1E33;
    --line: #7FC7FF;
    --line-dim: rgba(127,199,255,0.35);
    --paper: #FBFBF9;
    --paper-dim: #EEF2F5;
    --ink: #16232E;
    --ink-soft: #47586A;
    --amber: #F2A340;
    --green: #4CAF7D;
    --rose: #E2694B;
    --radius: 4px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'IBM Plex Sans', sans-serif;
    background: var(--blueprint);
    color: var(--ink);
    line-height:1.6;
  }
  .mono{font-family:'IBM Plex Mono', monospace;}

  /* ===== Blueprint grid background ===== */
  .blueprint-bg{
    background-color: var(--blueprint);
    background-image:
      linear-gradient(var(--line-dim) 1px, transparent 1px),
      linear-gradient(90deg, var(--line-dim) 1px, transparent 1px);
    background-size: 32px 32px;
    position:relative;
  }
  .blueprint-bg::before{
    content:"";
    position:absolute; inset:0;
    background: radial-gradient(ellipse at 20% 0%, rgba(127,199,255,0.10), transparent 55%);
    pointer-events:none;
  }

  /* ===== Hero ===== */
  header.hero{
    padding: 64px 6vw 56px;
    color: var(--paper);
    position:relative;
    overflow:hidden;
  }
  .eyebrow{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.78rem;
    letter-spacing:0.16em;
    text-transform:uppercase;
    color: var(--line);
    display:flex; align-items:center; gap:10px;
    margin-bottom:22px;
  }
  .eyebrow::before{
    content:"";
    width:10px; height:10px;
    border:1.5px solid var(--line);
    border-radius:2px;
    display:inline-block;
    box-shadow: 0 0 0 3px var(--line-dim);
  }
  h1.title{
    font-family:'IBM Plex Mono', monospace;
    font-weight:700;
    font-size: clamp(2rem, 4.4vw, 3.6rem);
    line-height:1.12;
    letter-spacing:-0.01em;
    max-width: 16ch;
  }
  h1.title span{color: var(--line);}
  .hero-sub{
    margin-top:18px;
    max-width: 62ch;
    font-size:1.05rem;
    color: #C9DCEC;
  }
  .meta-strip{
    margin-top:40px;
    display:grid;
    grid-template-columns: repeat(auto-fit,minmax(160px,1fr));
    gap:1px;
    background: var(--line-dim);
    border:1px solid var(--line-dim);
    max-width: 920px;
  }
  .meta-cell{
    background: var(--blueprint-deep);
    padding:14px 16px;
  }
  .meta-cell .k{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.68rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color: var(--line);
    opacity:0.85;
  }
  .meta-cell .v{
    margin-top:6px;
    font-size:0.95rem;
    font-weight:600;
    color: var(--paper);
  }

  /* ===== Content shell ===== */
  main{
    background: var(--paper);
    border-radius: 18px 18px 0 0;
    margin-top: -18px;
    position:relative;
    z-index:2;
    padding: 8px 0 0;
  }
  .section{
    padding: 56px 6vw;
    max-width: 1180px;
    margin: 0 auto;
    border-bottom: 1px solid #E4E1D8;
  }
  .section:last-of-type{border-bottom:none;}
  .section-tag{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color: var(--ink-soft);
    display:flex; align-items:center; gap:10px;
    margin-bottom:10px;
  }
  .section-tag .num{
    color: var(--paper);
    background: var(--blueprint);
    padding:3px 8px;
    border-radius:3px;
    font-weight:600;
  }
  h2.section-title{
    font-family:'IBM Plex Mono', monospace;
    font-size: clamp(1.4rem, 2.4vw, 2rem);
    font-weight:700;
    color: var(--blueprint);
    margin-bottom: 22px;
    max-width: 30ch;
  }
  h3.sub-title{
    font-family:'IBM Plex Mono', monospace;
    font-size:1.08rem;
    font-weight:600;
    color: var(--blueprint);
    margin: 28px 0 12px;
    display:flex; align-items:center; gap:10px;
  }
  h3.sub-title::before{
    content:"";
    width:8px;height:8px;
    background: var(--amber);
    display:inline-block;
    border-radius:1px;
  }
  p{ color:#2B3A48; max-width: 74ch; margin-bottom: 14px;}
  strong{color:var(--blueprint);}
  ul, ol{ margin: 8px 0 18px 1.3em; max-width: 74ch;}
  li{margin-bottom:8px; color:#2B3A48;}

  .callout{
    border-left: 3px solid var(--amber);
    background: #FEF6EA;
    padding: 16px 20px;
    border-radius: 0 6px 6px 0;
    margin: 18px 0;
    max-width: 74ch;
  }
  .callout .lbl{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.7rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:#B4791C;
    font-weight:700;
    margin-bottom:6px;
  }

  /* ===== Cards grid (komponen) ===== */
  .card-grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 20px 0 8px;
  }
  @media (max-width: 860px){ .card-grid{grid-template-columns: 1fr;} }
  .card{
    background: var(--paper);
    border: 1.5px solid var(--blueprint);
    border-radius: var(--radius);
    padding: 20px;
    position:relative;
  }
  .card .tag{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.68rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:#fff;
    background: var(--blueprint);
    padding:3px 8px;
    border-radius:3px;
    display:inline-block;
    margin-bottom:12px;
  }
  .card h4{
    font-family:'IBM Plex Mono', monospace;
    font-size:1rem;
    margin-bottom:8px;
    color:var(--blueprint);
  }
  .card ul{margin:6px 0 0 1.1em; font-size:0.92rem;}
  .card li{margin-bottom:5px; color:#3C4C5B;}

  /* ===== IPO diagram ===== */
  .ipo-wrap{
    margin: 26px 0;
    overflow-x:auto;
  }
  .ipo-row{
    display:flex; align-items:stretch; gap:0;
    min-width: 640px;
  }
  .ipo-box{
    flex:1;
    background: var(--blueprint);
    color: var(--paper);
    padding: 20px 16px;
    text-align:center;
    position:relative;
  }
  .ipo-box:nth-child(odd){background: var(--blueprint);}
  .ipo-box .lab{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.7rem;
    letter-spacing:0.12em;
    text-transform:uppercase;
    color: var(--line);
  }
  .ipo-box .desc{font-size:0.85rem; margin-top:8px; color:#D6E4F0;}
  .ipo-arrow{
    width:44px; flex-shrink:0;
    display:flex; align-items:center; justify-content:center;
    background: var(--paper-dim);
    color: var(--blueprint);
    font-size:1.3rem;
  }
  .ipo-storage{
    margin-top:14px;
    text-align:center;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.78rem;
    color: var(--ink-soft);
  }

  /* ===== Von Neumann diagram ===== */
  .diagram-frame{
    margin: 26px 0;
    background: var(--blueprint-deep);
    border-radius: 8px;
    padding: 18px;
    border: 1px solid var(--line-dim);
  }
  .diagram-frame svg{width:100%; height:auto; display:block;}
  .diagram-caption{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    color: var(--line);
    text-align:center;
    margin-top:10px;
    letter-spacing:0.04em;
  }

  /* signal flow animation */
  .signal{
    stroke-dasharray: 6 8;
    animation: flow 1.6s linear infinite;
  }
  @keyframes flow{ to{ stroke-dashoffset:-56; } }
  @media (prefers-reduced-motion: reduce){ .signal{animation:none;} }

  /* ===== Fetch-decode-execute steps ===== */
  .cycle{
    display:flex; flex-wrap:wrap; gap:14px; margin:22px 0;
  }
  .cycle .step{
    flex:1; min-width:190px;
    border:1.5px solid var(--blueprint);
    border-radius: var(--radius);
    padding:16px;
    position:relative;
  }
  .cycle .step .n{
    font-family:'IBM Plex Mono', monospace;
    font-weight:700;
    font-size:1.6rem;
    color: var(--amber);
  }
  .cycle .step h5{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.92rem;
    margin:4px 0 6px;
    color: var(--blueprint);
  }
  .cycle .step p{font-size:0.86rem; margin:0;}

  /* ===== Rangkuman ===== */
  .summary-box{
    background: var(--blueprint);
    color: var(--paper);
    border-radius: 8px;
    padding: 26px 28px;
    margin-top: 10px;
  }
  .summary-box h4{
    font-family:'IBM Plex Mono', monospace;
    color: var(--line);
    font-size:0.85rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    margin-bottom:14px;
  }
  .summary-box ul{margin:0 0 0 1.1em; max-width:none;}
  .summary-box li{color:#E4EEF5; margin-bottom:8px;}

  /* ===== Tugas kelompok ===== */
  .task-panel{
    border: 1.5px dashed var(--blueprint);
    border-radius: 8px;
    padding: 26px 28px;
    background: repeating-linear-gradient(135deg, #FBFBF9, #FBFBF9 18px, #F3F1E9 18px, #F3F1E9 19px);
  }
  .task-head{
    display:flex; align-items:center; gap:12px; flex-wrap:wrap;
    margin-bottom:12px;
  }
  .task-head .badge{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.7rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    background: var(--rose);
    color:#fff;
    padding:4px 10px;
    border-radius:3px;
  }
  .task-panel h3{
    font-family:'IBM Plex Mono', monospace;
    font-size:1.25rem;
    color: var(--blueprint);
  }
  .steps-num{ counter-reset: step; margin:16px 0; max-width:78ch;}
  .steps-num li{
    counter-increment: step;
    list-style:none;
    position:relative;
    padding-left:34px;
    margin-bottom:14px;
  }
  .steps-num li::before{
    content: counter(step);
    position:absolute; left:0; top:0;
    font-family:'IBM Plex Mono', monospace;
    font-weight:700;
    color:#fff;
    background: var(--blueprint);
    width:24px; height:24px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:0.8rem;
  }
  table.rubrik{
    width:100%;
    border-collapse:collapse;
    margin-top:18px;
    font-size:0.88rem;
  }
  table.rubrik th, table.rubrik td{
    border:1px solid #C9C4B4;
    padding:10px 12px;
    text-align:left;
  }
  table.rubrik th{
    background: var(--blueprint);
    color:#fff;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.75rem;
    letter-spacing:0.04em;
    text-transform:uppercase;
  }
  table.rubrik tr:nth-child(even) td{ background:#F4F2EA; }

  .closing-task{
    margin-top:22px;
    background: #FEF6EA;
    border:1.5px solid var(--amber);
    border-radius:8px;
    padding:20px 22px;
  }
  .closing-task .lbl{
    font-family:'IBM Plex Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.1em;
    text-transform:uppercase;
    color:#B4791C;
    font-weight:700;
    margin-bottom:8px;
  }

  footer{
    background: var(--blueprint-deep);
    color:#9FB4C6;
    text-align:center;
    padding: 30px 6vw 40px;
    font-family:'IBM Plex Mono', monospace;
    font-size:0.75rem;
    letter-spacing:0.04em;
  }

  @media (max-width: 700px){
    .card-grid{grid-template-columns:1fr;}
    header.hero{padding:44px 5vw 40px;}
    .section{padding:40px 5vw;}
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div class="blueprint-bg"&gt;
  &lt;header class="hero"&gt;
    &lt;div class="eyebrow"&gt;Informatika · Fase E · Kelas X SMK&lt;/div&gt;
    &lt;h1 class="title"&gt;Sistem Komputer &lt;span&gt;&amp;&lt;/span&gt; Arsitektur Von&amp;nbsp;Neumann&lt;/h1&gt;
    &lt;p class="hero-sub"&gt;Materi ini membahas bagaimana komputer tersusun dan bekerja — mulai dari komponen penyusunnya, alur input–proses–output, hingga cetak biru arsitektur yang mendasari hampir seluruh komputer modern: arsitektur Von Neumann.&lt;/p&gt;

    &lt;div class="meta-strip"&gt;
      &lt;div class="meta-cell"&gt;&lt;div class="k"&gt;Elemen CP&lt;/div&gt;&lt;div class="v"&gt;Sistem Komputer&lt;/div&gt;&lt;/div&gt;
      &lt;div class="meta-cell"&gt;&lt;div class="k"&gt;Jenjang&lt;/div&gt;&lt;div class="v"&gt;SMK Kelas X&lt;/div&gt;&lt;/div&gt;
      &lt;div class="meta-cell"&gt;&lt;div class="k"&gt;Alokasi Waktu&lt;/div&gt;&lt;div class="v"&gt;1 Pertemuan · 4 JP (180 menit)&lt;/div&gt;&lt;/div&gt;
      &lt;div class="meta-cell"&gt;&lt;div class="k"&gt;Model&lt;/div&gt;&lt;div class="v"&gt;Diskusi &amp; Kerja Kelompok&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/header&gt;
&lt;/div&gt;

&lt;main&gt;

  &lt;!-- ===================== CAPAIAN &amp; TUJUAN ===================== --&gt;
  &lt;section class="section" id="tujuan"&gt;
    &lt;div class="section-tag"&gt;&lt;span class="num"&gt;00&lt;/span&gt; Capaian &amp; Tujuan Pembelajaran&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Ke Mana Materi Ini Menuju&lt;/h2&gt;

    &lt;h3 class="sub-title"&gt;Capaian Pembelajaran&lt;/h3&gt;
    &lt;p&gt;Peserta didik mampu menjelaskan komponen sistem komputer, model input–proses–output, fungsi perangkat keras, perangkat lunak, brainware, serta hubungan antar komponennya dalam sistem komputer.&lt;/p&gt;

    &lt;h3 class="sub-title"&gt;Tujuan Pembelajaran&lt;/h3&gt;
    &lt;ol&gt;
      &lt;li&gt;Menjelaskan pengertian sistem komputer sebagai satu kesatuan yang utuh.&lt;/li&gt;
      &lt;li&gt;Mengidentifikasi dan mengelompokkan komponen sistem komputer: perangkat keras (hardware), perangkat lunak (software), dan pengguna (brainware).&lt;/li&gt;
      &lt;li&gt;Menjelaskan model kerja input – proses – output beserta peran penyimpanan (storage) di dalamnya.&lt;/li&gt;
      &lt;li&gt;Menjelaskan arsitektur Von Neumann dan fungsi setiap bagiannya: CPU (Control Unit &amp; ALU), memori utama, serta jalur bus.&lt;/li&gt;
      &lt;li&gt;Menganalisis hubungan dan ketergantungan antar komponen dalam sebuah sistem komputer melalui studi kasus perangkat nyata.&lt;/li&gt;
    &lt;/ol&gt;

    &lt;h3 class="sub-title"&gt;Rincian Kegiatan (4 JP × 45 menit)&lt;/h3&gt;
    &lt;table class="rubrik"&gt;
      &lt;tr&gt;&lt;th&gt;Tahap&lt;/th&gt;&lt;th&gt;Kegiatan&lt;/th&gt;&lt;th&gt;Waktu&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Pendahuluan&lt;/td&gt;&lt;td&gt;Apersepsi, pertanyaan pemantik ("Apa yang sebenarnya terjadi di dalam laptopmu saat kamu mengetik?"), penyampaian tujuan pembelajaran&lt;/td&gt;&lt;td&gt;15 menit&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kegiatan Inti — Eksplorasi Konsep&lt;/td&gt;&lt;td&gt;Penjelasan materi: komponen sistem komputer, model IPO, dan arsitektur Von Neumann&lt;/td&gt;&lt;td&gt;60 menit&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kegiatan Inti — Kerja Kelompok&lt;/td&gt;&lt;td&gt;Diskusi dan pengerjaan tugas kelompok (identifikasi komponen &amp; skema Von Neumann)&lt;/td&gt;&lt;td&gt;45 menit&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kegiatan Inti — Presentasi&lt;/td&gt;&lt;td&gt;Presentasi singkat tiap kelompok dan tanggapan/klarifikasi guru&lt;/td&gt;&lt;td&gt;30 menit&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Penutup&lt;/td&gt;&lt;td&gt;Refleksi, penguatan konsep, dan menulis kesimpulan ringkas di buku catatan&lt;/td&gt;&lt;td&gt;30 menit&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;
  &lt;/section&gt;

  &lt;!-- ===================== A. PENGERTIAN ===================== --&gt;
  &lt;section class="section" id="pengertian"&gt;
    &lt;div class="section-tag"&gt;&lt;span class="num"&gt;01&lt;/span&gt; Konsep Dasar&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Apa Itu Sistem Komputer?&lt;/h2&gt;
    &lt;p&gt;&lt;strong&gt;Sistem komputer&lt;/strong&gt; adalah kumpulan komponen yang saling terhubung dan bekerja sama secara terkoordinasi untuk menerima, mengolah, menyimpan, dan menghasilkan data menjadi informasi yang berguna. Kata kuncinya adalah &lt;em&gt;"saling bekerja sama"&lt;/em&gt; — satu komputer bukan sekadar tumpukan komponen elektronik, melainkan sebuah sistem, di mana setiap bagian punya peran dan tidak dapat berfungsi maksimal tanpa bagian lainnya.&lt;/p&gt;

    &lt;div class="callout"&gt;
      &lt;div class="lbl"&gt;Analogi&lt;/div&gt;
      &lt;p style="margin:0;"&gt;Bayangkan sistem komputer seperti tubuh manusia: &lt;strong&gt;hardware&lt;/strong&gt; adalah tubuh fisik (otot, tulang, organ), &lt;strong&gt;software&lt;/strong&gt; adalah pikiran dan instruksi yang mengatur gerakan, dan &lt;strong&gt;brainware&lt;/strong&gt; adalah orang yang memberi perintah dan tujuan. Ketiganya harus hadir bersama agar "tubuh" itu dapat benar-benar hidup dan berguna.&lt;/p&gt;
    &lt;/div&gt;

    &lt;p&gt;Secara umum, sistem komputer tersusun atas tiga elemen utama yang akan kita bahas satu per satu: &lt;strong&gt;perangkat keras (hardware)&lt;/strong&gt;, &lt;strong&gt;perangkat lunak (software)&lt;/strong&gt;, dan &lt;strong&gt;manusia sebagai pengguna/pengelola (brainware)&lt;/strong&gt;.&lt;/p&gt;
  &lt;/section&gt;

  &lt;!-- ===================== B. KOMPONEN ===================== --&gt;
  &lt;section class="section" id="komponen"&gt;
    &lt;div class="section-tag"&gt;&lt;span class="num"&gt;02&lt;/span&gt; Komponen Sistem&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Tiga Pilar Sistem Komputer&lt;/h2&gt;

    &lt;h3 class="sub-title"&gt;1. Perangkat Keras (Hardware)&lt;/h3&gt;
    &lt;p&gt;Hardware adalah seluruh komponen fisik komputer yang dapat dilihat dan disentuh. Berdasarkan fungsinya, hardware dikelompokkan menjadi empat kategori berikut.&lt;/p&gt;

    &lt;div class="card-grid"&gt;
      &lt;div class="card"&gt;
        &lt;span class="tag"&gt;Input&lt;/span&gt;
        &lt;h4&gt;Perangkat Masukan&lt;/h4&gt;
        &lt;p style="font-size:0.9rem; margin-bottom:6px;"&gt;Mengubah data dari luar menjadi bentuk yang dapat diproses komputer.&lt;/p&gt;
        &lt;ul&gt;&lt;li&gt;Keyboard&lt;/li&gt;&lt;li&gt;Mouse&lt;/li&gt;&lt;li&gt;Scanner&lt;/li&gt;&lt;li&gt;Mikrofon&lt;/li&gt;&lt;li&gt;Kamera/webcam&lt;/li&gt;&lt;/ul&gt;
      &lt;/div&gt;
      &lt;div class="card"&gt;
        &lt;span class="tag"&gt;Proses&lt;/span&gt;
        &lt;h4&gt;Perangkat Pemroses&lt;/h4&gt;
        &lt;p style="font-size:0.9rem; margin-bottom:6px;"&gt;Mengolah data menjadi informasi; "otak" komputer.&lt;/p&gt;
        &lt;ul&gt;&lt;li&gt;CPU (Processor)&lt;/li&gt;&lt;li&gt;Motherboard&lt;/li&gt;&lt;li&gt;RAM (memori kerja)&lt;/li&gt;&lt;li&gt;VGA/GPU&lt;/li&gt;&lt;/ul&gt;
      &lt;/div&gt;
      &lt;div class="card"&gt;
        &lt;span class="tag"&gt;Output&lt;/span&gt;
        &lt;h4&gt;Perangkat Keluaran&lt;/h4&gt;
        &lt;p style="font-size:0.9rem; margin-bottom:6px;"&gt;Menampilkan atau menyajikan hasil pemrosesan.&lt;/p&gt;
        &lt;ul&gt;&lt;li&gt;Monitor&lt;/li&gt;&lt;li&gt;Printer&lt;/li&gt;&lt;li&gt;Speaker&lt;/li&gt;&lt;li&gt;Proyektor&lt;/li&gt;&lt;/ul&gt;
      &lt;/div&gt;
      &lt;div class="card" style="grid-column: span 3;"&gt;
        &lt;span class="tag" style="background:var(--amber); color:#3A2400;"&gt;Storage&lt;/span&gt;
        &lt;h4&gt;Perangkat Penyimpanan&lt;/h4&gt;
        &lt;p style="font-size:0.9rem; margin-bottom:6px;"&gt;Menyimpan data dan program, baik sementara maupun permanen.&lt;/p&gt;
        &lt;ul style="columns:2;"&gt;
          &lt;li&gt;&lt;strong&gt;Penyimpanan primer&lt;/strong&gt; — RAM (volatile, sementara, sangat cepat)&lt;/li&gt;
          &lt;li&gt;&lt;strong&gt;Penyimpanan sekunder&lt;/strong&gt; — HDD, SSD, flashdisk (non-volatile, permanen, lebih lambat)&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;h3 class="sub-title"&gt;2. Perangkat Lunak (Software)&lt;/h3&gt;
    &lt;p&gt;Software adalah kumpulan instruksi/program yang mengatur bagaimana hardware bekerja. Tanpa software, hardware hanyalah rangkaian komponen elektronik yang tidak tahu harus melakukan apa.&lt;/p&gt;
    &lt;div class="card-grid"&gt;
      &lt;div class="card"&gt;
        &lt;span class="tag"&gt;Sistem Operasi&lt;/span&gt;
        &lt;h4&gt;Operating System&lt;/h4&gt;
        &lt;p style="font-size:0.9rem;"&gt;Mengelola dan menjembatani seluruh sumber daya hardware agar dapat digunakan software lain. Contoh: Windows, Linux, macOS, Android.&lt;/p&gt;
      &lt;/div&gt;
      &lt;div class="card"&gt;
        &lt;span class="tag"&gt;Aplikasi&lt;/span&gt;
        &lt;h4&gt;Software Aplikasi&lt;/h4&gt;
        &lt;p style="font-size:0.9rem;"&gt;Program untuk menyelesaikan tugas spesifik pengguna. Contoh: pengolah kata, browser, aplikasi desain.&lt;/p&gt;
      &lt;/div&gt;
      &lt;div class="card"&gt;
        &lt;span class="tag"&gt;Bahasa &amp; Utilitas&lt;/span&gt;
        &lt;h4&gt;Bahasa Pemrograman / Utility&lt;/h4&gt;
        &lt;p style="font-size:0.9rem;"&gt;Alat untuk membuat software (mis. Python, Java) dan program pemeliharaan sistem (antivirus, disk cleaner).&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;h3 class="sub-title"&gt;3. Brainware&lt;/h3&gt;
    &lt;p&gt;Brainware adalah manusia yang berinteraksi langsung dengan sistem komputer — merancang, mengoperasikan, dan mengelolanya. Tanpa brainware, hardware dan software secanggih apa pun tidak memiliki tujuan.&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;End user&lt;/strong&gt; — pengguna yang memanfaatkan komputer untuk kebutuhan sehari-hari.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Programmer&lt;/strong&gt; — merancang dan menulis kode program/software.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;System administrator&lt;/strong&gt; — mengelola dan menjaga sistem agar berjalan optimal dan aman.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Operator&lt;/strong&gt; — menjalankan operasi rutin sistem, misalnya operator entri data.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/section&gt;

  &lt;!-- ===================== C. MODEL IPO ===================== --&gt;
  &lt;section class="section" id="ipo"&gt;
    &lt;div class="section-tag"&gt;&lt;span class="num"&gt;03&lt;/span&gt; Alur Kerja&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Model Input – Proses – Output&lt;/h2&gt;
    &lt;p&gt;Secara fungsional, cara kerja komputer dapat digambarkan sebagai sebuah alur sederhana: data masuk sebagai &lt;strong&gt;input&lt;/strong&gt;, diolah pada tahap &lt;strong&gt;proses&lt;/strong&gt;, lalu menghasilkan &lt;strong&gt;output&lt;/strong&gt;. Di sepanjang alur ini, &lt;strong&gt;storage&lt;/strong&gt; berperan menyimpan data maupun hasil, baik untuk digunakan kembali maupun disimpan permanen.&lt;/p&gt;

    &lt;div class="ipo-wrap"&gt;
      &lt;div class="ipo-row"&gt;
        &lt;div class="ipo-box"&gt;
          &lt;div class="lab"&gt;Input&lt;/div&gt;
          &lt;div class="desc"&gt;Data mentah dimasukkan&lt;br&gt;mis. mengetik teks di keyboard&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class="ipo-arrow"&gt;→&lt;/div&gt;
        &lt;div class="ipo-box"&gt;
          &lt;div class="lab"&gt;Proses&lt;/div&gt;
          &lt;div class="desc"&gt;CPU mengolah data sesuai&lt;br&gt;instruksi program&lt;/div&gt;
        &lt;/div&gt;
        &lt;div class="ipo-arrow"&gt;→&lt;/div&gt;
        &lt;div class="ipo-box"&gt;
          &lt;div class="lab"&gt;Output&lt;/div&gt;
          &lt;div class="desc"&gt;Hasil olahan ditampilkan&lt;br&gt;mis. teks muncul di layar&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ipo-storage"&gt;▲▼ Storage — menyimpan data &amp; hasil di setiap tahap (mis. autosave dokumen ke SSD) ▲▼&lt;/div&gt;

    &lt;div class="callout"&gt;
      &lt;div class="lbl"&gt;Contoh Konkret&lt;/div&gt;
      &lt;p style="margin:0;"&gt;Saat kamu mengetik nama di aplikasi pengolah kata: &lt;strong&gt;keyboard&lt;/strong&gt; menjadi input, &lt;strong&gt;CPU dan RAM&lt;/strong&gt; memproses karakter yang diketik dan menyusunnya menjadi dokumen, &lt;strong&gt;monitor&lt;/strong&gt; menampilkan hasilnya sebagai output, dan saat kamu menekan "Save", dokumen tersebut ditulis ke &lt;strong&gt;penyimpanan (storage)&lt;/strong&gt; agar tidak hilang.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;!-- ===================== D. VON NEUMANN ===================== --&gt;
  &lt;section class="section" id="von-neumann"&gt;
    &lt;div class="section-tag"&gt;&lt;span class="num"&gt;04&lt;/span&gt; Arsitektur Komputer&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Arsitektur Von Neumann&lt;/h2&gt;

    &lt;p&gt;Pada tahun 1945, ilmuwan &lt;strong&gt;John von Neumann&lt;/strong&gt; memperkenalkan sebuah rancangan (arsitektur) komputer yang menjadi fondasi hampir seluruh komputer modern hingga saat ini — mulai dari laptop, komputer sekolah, sampai smartphone. Gagasan utamanya disebut &lt;strong&gt;stored-program concept&lt;/strong&gt;: instruksi program dan data disimpan bersama di dalam memori yang sama, sehingga komputer dapat membaca dan mengeksekusi instruksi tersebut secara berurutan tanpa harus diprogram ulang secara fisik setiap kali.&lt;/p&gt;

    &lt;h3 class="sub-title"&gt;Komponen Utama Arsitektur Von Neumann&lt;/h3&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;CPU (Central Processing Unit)&lt;/strong&gt; — pusat pemrosesan, terdiri atas:
        &lt;ul&gt;
          &lt;li&gt;&lt;strong&gt;Control Unit (CU)&lt;/strong&gt; — mengatur dan mengendalikan seluruh aktivitas dalam CPU, termasuk mengambil dan menerjemahkan instruksi.&lt;/li&gt;
          &lt;li&gt;&lt;strong&gt;Arithmetic Logic Unit (ALU)&lt;/strong&gt; — melakukan operasi aritmatika (tambah, kurang, kali, bagi) dan operasi logika (perbandingan, AND/OR/NOT).&lt;/li&gt;
          &lt;li&gt;&lt;strong&gt;Register&lt;/strong&gt; — memori berkapasitas sangat kecil namun sangat cepat di dalam CPU, tempat menyimpan data yang sedang diproses.&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Memori Utama (Main Memory)&lt;/strong&gt; — menyimpan instruksi program dan data dalam bentuk biner, dan menjadi ciri khas arsitektur ini karena instruksi maupun data berbagi ruang penyimpanan yang sama.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Perangkat Input/Output&lt;/strong&gt; — jalur komunikasi antara komputer dan dunia luar.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Bus&lt;/strong&gt; — jalur fisik yang menghubungkan dan mengalirkan data antar komponen, terbagi menjadi tiga:
        &lt;ul&gt;
          &lt;li&gt;&lt;strong&gt;Bus Alamat (Address Bus)&lt;/strong&gt; — membawa informasi lokasi/alamat data di memori.&lt;/li&gt;
          &lt;li&gt;&lt;strong&gt;Bus Data (Data Bus)&lt;/strong&gt; — membawa data atau instruksi yang sesungguhnya.&lt;/li&gt;
          &lt;li&gt;&lt;strong&gt;Bus Kontrol (Control Bus)&lt;/strong&gt; — membawa sinyal perintah/pengendali antar komponen.&lt;/li&gt;
        &lt;/ul&gt;
      &lt;/li&gt;
    &lt;/ul&gt;

    &lt;div class="diagram-frame"&gt;
      &lt;svg viewBox="0 0 800 420" xmlns="http://www.w3.org/2000/svg"&gt;
        &lt;!-- title --&gt;
        &lt;text x="400" y="30" text-anchor="middle" fill="#7FC7FF" font-family="IBM Plex Mono, monospace" font-size="13" letter-spacing="2"&gt;SKEMA ARSITEKTUR VON NEUMANN&lt;/text&gt;

        &lt;!-- CPU block --&gt;
        &lt;rect x="60" y="70" width="300" height="200" rx="4" fill="none" stroke="#7FC7FF" stroke-width="1.5"/&gt;
        &lt;text x="210" y="92" text-anchor="middle" fill="#F2A340" font-family="IBM Plex Mono, monospace" font-weight="700" font-size="14"&gt;CPU&lt;/text&gt;

        &lt;rect x="80" y="108" width="115" height="60" rx="3" fill="none" stroke="#7FC7FF" stroke-width="1"/&gt;
        &lt;text x="137" y="132" text-anchor="middle" fill="#EEF2F5" font-family="IBM Plex Mono, monospace" font-size="11"&gt;Control&lt;/text&gt;
        &lt;text x="137" y="148" text-anchor="middle" fill="#EEF2F5" font-family="IBM Plex Mono, monospace" font-size="11"&gt;Unit (CU)&lt;/text&gt;

        &lt;rect x="205" y="108" width="115" height="60" rx="3" fill="none" stroke="#7FC7FF" stroke-width="1"/&gt;
        &lt;text x="262" y="132" text-anchor="middle" fill="#EEF2F5" font-family="IBM Plex Mono, monospace" font-size="11"&gt;ALU&lt;/text&gt;
        &lt;text x="262" y="148" text-anchor="middle" fill="#C9DCEC" font-family="IBM Plex Mono, monospace" font-size="9"&gt;Arithmetic/Logic&lt;/text&gt;

        &lt;rect x="80" y="188" width="240" height="58" rx="3" fill="none" stroke="#7FC7FF" stroke-width="1"/&gt;
        &lt;text x="200" y="212" text-anchor="middle" fill="#EEF2F5" font-family="IBM Plex Mono, monospace" font-size="11"&gt;Register&lt;/text&gt;
        &lt;text x="200" y="228" text-anchor="middle" fill="#C9DCEC" font-family="IBM Plex Mono, monospace" font-size="9"&gt;Penyimpanan sementara super cepat&lt;/text&gt;

        &lt;!-- Memory block --&gt;
        &lt;rect x="470" y="70" width="270" height="130" rx="4" fill="none" stroke="#7FC7FF" stroke-width="1.5"/&gt;
        &lt;text x="605" y="94" text-anchor="middle" fill="#F2A340" font-family="IBM Plex Mono, monospace" font-weight="700" font-size="14"&gt;MEMORI UTAMA&lt;/text&gt;
        &lt;text x="605" y="118" text-anchor="middle" fill="#C9DCEC" font-family="IBM Plex Mono, monospace" font-size="10"&gt;Instruksi &amp;amp; data disimpan&lt;/text&gt;
        &lt;text x="605" y="133" text-anchor="middle" fill="#C9DCEC" font-family="IBM Plex Mono, monospace" font-size="10"&gt;bersama (stored program)&lt;/text&gt;
        &lt;rect x="500" y="150" width="60" height="34" fill="none" stroke="#4CAF7D" stroke-width="1"/&gt;
        &lt;text x="530" y="171" text-anchor="middle" fill="#9FE0BE" font-family="IBM Plex Mono, monospace" font-size="9"&gt;0101&lt;/text&gt;
        &lt;rect x="565" y="150" width="60" height="34" fill="none" stroke="#4CAF7D" stroke-width="1"/&gt;
        &lt;text x="595" y="171" text-anchor="middle" fill="#9FE0BE" font-family="IBM Plex Mono, monospace" font-size="9"&gt;1100&lt;/text&gt;
        &lt;rect x="630" y="150" width="60" height="34" fill="none" stroke="#4CAF7D" stroke-width="1"/&gt;
        &lt;text x="660" y="171" text-anchor="middle" fill="#9FE0BE" font-family="IBM Plex Mono, monospace" font-size="9"&gt;0011&lt;/text&gt;

        &lt;!-- I/O block --&gt;
        &lt;rect x="470" y="240" width="270" height="70" rx="4" fill="none" stroke="#7FC7FF" stroke-width="1.5"/&gt;
        &lt;text x="605" y="266" text-anchor="middle" fill="#F2A340" font-family="IBM Plex Mono, monospace" font-weight="700" font-size="13"&gt;PERANGKAT INPUT / OUTPUT&lt;/text&gt;
        &lt;text x="605" y="286" text-anchor="middle" fill="#C9DCEC" font-family="IBM Plex Mono, monospace" font-size="10"&gt;Keyboard, monitor, printer, dll.&lt;/text&gt;

        &lt;!-- Buses connecting CPU &lt;-&gt; Memory --&gt;
        &lt;line class="signal" x1="360" y1="120" x2="470" y2="120" stroke="#7FC7FF" stroke-width="2"/&gt;
        &lt;line class="signal" x1="360" y1="150" x2="470" y2="150" stroke="#F2A340" stroke-width="2"/&gt;
        &lt;line class="signal" x1="360" y1="180" x2="470" y2="180" stroke="#4CAF7D" stroke-width="2"/&gt;

        &lt;!-- Buses connecting CPU &lt;-&gt; I/O --&gt;
        &lt;line class="signal" x1="360" y1="230" x2="470" y2="275" stroke="#7FC7FF" stroke-width="2"/&gt;

        &lt;!-- Legend --&gt;
        &lt;g font-family="IBM Plex Mono, monospace" font-size="10"&gt;
          &lt;line x1="60" y1="345" x2="90" y2="345" stroke="#7FC7FF" stroke-width="2"/&gt;
          &lt;text x="98" y="349" fill="#C9DCEC"&gt;Bus Alamat (Address Bus)&lt;/text&gt;
          &lt;line x1="60" y1="368" x2="90" y2="368" stroke="#F2A340" stroke-width="2"/&gt;
          &lt;text x="98" y="372" fill="#C9DCEC"&gt;Bus Data (Data Bus)&lt;/text&gt;
          &lt;line x1="60" y1="391" x2="90" y2="391" stroke="#4CAF7D" stroke-width="2"/&gt;
          &lt;text x="98" y="395" fill="#C9DCEC"&gt;Bus Kontrol (Control Bus)&lt;/text&gt;
        &lt;/g&gt;
      &lt;/svg&gt;
      &lt;div class="diagram-caption"&gt;Ketiga jalur bus mengalirkan sinyal terus-menerus antara CPU, memori, dan I/O — inilah "sistem peredaran darah" komputer.&lt;/div&gt;
    &lt;/div&gt;

    &lt;h3 class="sub-title"&gt;Siklus Fetch – Decode – Execute&lt;/h3&gt;
    &lt;p&gt;Setiap instruksi program dijalankan CPU melalui siklus mesin (machine cycle) berikut, berulang-ulang jutaan kali per detik:&lt;/p&gt;
    &lt;div class="cycle"&gt;
      &lt;div class="step"&gt;
        &lt;div class="n"&gt;01&lt;/div&gt;
        &lt;h5&gt;FETCH&lt;/h5&gt;
        &lt;p&gt;Control Unit mengambil instruksi berikutnya dari memori utama menggunakan bus alamat dan bus data.&lt;/p&gt;
      &lt;/div&gt;
      &lt;div class="step"&gt;
        &lt;div class="n"&gt;02&lt;/div&gt;
        &lt;h5&gt;DECODE&lt;/h5&gt;
        &lt;p&gt;Instruksi yang diambil diterjemahkan oleh Control Unit agar CPU memahami perintah apa yang harus dilakukan.&lt;/p&gt;
      &lt;/div&gt;
      &lt;div class="step"&gt;
        &lt;div class="n"&gt;03&lt;/div&gt;
        &lt;h5&gt;EXECUTE&lt;/h5&gt;
        &lt;p&gt;ALU menjalankan instruksi tersebut (mis. operasi hitung), lalu hasilnya disimpan kembali ke register atau memori.&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class="callout"&gt;
      &lt;div class="lbl"&gt;Istilah Penting&lt;/div&gt;
      &lt;p style="margin:0;"&gt;&lt;strong&gt;Von Neumann bottleneck&lt;/strong&gt; adalah keterbatasan kecepatan yang muncul karena instruksi dan data harus bergantian melewati bus yang sama menuju satu memori yang sama, sehingga kecepatan pemrosesan CPU sering kali dibatasi oleh kecepatan transfer data ke/dari memori.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;!-- ===================== E. HUBUNGAN ANTAR KOMPONEN ===================== --&gt;
  &lt;section class="section" id="hubungan"&gt;
    &lt;div class="section-tag"&gt;&lt;span class="num"&gt;05&lt;/span&gt; Keterkaitan&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Hubungan Antar Komponen&lt;/h2&gt;
    &lt;p&gt;Hardware, software, dan brainware bukan tiga hal yang berdiri sendiri, melainkan tiga sisi dari satu sistem yang saling bergantung:&lt;/p&gt;
    &lt;ul&gt;
      &lt;li&gt;&lt;strong&gt;Hardware membutuhkan software&lt;/strong&gt; — tanpa sistem operasi dan program, hardware hanyalah komponen elektronik yang tidak tahu harus melakukan apa.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Software membutuhkan hardware&lt;/strong&gt; — instruksi program tidak dapat dijalankan tanpa CPU, memori, dan perangkat fisik lain sebagai tempat eksekusinya.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Brainware mengendalikan keduanya&lt;/strong&gt; — manusia merancang software, mengoperasikan hardware, dan menentukan tujuan penggunaan sistem.&lt;/li&gt;
      &lt;li&gt;&lt;strong&gt;Arsitektur Von Neumann adalah "jembatan"&lt;/strong&gt; yang menjelaskan bagaimana secara teknis instruksi (software) dan komponen fisik (hardware) benar-benar saling berkomunikasi melalui CPU, memori, dan bus.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;Jika salah satu unsur ini tidak ada atau tidak berfungsi, sistem komputer sebagai satu kesatuan tidak dapat bekerja sebagaimana mestinya.&lt;/p&gt;
  &lt;/section&gt;

  &lt;!-- ===================== F. RANGKUMAN ===================== --&gt;
  &lt;section class="section" id="rangkuman"&gt;
    &lt;div class="section-tag"&gt;&lt;span class="num"&gt;06&lt;/span&gt; Penguatan Konsep&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Rangkuman Materi&lt;/h2&gt;
    &lt;div class="summary-box"&gt;
      &lt;h4&gt;Poin-Poin Kunci&lt;/h4&gt;
      &lt;ul&gt;
        &lt;li&gt;Sistem komputer adalah kesatuan hardware, software, dan brainware yang bekerja sama mengolah data menjadi informasi.&lt;/li&gt;
        &lt;li&gt;Hardware terbagi atas perangkat input, proses, output, dan storage (primer &amp; sekunder).&lt;/li&gt;
        &lt;li&gt;Software terdiri atas sistem operasi, aplikasi, serta bahasa pemrograman/utility.&lt;/li&gt;
        &lt;li&gt;Model kerja komputer mengikuti alur input → proses → output, dengan storage berperan menyimpan data di sepanjang alur.&lt;/li&gt;
        &lt;li&gt;Arsitektur Von Neumann memperkenalkan konsep &lt;em&gt;stored program&lt;/em&gt;: instruksi dan data disimpan bersama di satu memori.&lt;/li&gt;
        &lt;li&gt;CPU terdiri atas Control Unit, ALU, dan register, yang bekerja melalui siklus fetch–decode–execute.&lt;/li&gt;
        &lt;li&gt;Bus alamat, bus data, dan bus kontrol adalah jalur komunikasi yang menghubungkan CPU, memori, dan I/O.&lt;/li&gt;
        &lt;li&gt;Ketiga komponen sistem komputer saling bergantung — tidak dapat berfungsi optimal secara terpisah.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;!-- ===================== TUGAS KELOMPOK ===================== --&gt;
  &lt;section class="section" id="tugas"&gt;
    &lt;div class="section-tag"&gt;&lt;span class="num"&gt;07&lt;/span&gt; Aktivitas Belajar&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Tugas Kelompok&lt;/h2&gt;

    &lt;div class="task-panel"&gt;
      &lt;div class="task-head"&gt;
        &lt;span class="badge"&gt;Kerja Kelompok · 4–5 orang&lt;/span&gt;
        &lt;span class="badge" style="background:var(--blueprint);"&gt;45 menit diskusi + 30 menit presentasi&lt;/span&gt;
      &lt;/div&gt;
      &lt;h3&gt;Menelusuri Arsitektur Von Neumann di Perangkat Sehari-hari&lt;/h3&gt;
      &lt;p&gt;Setiap kelompok memilih satu perangkat komputer yang dikenal (laptop, komputer di lab sekolah, atau smartphone), lalu menganalisis komponen sistem komputernya dan memetakannya ke dalam kerangka arsitektur Von Neumann.&lt;/p&gt;

      &lt;ol class="steps-num"&gt;
        &lt;li&gt;&lt;strong&gt;Bentuk kelompok&lt;/strong&gt; beranggotakan 4–5 orang, tentukan satu perangkat komputer yang akan dianalisis.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Identifikasi hardware&lt;/strong&gt; perangkat tersebut dan kelompokkan ke dalam kategori input, proses, output, dan storage (buat dalam bentuk tabel).&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Identifikasi software&lt;/strong&gt; yang berjalan di perangkat tersebut: sistem operasi dan minimal 2 contoh aplikasi.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Gambarkan skema sederhana&lt;/strong&gt; arsitektur Von Neumann untuk perangkat pilihan kalian (CPU dengan CU &amp; ALU, memori, I/O, dan tiga jenis bus) — boleh digambar tangan di kertas atau dibuat digital.&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Jelaskan dengan bahasa sendiri&lt;/strong&gt; bagaimana siklus fetch–decode–execute terjadi ketika perangkat tersebut menjalankan satu contoh aktivitas sederhana (mis. menekan tombol volume atau membuka aplikasi).&lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Presentasikan&lt;/strong&gt; hasil kerja kelompok di depan kelas selama maksimal 5 menit per kelompok.&lt;/li&gt;
      &lt;/ol&gt;

      &lt;h3 class="sub-title" style="margin-top:26px;"&gt;Format Laporan&lt;/h3&gt;
      &lt;p&gt;Laporan ditulis pada kertas folio atau dokumen sederhana, memuat: (1) nama perangkat &amp; anggota kelompok, (2) tabel komponen hardware &amp; software, (3) gambar skema Von Neumann, (4) penjelasan siklus fetch-decode-execute.&lt;/p&gt;

      &lt;h3 class="sub-title"&gt;Rubrik Penilaian&lt;/h3&gt;
      &lt;table class="rubrik"&gt;
        &lt;tr&gt;&lt;th&gt;Aspek&lt;/th&gt;&lt;th&gt;Indikator&lt;/th&gt;&lt;th&gt;Skor Maks.&lt;/th&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Ketepatan Konsep&lt;/td&gt;&lt;td&gt;Komponen hardware/software teridentifikasi dan dikategorikan dengan benar&lt;/td&gt;&lt;td&gt;30&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Kelengkapan Skema&lt;/td&gt;&lt;td&gt;Skema Von Neumann memuat CPU (CU, ALU), memori, I/O, dan tiga bus dengan benar&lt;/td&gt;&lt;td&gt;30&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Penjelasan Siklus&lt;/td&gt;&lt;td&gt;Penjelasan fetch-decode-execute logis dan sesuai contoh yang dipilih&lt;/td&gt;&lt;td&gt;20&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Kerja Sama &amp; Presentasi&lt;/td&gt;&lt;td&gt;Seluruh anggota berkontribusi; presentasi jelas dan percaya diri&lt;/td&gt;&lt;td&gt;20&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td colspan="2" style="text-align:right; font-weight:600;"&gt;Total&lt;/td&gt;&lt;td&gt;100&lt;/td&gt;&lt;/tr&gt;
      &lt;/table&gt;
    &lt;/div&gt;

    &lt;div class="closing-task"&gt;
      &lt;div class="lbl"&gt;Penutup Pembelajaran · Tugas Individu&lt;/div&gt;
      &lt;p style="margin:0;"&gt;&lt;strong&gt;Tulislah satu kesimpulan ringkas (5–7 kalimat) di buku catatan kalian masing-masing&lt;/strong&gt;, yang merangkum keseluruhan materi hari ini: pengertian sistem komputer, tiga komponennya (hardware, software, brainware), model input–proses–output, dan inti dari arsitektur Von Neumann beserta siklus fetch–decode–execute. Tulis dengan bahasa dan pemahaman kalian sendiri, bukan menyalin ulang materi.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/section&gt;

&lt;/main&gt;

&lt;footer&gt;
  INFORMATIKA · SISTEM KOMPUTER &amp; ARSITEKTUR VON NEUMANN · FASE E KELAS X SMK
&lt;/footer&gt;

&lt;/body&gt;
&lt;/html&gt;</description><link>http://kitab-investasi.blogspot.com/2026/07/sistem-komputer-arsitektur-von-neumann.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-1012881908066357365</guid><pubDate>Wed, 29 Jul 2026 01:36:39 +0000</pubDate><atom:updated>2026-07-29T09:03:10.220+07:00</atom:updated><title>Membandingkan Teks Prosedur dengan Teks Lain</title><description>&lt;style&gt;
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&amp;family=Source+Sans+3:wght@400;500;600;700&amp;family=IBM+Plex+Mono:wght@400;500;600&amp;display=swap');
.epb{
  --blueprint:#0F2A3D;
  --blueprint-deep:#0A1E2C;
  --panel:#4A2E12;
  --paper:#F3F0E6;
  --ink:#132029;
  --amber:#F5A623;
  --amber-deep:#C97F12;
  --mint:#6EC6CA;
  --line:rgba(234,242,245,0.16);
  --off-white:#EAF2F5;
  --muted:#9FB4C2;
}
.epb *{box-sizing:border-box;}
.epb{scroll-behavior:smooth; background:#0A1F2E;}
.epb{
  margin:0;
  position:relative;
  overflow:hidden;
  background:var(--blueprint);
  color:var(--off-white);
  font-family:'Source Sans 3',sans-serif;
  line-height:1.65;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 34px 34px;
}
.epb h1, .epb h2, .epb h3, .epb h4{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:0.02em; margin:0 0 0.5em;}
.epb .mono{font-family:'IBM Plex Mono',monospace;}
.epb a{color:var(--amber);}
.epb .crop{position:absolute; width:22px; height:22px; z-index:5; opacity:.55; pointer-events:none;}
.epb .crop::before, .epb .crop::after{content:"";position:absolute;background:var(--mint);}
.epb .crop::before{width:100%;height:1px;top:50%;left:0;}
.epb .crop::after{width:1px;height:100%;left:50%;top:0;}
.epb .crop.tl{top:14px;left:14px;}
.epb .crop.tr{top:14px;right:14px;}
.epb .crop.bl{bottom:14px;left:14px;}
.epb .crop.br{bottom:14px;right:14px;}
.epb header.cover{
  position:relative;
  padding:40px 24px 36px;
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.epb .doc-code{font-family:'IBM Plex Mono',monospace; color:var(--amber); letter-spacing:0.15em; font-size:0.78rem; text-transform:uppercase; margin-bottom:18px; display:flex; gap:10px; align-items:center;}
.epb .doc-code::before{content:"◆"; color:var(--amber);}
.epb .cover h1{font-size:clamp(1.6rem,7vw,2.5rem); color:var(--off-white); max-width:16ch; line-height:1.05;}
.epb .cover .subtitle{color:var(--muted); font-size:1.05rem; max-width:60ch; margin-top:14px;}
.epb .meta-strip{
  margin-top:38px; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  border-top:1px dashed var(--line); border-bottom:1px dashed var(--line);
}
.epb .meta-strip div{padding:14px 16px; border-right:1px dashed var(--line);}
.epb .meta-strip div:last-child{border-right:none;}
.epb .meta-strip .k{font-family:'IBM Plex Mono',monospace; font-size:0.68rem; color:var(--amber); text-transform:uppercase; letter-spacing:0.1em;}
.epb .meta-strip .v{font-size:0.98rem; color:var(--off-white); margin-top:4px; font-weight:600;}
.epb .stamp{
  position:absolute; top:40px; right:20px; width:104px; height:104px;
  border:2.5px solid var(--amber); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  transform:rotate(-11deg);
  color:var(--amber); font-family:'IBM Plex Mono',monospace;
  text-align:center; font-size:0.62rem; letter-spacing:0.08em; text-transform:uppercase;
  opacity:0.9;
}
.epb .stamp .ring{position:absolute; inset:8px; border:1px dashed var(--amber); border-radius:50%;}
.epb .stamp b{display:block; font-family:'Oswald',sans-serif; font-size:1.05rem; letter-spacing:0.06em; margin-top:4px;}

@media (max-width:760px){.epb .stamp{display:none;}
.epb }


.epb main{max-width:920px; margin:0 auto; padding:0 20px 60px;}
.epb .section{padding-top:64px;}
.epb .eyebrow{font-family:'IBM Plex Mono',monospace; color:var(--amber); font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:10px; display:flex; align-items:center; gap:10px;}
.epb .eyebrow::after{content:""; flex:1; height:1px; background:var(--line);}
.epb h2.section-title{font-size:1.7rem; color:var(--off-white);}
.epb p{color:#DDE7EC;}
.epb .lead{color:var(--muted); font-size:1.02rem; max-width:72ch;}
.epb .panel{
  background:var(--panel); border:1px solid var(--line); border-radius:2px;
  padding:26px 28px; margin:22px 0;
}
.epb .panel.tp{border-left:4px solid var(--mint);}
.epb .panel.warn{border-left:4px solid var(--amber);}
.epb .tp-box{display:grid; gap:14px; margin-top:18px;}
.epb .tp-item{display:flex; gap:14px; align-items:flex-start;}
.epb .tp-item .idx{font-family:'IBM Plex Mono',monospace; color:var(--amber); font-weight:600; min-width:34px;}
.epb .flow{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; margin-top:20px;}
.epb .flow .step{background:var(--blueprint-deep); border:1px solid var(--line); padding:18px; position:relative;}
.epb .flow .step .tag{font-family:'IBM Plex Mono',monospace; color:var(--amber); font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase;}
.epb .flow .step h4{font-size:1rem; margin-top:8px; color:var(--off-white);}
.epb .flow .step .time{position:absolute; top:16px; right:16px; font-family:'IBM Plex Mono',monospace; font-size:0.7rem; color:var(--amber);}
.epb .grid-3{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; margin-top:16px;}
.epb .card{background:var(--blueprint-deep); border:1px solid var(--line); padding:18px;}
.epb .card h4{color:var(--amber); font-size:0.95rem;}
.epb .criteria{display:grid; gap:16px; margin-top:20px;}
.epb .crit{
  background:var(--blueprint-deep); border:1px solid var(--line);
  display:grid; grid-template-columns:64px 1fr; gap:0;
}
.epb .crit .num{
  background:var(--amber); color:var(--blueprint-deep); font-family:'IBM Plex Mono',monospace;
  font-weight:700; display:flex; align-items:center; justify-content:center; font-size:1.05rem;
}
.epb .crit .body{padding:18px 20px;}
.epb .crit h4{color:var(--off-white); font-size:1.02rem; margin-bottom:6px;}
.epb .crit .q{margin-top:10px; padding-top:10px; border-top:1px dashed var(--line); font-family:'IBM Plex Mono',monospace; font-size:0.86rem; color:var(--amber);}
.epb .timeline{margin-top:24px; position:relative; padding-left:34px;}
.epb .timeline::before{content:""; position:absolute; left:11px; top:6px; bottom:6px; width:2px; background:var(--line);}
.epb .tl-item{position:relative; padding-bottom:26px;}
.epb .tl-item:last-child{padding-bottom:0;}
.epb .tl-item::before{content:""; position:absolute; left:-34px; top:2px; width:22px; height:22px; border-radius:50%; background:var(--blueprint); border:2px solid var(--amber);}
.epb .tl-item h4{color:var(--off-white); font-size:1rem; margin-bottom:4px;}
.epb .doc-sample{
  background:var(--paper); color:var(--ink); border-radius:2px; padding:0; margin-top:22px;
  box-shadow:0 20px 45px rgba(0,0,0,0.35);
}
.epb .doc-sample .doc-head{background:var(--ink); color:var(--paper); padding:12px 22px; font-family:'IBM Plex Mono',monospace; font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; display:flex; justify-content:space-between;}
.epb .doc-sample .doc-body{padding:26px 28px 30px;}
.epb .doc-sample h3{font-family:'Oswald',sans-serif; color:var(--ink); font-size:1.25rem; text-transform:none; letter-spacing:0;}
.epb .doc-sample ol{padding-left:22px;}
.epb .doc-sample li{margin-bottom:9px;}
.epb .flag{
  display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:0.7rem; font-weight:600;
  background:#D94E2A; color:#fff; padding:1px 7px; border-radius:2px; margin-left:6px; vertical-align:middle;
}
.epb .doc-sample .note-margin{margin-top:6px; font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:#8A3A1F; padding-left:8px; border-left:2px solid #D94E2A;}
.epb .legend{display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:16px;}
.epb .legend span{font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:var(--muted); display:flex; align-items:center; gap:8px;}
.epb .legend .dot{width:10px; height:10px; border-radius:50%; display:inline-block;}
.epb table{width:100%; border-collapse:collapse; margin-top:18px; font-size:0.94rem;}
.epb th, .epb td{border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top;}
.epb th{background:var(--blueprint-deep); font-family:'IBM Plex Mono',monospace; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--amber);}
.epb .summary-box{
  border:1px solid var(--amber); background:linear-gradient(180deg, rgba(245,166,35,0.08), transparent);
  padding:24px 26px; margin-top:24px;
}
.epb .summary-box ul{margin:10px 0 0; padding-left:20px;}
.epb .summary-box li{margin-bottom:8px;}
.epb .task-header{
  background:var(--amber); color:var(--blueprint-deep); padding:22px 26px; margin-top:20px;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
}
.epb .task-header h2{color:var(--blueprint-deep); font-size:1.4rem; margin:0;}
.epb .task-header .badge{font-family:'IBM Plex Mono',monospace; font-size:0.8rem; background:var(--blueprint-deep); color:var(--amber); padding:6px 12px; border-radius:2px;}
.epb .steps-num{counter-reset:step; margin-top:18px; list-style:none; padding:0;}
.epb .steps-num li{counter-increment:step; position:relative; padding-left:44px; margin-bottom:16px;}
.epb .steps-num li::before{content:counter(step,decimal-leading-zero); position:absolute; left:0; top:0; font-family:'IBM Plex Mono',monospace; color:var(--amber); font-weight:600; font-size:0.95rem; border:1px solid var(--amber); width:30px; height:26px; display:flex; align-items:center; justify-content:center;}
.epb .rubric-scale{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:16px;}
.epb .rubric-scale div{background:var(--blueprint-deep); border:1px solid var(--line); padding:12px; text-align:center;}
.epb .rubric-scale .n{font-family:'IBM Plex Mono',monospace; color:var(--amber); font-size:1.3rem; font-weight:700;}
.epb .rubric-scale .l{font-size:0.78rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.05em;}
.epb .notebook{
  background:repeating-linear-gradient(var(--paper), var(--paper) 33px, #D8D3C2 34px);
  color:var(--ink); border-radius:2px; padding:28px 30px; margin-top:20px; position:relative;
  box-shadow:0 20px 45px rgba(0,0,0,0.35);
}
.epb .notebook::before{content:""; position:absolute; left:46px; top:0; bottom:0; width:1.5px; background:#C0453A; opacity:0.5;}
.epb .notebook .content{padding-left:24px;}
.epb .notebook h3{color:var(--ink); font-family:'Oswald',sans-serif; letter-spacing:0.02em; margin-bottom:10px;}
.epb .notebook ul{padding-left:20px;}
.epb footer{border-top:1px solid var(--line); padding:24px 20px 40px; color:var(--muted); font-size:0.86rem;}
.epb footer .doc-code{margin-bottom:10px;}
.epb .divider-dash{border:none; border-top:1px dashed var(--line); margin:44px 0 0;}
.epb::selection{background:var(--amber); color:var(--blueprint-deep);}

&lt;/style&gt;
&lt;div class="epb"&gt;
&lt;div class="crop tl"&gt;&lt;/div&gt;&lt;div class="crop tr"&gt;&lt;/div&gt;&lt;div class="crop bl"&gt;&lt;/div&gt;&lt;div class="crop br"&gt;&lt;/div&gt;

&lt;header class="cover"&gt;
  &lt;div class="stamp"&gt;&lt;div class="ring"&gt;&lt;/div&gt;&lt;span&gt;Modul Ajar&lt;b&gt;Terverifikasi&lt;/b&gt;Fase F&lt;/span&gt;&lt;/div&gt;
  &lt;div class="doc-code"&gt;DOK/B.INDO/XI/PROSEDUR-BANDING — 3 JP · 1 Pertemuan&lt;/div&gt;
  &lt;h1&gt;Membandingkan Teks Prosedur dengan Teks Lain&lt;/h1&gt;
  &lt;p class="subtitle"&gt;Materi Bahasa Indonesia Kelas XI SMK/MAK — melatih murid membandingkan teks prosedur dengan teks eksplanasi untuk menemukan persamaan dan perbedaan keduanya secara kritis dan sistematis.&lt;/p&gt;

  &lt;div class="meta-strip"&gt;
    &lt;div&gt;&lt;div class="k"&gt;Mata Pelajaran&lt;/div&gt;&lt;div class="v"&gt;Bahasa Indonesia&lt;/div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;div class="k"&gt;Jenjang&lt;/div&gt;&lt;div class="v"&gt;SMK/MAK — Kelas XI&lt;/div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;div class="k"&gt;Elemen&lt;/div&gt;&lt;div class="v"&gt;Membaca &amp;amp; Memirsa&lt;/div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;div class="k"&gt;Alokasi Waktu&lt;/div&gt;&lt;div class="v"&gt;3 JP (3 × 45 menit)&lt;/div&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/header&gt;

&lt;main&gt;

  &lt;!-- ============ TUJUAN PEMBELAJARAN ============ --&gt;
  &lt;section class="section" id="tujuan"&gt;
    &lt;div class="eyebrow"&gt;01 — Identitas Pembelajaran&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Capaian &amp;amp; Tujuan Pembelajaran&lt;/h2&gt;

    &lt;div class="panel tp"&gt;
      &lt;div class="eyebrow" style="margin-bottom:6px;"&gt;Capaian Pembelajaran (Elemen Membaca–Memirsa)&lt;/div&gt;
      &lt;p&gt;Murid mampu mengevaluasi informasi berupa gagasan, pikiran, pandangan, arahan, atau pesan dari berbagai jenis teks, termasuk teks prosedur, untuk menemukan makna yang tersurat dan tersirat, serta membandingkan teks tersebut dengan jenis teks lain untuk menemukan persamaan dan perbedaannya secara kritis.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class="panel"&gt;
      &lt;div class="eyebrow" style="margin-bottom:6px;"&gt;Tujuan Pembelajaran&lt;/div&gt;
      &lt;p style="font-size:1.05rem; color:var(--off-white); font-weight:600;"&gt;Murid mampu membandingkan teks prosedur dengan teks lainnya yang mendukung serta menemukan persamaan dan perbedaannya.&lt;/p&gt;

      &lt;div class="tp-box"&gt;
        &lt;div class="tp-item"&gt;&lt;span class="idx mono"&gt;TP.1&lt;/span&gt;&lt;p&gt;Murid dapat menjelaskan kembali struktur dan ciri kebahasaan teks prosedur.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="tp-item"&gt;&lt;span class="idx mono"&gt;TP.2&lt;/span&gt;&lt;p&gt;Murid dapat menjelaskan struktur dan ciri kebahasaan teks eksplanasi sebagai teks pembanding.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="tp-item"&gt;&lt;span class="idx mono"&gt;TP.3&lt;/span&gt;&lt;p&gt;Murid dapat menemukan persamaan antara teks prosedur dan teks eksplanasi berdasarkan tujuan, struktur, dan kebahasaannya.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="tp-item"&gt;&lt;span class="idx mono"&gt;TP.4&lt;/span&gt;&lt;p&gt;Murid dapat menemukan perbedaan antara teks prosedur dan teks eksplanasi, lalu menyusun simpulan perbandingan secara tertulis.&lt;/p&gt;&lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class="eyebrow" style="margin-top:26px; margin-bottom:6px;"&gt;8 Profil Lulusan yang Dikembangkan&lt;/div&gt;
    &lt;div class="grid-3"&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Penalaran Kritis&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Menganalisis persamaan dan perbedaan dua jenis teks berdasarkan bukti tekstual.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Kemandirian&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Menyelesaikan simpulan perbandingan dan rangkuman secara mandiri.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Kolaborasi&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Bekerja sama dalam kelompok saat membandingkan dua teks.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Komunikasi&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Menyampaikan hasil perbandingan teks secara jelas dan runtut.&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI A ============ --&gt;
  &lt;section class="section" id="materi-a"&gt;
    &lt;div class="eyebrow"&gt;02 — Materi Inti A&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Mengingat Kembali Teks Prosedur&lt;/h2&gt;
    &lt;p class="lead"&gt;Sebelum membandingkan, murid perlu mengingat kembali ciri utama teks prosedur sebagai salah satu teks yang akan dibandingkan.&lt;/p&gt;

    &lt;div class="panel"&gt;
      &lt;p&gt;&lt;b style="color:var(--off-white);"&gt;Teks prosedur&lt;/b&gt; adalah teks yang berisi langkah-langkah sistematis untuk melakukan atau membuat sesuatu, bertujuan agar pembaca dapat mencapai hasil tertentu jika mengikuti langkah tersebut dengan tepat.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class="grid-3"&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Tujuan&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Mengarahkan pembaca untuk &lt;b&gt;melakukan tindakan&lt;/b&gt; tertentu secara berurutan.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Struktur&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Tujuan → alat/bahan (jika ada) → langkah-langkah → penutup/hasil.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Ciri Kebahasaan&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Kalimat imperatif, konjungsi temporal (kemudian, lalu, setelah itu), verba tindakan.&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI B ============ --&gt;
  &lt;section class="section" id="materi-b"&gt;
    &lt;div class="eyebrow"&gt;03 — Materi Inti B&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Mengenal Teks Eksplanasi sebagai Teks Pembanding&lt;/h2&gt;
    &lt;p class="lead"&gt;Teks eksplanasi dipilih sebagai teks pembanding karena sama-sama menjelaskan sebuah proses, namun dengan tujuan yang berbeda dari teks prosedur.&lt;/p&gt;

    &lt;div class="panel"&gt;
      &lt;p&gt;&lt;b style="color:var(--off-white);"&gt;Teks eksplanasi&lt;/b&gt; adalah teks yang menjelaskan proses terjadinya suatu fenomena (alam, sosial, atau ilmiah) berdasarkan hubungan sebab-akibat, bertujuan agar pembaca &lt;b&gt;memahami mengapa dan bagaimana&lt;/b&gt; sesuatu terjadi — bukan untuk diikuti sebagai tindakan.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class="grid-3"&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Tujuan&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Menjelaskan proses/fenomena agar pembaca &lt;b&gt;memahami&lt;/b&gt;, bukan melakukan tindakan.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Struktur&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Pernyataan umum → deretan penjelas (sebab-akibat) → interpretasi/penutup.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Ciri Kebahasaan&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Konjungsi kausalitas (sebab, karena, akibatnya) dan kronologis, kalimat pasif, istilah ilmiah/faktual.&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI C: PERSAMAAN ============ --&gt;
  &lt;section class="section" id="materi-c"&gt;
    &lt;div class="eyebrow"&gt;04 — Materi Inti C&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Persamaan Teks Prosedur dan Teks Eksplanasi&lt;/h2&gt;
    &lt;p class="lead"&gt;Meskipun berbeda tujuan, kedua teks memiliki beberapa kesamaan mendasar berikut.&lt;/p&gt;

    &lt;div class="criteria"&gt;
      &lt;div class="crit"&gt;
        &lt;div class="num mono"&gt;1&lt;/div&gt;
        &lt;div class="body"&gt;
          &lt;h4&gt;Sama-Sama Menjelaskan Proses/Tahapan&lt;/h4&gt;
          &lt;p style="margin:0;"&gt;Kedua teks disusun dalam rangkaian tahap atau langkah yang berurutan, bukan sekadar kumpulan informasi acak.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="crit"&gt;
        &lt;div class="num mono"&gt;2&lt;/div&gt;
        &lt;div class="body"&gt;
          &lt;h4&gt;Bersifat Informatif dan Faktual&lt;/h4&gt;
          &lt;p style="margin:0;"&gt;Keduanya menyampaikan informasi berdasarkan fakta atau kebenaran umum, bukan opini atau imajinasi penulis.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="crit"&gt;
        &lt;div class="num mono"&gt;3&lt;/div&gt;
        &lt;div class="body"&gt;
          &lt;h4&gt;Menggunakan Konjungsi Urutan&lt;/h4&gt;
          &lt;p style="margin:0;"&gt;Keduanya memakai kata penghubung yang menandai urutan, baik urutan waktu maupun urutan sebab-akibat.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="crit"&gt;
        &lt;div class="num mono"&gt;4&lt;/div&gt;
        &lt;div class="body"&gt;
          &lt;h4&gt;Disusun secara Sistematis&lt;/h4&gt;
          &lt;p style="margin:0;"&gt;Kedua teks memiliki struktur yang jelas dan tidak dapat diacak susunannya tanpa mengubah makna.&lt;/p&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI D: PERBEDAAN ============ --&gt;
  &lt;section class="section" id="materi-d"&gt;
    &lt;div class="eyebrow"&gt;05 — Materi Inti D&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Perbedaan Teks Prosedur dan Teks Eksplanasi&lt;/h2&gt;
    &lt;p class="lead"&gt;Gunakan tabel berikut untuk membandingkan kedua teks berdasarkan beberapa aspek utama.&lt;/p&gt;

    &lt;table&gt;
      &lt;tr&gt;&lt;th style="width:22%;"&gt;Aspek&lt;/th&gt;&lt;th&gt;Teks Prosedur&lt;/th&gt;&lt;th&gt;Teks Eksplanasi&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Tujuan&lt;/td&gt;&lt;td&gt;Mengarahkan pembaca &lt;b&gt;melakukan&lt;/b&gt; sesuatu&lt;/td&gt;&lt;td&gt;Membuat pembaca &lt;b&gt;memahami&lt;/b&gt; suatu proses/fenomena&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Fokus Isi&lt;/td&gt;&lt;td&gt;Tindakan yang harus dilakukan manusia&lt;/td&gt;&lt;td&gt;Proses alami, ilmiah, atau sosial yang terjadi dengan sendirinya&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Struktur&lt;/td&gt;&lt;td&gt;Tujuan → alat/bahan → langkah-langkah → penutup&lt;/td&gt;&lt;td&gt;Pernyataan umum → deretan penjelas → interpretasi&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kalimat Dominan&lt;/td&gt;&lt;td&gt;Kalimat imperatif (perintah/anjuran)&lt;/td&gt;&lt;td&gt;Kalimat deklaratif/pasif (pernyataan)&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Konjungsi Utama&lt;/td&gt;&lt;td&gt;Konjungsi temporal (lalu, kemudian, setelah itu)&lt;/td&gt;&lt;td&gt;Konjungsi kausalitas (karena, sebab, akibatnya)&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Hasil bagi Pembaca&lt;/td&gt;&lt;td&gt;Mampu melakukan/menghasilkan sesuatu&lt;/td&gt;&lt;td&gt;Mampu menjelaskan mengapa/bagaimana sesuatu terjadi&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI E: LANGKAH MEMBANDINGKAN ============ --&gt;
  &lt;section class="section" id="materi-e"&gt;
    &lt;div class="eyebrow"&gt;06 — Materi Inti E&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Langkah-Langkah Membandingkan Dua Teks&lt;/h2&gt;

    &lt;div class="timeline"&gt;
      &lt;div class="tl-item"&gt;&lt;h4 class="mono"&gt;01 · Membaca Kedua Teks&lt;/h4&gt;&lt;p&gt;Baca teks prosedur dan teks eksplanasi secara menyeluruh untuk memahami isi masing-masing.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="tl-item"&gt;&lt;h4 class="mono"&gt;02 · Mengidentifikasi Tujuan&lt;/h4&gt;&lt;p&gt;Tentukan tujuan penulisan setiap teks: apakah mengarahkan tindakan atau menjelaskan proses.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="tl-item"&gt;&lt;h4 class="mono"&gt;03 · Membandingkan Struktur&lt;/h4&gt;&lt;p&gt;Bandingkan bagian-bagian pembangun kedua teks dan urutannya.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="tl-item"&gt;&lt;h4 class="mono"&gt;04 · Membandingkan Ciri Kebahasaan&lt;/h4&gt;&lt;p&gt;Cermati jenis kalimat dan konjungsi dominan yang digunakan pada masing-masing teks.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="tl-item"&gt;&lt;h4 class="mono"&gt;05 · Menyusun Simpulan Perbandingan&lt;/h4&gt;&lt;p&gt;Tuliskan persamaan dan perbedaan kedua teks secara ringkas dan berdasarkan bukti dari teks.&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ CONTOH PENERAPAN ============ --&gt;
  &lt;section class="section" id="contoh"&gt;
    &lt;div class="eyebrow"&gt;07 — Pemodelan&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Contoh Penerapan: Membandingkan Dua Teks&lt;/h2&gt;
    &lt;p class="lead"&gt;Guru membacakan dan membahas bersama sepasang teks berikut sebagai model penerapan sebelum murid mengerjakan tugas kelompok.&lt;/p&gt;

    &lt;div class="doc-sample"&gt;
      &lt;div class="doc-head"&gt;&lt;span&gt;Lampiran · Teks Prosedur Contoh&lt;/span&gt;&lt;span&gt;Dokumen-01&lt;/span&gt;&lt;/div&gt;
      &lt;div class="doc-body"&gt;
        &lt;h3&gt;Prosedur Membuat Kompos dari Sampah Organik&lt;/h3&gt;
        &lt;p style="margin-top:-4px; color:#4b5a63;"&gt;&lt;i&gt;Tujuan: Mengubah sampah organik rumah tangga menjadi kompos yang dapat digunakan sebagai pupuk.&lt;/i&gt;&lt;/p&gt;
        &lt;ol&gt;
          &lt;li&gt;Kumpulkan sampah organik seperti sisa sayuran, buah, dan daun kering.&lt;/li&gt;
          &lt;li&gt;Cacah sampah organik menjadi potongan kecil agar cepat terurai.&lt;/li&gt;
          &lt;li&gt;Masukkan sampah organik ke dalam wadah komposter secara berlapis dengan tanah.&lt;/li&gt;
          &lt;li&gt;Siram dengan sedikit air agar kelembapan terjaga, lalu tutup wadah.&lt;/li&gt;
          &lt;li&gt;Aduk campuran setiap tiga hari sekali selama proses pengomposan berlangsung.&lt;/li&gt;
          &lt;li&gt;Setelah 3–4 minggu, kompos siap digunakan sebagai pupuk tanaman.&lt;/li&gt;
        &lt;/ol&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class="doc-sample" style="margin-top:22px;"&gt;
      &lt;div class="doc-head"&gt;&lt;span&gt;Lampiran · Teks Eksplanasi Contoh&lt;/span&gt;&lt;span&gt;Dokumen-02&lt;/span&gt;&lt;/div&gt;
      &lt;div class="doc-body"&gt;
        &lt;h3 style="color:#132029 !important;"&gt;Proses Terjadinya Pengomposan pada Sampah Organik&lt;/h3&gt;
        &lt;p style="margin-top:-4px; color:#4b5a63 !important;"&gt;&lt;i&gt;Pernyataan umum: Pengomposan adalah proses penguraian bahan organik oleh mikroorganisme menjadi bahan yang lebih sederhana dan bermanfaat bagi tanah.&lt;/i&gt;&lt;/p&gt;
        &lt;p style="margin:10px 0; color:#132029 !important;"&gt;Proses ini terjadi karena mikroorganisme seperti bakteri dan jamur menguraikan senyawa organik kompleks pada sisa sayuran dan daun. Akibat aktivitas mikroorganisme tersebut, suhu tumpukan sampah meningkat sehingga mempercepat proses penguraian. Seiring berjalannya waktu, struktur sampah organik berubah menjadi lebih gelap, remah, dan tidak berbau menyengat sebagai tanda bahwa proses penguraian telah selesai.&lt;/p&gt;
        &lt;p style="margin:10px 0 0; color:#4b5a63 !important;"&gt;&lt;i&gt;Interpretasi: Dengan demikian, pengomposan merupakan proses alami yang mengubah sampah organik menjadi materi yang bermanfaat bagi kesuburan tanah.&lt;/i&gt;&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class="panel" style="margin-top:22px;"&gt;
      &lt;p style="margin:0;"&gt;&lt;b style="color:var(--off-white);"&gt;Simpulan model perbandingan:&lt;/b&gt; Kedua teks membahas tema yang sama, yaitu pengomposan sampah organik. &lt;b&gt;Persamaannya&lt;/b&gt;, keduanya bersifat informatif dan disusun secara bertahap. &lt;b&gt;Perbedaannya&lt;/b&gt;, teks pertama berisi instruksi yang harus dilakukan pembaca (kalimat imperatif, konjungsi temporal), sedangkan teks kedua menjelaskan proses alami yang terjadi dengan sendirinya (kalimat deklaratif, konjungsi kausalitas) agar pembaca memahami mengapa dan bagaimana pengomposan terjadi.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ RANGKUMAN ============ --&gt;
  &lt;section class="section" id="rangkuman"&gt;
    &lt;div class="eyebrow"&gt;08 — Ringkasan Materi&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Poin-Poin Penting&lt;/h2&gt;
    &lt;div class="summary-box"&gt;
      &lt;ul&gt;
        &lt;li&gt;Teks prosedur bertujuan mengarahkan pembaca melakukan tindakan, sedangkan teks eksplanasi bertujuan membuat pembaca memahami suatu proses/fenomena.&lt;/li&gt;
        &lt;li&gt;Persamaan kedua teks: sama-sama menjelaskan proses/tahapan, bersifat informatif dan faktual, menggunakan konjungsi urutan, dan disusun secara sistematis.&lt;/li&gt;
        &lt;li&gt;Perbedaan utama terletak pada tujuan, fokus isi, struktur, jenis kalimat dominan, dan konjungsi yang digunakan.&lt;/li&gt;
        &lt;li&gt;Membandingkan dilakukan bertahap: membaca kedua teks → mengidentifikasi tujuan → membandingkan struktur → membandingkan kebahasaan → menyusun simpulan.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ TUGAS KELOMPOK ============ --&gt;
  &lt;section class="section" id="tugas-kelompok"&gt;
    &lt;div class="eyebrow"&gt;09 — Lembar Kerja&lt;/div&gt;
    &lt;div class="task-header"&gt;
      &lt;h2&gt;Tugas Kelompok: Membandingkan Teks Prosedur dan Teks Eksplanasi&lt;/h2&gt;
      &lt;span class="badge"&gt;Durasi ± 60 menit&lt;/span&gt;
    &lt;/div&gt;

    &lt;p style="margin-top:18px;"&gt;&lt;b style="color:var(--off-white);"&gt;Tujuan tugas:&lt;/b&gt; Murid secara berkelompok membandingkan sepasang teks bertema sama berikut, lalu menemukan persamaan dan perbedaannya berdasarkan tujuan, struktur, dan ciri kebahasaan.&lt;/p&gt;

    &lt;div class="doc-sample" style="margin-top:20px;"&gt;
      &lt;div class="doc-head"&gt;&lt;span&gt;Lampiran · Teks Prosedur untuk Dibandingkan&lt;/span&gt;&lt;span&gt;Dokumen-03&lt;/span&gt;&lt;/div&gt;
      &lt;div class="doc-body"&gt;
        &lt;h3&gt;Prosedur Mendaur Ulang Botol Plastik menjadi Pot Tanaman&lt;/h3&gt;
        &lt;p style="margin-top:-4px; color:#4b5a63;"&gt;&lt;i&gt;Tujuan: Mengubah botol plastik bekas menjadi pot tanaman sederhana.&lt;/i&gt;&lt;/p&gt;
        &lt;ol&gt;
          &lt;li&gt;Siapkan botol plastik bekas, gunting, dan cat jika diperlukan.&lt;/li&gt;
          &lt;li&gt;Potong botol plastik menjadi dua bagian menggunakan gunting.&lt;/li&gt;
          &lt;li&gt;Buat beberapa lubang kecil di bagian bawah botol sebagai saluran air.&lt;/li&gt;
          &lt;li&gt;Hias bagian luar botol dengan cat sesuai selera.&lt;/li&gt;
          &lt;li&gt;Isi botol dengan tanah dan bibit tanaman.&lt;/li&gt;
          &lt;li&gt;Pot dari botol plastik siap digunakan untuk menanam.&lt;/li&gt;
        &lt;/ol&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class="doc-sample" style="margin-top:20px;"&gt;
      &lt;div class="doc-head"&gt;&lt;span&gt;Lampiran · Teks Eksplanasi untuk Dibandingkan&lt;/span&gt;&lt;span&gt;Dokumen-04&lt;/span&gt;&lt;/div&gt;
      &lt;div class="doc-body"&gt;
        &lt;h3 style="color:#132029 !important;"&gt;Proses Terjadinya Pencemaran Lingkungan akibat Sampah Plastik&lt;/h3&gt;
        &lt;p style="margin-top:-4px; color:#4b5a63 !important;"&gt;&lt;i&gt;Pernyataan umum: Pencemaran lingkungan akibat sampah plastik terjadi karena sifat plastik yang sulit terurai secara alami.&lt;/i&gt;&lt;/p&gt;
        &lt;p style="margin:10px 0; color:#132029 !important;"&gt;Plastik yang dibuang sembarangan akan terurai dalam waktu yang sangat lama, bahkan hingga ratusan tahun. Selama proses tersebut, plastik dapat mencemari tanah dan air karena melepaskan zat kimia berbahaya. Selain itu, sampah plastik yang menumpuk di saluran air dapat menyebabkan penyumbatan sehingga memicu banjir pada musim hujan.&lt;/p&gt;
        &lt;p style="margin:10px 0 0; color:#4b5a63 !important;"&gt;&lt;i&gt;Interpretasi: Oleh karena itu, pengelolaan sampah plastik yang tepat, termasuk melalui daur ulang, sangat penting untuk mengurangi dampak pencemaran lingkungan.&lt;/i&gt;&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;h4 style="color:var(--off-white); margin-top:26px;"&gt;Petunjuk Pengerjaan&lt;/h4&gt;
    &lt;ol class="steps-num"&gt;
      &lt;li&gt;&lt;b&gt;Bentuk kelompok&lt;/b&gt; beranggotakan 4–5 orang sesuai pembagian dari guru.&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Baca kedua teks&lt;/b&gt; di atas secara bersama-sama dalam kelompok.&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Identifikasi tujuan, struktur, dan ciri kebahasaan&lt;/b&gt; masing-masing teks.&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Isi Tabel Perbandingan&lt;/b&gt; di bawah ini untuk setiap aspek yang diminta.&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Presentasikan hasil&lt;/b&gt; di depan kelas selama maksimal 5 menit per kelompok, dilanjutkan tanya jawab singkat.&lt;/li&gt;
    &lt;/ol&gt;

    &lt;h4 style="color:var(--off-white); margin-top:26px;"&gt;Format Tabel Perbandingan Kelompok&lt;/h4&gt;
    &lt;table&gt;
      &lt;tr&gt;&lt;th style="width:22%;"&gt;Aspek&lt;/th&gt;&lt;th&gt;Teks Prosedur&lt;/th&gt;&lt;th&gt;Teks Eksplanasi&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Tujuan&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Struktur&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kalimat dominan&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Konjungsi utama&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Hasil bagi pembaca&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;

    &lt;h4 style="color:var(--off-white); margin-top:26px;"&gt;Rubrik Penilaian Kelompok&lt;/h4&gt;
    &lt;table&gt;
      &lt;tr&gt;&lt;th style="width:26%;"&gt;Aspek Penilaian&lt;/th&gt;&lt;th&gt;Skor 4 (Sangat Baik)&lt;/th&gt;&lt;th&gt;Skor 3 (Baik)&lt;/th&gt;&lt;th&gt;Skor 2 (Cukup)&lt;/th&gt;&lt;th&gt;Skor 1 (Kurang)&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Ketepatan identifikasi persamaan&lt;/td&gt;&lt;td&gt;Seluruh persamaan teridentifikasi tepat&lt;/td&gt;&lt;td&gt;Sebagian besar tepat&lt;/td&gt;&lt;td&gt;Identifikasi dangkal&lt;/td&gt;&lt;td&gt;Tidak sesuai&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Ketepatan identifikasi perbedaan&lt;/td&gt;&lt;td&gt;Seluruh perbedaan teridentifikasi tepat dengan bukti jelas&lt;/td&gt;&lt;td&gt;Sebagian besar tepat&lt;/td&gt;&lt;td&gt;Identifikasi dangkal&lt;/td&gt;&lt;td&gt;Tidak sesuai&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kerja sama kelompok&lt;/td&gt;&lt;td&gt;Seluruh anggota aktif berkontribusi&lt;/td&gt;&lt;td&gt;Sebagian besar anggota aktif&lt;/td&gt;&lt;td&gt;Hanya sebagian kecil anggota aktif&lt;/td&gt;&lt;td&gt;Didominasi satu orang&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Presentasi&lt;/td&gt;&lt;td&gt;Jelas, percaya diri, menjawab pertanyaan dengan baik&lt;/td&gt;&lt;td&gt;Jelas namun kurang percaya diri&lt;/td&gt;&lt;td&gt;Kurang jelas/terbata-bata&lt;/td&gt;&lt;td&gt;Tidak dapat menjelaskan hasil&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ RANGKUMAN UNTUK BUKU CATATAN ============ --&gt;
  &lt;section class="section" id="catatan-murid"&gt;
    &lt;div class="eyebrow"&gt;10 — Penutup Pembelajaran&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Rangkuman untuk Dicatat di Buku Catatan&lt;/h2&gt;
    &lt;p class="lead"&gt;Sebagai penutup pertemuan, setiap murid menuliskan satu rangkuman ringkas secara mandiri di buku catatan sebagai simpulan pribadi atas materi hari ini.&lt;/p&gt;

    &lt;div class="notebook"&gt;
      &lt;div class="content"&gt;
        &lt;h3 style="color:#132029 !important;"&gt;Instruksi Menulis Rangkuman&lt;/h3&gt;
        &lt;p style="margin-top:0; color:#132029 !important;"&gt;Tulis di buku catatan masing-masing, maksimal &lt;b&gt;satu halaman&lt;/b&gt;, mencakup poin-poin berikut:&lt;/p&gt;
        &lt;ul style="color:#132029 !important;"&gt;
          &lt;li style="color:#132029 !important;"&gt;Perbedaan tujuan antara teks prosedur dan teks eksplanasi, menurut pemahaman sendiri.&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Minimal dua persamaan dan tiga perbedaan antara teks prosedur dan teks eksplanasi.&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Langkah-langkah membandingkan dua teks secara berurutan.&lt;/li&gt;
          &lt;li style="color:#132029 !important;"&gt;Satu contoh situasi sehari-hari yang menunjukkan perbedaan antara "mengikuti prosedur" dan "memahami penjelasan proses".&lt;/li&gt;
        &lt;/ul&gt;
        &lt;p style="margin-bottom:0; color:#4b5a63 !important;"&gt;&lt;i&gt;Rangkuman ditulis dengan kalimat sendiri (bukan menyalin ulang dari materi), dan dikumpulkan pada awal pertemuan berikutnya untuk diperiksa guru.&lt;/i&gt;&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

&lt;/main&gt;

&lt;footer&gt;
  &lt;div class="doc-code"&gt;DOK/B.INDO/XI/PROSEDUR-BANDING — Fokus Tujuan Pembelajaran, Materi Inti &amp;amp; Tugas Kelompok, 1× pertemuan (3 JP)&lt;/div&gt;
  &lt;p style="margin:0;"&gt;Referensi: Kurikulum Merdeka — Capaian Pembelajaran Bahasa Indonesia Fase F (Elemen Membaca dan Memirsa); Buku Teks Bahasa Indonesia Kelas XI SMK/MAK Kemendikbudristek.&lt;/p&gt;
&lt;/footer&gt;
&lt;/div&gt;</description><link>http://kitab-investasi.blogspot.com/2026/07/membandingkan-teks-prosedur-dengan-teks.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-4520144294968549584</guid><pubDate>Thu, 23 Jul 2026 07:35:22 +0000</pubDate><atom:updated>2026-07-24T07:29:26.342+07:00</atom:updated><title>Asesmen Awal Bahasa Indonesia XI SMK</title><description>&lt;!DOCTYPE html&gt;
&lt;html lang="id"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"&gt;
    &lt;title&gt;SMART • Asesmen Awal Bahasa Indonesia XI SMK&lt;/title&gt;
    &lt;style&gt;
        * { margin: 0; padding: 0; box-sizing: border-box; user-select: none; }
        html, body {
            width: 100%;
            min-height: 100vh;
            background: #080c18;
            font-family: 'Segoe UI', 'Arial', 'Helvetica', sans-serif;
            overflow: hidden;
            position: relative;
        }
        #game-wrapper {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            max-width: 100%;
            max-height: 100%;
            background: radial-gradient(circle at 20% 30%, #0e1a2b, #050a14);
            box-shadow: 0 0 50px #00d4ff40, 0 0 120px #0055ff20;
            border: 1px solid #00d4ff60;
            display: flex;
            flex-direction: column;
            padding: 16px;
            overflow: hidden;
            z-index: 9999;
        }
        #header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 6px 12px;
            color: #a8e6ff;
            font-weight: bold;
            background: rgba(0, 20, 40, 0.6);
            backdrop-filter: blur(4px);
            border-radius: 60px;
            border: 1px solid #00d4ff80;
            margin-bottom: 10px;
            flex-shrink: 0;
        }
        #header span { background: #0a1a2e; padding: 4px 16px; border-radius: 40px; border: 1px solid #00d4ff; font-size: 0.9rem; letter-spacing: 1px; }
        #level-indicator { background: #0a1a2e; color: #7ad0ff; border-color: #00aaff; }
        #score-indicator { color: #facc15; border-color: #facc15; }
        #player-name-display { color: #7ad0ff; border-color: #00aaff; }
        #timer-display { background: #1a0a0a; color: #ff6b6b; border-color: #ff4444; min-width: 80px; text-align: center; }
        #game-canvas-container {
            flex: 1;
            position: relative;
            border-radius: 24px;
            overflow: hidden;
            min-height: 200px;
            border: 1px solid #00d4ff40;
            box-shadow: inset 0 0 60px #0044aa30;
            cursor: crosshair;
        }
        canvas { display: block; width: 100%; height: 100%; background: transparent; cursor: crosshair; }
        #question-panel {
            background: rgba(0, 16, 32, 0.85);
            backdrop-filter: blur(8px);
            border: 1px solid #00d4ff;
            border-radius: 40px;
            padding: 14px 20px;
            margin-top: 10px;
            color: #e6f7ff;
            font-weight: 600;
            font-size: clamp(0.95rem, 2.6vw, 1.25rem);
            text-align: left;
            box-shadow: 0 0 40px #0066ff44;
            flex-shrink: 0;
            min-height: 76px;
            display: flex;
            align-items: center;
            line-height: 1.5;
        }
        #question-panel .q-number { color: #00d4ff; font-weight: 800; margin-right: 12px; white-space: nowrap; text-shadow: 0 0 12px #00aaff; }
        #question-panel .q-text { color: #ffffff; font-weight: 700; text-shadow: 0 0 8px rgba(0, 180, 255, 0.3); }
        #entry-screen {
            position: absolute; inset: 0; z-index: 20;
            background: rgba(0, 6, 16, 0.92); backdrop-filter: blur(12px);
            display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 30px;
            border-radius: 32px; padding: 20px;
        }
        #entry-screen h1 { font-size: 2.6rem; color: #7ad0ff; text-shadow: 0 0 40px #00aaff, 0 0 100px #0055ff; letter-spacing: 4px; font-weight: 800; }
        #entry-screen h2 { color: #7ad0ff; font-size: 1.4rem; margin-top: -20px; text-shadow: 0 0 20px #00aaff; font-weight: 400; letter-spacing: 2px; }
        #entry-screen input { background: #0a1a2e; border: 2px solid #00d4ff; border-radius: 60px; padding: 16px 24px; width: 80%; max-width: 340px; font-size: 1.3rem; color: #d6f0ff; text-align: center; outline: none; box-shadow: 0 0 40px #0066ff55; }
        #entry-screen input::placeholder { color: #4a7a9a; }
        .cyber-btn {
            background: linear-gradient(145deg, #0a2a4a, #06152a); border: 1px solid #00d4ff; color: #d6f0ff;
            padding: 16px 48px; border-radius: 60px; font-size: 1.6rem; font-weight: bold; letter-spacing: 3px;
            box-shadow: 0 0 40px #00aaffaa, inset 0 0 20px #00aaff44; transition: 0.2s; cursor: pointer; backdrop-filter: blur(4px);
        }
        .cyber-btn:active { transform: scale(0.93); box-shadow: 0 0 80px #00d4ff; }
        #congrats-overlay {
            position: absolute; inset: 0; z-index: 30;
            background: rgba(0, 4, 16, 0.85); backdrop-filter: blur(8px); border-radius: 32px;
            display: none; flex-direction: column; justify-content: center; align-items: center; padding: 20px; text-align: center; color: #fff;
        }
        #congrats-overlay.show { display: flex; }
        .congrats-box {
            background: rgba(0, 16, 32, 0.8); border: 2px solid #00d4ff; border-radius: 60px; padding: 30px 20px;
            max-width: 480px; width: 100%; box-shadow: 0 0 80px #0066ff88, inset 0 0 30px #00aaff44; backdrop-filter: blur(8px); position: relative; z-index: 5;
        }
        .congrats-box .user-name { font-size: 1.4rem; color: #7ad0ff; margin-bottom: 8px; text-shadow: 0 0 20px #00aaff; }
        .congrats-box .user-name i { font-style: normal; background: rgba(0,180,255,0.15); padding: 2px 14px; border-radius: 30px; border: 1px solid #00aaff44; }
        .congrats-box h2 { font-size: 2.4rem; margin-bottom: 6px; color: #facc15; text-shadow: 0 0 30px #facc15aa; }
        .congrats-box .rank { font-size: 2rem; font-weight: 800; background: linear-gradient(45deg, #7ad0ff, #00aaff, #a855f7); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin: 10px 0; }
        .congrats-box .final-score { font-size: 1.8rem; color: #7ad0ff; text-shadow: 0 0 20px #00aaff66; }
        .congrats-box .final-score span { color: #facc15; font-weight: 800; text-shadow: 0 0 20px #facc1566; }
        .congrats-box .message { font-size: 1.2rem; color: #c8e6ff; margin: 16px 0; background: rgba(0,180,255,0.1); padding: 10px 16px; border-radius: 30px; border: 1px solid #00aaff44; }
        .congrats-box .stats-grid { display: flex; justify-content: center; gap: 20px; margin: 12px 0; font-size: 0.9rem; color: #7ad0ff; }
        .congrats-box .stats-grid span { background: rgba(0,20,50,0.5); padding: 4px 14px; border-radius: 20px; border: 1px solid #00aaff33; }
        .congrats-box .footer-note { margin-top: 16px; font-size: 0.85rem; color: #5a8aaa; letter-spacing: 1px; border-top: 1px solid #00aaff33; padding-top: 14px; font-style: italic; }
        .small-btn { background: #0a2a4a; border: 1px solid #00d4ff; color: #d6f0ff; padding: 12px 30px; border-radius: 60px; font-size: 1.2rem; margin-top: 12px; cursor: pointer; transition: 0.2s; box-shadow: 0 0 20px #00aaff33; }
        .small-btn:active { transform: scale(0.92); }
        #speech-btn { background: rgba(0,180,255,0.15); border: 1px solid #00d4ff; color: #7ad0ff; padding: 8px 20px; border-radius: 40px; font-size: 0.9rem; cursor: pointer; margin-top: 6px; transition: 0.2s; box-shadow: 0 0 15px #00aaff22; }
        #speech-btn:hover { background: rgba(0,180,255,0.3); }
        #leaderboard {
            position: absolute; bottom: 10px; right: 16px;
            background: #0a1218cc; backdrop-filter: blur(8px); padding: 10px 18px; border-radius: 40px;
            border: 1px solid #00d4ff; color: #7ad0ff; font-size: 0.8rem; max-width: 200px; max-height: 120px; overflow-y: auto; z-index: 10;
        }
        #leaderboard div { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px solid #00d4ff40; padding: 2px 0; }
        .lb-score { color: #facc15; }
        /* Tombol Panduan - PASTI MUNCUL */
        #guide-btn {
            position: absolute;
            top: 12px;
            right: 12px;
            background: rgba(0, 180, 255, 0.2);
            border: 1.5px solid #00d4ff;
            color: #7ad0ff;
            padding: 8px 18px;
            border-radius: 40px;
            font-size: 0.9rem;
            font-weight: bold;
            cursor: pointer;
            z-index: 15;
            transition: 0.3s;
            box-shadow: 0 0 20px #00aaff44;
            backdrop-filter: blur(4px);
            display: flex;
            align-items: center;
            gap: 6px;
        }
        #guide-btn:hover { background: rgba(0, 180, 255, 0.35); transform: scale(1.05); }
        #guide-btn:active { transform: scale(0.95); }
        /* Modal Panduan */
        #guide-modal {
            position: absolute; inset: 0; z-index: 40;
            background: rgba(0, 4, 16, 0.92); backdrop-filter: blur(10px);
            display: none; flex-direction: column; justify-content: center; align-items: center;
            border-radius: 32px; padding: 30px 20px;
            text-align: center; color: #fff;
        }
        #guide-modal.show { display: flex; }
        #guide-modal .guide-box {
            background: rgba(0, 16, 32, 0.9); border: 1px solid #00d4ff; border-radius: 40px;
            padding: 30px 25px; max-width: 500px; width: 100%;
            max-height: 80vh; overflow-y: auto;
            box-shadow: 0 0 60px #0066ff66;
        }
        #guide-modal h2 { color: #facc15; font-size: 2rem; margin-bottom: 16px; text-shadow: 0 0 30px #facc15aa; }
        #guide-modal p, #guide-modal li { color: #c8e6ff; font-size: 1rem; line-height: 1.6; text-align: left; }
        #guide-modal ul { padding-left: 20px; margin: 10px 0; }
        #guide-modal .close-guide {
            margin-top: 20px;
            background: #0a2a4a; border: 1px solid #00d4ff; color: #d6f0ff;
            padding: 10px 30px; border-radius: 60px; font-size: 1.1rem;
            cursor: pointer; transition: 0.2s;
        }
        #guide-modal .close-guide:hover { background: #0a3a5a; }
        .guide-icon { font-size: 1.5rem; margin-right: 8px; }
        @media (max-width: 500px) {
            #header span { font-size: 0.7rem; padding: 2px 10px; }
            #entry-screen h1 { font-size: 2rem; }
            #question-panel { font-size: clamp(0.8rem, 2.5vw, 1rem); padding: 10px 14px; min-height: 64px; }
            .congrats-box { padding: 20px 14px; }
            .congrats-box h2 { font-size: 1.8rem; }
            .congrats-box .rank { font-size: 1.5rem; }
            #leaderboard { max-width: 140px; font-size: 0.7rem; padding: 6px 12px; }
            #guide-btn { font-size: 0.7rem; padding: 5px 12px; top: 8px; right: 8px; }
            #guide-modal .guide-box { padding: 20px 15px; }
            #guide-modal h2 { font-size: 1.5rem; }
            #guide-modal p, #guide-modal li { font-size: 0.85rem; }
        }
        @media (max-width: 400px) {
            #header span { font-size: 0.6rem; padding: 2px 6px; }
            #timer-display { min-width: 60px; font-size: 0.7rem; }
            #guide-btn { font-size: 0.6rem; padding: 4px 10px; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id="game-wrapper"&gt;
    &lt;div id="header"&gt;
        &lt;span id="player-name-display"&gt;&#128218; User&lt;/span&gt;
        &lt;span id="level-indicator"&gt;⚡ Level 1&lt;/span&gt;
        &lt;span id="score-indicator"&gt;⭐ 0 / 100&lt;/span&gt;
        &lt;span id="timer-display"&gt;⏱️ 60:00&lt;/span&gt;
    &lt;/div&gt;
    &lt;div id="game-canvas-container"&gt;
        &lt;canvas id="gameCanvas" width="800" height="600"&gt;&lt;/canvas&gt;
        &lt;!-- TOMBOL PANDUAN - DITAMPILKAN DI ATAS CANVAS --&gt;
        &lt;button id="guide-btn"&gt;&#128214; Panduan&lt;/button&gt;
        &lt;div id="entry-screen"&gt;
            &lt;h1&gt;&#128218; SMART&lt;/h1&gt;
            &lt;h2&gt;Asesmen Awal Bahasa Indonesia • Kelas XI SMK&lt;/h2&gt;
            &lt;input id="playerNameInput" type="text" placeholder="Nama User" maxlength="20"&gt;
            &lt;button class="cyber-btn" id="startGameBtn"&gt;▶ MULAI&lt;/button&gt;
            &lt;div style="color:#4a7a9a; font-size:0.8rem;"&gt;Panah ke buku &amp; perpustakaan! • Waktu 60 menit&lt;/div&gt;
        &lt;/div&gt;
        &lt;div id="congrats-overlay"&gt;
            &lt;div class="congrats-box"&gt;
                &lt;div class="user-name"&gt;&#128218; &lt;i id="userNameDisplay"&gt;User&lt;/i&gt;&lt;/div&gt;
                &lt;h2&gt;&#127937; ASESMEN SELESAI&lt;/h2&gt;
                &lt;div class="rank" id="rankDisplay"&gt;Master Bahasa Indonesia&lt;/div&gt;
                &lt;div class="final-score"&gt;Skor Akhir: &lt;span id="finalScoreDisplay"&gt;0&lt;/span&gt; / 100&lt;/div&gt;
                &lt;div class="stats-grid"&gt;
                    &lt;span id="levelCompleteDisplay"&gt;Level: 5/5&lt;/span&gt;
                    &lt;span id="accuracyDisplay"&gt;Akurasi: 0%&lt;/span&gt;
                &lt;/div&gt;
                &lt;div class="message" id="personalMessage"&gt;Hebat, User!&lt;/div&gt;
                &lt;button id="speech-btn"&gt;&#128266; Dengarkan Laporan&lt;/button&gt;
                &lt;button class="small-btn" id="restartFromCongratsBtn"&gt;&#128260; Misi Ulang&lt;/button&gt;
                &lt;div class="footer-note"&gt;✦ Selamat Belajar &amp; Bermain ✦&lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;
        &lt;div id="leaderboard"&gt;
            &lt;div style="color:#facc15; font-weight:bold;"&gt;&#127942; LEADERBOARD&lt;/div&gt;
            &lt;div id="lbEntries"&gt;&lt;div style="color:#4a7a9a;"&gt;Belum ada data&lt;/div&gt;&lt;/div&gt;
        &lt;/div&gt;
        &lt;!-- Modal Panduan --&gt;
        &lt;div id="guide-modal"&gt;
            &lt;div class="guide-box"&gt;
                &lt;h2&gt;&#128214; Panduan Permainan&lt;/h2&gt;
                &lt;p&gt;&lt;strong&gt;&#127919; Tujuan:&lt;/strong&gt; Jawab 50 pertanyaan Bahasa Indonesia Kelas XI SMK dengan menembak target yang benar.&lt;/p&gt;
                &lt;hr style="border-color:#00aaff44; margin:12px 0;"&gt;
                &lt;ul&gt;
                    &lt;li&gt;&lt;strong&gt;&#128260; Cara Bermain:&lt;/strong&gt; Gerakkan kursor/tap untuk mengarahkan busur. &lt;strong&gt;Klik atau tap&lt;/strong&gt; pada target (buku/perpustakaan) yang kamu yakini sebagai jawaban benar.&lt;/li&gt;
                    &lt;li&gt;&lt;strong&gt;&#128218; Materi:&lt;/strong&gt; 5 Level mewakili 18 pertemuan: Teks Prosedur, Ceramah, Resensi, Latihan AKM, dan Rangkuman.&lt;/li&gt;
                    &lt;li&gt;&lt;strong&gt;⭐ Skor:&lt;/strong&gt; Setiap jawaban benar mendapat poin. Skor maksimal 100. Target bernilai 2 poin per jawaban benar.&lt;/li&gt;
                    &lt;li&gt;&lt;strong&gt;⏱️ Waktu:&lt;/strong&gt; Kamu memiliki waktu 60 menit untuk menyelesaikan semua level. Waktu akan berubah merah saat &lt; 5 menit.&lt;/li&gt;
                    &lt;li&gt;&lt;strong&gt;&#127942; Predikat:&lt;/strong&gt; Skor akhir menentukan predikat: Master, Expert, Pro, Learner, atau Perlu Belajar Lagi.&lt;/li&gt;
                    &lt;li&gt;&lt;strong&gt;&#128266; Suara:&lt;/strong&gt; Klik tombol "Dengarkan Laporan" di akhir permainan untuk mendengar hasil.&lt;/li&gt;
                &lt;/ul&gt;
                &lt;p style="margin-top:12px; font-style:italic; color:#7ad0ff;"&gt;✦ Selamat belajar &amp; semoga sukses! ✦&lt;/p&gt;
                &lt;button class="close-guide" id="closeGuideBtn"&gt;✔️ Saya Mengerti&lt;/button&gt;
            &lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div id="question-panel"&gt;
        &lt;span class="q-number" id="qNumberDisplay"&gt;1.&lt;/span&gt;
        &lt;span class="q-text" id="qTextDisplay"&gt;Tekan mulai &amp; tembak buku pengetahuan&lt;/span&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;script&gt;
    (function(){
        // ============================================================
        // BANK SOAL BAHASA INDONESIA KELAS XI SMK (18 Pertemuan)
        // ============================================================
        const LEVELS = 5;
        const QUESTIONS_PER_LEVEL = 10;
        const MAX_SCORE = 100;
        const TOTAL_TIME = 60 * 60;

        const QUESTION_BANK = [
            // ===== LEVEL 1: Teks Prosedur =====
            [
                { q: "Apa tujuan utama dari teks prosedur?", options: ["Memberikan petunjuk langkah-langkah", "Menghibur pembaca", "Menceritakan pengalaman", "Meyakinkan pembaca", "Menjelaskan definisi"], correct: 0 },
                { q: "Ciri kebahasaan yang dominan dalam teks prosedur adalah...", options: ["Kalimat imperatif", "Kalimat tanya", "Kalimat pasif", "Kalimat berita", "Kalimat seru"], correct: 0 },
                { q: "Konjungsi temporal yang sering digunakan dalam teks prosedur adalah...", options: ["Kemudian, setelah itu, lalu", "Namun, akan tetapi", "Oleh karena itu", "Selain itu", "Dengan demikian"], correct: 0 },
                { q: "Contoh kalimat deklaratif dalam teks prosedur adalah...", options: ["Langkah pertama adalah menyiapkan alat", "Siapkan alat-alat!", "Apakah kamu sudah siap?", "Ayo kita mulai!", "Jangan lupa berdoa"], correct: 0 },
                { q: "Kalimat persuasif dalam teks prosedur bertujuan...", options: ["Membujuk pembaca untuk melakukan", "Memberi perintah", "Menanyakan", "Menceritakan", "Menjelaskan"], correct: 0 },
                { q: "Kaidah kebahasaan teks prosedur meliputi...", options: ["Kalimat perintah, kata teknis, konjungsi temporal", "Kata ganti orang, kata sifat, antonim", "Kata kerja mental, kata kerja material", "Kalimat pasif, kalimat aktif", "Konjungsi kausalitas, kata tanya"], correct: 0 },
                { q: "Salah satu langkah menulis teks prosedur yang baik adalah...", options: ["Menentukan tujuan dan audiens", "Mengabaikan urutan", "Menggunakan bahasa asing", "Membuat panjang lebar", "Menghilangkan langkah"], correct: 0 },
                { q: "Teks prosedur yang baik harus disusun secara...", options: ["Logis dan sistematis", "Acak dan bebas", "Emosional", "Panjang lebar", "Subjektif"], correct: 0 },
                { q: "Contoh kata teknis dalam teks prosedur memasak adalah...", options: ["Tumis, rebus, panggang", "Indah, cantik, bagus", "Cepat, lambat, sedang", "Panas, dingin, hangat", "Manis, asin, asam"], correct: 0 },
                { q: "Apa yang dimaksud dengan evaluasi informasi dalam teks prosedur?", options: ["Menilai kebenaran dan kegunaan informasi", "Menghafal isi teks", "Menceritakan kembali", "Mengabaikan detail", "Mengubah isi teks"], correct: 0 }
            ],
            // ===== LEVEL 2: Teks Ceramah =====
            [
                { q: "Tujuan utama teks ceramah adalah...", options: ["Memberi nasihat atau arahan", "Menghibur pendengar", "Menceritakan kisah", "Menjelaskan prosedur", "Meyakinkan dengan data"], correct: 0 },
                { q: "Gagasan pokok dalam teks ceramah biasanya terletak di...", options: ["Awal paragraf", "Akhir paragraf", "Tengah paragraf", "Semua paragraf", "Tidak tentu"], correct: 0 },
                { q: "Kata ganti orang yang sering digunakan dalam ceramah adalah...", options: ["Kita, kami, anda", "Saya, aku", "Mereka", "Kalian", "Beliau"], correct: 0 },
                { q: "Kata teknis dalam teks ceramah keagamaan contohnya...", options: ["Taqwa, ikhlas, sabar", "Masak, goreng, rebus", "Lari, jalan, duduk", "Baca, tulis, hitung", "Senyum, sapa, salam"], correct: 0 },
                { q: "Kata persuasif dalam ceramah bertujuan...", options: ["Membujuk pendengar", "Memberi perintah", "Menjelaskan fakta", "Menceritakan kejadian", "Menanyakan pendapat"], correct: 0 },
                { q: "Ciri kebahasaan teks ceramah meliputi...", options: ["Kata ganti orang, kata teknis, kata persuasif", "Kalimat imperatif, konjungsi temporal", "Kata benda, kata sifat", "Kalimat tanya, kata seru", "Kata kerja mental"], correct: 0 },
                { q: "Saat menyajikan ceramah, intonasi yang baik adalah...", options: ["Jelas dan bervariasi", "Monoton", "Sangat cepat", "Sangat lambat", "Berteriak"], correct: 0 },
                { q: "Membandingkan isi teks ceramah dengan teks lain bertujuan...", options: ["Menemukan persamaan dan perbedaan", "Menghafal isi", "Mengubah isi", "Mengabaikan teks lain", "Meniru gaya bahasa"], correct: 0 },
                { q: "Evaluasi informasi dalam teks ceramah berarti...", options: ["Menilai keakuratan dan relevansi informasi", "Menghafal semua isi", "Menceritakan kembali", "Mengabaikan sumber", "Mengubah topik"], correct: 0 },
                { q: "Sikap yang harus dimiliki saat menyampaikan ceramah adalah...", options: ["Santun dan percaya diri", "Marah dan keras", "Acuh tak acuh", "Malu dan ragu", "Bercanda berlebihan"], correct: 0 }
            ],
            // ===== LEVEL 3: Teks Resensi =====
            [
                { q: "Teks resensi bertujuan untuk...", options: ["Memberi penilaian terhadap karya", "Menghibur pembaca", "Menceritakan kisah", "Memberi petunjuk", "Menyampaikan berita"], correct: 0 },
                { q: "Struktur teks resensi yang benar adalah...", options: ["Identitas, orientasi, sinopsis, analisis, evaluasi", "Pendahuluan, isi, penutup", "Abstrak, pendahuluan, pembahasan, kesimpulan", "Tesis, argumentasi, penegasan", "Orientasi, komplikasi, resolusi"], correct: 0 },
                { q: "Kaidah kebahasaan teks resensi yang dominan adalah...", options: ["Kata kerja mental, kata sifat penilaian", "Kalimat imperatif", "Konjungsi temporal", "Kata ganti orang", "Kata teknis prosedur"], correct: 0 },
                { q: "Contoh kata sifat penilaian dalam resensi adalah...", options: ["Menarik, membosankan, inspiratif", "Cepat, lambat, sedang", "Besar, kecil, panjang", "Manis, asin, asam", "Panas, dingin, hangat"], correct: 0 },
                { q: "Sinopsis dalam resensi berisi...", options: ["Ringkasan cerita secara singkat", "Analisis mendalam", "Kelebihan buku", "Kekurangan buku", "Kesimpulan akhir"], correct: 0 },
                { q: "Menganalisis kaidah kebahasaan resensi berarti...", options: ["Menelaah penggunaan bahasa", "Menghafal isi", "Mengubah isi", "Membandingkan buku", "Menceritakan kembali"], correct: 0 },
                { q: "Teks resensi yang baik harus ditulis secara...", options: ["Logis dan sistematis", "Acak dan bebas", "Emosional", "Panjang lebar", "Subjektif"], correct: 0 },
                { q: "Saat mempresentasikan resensi, hal yang perlu diperhatikan adalah...", options: ["Kejelasan dan logika penyampaian", "Kecepatan bicara", "Penggunaan bahasa asing", "Penampilan fisik", "Durasi yang sangat panjang"], correct: 0 },
                { q: "Membandingkan teks resensi dengan teks lain bertujuan...", options: ["Menemukan kelebihan dan kekurangan", "Menghafal isi", "Mengubah isi", "Mengabaikan teks lain", "Meniru gaya bahasa"], correct: 0 },
                { q: "Evaluasi struktur teks resensi meliputi...", options: ["Kelengkapan bagian-bagian resensi", "Jumlah halaman", "Penerbit buku", "Harga buku", "Tahun terbit"], correct: 0 }
            ],
            // ===== LEVEL 4: Latihan Soal &amp; AKM =====
            [
                { q: "Soal AKM (Asesmen Kompetensi Minimum) biasanya mengukur...", options: ["Kemampuan bernalar dan literasi", "Penghafalan materi", "Kecepatan menulis", "Keterampilan berbicara", "Kemampuan menggambar"], correct: 0 },
                { q: "Dalam soal AKM teks prosedur, yang sering diuji adalah...", options: ["Pemahaman langkah-langkah dan tujuan", "Menghafal teks", "Mengubah teks", "Menulis ulang", "Menyanyi teks"], correct: 0 },
                { q: "Latihan soal teks ceramah bertujuan untuk...", options: ["Mengidentifikasi kelemahan pemahaman", "Menghafal isi", "Mengubah ceramah", "Menulis ceramah baru", "Membandingkan ceramah"], correct: 0 },
                { q: "Ulangan harian petunjuk kerja bertujuan...", options: ["Mengevaluasi kompetensi siswa", "Menghafal materi", "Membuat proyek", "Presentasi", "Diskusi"], correct: 0 },
                { q: "Soal tipe AKM biasanya berbentuk...", options: ["Pilihan ganda kompleks dan menjodohkan", "Pilihan ganda biasa", "Essay", "Uraian", "Benar-salah"], correct: 0 },
                { q: "Mengidentifikasi kelemahan pemahaman dilakukan melalui...", options: ["Analisis kesalahan jawaban", "Menghafal materi", "Membaca ulang", "Bertanya pada teman", "Mengubah jawaban"], correct: 0 },
                { q: "Ulangan harian resensi bertujuan...", options: ["Mengevaluasi kemampuan menilai buku", "Menghafal isi buku", "Membuat buku baru", "Membandingkan buku", "Menjual buku"], correct: 0 },
                { q: "Soal AKM menuntut siswa untuk...", options: ["Bernalar dan berpikir kritis", "Menghafal jawaban", "Membaca cepat", "Menulis panjang", "Menghafal istilah"], correct: 0 },
                { q: "Salah satu manfaat latihan soal AKM adalah...", options: ["Mengenal tipe soal dan meningkatkan nalar", "Menghafal materi", "Membuat soal baru", "Menilai teman", "Mengubah kurikulum"], correct: 0 },
                { q: "Evaluasi pencapaian kompetensi pada ulangan harian bertujuan...", options: ["Mengukur pemahaman siswa", "Menghafal materi", "Membuat proyek", "Presentasi", "Diskusi"], correct: 0 }
            ],
            // ===== LEVEL 5: Rangkuman =====
            [
                { q: "Rangkuman materi petunjuk kerja mencakup...", options: ["Prosedur, ceramah, dan resensi", "Puisi dan drama", "Novel dan cerpen", "Surat dan iklan", "Laporan dan berita"], correct: 0 },
                { q: "Persamaan teks prosedur dan teks ceramah adalah...", options: ["Sama-sama memberikan arahan", "Sama-sama menghibur", "Sama-sama bercerita", "Sama-sama menilai", "Sama-sama berita"], correct: 0 },
                { q: "Perbedaan teks resensi dengan teks prosedur adalah...", options: ["Resensi menilai, prosedur memberi petunjuk", "Resensi bercerita, prosedur menghibur", "Resensi berita, prosedur cerita", "Resensi puisi, prosedur drama", "Resensi surat, prosedur laporan"], correct: 0 },
                { q: "Kaidah kebahasaan yang digunakan dalam teks resensi adalah...", options: ["Kata kerja mental dan kata sifat penilaian", "Kalimat imperatif", "Konjungsi temporal", "Kata ganti orang", "Kata teknis prosedur"], correct: 0 },
                { q: "Menyajikan teks prosedur secara lisan memerlukan...", options: ["Kejelasan dan urutan yang logis", "Kecepatan bicara", "Penggunaan bahasa asing", "Penampilan menarik", "Durasi panjang"], correct: 0 },
                { q: "Menyajikan teks ceramah harus disertai...", options: ["Sikap santun dan intonasi yang tepat", "Suara keras", "Gerakan berlebihan", "Membaca teks", "Bercanda"], correct: 0 },
                { q: "Mempresentasikan resensi harus dilakukan secara...", options: ["Logis dan kreatif", "Acak dan bebas", "Emosional", "Panjang lebar", "Subjektif"], correct: 0 },
                { q: "Teks prosedur, ceramah, dan resensi termasuk jenis teks...", options: ["Fungsional (nonfiksi)", "Fiksi", "Puisi", "Drama", "Epik"], correct: 0 },
                { q: "Keterampilan menyimak teks ceramah bertujuan...", options: ["Memahami isi dan maksud pembicara", "Menghafal isi", "Mengubah isi", "Menulis ulang", "Membandingkan"], correct: 0 },
                { q: "Tujuan akhir dari pembelajaran teks prosedur, ceramah, dan resensi adalah...", options: ["Meningkatkan literasi dan keterampilan berbahasa", "Menghafal semua teks", "Membuat teks panjang", "Menjadi penulis", "Menjadi pembicara"], correct: 0 }
            ]
        ];

        // ===== STATE =====
        let userName = "User";
        let currentLevel = 0;
        let currentQuestionIndex = 0;
        let score = 0;
        let totalAttempts = 0;
        let correctAttempts = 0;
        let questionsForLevel = [];
        let targets = [];
        let gameActive = false;
        let levelCompleted = false;
        let animationFrame = null;
        let canvas, ctx;
        let W, H;
        let leaderboardData = [];
        let particles = [];
        let fireworks = [];
        let isCelebrating = false;
        let finalScore = 0, finalRank = "", finalMessage = "", finalAccuracy = 0;

        let timeRemaining = TOTAL_TIME;
        let timerInterval = null;
        let timerRunning = false;

        let archer = { x: 50, y: 0 };
        let arrow = { x: 0, y: 0, vx: 0, vy: 0, active: false, angle: 0, targetX: 0, targetY: 0, speed: 10, homing: false };
        let arrowCooldown = 0;
        let mouseX = 0, mouseY = 0;

        // DOM
        const canvasEl = document.getElementById('gameCanvas');
        const questionPanel = document.getElementById('question-panel');
        const qNumberDisplay = document.getElementById('qNumberDisplay');
        const qTextDisplay = document.getElementById('qTextDisplay');
        const levelIndicator = document.getElementById('level-indicator');
        const scoreIndicator = document.getElementById('score-indicator');
        const playerNameDisplay = document.getElementById('player-name-display');
        const timerDisplay = document.getElementById('timer-display');
        const entryScreen = document.getElementById('entry-screen');
        const congratsOverlay = document.getElementById('congrats-overlay');
        const finalScoreSpan = document.getElementById('finalScoreDisplay');
        const rankDisplay = document.getElementById('rankDisplay');
        const personalMessage = document.getElementById('personalMessage');
        const userNameDisplay = document.getElementById('userNameDisplay');
        const levelCompleteDisplay = document.getElementById('levelCompleteDisplay');
        const accuracyDisplay = document.getElementById('accuracyDisplay');
        const lbEntries = document.getElementById('lbEntries');
        const speechBtn = document.getElementById('speech-btn');
        const guideBtn = document.getElementById('guide-btn');
        const guideModal = document.getElementById('guide-modal');
        const closeGuideBtn = document.getElementById('closeGuideBtn');

        canvas = canvasEl; ctx = canvas.getContext('2d');

        // ===== PANDUAN =====
        guideBtn.addEventListener('click', () =&gt; { guideModal.classList.add('show'); });
        closeGuideBtn.addEventListener('click', () =&gt; { guideModal.classList.remove('show'); });
        guideModal.addEventListener('click', (e) =&gt; { if (e.target === guideModal) guideModal.classList.remove('show'); });

        let speechSynth = window.speechSynthesis;
        let speechUtterance = null;
        function speakScoreboard(score, rank, message, accuracy) {
            if (!window.speechSynthesis) return;
            if (speechSynth.speaking) speechSynth.cancel();
            const text = `Laporan untuk User ${userName}. Skor ${score} dari 100. Predikat ${rank}. Akurasi ${accuracy} persen. ${message}`;
            speechUtterance = new SpeechSynthesisUtterance(text);
            speechUtterance.lang = 'id-ID'; speechUtterance.rate = 0.85; speechUtterance.pitch = 1;
            speechSynth.speak(speechUtterance);
        }

        function shuffleArray(arr) { for (let i=arr.length-1; i&gt;0; i--) { const j=Math.floor(Math.random()*(i+1)); [arr[i],arr[j]]=[arr[j],arr[i]]; } return arr; }

        function loadLeaderboard() {
            try { const data = localStorage.getItem('smart_bindo_leaderboard'); leaderboardData = data ? JSON.parse(data) : []; } catch(e){ leaderboardData = []; }
            renderLeaderboard();
        }
        function saveLeaderboard() { localStorage.setItem('smart_bindo_leaderboard', JSON.stringify(leaderboardData)); renderLeaderboard(); }
        function renderLeaderboard() {
            if (!lbEntries) return;
            if (leaderboardData.length === 0) { lbEntries.innerHTML = '&lt;div style="color:#4a7a9a;"&gt;Belum ada data&lt;/div&gt;'; return; }
            const sorted = [...leaderboardData].sort((a,b) =&gt; b.score - a.score).slice(0,5);
            lbEntries.innerHTML = sorted.map(p =&gt; `&lt;div&gt;&lt;span&gt;${p.name}&lt;/span&gt;&lt;span class="lb-score"&gt;${p.score}&lt;/span&gt;&lt;/div&gt;`).join('');
        }

        function resizeCanvas() {
            const container = document.getElementById('game-canvas-container');
            const rect = container.getBoundingClientRect();
            canvas.width = rect.width || 800; canvas.height = rect.height || 600;
            W = canvas.width; H = canvas.height;
            archer.y = H - 70; archer.x = Math.min(archer.x, W-30);
            if (gameActive &amp;&amp; questionsForLevel.length) { generateTargets(); if (!levelCompleted) showCurrentQuestion(); }
        }
        window.addEventListener('resize', resizeCanvas);
        resizeCanvas();

        function loadLevel(levelIdx) {
            currentLevel = levelIdx; currentQuestionIndex = 0; levelCompleted = false;
            const raw = QUESTION_BANK[levelIdx] || QUESTION_BANK[0];
            questionsForLevel = raw.map(item =&gt; {
                const shuffledOptions = shuffleArray([...item.options]);
                const correctIndex = shuffledOptions.indexOf(item.options[item.correct]);
                return { q: item.q, options: shuffledOptions, correct: correctIndex };
            });
            questionsForLevel = shuffleArray(questionsForLevel);
            generateTargets();
            updateUI();
            if (gameActive) showCurrentQuestion();
        }

        function generateTargets() {
            targets = [];
            if (!questionsForLevel.length) return;
            const total = questionsForLevel.length;
            const cols = Math.min(4, total, Math.floor(W / 130) + 1);
            const rows = Math.ceil(total / cols);
            const spacingX = (W - 80) / (cols + 1);
            const spacingY = (H - 140) / (rows + 2);
            const size = Math.min(spacingX * 0.40, spacingY * 0.45, 62);
            const baseY = spacingY * 0.6 + 20;
            const icons = ['&#128218;', '&#128214;', '&#128213;', '&#128215;', '&#128216;', '&#128217;', '&#128211;', '&#128212;', '&#128210;', '&#128240;', '&#128278;', '&#127963;️'];
            for (let i = 0; i &lt; total; i++) {
                const col = i % cols, row = Math.floor(i / cols);
                let x = 60 + spacingX * (col + 1) + (Math.random() - 0.5) * 30;
                let y = baseY + spacingY * row + (Math.random() - 0.5) * 20;
                x = Math.min(Math.max(x, size+20), W - size - 10);
                y = Math.min(Math.max(y, size+20), H - size - 80);
                const vx = (Math.random() - 0.5) * 0.6, vy = (Math.random() - 0.5) * 0.6;
                targets.push({
                    id: i, x, y, size,
                    vx, vy,
                    icon: icons[i % icons.length],
                    label: questionsForLevel[i]?.options[0] || '?',
                    fullText: questionsForLevel[i]?.options[0] || '?',
                    answered: false,
                    optionIndex: 0
                });
            }
        }

        function showCurrentQuestion() {
            if (!questionsForLevel.length || currentQuestionIndex &gt;= questionsForLevel.length) {
                levelCompleted = true;
                if (currentLevel + 1 &lt; LEVELS) { currentLevel++; loadLevel(currentLevel); updateUI(); }
                else { endGame(); }
                return;
            }
            const qData = questionsForLevel[currentQuestionIndex];
            if (!qData) return;
            qNumberDisplay.textContent = `${currentQuestionIndex + 1}.`;
            qTextDisplay.textContent = qData.q;
            targets.forEach((t, idx) =&gt; {
                const optIdx = idx % qData.options.length;
                t.optionIndex = optIdx;
                t.fullText = qData.options[optIdx] || '?';
                t.label = t.fullText;
                t.answered = false;
            });
        }

        function shootArrow(targetX, targetY) {
            if (!gameActive || levelCompleted) return;
            if (arrow.active || arrowCooldown &gt; 0) return;
            const dx = targetX - archer.x, dy = targetY - archer.y;
            if (Math.sqrt(dx*dx + dy*dy) &lt; 30) return;
            arrow.active = true;
            arrow.x = archer.x + 20; arrow.y = archer.y - 10;
            arrow.targetX = targetX; arrow.targetY = targetY;
            arrow.homing = true; arrow.speed = 10;
            const angle = Math.atan2(dy, dx);
            arrow.vx = Math.cos(angle) * arrow.speed;
            arrow.vy = Math.sin(angle) * arrow.speed;
            arrow.angle = angle;
            arrowCooldown = 12;
        }

        function updateArrow() {
            if (!arrow.active) return;
            if (arrow.homing) {
                const dx = arrow.targetX - arrow.x, dy = arrow.targetY - arrow.y;
                const dist = Math.sqrt(dx*dx + dy*dy);
                if (dist &gt; 5) {
                    const targetAngle = Math.atan2(dy, dx);
                    let angleDiff = targetAngle - arrow.angle;
                    while (angleDiff &gt; Math.PI) angleDiff -= 2*Math.PI;
                    while (angleDiff &lt; -Math.PI) angleDiff += 2*Math.PI;
                    arrow.angle += angleDiff * 0.1;
                    arrow.vx = Math.cos(arrow.angle) * arrow.speed;
                    arrow.vy = Math.sin(arrow.angle) * arrow.speed;
                }
            }
            arrow.x += arrow.vx; arrow.y += arrow.vy;
            for (let t of targets) {
                if (t.answered) continue;
                const dx = arrow.x - t.x, dy = arrow.y - t.y;
                if (dx*dx + dy*dy &lt; (t.size + 8) * (t.size + 8)) {
                    arrow.active = false;
                    t.answered = true;
                    totalAttempts++;
                    const qData = questionsForLevel[currentQuestionIndex];
                    const selectedOptIdx = t.optionIndex % qData.options.length;
                    const isCorrect = (selectedOptIdx === qData.correct);
                    if (isCorrect) {
                        const scorePerQuestion = MAX_SCORE / (LEVELS * QUESTIONS_PER_LEVEL);
                        score = Math.min(MAX_SCORE, score + scorePerQuestion);
                        correctAttempts++;
                        spawnExplosion(t.x, t.y, '#00ffaa', 25);
                    } else {
                        spawnExplosion(t.x, t.y, '#ff4444', 18);
                    }
                    currentQuestionIndex++;
                    if (currentQuestionIndex &gt;= questionsForLevel.length) {
                        if (currentLevel + 1 &lt; LEVELS) showLevelCongrats();
                        else { endGame(); }
                    } else showCurrentQuestion();
                    updateUI();
                    return;
                }
            }
            if (arrow.x &gt; W || arrow.x &lt; 0 || arrow.y &gt; H || arrow.y &lt; 0) arrow.active = false;
        }

        function spawnExplosion(x, y, color, count) {
            for (let i=0; i&lt;count; i++) {
                const angle = Math.random() * 2 * Math.PI, speed = Math.random() * 4 + 1;
                particles.push({ x, y, vx: Math.cos(angle)*speed, vy: Math.sin(angle)*speed, life: 1, decay: Math.random()*0.025+0.015, size: Math.random()*5+2, color });
            }
        }

        function showLevelCongrats() {
            qNumberDisplay.textContent = '⚡';
            qTextDisplay.textContent = `Level ${currentLevel+1} Selesai! Skor: ${Math.round(score)} / ${MAX_SCORE}`;
            for (let i=0; i&lt;25; i++) spawnExplosion(Math.random()*W, Math.random()*H, '#00ddff', 6);
            setTimeout(() =&gt; { if (currentLevel + 1 &lt; LEVELS) { currentLevel++; loadLevel(currentLevel); updateUI(); } else endGame(); }, 1200);
        }

        function getRank(scr) {
            const pct = (scr/MAX_SCORE)*100;
            if (pct &gt;= 90) return "Master Bahasa Indonesia";
            else if (pct &gt;= 75) return "Expert Bahasa Indonesia";
            else if (pct &gt;= 60) return "Pro Bahasa Indonesia";
            else if (pct &gt;= 40) return "Learner Bahasa Indonesia";
            else return "Perlu Belajar Lagi";
        }

        function getMessage(scr) {
            const pct = (scr/MAX_SCORE)*100;
            if (pct &gt;= 90) return "Luar biasa! Anda Master Bahasa Indonesia sejati!";
            else if (pct &gt;= 75) return "Hebat! Pemahaman Bahasa Indonesia Anda solid!";
            else if (pct &gt;= 60) return "Bagus! Terus asah kemampuan literasi Anda!";
            else if (pct &gt;= 40) return "Mulai konsisten, raih predikat lebih tinggi!";
            else return "Perlu belajar lagi, kuasai dasar-dasar Bahasa Indonesia!";
        }

        function endGame() {
            gameActive = false;
            if (timerInterval) { clearInterval(timerInterval); timerInterval = null; }
            timerRunning = false;
            
            finalScore = Math.round(score);
            finalRank = getRank(finalScore);
            finalMessage = getMessage(finalScore);
            finalAccuracy = totalAttempts &gt; 0 ? Math.round((correctAttempts / totalAttempts) * 100) : 0;
            
            congratsOverlay.classList.add('show');
            finalScoreSpan.textContent = finalScore;
            rankDisplay.textContent = finalRank;
            personalMessage.textContent = finalMessage;
            userNameDisplay.textContent = userName;
            levelCompleteDisplay.textContent = `Level: ${LEVELS}/${LEVELS}`;
            accuracyDisplay.textContent = `Akurasi: ${finalAccuracy}%`;
            
            leaderboardData.push({ name: userName, score: finalScore });
            saveLeaderboard();
            isCelebrating = true;
            for (let i=0; i&lt;80; i++) setTimeout(() =&gt; spawnFirework(Math.random()*W, Math.random()*H*0.7 + 50), i*65);
            for (let i=0; i&lt;45; i++) setTimeout(() =&gt; spawnFirework(Math.random()*W, Math.random()*H*0.5 + 30), 3800 + i*85);
            setTimeout(() =&gt; speakScoreboard(finalScore, finalRank, finalMessage, finalAccuracy), 1600);
        }

        function spawnFirework(x, y) {
            const colors = ['#ff4444','#ffdd44','#44ff44','#44ddff','#ff44ff','#ffffff','#ff8800','#00ffaa','#a855f7'];
            for (let i=0; i&lt;55; i++) {
                const angle = Math.random()*2*Math.PI, speed = Math.random()*7+2, color = colors[Math.floor(Math.random()*colors.length)];
                fireworks.push({ x, y, vx: Math.cos(angle)*speed, vy: Math.sin(angle)*speed-1, life:1, decay: Math.random()*0.015+0.006, size: Math.random()*5+2, color, isConfetti: false });
            }
            for (let i=0; i&lt;30; i++) {
                const angle = Math.random()*2*Math.PI, speed = Math.random()*4+1, color = colors[Math.floor(Math.random()*colors.length)];
                fireworks.push({ x, y, vx: Math.cos(angle)*speed+(Math.random()-0.5)*2, vy: Math.sin(angle)*speed-2.5, life:1, decay: Math.random()*0.01+0.004, size: Math.random()*9+4, color, isConfetti: true });
            }
        }

        function updateUI() {
            levelIndicator.textContent = `⚡ Level ${currentLevel+1}`;
            scoreIndicator.textContent = `⭐ ${Math.round(score)} / ${MAX_SCORE}`;
            playerNameDisplay.textContent = `&#128218; ${userName}`;
        }

        function startTimer() {
            if (timerRunning) return;
            timerRunning = true;
            timerInterval = setInterval(() =&gt; {
                timeRemaining--;
                updateTimerDisplay();
                if (timeRemaining &lt;= 0) {
                    clearInterval(timerInterval);
                    timerInterval = null;
                    timerRunning = false;
                    if (gameActive) { endGame(); }
                }
            }, 1000);
        }

        function updateTimerDisplay() {
            const mins = Math.floor(timeRemaining / 60);
            const secs = timeRemaining % 60;
            timerDisplay.textContent = `⏱️ ${String(mins).padStart(2, '0')}:${String(secs).padStart(2, '0')}`;
            if (timeRemaining &lt; 300) {
                timerDisplay.style.color = '#ff4444';
                timerDisplay.style.borderColor = '#ff4444';
            } else {
                timerDisplay.style.color = '#ff6b6b';
                timerDisplay.style.borderColor = '#ff4444';
            }
        }

        function drawArcher() {
            const ax = archer.x, ay = archer.y;
            ctx.shadowBlur = 20; ctx.shadowColor = '#00aaff66';
            ctx.fillStyle = '#1a3a5a'; ctx.fillRect(ax-8, ay+10, 6, 14); ctx.fillRect(ax+2, ay+10, 6, 14);
            ctx.fillStyle = '#2a5a7a'; ctx.beginPath(); ctx.ellipse(ax, ay-4, 16, 22, 0, 0, Math.PI*2); ctx.fill();
            ctx.fillStyle = '#f0d8b0'; ctx.beginPath(); ctx.arc(ax, ay-28, 14, 0, Math.PI*2); ctx.fill();
            ctx.fillStyle = '#4a3a2a'; ctx.beginPath(); ctx.arc(ax, ay-34, 14, Math.PI, 2*Math.PI); ctx.fill();
            const bowAngle = Math.atan2(mouseY - ay, mouseX - ax);
            const bowLen = 38;
            ctx.strokeStyle = '#c8a060'; ctx.lineWidth = 3; ctx.shadowBlur = 15; ctx.shadowColor = '#ffdd44aa';
            ctx.beginPath(); ctx.arc(ax + 16, ay - 4, bowLen, bowAngle - 0.7, bowAngle + 0.7); ctx.stroke();
            ctx.strokeStyle = '#aaaacc'; ctx.lineWidth = 1.5;
            const e1 = bowAngle - 0.7, e2 = bowAngle + 0.7;
            const ex1 = ax+16+Math.cos(e1)*bowLen, ey1 = ay-4+Math.sin(e1)*bowLen;
            const ex2 = ax+16+Math.cos(e2)*bowLen, ey2 = ay-4+Math.sin(e2)*bowLen;
            ctx.beginPath(); ctx.moveTo(ex1, ey1); ctx.lineTo(ax+16+Math.cos(bowAngle)*10, ay-4+Math.sin(bowAngle)*10); ctx.lineTo(ex2, ey2); ctx.stroke();
            ctx.shadowBlur = 0;
            if (arrow.active) {
                ctx.save(); ctx.translate(arrow.x, arrow.y); ctx.rotate(arrow.angle);
                ctx.shadowBlur = 20; ctx.shadowColor = '#00ffaa88';
                ctx.strokeStyle = '#ddaa88'; ctx.lineWidth = 2.5; ctx.beginPath(); ctx.moveTo(0,0); ctx.lineTo(25,0); ctx.stroke();
                ctx.fillStyle = '#ffdd44'; ctx.shadowColor = '#ffdd44aa'; ctx.beginPath(); ctx.moveTo(28,0); ctx.lineTo(20,-5); ctx.lineTo(20,5); ctx.closePath(); ctx.fill();
                ctx.fillStyle = '#ff6666'; ctx.shadowColor = '#ff666688'; ctx.beginPath(); ctx.moveTo(-2,0); ctx.lineTo(-8,-6); ctx.lineTo(-8,6); ctx.closePath(); ctx.fill();
                ctx.restore(); ctx.shadowBlur = 0;
            }
        }

        function draw() {
            ctx.clearRect(0, 0, W, H);
            ctx.fillStyle = 'rgba(0, 10, 30, 0.3)'; ctx.fillRect(0, 0, W, H);
            ctx.strokeStyle = '#00aaff20'; ctx.lineWidth = 0.5;
            for (let i=0; i&lt;W; i+=30) { ctx.beginPath(); ctx.moveTo(i,0); ctx.lineTo(i,H); ctx.stroke(); }
            for (let i=0; i&lt;H; i+=30) { ctx.beginPath(); ctx.moveTo(0,i); ctx.lineTo(W,i); ctx.stroke(); }
            ctx.strokeStyle = '#00d4ff15'; ctx.lineWidth = 1;
            for (let i=0; i&lt;W; i+=80) { ctx.beginPath(); ctx.moveTo(i,0); ctx.lineTo(i+40,H); ctx.stroke(); }
            for (let i=0; i&lt;30; i++) {
                ctx.fillStyle = `rgba(0, 180, 255, ${Math.random()*0.15+0.03})`;
                ctx.font = '12px monospace'; ctx.fillText(Math.random()&gt;0.5?'1':'0', Math.random()*W, Math.random()*H);
            }
            ctx.fillStyle = '#00aaff10'; ctx.font = '28px sans-serif';
            ctx.fillText('&#128218;', 20, 40); ctx.fillText('&#128214;', W-50, 50); ctx.fillText('&#127963;️', W-70, H-30); ctx.fillText('&#128213;', 30, H-20);

            targets.forEach(t =&gt; {
                if (t.answered) return;
                ctx.shadowColor = '#00aaffaa'; ctx.shadowBlur = 30;
                const grad = ctx.createRadialGradient(t.x-5, t.y-5, 2, t.x, t.y, t.size);
                grad.addColorStop(0, '#80d4ff'); grad.addColorStop(0.5, '#0088ff'); grad.addColorStop(1, '#1a0066');
                ctx.beginPath(); ctx.arc(t.x, t.y, t.size, 0, 2*Math.PI);
                ctx.fillStyle = grad; ctx.fill();
                ctx.shadowBlur = 0;
                ctx.strokeStyle = '#80d4ff'; ctx.lineWidth = 2.5; ctx.shadowBlur = 15; ctx.shadowColor = '#00aaff';
                ctx.stroke(); ctx.shadowBlur = 0;
                
                ctx.font = `${t.size * 0.38}px 'Segoe UI Emoji', 'Apple Color Emoji', 'Noto Color Emoji', sans-serif`;
                ctx.textAlign = 'center'; ctx.textBaseline = 'middle';
                ctx.fillStyle = '#ffffff'; ctx.shadowBlur = 8; ctx.shadowColor = '#0044ff';
                ctx.fillText(t.icon, t.x, t.y - 14);
                ctx.shadowBlur = 0;
                
                ctx.fillStyle = '#ffffff'; 
                const fontSize = Math.max(14, t.size * 0.34);
                ctx.font = `bold ${fontSize}px 'Segoe UI', Arial, sans-serif`;
                ctx.textAlign = 'center'; ctx.textBaseline = 'bottom';
                let displayText = t.fullText;
                if (displayText.length &gt; 14) displayText = displayText.substring(0, 13) + '…';
                
                const metrics = ctx.measureText(displayText);
                const tw = metrics.width;
                const th = fontSize * 1.5;
                const tx = t.x - tw/2 - 8;
                const ty = t.y + t.size - 14 - th;
                
                ctx.shadowBlur = 0;
                const r = 6;
                ctx.beginPath();
                ctx.moveTo(tx + r, ty);
                ctx.lineTo(tx + tw + 16 - r, ty);
                ctx.quadraticCurveTo(tx + tw + 16, ty, tx + tw + 16, ty + r);
                ctx.lineTo(tx + tw + 16, ty + th + 6 - r);
                ctx.quadraticCurveTo(tx + tw + 16, ty + th + 6, tx + tw + 16 - r, ty + th + 6);
                ctx.lineTo(tx + r, ty + th + 6);
                ctx.quadraticCurveTo(tx, ty + th + 6, tx, ty + th + 6 - r);
                ctx.lineTo(tx, ty + r);
                ctx.quadraticCurveTo(tx, ty, tx + r, ty);
                ctx.closePath();
                ctx.fillStyle = 'rgba(0, 10, 30, 0.85)';
                ctx.fill();
                
                ctx.fillStyle = '#ffffff';
                ctx.shadowBlur = 4;
                ctx.shadowColor = 'rgba(0, 0, 0, 0.5)';
                ctx.textAlign = 'center'; ctx.textBaseline = 'bottom';
                ctx.fillText(displayText, t.x, t.y + t.size - 6);
                ctx.shadowBlur = 0;
                
                t.x += t.vx; t.y += t.vy;
                if (t.x &lt; t.size + 20 || t.x &gt; W - t.size - 10) t.vx *= -1;
                if (t.y &lt; t.size + 20 || t.y &gt; H - t.size - 80) t.vy *= -1;
                t.x = Math.min(Math.max(t.x, t.size+20), W - t.size - 10);
                t.y = Math.min(Math.max(t.y, t.size+20), H - t.size - 80);
            });

            if (arrow.active) updateArrow();
            if (arrowCooldown &gt; 0) arrowCooldown--;
            if (gameActive) {
                const targetX = Math.min(Math.max(mouseX, 30), W - 30);
                archer.x += (targetX - archer.x) * 0.08;
                archer.y = H - 70;
            }
            drawArcher();

            for (let i=particles.length-1; i&gt;=0; i--) {
                const p = particles[i];
                p.x += p.vx; p.y += p.vy; p.life -= p.decay; p.vy += 0.05;
                if (p.life &lt;= 0) { particles.splice(i,1); continue; }
                ctx.globalAlpha = p.life; ctx.fillStyle = p.color; ctx.shadowBlur = 10; ctx.shadowColor = p.color;
                ctx.beginPath(); ctx.arc(p.x, p.y, p.size * p.life, 0, 2*Math.PI); ctx.fill();
                ctx.shadowBlur = 0;
            }
            ctx.globalAlpha = 1;

            for (let i=fireworks.length-1; i&gt;=0; i--) {
                const f = fireworks[i];
                f.x += f.vx; f.y += f.vy; f.vy += 0.04; f.life -= f.decay;
                if (f.life &lt;= 0) { fireworks.splice(i,1); continue; }
                ctx.globalAlpha = f.life; ctx.fillStyle = f.color; ctx.shadowBlur = 18; ctx.shadowColor = f.color;
                if (f.isConfetti) { ctx.save(); ctx.translate(f.x, f.y); ctx.rotate(f.life*12); ctx.fillRect(-f.size/2, -f.size/2, f.size*f.life, f.size*f.life*0.5); ctx.restore(); }
                else { ctx.beginPath(); ctx.arc(f.x, f.y, f.size * f.life, 0, 2*Math.PI); ctx.fill(); }
                ctx.shadowBlur = 0;
            }
            ctx.globalAlpha = 1;
        }

        function gameLoop() { draw(); animationFrame = requestAnimationFrame(gameLoop); }

        canvasEl.addEventListener('click', (e) =&gt; {
            const rect = canvasEl.getBoundingClientRect();
            const scaleX = canvas.width / rect.width, scaleY = canvas.height / rect.height;
            shootArrow((e.clientX - rect.left)*scaleX, (e.clientY - rect.top)*scaleY);
        });
        canvasEl.addEventListener('touchstart', (e) =&gt; {
            e.preventDefault(); const rect = canvasEl.getBoundingClientRect();
            const touch = e.touches[0]; const scaleX = canvas.width/rect.width, scaleY = canvas.height/rect.height;
            shootArrow((touch.clientX - rect.left)*scaleX, (touch.clientY - rect.top)*scaleY);
        }, { passive: false });
        canvasEl.addEventListener('mousemove', (e) =&gt; {
            const rect = canvasEl.getBoundingClientRect();
            mouseX = (e.clientX - rect.left) * (canvas.width/rect.width);
            mouseY = (e.clientY - rect.top) * (canvas.height/rect.height);
        });
        speechBtn.addEventListener('click', () =&gt; speakScoreboard(finalScore, finalRank, finalMessage, finalAccuracy));

        function startGame() {
            const nameInput = document.getElementById('playerNameInput');
            userName = nameInput.value.trim() || "User";
            playerNameDisplay.textContent = `&#128218; ${userName}`;
            entryScreen.style.display = 'none';
            congratsOverlay.classList.remove('show');
            
            score = 0; totalAttempts = 0; correctAttempts = 0; currentLevel = 0;
            timeRemaining = TOTAL_TIME;
            updateTimerDisplay();
            timerDisplay.style.color = '#ff6b6b';
            timerDisplay.style.borderColor = '#ff4444';
            
            gameActive = true; isCelebrating = false; particles = []; fireworks = []; arrow.active = false;
            if (speechSynth.speaking) speechSynth.cancel();
            
            startTimer();
            loadLevel(0); updateUI();
            if (animationFrame) cancelAnimationFrame(animationFrame);
            gameLoop();
        }

        document.getElementById('startGameBtn').addEventListener('click', startGame);
        document.getElementById('restartFromCongratsBtn').addEventListener('click', () =&gt; { 
            congratsOverlay.classList.remove('show'); 
            if (timerInterval) { clearInterval(timerInterval); timerInterval = null; }
            timerRunning = false;
            startGame(); 
        });
        loadLeaderboard(); loadLevel(0); updateUI();
        qNumberDisplay.textContent = '&#128218;'; qTextDisplay.textContent = 'Masukkan nama &amp; tekan MULAI';
        updateTimerDisplay();
        gameLoop();
        window.addEventListener('resize', resizeCanvas);
    })();
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description><link>http://kitab-investasi.blogspot.com/2026/07/asesmen-awal-bahasa-indonesia-xi-smk.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-413804888584619253</guid><pubDate>Thu, 23 Jul 2026 06:21:44 +0000</pubDate><atom:updated>2026-07-24T07:47:57.023+07:00</atom:updated><title>Evaluasi Informasi dalam Teks Prosedur</title><description>&lt;style&gt;
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&amp;family=Source+Sans+3:wght@400;500;600;700&amp;family=IBM+Plex+Mono:wght@400;500;600&amp;display=swap');
.epb{
  --blueprint:#0F2A3D;
  --blueprint-deep:#0A1E2C;
  --panel:#4A2E12;
  --paper:#F3F0E6;
  --ink:#132029;
  --amber:#F5A623;
  --amber-deep:#C97F12;
  --mint:#6EC6CA;
  --line:rgba(234,242,245,0.16);
  --off-white:#EAF2F5;
  --muted:#9FB4C2;
}
.epb *{box-sizing:border-box;}
.epb{scroll-behavior:smooth; background:#0A1F2E;}
.epb{
  margin:0;
  position:relative;
  overflow:hidden;
  background:var(--blueprint);
  color:var(--off-white);
  font-family:'Source Sans 3',sans-serif;
  line-height:1.65;
  background-image:
    linear-gradient(var(--line) 1px, transparent 1px),
    linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size: 34px 34px;
}
.epb h1, .epb h2, .epb h3, .epb h4{font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:0.02em; margin:0 0 0.5em;}
.epb .mono{font-family:'IBM Plex Mono',monospace;}
.epb a{color:var(--amber);}
.epb .crop{position:absolute; width:22px; height:22px; z-index:5; opacity:.55; pointer-events:none;}
.epb .crop::before, .epb .crop::after{content:"";position:absolute;background:var(--mint);}
.epb .crop::before{width:100%;height:1px;top:50%;left:0;}
.epb .crop::after{width:1px;height:100%;left:50%;top:0;}
.epb .crop.tl{top:14px;left:14px;}
.epb .crop.tr{top:14px;right:14px;}
.epb .crop.bl{bottom:14px;left:14px;}
.epb .crop.br{bottom:14px;right:14px;}
.epb header.cover{
  position:relative;
  padding:40px 24px 36px;
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.epb .doc-code{font-family:'IBM Plex Mono',monospace; color:var(--amber); letter-spacing:0.15em; font-size:0.78rem; text-transform:uppercase; margin-bottom:18px; display:flex; gap:10px; align-items:center;}
.epb .doc-code::before{content:"◆"; color:var(--amber);}
.epb .cover h1{font-size:clamp(1.6rem,7vw,2.5rem); color:var(--off-white); max-width:16ch; line-height:1.05;}
.epb .cover .subtitle{color:var(--muted); font-size:1.05rem; max-width:60ch; margin-top:14px;}
.epb .meta-strip{
  margin-top:38px; display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  border-top:1px dashed var(--line); border-bottom:1px dashed var(--line);
}
.epb .meta-strip div{padding:14px 16px; border-right:1px dashed var(--line);}
.epb .meta-strip div:last-child{border-right:none;}
.epb .meta-strip .k{font-family:'IBM Plex Mono',monospace; font-size:0.68rem; color:var(--amber); text-transform:uppercase; letter-spacing:0.1em;}
.epb .meta-strip .v{font-size:0.98rem; color:var(--off-white); margin-top:4px; font-weight:600;}
.epb .stamp{
  position:absolute; top:40px; right:20px; width:104px; height:104px;
  border:2.5px solid var(--amber); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  transform:rotate(-11deg);
  color:var(--amber); font-family:'IBM Plex Mono',monospace;
  text-align:center; font-size:0.62rem; letter-spacing:0.08em; text-transform:uppercase;
  opacity:0.9;
}
.epb .stamp .ring{position:absolute; inset:8px; border:1px dashed var(--amber); border-radius:50%;}
.epb .stamp b{display:block; font-family:'Oswald',sans-serif; font-size:1.05rem; letter-spacing:0.06em; margin-top:4px;}

@media (max-width:760px){.epb .stamp{display:none;}
.epb }


.epb main{max-width:920px; margin:0 auto; padding:0 20px 60px;}
.epb .section{padding-top:64px;}
.epb .eyebrow{font-family:'IBM Plex Mono',monospace; color:var(--amber); font-size:0.78rem; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:10px; display:flex; align-items:center; gap:10px;}
.epb .eyebrow::after{content:""; flex:1; height:1px; background:var(--line);}
.epb h2.section-title{font-size:1.7rem; color:var(--off-white);}
.epb p{color:#DDE7EC;}
.epb .lead{color:var(--muted); font-size:1.02rem; max-width:72ch;}
.epb .panel{
  background:var(--panel); border:1px solid var(--line); border-radius:2px;
  padding:26px 28px; margin:22px 0;
}
.epb .panel.tp{border-left:4px solid var(--mint);}
.epb .panel.warn{border-left:4px solid var(--amber);}
.epb .tp-box{display:grid; gap:14px; margin-top:18px;}
.epb .tp-item{display:flex; gap:14px; align-items:flex-start;}
.epb .tp-item .idx{font-family:'IBM Plex Mono',monospace; color:var(--amber); font-weight:600; min-width:34px;}
.epb .flow{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; margin-top:20px;}
.epb .flow .step{background:var(--blueprint-deep); border:1px solid var(--line); padding:18px; position:relative;}
.epb .flow .step .tag{font-family:'IBM Plex Mono',monospace; color:var(--amber); font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase;}
.epb .flow .step h4{font-size:1rem; margin-top:8px; color:var(--off-white);}
.epb .flow .step .time{position:absolute; top:16px; right:16px; font-family:'IBM Plex Mono',monospace; font-size:0.7rem; color:var(--amber);}
.epb .grid-3{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; margin-top:16px;}
.epb .card{background:var(--blueprint-deep); border:1px solid var(--line); padding:18px;}
.epb .card h4{color:var(--amber); font-size:0.95rem;}
.epb .criteria{display:grid; gap:16px; margin-top:20px;}
.epb .crit{
  background:var(--blueprint-deep); border:1px solid var(--line);
  display:grid; grid-template-columns:64px 1fr; gap:0;
}
.epb .crit .num{
  background:var(--amber); color:var(--blueprint-deep); font-family:'IBM Plex Mono',monospace;
  font-weight:700; display:flex; align-items:center; justify-content:center; font-size:1.05rem;
}
.epb .crit .body{padding:18px 20px;}
.epb .crit h4{color:var(--off-white); font-size:1.02rem; margin-bottom:6px;}
.epb .crit .q{margin-top:10px; padding-top:10px; border-top:1px dashed var(--line); font-family:'IBM Plex Mono',monospace; font-size:0.86rem; color:var(--amber);}
.epb .timeline{margin-top:24px; position:relative; padding-left:34px;}
.epb .timeline::before{content:""; position:absolute; left:11px; top:6px; bottom:6px; width:2px; background:var(--line);}
.epb .tl-item{position:relative; padding-bottom:26px;}
.epb .tl-item:last-child{padding-bottom:0;}
.epb .tl-item::before{content:""; position:absolute; left:-34px; top:2px; width:22px; height:22px; border-radius:50%; background:var(--blueprint); border:2px solid var(--amber);}
.epb .tl-item h4{color:var(--off-white); font-size:1rem; margin-bottom:4px;}
.epb .doc-sample{
  background:var(--paper); color:var(--ink); border-radius:2px; padding:0; margin-top:22px;
  box-shadow:0 20px 45px rgba(0,0,0,0.35);
}
.epb .doc-sample .doc-head{background:var(--ink); color:var(--paper); padding:12px 22px; font-family:'IBM Plex Mono',monospace; font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; display:flex; justify-content:space-between;}
.epb .doc-sample .doc-body{padding:26px 28px 30px;}
.epb .doc-sample h3{font-family:'Oswald',sans-serif; color:var(--ink); font-size:1.25rem; text-transform:none; letter-spacing:0;}
.epb .doc-sample ol{padding-left:22px;}
.epb .doc-sample li{margin-bottom:9px;}
.epb .flag{
  display:inline-block; font-family:'IBM Plex Mono',monospace; font-size:0.7rem; font-weight:600;
  background:#D94E2A; color:#fff; padding:1px 7px; border-radius:2px; margin-left:6px; vertical-align:middle;
}
.epb .doc-sample .note-margin{margin-top:6px; font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:#8A3A1F; padding-left:8px; border-left:2px solid #D94E2A;}
.epb .legend{display:flex; flex-wrap:wrap; gap:10px 20px; margin-top:16px;}
.epb .legend span{font-family:'IBM Plex Mono',monospace; font-size:0.78rem; color:var(--muted); display:flex; align-items:center; gap:8px;}
.epb .legend .dot{width:10px; height:10px; border-radius:50%; display:inline-block;}
.epb table{width:100%; border-collapse:collapse; margin-top:18px; font-size:0.94rem;}
.epb th, .epb td{border:1px solid var(--line); padding:10px 12px; text-align:left; vertical-align:top;}
.epb th{background:var(--blueprint-deep); font-family:'IBM Plex Mono',monospace; font-size:0.75rem; text-transform:uppercase; letter-spacing:0.06em; color:var(--amber);}
.epb .summary-box{
  border:1px solid var(--amber); background:linear-gradient(180deg, rgba(245,166,35,0.08), transparent);
  padding:24px 26px; margin-top:24px;
}
.epb .summary-box ul{margin:10px 0 0; padding-left:20px;}
.epb .summary-box li{margin-bottom:8px;}
.epb .task-header{
  background:var(--amber); color:var(--blueprint-deep); padding:22px 26px; margin-top:20px;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px;
}
.epb .task-header h2{color:var(--blueprint-deep); font-size:1.4rem; margin:0;}
.epb .task-header .badge{font-family:'IBM Plex Mono',monospace; font-size:0.8rem; background:var(--blueprint-deep); color:var(--amber); padding:6px 12px; border-radius:2px;}
.epb .steps-num{counter-reset:step; margin-top:18px; list-style:none; padding:0;}
.epb .steps-num li{counter-increment:step; position:relative; padding-left:44px; margin-bottom:16px;}
.epb .steps-num li::before{content:counter(step,decimal-leading-zero); position:absolute; left:0; top:0; font-family:'IBM Plex Mono',monospace; color:var(--amber); font-weight:600; font-size:0.95rem; border:1px solid var(--amber); width:30px; height:26px; display:flex; align-items:center; justify-content:center;}
.epb .rubric-scale{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:16px;}
.epb .rubric-scale div{background:var(--blueprint-deep); border:1px solid var(--line); padding:12px; text-align:center;}
.epb .rubric-scale .n{font-family:'IBM Plex Mono',monospace; color:var(--amber); font-size:1.3rem; font-weight:700;}
.epb .rubric-scale .l{font-size:0.78rem; color:var(--muted); text-transform:uppercase; letter-spacing:0.05em;}
.epb .notebook{
  background:repeating-linear-gradient(var(--paper), var(--paper) 33px, #D8D3C2 34px);
  color:var(--ink); border-radius:2px; padding:28px 30px; margin-top:20px; position:relative;
  box-shadow:0 20px 45px rgba(0,0,0,0.35);
}
.epb .notebook::before{content:""; position:absolute; left:46px; top:0; bottom:0; width:1.5px; background:#C0453A; opacity:0.5;}
.epb .notebook .content{padding-left:24px;}
.epb .notebook h3{color:var(--ink); font-family:'Oswald',sans-serif; letter-spacing:0.02em; margin-bottom:10px;}
.epb .notebook ul{padding-left:20px;}
.epb footer{border-top:1px solid var(--line); padding:24px 20px 40px; color:var(--muted); font-size:0.86rem;}
.epb footer .doc-code{margin-bottom:10px;}
.epb .divider-dash{border:none; border-top:1px dashed var(--line); margin:44px 0 0;}
.epb::selection{background:var(--amber); color:var(--blueprint-deep);}

&lt;/style&gt;
&lt;div class="epb"&gt;
&lt;div class="crop tl"&gt;&lt;/div&gt;&lt;div class="crop tr"&gt;&lt;/div&gt;&lt;div class="crop bl"&gt;&lt;/div&gt;&lt;div class="crop br"&gt;&lt;/div&gt;

&lt;header class="cover"&gt;
  &lt;div class="stamp"&gt;&lt;div class="ring"&gt;&lt;/div&gt;&lt;span&gt;Modul Ajar&lt;b&gt;Terverifikasi&lt;/b&gt;Fase F&lt;/span&gt;&lt;/div&gt;
  &lt;div class="doc-code"&gt;DOK/B.INDO/XI/PROSEDUR-EVAL — 3 JP · 1 Pertemuan&lt;/div&gt;
  &lt;h1&gt;Evaluasi Informasi dalam Teks Prosedur&lt;/h1&gt;
  &lt;p class="subtitle"&gt;Materi Bahasa Indonesia Kelas XI SMK/MAK — melatih murid membaca teks prosedur secara kritis: memeriksa keakuratan, kelengkapan, kelogisan urutan, dan kejelasan bahasa sebelum informasi tersebut dipercaya dan digunakan.&lt;/p&gt;

  &lt;div class="meta-strip"&gt;
    &lt;div&gt;&lt;div class="k"&gt;Mata Pelajaran&lt;/div&gt;&lt;div class="v"&gt;Bahasa Indonesia&lt;/div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;div class="k"&gt;Jenjang&lt;/div&gt;&lt;div class="v"&gt;SMK/MAK — Kelas XI&lt;/div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;div class="k"&gt;Elemen&lt;/div&gt;&lt;div class="v"&gt;Membaca &amp;amp; Memirsa&lt;/div&gt;&lt;/div&gt;
    &lt;div&gt;&lt;div class="k"&gt;Alokasi Waktu&lt;/div&gt;&lt;div class="v"&gt;3 JP (3 × 45 menit)&lt;/div&gt;&lt;/div&gt;
  &lt;/div&gt;
&lt;/header&gt;

&lt;main&gt;

  &lt;!-- ============ CP &amp; TP ============ --&gt;
  &lt;section class="section" id="tujuan"&gt;
    &lt;div class="eyebrow"&gt;01 — Identitas Pembelajaran&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Capaian &amp;amp; Tujuan Pembelajaran&lt;/h2&gt;

    &lt;div class="panel tp"&gt;
      &lt;div class="eyebrow" style="margin-bottom:6px;"&gt;Capaian Pembelajaran (Elemen Membaca–Memirsa)&lt;/div&gt;
      &lt;p&gt;Murid mampu mengevaluasi informasi berupa gagasan, pikiran, pandangan, arahan, atau pesan dari berbagai jenis teks, termasuk teks prosedur, untuk menemukan makna yang tersurat dan tersirat, serta menilai akurasi dan kualitas informasi dari teks tersebut secara kritis.&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class="panel"&gt;
      &lt;div class="eyebrow" style="margin-bottom:6px;"&gt;Tujuan Pembelajaran&lt;/div&gt;
      &lt;p style="font-size:1.05rem; color:var(--off-white); font-weight:600;"&gt;Murid mampu mengevaluasi informasi yang disajikan dalam teks prosedur secara kritis dan logis.&lt;/p&gt;

      &lt;div class="tp-box"&gt;
        &lt;div class="tp-item"&gt;&lt;span class="idx mono"&gt;TP.1&lt;/span&gt;&lt;p&gt;Murid dapat menjelaskan kembali struktur dan ciri kebahasaan teks prosedur.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="tp-item"&gt;&lt;span class="idx mono"&gt;TP.2&lt;/span&gt;&lt;p&gt;Murid dapat mengidentifikasi kriteria yang digunakan untuk menilai kualitas informasi dalam teks prosedur (keakuratan, kelengkapan, kelogisan urutan, kejelasan bahasa, dan kesesuaian tujuan).&lt;/p&gt;&lt;/div&gt;
        &lt;div class="tp-item"&gt;&lt;span class="idx mono"&gt;TP.3&lt;/span&gt;&lt;p&gt;Murid dapat menemukan kekeliruan, kejanggalan, atau bagian yang kurang logis pada sebuah teks prosedur berdasarkan kriteria evaluasi.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="tp-item"&gt;&lt;span class="idx mono"&gt;TP.4&lt;/span&gt;&lt;p&gt;Murid dapat menyusun simpulan dan rekomendasi perbaikan atas hasil evaluasi teks prosedur secara tertulis.&lt;/p&gt;&lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class="eyebrow" style="margin-top:26px; margin-bottom:6px;"&gt;8 Profil Lulusan yang Dikembangkan&lt;/div&gt;
    &lt;div class="grid-3"&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Penalaran Kritis&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Menganalisis dan menilai keakuratan serta kelogisan informasi dalam teks prosedur.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Kemandirian&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Menyelesaikan analisis dan menuliskan kesimpulan secara mandiri.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Kolaborasi&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Bekerja sama dalam kelompok saat mengevaluasi teks prosedur.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Komunikasi&lt;/h4&gt;&lt;p style="font-size:0.9rem;"&gt;Menyampaikan hasil evaluasi dan rekomendasi perbaikan secara jelas.&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI A: TEKS PROSEDUR ============ --&gt;
  &lt;section class="section" id="materi-a"&gt;
    &lt;div class="eyebrow"&gt;02 — Materi Inti A&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Mengingat Kembali Teks Prosedur&lt;/h2&gt;
    &lt;p class="lead"&gt;Sebelum mengevaluasi, murid perlu memahami kembali apa yang membentuk sebuah teks prosedur, agar tahu bagian mana yang perlu diperiksa.&lt;/p&gt;

    &lt;div class="panel"&gt;
      &lt;p&gt;&lt;b style="color:var(--off-white);"&gt;Teks prosedur&lt;/b&gt; adalah teks yang berisi langkah-langkah sistematis untuk melakukan atau membuat sesuatu, dengan tujuan agar pembaca dapat mencapai hasil tertentu jika mengikuti langkah tersebut dengan tepat. Dalam konteks SMK, teks prosedur sangat erat dengan praktik kejuruan — misalnya prosedur pengoperasian mesin, prosedur keselamatan kerja (K3), prosedur instalasi, atau prosedur perawatan alat.&lt;/p&gt;
    &lt;/div&gt;

    &lt;h4 style="color:var(--off-white); margin-top:26px;"&gt;Struktur Teks Prosedur&lt;/h4&gt;
    &lt;div class="grid-3"&gt;
      &lt;div class="card"&gt;&lt;h4&gt;1. Tujuan&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Pernyataan tentang hasil atau capaian yang ingin diperoleh dari prosedur tersebut.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;2. Alat &amp;amp; Bahan&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Daftar alat, bahan, atau syarat yang diperlukan sebelum langkah dimulai (tidak selalu ada, tergantung jenis prosedur).&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;3. Langkah-Langkah&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Urutan tindakan yang harus dilakukan, biasanya bersifat kronologis dan tidak dapat diacak.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;4. Penutup/Hasil&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Penegasan hasil akhir, catatan tambahan, atau peringatan keselamatan (jika ada).&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;

    &lt;h4 style="color:var(--off-white); margin-top:26px;"&gt;Ciri Kebahasaan&lt;/h4&gt;
    &lt;div class="grid-3"&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Kalimat imperatif&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Kalimat perintah/larangan/anjuran, mis. "Pasang kabel dengan benar."&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Konjungsi temporal&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Kata penghubung urutan waktu: kemudian, selanjutnya, setelah itu, lalu.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Verba tindakan &amp;amp; kata teknis&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Kata kerja aktif dan istilah khusus sesuai bidang keahlian.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="card"&gt;&lt;h4&gt;Keterangan alat/ukuran&lt;/h4&gt;&lt;p style="font-size:0.92rem;"&gt;Angka, satuan, dan spesifikasi yang harus tepat dan konsisten.&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI B: KONSEP EVALUASI INFORMASI ============ --&gt;
  &lt;section class="section" id="materi-b"&gt;
    &lt;div class="eyebrow"&gt;03 — Materi Inti B&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Apa itu Evaluasi Informasi?&lt;/h2&gt;

    &lt;p&gt;&lt;b style="color:var(--off-white);"&gt;Mengevaluasi informasi&lt;/b&gt; berarti menilai apakah informasi yang disajikan dalam sebuah teks layak dipercaya, digunakan, dan diikuti — bukan sekadar memahami isinya. Membaca biasa berhenti pada "apa isi teksnya", sedangkan membaca kritis-evaluatif melangkah lebih jauh: "apakah informasi ini benar, lengkap, masuk akal, dan aman untuk diikuti?"&lt;/p&gt;

    &lt;table&gt;
      &lt;tr&gt;&lt;th style="width:30%;"&gt;Aspek&lt;/th&gt;&lt;th&gt;Membaca Biasa (Pemahaman)&lt;/th&gt;&lt;th&gt;Membaca Kritis (Evaluasi)&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Fokus&lt;/td&gt;&lt;td&gt;Mengetahui apa yang harus dilakukan&lt;/td&gt;&lt;td&gt;Menilai apakah langkah tersebut benar, lengkap, dan logis&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Sikap pembaca&lt;/td&gt;&lt;td&gt;Menerima informasi apa adanya&lt;/td&gt;&lt;td&gt;Mempertanyakan dan memeriksa informasi sebelum dipercaya&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Hasil&lt;/td&gt;&lt;td&gt;Paham urutan langkah&lt;/td&gt;&lt;td&gt;Dapat menemukan kekeliruan dan memberi rekomendasi perbaikan&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;

    &lt;div class="panel warn" style="margin-top:22px;"&gt;
      &lt;p style="margin:0;"&gt;&lt;b style="color:var(--off-white);"&gt;Mengapa penting bagi murid SMK?&lt;/b&gt; Teks prosedur yang keliru atau tidak lengkap dalam konteks kejuruan bukan hanya membingungkan, tetapi dapat menyebabkan kegagalan kerja, kerusakan alat, bahkan kecelakaan kerja. Kemampuan mengevaluasi teks prosedur adalah bagian dari kesiapan kerja (job readiness).&lt;/p&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI C: KRITERIA EVALUASI ============ --&gt;
  &lt;section class="section" id="materi-c"&gt;
    &lt;div class="eyebrow"&gt;04 — Materi Inti C&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Kriteria Evaluasi Teks Prosedur&lt;/h2&gt;
    &lt;p class="lead"&gt;Gunakan enam kriteria berikut sebagai "alat ukur" ketika memeriksa sebuah teks prosedur.&lt;/p&gt;

    &lt;div class="criteria"&gt;
      &lt;div class="crit"&gt;
        &lt;div class="num mono"&gt;A&lt;/div&gt;
        &lt;div class="body"&gt;
          &lt;h4&gt;Keakuratan Informasi&lt;/h4&gt;
          &lt;p style="margin:0;"&gt;Apakah data, istilah, ukuran, takaran, atau spesifikasi yang digunakan sudah tepat dan sesuai fakta/standar yang berlaku?&lt;/p&gt;
          &lt;div class="q"&gt;Pertanyaan panduan: Apakah angka dan satuan masuk akal? Apakah istilah teknis digunakan secara tepat?&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="crit"&gt;
        &lt;div class="num mono"&gt;B&lt;/div&gt;
        &lt;div class="body"&gt;
          &lt;h4&gt;Kelengkapan Informasi&lt;/h4&gt;
          &lt;p style="margin:0;"&gt;Apakah seluruh alat/bahan dan langkah yang diperlukan untuk mencapai tujuan sudah disebutkan, tanpa ada bagian penting yang hilang?&lt;/p&gt;
          &lt;div class="q"&gt;Pertanyaan panduan: Jika langkah ini benar-benar diikuti, apakah tujuannya bisa tercapai? Adakah langkah yang "meloncat"?&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="crit"&gt;
        &lt;div class="num mono"&gt;C&lt;/div&gt;
        &lt;div class="body"&gt;
          &lt;h4&gt;Kelogisan &amp;amp; Keruntutan Urutan&lt;/h4&gt;
          &lt;p style="margin:0;"&gt;Apakah langkah-langkah disusun dengan urutan yang logis (sebab sebelum akibat) dan tidak bertentangan satu sama lain?&lt;/p&gt;
          &lt;div class="q"&gt;Pertanyaan panduan: Apakah ada langkah yang seharusnya dilakukan lebih dulu tetapi diletakkan belakangan?&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="crit"&gt;
        &lt;div class="num mono"&gt;D&lt;/div&gt;
        &lt;div class="body"&gt;
          &lt;h4&gt;Kejelasan &amp;amp; Keefektifan Bahasa&lt;/h4&gt;
          &lt;p style="margin:0;"&gt;Apakah kalimat mudah dipahami, tidak ambigu (bermakna ganda), dan menggunakan kalimat efektif?&lt;/p&gt;
          &lt;div class="q"&gt;Pertanyaan panduan: Apakah ada kalimat yang bisa ditafsirkan lebih dari satu cara oleh pembaca yang berbeda?&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="crit"&gt;
        &lt;div class="num mono"&gt;E&lt;/div&gt;
        &lt;div class="body"&gt;
          &lt;h4&gt;Kesesuaian dengan Tujuan&lt;/h4&gt;
          &lt;p style="margin:0;"&gt;Apakah seluruh langkah benar-benar mengarah pada tujuan yang dinyatakan di awal teks, atau ada langkah yang tidak relevan?&lt;/p&gt;
          &lt;div class="q"&gt;Pertanyaan panduan: Apakah ada langkah yang tidak berkaitan dengan tujuan prosedur tersebut?&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
      &lt;div class="crit"&gt;
        &lt;div class="num mono"&gt;F&lt;/div&gt;
        &lt;div class="body"&gt;
          &lt;h4&gt;Keselamatan &amp;amp; Kelayakan Praktik&lt;/h4&gt;
          &lt;p style="margin:0;"&gt;Khusus untuk teks prosedur kejuruan: apakah aspek keselamatan kerja (K3) dan kelayakan alat sudah diperhatikan?&lt;/p&gt;
          &lt;div class="q"&gt;Pertanyaan panduan: Apakah ada risiko keselamatan yang tidak diperingatkan dalam teks?&lt;/div&gt;
        &lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ MATERI D: LANGKAH EVALUASI ============ --&gt;
  &lt;section class="section" id="materi-d"&gt;
    &lt;div class="eyebrow"&gt;05 — Materi Inti D&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Langkah-Langkah Mengevaluasi Teks Prosedur&lt;/h2&gt;

    &lt;div class="timeline"&gt;
      &lt;div class="tl-item"&gt;&lt;h4 class="mono"&gt;01 · Membaca Menyeluruh&lt;/h4&gt;&lt;p&gt;Baca teks prosedur dari awal hingga akhir untuk memahami tujuan dan gambaran umum langkahnya sebelum menilai bagian per bagian.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="tl-item"&gt;&lt;h4 class="mono"&gt;02 · Mengidentifikasi Struktur&lt;/h4&gt;&lt;p&gt;Tandai bagian tujuan, alat/bahan, dan langkah-langkah. Struktur yang tidak lengkap sudah menjadi indikasi awal masalah.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="tl-item"&gt;&lt;h4 class="mono"&gt;03 · Menguji dengan Kriteria&lt;/h4&gt;&lt;p&gt;Periksa teks menggunakan keenam kriteria (A–F) satu per satu. Catat bagian teks yang tidak memenuhi kriteria tertentu.&lt;/p&gt;&lt;/div&gt;
      &lt;div class="tl-item"&gt;&lt;h4 class="mono"&gt;04 · Mencatat Temuan&lt;/h4&gt;&lt;p&gt;Tuliskan temuan secara spesifik: bagian/kalimat mana yang bermasalah dan mengapa, bukan sekadar "kurang jelas".&lt;/p&gt;&lt;/div&gt;
      &lt;div class="tl-item"&gt;&lt;h4 class="mono"&gt;05 · Menyimpulkan &amp;amp; Merekomendasikan&lt;/h4&gt;&lt;p&gt;Simpulkan apakah teks prosedur tersebut layak diikuti, dan berikan saran perbaikan konkret untuk bagian yang bermasalah.&lt;/p&gt;&lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ CONTOH PENERAPAN ============ --&gt;
  &lt;section class="section" id="contoh"&gt;
    &lt;div class="eyebrow"&gt;06 — Pemodelan&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Contoh Penerapan: Menganalisis Teks Prosedur Bidang Otomotif Sepeda Motor&lt;/h2&gt;
    &lt;p class="lead"&gt;Guru membacakan dan membahas bersama contoh berikut sebagai model penerapan kriteria evaluasi. Bagian bertanda merah sengaja mengandung kejanggalan untuk dianalisis.&lt;/p&gt;

    &lt;div class="doc-sample"&gt;
      &lt;div class="doc-head"&gt;&lt;span&gt;Lampiran · Teks Prosedur Contoh&lt;/span&gt;&lt;span&gt;Dokumen-01 · TBSM&lt;/span&gt;&lt;/div&gt;
      &lt;div class="doc-body"&gt;
        &lt;h3&gt;Prosedur Mengganti Oli Mesin Sepeda Motor&lt;/h3&gt;
        &lt;p style="margin-top:-4px; color:#4b5a63;"&gt;&lt;i&gt;Tujuan: Mengganti oli mesin sepeda motor secara berkala agar performa dan usia mesin tetap terjaga.&lt;/i&gt;&lt;/p&gt;
        &lt;p style="margin:10px 0 4px; color:#4b5a63; font-size:0.92rem;"&gt;&lt;b&gt;Alat &amp;amp; bahan:&lt;/b&gt; kunci pas ring 17, wadah penampung oli bekas, oli mesin baru sesuai spesifikasi pabrikan, corong, lap bersih.&lt;/p&gt;
        &lt;ol&gt;
          &lt;li&gt;Panaskan mesin sepeda motor selama beberapa menit agar oli lebih mudah mengalir saat dibuang.&lt;/li&gt;
          &lt;li&gt;Matikan mesin, lalu siapkan wadah penampung tepat di bawah baut pembuangan oli.&lt;/li&gt;
          &lt;li&gt;Buka baut pembuangan oli menggunakan kunci pas ring 17, biarkan oli lama mengalir hingga habis.&lt;/li&gt;
          &lt;li&gt;Pasang kembali baut pembuangan oli setelah oli lama habis menetes.&lt;/li&gt;
          &lt;li&gt;Tuang oli mesin baru sebanyak 5 liter melalui lubang pengisian menggunakan corong.&lt;span class="flag"&gt;JANGGAL&lt;/span&gt;
            &lt;div class="note-margin"&gt;Kriteria A — tidak akurat: kapasitas oli mesin sepeda motor umumnya hanya sekitar 0,8–1,2 liter, bukan 5 liter. Angka ini tidak sesuai spesifikasi standar.&lt;/div&gt;
          &lt;/li&gt;
          &lt;li&gt;Nyalakan mesin dan periksa kebocoran oli di sekitar baut pembuangan.&lt;/li&gt;
        &lt;/ol&gt;
        &lt;div class="note-margin" style="margin-top:14px;"&gt;Kriteria B — kurang lengkap: teks tidak menyebutkan langkah memeriksa ketinggian oli melalui kaca duga (oil level window) atau stik oli setelah pengisian, padahal langkah ini penting untuk memastikan takaran oli sudah tepat.&lt;/div&gt;
      &lt;/div&gt;
    &lt;/div&gt;

    &lt;div class="legend"&gt;
      &lt;span&gt;&lt;span class="dot" style="background:#D94E2A;"&gt;&lt;/span&gt;Bagian yang mengandung kejanggalan (ditandai untuk didiskusikan)&lt;/span&gt;
    &lt;/div&gt;

    &lt;div class="panel" style="margin-top:22px;"&gt;
      &lt;p style="margin:0;"&gt;&lt;b style="color:var(--off-white);"&gt;Simpulan model analisis:&lt;/b&gt; Teks prosedur di atas cukup logis dari segi urutan langkah (Kriteria C terpenuhi), tetapi tidak akurat pada takaran oli yang dituliskan (melanggar Kriteria A) dan kurang lengkap karena tidak ada langkah pengecekan ketinggian oli di akhir (melanggar Kriteria B). Rekomendasi: perbaiki angka takaran oli sesuai spesifikasi motor yang sebenarnya, dan tambahkan langkah memeriksa ketinggian oli melalui kaca duga sebelum menyalakan mesin.&lt;/p&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ RANGKUMAN ============ --&gt;
  &lt;section class="section" id="rangkuman"&gt;
    &lt;div class="eyebrow"&gt;07 — Ringkasan Materi&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Poin-Poin Penting&lt;/h2&gt;
    &lt;div class="summary-box"&gt;
      &lt;ul&gt;
        &lt;li&gt;Mengevaluasi informasi dalam teks prosedur berarti menilai kelayakan teks tersebut untuk dipercaya dan diikuti, bukan sekadar memahami isinya.&lt;/li&gt;
        &lt;li&gt;Enam kriteria evaluasi: keakuratan, kelengkapan, kelogisan urutan, kejelasan bahasa, kesesuaian tujuan, dan keselamatan/kelayakan praktik.&lt;/li&gt;
        &lt;li&gt;Evaluasi dilakukan bertahap: membaca menyeluruh → mengidentifikasi struktur → menguji dengan kriteria → mencatat temuan → menyimpulkan dan merekomendasikan.&lt;/li&gt;
        &lt;li&gt;Kemampuan ini penting bagi murid SMK karena berkaitan langsung dengan keselamatan dan ketepatan kerja di bidang kejuruan.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/div&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ TUGAS KELOMPOK ============ --&gt;
  &lt;section class="section" id="tugas-kelompok"&gt;
    &lt;div class="eyebrow"&gt;08 — Lembar Kerja&lt;/div&gt;
    &lt;div class="task-header"&gt;
      &lt;h2&gt;Tugas Kelompok: Evaluasi Teks Prosedur Bidang Sepeda Motor&lt;/h2&gt;
      &lt;span class="badge"&gt;Durasi ± 60 menit&lt;/span&gt;
    &lt;/div&gt;

    &lt;p style="margin-top:18px;"&gt;&lt;b style="color:var(--off-white);"&gt;Tujuan tugas:&lt;/b&gt; Murid secara berkelompok mengevaluasi teks prosedur bidang Teknik Otomotif Sepeda Motor berikut menggunakan enam kriteria yang telah dipelajari, kemudian mempresentasikan hasil evaluasi dan rekomendasi perbaikannya.&lt;/p&gt;

    &lt;div class="doc-sample" style="margin-top:20px;"&gt;
      &lt;div class="doc-head"&gt;&lt;span&gt;Lampiran · Teks Prosedur untuk Dievaluasi Kelompok&lt;/span&gt;&lt;span&gt;Dokumen-02 · TBSM&lt;/span&gt;&lt;/div&gt;
      &lt;div class="doc-body"&gt;
        &lt;h3&gt;Prosedur Memeriksa dan Mengganti Busi Sepeda Motor&lt;/h3&gt;
        &lt;p style="margin-top:-4px; color:#4b5a63;"&gt;&lt;i&gt;Tujuan: Memeriksa kondisi busi dan menggantinya apabila sudah tidak layak pakai agar pembakaran mesin tetap optimal.&lt;/i&gt;&lt;/p&gt;
        &lt;p style="margin:10px 0 4px; color:#4b5a63; font-size:0.92rem;"&gt;&lt;b&gt;Alat &amp;amp; bahan:&lt;/b&gt; kunci busi, sikat kawat, feeler gauge (pengukur celah busi), busi baru sesuai spesifikasi motor.&lt;/p&gt;
        &lt;ol&gt;
          &lt;li&gt;Pastikan mesin sepeda motor dalam kondisi menyala saat akan membuka busi agar posisi piston mudah ditentukan.&lt;/li&gt;
          &lt;li&gt;Buka penutup busi (cap) menggunakan tangan.&lt;/li&gt;
          &lt;li&gt;Lepaskan busi lama menggunakan kunci busi dengan cara memutar searah jarum jam.&lt;/li&gt;
          &lt;li&gt;Periksa kondisi ujung elektroda busi; jika berwarna hitam pekat atau basah, bersihkan menggunakan sikat kawat.&lt;/li&gt;
          &lt;li&gt;Apabila busi sudah aus, retak, atau elektroda sudah menipis, ganti dengan busi baru sesuai spesifikasi pabrikan.&lt;/li&gt;
          &lt;li&gt;Pasang busi baru, kencangkan dengan tangan terlebih dahulu, lalu kencangkan penuh menggunakan kunci busi.&lt;/li&gt;
          &lt;li&gt;Sepeda motor siap digunakan kembali.&lt;/li&gt;
        &lt;/ol&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;p class="lead" style="margin-top:14px;"&gt;Teks di atas &lt;b style="color:var(--off-white);"&gt;belum dianotasi&lt;/b&gt; — tugas kelompok adalah menemukan sendiri bagian yang bermasalah menggunakan keenam kriteria evaluasi.&lt;/p&gt;

    &lt;h4 style="color:var(--off-white); margin-top:24px;"&gt;Petunjuk Pengerjaan&lt;/h4&gt;
    &lt;ol class="steps-num"&gt;
      &lt;li&gt;&lt;b&gt;Bentuk kelompok&lt;/b&gt; beranggotakan 4–5 orang sesuai pembagian dari guru.&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Baca teks prosedur&lt;/b&gt; di atas secara bersama-sama dalam kelompok, lalu identifikasi struktur teks (tujuan, alat/bahan, langkah-langkah).&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Isi Tabel Evaluasi&lt;/b&gt; di bawah ini untuk setiap kriteria: tuliskan temuan, beri skor 1–4, dan berikan alasan.&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Rumuskan rekomendasi perbaikan&lt;/b&gt; untuk setiap bagian teks yang dinilai bermasalah.&lt;/li&gt;
      &lt;li&gt;&lt;b&gt;Presentasikan hasil&lt;/b&gt; di depan kelas selama maksimal 5 menit per kelompok, dilanjutkan tanya jawab singkat.&lt;/li&gt;
    &lt;/ol&gt;

    &lt;h4 style="color:var(--off-white); margin-top:26px;"&gt;Format Tabel Evaluasi Kelompok&lt;/h4&gt;
    &lt;table&gt;
      &lt;tr&gt;&lt;th style="width:22%;"&gt;Kriteria&lt;/th&gt;&lt;th style="width:34%;"&gt;Temuan &amp;amp; Bukti dari Teks&lt;/th&gt;&lt;th style="width:10%;"&gt;Skor (1–4)&lt;/th&gt;&lt;th&gt;Rekomendasi Perbaikan&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;A. Keakuratan&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;B. Kelengkapan&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;C. Kelogisan urutan&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;D. Kejelasan bahasa&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;E. Kesesuaian tujuan&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;F. Keselamatan/kelayakan&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;td&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;

    &lt;h4 style="color:var(--off-white); margin-top:26px;"&gt;Rubrik Penilaian Kelompok&lt;/h4&gt;
    &lt;table&gt;
      &lt;tr&gt;&lt;th style="width:26%;"&gt;Aspek Penilaian&lt;/th&gt;&lt;th&gt;Skor 4 (Sangat Baik)&lt;/th&gt;&lt;th&gt;Skor 3 (Baik)&lt;/th&gt;&lt;th&gt;Skor 2 (Cukup)&lt;/th&gt;&lt;th&gt;Skor 1 (Kurang)&lt;/th&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Ketepatan analisis kriteria&lt;/td&gt;&lt;td&gt;Seluruh kriteria dianalisis tepat dengan bukti jelas&lt;/td&gt;&lt;td&gt;Sebagian besar kriteria tepat&lt;/td&gt;&lt;td&gt;Analisis dangkal, sebagian kriteria terlewat&lt;/td&gt;&lt;td&gt;Analisis tidak sesuai kriteria&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kualitas rekomendasi&lt;/td&gt;&lt;td&gt;Rekomendasi konkret dan dapat diterapkan&lt;/td&gt;&lt;td&gt;Rekomendasi cukup jelas&lt;/td&gt;&lt;td&gt;Rekomendasi umum/kurang spesifik&lt;/td&gt;&lt;td&gt;Tidak ada rekomendasi&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Kerja sama kelompok&lt;/td&gt;&lt;td&gt;Seluruh anggota aktif berkontribusi&lt;/td&gt;&lt;td&gt;Sebagian besar anggota aktif&lt;/td&gt;&lt;td&gt;Hanya sebagian kecil anggota aktif&lt;/td&gt;&lt;td&gt;Didominasi satu orang&lt;/td&gt;&lt;/tr&gt;
      &lt;tr&gt;&lt;td&gt;Presentasi&lt;/td&gt;&lt;td&gt;Jelas, percaya diri, menjawab pertanyaan dengan baik&lt;/td&gt;&lt;td&gt;Jelas namun kurang percaya diri&lt;/td&gt;&lt;td&gt;Kurang jelas/terbata-bata&lt;/td&gt;&lt;td&gt;Tidak dapat menjelaskan hasil&lt;/td&gt;&lt;/tr&gt;
    &lt;/table&gt;
  &lt;/section&gt;

  &lt;hr class="divider-dash"&gt;

  &lt;!-- ============ RANGKUMAN UNTUK BUKU CATATAN ============ --&gt;
  &lt;section class="section" id="catatan-murid"&gt;
    &lt;div class="eyebrow"&gt;09 — Penutup Pembelajaran&lt;/div&gt;
    &lt;h2 class="section-title"&gt;Rangkuman untuk Dicatat di Buku Catatan&lt;/h2&gt;
    &lt;p class="lead"&gt;Sebagai penutup pertemuan, setiap murid menuliskan satu rangkuman ringkas secara mandiri di buku catatan sebagai simpulan pribadi atas materi hari ini.&lt;/p&gt;

    &lt;div class="notebook"&gt;
      &lt;div class="content"&gt;
        &lt;h3&gt;Instruksi Menulis Rangkuman&lt;/h3&gt;
        &lt;p style="margin-top:0;"&gt;Tulis di buku catatan masing-masing, maksimal &lt;b&gt;satu halaman&lt;/b&gt;, mencakup poin-poin berikut:&lt;/p&gt;
        &lt;ul&gt;
          &lt;li&gt;Pengertian evaluasi informasi dalam teks prosedur, menurut pemahaman sendiri.&lt;/li&gt;
          &lt;li&gt;Minimal empat dari enam kriteria evaluasi teks prosedur yang telah dipelajari beserta penjelasan singkat.&lt;/li&gt;
          &lt;li&gt;Langkah-langkah mengevaluasi teks prosedur secara berurutan.&lt;/li&gt;
          &lt;li&gt;Satu manfaat konkret mempelajari kemampuan ini bagi bidang keahlian Teknik Otomotif Sepeda Motor.&lt;/li&gt;
        &lt;/ul&gt;
        &lt;p style="margin-bottom:0;"&gt;&lt;i&gt;Rangkuman ditulis dengan kalimat sendiri (bukan menyalin ulang dari materi), dan dikumpulkan pada awal pertemuan berikutnya untuk diperiksa guru.&lt;/i&gt;&lt;/p&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/section&gt;

&lt;/main&gt;

&lt;footer&gt;
  &lt;div class="doc-code"&gt;DOK/B.INDO/XI/PROSEDUR-EVAL — Fokus Tujuan Pembelajaran, Materi Inti, Tugas Kelompok TBSM &amp;amp; Rangkuman Buku Catatan, 1× pertemuan (3 JP)&lt;/div&gt;
  &lt;p style="margin:0;"&gt;Referensi: Kurikulum Merdeka — Capaian Pembelajaran Bahasa Indonesia Fase F (Elemen Membaca dan Memirsa); Buku Teks Bahasa Indonesia Kelas XI SMK/MAK Kemendikbudristek.&lt;/p&gt;
&lt;/footer&gt;
&lt;/div&gt;</description><link>http://kitab-investasi.blogspot.com/2026/07/evaluasi-informasi-dalam-teks-prosedur.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-6948960574111861418</guid><pubDate>Thu, 23 Jul 2026 05:29:08 +0000</pubDate><atom:updated>2026-07-23T12:43:21.641+07:00</atom:updated><title>SERTIFIKAT KOMBEL</title><description>&lt;!DOCTYPE html&gt;
&lt;html lang="id"&gt;
&lt;head&gt;
&lt;meta charset="UTF-8"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
&lt;title&gt;Generator Sertifikat&lt;/title&gt;

&lt;link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@700&amp;display=swap" rel="stylesheet"&gt;

&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"&gt;&lt;/script&gt;

&lt;style&gt;

body{
    font-family:Arial,sans-serif;
    background:#eef2f7;
    padding:20px;
    max-width:700px;
    margin:auto;
}

.card{
    background:white;
    padding:24px;
    border-radius:20px;
    box-shadow:0 10px 20px rgba(0,0,0,.1);
}

h2{
    text-align:center;
    color:#1e4668;
}

.confirm-box{
    background:#f0f6ff;
    border-left:5px solid #2c7da0;
    padding:16px;
    border-radius:16px;
    margin-bottom:20px;
    text-align:center;
}

.confirm-box p{
    margin-top:0;
    font-weight:bold;
    color:#1e4668;
}

.confirm-buttons{
    display:flex;
    gap:10px;
    margin-top:10px;
}

.confirm-buttons button{
    flex:1;
}

.yes-btn{
    background:#1f8a4c;
}

.yes-btn:hover{
    background:#166638;
}

.no-btn{
    background:#c0392b;
}

.no-btn:hover{
    background:#962d22;
}

input,select,button{
    width:100%;
    padding:12px;
    margin-top:10px;
    border-radius:12px;
    border:1px solid #ccc;
    font-size:16px;
}

button{
    background:#2c7da0;
    color:white;
    border:none;
    cursor:pointer;
    font-weight:bold;
}

button:hover{
    background:#1f5e7a;
}

button:disabled{
    background:#94a3b8;
    cursor:not-allowed;
}

input:disabled,
select:disabled{
    background:#f1f5f9;
}

#preview{
    width:100%;
    border-radius:12px;
    margin-top:10px;
}

.loading{
    display:none;
    margin-top:15px;
    color:#1e4668;
    font-weight:bold;
    text-align:center;
}

.status{
    margin-top:12px;
    font-weight:bold;
}

.success{
    color:#1f8a4c;
}

.error{
    color:#c0392b;
}

&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div class="card"&gt;

&lt;h2&gt;&#128220; Generator Sertifikat&lt;/h2&gt;

&lt;!-- ================= KONFIRMASI ================= --&gt;

&lt;div class="confirm-box"&gt;

&lt;p&gt;&#128269; Apakah Anda mengikuti pelatihan?&lt;/p&gt;

&lt;div class="confirm-buttons"&gt;

&lt;button class="yes-btn" onclick="confirmIkut()"&gt;
✅ YA, IKUT
&lt;/button&gt;

&lt;button class="no-btn" onclick="confirmTidakIkut()"&gt;
❌ TIDAK
&lt;/button&gt;

&lt;/div&gt;

&lt;div id="statusKonfirmasi" class="status"&gt;&lt;/div&gt;

&lt;/div&gt;

&lt;!-- ================= FORM ================= --&gt;

&lt;label&gt;Nama Lengkap&lt;/label&gt;

&lt;input
type="text"
id="nama"
placeholder="Contoh: Ahmad Fauzi"
disabled&gt;

&lt;label&gt;Peran&lt;/label&gt;

&lt;select id="peran" disabled&gt;
    &lt;option&gt;Peserta&lt;/option&gt;
    &lt;option&gt;Narasumber&lt;/option&gt;
&lt;/select&gt;

&lt;img
id="preview"
src="https://lh3.googleusercontent.com/d/1wYfpuHGjH4rw1199lBUM7vvdigBwkJbY"
alt="Template"&gt;

&lt;button
id="downloadBtn"
onclick="generatePDF()"
disabled&gt;

⬇️ UNDUH PDF

&lt;/button&gt;

&lt;div class="loading" id="loading"&gt;
Memproses PDF...
&lt;/div&gt;

&lt;/div&gt;

&lt;script&gt;

// ================= TEMPLATE (DIUBAH) =================

const FILE_ID =
'1wYfpuHGjH4rw1199lBUM7vvdigBwkJbY';  // &lt;-- ID baru

const TEMPLATE_URL =
`https://lh3.googleusercontent.com/d/${FILE_ID}`;

// ================= UTIL =================

function showLoading(show){

    document.getElementById('loading').style.display =
        show ? 'block' : 'none';

}

function getRomanMonth(monthIndex){

    const romawi = [
        "I","II","III","IV","V","VI",
        "VII","VIII","IX","X","XI","XII"
    ];

    return romawi[monthIndex];

}

function capitalizeEachWord(text){

    return text
        .toLowerCase()
        .replace(/\b\w/g,c=&gt;c.toUpperCase());

}

// ================= KONFIRMASI =================

function confirmIkut(){

    document.getElementById('nama').disabled = false;

    document.getElementById('peran').disabled = false;

    document.getElementById('downloadBtn').disabled = false;

    document.getElementById('statusKonfirmasi').innerHTML =
        '&lt;span class="success"&gt;✅ Konfirmasi diterima. Anda dapat mengunduh sertifikat.&lt;/span&gt;';

}

function confirmTidakIkut(){

    document.getElementById('nama').disabled = true;

    document.getElementById('peran').disabled = true;

    document.getElementById('downloadBtn').disabled = true;

    document.getElementById('statusKonfirmasi').innerHTML =
        '&lt;span class="error"&gt;❌ Anda tidak dapat mengunduh sertifikat.&lt;/span&gt;';

}

// ================= LOAD IMAGE =================

function loadImage(url){

    return new Promise((resolve,reject)=&gt;{

        const img = new Image();

        img.crossOrigin = "anonymous";

        img.onload = ()=&gt;resolve(img);

        img.onerror = ()=&gt;{

            reject(
                new Error(
                    'Template Google Drive gagal dimuat'
                )
            );

        };

        img.src = url + '?t=' + Date.now();

    });

}

// ================= NOMOR =================

async function generateNomor(){

    const now = new Date();

    const bulan =
        getRomanMonth(now.getMonth());

    const tahun =
        now.getFullYear();

    const nomor =
        Math.floor(Math.random()*900)+100;

    return `${nomor}/K/${bulan}/${tahun}`;

}

// ================= PDF =================

async function generatePDF(){

    const namaInput =
        document.getElementById('nama');

    const peranSelect =
        document.getElementById('peran');

    let nama =
        namaInput.value.trim();

    const peran =
        peranSelect.value;

    if(!nama){

        alert('Nama wajib diisi');

        return;

    }

    nama =
        capitalizeEachWord(nama);

    showLoading(true);

    try{

        await document.fonts.ready;

        const img =
            await loadImage(TEMPLATE_URL);

        const canvas =
            document.createElement('canvas');

        canvas.width = img.width;
        canvas.height = img.height;

        const ctx =
            canvas.getContext('2d');

        ctx.drawImage(
            img,
            0,
            0,
            canvas.width,
            canvas.height
        );

        // ================= POSISI =================

        const nomorY =
            canvas.height * 0.235;

        const namaY =
            canvas.height * 0.3990;

        const peranY =
            canvas.height * 0.5420;

        // ================= STYLE =================

        ctx.textAlign = 'center';

        ctx.textBaseline = 'middle';

        ctx.fillStyle = '#000';

        // nomor
        const nomorSertifikat =
            await generateNomor();

        ctx.font =
            `bold ${canvas.width*0.0125}px Montserrat`;

        ctx.fillText(
            nomorSertifikat,
            canvas.width/2,
            nomorY
        );

        // nama auto shrink
        let fontSize =
            canvas.width * 0.031;

        ctx.font =
            `700 ${fontSize}px Montserrat`;

        let textWidth =
            ctx.measureText(nama).width;

        const maxWidth =
            canvas.width - 180;

        while(
            textWidth &gt; maxWidth &amp;&amp;
            fontSize &gt; 20
        ){

            fontSize -= 2;

            ctx.font =
                `700 ${fontSize}px Montserrat`;

            textWidth =
                ctx.measureText(nama).width;

        }

        ctx.fillText(
            nama,
            canvas.width/2,
            namaY
        );

        // peran
        ctx.font =
            `bold ${canvas.width*0.024}px Montserrat`;

        ctx.fillText(
            peran,
            canvas.width/2,
            peranY
        );

        // ================= PDF =================

        const imageData =
            canvas.toDataURL(
                'image/jpeg',
                1.0
            );

        const { jsPDF } =
            window.jspdf;

        const pdf =
            new jsPDF({

                orientation:
                    canvas.width &gt; canvas.height
                    ? 'landscape'
                    : 'portrait',

                unit:'px',

                format:[
                    canvas.width,
                    canvas.height
                ]

            });

        pdf.addImage(
            imageData,
            'JPEG',
            0,
            0,
            canvas.width,
            canvas.height
        );

        const safeName =
            nama.replace(/[^a-z0-9]/gi,'_');

        pdf.save(
            `Sertifikat_${safeName}.pdf`
        );

    }catch(error){

        console.error(error);

        alert(
            '❌ Gagal membuat PDF\n\n' +
            error.message +
            '\n\nPastikan file Google Drive bersifat PUBLIC.'
        );

    }finally{

        showLoading(false);

    }

}

&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</description><link>http://kitab-investasi.blogspot.com/2026/07/sertifikat-kombel.html</link><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://lh3.googleusercontent.com/d/1wYfpuHGjH4rw1199lBUM7vvdigBwkJbY=s72-c" width="72"/><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-4157946749772995627</guid><pubDate>Wed, 22 Jul 2026 02:45:18 +0000</pubDate><atom:updated>2026-07-22T09:58:50.051+07:00</atom:updated><title>Pengantar Informatika, Budaya Kerja Digital, Etika &amp; Profesi Teknologi Informasi</title><description>
&lt;html lang="id"&gt;
&lt;head&gt;
&lt;meta charset="UTF-8"&gt;&lt;/meta&gt;
&lt;meta content="width=device-width, initial-scale=1.0" name="viewport"&gt;&lt;/meta&gt;
&lt;title&gt;Modul Informatika X — Pengantar Informatika, Budaya Kerja Digital, Etika &amp; Profesi TI&lt;/title&gt;
&lt;link href="https://fonts.googleapis.com" rel="preconnect"&gt;&lt;/link&gt;
&lt;link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&amp;amp;family=Literata:opsz,wght@18..144,400;18..144,500;18..144,600&amp;amp;family=JetBrains+Mono:wght@400;500&amp;amp;display=swap" rel="stylesheet"&gt;&lt;/link&gt;
&lt;style&gt;
  :root{
    --bg:#EEF1F6;
    --paper:#FFFFFF;
    --ink:#171F30;
    --ink-soft:#4B5568;
    --line:#D8DEEA;

    --c-info:#2B6CB0;      /* Pengantar Informatika */
    --c-info-bg:#E7F0FA;
    --c-budaya:#0C8F80;    /* Budaya Kerja Digital */
    --c-budaya-bg:#E3F5F1;
    --c-etika:#B5570C;     /* Etika Digital */
    --c-etika-bg:#FBEEE2;
    --c-profesi:#6D28D9;   /* Profesi TI */
    --c-profesi-bg:#EFE7FC;

    --font-display:'Space Grotesk', sans-serif;
    --font-body:'Literata', Georgia, serif;
    --font-mono:'JetBrains Mono', monospace;
  }

  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--bg);
    color:var(--ink);
    font-family:var(--font-body);
    line-height:1.65;
    font-size:16px;
  }
  ::selection{background:var(--c-info); color:#fff;}

  a{color:inherit;}

  /* ---------- Layout shell ---------- */
  .shell{
    display:grid;
    grid-template-columns:280px 1fr;
    max-width:1280px;
    margin:0 auto;
  }
  @media (max-width:900px){
    .shell{grid-template-columns:1fr;}
    .sidebar{position:static; height:auto; order:2;}
  }

  /* ---------- Sidebar ---------- */
  .sidebar{
    position:sticky; top:0; height:100vh;
    padding:28px 20px 20px 28px;
    display:flex; flex-direction:column; gap:22px;
    overflow-y:auto;
    border-right:1px solid var(--line);
  }
  .brand{
    font-family:var(--font-display); font-weight:700; font-size:15px;
    letter-spacing:.02em;
  }
  .brand span{display:block; font-family:var(--font-mono); font-weight:400; font-size:11px; color:var(--ink-soft); margin-top:4px; letter-spacing:.03em;}

  .jp-track{display:flex; flex-direction:column; gap:2px; margin-top:4px;}
  .jp-track .label{font-family:var(--font-mono); font-size:10.5px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px;}
  .jp-node{
    display:flex; align-items:center; gap:10px;
    font-family:var(--font-mono); font-size:11.5px; color:var(--ink-soft);
    padding:5px 0;
  }
  .jp-dot{width:8px; height:8px; border-radius:50%; background:var(--line); flex-shrink:0;}
  .jp-node.i1 .jp-dot{background:var(--c-info);}
  .jp-node.i2 .jp-dot{background:var(--c-budaya);}
  .jp-node.i3 .jp-dot{background:var(--c-etika);}
  .jp-node.i4 .jp-dot{background:var(--c-profesi);}

  nav.toc{display:flex; flex-direction:column; gap:1px; font-family:var(--font-display); font-size:13.5px;}
  nav.toc .grp-label{font-family:var(--font-mono); font-size:10px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.08em; margin:14px 0 6px;}
  nav.toc a{
    display:block; padding:7px 10px; border-radius:6px; text-decoration:none;
    color:var(--ink-soft); border-left:2px solid transparent;
  }
  nav.toc a:hover{background:var(--paper); color:var(--ink);}
  nav.toc a.c1{border-left-color:var(--c-info);}
  nav.toc a.c2{border-left-color:var(--c-budaya);}
  nav.toc a.c3{border-left-color:var(--c-etika);}
  nav.toc a.c4{border-left-color:var(--c-profesi);}

  /* ---------- Main ---------- */
  main{padding:36px 40px 100px; min-width:0;}
  @media (max-width:640px){main{padding:24px 18px 80px;}}

  section{scroll-margin-top:24px;}

  .eyebrow{
    font-family:var(--font-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase;
    color:var(--ink-soft); margin-bottom:8px; display:flex; align-items:center; gap:8px;
  }
  .tag{
    font-family:var(--font-mono); font-size:10.5px; padding:2px 8px; border-radius:999px;
    border:1px solid currentColor;
  }

  h1,h2,h3{font-family:var(--font-display); font-weight:700; line-height:1.15;}
  h1{font-size:clamp(28px,4vw,42px); letter-spacing:-.01em;}
  h2{font-size:26px; margin-bottom:14px;}
  h3{font-size:17px; margin:20px 0 8px;}
  p{margin-bottom:12px; color:var(--ink);}
  strong{font-weight:600;}

  /* ---------- Hero ---------- */
  .hero{padding-bottom:40px; border-bottom:1px solid var(--line); margin-bottom:44px;}
  .hero-top{display:flex; justify-content:space-between; align-items:flex-start; gap:30px; flex-wrap:wrap;}
  .hero p.lede{font-size:16.5px; max-width:56ch; color:var(--ink-soft); margin-top:14px;}
  .meta-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:18px;}
  .meta-chip{
    font-family:var(--font-mono); font-size:11.5px; color:var(--ink-soft);
    border:1px solid var(--line); padding:5px 11px; border-radius:999px; background:var(--paper);
  }

  .hub{flex-shrink:0;}

  /* ---------- Cards / boxes ---------- */
  .card{
    background:var(--paper); border:1px solid var(--line); border-radius:14px;
    padding:22px 26px; margin-bottom:16px;
  }

  .rpp{
    display:grid; grid-template-columns:repeat(4,1fr); gap:0;
    background:var(--paper); border:1px solid var(--line); border-radius:14px; overflow:hidden; margin-bottom:44px;
  }
  .rpp div{padding:16px 18px; border-right:1px solid var(--line);}
  .rpp div:last-child{border-right:none;}
  .rpp .k{font-family:var(--font-mono); font-size:10px; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); margin-bottom:5px;}
  .rpp .v{font-family:var(--font-display); font-weight:600; font-size:14.5px;}
  @media (max-width:700px){.rpp{grid-template-columns:1fr 1fr;} .rpp div{border-bottom:1px solid var(--line);}}

  .obj-list{list-style:none; display:flex; flex-direction:column; gap:10px; margin:16px 0 40px;}
  .obj-list li{
    display:flex; gap:12px; align-items:flex-start; background:var(--paper);
    border:1px solid var(--line); border-radius:10px; padding:12px 16px; font-size:14.5px;
  }
  .obj-list .n{font-family:var(--font-mono); font-size:11px; color:var(--ink-soft); flex-shrink:0; padding-top:2px;}

  /* ---------- Topic sections ---------- */
  .topic{
    border-radius:18px; padding:34px clamp(20px,4vw,40px); margin-bottom:36px;
    border:1px solid var(--line); background:var(--paper);
  }
  .topic .eyebrow .tag{border-color:currentColor;}
  .topic-1{border-top:5px solid var(--c-info);}
  .topic-2{border-top:5px solid var(--c-budaya);}
  .topic-3{border-top:5px solid var(--c-etika);}
  .topic-4{border-top:5px solid var(--c-profesi);}
  .topic-1 .eyebrow, .topic-1 h2{color:var(--c-info);}
  .topic-2 .eyebrow, .topic-2 h2{color:var(--c-budaya);}
  .topic-3 .eyebrow, .topic-3 h2{color:var(--c-etika);}
  .topic-4 .eyebrow, .topic-4 h2{color:var(--c-profesi);}

  .subgrid{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; margin:18px 0;}
  .pill-card{
    border:1px solid var(--line); border-radius:12px; padding:14px 16px; background:var(--bg);
  }
  .pill-card h4{font-family:var(--font-display); font-size:14px; margin-bottom:5px; color:var(--ink);}
  .pill-card p{font-size:13.5px; margin:0; color:var(--ink-soft);}

  table{width:100%; border-collapse:collapse; margin:16px 0; font-size:14px;}
  th,td{text-align:left; padding:10px 12px; border-bottom:1px solid var(--line); vertical-align:top;}
  th{font-family:var(--font-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-soft); font-weight:500;}

  .timeline{margin:20px 0; border-left:2px solid var(--line); padding-left:22px; display:flex; flex-direction:column; gap:18px;}
  .timeline .ev{position:relative;}
  .timeline .ev::before{content:''; position:absolute; left:-27.5px; top:5px; width:9px; height:9px; border-radius:50%; background:var(--c-info);}
  .timeline .ev .era{font-family:var(--font-mono); font-size:11px; color:var(--ink-soft);}
  .timeline .ev h4{font-family:var(--font-display); font-size:14.5px; margin:2px 0 3px;}
  .timeline .ev p{font-size:13.5px; margin:0; color:var(--ink-soft);}

  .callout{
    border-radius:12px; padding:16px 18px; margin:18px 0; font-size:14.5px;
    border:1px dashed var(--line); background:var(--bg);
  }
  .callout b{font-family:var(--font-display);}

  ul.check{list-style:none; display:flex; flex-direction:column; gap:8px; margin:12px 0;}
  ul.check li{padding-left:26px; position:relative; font-size:14.5px;}
  ul.check li::before{content:'✓'; position:absolute; left:0; top:0; font-family:var(--font-mono); font-weight:600;}

  /* ---------- Task blocks ---------- */
  .task{
    border-radius:18px; padding:34px clamp(20px,4vw,40px); margin-bottom:28px; color:#fff;
  }
  .task-group{background:linear-gradient(155deg,#1B2A4A,#101830);}
  .task-solo{background:var(--paper); border:2px solid var(--ink); color:var(--ink);}
  .task .eyebrow{color:#B9C4E0;}
  .task-solo .eyebrow{color:var(--ink-soft);}
  .task h2{color:#fff;}
  .task-solo h2{color:var(--ink);}
  .task p{color:#DCE3F2;}
  .task-solo p{color:var(--ink-soft);}

  .steps{counter-reset:step; display:flex; flex-direction:column; gap:12px; margin:18px 0;}
  .steps .step{counter-increment:step; display:flex; gap:14px; align-items:flex-start;}
  .steps .step::before{
    content:counter(step); font-family:var(--font-mono); font-size:12px; flex-shrink:0;
    width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center;
    background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.35);
  }
  .task-solo .steps .step::before{background:var(--bg); border-color:var(--line); color:var(--ink);}
  .steps .step div{font-size:14.5px;}
  .steps .step strong{display:block; margin-bottom:2px; font-family:var(--font-display); font-size:14.5px;}

  .rubric{width:100%; margin-top:14px; font-size:13.5px; border-collapse:collapse;}
  .rubric th,.rubric td{padding:9px 10px; border-bottom:1px solid rgba(255,255,255,.18); color:#DCE3F2;}
  .rubric th{font-family:var(--font-mono); font-size:10px; text-transform:uppercase; color:#B9C4E0;}

  .deliverable-row{display:flex; gap:10px; flex-wrap:wrap; margin-top:16px;}
  .deliverable-row span{
    font-family:var(--font-mono); font-size:11.5px; padding:6px 12px; border-radius:999px;
    background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.3);
  }
  .task-solo .deliverable-row span{background:var(--bg); border-color:var(--line);}

  footer{
    max-width:1280px; margin:0 auto; padding:30px 40px 60px; grid-column:1/-1;
    font-family:var(--font-mono); font-size:12px; color:var(--ink-soft); border-top:1px solid var(--line);
  }

  @media print{
    .sidebar{display:none;}
    .shell{grid-template-columns:1fr;}
  }
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div class="shell"&gt;

  &lt;!-- ============ SIDEBAR ============ --&gt;
  &lt;aside class="sidebar"&gt;
    &lt;div class="brand"&gt;Modul Informatika&lt;span&gt;Kelas X SMK · Fase E&lt;/span&gt;&lt;/div&gt;

    &lt;div class="jp-track"&gt;
      &lt;div class="label"&gt;Alur 4 JP&lt;/div&gt;
      &lt;div class="jp-node i1"&gt;&lt;span class="jp-dot"&gt;&lt;/span&gt;JP 1 — Pengantar Informatika&lt;/div&gt;
      &lt;div class="jp-node i2"&gt;&lt;span class="jp-dot"&gt;&lt;/span&gt;JP 2 — Budaya Kerja Digital&lt;/div&gt;
      &lt;div class="jp-node i3"&gt;&lt;span class="jp-dot"&gt;&lt;/span&gt;JP 3 — Etika, HAKI &amp;amp; Keamanan&lt;/div&gt;
      &lt;div class="jp-node i4"&gt;&lt;span class="jp-dot"&gt;&lt;/span&gt;JP 4 — Profesi TI &amp;amp; Tugas&lt;/div&gt;
    &lt;/div&gt;

    &lt;nav class="toc"&gt;
      &lt;a href="#tujuan"&gt;Tujuan Pembelajaran&lt;/a&gt;
      &lt;div class="grp-label"&gt;JP 1&lt;/div&gt;
      &lt;a class="c1" href="#materi-1"&gt;01 · Pengantar Informatika&lt;/a&gt;
      &lt;div class="grp-label"&gt;JP 2&lt;/div&gt;
      &lt;a class="c2" href="#materi-2"&gt;02 · Budaya Kerja Digital&lt;/a&gt;
      &lt;div class="grp-label"&gt;JP 3&lt;/div&gt;
      &lt;a class="c3" href="#materi-3"&gt;03 · Etika, HAKI &amp;amp; Keamanan&lt;/a&gt;
      &lt;div class="grp-label"&gt;JP 4&lt;/div&gt;
      &lt;a class="c4" href="#materi-4"&gt;04 · Profesi Teknologi Informasi&lt;/a&gt;
      &lt;div class="grp-label"&gt;Penutup&lt;/div&gt;
      &lt;a href="#tugas-kelompok"&gt;Tugas Kelompok&lt;/a&gt;
      &lt;a href="#tugas-mandiri"&gt;Kesimpulan (Buku)&lt;/a&gt;
      &lt;a href="#refleksi"&gt;Refleksi Cepat&lt;/a&gt;
    &lt;/nav&gt;
  &lt;/aside&gt;

  &lt;!-- ============ MAIN ============ --&gt;
  &lt;main&gt;

    &lt;!-- HERO --&gt;
    &lt;section class="hero"&gt;
      &lt;div class="hero-top"&gt;
        &lt;div&gt;
          &lt;div class="eyebrow"&gt;&lt;span class="tag"&gt;Informatika&lt;/span&gt; Materi Pertemuan · 4 JP (180 menit)&lt;/div&gt;
          &lt;h1&gt;Pengantar Informatika, Budaya Kerja Digital,&lt;br /&gt;Etika &amp;amp; Profesi Teknologi Informasi&lt;/h1&gt;
          &lt;p class="lede"&gt;Empat topik ini adalah satu kesatuan: memahami &lt;em&gt;apa itu&lt;/em&gt; Informatika membuka jalan untuk memahami &lt;em&gt;bagaimana&lt;/em&gt; orang bekerja di dunia digital, &lt;em&gt;aturan main&lt;/em&gt; apa yang harus dipegang, dan &lt;em&gt;ke mana&lt;/em&gt; semua ini bisa membawamu sebagai karier.&lt;/p&gt;
          &lt;div class="meta-row"&gt;
            &lt;span class="meta-chip"&gt;Mapel: Informatika&lt;/span&gt;
            &lt;span class="meta-chip"&gt;Kelas X SMK&lt;/span&gt;
            &lt;span class="meta-chip"&gt;4 JP × 45 menit&lt;/span&gt;
            &lt;span class="meta-chip"&gt;Elemen: Dampak Sosial Informatika&lt;/span&gt;
          &lt;/div&gt;
        &lt;/div&gt;
        &lt;svg aria-label="Diagram keterkaitan empat topik" class="hub" height="230" role="img" viewbox="0 0 230 230" width="230" xmlns="http://www.w3.org/2000/svg"&gt;
          &lt;line stroke-width="2" stroke="#D8DEEA" x1="115" x2="115" y1="115" y2="34"&gt;
          &lt;line stroke-width="2" stroke="#D8DEEA" x1="115" x2="196" y1="115" y2="115"&gt;
          &lt;line stroke-width="2" stroke="#D8DEEA" x1="115" x2="115" y1="115" y2="196"&gt;
          &lt;line stroke-width="2" stroke="#D8DEEA" x1="115" x2="34" y1="115" y2="115"&gt;
          &lt;circle cx="115" cy="115" fill="#171F30" r="30"&gt;
          &lt;text fill="#fff" font-family="Space Grotesk" font-size="9" font-weight="700" text-anchor="middle" x="115" y="111"&gt;EKOSISTEM&lt;/text&gt;
          &lt;text fill="#fff" font-family="Space Grotesk" font-size="9" font-weight="700" text-anchor="middle" x="115" y="122"&gt;TI&lt;/text&gt;
          &lt;circle cx="115" cy="34" fill="#E7F0FA" r="24" stroke-width="2" stroke="#2B6CB0"&gt;
          &lt;text fill="#2B6CB0" font-family="Space Grotesk" font-size="8" font-weight="700" text-anchor="middle" x="115" y="31"&gt;01&lt;/text&gt;
          &lt;text fill="#2B6CB0" font-family="Space Grotesk" font-size="7" font-weight="700" text-anchor="middle" x="115" y="41"&gt;Informatika&lt;/text&gt;
          &lt;circle cx="196" cy="115" fill="#E3F5F1" r="24" stroke-width="2" stroke="#0C8F80"&gt;
          &lt;text fill="#0C8F80" font-family="Space Grotesk" font-size="8" font-weight="700" text-anchor="middle" x="196" y="112"&gt;02&lt;/text&gt;
          &lt;text fill="#0C8F80" font-family="Space Grotesk" font-size="6.3" font-weight="700" text-anchor="middle" x="196" y="122"&gt;Budaya Kerja&lt;/text&gt;
          &lt;circle cx="115" cy="196" fill="#FBEEE2" r="24" stroke-width="2" stroke="#B5570C"&gt;
          &lt;text fill="#B5570C" font-family="Space Grotesk" font-size="8" font-weight="700" text-anchor="middle" x="115" y="193"&gt;03&lt;/text&gt;
          &lt;text fill="#B5570C" font-family="Space Grotesk" font-size="7" font-weight="700" text-anchor="middle" x="115" y="203"&gt;Etika&lt;/text&gt;
          &lt;circle cx="34" cy="115" fill="#EFE7FC" r="24" stroke-width="2" stroke="#6D28D9"&gt;
          &lt;text fill="#6D28D9" font-family="Space Grotesk" font-size="8" font-weight="700" text-anchor="middle" x="34" y="112"&gt;04&lt;/text&gt;
          &lt;text fill="#6D28D9" font-family="Space Grotesk" font-size="6.3" font-weight="700" text-anchor="middle" x="34" y="122"&gt;Profesi TI&lt;/text&gt;
        &lt;/circle&gt;&lt;/circle&gt;&lt;/circle&gt;&lt;/circle&gt;&lt;/circle&gt;&lt;/line&gt;&lt;/line&gt;&lt;/line&gt;&lt;/line&gt;&lt;/svg&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- RPP MINI --&gt;
    &lt;div class="rpp"&gt;
      &lt;div&gt;&lt;div class="k"&gt;Fase / Kelas&lt;/div&gt;&lt;div class="v"&gt;Fase E · X SMK&lt;/div&gt;&lt;/div&gt;
      &lt;div&gt;&lt;div class="k"&gt;Alokasi Waktu&lt;/div&gt;&lt;div class="v"&gt;4 JP (180 menit)&lt;/div&gt;&lt;/div&gt;
      &lt;div&gt;&lt;div class="k"&gt;Model&lt;/div&gt;&lt;div class="v"&gt;Diskusi &amp;amp; Kerja Kelompok&lt;/div&gt;&lt;/div&gt;
      &lt;div&gt;&lt;div class="k"&gt;Penilaian&lt;/div&gt;&lt;div class="v"&gt;Produk + Kesimpulan Tertulis&lt;/div&gt;&lt;/div&gt;
    &lt;/div&gt;

    &lt;!-- TUJUAN --&gt;
    &lt;section id="tujuan"&gt;
      &lt;div class="eyebrow"&gt;&lt;span class="tag"&gt;Tujuan Pembelajaran&lt;/span&gt;&lt;/div&gt;
      &lt;h2 style="color: var(--ink);"&gt;Setelah pertemuan ini, murid mampu:&lt;/h2&gt;
      &lt;ul class="obj-list"&gt;
        &lt;li&gt;&lt;span class="n"&gt;TP.1&lt;/span&gt; Menjelaskan ruang lingkup Informatika dan bidang-bidang keilmuan yang menyusunnya.&lt;/li&gt;
        &lt;li&gt;&lt;span class="n"&gt;TP.2&lt;/span&gt; Menguraikan perkembangan teknologi digital dan dampaknya terhadap cara manusia bekerja.&lt;/li&gt;
        &lt;li&gt;&lt;span class="n"&gt;TP.3&lt;/span&gt; Menerapkan prinsip etika digital, menghormati hak kekayaan intelektual (HAKI), dan praktik keamanan digital dasar.&lt;/li&gt;
        &lt;li&gt;&lt;span class="n"&gt;TP.4&lt;/span&gt; Mengidentifikasi ragam profesi di bidang Teknologi Informasi beserta kompetensi yang dibutuhkan.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/section&gt;

    &lt;!-- ================= TOPIK 1 ================= --&gt;
    &lt;section class="topic topic-1" id="materi-1"&gt;
      &lt;div class="eyebrow"&gt;&lt;span class="tag"&gt;JP 1 · 45 menit&lt;/span&gt; 01 — Pengantar Informatika&lt;/div&gt;
      &lt;h2&gt;Apa Itu Informatika, dan Seluas Apa Cakupannya?&lt;/h2&gt;
      &lt;p&gt;&lt;strong&gt;Informatika&lt;/strong&gt; adalah ilmu yang mempelajari bagaimana informasi direpresentasikan, diproses, disimpan, dan dikomunikasikan secara sistematis dengan bantuan komputer. Informatika bukan sekadar "belajar komputer" — ia adalah cara berpikir untuk memecahkan masalah secara terstruktur (disebut &lt;em&gt;computational thinking&lt;/em&gt; atau berpikir komputasional), yang kemudian diwujudkan lewat algoritma, program, dan sistem.&lt;/p&gt;

      &lt;h3&gt;Tujuh Bidang Ilmu dalam Informatika&lt;/h3&gt;
      &lt;div class="subgrid"&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Berpikir Komputasional&lt;/h4&gt;&lt;p&gt;Kemampuan memecah masalah kompleks menjadi langkah-langkah logis dan sistematis.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Teknologi Informasi &amp;amp; Komunikasi&lt;/h4&gt;&lt;p&gt;Penggunaan perangkat lunak dan platform digital untuk produktivitas sehari-hari.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Sistem Komputer&lt;/h4&gt;&lt;p&gt;Perangkat keras, perangkat lunak, dan cara keduanya bekerja sama memproses data.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Jaringan Komputer &amp;amp; Internet&lt;/h4&gt;&lt;p&gt;Bagaimana perangkat saling terhubung dan bertukar data melalui jaringan.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Analisis Data&lt;/h4&gt;&lt;p&gt;Mengolah data mentah menjadi informasi yang bermakna untuk pengambilan keputusan.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Algoritma &amp;amp; Pemrograman&lt;/h4&gt;&lt;p&gt;Menyusun instruksi logis yang dapat dieksekusi komputer untuk menyelesaikan tugas.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Dampak Sosial Informatika&lt;/h4&gt;&lt;p&gt;Pengaruh teknologi terhadap ekonomi, budaya, etika, dan kehidupan sosial masyarakat.&lt;/p&gt;&lt;/div&gt;
      &lt;/div&gt;

      &lt;h3&gt;Perkembangan Teknologi Digital&lt;/h3&gt;
      &lt;p&gt;Perkembangan komputer dan revolusi industri berjalan beriringan, mengubah cara manusia bekerja di setiap era:&lt;/p&gt;
      &lt;div class="timeline"&gt;
        &lt;div class="ev"&gt;&lt;div class="era"&gt;1780-an — Revolusi Industri 1.0&lt;/div&gt;&lt;h4&gt;Mekanisasi &amp;amp; Mesin Uap&lt;/h4&gt;&lt;p&gt;Tenaga manusia digantikan mesin mekanis untuk produksi massal.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="ev"&gt;&lt;div class="era"&gt;1870-an — Revolusi Industri 2.0&lt;/div&gt;&lt;h4&gt;Listrik &amp;amp; Produksi Massal&lt;/h4&gt;&lt;p&gt;Lini produksi (assembly line) dan tenaga listrik mempercepat industri.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="ev"&gt;&lt;div class="era"&gt;1970-an — Revolusi Industri 3.0&lt;/div&gt;&lt;h4&gt;Komputer &amp;amp; Otomasi&lt;/h4&gt;&lt;p&gt;Komputer, elektronik, dan internet mulai mengotomasi proses kerja.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="ev"&gt;&lt;div class="era"&gt;2010-an — Revolusi Industri 4.0&lt;/div&gt;&lt;h4&gt;Konektivitas &amp;amp; Kecerdasan Buatan&lt;/h4&gt;&lt;p&gt;IoT, big data, cloud computing, dan AI mengintegrasikan dunia fisik dan digital.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="ev"&gt;&lt;div class="era"&gt;Saat ini — Menuju 5.0&lt;/div&gt;&lt;h4&gt;Teknologi Berpusat pada Manusia&lt;/h4&gt;&lt;p&gt;Teknologi cerdas dipadukan kembali dengan sentuhan dan nilai kemanusiaan.&lt;/p&gt;&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="callout"&gt;&lt;b&gt;Contoh nyata di sekitar kita:&lt;/b&gt; aplikasi ojek daring memakai algoritma pencocokan rute, sekolah memakai sistem informasi akademik, rumah sakit memakai rekam medis elektronik, petani memakai sensor IoT untuk memantau lahan — semua ini adalah wujud nyata Informatika.&lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ================= TOPIK 2 ================= --&gt;
    &lt;section class="topic topic-2" id="materi-2"&gt;
      &lt;div class="eyebrow"&gt;&lt;span class="tag"&gt;JP 2 · 45 menit&lt;/span&gt; 02 — Budaya Kerja Digital&lt;/div&gt;
      &lt;h2&gt;Bekerja dengan Cara Baru di Dunia yang Terhubung&lt;/h2&gt;
      &lt;p&gt;&lt;strong&gt;Budaya kerja digital&lt;/strong&gt; adalah pola pikir, sikap, dan kebiasaan kerja yang terbentuk karena teknologi mengubah cara kita berkolaborasi, berkomunikasi, dan menghasilkan karya. Budaya ini tidak menggantikan etos kerja lama, tetapi menambahkan lapisan baru: kolaboratif, adaptif, dan berbasis data.&lt;/p&gt;

      &lt;h3&gt;Karakteristik Utama Budaya Kerja Digital&lt;/h3&gt;
      &lt;div class="subgrid"&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Kolaborasi Daring&lt;/h4&gt;&lt;p&gt;Bekerja bersama lewat cloud (Google Workspace, Microsoft 365) tanpa harus berada di ruang yang sama.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Fleksibilitas Kerja&lt;/h4&gt;&lt;p&gt;Pola kerja jarak jauh (remote) dan hybrid semakin umum lintas industri.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Berbasis Data&lt;/h4&gt;&lt;p&gt;Keputusan diambil berdasarkan data dan bukti, bukan sekadar asumsi.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Pembelajaran Berkelanjutan&lt;/h4&gt;&lt;p&gt;Teknologi cepat berubah, sehingga belajar hal baru menjadi kebiasaan, bukan pengecualian.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Budaya Paperless&lt;/h4&gt;&lt;p&gt;Dokumen dan arsip beralih ke bentuk digital untuk efisiensi dan keberlanjutan.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Berbagi Pengetahuan&lt;/h4&gt;&lt;p&gt;Dokumentasi kerja dan wawasan dibagikan terbuka lewat wiki, forum, atau grup tim.&lt;/p&gt;&lt;/div&gt;
      &lt;/div&gt;

      &lt;h3&gt;Soft Skill yang Dibutuhkan&lt;/h3&gt;
      &lt;table&gt;
        &lt;tr&gt;&lt;th&gt;Kompetensi&lt;/th&gt;&lt;th&gt;Contoh Penerapan&lt;/th&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Komunikasi digital&lt;/td&gt;&lt;td&gt;Menulis pesan kerja yang jelas dan sopan di email, chat, atau video call.&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Manajemen waktu&lt;/td&gt;&lt;td&gt;Mengatur tenggat kerja menggunakan aplikasi seperti Trello atau Google Calendar.&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Kolaborasi tim&lt;/td&gt;&lt;td&gt;Mengedit dokumen bersama secara real-time tanpa tumpang tindih pekerjaan.&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Berpikir kritis &amp;amp; kreatif&lt;/td&gt;&lt;td&gt;Mengevaluasi informasi digital sebelum menggunakannya untuk mengambil keputusan.&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Adaptasi teknologi baru&lt;/td&gt;&lt;td&gt;Cepat mempelajari aplikasi atau alat kerja yang baru diperkenalkan.&lt;/td&gt;&lt;/tr&gt;
      &lt;/table&gt;

      &lt;div class="callout"&gt;&lt;b&gt;Nilai profesional yang tetap relevan:&lt;/b&gt; disiplin terhadap tenggat waktu digital, tanggung jawab menjaga data yang dikelola, serta transparansi proses kerja — nilai-nilai lama yang dibungkus cara kerja baru.&lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ================= TOPIK 3 ================= --&gt;
    &lt;section class="topic topic-3" id="materi-3"&gt;
      &lt;div class="eyebrow"&gt;&lt;span class="tag"&gt;JP 3 · 45 menit&lt;/span&gt; 03 — Etika Digital, HAKI &amp;amp; Keamanan&lt;/div&gt;
      &lt;h2&gt;Aturan Main di Dunia Digital&lt;/h2&gt;
      &lt;p&gt;Semakin besar kekuatan teknologi, semakin besar pula tanggung jawab menggunakannya. Bagian ini membahas tiga pilar: &lt;strong&gt;etika digital&lt;/strong&gt; (bagaimana bersikap), &lt;strong&gt;HAKI&lt;/strong&gt; (menghargai karya orang lain), dan &lt;strong&gt;keamanan digital&lt;/strong&gt; (melindungi diri dan data).&lt;/p&gt;

      &lt;h3&gt;Etika Digital (Netiket)&lt;/h3&gt;
      &lt;ul&gt;
        &lt;li&gt;Bersikap sopan dan menghargai perbedaan pendapat saat berinteraksi daring.&lt;/li&gt;
        &lt;li&gt;Tidak menyebarkan ujaran kebencian, perundungan siber (cyberbullying), atau konten SARA.&lt;/li&gt;
        &lt;li&gt;Memeriksa kebenaran informasi sebelum membagikannya, untuk mencegah penyebaran hoaks.&lt;/li&gt;
        &lt;li&gt;Menyadari bahwa jejak digital (digital footprint) bersifat permanen dan dapat memengaruhi reputasi di masa depan.&lt;/li&gt;
      &lt;/ul&gt;

      &lt;h3&gt;Hak Kekayaan Intelektual (HAKI)&lt;/h3&gt;
      &lt;p&gt;HAKI melindungi hasil karya cipta seseorang — termasuk perangkat lunak, tulisan, gambar, musik, dan desain — dari penggunaan tanpa izin. Beberapa jenis lisensi perangkat lunak yang perlu dikenali:&lt;/p&gt;
      &lt;table&gt;
        &lt;tr&gt;&lt;th&gt;Jenis Lisensi&lt;/th&gt;&lt;th&gt;Penjelasan&lt;/th&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Proprietary (berbayar)&lt;/td&gt;&lt;td&gt;Kode sumber tertutup, penggunaan diatur ketat oleh pemilik, contoh: Microsoft Office.&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Freeware&lt;/td&gt;&lt;td&gt;Gratis digunakan, tetapi kode sumber tetap tertutup dan hak cipta melekat pada pembuat.&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Shareware&lt;/td&gt;&lt;td&gt;Boleh dicoba gratis dalam batas waktu/fitur tertentu sebelum harus membeli lisensi penuh.&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Open Source&lt;/td&gt;&lt;td&gt;Kode sumber terbuka dan boleh dimodifikasi, dengan syarat mengikuti ketentuan lisensinya, contoh: Linux.&lt;/td&gt;&lt;/tr&gt;
      &lt;/table&gt;
      &lt;p&gt;Dalam konteks tugas sekolah, &lt;strong&gt;plagiarisme&lt;/strong&gt; — menyalin karya orang lain tanpa mencantumkan sumber — adalah pelanggaran HAKI. Kebiasaan baik: selalu mencantumkan sumber referensi dan memahami lisensi &lt;em&gt;Creative Commons&lt;/em&gt; saat menggunakan gambar atau materi dari internet.&lt;/p&gt;

      &lt;h3&gt;Keamanan Digital&lt;/h3&gt;
      &lt;div class="subgrid"&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Kata sandi kuat&lt;/h4&gt;&lt;p&gt;Kombinasi huruf, angka, simbol, dan berbeda untuk tiap akun.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Autentikasi dua faktor (2FA)&lt;/h4&gt;&lt;p&gt;Lapisan keamanan tambahan selain kata sandi, misalnya kode OTP.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Waspada phishing&lt;/h4&gt;&lt;p&gt;Tidak sembarangan mengklik tautan atau memberi data pribadi ke sumber tak dikenal.&lt;/p&gt;&lt;/div&gt;
        &lt;div class="pill-card"&gt;&lt;h4&gt;Cadangkan data (backup)&lt;/h4&gt;&lt;p&gt;Menyimpan salinan data penting untuk berjaga dari kehilangan atau serangan siber.&lt;/p&gt;&lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ================= TOPIK 4 ================= --&gt;
    &lt;section class="topic topic-4" id="materi-4"&gt;
      &lt;div class="eyebrow"&gt;&lt;span class="tag"&gt;JP 4 · 45 menit&lt;/span&gt; 04 — Profesi Teknologi Informasi&lt;/div&gt;
      &lt;h2&gt;Ke Mana Semua Ini Bisa Membawamu?&lt;/h2&gt;
      &lt;p&gt;Industri teknologi informasi menawarkan ragam jalur karier yang terus berkembang. Setiap profesi menekankan kombinasi berbeda antara kemampuan teknis (&lt;em&gt;hard skill&lt;/em&gt;) dan kemampuan bekerja sama (&lt;em&gt;soft skill&lt;/em&gt;) yang sudah dibahas di JP 2.&lt;/p&gt;

      &lt;table&gt;
        &lt;tr&gt;&lt;th&gt;Profesi&lt;/th&gt;&lt;th&gt;Fokus Pekerjaan&lt;/th&gt;&lt;th&gt;Kompetensi Kunci&lt;/th&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Software / Web Developer&lt;/td&gt;&lt;td&gt;Membangun aplikasi atau situs web.&lt;/td&gt;&lt;td&gt;Logika pemrograman, bahasa pemrograman&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Mobile App Developer&lt;/td&gt;&lt;td&gt;Membangun aplikasi untuk perangkat seluler.&lt;/td&gt;&lt;td&gt;Pemrograman mobile, desain UI&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Network Engineer / Administrator&lt;/td&gt;&lt;td&gt;Merancang dan menjaga jaringan komputer.&lt;/td&gt;&lt;td&gt;Pemahaman protokol jaringan, troubleshooting&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Database Administrator&lt;/td&gt;&lt;td&gt;Mengelola dan mengamankan basis data organisasi.&lt;/td&gt;&lt;td&gt;SQL, manajemen data&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Data Analyst / Data Scientist&lt;/td&gt;&lt;td&gt;Mengolah data menjadi wawasan untuk keputusan bisnis.&lt;/td&gt;&lt;td&gt;Statistik, visualisasi data&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;UI/UX Designer&lt;/td&gt;&lt;td&gt;Merancang tampilan dan pengalaman pengguna produk digital.&lt;/td&gt;&lt;td&gt;Desain, empati pengguna&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Cyber Security Specialist&lt;/td&gt;&lt;td&gt;Melindungi sistem dari ancaman dan serangan siber.&lt;/td&gt;&lt;td&gt;Analisis risiko, keamanan jaringan&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;IT Support / Helpdesk&lt;/td&gt;&lt;td&gt;Membantu pengguna mengatasi masalah perangkat dan sistem.&lt;/td&gt;&lt;td&gt;Troubleshooting, komunikasi&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Cloud Engineer&lt;/td&gt;&lt;td&gt;Mengelola infrastruktur dan layanan berbasis cloud.&lt;/td&gt;&lt;td&gt;Sistem cloud, otomasi&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Game Developer&lt;/td&gt;&lt;td&gt;Merancang dan membangun permainan digital.&lt;/td&gt;&lt;td&gt;Pemrograman, desain kreatif&lt;/td&gt;&lt;/tr&gt;
      &lt;/table&gt;

      &lt;h3&gt;Jalur Menuju Profesi TI&lt;/h3&gt;
      &lt;ul &gt;
        &lt;li&gt;Pendidikan formal: SMK jurusan RPL/TKJ, D3/D4/S1 bidang Informatika atau Ilmu Komputer.&lt;/li&gt;
        &lt;li&gt;Sertifikasi industri: misalnya sertifikasi jaringan, cloud, atau keamanan siber dari penyedia teknologi global.&lt;/li&gt;
        &lt;li&gt;Jalur mandiri: bootcamp, kursus daring, dan portofolio proyek pribadi.&lt;/li&gt;
        &lt;li&gt;Peluang kerja lintas batas: banyak profesi TI kini bisa dikerjakan secara remote untuk perusahaan di berbagai negara.&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/section&gt;

    &lt;!-- ============ TUGAS KELOMPOK ============ --&gt;
    &lt;section class="task task-group" id="tugas-kelompok"&gt;
      &lt;div class="eyebrow"&gt;&lt;span class="tag" style="border-color: #B9C4E0;"&gt;Tugas Kelompok&lt;/span&gt; Penerapan JP 1–4&lt;/div&gt;
      &lt;h2&gt;Investigasi Profesi &amp;amp; Budaya Kerja Digital&lt;/h2&gt;
      &lt;p&gt;Bekerja dalam kelompok untuk menghubungkan keempat materi hari ini: memilih satu profesi TI, lalu menelusuri ruang lingkup keilmuannya, budaya kerjanya, serta isu etika yang mungkin dihadapinya.&lt;/p&gt;

      &lt;div class="steps"&gt;
        &lt;div class="step"&gt;&lt;div&gt;&lt;strong&gt;Bentuk kelompok&lt;/strong&gt;4–5 murid per kelompok, tentukan pembagian peran (peneliti, penulis, desainer, juru bicara).&lt;/div&gt;&lt;/div&gt;
        &lt;div class="step"&gt;&lt;div&gt;&lt;strong&gt;Pilih satu profesi TI&lt;/strong&gt;Contoh: Web Developer, Data Analyst, Cyber Security Specialist, UI/UX Designer, Network Engineer, dsb — satu profesi per kelompok, tidak boleh sama dengan kelompok lain.&lt;/div&gt;&lt;/div&gt;
        &lt;div class="step"&gt;&lt;div&gt;&lt;strong&gt;Lakukan riset singkat&lt;/strong&gt;Cari informasi tentang deskripsi pekerjaan, bidang Informatika yang mendasarinya, kompetensi yang dibutuhkan, dan jenjang kariernya.&lt;/div&gt;&lt;/div&gt;
        &lt;div class="step"&gt;&lt;div&gt;&lt;strong&gt;Kaitkan dengan budaya kerja&lt;/strong&gt;Jelaskan bagaimana profesi tersebut menerapkan budaya kerja digital (kolaborasi, fleksibilitas, dsb.) dalam praktiknya.&lt;/div&gt;&lt;/div&gt;
        &lt;div class="step"&gt;&lt;div&gt;&lt;strong&gt;Identifikasi isu etika&lt;/strong&gt;Sebutkan satu isu etika, HAKI, atau keamanan digital yang relevan dengan profesi tersebut, dan bagaimana idealnya disikapi.&lt;/div&gt;&lt;/div&gt;
        &lt;div class="step"&gt;&lt;div&gt;&lt;strong&gt;Susun &amp;amp; presentasikan&lt;/strong&gt;Tuangkan hasil riset ke dalam poster atau slide presentasi sederhana, lalu presentasikan di depan kelas (5–7 menit per kelompok).&lt;/div&gt;&lt;/div&gt;
      &lt;/div&gt;

      &lt;div class="deliverable-row"&gt;
        &lt;span&gt;Produk: Poster / Infografis / Slide&lt;/span&gt;
        &lt;span&gt;Waktu pengerjaan: ± 60 menit&lt;/span&gt;
        &lt;span&gt;Presentasi: 5–7 menit/kelompok&lt;/span&gt;
      &lt;/div&gt;

      &lt;table class="rubric"&gt;
        &lt;tr&gt;&lt;th&gt;Aspek Penilaian&lt;/th&gt;&lt;th&gt;Indikator&lt;/th&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Pemahaman konsep&lt;/td&gt;&lt;td&gt;Kaitan antara profesi, bidang Informatika, dan budaya kerja dijelaskan dengan tepat.&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Kelengkapan isi&lt;/td&gt;&lt;td&gt;Deskripsi kerja, kompetensi, jenjang karier, dan isu etika tercakup lengkap.&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Kerja sama tim&lt;/td&gt;&lt;td&gt;Pembagian peran jelas dan seluruh anggota berkontribusi.&lt;/td&gt;&lt;/tr&gt;
        &lt;tr&gt;&lt;td&gt;Presentasi&lt;/td&gt;&lt;td&gt;Penyampaian jelas, percaya diri, dan mampu menjawab pertanyaan.&lt;/td&gt;&lt;/tr&gt;
      &lt;/table&gt;
    &lt;/section&gt;

    &lt;!-- ============ TUGAS MANDIRI / KESIMPULAN ============ --&gt;
    &lt;section class="task task-solo" id="tugas-mandiri"&gt;
      &lt;div class="eyebrow"&gt;Tugas Mandiri · Penutup&lt;/div&gt;
      &lt;h2&gt;Tulis Kesimpulan Ringkas di Buku Catatan&lt;/h2&gt;
      &lt;p&gt;Sebagai penutup pembelajaran, setiap murid menuliskan satu kesimpulan ringkas secara mandiri di buku catatan sebagai rangkuman pemahaman pribadi terhadap materi hari ini.&lt;/p&gt;
      &lt;div class="steps"&gt;
        &lt;div class="step"&gt;&lt;div&gt;&lt;strong&gt;Tulis dengan bahasa sendiri&lt;/strong&gt;Bukan menyalin ulang dari modul, tetapi merangkum apa yang benar-benar dipahami.&lt;/div&gt;&lt;/div&gt;
        &lt;div class="step"&gt;&lt;div&gt;&lt;strong&gt;Cakup keempat topik&lt;/strong&gt;Singgung ruang lingkup Informatika, budaya kerja digital, etika/HAKI/keamanan, dan profesi TI dalam satu rangkaian kesimpulan.&lt;/div&gt;&lt;/div&gt;
        &lt;div class="step"&gt;&lt;div&gt;&lt;strong&gt;Minimal 150 kata&lt;/strong&gt;Ditulis dalam 1 paragraf utuh di buku catatan, rapi dan mudah dibaca.&lt;/div&gt;&lt;/div&gt;
        &lt;div class="step"&gt;&lt;div&gt;&lt;strong&gt;Kumpulkan&lt;/strong&gt;Difoto dan dikirim ke guru, atau diperlihatkan langsung pada pertemuan berikutnya.&lt;/div&gt;&lt;/div&gt;
      &lt;/div&gt;
    &lt;/section&gt;

    &lt;!-- ============ REFLEKSI ============ --&gt;
    &lt;section class="card" id="refleksi"&gt;
      &lt;div class="eyebrow"&gt;Refleksi Cepat&lt;/div&gt;
      &lt;h3 style="margin-top: 0;"&gt;Sebelum menutup pertemuan, tanyakan pada diri sendiri:&lt;/h3&gt;
      &lt;ul &gt;
        &lt;li&gt;Bidang Informatika mana yang paling menarik perhatianku, dan mengapa?&lt;/li&gt;
        &lt;li&gt;Kebiasaan kerja digital apa yang sudah kulakukan, dan apa yang perlu kulatih?&lt;/li&gt;
        &lt;li&gt;Satu praktik keamanan digital apa yang akan mulai kuterapkan mulai hari ini?&lt;/li&gt;
        &lt;li&gt;Profesi TI mana yang ingin kuketahui lebih dalam?&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/section&gt;

  &lt;/main&gt;

  &lt;footer&gt;Modul Informatika Kelas X SMK · Pertemuan 4 JP · Elemen Dampak Sosial Informatika&lt;/footer&gt;
&lt;/div&gt;
&lt;/body&gt;
&lt;/html&gt;</description><link>http://kitab-investasi.blogspot.com/2026/07/pengantar-informatika-budaya-kerja.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-8908856282371387948</guid><pubDate>Fri, 17 Jul 2026 03:50:29 +0000</pubDate><atom:updated>2026-07-17T10:50:29.936+07:00</atom:updated><title>MATERI DAN TUJUAN PEMBELAJARAN Informatika Kelas X SMK Semester 1 2026-2027</title><description>&lt;h2 style="text-align: justify;"&gt;&amp;nbsp;Informatika Kelas X SMK Semester 1&lt;/h2&gt;
&lt;p data-end="374" data-start="351" style="text-align: justify;"&gt;&lt;strong data-end="374" data-start="351"&gt;18 Pertemuan × 4 JP&lt;/strong&gt;&lt;/p&gt;
&lt;div class="TyagGW_tableContainer"&gt;&lt;div class="group TyagGW_tableWrapper flex flex-col-reverse w-fit" tabindex="-1"&gt;&lt;table class="w-fit min-w-(--thread-content-width)" data-end="4713" data-start="376" style="text-align: justify;"&gt;&lt;thead data-end="426" data-start="376"&gt;&lt;tr data-end="426" data-start="376"&gt;&lt;th class="last:pe-10" data-col-size="sm" data-end="388" data-start="376"&gt;Pertemuan&lt;/th&gt;&lt;th class="last:pe-10" data-col-size="md" data-end="403" data-start="388"&gt;Judul Materi&lt;/th&gt;&lt;th class="last:pe-10" data-col-size="xl" data-end="426" data-start="403"&gt;Tujuan Pembelajaran&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody data-end="4713" data-start="478"&gt;&lt;tr data-end="792" data-start="478"&gt;&lt;td data-col-size="sm" data-end="486" data-start="478"&gt;&lt;strong data-end="485" data-start="480"&gt;1&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="576" data-start="486"&gt;&lt;strong data-end="575" data-start="488"&gt;Pengantar Informatika, Budaya Kerja Digital, Etika, dan Profesi Teknologi Informasi&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="792" data-start="576"&gt;Peserta didik mampu menjelaskan ruang lingkup Informatika, perkembangan teknologi digital, profesi di bidang TIK, serta menerapkan etika digital, hak kekayaan intelektual, dan keamanan dalam penggunaan teknologi.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="1046" data-start="793"&gt;&lt;td data-col-size="sm" data-end="801" data-start="793"&gt;&lt;strong data-end="800" data-start="795"&gt;2&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="850" data-start="801"&gt;&lt;strong data-end="849" data-start="803"&gt;Sistem Komputer dan Arsitektur Von Neumann&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="1046" data-start="850"&gt;Peserta didik mampu menjelaskan komponen sistem komputer, model input-proses-output, fungsi perangkat keras, perangkat lunak, brainware, serta hubungan antar komponennya dalam sistem komputer.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="1273" data-start="1047"&gt;&lt;td data-col-size="sm" data-end="1055" data-start="1047"&gt;&lt;strong data-end="1054" data-start="1049"&gt;3&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="1115" data-start="1055"&gt;&lt;strong data-end="1114" data-start="1057"&gt;Sistem Operasi, Manajemen File, dan Penyimpanan Cloud&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="1273" data-start="1115"&gt;Peserta didik mampu mengelola sistem operasi, file, folder, media penyimpanan, serta memanfaatkan layanan cloud storage untuk mendukung pekerjaan digital.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="1531" data-start="1274"&gt;&lt;td data-col-size="sm" data-end="1282" data-start="1274"&gt;&lt;strong data-end="1281" data-start="1276"&gt;4&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="1338" data-start="1282"&gt;&lt;strong data-end="1337" data-start="1284"&gt;Jaringan Komputer, Internet, dan Keamanan Digital&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="1531" data-start="1338"&gt;Peserta didik mampu menjelaskan konsep jaringan komputer, konektivitas internet, perangkat jaringan, komunikasi data, serta menerapkan keamanan dasar dan enkripsi dalam penggunaan jaringan.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="1758" data-start="1532"&gt;&lt;td data-col-size="sm" data-end="1540" data-start="1532"&gt;&lt;strong data-end="1539" data-start="1534"&gt;5&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="1596" data-start="1540"&gt;&lt;strong data-end="1595" data-start="1542"&gt;Pencarian Informasi Digital dan Kolaborasi Daring&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="1758" data-start="1596"&gt;Peserta didik mampu memanfaatkan mesin pencari, peramban, layanan komunikasi digital, dan media kolaborasi daring secara efektif, aman, dan bertanggung jawab.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="1989" data-start="1759"&gt;&lt;td data-col-size="sm" data-end="1767" data-start="1759"&gt;&lt;strong data-end="1766" data-start="1761"&gt;6&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="1838" data-start="1767"&gt;&lt;strong data-end="1837" data-start="1769"&gt;Pengenalan Aplikasi Pengolah Kata untuk Administrasi Perkantoran&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="1989" data-start="1838"&gt;Peserta didik mampu membuat, mengedit, memformat, dan menyimpan dokumen administrasi menggunakan aplikasi pengolah kata sesuai standar perkantoran.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="2234" data-start="1990"&gt;&lt;td data-col-size="sm" data-end="1998" data-start="1990"&gt;&lt;strong data-end="1997" data-start="1992"&gt;7&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="2057" data-start="1998"&gt;&lt;strong data-end="2056" data-start="2000"&gt;Fitur Lanjut Pengolah Kata untuk Dokumen Profesional&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="2234" data-start="2057"&gt;Peserta didik mampu menggunakan style, heading, daftar isi otomatis, tabel, gambar, mail merge, referensi, dan fitur otomatis lainnya untuk menghasilkan dokumen profesional.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="2450" data-start="2235"&gt;&lt;td data-col-size="sm" data-end="2243" data-start="2235"&gt;&lt;strong data-end="2242" data-start="2237"&gt;8&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="2293" data-start="2243"&gt;&lt;strong data-end="2292" data-start="2245"&gt;Integrasi Dokumen dan Otomasi Pengolah Kata&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="2450" data-start="2293"&gt;Peserta didik mampu mengintegrasikan berbagai objek, menggunakan template, formulir, serta fitur otomatis untuk meningkatkan efisiensi pembuatan dokumen.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="2630" data-start="2451"&gt;&lt;td data-col-size="sm" data-end="2459" data-start="2451"&gt;&lt;strong data-end="2458" data-start="2453"&gt;9&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="2504" data-start="2459"&gt;&lt;strong data-end="2503" data-start="2461"&gt;Ulangan Bab I – Aplikasi Pengolah Kata&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="2630" data-start="2504"&gt;Peserta didik mampu menunjukkan penguasaan kompetensi penggunaan aplikasi pengolah kata melalui asesmen teori dan praktik.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="2847" data-start="2631"&gt;&lt;td data-col-size="sm" data-end="2640" data-start="2631"&gt;&lt;strong data-end="2639" data-start="2633"&gt;10&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="2695" data-start="2640"&gt;&lt;strong data-end="2694" data-start="2642"&gt;Pengenalan Aplikasi Pengolah Angka (Spreadsheet)&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="2847" data-start="2695"&gt;Peserta didik mampu mengolah data menggunakan format sel, rumus dasar, fungsi matematika, logika, dan statistik sederhana pada aplikasi spreadsheet.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="3066" data-start="2848"&gt;&lt;td data-col-size="sm" data-end="2857" data-start="2848"&gt;&lt;strong data-end="2856" data-start="2850"&gt;11&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="2906" data-start="2857"&gt;&lt;strong data-end="2905" data-start="2859"&gt;Analisis Data dan Fitur Lanjut Spreadsheet&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="3066" data-start="2906"&gt;Peserta didik mampu menerapkan fungsi lanjutan, lookup, sort, filter, conditional formatting, grafik, dan PivotTable untuk menganalisis data secara efektif.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="3277" data-start="3067"&gt;&lt;td data-col-size="sm" data-end="3076" data-start="3067"&gt;&lt;strong data-end="3075" data-start="3069"&gt;12&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="3123" data-start="3076"&gt;&lt;strong data-end="3122" data-start="3078"&gt;Ulangan Bab II – Aplikasi Pengolah Angka&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="3277" data-start="3123"&gt;Peserta didik mampu menunjukkan penguasaan kompetensi pengolahan dan analisis data menggunakan aplikasi spreadsheet melalui asesmen teori dan praktik.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="3491" data-start="3278"&gt;&lt;td data-col-size="sm" data-end="3287" data-start="3278"&gt;&lt;strong data-end="3286" data-start="3280"&gt;13&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="3334" data-start="3287"&gt;&lt;strong data-end="3333" data-start="3289"&gt;Aplikasi Pengolah Presentasi Profesional&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="3491" data-start="3334"&gt;Peserta didik mampu merancang presentasi yang komunikatif menggunakan tema, slide master, multimedia, animasi, transisi, hyperlink, dan fitur kolaborasi.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="3735" data-start="3492"&gt;&lt;td data-col-size="sm" data-end="3501" data-start="3492"&gt;&lt;strong data-end="3500" data-start="3494"&gt;14&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="3564" data-start="3501"&gt;&lt;strong data-end="3563" data-start="3503"&gt;Integrasi Aplikasi Perkantoran dan Produktivitas Digital&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="3735" data-start="3564"&gt;Peserta didik mampu mengintegrasikan dokumen pengolah kata, spreadsheet, dan presentasi serta memanfaatkan layanan cloud untuk menghasilkan dokumen kerja yang terpadu.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="3995" data-start="3736"&gt;&lt;td data-col-size="sm" data-end="3745" data-start="3736"&gt;&lt;strong data-end="3744" data-start="3738"&gt;15&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="3801" data-start="3745"&gt;&lt;strong data-end="3800" data-start="3747"&gt;Berpikir Komputasional dalam Penyelesaian Masalah&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="3995" data-start="3801"&gt;Peserta didik mampu menerapkan dekomposisi, pengenalan pola, abstraksi, dan algoritma untuk menyelesaikan permasalahan yang melibatkan data dalam konteks pekerjaan dan kehidupan sehari-hari.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="4204" data-start="3996"&gt;&lt;td data-col-size="sm" data-end="4005" data-start="3996"&gt;&lt;strong data-end="4004" data-start="3998"&gt;16&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="4064" data-start="4005"&gt;&lt;strong data-end="4063" data-start="4007"&gt;Algoritma Searching dan Sorting pada Pengolahan Data&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="4204" data-start="4064"&gt;Peserta didik mampu menerapkan algoritma pencarian dan pengurutan data sebagai dasar pengolahan informasi secara sistematis dan efisien.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="4477" data-start="4205"&gt;&lt;td data-col-size="sm" data-end="4214" data-start="4205"&gt;&lt;strong data-end="4213" data-start="4207"&gt;17&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="4261" data-start="4214"&gt;&lt;strong data-end="4260" data-start="4216"&gt;Proyek Terintegrasi Aplikasi Perkantoran&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="4477" data-start="4261"&gt;Peserta didik mampu menghasilkan proyek administrasi digital berupa laporan, analisis data, dan presentasi dengan mengintegrasikan aplikasi pengolah kata, spreadsheet, dan presentasi sesuai kebutuhan dunia kerja.&lt;/td&gt;&lt;/tr&gt;&lt;tr data-end="4713" data-start="4478"&gt;&lt;td data-col-size="sm" data-end="4487" data-start="4478"&gt;&lt;strong data-end="4486" data-start="4480"&gt;18&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="md" data-end="4546" data-start="4487"&gt;&lt;strong data-end="4545" data-start="4489"&gt;Asesmen Sumatif Akhir Semester dan Presentasi Proyek&lt;/strong&gt;&lt;/td&gt;&lt;td data-col-size="xl" data-end="4713" data-start="4546"&gt;Peserta didik mampu mempresentasikan hasil proyek, menyusun portofolio digital, serta menunjukkan penguasaan kompetensi semester melalui asesmen praktik dan teori.&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;
&lt;h3 data-end="4732" data-section-id="1dfkpdp" data-start="4715" style="text-align: justify;"&gt;Pembagian Bab&lt;/h3&gt;
&lt;ul data-end="5180" data-start="4734"&gt;
&lt;li data-end="4838" data-section-id="h0ktz3" data-start="4734" style="text-align: justify;"&gt;
&lt;strong data-end="4746" data-start="4736"&gt;Bab I:&lt;/strong&gt; Konsep Dasar Informatika, Sistem Komputer, Jaringan, dan Kolaborasi Digital (Pertemuan 1–5)
&lt;/li&gt;
&lt;li data-end="4891" data-section-id="198n676" data-start="4839" style="text-align: justify;"&gt;
&lt;strong data-end="4852" data-start="4841"&gt;Bab II:&lt;/strong&gt; Aplikasi Pengolah Kata (Pertemuan 6–9)
&lt;/li&gt;
&lt;li data-end="4960" data-section-id="1344r2i" data-start="4892" style="text-align: justify;"&gt;
&lt;strong data-end="4906" data-start="4894"&gt;Bab III:&lt;/strong&gt; Aplikasi Pengolah Angka/Spreadsheet (Pertemuan 10–12)
&lt;/li&gt;
&lt;li data-end="5047" data-section-id="1hhpm7y" data-start="4961" style="text-align: justify;"&gt;
&lt;strong data-end="4974" data-start="4963"&gt;Bab IV:&lt;/strong&gt; Aplikasi Presentasi dan Integrasi Aplikasi Perkantoran (Pertemuan 13–14)
&lt;/li&gt;
&lt;li data-end="5101" data-section-id="1rl7t2e" data-start="5048" style="text-align: justify;"&gt;
&lt;strong data-end="5060" data-start="5050"&gt;Bab V:&lt;/strong&gt; Berpikir Komputasional (Pertemuan 15–16)
&lt;/li&gt;
&lt;li data-end="5180" data-section-id="10ph39r" data-start="5102" style="text-align: justify;"&gt;
&lt;strong data-end="5115" data-start="5104"&gt;Bab VI:&lt;/strong&gt; Proyek Terintegrasi dan Asesmen Akhir Semester (Pertemuan 17–18)
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-end="5589" data-is-last-node="" data-is-only-node="" data-start="5182" style="text-align: justify;"&gt;Struktur ini lebih sesuai untuk pembelajaran SMK karena sekitar &lt;strong data-end="5398" data-start="5246"&gt;65–70% waktu pembelajaran difokuskan pada kompetensi aplikasi perkantoran (Word, Spreadsheet, Presentasi, integrasi dokumen, dan kolaborasi digital)&lt;/strong&gt;, sementara konsep dasar Informatika, sistem komputer, jaringan, dan berpikir komputasional tetap diberikan sebagai fondasi yang mendukung keterampilan kerja di lingkungan perkantoran modern.&lt;/p&gt;</description><link>http://kitab-investasi.blogspot.com/2026/07/materi-dan-tujuan-pembelajaran.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-8510606503991406358</guid><pubDate>Thu, 16 Jul 2026 02:22:09 +0000</pubDate><atom:updated>2026-07-16T09:22:09.716+07:00</atom:updated><title> MATERI PEMBELAJARAN BAHASA INDONESIA KELAS XI SMK SEMESTER 1</title><description>&lt;h3 style="text-align: left;"&gt;MATERI PEMBELAJARAN BAHASA INDONESIA KELAS XI SMK SEMESTER 1&lt;/h3&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;Fase F — Kurikulum Merdeka&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;Alokasi: 18 Pertemuan × 3 JP&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;

&lt;div align="center" class="MsoNormal" style="text-align: center;"&gt;

&lt;hr align="center" size="1" width="100%" /&gt;

&lt;/div&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;A. DISTRIBUSI PERTEMUAN (TANPA KOLOM BAB)&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;

&lt;table border="0" cellpadding="0" cellspacing="0" class="MsoNormalTable" style="border-collapse: collapse; mso-yfti-tbllook: 1184; width: 652px;"&gt;
 &lt;thead&gt;
  &lt;tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;"&gt;
   &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
   &lt;p class="MsoNormal"&gt;Pertemuan&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
   &lt;p class="MsoNormal"&gt;Topik/Materi Pembelajaran&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
   &lt;/td&gt;
   &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
   &lt;p class="MsoNormal"&gt;Tujuan Pembelajaran&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
   &lt;/td&gt;
  &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;&lt;tr style="mso-yfti-irow: 1;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;1&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;Evaluasi Informasi dalam Teks Prosedur&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Peserta didik mampu mengevaluasi informasi yang disajikan
  dalam teks prosedur secara kritis dan logis.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 2;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;2&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;Membandingkan Teks Prosedur dengan Teks Lain&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Peserta didik mampu membandingkan teks prosedur dengan
  teks lainnya yang mendukung serta menemukan persamaan dan perbedaannya.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 3;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;3&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;Kaidah Kebahasaan Teks Prosedur (Bagian 1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Peserta didik mampu mengidentifikasi ciri-ciri kebahasaan
  teks prosedur, seperti kalimat imperatif, deklaratif, persuasif, dan
  konjungsi temporal.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 4;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;4&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;Kaidah Kebahasaan Teks Prosedur (Bagian 2) &amp;amp; Menyusun
  Teks Prosedur&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Peserta didik mampu menganalisis penggunaan kalimat
  perintah, kata teknis, dan penanda wacana, serta menyusun teks prosedur
  secara logis dan sistematis.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 5;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;5&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;Menyajikan Teks Prosedur &amp;amp; Rangkuman Materi Petunjuk
  Kerja&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Peserta didik mampu menyajikan teks prosedur yang telah
  dibuat secara lisan/tulisan dan mereview seluruh materi pokok bahasan
  petunjuk kerja.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 6;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;6&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;Latihan Soal &amp;amp; Soal Tipe AKM (Pokok Bahasan Petunjuk
  Kerja)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Peserta didik mampu mengerjakan soal-soal latihan dan soal
  tipe AKM dengan tepat serta mengidentifikasi kelemahan pemahaman.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 7;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;7&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;Ulangan Harian 1 (Petunjuk Kerja)&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Mengevaluasi pencapaian kompetensi peserta didik pada
  pokok bahasan petunjuk kerja.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 8;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;8&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;Evaluasi Informasi dalam Teks Ceramah&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Peserta didik mampu mengevaluasi informasi dalam teks
  ceramah serta mengidentifikasi gagasan pokok dan pendukung.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 9;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;9&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;Membandingkan Isi Teks Ceramah dengan Teks Lain&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Peserta didik mampu membandingkan isi teks ceramah dengan
  teks lainnya serta menemukan kelebihan dan kekurangan masing-masing.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 10;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;10&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;Kaidah Kebahasaan Teks Ceramah (Bagian 1)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Peserta didik mampu mengidentifikasi ciri kebahasaan teks
  ceramah, seperti kata ganti orang, kata teknis, dan kata persuasif.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 11;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;11&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;Kaidah Kebahasaan Teks Ceramah (Bagian 2) &amp;amp; Menulis
  Teks Ceramah&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Peserta didik mampu menganalisis kaidah kebahasaan secara
  mendalam dan menulis teks ceramah secara kreatif.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 12;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;12&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;Menyajikan Teks Ceramah secara Lisan &amp;amp; Rangkuman&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Peserta didik mampu menyajikan teks ceramah secara lisan
  dengan teknik berbicara, intonasi, dan sikap santun, serta mereview seluruh
  materi ceramah.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 13;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;13&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;Latihan Soal &amp;amp; Soal Tipe AKM (Pokok Bahasan Ceramah)&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Peserta didik mampu mengerjakan soal-soal latihan dan soal
  tipe AKM dengan tepat serta mengidentifikasi kelemahan pemahaman.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 14;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;14&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;Ulangan Harian 2 (Santun Berbicara di Depan Khalayak)&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Mengevaluasi pencapaian kompetensi peserta didik pada
  pokok bahasan ceramah.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 15;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;15&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;Memahami Isi &amp;amp; Mengevaluasi Struktur Teks Resensi&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Peserta didik mampu memahami isi teks resensi serta
  mengevaluasi struktur teks resensi dan membandingkannya dengan teks lain.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 16;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;16&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;Menganalisis Kaidah Kebahasaan Teks Resensi &amp;amp; Menulis
  Teks Resensi&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Peserta didik mampu menganalisis kaidah kebahasaan teks
  resensi serta menulis teks resensi buku fiksi secara logis dan sistematis.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 17;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;17&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;Mempresentasikan Teks Resensi &amp;amp; Rangkuman Materi
  Resensi&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Peserta didik mampu mempresentasikan teks resensi secara
  logis dan kreatif serta mereview seluruh materi resensi.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr style="mso-yfti-irow: 18; mso-yfti-lastrow: yes;"&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 0cm; width: 65.95pt;" width="88"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;18&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 12.0pt 7.5pt 12.0pt; width: 160.85pt;" width="214"&gt;
  &lt;p class="MsoNormal"&gt;&lt;b&gt;Ulangan Harian 3 (Objektif Menilai Buku)&lt;/b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
  &lt;td style="padding: 7.5pt 0cm 7.5pt 12.0pt; width: 262.25pt;" width="350"&gt;
  &lt;p class="MsoNormal"&gt;Mengevaluasi pencapaian kompetensi peserta didik pada
  pokok bahasan resensi.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;</description><link>http://kitab-investasi.blogspot.com/2026/07/materi-pembelajaran-bahasa-indonesia.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-9014831872284392146</guid><pubDate>Wed, 15 Jul 2026 08:34:21 +0000</pubDate><atom:updated>2026-07-22T09:22:51.015+07:00</atom:updated><title>SMART ASSESEMENT AWAL INFORMATIKA ARROW</title><description>&lt;!DOCTYPE html&gt;
&lt;html lang="id"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"&gt;
    &lt;title&gt;ARROW SMART • Asesmen Awal Informatika&lt;/title&gt;
    &lt;style&gt;
        /* RESET &amp; BASE */
        * { margin: 0; padding: 0; box-sizing: border-box; user-select: none; }
        html, body {
            width: 100%;
            min-height: 100vh;
            background: #080c18;
            font-family: 'Segoe UI', 'Arial', 'Helvetica', sans-serif;
            overflow: hidden;
            position: relative;
        }
        /* GAME WRAPPER - FULLSCREEN &amp; TANPA GULIR */
        #game-wrapper {
            position: fixed;
            top: 0;
            left: 0;
            width: 100vw;
            height: 100vh;
            max-width: 100%;
            max-height: 100%;
            background: radial-gradient(circle at 20% 30%, #0e1a2b, #050a14);
            box-shadow: 0 0 50px #00d4ff40, 0 0 120px #0055ff20;
            border: 1px solid #00d4ff60;
            display: flex;
            flex-direction: column;
            padding: 16px;
            overflow: hidden;
            z-index: 9999;
        }
        /* HEADER */
        #header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 6px 12px;
            color: #a8e6ff;
            font-weight: bold;
            background: rgba(0, 20, 40, 0.6);
            backdrop-filter: blur(4px);
            border-radius: 60px;
            border: 1px solid #00d4ff80;
            margin-bottom: 10px;
            flex-shrink: 0;
        }
        #header span { background: #0a1a2e; padding: 4px 16px; border-radius: 40px; border: 1px solid #00d4ff; font-size: 0.9rem; letter-spacing: 1px; }
        #level-indicator { background: #0a1a2e; color: #7ad0ff; border-color: #00aaff; }
        #score-indicator { color: #facc15; border-color: #facc15; }
        #player-name-display { color: #7ad0ff; border-color: #00aaff; }
        #timer-display { background: #1a0a0a; color: #ff6b6b; border-color: #ff4444; min-width: 80px; text-align: center; }
        /* CANVAS AREA */
        #game-canvas-container {
            flex: 1;
            position: relative;
            border-radius: 24px;
            overflow: hidden;
            min-height: 200px;
            border: 1px solid #00d4ff40;
            box-shadow: inset 0 0 60px #0044aa30;
            cursor: crosshair;
        }
        canvas { display: block; width: 100%; height: 100%; background: transparent; cursor: crosshair; }
        /* QUESTION PANEL */
        #question-panel {
            background: rgba(0, 16, 32, 0.85);
            backdrop-filter: blur(8px);
            border: 1px solid #00d4ff;
            border-radius: 40px;
            padding: 14px 20px;
            margin-top: 10px;
            color: #e6f7ff;
            font-weight: 600;
            font-size: clamp(0.95rem, 2.6vw, 1.25rem);
            text-align: left;
            box-shadow: 0 0 40px #0066ff44;
            flex-shrink: 0;
            min-height: 76px;
            display: flex;
            align-items: center;
            line-height: 1.5;
        }
        #question-panel .q-number { color: #00d4ff; font-weight: 800; margin-right: 12px; white-space: nowrap; text-shadow: 0 0 12px #00aaff; }
        #question-panel .q-text { color: #ffffff; font-weight: 700; text-shadow: 0 0 8px rgba(0, 180, 255, 0.3); }
        /* ENTRY SCREEN */
        #entry-screen {
            position: absolute; inset: 0; z-index: 20;
            background: rgba(0, 6, 16, 0.92); backdrop-filter: blur(12px);
            display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 30px;
            border-radius: 32px; padding: 20px;
        }
        #entry-screen h1 { font-size: 2.6rem; color: #7ad0ff; text-shadow: 0 0 40px #00aaff, 0 0 100px #0055ff; letter-spacing: 4px; font-weight: 800; }
        #entry-screen h2 { color: #7ad0ff; font-size: 1.4rem; margin-top: -20px; text-shadow: 0 0 20px #00aaff; font-weight: 400; letter-spacing: 2px; }
        #entry-screen input { background: #0a1a2e; border: 2px solid #00d4ff; border-radius: 60px; padding: 16px 24px; width: 80%; max-width: 340px; font-size: 1.3rem; color: #d6f0ff; text-align: center; outline: none; box-shadow: 0 0 40px #0066ff55; }
        #entry-screen input::placeholder { color: #4a7a9a; }
        .cyber-btn {
            background: linear-gradient(145deg, #0a2a4a, #06152a); border: 1px solid #00d4ff; color: #d6f0ff;
            padding: 16px 48px; border-radius: 60px; font-size: 1.6rem; font-weight: bold; letter-spacing: 3px;
            box-shadow: 0 0 40px #00aaffaa, inset 0 0 20px #00aaff44; transition: 0.2s; cursor: pointer; backdrop-filter: blur(4px);
        }
        .cyber-btn:active { transform: scale(0.93); box-shadow: 0 0 80px #00d4ff; }
        /* CONGRATS OVERLAY */
        #congrats-overlay {
            position: absolute; inset: 0; z-index: 30;
            background: rgba(0, 4, 16, 0.85); backdrop-filter: blur(8px); border-radius: 32px;
            display: none; flex-direction: column; justify-content: center; align-items: center; padding: 20px; text-align: center; color: #fff;
        }
        #congrats-overlay.show { display: flex; }
        .congrats-box {
            background: rgba(0, 16, 32, 0.8); border: 2px solid #00d4ff; border-radius: 60px; padding: 30px 20px;
            max-width: 480px; width: 100%; box-shadow: 0 0 80px #0066ff88, inset 0 0 30px #00aaff44; backdrop-filter: blur(8px); position: relative; z-index: 5;
        }
        .congrats-box .user-name { font-size: 1.4rem; color: #7ad0ff; margin-bottom: 8px; text-shadow: 0 0 20px #00aaff; }
        .congrats-box .user-name i { font-style: normal; background: rgba(0,180,255,0.15); padding: 2px 14px; border-radius: 30px; border: 1px solid #00aaff44; }
        .congrats-box h2 { font-size: 2.4rem; margin-bottom: 6px; color: #facc15; text-shadow: 0 0 30px #facc15aa; }
        .congrats-box .rank { font-size: 2rem; font-weight: 800; background: linear-gradient(45deg, #7ad0ff, #00aaff, #a855f7); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin: 10px 0; }
        .congrats-box .final-score { font-size: 1.8rem; color: #7ad0ff; text-shadow: 0 0 20px #00aaff66; }
        .congrats-box .final-score span { color: #facc15; font-weight: 800; text-shadow: 0 0 20px #facc1566; }
        .congrats-box .message { font-size: 1.2rem; color: #c8e6ff; margin: 16px 0; background: rgba(0,180,255,0.1); padding: 10px 16px; border-radius: 30px; border: 1px solid #00aaff44; }
        .congrats-box .stats-grid { display: flex; justify-content: center; gap: 20px; margin: 12px 0; font-size: 0.9rem; color: #7ad0ff; }
        .congrats-box .stats-grid span { background: rgba(0,20,50,0.5); padding: 4px 14px; border-radius: 20px; border: 1px solid #00aaff33; }
        .congrats-box .footer-note { margin-top: 16px; font-size: 0.85rem; color: #5a8aaa; letter-spacing: 1px; border-top: 1px solid #00aaff33; padding-top: 14px; font-style: italic; }
        .small-btn { background: #0a2a4a; border: 1px solid #00d4ff; color: #d6f0ff; padding: 12px 30px; border-radius: 60px; font-size: 1.2rem; margin-top: 12px; cursor: pointer; transition: 0.2s; box-shadow: 0 0 20px #00aaff33; }
        .small-btn:active { transform: scale(0.92); }
        #speech-btn { background: rgba(0,180,255,0.15); border: 1px solid #00d4ff; color: #7ad0ff; padding: 8px 20px; border-radius: 40px; font-size: 0.9rem; cursor: pointer; margin-top: 6px; transition: 0.2s; box-shadow: 0 0 15px #00aaff22; }
        #speech-btn:hover { background: rgba(0,180,255,0.3); }
        /* LEADERBOARD */
        #leaderboard {
            position: absolute; bottom: 10px; right: 16px;
            background: #0a1218cc; backdrop-filter: blur(8px); padding: 10px 18px; border-radius: 40px;
            border: 1px solid #00d4ff; color: #7ad0ff; font-size: 0.8rem; max-width: 200px; max-height: 120px; overflow-y: auto; z-index: 10;
        }
        #leaderboard div { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px solid #00d4ff40; padding: 2px 0; }
        .lb-score { color: #facc15; }
        /* RESPONSIVE */
        @media (max-width: 500px) {
            #header span { font-size: 0.7rem; padding: 2px 10px; }
            #entry-screen h1 { font-size: 2rem; }
            #question-panel { font-size: clamp(0.8rem, 2.5vw, 1rem); padding: 10px 14px; min-height: 64px; }
            .congrats-box { padding: 20px 14px; }
            .congrats-box h2 { font-size: 1.8rem; }
            .congrats-box .rank { font-size: 1.5rem; }
            #leaderboard { max-width: 140px; font-size: 0.7rem; padding: 6px 12px; }
        }
        @media (max-width: 400px) {
            #header span { font-size: 0.6rem; padding: 2px 6px; }
            #timer-display { min-width: 60px; font-size: 0.7rem; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;!-- GAME WRAPPER - FIXED POSITION UNTUK MENGHINDARI BILAH SEARCH BLOGSPOT --&gt;
&lt;div id="game-wrapper"&gt;
    &lt;div id="header"&gt;
        &lt;span id="player-name-display"&gt;&#127919; User&lt;/span&gt;
        &lt;span id="level-indicator"&gt;⚡ Level 1&lt;/span&gt;
        &lt;span id="score-indicator"&gt;⭐ 0 / 100&lt;/span&gt;
        &lt;span id="timer-display"&gt;⏱️ 60:00&lt;/span&gt;
    &lt;/div&gt;
    &lt;div id="game-canvas-container"&gt;
        &lt;canvas id="gameCanvas" width="800" height="600"&gt;&lt;/canvas&gt;
        &lt;div id="entry-screen"&gt;
            &lt;h1&gt;&#127919; ARROW SMART&lt;/h1&gt;
            &lt;h2&gt;Asesmen Awal Informatika&lt;/h2&gt;
            &lt;input id="playerNameInput" type="text" placeholder="Nama User" maxlength="20"&gt;
            &lt;button class="cyber-btn" id="startGameBtn"&gt;▶ MULAI&lt;/button&gt;
            &lt;div style="color:#4a7a9a; font-size:0.8rem;"&gt;Panah ke perangkat IT! • Waktu 60 menit&lt;/div&gt;
        &lt;/div&gt;
        &lt;div id="congrats-overlay"&gt;
            &lt;div class="congrats-box"&gt;
                &lt;div class="user-name"&gt;&#127919; &lt;i id="userNameDisplay"&gt;User&lt;/i&gt;&lt;/div&gt;
                &lt;h2&gt;&#127937; ASESMEN SELESAI&lt;/h2&gt;
                &lt;div class="rank" id="rankDisplay"&gt;Master Informatika&lt;/div&gt;
                &lt;div class="final-score"&gt;Skor Akhir: &lt;span id="finalScoreDisplay"&gt;0&lt;/span&gt; / 100&lt;/div&gt;
                &lt;div class="stats-grid"&gt;
                    &lt;span id="levelCompleteDisplay"&gt;Level: 5/5&lt;/span&gt;
                    &lt;span id="accuracyDisplay"&gt;Akurasi: 0%&lt;/span&gt;
                &lt;/div&gt;
                &lt;div class="message" id="personalMessage"&gt;Hebat, User!&lt;/div&gt;
                &lt;button id="speech-btn"&gt;&#128266; Dengarkan Laporan&lt;/button&gt;
                &lt;button class="small-btn" id="restartFromCongratsBtn"&gt;&#128260; Misi Ulang&lt;/button&gt;
                &lt;div class="footer-note"&gt;✦ Selamat Belajar &amp; Bermain ✦&lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;
        &lt;div id="leaderboard"&gt;
            &lt;div style="color:#facc15; font-weight:bold;"&gt;&#127942; LEADERBOARD&lt;/div&gt;
            &lt;div id="lbEntries"&gt;&lt;div style="color:#4a7a9a;"&gt;Belum ada data&lt;/div&gt;&lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div id="question-panel"&gt;
        &lt;span class="q-number" id="qNumberDisplay"&gt;1.&lt;/span&gt;
        &lt;span class="q-text" id="qTextDisplay"&gt;Tekan mulai &amp; tembak perangkat IT&lt;/span&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;script&gt;
    (function(){
        // ========================================================
        // BANK PERTANYAAN INFORMATIKA KELAS X SMK SEMESTER 1 2026-2027
        // ========================================================
        const LEVELS = 5;
        const QUESTIONS_PER_LEVEL = 10;
        const MAX_SCORE = 100;
        const TOTAL_TIME = 60 * 60; // 60 menit

        const QUESTION_BANK = [
            // ===== LEVEL 1: Pertemuan 1-4 =====
            [
                { q: "Apa yang dimaksud dengan etika digital?", options: ["Aturan moral dalam berperilaku di dunia digital", "Cara menginstal software", "Teknik hacking", "Penggunaan media sosial", "Cara membuat website"], correct: 0 },
                { q: "Siapa yang mengemukakan arsitektur Von Neumann?", options: ["John von Neumann", "Alan Turing", "Bill Gates", "Steve Jobs", "Charles Babbage"], correct: 0 },
                { q: "Apa fungsi utama dari sistem operasi?", options: ["Mengelola perangkat keras dan perangkat lunak", "Mengedit dokumen", "Membuat presentasi", "Mengolah angka", "Mengirim email"], correct: 0 },
                { q: "Manakah yang termasuk perangkat lunak aplikasi?", options: ["Microsoft Word", "Windows", "Linux", "macOS", "Android"], correct: 0 },
                { q: "Apa kepanjangan dari LAN?", options: ["Local Area Network", "Large Area Network", "Logical Access Network", "Long Area Network", "Low Area Network"], correct: 0 },
                { q: "Contoh layanan cloud storage adalah...", options: ["Google Drive", "Microsoft Word", "Google Chrome", "Photoshop", "Notepad"], correct: 0 },
                { q: "Brainware dalam sistem komputer adalah...", options: ["Pengguna atau operator", "Perangkat keras", "Perangkat lunak", "Jaringan", "Data"], correct: 0 },
                { q: "Apa fungsi dari RAM?", options: ["Menyimpan data sementara", "Menyimpan data permanen", "Memproses data", "Menampilkan output", "Menyuplai daya"], correct: 0 },
                { q: "Perangkat yang menghubungkan LAN ke internet adalah...", options: ["Router", "Switch", "Hub", "Modem", "Access Point"], correct: 0 },
                { q: "Apa tujuan keamanan digital?", options: ["Melindungi data dan sistem", "Mempercepat internet", "Menginstall aplikasi", "Membuat website", "Mengirim email"], correct: 0 }
            ],
            // ===== LEVEL 2: Pertemuan 5-8 =====
            [
                { q: "Search engine paling populer adalah...", options: ["Google", "Bing", "Yahoo", "DuckDuckGo", "Yandex"], correct: 0 },
                { q: "Aplikasi pengolah kata perkantoran adalah...", options: ["Microsoft Word", "Microsoft Excel", "Google Sheets", "LibreOffice Calc", "Adobe Photoshop"], correct: 0 },
                { q: "Fungsi 'Style' pada pengolah kata untuk...", options: ["Memformat teks konsisten", "Menambah gambar", "Membuat tabel", "Menyisipkan grafik", "Mail merge"], correct: 0 },
                { q: "Apa itu mail merge?", options: ["Gabung dokumen dengan sumber data", "Gabung sel tabel", "Gabung file gambar", "Gabung spreadsheet", "Gabung presentasi"], correct: 0 },
                { q: "Daftar isi otomatis dibuat dengan...", options: ["Heading style", "Font size", "Page break", "Table of contents", "Index"], correct: 0 },
                { q: "Fungsi template dokumen?", options: ["Format standar dokumen", "Menyimpan file", "Mengedit gambar", "Membuat grafik", "Analisis data"], correct: 0 },
                { q: "Tools kolaborasi daring adalah...", options: ["Google Docs", "Word offline", "Notepad", "Photoshop", "Corel Draw"], correct: 0 },
                { q: "Etika pencarian informasi meliputi...", options: ["Menghargai hak cipta", "Copy paste tanpa izin", "Ubah data orang lain", "Sebar hoaks", "Abaikan sumber"], correct: 0 },
                { q: "Apa itu peramban (browser)?", options: ["Akses internet", "Pengolah kata", "Pengolah angka", "Sistem operasi", "Perangkat keras"], correct: 0 },
                { q: "Format file Word adalah...", options: [".docx", ".xlsx", ".pptx", ".pdf", ".txt"], correct: 0 }
            ],
            // ===== LEVEL 3: Pertemuan 9-12 =====
            [
                { q: "Aplikasi pengolah angka (spreadsheet) adalah...", options: ["Microsoft Excel", "Microsoft Word", "PowerPoint", "Access", "Outlook"], correct: 0 },
                { q: "Fungsi SUM pada spreadsheet untuk...", options: ["Menjumlahkan angka", "Mencari rata-rata", "Menghitung data", "Nilai maksimum", "Nilai minimum"], correct: 0 },
                { q: "Fungsi IF pada spreadsheet untuk...", options: ["Logika kondisi", "Menjumlahkan data", "Mencari rata-rata", "Menghitung jumlah", "Mencari maksimum"], correct: 0 },
                { q: "Apa fungsi VLOOKUP?", options: ["Mencari data vertikal", "Mencari data horizontal", "Menjumlahkan", "Rata-rata", "Grafik"], correct: 0 },
                { q: "Conditional Formatting untuk...", options: ["Format sel berdasarkan kondisi", "Membuat grafik", "Sortir data", "Filter data", "PivotTable"], correct: 0 },
                { q: "Apa itu PivotTable?", options: ["Analisis data interaktif", "Jenis grafik", "Fungsi matematika", "Sorting", "Filter"], correct: 0 },
                { q: "Ekstensi file Excel adalah...", options: [".xlsx", ".docx", ".pptx", ".pdf", ".txt"], correct: 0 },
                { q: "Fungsi AVERAGE untuk...", options: ["Rata-rata", "Menjumlahkan", "Maksimum", "Minimum", "Jumlah data"], correct: 0 },
                { q: "Sortir data bertujuan...", options: ["Mengurutkan data", "Memfilter data", "Membuat grafik", "Analisis data", "Menjumlahkan"], correct: 0 },
                { q: "Fungsi grafik pada spreadsheet?", options: ["Visualisasi data", "Jumlah data", "Urut data", "Filter data", "Rata-rata"], correct: 0 }
            ],
            // ===== LEVEL 4: Pertemuan 13-15 =====
            [
                { q: "Aplikasi presentasi profesional adalah...", options: ["Microsoft PowerPoint", "Microsoft Word", "Excel", "Access", "Outlook"], correct: 0 },
                { q: "Fungsi Slide Master untuk...", options: ["Template slide global", "Animasi", "Gambar", "Hyperlink", "Video"], correct: 0 },
                { q: "Transisi pada presentasi adalah...", options: ["Efek perpindahan slide", "Animasi objek", "Hyperlink", "Tema", "Slide Master"], correct: 0 },
                { q: "Contoh integrasi aplikasi kantor?", options: ["Gabung Excel ke Word", "Edit gambar Photoshop", "Buat website", "Install software", "Kirim email"], correct: 0 },
                { q: "Cloud kolaborasi dokumen adalah...", options: ["Google Workspace", "Word offline", "Notepad", "Photoshop", "Corel Draw"], correct: 0 },
                { q: "Dekomposisi dalam berpikir komputasional?", options: ["Memecah masalah", "Mengenali pola", "Abstraksi", "Algoritma", "Implementasi"], correct: 0 },
                { q: "Apa itu algoritma?", options: ["Langkah sistematis", "Program", "Bahasa pemrograman", "Struktur data", "Sistem operasi"], correct: 0 },
                { q: "Pengenalan pola bertujuan...", options: ["Identifikasi kesamaan", "Memecah masalah", "Abstraksi", "Algoritma", "Implementasi"], correct: 0 },
                { q: "Abstraksi dalam informatika?", options: ["Sederhanakan masalah", "Memecah masalah", "Pola", "Algoritma", "Implementasi"], correct: 0 },
                { q: "Tujuan berpikir komputasional?", options: ["Selesaikan masalah sistematis", "Hafal kode", "Buat program", "Gunakan komputer", "Bermain game"], correct: 0 }
            ],
            // ===== LEVEL 5: Pertemuan 16-18 =====
            [
                { q: "Algoritma searching untuk...", options: ["Mencari data", "Mengurutkan data", "Menjumlahkan", "Memfilter", "Grafik"], correct: 0 },
                { q: "Algoritma sorting untuk...", options: ["Mengurutkan data", "Mencari data", "Menjumlahkan", "Memfilter", "Grafik"], correct: 0 },
                { q: "Contoh algoritma pencarian adalah...", options: ["Sequential search", "Bubble sort", "Insertion sort", "Selection sort", "Merge sort"], correct: 0 },
                { q: "Contoh algoritma pengurutan adalah...", options: ["Bubble sort", "Sequential search", "Binary search", "Linear search", "Depth first search"], correct: 0 },
                { q: "Laporan dalam proyek dibuat dengan...", options: ["Pengolah kata", "Spreadsheet", "Presentasi", "Database", "Email"], correct: 0 },
                { q: "Analisis data proyek dengan...", options: ["Spreadsheet", "Pengolah kata", "Presentasi", "Email", "Browser"], correct: 0 },
                { q: "Presentasi proyek dibuat dengan...", options: ["Aplikasi presentasi", "Pengolah kata", "Spreadsheet", "Email", "Browser"], correct: 0 },
                { q: "Portofolio digital berisi...", options: ["Hasil karya dan proyek", "Foto pribadi", "Video hiburan", "Game", "Musik"], correct: 0 },
                { q: "Asesmen sumatif bertujuan...", options: ["Ukur penguasaan kompetensi", "Hafal materi", "Buat proyek", "Presentasi", "Diskusi"], correct: 0 },
                { q: "Manfaat cloud storage?", options: ["Akses data dari mana saja", "Simpan di harddisk", "Install software", "Buat presentasi", "Olah angka"], correct: 0 }
            ]
        ];

        // ===== STATE =====
        let userName = "User";
        let currentLevel = 0;
        let currentQuestionIndex = 0;
        let score = 0;
        let totalAttempts = 0;
        let correctAttempts = 0;
        let questionsForLevel = [];
        let targets = [];
        let gameActive = false;
        let levelCompleted = false;
        let animationFrame = null;
        let canvas, ctx;
        let W, H;
        let leaderboardData = [];
        let particles = [];
        let fireworks = [];
        let isCelebrating = false;
        let finalScore = 0, finalRank = "", finalMessage = "", finalAccuracy = 0;

        // Timer
        let timeRemaining = TOTAL_TIME;
        let timerInterval = null;
        let timerRunning = false;

        // Archery state
        let archer = { x: 50, y: 0 };
        let arrow = { x: 0, y: 0, vx: 0, vy: 0, active: false, angle: 0, targetX: 0, targetY: 0, speed: 10, homing: false };
        let arrowCooldown = 0;
        let mouseX = 0, mouseY = 0;

        // DOM
        const canvasEl = document.getElementById('gameCanvas');
        const questionPanel = document.getElementById('question-panel');
        const qNumberDisplay = document.getElementById('qNumberDisplay');
        const qTextDisplay = document.getElementById('qTextDisplay');
        const levelIndicator = document.getElementById('level-indicator');
        const scoreIndicator = document.getElementById('score-indicator');
        const playerNameDisplay = document.getElementById('player-name-display');
        const timerDisplay = document.getElementById('timer-display');
        const entryScreen = document.getElementById('entry-screen');
        const congratsOverlay = document.getElementById('congrats-overlay');
        const finalScoreSpan = document.getElementById('finalScoreDisplay');
        const rankDisplay = document.getElementById('rankDisplay');
        const personalMessage = document.getElementById('personalMessage');
        const userNameDisplay = document.getElementById('userNameDisplay');
        const levelCompleteDisplay = document.getElementById('levelCompleteDisplay');
        const accuracyDisplay = document.getElementById('accuracyDisplay');
        const lbEntries = document.getElementById('lbEntries');
        const speechBtn = document.getElementById('speech-btn');

        canvas = canvasEl; ctx = canvas.getContext('2d');

        let speechSynth = window.speechSynthesis;
        let speechUtterance = null;
        function speakScoreboard(score, rank, message, accuracy) {
            if (!window.speechSynthesis) return;
            if (speechSynth.speaking) speechSynth.cancel();
            const text = `Laporan untuk User ${userName}. Skor ${score} dari 100. Predikat ${rank}. Akurasi ${accuracy} persen. ${message}`;
            speechUtterance = new SpeechSynthesisUtterance(text);
            speechUtterance.lang = 'id-ID'; speechUtterance.rate = 0.85; speechUtterance.pitch = 1;
            speechSynth.speak(speechUtterance);
        }

        function shuffleArray(arr) { for (let i=arr.length-1; i&gt;0; i--) { const j=Math.floor(Math.random()*(i+1)); [arr[i],arr[j]]=[arr[j],arr[i]]; } return arr; }

        function loadLeaderboard() {
            try { const data = localStorage.getItem('arrowsmart_leaderboard'); leaderboardData = data ? JSON.parse(data) : []; } catch(e){ leaderboardData = []; }
            renderLeaderboard();
        }
        function saveLeaderboard() { localStorage.setItem('arrowsmart_leaderboard', JSON.stringify(leaderboardData)); renderLeaderboard(); }
        function renderLeaderboard() {
            if (!lbEntries) return;
            if (leaderboardData.length === 0) { lbEntries.innerHTML = '&lt;div style="color:#4a7a9a;"&gt;Belum ada data&lt;/div&gt;'; return; }
            const sorted = [...leaderboardData].sort((a,b) =&gt; b.score - a.score).slice(0,5);
            lbEntries.innerHTML = sorted.map(p =&gt; `&lt;div&gt;&lt;span&gt;${p.name}&lt;/span&gt;&lt;span class="lb-score"&gt;${p.score}&lt;/span&gt;&lt;/div&gt;`).join('');
        }

        function resizeCanvas() {
            const container = document.getElementById('game-canvas-container');
            const rect = container.getBoundingClientRect();
            canvas.width = rect.width || 800; canvas.height = rect.height || 600;
            W = canvas.width; H = canvas.height;
            archer.y = H - 70; archer.x = Math.min(archer.x, W-30);
            if (gameActive &amp;&amp; questionsForLevel.length) { generateTargets(); if (!levelCompleted) showCurrentQuestion(); }
        }
        window.addEventListener('resize', resizeCanvas);
        resizeCanvas();

        function loadLevel(levelIdx) {
            currentLevel = levelIdx; currentQuestionIndex = 0; levelCompleted = false;
            const raw = QUESTION_BANK[levelIdx] || QUESTION_BANK[0];
            questionsForLevel = raw.map(item =&gt; {
                const shuffledOptions = shuffleArray([...item.options]);
                const correctIndex = shuffledOptions.indexOf(item.options[item.correct]);
                return { q: item.q, options: shuffledOptions, correct: correctIndex };
            });
            questionsForLevel = shuffleArray(questionsForLevel);
            generateTargets();
            updateUI();
            if (gameActive) showCurrentQuestion();
        }

        function generateTargets() {
            targets = [];
            if (!questionsForLevel.length) return;
            const total = questionsForLevel.length;
            const cols = Math.min(4, total, Math.floor(W / 130) + 1);
            const rows = Math.ceil(total / cols);
            const spacingX = (W - 80) / (cols + 1);
            const spacingY = (H - 140) / (rows + 2);
            const size = Math.min(spacingX * 0.40, spacingY * 0.45, 62);
            const baseY = spacingY * 0.6 + 20;
            const icons = ['&#128187;', '&#128421;️', '&#128424;️', '⌨️', '&#128433;️', '&#128241;', '&#128190;', '&#128192;', '&#128268;', '&#128225;', '☁️', '&#128274;'];
            for (let i = 0; i &lt; total; i++) {
                const col = i % cols, row = Math.floor(i / cols);
                let x = 60 + spacingX * (col + 1) + (Math.random() - 0.5) * 30;
                let y = baseY + spacingY * row + (Math.random() - 0.5) * 20;
                x = Math.min(Math.max(x, size+20), W - size - 10);
                y = Math.min(Math.max(y, size+20), H - size - 80);
                const vx = (Math.random() - 0.5) * 0.6, vy = (Math.random() - 0.5) * 0.6;
                targets.push({
                    id: i, x, y, size,
                    vx, vy,
                    icon: icons[i % icons.length],
                    label: questionsForLevel[i]?.options[0] || '?',
                    fullText: questionsForLevel[i]?.options[0] || '?',
                    answered: false,
                    optionIndex: 0
                });
            }
        }

        function showCurrentQuestion() {
            if (!questionsForLevel.length || currentQuestionIndex &gt;= questionsForLevel.length) {
                levelCompleted = true;
                if (currentLevel + 1 &lt; LEVELS) { currentLevel++; loadLevel(currentLevel); updateUI(); }
                else { endGame(); }
                return;
            }
            const qData = questionsForLevel[currentQuestionIndex];
            if (!qData) return;
            qNumberDisplay.textContent = `${currentQuestionIndex + 1}.`;
            qTextDisplay.textContent = qData.q;
            targets.forEach((t, idx) =&gt; {
                const optIdx = idx % qData.options.length;
                t.optionIndex = optIdx;
                t.fullText = qData.options[optIdx] || '?';
                t.label = t.fullText;
                t.answered = false;
            });
        }

        function shootArrow(targetX, targetY) {
            if (!gameActive || levelCompleted) return;
            if (arrow.active || arrowCooldown &gt; 0) return;
            const dx = targetX - archer.x, dy = targetY - archer.y;
            if (Math.sqrt(dx*dx + dy*dy) &lt; 30) return;
            arrow.active = true;
            arrow.x = archer.x + 20; arrow.y = archer.y - 10;
            arrow.targetX = targetX; arrow.targetY = targetY;
            arrow.homing = true; arrow.speed = 10;
            const angle = Math.atan2(dy, dx);
            arrow.vx = Math.cos(angle) * arrow.speed;
            arrow.vy = Math.sin(angle) * arrow.speed;
            arrow.angle = angle;
            arrowCooldown = 12;
        }

        function updateArrow() {
            if (!arrow.active) return;
            if (arrow.homing) {
                const dx = arrow.targetX - arrow.x, dy = arrow.targetY - arrow.y;
                const dist = Math.sqrt(dx*dx + dy*dy);
                if (dist &gt; 5) {
                    const targetAngle = Math.atan2(dy, dx);
                    let angleDiff = targetAngle - arrow.angle;
                    while (angleDiff &gt; Math.PI) angleDiff -= 2*Math.PI;
                    while (angleDiff &lt; -Math.PI) angleDiff += 2*Math.PI;
                    arrow.angle += angleDiff * 0.1;
                    arrow.vx = Math.cos(arrow.angle) * arrow.speed;
                    arrow.vy = Math.sin(arrow.angle) * arrow.speed;
                }
            }
            arrow.x += arrow.vx; arrow.y += arrow.vy;
            for (let t of targets) {
                if (t.answered) continue;
                const dx = arrow.x - t.x, dy = arrow.y - t.y;
                if (dx*dx + dy*dy &lt; (t.size + 8) * (t.size + 8)) {
                    arrow.active = false;
                    t.answered = true;
                    totalAttempts++;
                    const qData = questionsForLevel[currentQuestionIndex];
                    const selectedOptIdx = t.optionIndex % qData.options.length;
                    const isCorrect = (selectedOptIdx === qData.correct);
                    if (isCorrect) {
                        const scorePerQuestion = MAX_SCORE / (LEVELS * QUESTIONS_PER_LEVEL);
                        score = Math.min(MAX_SCORE, score + scorePerQuestion);
                        correctAttempts++;
                        spawnExplosion(t.x, t.y, '#00ffaa', 25);
                    } else {
                        spawnExplosion(t.x, t.y, '#ff4444', 18);
                    }
                    currentQuestionIndex++;
                    if (currentQuestionIndex &gt;= questionsForLevel.length) {
                        if (currentLevel + 1 &lt; LEVELS) showLevelCongrats();
                        else { endGame(); }
                    } else showCurrentQuestion();
                    updateUI();
                    return;
                }
            }
            if (arrow.x &gt; W || arrow.x &lt; 0 || arrow.y &gt; H || arrow.y &lt; 0) arrow.active = false;
        }

        function spawnExplosion(x, y, color, count) {
            for (let i=0; i&lt;count; i++) {
                const angle = Math.random() * 2 * Math.PI, speed = Math.random() * 4 + 1;
                particles.push({ x, y, vx: Math.cos(angle)*speed, vy: Math.sin(angle)*speed, life: 1, decay: Math.random()*0.025+0.015, size: Math.random()*5+2, color });
            }
        }

        function showLevelCongrats() {
            qNumberDisplay.textContent = '⚡';
            qTextDisplay.textContent = `Level ${currentLevel+1} Selesai! Skor: ${Math.round(score)} / ${MAX_SCORE}`;
            for (let i=0; i&lt;25; i++) spawnExplosion(Math.random()*W, Math.random()*H, '#00ddff', 6);
            setTimeout(() =&gt; { if (currentLevel + 1 &lt; LEVELS) { currentLevel++; loadLevel(currentLevel); updateUI(); } else endGame(); }, 1200);
        }

        function getRank(scr) {
            const pct = (scr/MAX_SCORE)*100;
            if (pct &gt;= 90) return "Master Informatika";
            else if (pct &gt;= 75) return "Expert Informatika";
            else if (pct &gt;= 60) return "Pro Informatika";
            else if (pct &gt;= 40) return "Learner Informatika";
            else return "Perlu Belajar Lagi";
        }

        function getMessage(scr) {
            const pct = (scr/MAX_SCORE)*100;
            if (pct &gt;= 90) return "Luar biasa! Anda Master Informatika sejati!";
            else if (pct &gt;= 75) return "Hebat! Pemahaman Informatika Anda solid!";
            else if (pct &gt;= 60) return "Bagus! Terus asah logika dan keterampilan digital!";
            else if (pct &gt;= 40) return "Mulai konsisten, raih predikat lebih tinggi!";
            else return "Perlu belajar lagi, kuasai dasar-dasar Informatika!";
        }

        function endGame() {
            gameActive = false;
            if (timerInterval) { clearInterval(timerInterval); timerInterval = null; }
            timerRunning = false;
            
            finalScore = Math.round(score);
            finalRank = getRank(finalScore);
            finalMessage = getMessage(finalScore);
            finalAccuracy = totalAttempts &gt; 0 ? Math.round((correctAttempts / totalAttempts) * 100) : 0;
            
            congratsOverlay.classList.add('show');
            finalScoreSpan.textContent = finalScore;
            rankDisplay.textContent = finalRank;
            personalMessage.textContent = finalMessage;
            userNameDisplay.textContent = userName;
            levelCompleteDisplay.textContent = `Level: ${LEVELS}/${LEVELS}`;
            accuracyDisplay.textContent = `Akurasi: ${finalAccuracy}%`;
            
            leaderboardData.push({ name: userName, score: finalScore });
            saveLeaderboard();
            isCelebrating = true;
            for (let i=0; i&lt;80; i++) setTimeout(() =&gt; spawnFirework(Math.random()*W, Math.random()*H*0.7 + 50), i*65);
            for (let i=0; i&lt;45; i++) setTimeout(() =&gt; spawnFirework(Math.random()*W, Math.random()*H*0.5 + 30), 3800 + i*85);
            setTimeout(() =&gt; speakScoreboard(finalScore, finalRank, finalMessage, finalAccuracy), 1600);
        }

        function spawnFirework(x, y) {
            const colors = ['#ff4444','#ffdd44','#44ff44','#44ddff','#ff44ff','#ffffff','#ff8800','#00ffaa','#a855f7'];
            for (let i=0; i&lt;55; i++) {
                const angle = Math.random()*2*Math.PI, speed = Math.random()*7+2, color = colors[Math.floor(Math.random()*colors.length)];
                fireworks.push({ x, y, vx: Math.cos(angle)*speed, vy: Math.sin(angle)*speed-1, life:1, decay: Math.random()*0.015+0.006, size: Math.random()*5+2, color, isConfetti: false });
            }
            for (let i=0; i&lt;30; i++) {
                const angle = Math.random()*2*Math.PI, speed = Math.random()*4+1, color = colors[Math.floor(Math.random()*colors.length)];
                fireworks.push({ x, y, vx: Math.cos(angle)*speed+(Math.random()-0.5)*2, vy: Math.sin(angle)*speed-2.5, life:1, decay: Math.random()*0.01+0.004, size: Math.random()*9+4, color, isConfetti: true });
            }
        }

        function updateUI() {
            levelIndicator.textContent = `⚡ Level ${currentLevel+1}`;
            scoreIndicator.textContent = `⭐ ${Math.round(score)} / ${MAX_SCORE}`;
            playerNameDisplay.textContent = `&#127919; ${userName}`;
        }

        // Timer
        function startTimer() {
            if (timerRunning) return;
            timerRunning = true;
            timerInterval = setInterval(() =&gt; {
                timeRemaining--;
                updateTimerDisplay();
                if (timeRemaining &lt;= 0) {
                    clearInterval(timerInterval);
                    timerInterval = null;
                    timerRunning = false;
                    if (gameActive) { endGame(); }
                }
            }, 1000);
        }

        function updateTimerDisplay() {
            const mins = Math.floor(timeRemaining / 60);
            const secs = timeRemaining % 60;
            timerDisplay.textContent = `⏱️ ${String(mins).padStart(2, '0')}:${String(secs).padStart(2, '0')}`;
            if (timeRemaining &lt; 300) {
                timerDisplay.style.color = '#ff4444';
                timerDisplay.style.borderColor = '#ff4444';
            } else {
                timerDisplay.style.color = '#ff6b6b';
                timerDisplay.style.borderColor = '#ff4444';
            }
        }

        function drawArcher() {
            const ax = archer.x, ay = archer.y;
            ctx.shadowBlur = 20; ctx.shadowColor = '#00aaff66';
            ctx.fillStyle = '#1a3a5a'; ctx.fillRect(ax-8, ay+10, 6, 14); ctx.fillRect(ax+2, ay+10, 6, 14);
            ctx.fillStyle = '#2a5a7a'; ctx.beginPath(); ctx.ellipse(ax, ay-4, 16, 22, 0, 0, Math.PI*2); ctx.fill();
            ctx.fillStyle = '#f0d8b0'; ctx.beginPath(); ctx.arc(ax, ay-28, 14, 0, Math.PI*2); ctx.fill();
            ctx.fillStyle = '#4a3a2a'; ctx.beginPath(); ctx.arc(ax, ay-34, 14, Math.PI, 2*Math.PI); ctx.fill();
            const bowAngle = Math.atan2(mouseY - ay, mouseX - ax);
            const bowLen = 38;
            ctx.strokeStyle = '#c8a060'; ctx.lineWidth = 3; ctx.shadowBlur = 15; ctx.shadowColor = '#ffdd44aa';
            ctx.beginPath(); ctx.arc(ax + 16, ay - 4, bowLen, bowAngle - 0.7, bowAngle + 0.7); ctx.stroke();
            ctx.strokeStyle = '#aaaacc'; ctx.lineWidth = 1.5;
            const e1 = bowAngle - 0.7, e2 = bowAngle + 0.7;
            const ex1 = ax+16+Math.cos(e1)*bowLen, ey1 = ay-4+Math.sin(e1)*bowLen;
            const ex2 = ax+16+Math.cos(e2)*bowLen, ey2 = ay-4+Math.sin(e2)*bowLen;
            ctx.beginPath(); ctx.moveTo(ex1, ey1); ctx.lineTo(ax+16+Math.cos(bowAngle)*10, ay-4+Math.sin(bowAngle)*10); ctx.lineTo(ex2, ey2); ctx.stroke();
            ctx.shadowBlur = 0;
            if (arrow.active) {
                ctx.save(); ctx.translate(arrow.x, arrow.y); ctx.rotate(arrow.angle);
                ctx.shadowBlur = 20; ctx.shadowColor = '#00ffaa88';
                ctx.strokeStyle = '#ddaa88'; ctx.lineWidth = 2.5; ctx.beginPath(); ctx.moveTo(0,0); ctx.lineTo(25,0); ctx.stroke();
                ctx.fillStyle = '#ffdd44'; ctx.shadowColor = '#ffdd44aa'; ctx.beginPath(); ctx.moveTo(28,0); ctx.lineTo(20,-5); ctx.lineTo(20,5); ctx.closePath(); ctx.fill();
                ctx.fillStyle = '#ff6666'; ctx.shadowColor = '#ff666688'; ctx.beginPath(); ctx.moveTo(-2,0); ctx.lineTo(-8,-6); ctx.lineTo(-8,6); ctx.closePath(); ctx.fill();
                ctx.restore(); ctx.shadowBlur = 0;
            }
        }

        function draw() {
            ctx.clearRect(0, 0, W, H);
            ctx.fillStyle = 'rgba(0, 10, 30, 0.3)'; ctx.fillRect(0, 0, W, H);
            ctx.strokeStyle = '#00aaff20'; ctx.lineWidth = 0.5;
            for (let i=0; i&lt;W; i+=30) { ctx.beginPath(); ctx.moveTo(i,0); ctx.lineTo(i,H); ctx.stroke(); }
            for (let i=0; i&lt;H; i+=30) { ctx.beginPath(); ctx.moveTo(0,i); ctx.lineTo(W,i); ctx.stroke(); }
            ctx.strokeStyle = '#00d4ff15'; ctx.lineWidth = 1;
            for (let i=0; i&lt;W; i+=80) { ctx.beginPath(); ctx.moveTo(i,0); ctx.lineTo(i+40,H); ctx.stroke(); }
            for (let i=0; i&lt;30; i++) {
                ctx.fillStyle = `rgba(0, 180, 255, ${Math.random()*0.15+0.03})`;
                ctx.font = '12px monospace'; ctx.fillText(Math.random()&gt;0.5?'1':'0', Math.random()*W, Math.random()*H);
            }
            ctx.fillStyle = '#00aaff10'; ctx.font = '28px sans-serif';
            ctx.fillText('PC', 20, 40); ctx.fillText('NB', W-50, 50); ctx.fillText('NT', W-70, H-30); ctx.fillText('PR', 30, H-20);

            targets.forEach(t =&gt; {
                if (t.answered) return;
                ctx.shadowColor = '#00aaffaa'; ctx.shadowBlur = 30;
                const grad = ctx.createRadialGradient(t.x-5, t.y-5, 2, t.x, t.y, t.size);
                grad.addColorStop(0, '#80d4ff'); grad.addColorStop(0.5, '#0088ff'); grad.addColorStop(1, '#1a0066');
                ctx.beginPath(); ctx.arc(t.x, t.y, t.size, 0, 2*Math.PI);
                ctx.fillStyle = grad; ctx.fill();
                ctx.shadowBlur = 0;
                ctx.strokeStyle = '#80d4ff'; ctx.lineWidth = 2.5; ctx.shadowBlur = 15; ctx.shadowColor = '#00aaff';
                ctx.stroke(); ctx.shadowBlur = 0;
                
                ctx.font = `${t.size * 0.38}px 'Segoe UI Emoji', 'Apple Color Emoji', 'Noto Color Emoji', sans-serif`;
                ctx.textAlign = 'center'; ctx.textBaseline = 'middle';
                ctx.fillStyle = '#ffffff'; ctx.shadowBlur = 8; ctx.shadowColor = '#0044ff';
                ctx.fillText(t.icon, t.x, t.y - 14);
                ctx.shadowBlur = 0;
                
                ctx.fillStyle = '#ffffff'; 
                const fontSize = Math.max(14, t.size * 0.34);
                ctx.font = `bold ${fontSize}px 'Segoe UI', Arial, sans-serif`;
                ctx.textAlign = 'center'; ctx.textBaseline = 'bottom';
                let displayText = t.fullText;
                if (displayText.length &gt; 14) displayText = displayText.substring(0, 13) + '…';
                
                const metrics = ctx.measureText(displayText);
                const tw = metrics.width;
                const th = fontSize * 1.5;
                const tx = t.x - tw/2 - 8;
                const ty = t.y + t.size - 14 - th;
                
                ctx.shadowBlur = 0;
                const r = 6;
                ctx.beginPath();
                ctx.moveTo(tx + r, ty);
                ctx.lineTo(tx + tw + 16 - r, ty);
                ctx.quadraticCurveTo(tx + tw + 16, ty, tx + tw + 16, ty + r);
                ctx.lineTo(tx + tw + 16, ty + th + 6 - r);
                ctx.quadraticCurveTo(tx + tw + 16, ty + th + 6, tx + tw + 16 - r, ty + th + 6);
                ctx.lineTo(tx + r, ty + th + 6);
                ctx.quadraticCurveTo(tx, ty + th + 6, tx, ty + th + 6 - r);
                ctx.lineTo(tx, ty + r);
                ctx.quadraticCurveTo(tx, ty, tx + r, ty);
                ctx.closePath();
                ctx.fillStyle = 'rgba(0, 10, 30, 0.85)';
                ctx.fill();
                
                ctx.fillStyle = '#ffffff';
                ctx.shadowBlur = 4;
                ctx.shadowColor = 'rgba(0, 0, 0, 0.5)';
                ctx.textAlign = 'center'; ctx.textBaseline = 'bottom';
                ctx.fillText(displayText, t.x, t.y + t.size - 6);
                ctx.shadowBlur = 0;
                
                t.x += t.vx; t.y += t.vy;
                if (t.x &lt; t.size + 20 || t.x &gt; W - t.size - 10) t.vx *= -1;
                if (t.y &lt; t.size + 20 || t.y &gt; H - t.size - 80) t.vy *= -1;
                t.x = Math.min(Math.max(t.x, t.size+20), W - t.size - 10);
                t.y = Math.min(Math.max(t.y, t.size+20), H - t.size - 80);
            });

            if (arrow.active) updateArrow();
            if (arrowCooldown &gt; 0) arrowCooldown--;
            if (gameActive) {
                const targetX = Math.min(Math.max(mouseX, 30), W - 30);
                archer.x += (targetX - archer.x) * 0.08;
                archer.y = H - 70;
            }
            drawArcher();

            for (let i=particles.length-1; i&gt;=0; i--) {
                const p = particles[i];
                p.x += p.vx; p.y += p.vy; p.life -= p.decay; p.vy += 0.05;
                if (p.life &lt;= 0) { particles.splice(i,1); continue; }
                ctx.globalAlpha = p.life; ctx.fillStyle = p.color; ctx.shadowBlur = 10; ctx.shadowColor = p.color;
                ctx.beginPath(); ctx.arc(p.x, p.y, p.size * p.life, 0, 2*Math.PI); ctx.fill();
                ctx.shadowBlur = 0;
            }
            ctx.globalAlpha = 1;

            for (let i=fireworks.length-1; i&gt;=0; i--) {
                const f = fireworks[i];
                f.x += f.vx; f.y += f.vy; f.vy += 0.04; f.life -= f.decay;
                if (f.life &lt;= 0) { fireworks.splice(i,1); continue; }
                ctx.globalAlpha = f.life; ctx.fillStyle = f.color; ctx.shadowBlur = 18; ctx.shadowColor = f.color;
                if (f.isConfetti) { ctx.save(); ctx.translate(f.x, f.y); ctx.rotate(f.life*12); ctx.fillRect(-f.size/2, -f.size/2, f.size*f.life, f.size*f.life*0.5); ctx.restore(); }
                else { ctx.beginPath(); ctx.arc(f.x, f.y, f.size * f.life, 0, 2*Math.PI); ctx.fill(); }
                ctx.shadowBlur = 0;
            }
            ctx.globalAlpha = 1;
        }

        function gameLoop() { draw(); animationFrame = requestAnimationFrame(gameLoop); }

        canvasEl.addEventListener('click', (e) =&gt; {
            const rect = canvasEl.getBoundingClientRect();
            const scaleX = canvas.width / rect.width, scaleY = canvas.height / rect.height;
            shootArrow((e.clientX - rect.left)*scaleX, (e.clientY - rect.top)*scaleY);
        });
        canvasEl.addEventListener('touchstart', (e) =&gt; {
            e.preventDefault(); const rect = canvasEl.getBoundingClientRect();
            const touch = e.touches[0]; const scaleX = canvas.width/rect.width, scaleY = canvas.height/rect.height;
            shootArrow((touch.clientX - rect.left)*scaleX, (touch.clientY - rect.top)*scaleY);
        }, { passive: false });
        canvasEl.addEventListener('mousemove', (e) =&gt; {
            const rect = canvasEl.getBoundingClientRect();
            mouseX = (e.clientX - rect.left) * (canvas.width/rect.width);
            mouseY = (e.clientY - rect.top) * (canvas.height/rect.height);
        });
        speechBtn.addEventListener('click', () =&gt; speakScoreboard(finalScore, finalRank, finalMessage, finalAccuracy));

        function startGame() {
            const nameInput = document.getElementById('playerNameInput');
            userName = nameInput.value.trim() || "User";
            playerNameDisplay.textContent = `&#127919; ${userName}`;
            entryScreen.style.display = 'none';
            congratsOverlay.classList.remove('show');
            
            score = 0; totalAttempts = 0; correctAttempts = 0; currentLevel = 0;
            timeRemaining = TOTAL_TIME;
            updateTimerDisplay();
            timerDisplay.style.color = '#ff6b6b';
            timerDisplay.style.borderColor = '#ff4444';
            
            gameActive = true; isCelebrating = false; particles = []; fireworks = []; arrow.active = false;
            if (speechSynth.speaking) speechSynth.cancel();
            
            startTimer();
            loadLevel(0); updateUI();
            if (animationFrame) cancelAnimationFrame(animationFrame);
            gameLoop();
        }

        document.getElementById('startGameBtn').addEventListener('click', startGame);
        document.getElementById('restartFromCongratsBtn').addEventListener('click', () =&gt; { 
            congratsOverlay.classList.remove('show'); 
            if (timerInterval) { clearInterval(timerInterval); timerInterval = null; }
            timerRunning = false;
            startGame(); 
        });
        loadLeaderboard(); loadLevel(0); updateUI();
        qNumberDisplay.textContent = '&#127919;'; qTextDisplay.textContent = 'Masukkan nama &amp; tekan MULAI';
        updateTimerDisplay();
        gameLoop();
        window.addEventListener('resize', resizeCanvas);
    })();
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description><link>http://kitab-investasi.blogspot.com/2026/07/arrowa-smart-informatika-arrow.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-3527539497463372680</guid><pubDate>Mon, 06 Jul 2026 01:46:27 +0000</pubDate><atom:updated>2026-07-15T08:22:26.997+07:00</atom:updated><title>ARROW SMART-5S</title><description>&lt;!DOCTYPE html&gt;
&lt;html lang="id"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"&gt;
    &lt;title&gt;SMART-5S Archery&lt;/title&gt;
    &lt;style&gt;
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            user-select: none;
        }
        body {
            background: #0a0e1a;
            min-height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            font-family: 'Segoe UI', 'Arial', sans-serif;
        }
        #game-wrapper {
            width: 100%;
            max-width: 800px;
            height: 100vh;
            max-height: 900px;
            background: radial-gradient(circle at 30% 20%, #0d1b2a, #050a14);
            box-shadow: 0 0 50px #00d4ff40, 0 0 120px #0055ff20;
            border-radius: 32px;
            padding: 16px;
            display: flex;
            flex-direction: column;
            position: relative;
            overflow: hidden;
            border: 1px solid #00d4ff60;
        }
        #header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 6px 12px;
            color: #a8e6ff;
            font-weight: bold;
            background: rgba(0, 20, 40, 0.6);
            backdrop-filter: blur(4px);
            border-radius: 60px;
            border: 1px solid #00d4ff80;
            margin-bottom: 10px;
            flex-shrink: 0;
        }
        #header span {
            background: #0a1a2e;
            padding: 4px 16px;
            border-radius: 40px;
            border: 1px solid #00d4ff;
            font-size: 0.9rem;
            letter-spacing: 1px;
        }
        #level-indicator { background: #0a1a2e; color: #7ad0ff; border-color: #00aaff; }
        #score-indicator { color: #facc15; border-color: #facc15; }
        #player-name-display { color: #7ad0ff; border-color: #00aaff; }
        #game-canvas-container {
            flex: 1;
            position: relative;
            background: transparent;
            border-radius: 24px;
            overflow: hidden;
            min-height: 300px;
            border: 1px solid #00d4ff40;
            box-shadow: inset 0 0 60px #0044aa30;
            cursor: crosshair;
        }
        canvas {
            display: block;
            width: 100%;
            height: 100%;
            background: transparent;
            cursor: crosshair;
        }
        #question-panel {
            background: rgba(0, 16, 32, 0.85);
            backdrop-filter: blur(8px);
            border: 1px solid #00d4ff;
            border-radius: 40px;
            padding: 14px 20px;
            margin-top: 10px;
            color: #e6f7ff;
            font-weight: 600;
            font-size: clamp(1rem, 2.8vw, 1.3rem);
            text-align: left;
            box-shadow: 0 0 40px #0066ff44;
            flex-shrink: 0;
            min-height: 76px;
            display: flex;
            align-items: center;
            line-height: 1.5;
        }
        #question-panel .q-number {
            color: #00d4ff;
            font-weight: 800;
            margin-right: 12px;
            white-space: nowrap;
            text-shadow: 0 0 12px #00aaff;
        }
        #question-panel .q-text {
            color: #ffffff;
            font-weight: 700;
            text-shadow: 0 0 8px rgba(0, 180, 255, 0.3);
        }
        #entry-screen {
            position: absolute;
            inset: 0;
            z-index: 20;
            background: rgba(0, 6, 16, 0.92);
            backdrop-filter: blur(12px);
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 30px;
            border-radius: 32px;
            padding: 20px;
        }
        #entry-screen h1 {
            font-size: 2.6rem;
            color: #7ad0ff;
            text-shadow: 0 0 40px #00aaff, 0 0 100px #0055ff;
            letter-spacing: 4px;
            font-weight: 800;
        }
        #entry-screen input {
            background: #0a1a2e;
            border: 2px solid #00d4ff;
            border-radius: 60px;
            padding: 16px 24px;
            width: 80%;
            max-width: 340px;
            font-size: 1.3rem;
            color: #d6f0ff;
            text-align: center;
            outline: none;
            box-shadow: 0 0 40px #0066ff55;
        }
        #entry-screen input::placeholder { color: #4a7a9a; }
        .cyber-btn {
            background: linear-gradient(145deg, #0a2a4a, #06152a);
            border: 1px solid #00d4ff;
            color: #d6f0ff;
            padding: 16px 48px;
            border-radius: 60px;
            font-size: 1.6rem;
            font-weight: bold;
            letter-spacing: 3px;
            box-shadow: 0 0 40px #00aaffaa, inset 0 0 20px #00aaff44;
            transition: 0.2s;
            cursor: pointer;
            backdrop-filter: blur(4px);
        }
        .cyber-btn:active { transform: scale(0.93); box-shadow: 0 0 80px #00d4ff; }
        #congrats-overlay {
            position: absolute;
            inset: 0;
            z-index: 30;
            background: rgba(0, 4, 16, 0.85);
            backdrop-filter: blur(8px);
            border-radius: 32px;
            display: none;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            padding: 20px;
            text-align: center;
            color: #fff;
        }
        #congrats-overlay.show { display: flex; }
        .congrats-box {
            background: rgba(0, 16, 32, 0.8);
            border: 2px solid #00d4ff;
            border-radius: 60px;
            padding: 30px 20px;
            max-width: 480px;
            width: 100%;
            box-shadow: 0 0 80px #0066ff88, inset 0 0 30px #00aaff44;
            backdrop-filter: blur(8px);
            position: relative;
            z-index: 5;
        }
        .congrats-box .user-name {
            font-size: 1.4rem;
            color: #7ad0ff;
            margin-bottom: 8px;
            text-shadow: 0 0 20px #00aaff;
        }
        .congrats-box .user-name i {
            font-style: normal;
            background: rgba(0,180,255,0.15);
            padding: 2px 14px;
            border-radius: 30px;
            border: 1px solid #00aaff44;
        }
        .congrats-box h2 {
            font-size: 2.4rem;
            margin-bottom: 6px;
            color: #facc15;
            text-shadow: 0 0 30px #facc15aa;
        }
        .congrats-box .rank {
            font-size: 2rem;
            font-weight: 800;
            background: linear-gradient(45deg, #7ad0ff, #00aaff, #a855f7);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            margin: 10px 0;
            text-shadow: 0 0 40px #00aaff55;
        }
        .congrats-box .final-score {
            font-size: 1.8rem;
            color: #7ad0ff;
            text-shadow: 0 0 20px #00aaff66;
        }
        .congrats-box .final-score span {
            color: #facc15;
            font-weight: 800;
            text-shadow: 0 0 20px #facc1566;
        }
        .congrats-box .message {
            font-size: 1.2rem;
            color: #c8e6ff;
            margin: 16px 0;
            background: rgba(0, 180, 255, 0.1);
            padding: 10px 16px;
            border-radius: 30px;
            border: 1px solid #00aaff44;
        }
        .congrats-box .stats-grid {
            display: flex;
            justify-content: center;
            gap: 20px;
            margin: 12px 0;
            font-size: 0.9rem;
            color: #7ad0ff;
        }
        .congrats-box .stats-grid span {
            background: rgba(0, 20, 50, 0.5);
            padding: 4px 14px;
            border-radius: 20px;
            border: 1px solid #00aaff33;
        }
        .congrats-box .footer-note {
            margin-top: 16px;
            font-size: 0.85rem;
            color: #5a8aaa;
            letter-spacing: 1px;
            border-top: 1px solid #00aaff33;
            padding-top: 14px;
            font-style: italic;
        }
        .small-btn {
            background: #0a2a4a;
            border: 1px solid #00d4ff;
            color: #d6f0ff;
            padding: 12px 30px;
            border-radius: 60px;
            font-size: 1.2rem;
            margin-top: 12px;
            cursor: pointer;
            transition: 0.2s;
            box-shadow: 0 0 20px #00aaff33;
        }
        .small-btn:active { transform: scale(0.92); }
        #speech-btn {
            background: rgba(0, 180, 255, 0.15);
            border: 1px solid #00d4ff;
            color: #7ad0ff;
            padding: 8px 20px;
            border-radius: 40px;
            font-size: 0.9rem;
            cursor: pointer;
            margin-top: 6px;
            transition: 0.2s;
            box-shadow: 0 0 15px #00aaff22;
        }
        #speech-btn:hover { background: rgba(0, 180, 255, 0.3); }
        #speech-btn:active { transform: scale(0.95); }
        #leaderboard {
            position: absolute;
            bottom: 10px;
            right: 16px;
            background: #0a1218cc;
            backdrop-filter: blur(8px);
            padding: 10px 18px;
            border-radius: 40px;
            border: 1px solid #00d4ff;
            color: #7ad0ff;
            font-size: 0.8rem;
            max-width: 200px;
            max-height: 120px;
            overflow-y: auto;
            z-index: 10;
        }
        #leaderboard div { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px solid #00d4ff40; padding: 2px 0; }
        .lb-score { color: #facc15; }
        @media (max-width: 500px) {
            #header span { font-size: 0.7rem; padding: 2px 10px; }
            #entry-screen h1 { font-size: 2rem; }
            #question-panel { font-size: clamp(0.8rem, 2.5vw, 1rem); padding: 10px 14px; min-height: 64px; }
            .congrats-box { padding: 20px 14px; }
            .congrats-box h2 { font-size: 1.8rem; }
            .congrats-box .rank { font-size: 1.5rem; }
            .congrats-box .final-score { font-size: 1.4rem; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id="game-wrapper"&gt;
    &lt;div id="header"&gt;
        &lt;span id="player-name-display"&gt;&#127993; User&lt;/span&gt;
        &lt;span id="level-indicator"&gt;⚡ Level 1&lt;/span&gt;
        &lt;span id="score-indicator"&gt;⭐ 0 / 100&lt;/span&gt;
    &lt;/div&gt;

    &lt;div id="game-canvas-container"&gt;
        &lt;canvas id="gameCanvas" width="800" height="600"&gt;&lt;/canvas&gt;

        &lt;div id="entry-screen"&gt;
            &lt;h1&gt;&#127993; SMART-5S&lt;/h1&gt;
            &lt;input id="playerNameInput" type="text" placeholder="Nama User" maxlength="16"&gt;
            &lt;button class="cyber-btn" id="startGameBtn"&gt;▶ MULAI&lt;/button&gt;
            &lt;div style="color:#4a7a9a; font-size:0.8rem;"&gt;Tembak gelembung jawaban dengan panah!&lt;/div&gt;
        &lt;/div&gt;

        &lt;div id="congrats-overlay"&gt;
            &lt;div class="congrats-box"&gt;
                &lt;div class="user-name"&gt;&#127993; &lt;i id="userNameDisplay"&gt;User&lt;/i&gt;&lt;/div&gt;
                &lt;h2&gt;&#127937; MISI SELESAI&lt;/h2&gt;
                &lt;div class="rank" id="rankDisplay"&gt;SMART-5S Master&lt;/div&gt;
                &lt;div class="final-score"&gt;Skor Akhir: &lt;span id="finalScoreDisplay"&gt;0&lt;/span&gt; / 100&lt;/div&gt;
                &lt;div class="stats-grid"&gt;
                    &lt;span id="levelCompleteDisplay"&gt;Level: 5/5&lt;/span&gt;
                    &lt;span id="accuracyDisplay"&gt;Akurasi: 0%&lt;/span&gt;
                &lt;/div&gt;
                &lt;div class="message" id="personalMessage"&gt;Hebat, User!&lt;/div&gt;
                &lt;button id="speech-btn"&gt;&#128266; Dengarkan Laporan&lt;/button&gt;
                &lt;button class="small-btn" id="restartFromCongratsBtn"&gt;&#128260; Misi Ulang&lt;/button&gt;
                &lt;div class="footer-note"&gt;✦ Selamat Belajar &amp; Bermain ✦&lt;/div&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div id="leaderboard"&gt;
            &lt;div style="color:#facc15; font-weight:bold;"&gt;&#127942; LEADERBOARD&lt;/div&gt;
            &lt;div id="lbEntries"&gt;&lt;div style="color:#4a7a9a;"&gt;Belum ada data&lt;/div&gt;&lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;div id="question-panel"&gt;
        &lt;span class="q-number" id="qNumberDisplay"&gt;1.&lt;/span&gt;
        &lt;span class="q-text" id="qTextDisplay"&gt;Tekan mulai &amp; tembak gelembung&lt;/span&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;script&gt;
    (function(){
        // ----- BANK PERTANYAAN SMART-5S -----
        const LEVELS = 5;
        const QUESTIONS_PER_LEVEL = 10;
        const MAX_SCORE = 100;

        const QUESTION_BANK = [
            // Level 1: Senyum
            [
                { q: "Apa makna dari Senyum dalam SMART-5S?", options: ["Ekspresi wajah yang menunjukkan keramahan dan kebaikan hati", "Tersenyum sinis kepada orang lain", "Menertawakan orang lain", "Muka cemberut", "Acuh tak acuh"], correct: 0 },
                { q: "Bagaimana penerapan Senyum yang benar?", options: ["Memberikan senyuman tulus saat kontak mata", "Tersenyum hanya jika dipaksa", "Tersenyum kepada teman saja", "Tersenyum tanpa alasan", "Tersenyum hanya di foto"], correct: 0 },
                { q: "Apa manfaat utama dari Senyum?", options: ["Mempererat hubungan dan menciptakan suasana hangat", "Menakut-nakuti orang lain", "Menunjukkan kesombongan", "Membuat orang lain cemburu", "Menghindari interaksi"], correct: 0 },
                { q: "Senyum yang tulus mencerminkan...", options: ["Kebaikan hati", "Kepalsuan", "Kesombongan", "Keangkuhan", "Ketakutan"], correct: 0 },
                { q: "Senyum dapat membuat orang lain merasa...", options: ["Dihargai dan nyaman", "Takut", "Bosan", "Tersinggung", "Marah"], correct: 0 },
                { q: "Senyum adalah bahasa...", options: ["Universal", "Tertutup", "Individual", "Egois", "Sulit"], correct: 0 },
                { q: "Apa yang dimaksud dengan 'senyum tulus'?", options: ["Senyum yang datang dari hati", "Senyum yang dibuat-buat", "Senyum sinis", "Senyum mengejek", "Senyum terpaksa"], correct: 0 },
                { q: "Senyum dapat mengurangi...", options: ["Ketegangan dan stres", "Kebahagiaan", "Pertemanan", "Kerukunan", "Semangat"], correct: 0 },
                { q: "Kapan sebaiknya kita memberikan senyum?", options: ["Saat bertemu atau memulai percakapan", "Hanya saat senang", "Hanya saat dipaksa", "Tidak perlu tersenyum", "Saat sendirian"], correct: 0 },
                { q: "Senyum dalam SMART-5S bertujuan untuk...", options: ["Membuka komunikasi yang hangat", "Menutup komunikasi", "Membuat orang lain takut", "Menunjukkan kekuasaan", "Mengasingkan diri"], correct: 0 }
            ],
            // Level 2: Salam
            [
                { q: "Apa makna dari Salam dalam SMART-5S?", options: ["Ungkapan atau gestur untuk menyapa dan memberi penghormatan", "Hanya melambaikan tangan", "Mengangguk saja", "Tidak perlu menyapa", "Mengabaikan orang lain"], correct: 0 },
                { q: "Contoh penerapan Salam yang benar adalah...", options: ["Mengucapkan 'Assalamu'alaikum' atau 'Selamat pagi'", "Hanya melambaikan tangan", "Mengangguk tanpa kata", "Tidak mengucapkan apa-apa", "Menghindari kontak"], correct: 0 },
                { q: "Apa manfaat dari Salam?", options: ["Memberi kesan positif dan mengurangi jarak emosional", "Menakut-nakuti", "Membuat orang lain risih", "Menunjukkan kekuasaan", "Mengasingkan diri"], correct: 0 },
                { q: "Salam yang diajarkan dalam SMART-5S adalah...", options: ["Assalamu'alaikum", "Halo", "Hey", "Apa kabar", "Selamat pagi"], correct: 0 },
                { q: "Salam adalah doa untuk...", options: ["Keselamatan dan kebaikan", "Kekayaan", "Ketenaran", "Kekuasaan", "Kemenangan"], correct: 0 },
                { q: "Budaya salam mencerminkan...", options: ["Kerendahan hati", "Kesombongan", "Keangkuhan", "Kebencian", "Kecurigaan"], correct: 0 },
                { q: "Mengucapkan salam ketika bertemu guru adalah bentuk...", options: ["Salam (SMART-5S)", "Senyum", "Sapa", "Sopan", "Santun"], correct: 0 },
                { q: "Membalas salam adalah kewajiban...", options: ["Sosial dan agama", "Pribadi", "Hanya untuk teman", "Hanya untuk guru", "Tidak perlu"], correct: 0 },
                { q: "Salam yang baik diiringi dengan...", options: ["Jabat tangan atau mengatupkan tangan di dada", "Diam saja", "Menghindar", "Menatap tajam", "Teriakan"], correct: 0 },
                { q: "Salam dapat membangun...", options: ["Hubungan yang harmonis", "Permusuhan", "Jarak", "Kesalahpahaman", "Konflik"], correct: 0 }
            ],
            // Level 3: Sapa
            [
                { q: "Apa makna dari Sapa dalam SMART-5S?", options: ["Bentuk interaksi untuk menanyakan kabar atau memulai pembicaraan", "Memanggil dengan keras", "Menggodai teman", "Menghindari orang", "Bersikap cuek"], correct: 0 },
                { q: "Contoh penerapan Sapa yang benar adalah...", options: ["'Apa kabar?' atau 'Bagaimana harimu?'", "Memanggil dengan teriakan", "Menghina", "Diam saja", "Acuh tak acuh"], correct: 0 },
                { q: "Apa manfaat dari Sapa?", options: ["Menunjukkan kepedulian dan membangun hubungan akrab", "Menakut-nakuti", "Membuat orang lain bosan", "Menunjukkan kekuasaan", "Mengasingkan diri"], correct: 0 },
                { q: "Sapa yang baik adalah...", options: ["Dengan kata-kata yang santun dan hangat", "Dengan teriakan", "Dengan nada tinggi", "Dengan kata kasar", "Dengan diam saja"], correct: 0 },
                { q: "Sapa dapat mempererat...", options: ["Hubungan pertemanan", "Permusuhan", "Jarak", "Kesalahpahaman", "Konflik"], correct: 0 },
                { q: "Sapa yang akrab membuat orang lain merasa...", options: ["Dihargai dan diperhatikan", "Takut", "Bosan", "Tersinggung", "Marah"], correct: 0 },
                { q: "Sapa yang baik dimulai dengan...", options: ["Senyum dan salam", "Diam", "Menghindar", "Menatap tajam", "Teriakan"], correct: 0 },
                { q: "Sapa membuat suasana menjadi...", options: ["Akrab dan hangat", "Tegang", "Mencekam", "Dingin", "Kaku"], correct: 0 },
                { q: "Setelah memberi salam, langkah selanjutnya adalah...", options: ["Memberikan sapa", "Langsung pergi", "Diam", "Menghindar", "Acuh"], correct: 0 },
                { q: "Sapa menunjukkan...", options: ["Kepedulian dan perhatian", "Keangkuhan", "Kesombongan", "Ketakutan", "Kebencian"], correct: 0 }
            ],
            // Level 4: Sopan
            [
                { q: "Apa makna dari Sopan dalam SMART-5S?", options: ["Sikap menghargai norma sosial, tata krama, dan bahasa yang baik", "Berbicara kasar", "Memotong pembicaraan", "Tidak peduli", "Bersikap angkuh"], correct: 0 },
                { q: "Contoh penerapan Sopan yang benar adalah...", options: ["Menggunakan bahasa tubuh yang menghargai lawan bicara", "Meludah sembarangan", "Memotong pembicaraan", "Menggunakan kata kasar", "Acuh tak acuh"], correct: 0 },
                { q: "Apa manfaat dari Sopan?", options: ["Membuat diri lebih dihargai dan suasana nyaman", "Menakut-nakuti", "Membuat orang lain bosan", "Menunjukkan kekuasaan", "Mengasingkan diri"], correct: 0 },
                { q: "Sopan dalam berbicara berarti...", options: ["Menggunakan kata yang halus", "Berteriak", "Memotong pembicaraan", "Menggunakan kata kasar", "Mengabaikan lawan bicara"], correct: 0 },
                { q: "Sopan santun kepada guru menunjukkan...", options: ["Penghormatan", "Ketakutan", "Keangkuhan", "Kebencian", "Ketidakpedulian"], correct: 0 },
                { q: "Sopan adalah cerminan...", options: ["Karakter mulia", "Kelemahan", "Kesombongan", "Keangkuhan", "Kebodohan"], correct: 0 },
                { q: "Menghargai pendapat teman adalah bentuk...", options: ["Sopan", "Senyum", "Salam", "Sapa", "Santun"], correct: 0 },
                { q: "Sopan dalam berpakaian di sekolah adalah...", options: ["Seragam rapi dan sopan", "Pakaian bebas", "Pakaian ketat", "Pakaian kusut", "Pakaian tidak senonoh"], correct: 0 },
                { q: "Sopan bertujuan untuk...", options: ["Menciptakan interaksi yang nyaman", "Menakut-nakuti", "Menghina", "Mengasingkan", "Membuat kacau"], correct: 0 },
                { q: "Sopan mencerminkan...", options: ["Penghargaan terhadap orang lain", "Keangkuhan", "Kesombongan", "Ketakutan", "Kebencian"], correct: 0 }
            ],
            // Level 5: Santun
            [
                { q: "Apa makna dari Santun dalam SMART-5S?", options: ["Perwujudan kehalusan budi bahasa dan perilaku penuh kelembutan", "Bersikap kasar", "Bersikap sombong", "Menghina orang", "Bersikap acuh"], correct: 0 },
                { q: "Contoh penerapan Santun yang benar adalah...", options: ["Mengucapkan 'Tolong', 'Terima kasih', dan 'Maaf'", "Berbicara kasar", "Menghina teman", "Mengabaikan guru", "Bersikap angkuh"], correct: 0 },
                { q: "Apa manfaat dari Santun?", options: ["Membangun reputasi positif dan memancarkan empati", "Menakut-nakuti", "Membuat orang lain bosan", "Menunjukkan kekuasaan", "Mengasingkan diri"], correct: 0 },
                { q: "Santun dalam berkomunikasi berarti...", options: ["Memilih kata dengan bijak dan nada lembut", "Berteriak", "Memotong pembicaraan", "Menggunakan kata kasar", "Diam saja"], correct: 0 },
                { q: "Budaya santun diajarkan sejak...", options: ["Usia dini", "Dewasa", "Lanjut usia", "Sekolah menengah", "Perguruan tinggi"], correct: 0 },
                { q: "Santun membuat orang lain merasa...", options: ["Nyaman dan dihormati", "Takut", "Bosan", "Tersinggung", "Marah"], correct: 0 },
                { q: "Kebalikan dari santun adalah...", options: ["Kasar dan angkuh", "Ramah", "Baik", "Rendah hati", "Sopan"], correct: 0 },
                { q: "Santun adalah bagian dari...", options: ["Akhlak mulia", "Kelemahan", "Kesombongan", "Keangkuhan", "Kebodohan"], correct: 0 },
                { q: "Penerapan santun di media sosial adalah...", options: ["Berkomentar dengan sopan", "Menyebarkan kebencian", "Menghina orang", "Menggunakan kata kasar", "Mengabaikan etika"], correct: 0 },
                { q: "Santun dalam SMART-5S bertujuan untuk...", options: ["Memancarkan empati dan kedewasaan emosional", "Menakut-nakuti", "Menghina", "Mengasingkan", "Membuat kacau"], correct: 0 }
            ]
        ];

        // ----- STATE -----
        let userName = "User";
        let currentLevel = 0;
        let currentQuestionIndex = 0;
        let score = 0;
        let totalAttempts = 0;
        let correctAttempts = 0;
        let questionsForLevel = [];
        let bubbles = [];
        let gameActive = false;
        let levelCompleted = false;
        let animationFrame = null;
        let canvas, ctx;
        let W, H;
        let leaderboardData = [];
        let particles = [];
        let fireworks = [];
        let isCelebrating = false;
        let finalScore = 0;
        let finalRank = "";
        let finalMessage = "";
        let finalAccuracy = 0;

        // Archery state - pemanah bergerak horizontal di bawah target
        let archer = { x: 50, y: 0 };
        let arrow = { 
            x: 0, y: 0, 
            vx: 0, vy: 0, 
            active: false, 
            angle: 0,
            targetX: 0,
            targetY: 0,
            speed: 10,
            homing: false
        };
        let arrowCooldown = 0;
        let mouseX = 0, mouseY = 0;
        let archerTargetY = 0;
        let archerSpeed = 2.5;

        // DOM
        const canvasEl = document.getElementById('gameCanvas');
        const questionPanel = document.getElementById('question-panel');
        const qNumberDisplay = document.getElementById('qNumberDisplay');
        const qTextDisplay = document.getElementById('qTextDisplay');
        const levelIndicator = document.getElementById('level-indicator');
        const scoreIndicator = document.getElementById('score-indicator');
        const playerNameDisplay = document.getElementById('player-name-display');
        const entryScreen = document.getElementById('entry-screen');
        const congratsOverlay = document.getElementById('congrats-overlay');
        const finalScoreSpan = document.getElementById('finalScoreDisplay');
        const rankDisplay = document.getElementById('rankDisplay');
        const personalMessage = document.getElementById('personalMessage');
        const userNameDisplay = document.getElementById('userNameDisplay');
        const levelCompleteDisplay = document.getElementById('levelCompleteDisplay');
        const accuracyDisplay = document.getElementById('accuracyDisplay');
        const lbEntries = document.getElementById('lbEntries');
        const speechBtn = document.getElementById('speech-btn');

        canvas = canvasEl;
        ctx = canvas.getContext('2d');

        // Speech Synthesis
        let speechSynth = window.speechSynthesis;
        let speechUtterance = null;

        function speakScoreboard(score, rank, message, accuracy) {
            if (!window.speechSynthesis) return;
            if (speechSynth.speaking) speechSynth.cancel();
            const text = `Laporan misi untuk User ${userName}. Skor akhir ${score} dari 100 poin. Predikat ${rank}. Akurasi ${accuracy} persen. ${message}`;
            speechUtterance = new SpeechSynthesisUtterance(text);
            speechUtterance.lang = 'id-ID';
            speechUtterance.rate = 0.85;
            speechUtterance.pitch = 1;
            speechSynth.speak(speechUtterance);
        }

        // ----- GAME FUNCTIONS -----
        function shuffleArray(arr) {
            for (let i = arr.length - 1; i &gt; 0; i--) {
                const j = Math.floor(Math.random() * (i + 1));
                [arr[i], arr[j]] = [arr[j], arr[i]];
            }
            return arr;
        }

        function loadLeaderboard() {
            try {
                const data = localStorage.getItem('smart5s_leaderboard');
                if (data) leaderboardData = JSON.parse(data);
                else leaderboardData = [];
            } catch(e){ leaderboardData = []; }
            renderLeaderboard();
        }
        function saveLeaderboard() {
            localStorage.setItem('smart5s_leaderboard', JSON.stringify(leaderboardData));
            renderLeaderboard();
        }
        function renderLeaderboard() {
            if (!lbEntries) return;
            if (leaderboardData.length === 0) {
                lbEntries.innerHTML = '&lt;div style="color:#4a7a9a;"&gt;Belum ada data&lt;/div&gt;';
                return;
            }
            const sorted = [...leaderboardData].sort((a,b) =&gt; b.score - a.score).slice(0,5);
            lbEntries.innerHTML = sorted.map(p =&gt; 
                `&lt;div&gt;&lt;span&gt;${p.name}&lt;/span&gt;&lt;span class="lb-score"&gt;${p.score}&lt;/span&gt;&lt;/div&gt;`
            ).join('');
        }

        function resizeCanvas() {
            const container = document.getElementById('game-canvas-container');
            const rect = container.getBoundingClientRect();
            canvas.width = rect.width || 800;
            canvas.height = rect.height || 600;
            W = canvas.width;
            H = canvas.height;
            // Posisi awal pemanah di bawah target
            archer.y = H - 70;
            archer.x = 50;
            archerTargetY = archer.y;
            if (gameActive &amp;&amp; questionsForLevel.length) {
                generateBubbles();
                if (!levelCompleted) showCurrentQuestion();
            }
        }
        window.addEventListener('resize', resizeCanvas);
        resizeCanvas();

        function loadLevel(levelIdx) {
            currentLevel = levelIdx;
            currentQuestionIndex = 0;
            levelCompleted = false;
            const raw = QUESTION_BANK[levelIdx] || QUESTION_BANK[0];
            questionsForLevel = raw.map(item =&gt; {
                const shuffledOptions = shuffleArray([...item.options]);
                const correctIndex = shuffledOptions.indexOf(item.options[item.correct]);
                return {
                    q: item.q,
                    options: shuffledOptions,
                    correct: correctIndex
                };
            });
            questionsForLevel = shuffleArray(questionsForLevel);
            generateBubbles();
            updateUI();
            if (gameActive) {
                showCurrentQuestion();
            }
        }

        function generateBubbles() {
            bubbles = [];
            if (!questionsForLevel.length) return;
            const total = questionsForLevel.length;
            const cols = Math.min(4, total, Math.floor(W / 130) + 1);
            const rows = Math.ceil(total / cols);
            const spacingX = (W - 80) / (cols + 1);
            const spacingY = (H - 140) / (rows + 2); // Sisakan ruang untuk pemanah di bawah
            const radius = Math.min(spacingX * 0.38, spacingY * 0.42, 55);
            const baseY = spacingY * 0.6 + 20;
            for (let i = 0; i &lt; total; i++) {
                const col = i % cols;
                const row = Math.floor(i / cols);
                let x = 60 + spacingX * (col + 1) + (Math.random() - 0.5) * 30;
                let y = baseY + spacingY * row + (Math.random() - 0.5) * 20;
                x = Math.min(Math.max(x, radius+20), W - radius - 10);
                y = Math.min(Math.max(y, radius+20), H - radius - 80);
                const vx = (Math.random() - 0.5) * 0.6;
                const vy = (Math.random() - 0.5) * 0.6;
                bubbles.push({
                    id: i,
                    x, y, radius,
                    vx, vy,
                    label: questionsForLevel[i]?.options[0] || '?',
                    fullText: questionsForLevel[i]?.options[0] || '?',
                    answered: false,
                    optionIndex: 0
                });
            }
        }

        function wrapTextForBubble(text, maxCharsPerLine) {
            const words = text.split(' ');
            let lines = [];
            let currentLine = '';
            for (let w of words) {
                if ((currentLine + ' ' + w).length &lt;= maxCharsPerLine) {
                    currentLine += (currentLine ? ' ' : '') + w;
                } else {
                    if (currentLine) lines.push(currentLine);
                    currentLine = w;
                }
            }
            if (currentLine) lines.push(currentLine);
            return lines;
        }

        function showCurrentQuestion() {
            if (!questionsForLevel.length || currentQuestionIndex &gt;= questionsForLevel.length) {
                levelCompleted = true;
                if (currentLevel + 1 &lt; LEVELS) {
                    currentLevel++;
                    loadLevel(currentLevel);
                    updateUI();
                } else {
                    showFinalCongrats();
                }
                return;
            }
            const qData = questionsForLevel[currentQuestionIndex];
            if (!qData) return;
            qNumberDisplay.textContent = `${currentQuestionIndex + 1}.`;
            qTextDisplay.textContent = qData.q;
            bubbles.forEach((b, idx) =&gt; {
                const optIdx = idx % qData.options.length;
                b.optionIndex = optIdx;
                b.fullText = qData.options[optIdx] || '?';
                b.label = b.fullText;
                b.answered = false;
            });
        }

        // Fungsi menembak - panah meluncur ke target
        function shootArrow(targetX, targetY) {
            if (!gameActive || levelCompleted) return;
            if (arrow.active || arrowCooldown &gt; 0) return;
            
            const dx = targetX - archer.x;
            const dy = targetY - archer.y;
            const dist = Math.sqrt(dx*dx + dy*dy);
            if (dist &lt; 30) return;
            
            arrow.active = true;
            arrow.x = archer.x + 20;
            arrow.y = archer.y - 10;
            arrow.targetX = targetX;
            arrow.targetY = targetY;
            arrow.homing = true;
            arrow.speed = 10;
            const angle = Math.atan2(dy, dx);
            arrow.vx = Math.cos(angle) * arrow.speed;
            arrow.vy = Math.sin(angle) * arrow.speed;
            arrow.angle = angle;
            arrowCooldown = 12;
        }

        function updateArrow() {
            if (!arrow.active) return;
            
            // Homing ke target
            if (arrow.homing) {
                const dx = arrow.targetX - arrow.x;
                const dy = arrow.targetY - arrow.y;
                const dist = Math.sqrt(dx*dx + dy*dy);
                
                if (dist &gt; 5) {
                    const targetAngle = Math.atan2(dy, dx);
                    let angleDiff = targetAngle - arrow.angle;
                    while (angleDiff &gt; Math.PI) angleDiff -= 2 * Math.PI;
                    while (angleDiff &lt; -Math.PI) angleDiff += 2 * Math.PI;
                    
                    const turnSpeed = 0.1;
                    arrow.angle += angleDiff * turnSpeed;
                    
                    arrow.vx = Math.cos(arrow.angle) * arrow.speed;
                    arrow.vy = Math.sin(arrow.angle) * arrow.speed;
                }
            }
            
            arrow.x += arrow.vx;
            arrow.y += arrow.vy;
            
            // Cek tabrakan dengan gelembung
            for (let b of bubbles) {
                if (b.answered) continue;
                const dx = arrow.x - b.x;
                const dy = arrow.y - b.y;
                if (dx*dx + dy*dy &lt; (b.radius + 6) * (b.radius + 6)) {
                    arrow.active = false;
                    b.answered = true;
                    totalAttempts++;
                    const qData = questionsForLevel[currentQuestionIndex];
                    const selectedOptIdx = b.optionIndex % qData.options.length;
                    const isCorrect = (selectedOptIdx === qData.correct);
                    if (isCorrect) {
                        const scorePerQuestion = MAX_SCORE / (LEVELS * QUESTIONS_PER_LEVEL);
                        score = Math.min(MAX_SCORE, score + scorePerQuestion);
                        correctAttempts++;
                        spawnExplosion(b.x, b.y, '#00ffaa', 25);
                    } else {
                        spawnExplosion(b.x, b.y, '#ff4444', 18);
                    }
                    currentQuestionIndex++;
                    if (currentQuestionIndex &gt;= questionsForLevel.length) {
                        if (currentLevel + 1 &lt; LEVELS) {
                            showLevelCongrats();
                        } else {
                            showFinalCongrats();
                        }
                    } else {
                        showCurrentQuestion();
                    }
                    updateUI();
                    return;
                }
            }
            
            if (arrow.x &gt; W || arrow.x &lt; 0 || arrow.y &gt; H || arrow.y &lt; 0) {
                arrow.active = false;
            }
        }

        function spawnExplosion(x, y, color, count) {
            for (let i=0; i&lt;count; i++) {
                const angle = Math.random() * 2 * Math.PI;
                const speed = Math.random() * 4 + 1;
                particles.push({
                    x, y,
                    vx: Math.cos(angle) * speed,
                    vy: Math.sin(angle) * speed,
                    life: 1,
                    decay: Math.random() * 0.025 + 0.015,
                    size: Math.random() * 5 + 2,
                    color: color
                });
            }
        }

        function showLevelCongrats() {
            qNumberDisplay.textContent = '⚡';
            qTextDisplay.textContent = `Level ${currentLevel+1} Selesai! Skor: ${Math.round(score)} / ${MAX_SCORE}`;
            for (let i=0; i&lt;25; i++) {
                spawnExplosion(Math.random()*W, Math.random()*H, '#00ddff', 6);
            }
            setTimeout(() =&gt; {
                if (currentLevel + 1 &lt; LEVELS) {
                    currentLevel++;
                    loadLevel(currentLevel);
                    updateUI();
                } else {
                    showFinalCongrats();
                }
            }, 1200);
        }

        function getRank(scr) {
            const pct = (scr / MAX_SCORE) * 100;
            if (pct &gt;= 90) return "&#127942; SMART-5S Master";
            else if (pct &gt;= 75) return "&#127775; SMART-5S Expert";
            else if (pct &gt;= 60) return "⚡ SMART-5S Pro";
            else if (pct &gt;= 40) return "&#128216; SMART-5S Learner";
            else return "&#128214; Perlu Belajar Lagi";
        }

        function getMessage(scr) {
            const pct = (scr / MAX_SCORE) * 100;
            if (pct &gt;= 90) return "&#128640; Luar biasa! Anda SMART-5S Master sejati!";
            else if (pct &gt;= 75) return "&#127775; Hebat! Terus pertahankan nilai-nilai SMART-5S!";
            else if (pct &gt;= 60) return "&#128200; Bagus! Asah terus 5S Anda!";
            else if (pct &gt;= 40) return "&#128218; Mulai konsisten, raih predikat lebih tinggi!";
            else return "&#128170; Perlu belajar lagi, raih SMART-5S Master!";
        }

        function showFinalCongrats() {
            gameActive = false;
            finalScore = Math.round(score);
            finalRank = getRank(finalScore);
            finalMessage = getMessage(finalScore);
            finalAccuracy = totalAttempts &gt; 0 ? Math.round((correctAttempts / totalAttempts) * 100) : 0;
            
            congratsOverlay.classList.add('show');
            finalScoreSpan.textContent = finalScore;
            rankDisplay.textContent = finalRank;
            personalMessage.textContent = finalMessage;
            userNameDisplay.textContent = userName;
            levelCompleteDisplay.textContent = `Level: ${LEVELS}/${LEVELS}`;
            accuracyDisplay.textContent = `Akurasi: ${finalAccuracy}%`;
            
            leaderboardData.push({ name: userName, score: finalScore });
            saveLeaderboard();
            
            isCelebrating = true;
            for (let i=0; i&lt;80; i++) {
                setTimeout(() =&gt; {
                    spawnFirework(Math.random()*W, Math.random()*H*0.7 + 50);
                }, i * 65);
            }
            for (let i=0; i&lt;45; i++) {
                setTimeout(() =&gt; {
                    spawnFirework(Math.random()*W, Math.random()*H*0.5 + 30);
                }, 3800 + i * 85);
            }
            setTimeout(() =&gt; {
                speakScoreboard(finalScore, finalRank, finalMessage, finalAccuracy);
            }, 1600);
        }

        function spawnFirework(x, y) {
            const colors = ['#ff4444', '#ffdd44', '#44ff44', '#44ddff', '#ff44ff', '#ffffff', '#ff8800', '#00ffaa', '#a855f7'];
            for (let i=0; i&lt;55; i++) {
                const angle = Math.random() * 2 * Math.PI;
                const speed = Math.random() * 7 + 2;
                const color = colors[Math.floor(Math.random() * colors.length)];
                fireworks.push({
                    x, y,
                    vx: Math.cos(angle) * speed,
                    vy: Math.sin(angle) * speed - 1,
                    life: 1,
                    decay: Math.random() * 0.015 + 0.006,
                    size: Math.random() * 5 + 2,
                    color: color,
                    isConfetti: false
                });
            }
            for (let i=0; i&lt;30; i++) {
                const angle = Math.random() * 2 * Math.PI;
                const speed = Math.random() * 4 + 1;
                const color = colors[Math.floor(Math.random() * colors.length)];
                fireworks.push({
                    x, y,
                    vx: Math.cos(angle) * speed + (Math.random()-0.5)*2,
                    vy: Math.sin(angle) * speed - 2.5,
                    life: 1,
                    decay: Math.random() * 0.01 + 0.004,
                    size: Math.random() * 9 + 4,
                    color: color,
                    isConfetti: true
                });
            }
        }

        function updateUI() {
            levelIndicator.textContent = `⚡ Level ${currentLevel+1}`;
            scoreIndicator.textContent = `⭐ ${Math.round(score)} / ${MAX_SCORE}`;
            playerNameDisplay.textContent = `&#127993; ${userName}`;
        }

        function drawArcher() {
            const ax = archer.x, ay = archer.y;
            ctx.shadowBlur = 20;
            ctx.shadowColor = '#00aaff66';
            // Kaki
            ctx.fillStyle = '#1a3a5a';
            ctx.fillRect(ax-8, ay+10, 6, 14);
            ctx.fillRect(ax+2, ay+10, 6, 14);
            // Badan
            ctx.fillStyle = '#2a5a7a';
            ctx.beginPath();
            ctx.ellipse(ax, ay-4, 16, 22, 0, 0, Math.PI*2);
            ctx.fill();
            // Kepala
            ctx.fillStyle = '#f0d8b0';
            ctx.beginPath();
            ctx.arc(ax, ay-28, 14, 0, Math.PI*2);
            ctx.fill();
            // Rambut
            ctx.fillStyle = '#4a3a2a';
            ctx.beginPath();
            ctx.arc(ax, ay-34, 14, Math.PI, 2*Math.PI);
            ctx.fill();
            
            // Busur - arah ke target (mouse)
            const bowAngle = Math.atan2(mouseY - ay, mouseX - ax);
            const bowLen = 38;
            ctx.strokeStyle = '#c8a060';
            ctx.lineWidth = 3;
            ctx.shadowBlur = 15;
            ctx.shadowColor = '#ffdd44aa';
            ctx.beginPath();
            ctx.arc(ax + 16, ay - 4, bowLen, bowAngle - 0.7, bowAngle + 0.7);
            ctx.stroke();
            // Tali busur
            ctx.strokeStyle = '#aaaacc';
            ctx.lineWidth = 1.5;
            const endAngle1 = bowAngle - 0.7;
            const endAngle2 = bowAngle + 0.7;
            const ex1 = ax + 16 + Math.cos(endAngle1) * bowLen;
            const ey1 = ay - 4 + Math.sin(endAngle1) * bowLen;
            const ex2 = ax + 16 + Math.cos(endAngle2) * bowLen;
            const ey2 = ay - 4 + Math.sin(endAngle2) * bowLen;
            ctx.beginPath();
            ctx.moveTo(ex1, ey1);
            ctx.lineTo(ax + 16 + Math.cos(bowAngle) * 10, ay - 4 + Math.sin(bowAngle) * 10);
            ctx.lineTo(ex2, ey2);
            ctx.stroke();
            ctx.shadowBlur = 0;
            
            // Panah aktif
            if (arrow.active) {
                ctx.save();
                ctx.translate(arrow.x, arrow.y);
                ctx.rotate(arrow.angle);
                ctx.shadowBlur = 20;
                ctx.shadowColor = '#00ffaa88';
                ctx.strokeStyle = '#ddaa88';
                ctx.lineWidth = 2.5;
                ctx.beginPath();
                ctx.moveTo(0, 0);
                ctx.lineTo(25, 0);
                ctx.stroke();
                ctx.fillStyle = '#ffdd44';
                ctx.shadowColor = '#ffdd44aa';
                ctx.beginPath();
                ctx.moveTo(28, 0);
                ctx.lineTo(20, -5);
                ctx.lineTo(20, 5);
                ctx.closePath();
                ctx.fill();
                ctx.fillStyle = '#ff6666';
                ctx.shadowColor = '#ff666688';
                ctx.beginPath();
                ctx.moveTo(-2, 0);
                ctx.lineTo(-8, -6);
                ctx.lineTo(-8, 6);
                ctx.closePath();
                ctx.fill();
                ctx.restore();
                ctx.shadowBlur = 0;
            }
        }

        function draw() {
            ctx.clearRect(0, 0, W, H);
            // Latar
            ctx.fillStyle = 'rgba(0, 10, 30, 0.3)';
            ctx.fillRect(0, 0, W, H);
            // Grid
            ctx.strokeStyle = '#00aaff20';
            ctx.lineWidth = 0.5;
            for (let i=0; i&lt;W; i+=30) {
                ctx.beginPath();
                ctx.moveTo(i, 0);
                ctx.lineTo(i, H);
                ctx.stroke();
            }
            for (let i=0; i&lt;H; i+=30) {
                ctx.beginPath();
                ctx.moveTo(0, i);
                ctx.lineTo(W, i);
                ctx.stroke();
            }
            ctx.strokeStyle = '#00d4ff15';
            ctx.lineWidth = 1;
            for (let i=0; i&lt;W; i+=80) {
                ctx.beginPath();
                ctx.moveTo(i, 0);
                ctx.lineTo(i+40, H);
                ctx.stroke();
            }
            for (let i=0; i&lt;25; i++) {
                ctx.fillStyle = `rgba(0, 180, 255, ${Math.random()*0.2+0.05})`;
                ctx.beginPath();
                ctx.arc(Math.random()*W, Math.random()*H, Math.random()*2+0.5, 0, Math.PI*2);
                ctx.fill();
            }

            // Gelembung
            bubbles.forEach(b =&gt; {
                if (b.answered) return;
                const gradient = ctx.createRadialGradient(b.x-8, b.y-8, 2, b.x, b.y, b.radius);
                gradient.addColorStop(0, '#80d4ff');
                gradient.addColorStop(0.4, '#0088ff');
                gradient.addColorStop(0.8, '#4a00ff');
                gradient.addColorStop(1, '#1a0066');
                ctx.shadowColor = '#00aaffaa';
                ctx.shadowBlur = 35;
                ctx.beginPath();
                ctx.arc(b.x, b.y, b.radius, 0, 2*Math.PI);
                ctx.fillStyle = gradient;
                ctx.fill();
                ctx.shadowBlur = 0;
                ctx.strokeStyle = '#80d4ff';
                ctx.lineWidth = 2.5;
                ctx.shadowColor = '#00aaff';
                ctx.shadowBlur = 15;
                ctx.stroke();
                ctx.shadowBlur = 0;
                ctx.fillStyle = '#ffffff';
                ctx.shadowColor = '#0044ff';
                ctx.shadowBlur = 10;
                let fontSize = Math.max(10, Math.min(b.radius * 0.3, 15));
                ctx.font = `bold ${fontSize}px 'Segoe UI', Arial, sans-serif`;
                const maxChars = Math.floor((b.radius * 2 * 0.6) / (fontSize * 0.6));
                const lines = wrapTextForBubble(b.fullText, maxChars);
                const lineHeight = fontSize * 1.25;
                const totalHeight = lines.length * lineHeight;
                if (totalHeight &gt; b.radius * 1.6) {
                    const newSize = Math.floor(fontSize * (b.radius * 1.6 / totalHeight));
                    fontSize = Math.max(8, Math.min(newSize, 14));
                    ctx.font = `bold ${fontSize}px 'Segoe UI', Arial, sans-serif`;
                }
                const finalLines = wrapTextForBubble(b.fullText, Math.floor((b.radius * 2 * 0.65) / (fontSize * 0.6)));
                const finalLineHeight = fontSize * 1.2;
                const startY = b.y - ((finalLines.length - 1) * finalLineHeight / 2);
                ctx.textAlign = 'center';
                ctx.textBaseline = 'middle';
                for (let i = 0; i &lt; finalLines.length; i++) {
                    ctx.fillText(finalLines[i], b.x, startY + i * finalLineHeight);
                }
                ctx.shadowBlur = 0;
                b.x += b.vx;
                b.y += b.vy;
                if (b.x &lt; b.radius + 20 || b.x &gt; W - b.radius - 10) b.vx *= -1;
                if (b.y &lt; b.radius + 20 || b.y &gt; H - b.radius - 80) b.vy *= -1;
                b.x = Math.min(Math.max(b.x, b.radius+20), W - b.radius - 10);
                b.y = Math.min(Math.max(b.y, b.radius+20), H - b.radius - 80);
            });

            // Update panah
            if (arrow.active) {
                updateArrow();
            }
            if (arrowCooldown &gt; 0) arrowCooldown--;

            // Gerakkan pemanah horizontal mengikuti mouse (di bawah)
            if (gameActive) {
                const targetX = Math.min(Math.max(mouseX, 30), W - 30);
                archer.x += (targetX - archer.x) * 0.08;
                // Pemanah tetap di bawah
                archer.y = H - 70;
            }

            // Gambar pemanah
            drawArcher();

            // Partikel
            for (let i=particles.length-1; i&gt;=0; i--) {
                const p = particles[i];
                p.x += p.vx;
                p.y += p.vy;
                p.life -= p.decay;
                p.vy += 0.05;
                if (p.life &lt;= 0) { particles.splice(i,1); continue; }
                ctx.globalAlpha = p.life;
                ctx.fillStyle = p.color;
                ctx.shadowBlur = 10;
                ctx.shadowColor = p.color;
                ctx.beginPath();
                ctx.arc(p.x, p.y, p.size * p.life, 0, Math.PI*2);
                ctx.fill();
                ctx.shadowBlur = 0;
            }
            ctx.globalAlpha = 1;

            // Fireworks
            for (let i=fireworks.length-1; i&gt;=0; i--) {
                const f = fireworks[i];
                f.x += f.vx;
                f.y += f.vy;
                f.vy += 0.04;
                f.life -= f.decay;
                if (f.life &lt;= 0) { fireworks.splice(i,1); continue; }
                ctx.globalAlpha = f.life;
                ctx.fillStyle = f.color;
                ctx.shadowBlur = 18;
                ctx.shadowColor = f.color;
                if (f.isConfetti) {
                    ctx.save();
                    ctx.translate(f.x, f.y);
                    ctx.rotate(f.life * 12);
                    ctx.fillRect(-f.size/2, -f.size/2, f.size * f.life, f.size * f.life * 0.5);
                    ctx.restore();
                } else {
                    ctx.beginPath();
                    ctx.arc(f.x, f.y, f.size * f.life, 0, Math.PI*2);
                    ctx.fill();
                }
                ctx.shadowBlur = 0;
            }
            ctx.globalAlpha = 1;
        }

        function gameLoop() {
            draw();
            animationFrame = requestAnimationFrame(gameLoop);
        }

        // Event listeners
        canvasEl.addEventListener('click', (e) =&gt; {
            const rect = canvasEl.getBoundingClientRect();
            const scaleX = canvas.width / rect.width;
            const scaleY = canvas.height / rect.height;
            const x = (e.clientX - rect.left) * scaleX;
            const y = (e.clientY - rect.top) * scaleY;
            shootArrow(x, y);
        });

        canvasEl.addEventListener('touchstart', (e) =&gt; {
            e.preventDefault();
            const rect = canvasEl.getBoundingClientRect();
            const touch = e.touches[0];
            const scaleX = canvas.width / rect.width;
            const scaleY = canvas.height / rect.height;
            const x = (touch.clientX - rect.left) * scaleX;
            const y = (touch.clientY - rect.top) * scaleY;
            shootArrow(x, y);
        }, { passive: false });

        canvasEl.addEventListener('mousemove', (e) =&gt; {
            const rect = canvasEl.getBoundingClientRect();
            const scaleX = canvas.width / rect.width;
            const scaleY = canvas.height / rect.height;
            mouseX = (e.clientX - rect.left) * scaleX;
            mouseY = (e.clientY - rect.top) * scaleY;
        });

        speechBtn.addEventListener('click', () =&gt; {
            speakScoreboard(finalScore, finalRank, finalMessage, finalAccuracy);
        });

        function startGame() {
            const nameInput = document.getElementById('playerNameInput');
            userName = nameInput.value.trim() || "User";
            playerNameDisplay.textContent = `&#127993; ${userName}`;
            entryScreen.style.display = 'none';
            congratsOverlay.classList.remove('show');
            score = 0;
            totalAttempts = 0;
            correctAttempts = 0;
            currentLevel = 0;
            gameActive = true;
            isCelebrating = false;
            particles = [];
            fireworks = [];
            arrow.active = false;
            if (speechSynth.speaking) speechSynth.cancel();
            loadLevel(0);
            updateUI();
            if (animationFrame) cancelAnimationFrame(animationFrame);
            gameLoop();
        }

        document.getElementById('startGameBtn').addEventListener('click', startGame);
        document.getElementById('restartFromCongratsBtn').addEventListener('click', () =&gt; {
            congratsOverlay.classList.remove('show');
            startGame();
        });
        loadLeaderboard();
        loadLevel(0);
        updateUI();
        qNumberDisplay.textContent = '&#127993;';
        qTextDisplay.textContent = 'Masukkan nama User &amp; tekan MULAI';
        gameLoop();

        window.addEventListener('resize', () =&gt; {
            resizeCanvas();
        });
    })();
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;

&lt;h3 dir="ltr" style="line-height: 1.7999999999999998; margin-bottom: 12pt; margin-top: 24pt; text-align: justify;"&gt;&lt;span style="color: #0f1115; font-family: Roboto; font-size: 15pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Fitur Game &amp;amp; Interaksi&lt;/span&gt;&lt;/h3&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 12pt; margin-top: 12pt; text-align: justify;"&gt;&lt;span style="color: #0f1115; font-family: Roboto; font-size: 12pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Game ini menguji pemahaman Anda tentang budaya 5S (Senyum, Salam, Sapa, Sopan, Santun) melalui pertanyaan yang disesuaikan dengan dokumen. Berikut cara bermainnya:&lt;/span&gt;&lt;/p&gt;&lt;ol style="margin-bottom: 0; margin-top: 0; padding-inline-start: 20px;"&gt;&lt;li aria-level="1" dir="ltr" style="font-family: Arial, sans-serif; font-size: 11pt; font-variant: normal; list-style-type: decimal; margin-left: 7.5pt; vertical-align: baseline; white-space: pre;"&gt;&lt;p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 12pt; text-align: justify;"&gt;&lt;span style="color: #0f1115; font-family: Roboto; font-size: 12pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Mulai Permainan: Masukkan nama Anda di layar awal, lalu tekan tombol MULAI.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level="1" dir="ltr" style="font-family: Arial, sans-serif; font-size: 11pt; font-variant: normal; list-style-type: decimal; margin-left: 7.5pt; vertical-align: baseline; white-space: pre;"&gt;&lt;p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 17pt; text-align: justify;"&gt;&lt;span style="color: #0f1115; font-family: Roboto; font-size: 12pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Menembak Gelembung: Klik atau tap gelembung yang berisi jawaban lengkap untuk pertanyaan yang muncul di panel bawah. Gelembung bergerak liar untuk menambah tantangan.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level="1" dir="ltr" style="font-family: Arial, sans-serif; font-size: 11pt; font-variant: normal; list-style-type: decimal; margin-left: 7.5pt; vertical-align: baseline; white-space: pre;"&gt;&lt;p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 17pt; text-align: justify;"&gt;&lt;span style="color: #0f1115; font-family: Roboto; font-size: 12pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Skor &amp;amp; Level: Setiap jawaban benar menambah skor. Selesaikan 10 pertanyaan di setiap level untuk maju ke level berikutnya secara otomatis.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li aria-level="1" dir="ltr" style="font-family: Arial, sans-serif; font-size: 11pt; font-variant: normal; list-style-type: decimal; margin-left: 7.5pt; vertical-align: baseline; white-space: pre;"&gt;&lt;p dir="ltr" role="presentation" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 17pt; text-align: justify;"&gt;&lt;span style="color: #0f1115; font-family: Roboto; font-size: 12pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;Efek &amp;amp; Penghargaan: Saat menjawab benar, akan ada efek ledakan kecil. Di akhir semua level, Anda akan melihat kembang api dan confetti yang meriah, serta pesan personal dan predikat (dari "Perlu Belajar Lagi" hingga "Sahabat-5S Sejati") berdasarkan skor akhir. Skor terbaik tersimpan di Leaderboard.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-left: 15pt; margin-top: 17pt; text-align: center;"&gt;&lt;span style="color: #0f1115; font-family: Roboto; font-size: 12pt; font-variant: normal; vertical-align: baseline; white-space: pre-wrap;"&gt;===SELAMAT BELAJAR DAN BERMAIN===&lt;/span&gt;&lt;/p&gt;
</description><link>http://kitab-investasi.blogspot.com/2026/07/arrow-smart-5s.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-2423197301995743389</guid><pubDate>Thu, 02 Jul 2026 08:28:30 +0000</pubDate><atom:updated>2026-07-06T08:32:02.258+07:00</atom:updated><title>SMART - 5S</title><description>&lt;h3 class="zfr3Q OmQG5e CDt4Ke " dir="ltr" id="h.rynhxzbq5vo2_l" style="border-color: currentcolor; border-style: none; border-width: medium; box-sizing: border-box; color: #857251; font-family: Roboto, sans-serif; font-size: 13pt; font-variant-ligatures: none; letter-spacing: 1px; line-height: 1.8; margin: 24pt 0px 12pt; outline: none; padding: 0pt; pointer-events: none; position: relative; text-align: justify; text-decoration-line: inherit;"&gt;&lt;div class="CjVfdc" jsaction="touchstart:UrsOsc; click:KjsqPd; focusout:QZoaZ; mouseover:y0pDld; mouseout:dq0hvd;fv1Rjc:jbFSOd;CrfLRd:SzACGe;" jscontroller="Ae65rd" style="box-sizing: border-box; display: inline-block; max-width: 100%; pointer-events: all; position: relative;"&gt;&lt;span class="C9DxTc " style="box-sizing: border-box; color: #0f1115; font-family: Roboto, Arial; font-size: 15pt; vertical-align: baseline;"&gt;Fitur Game &amp;amp; Interaksi&lt;/span&gt;&lt;/div&gt;&lt;/h3&gt;&lt;p class="zfr3Q CDt4Ke " dir="ltr" style="border-color: currentcolor; border-style: none; border-width: medium; box-sizing: border-box; color: #212121; font-family: &amp;quot;Open Sans&amp;quot;, sans-serif; font-size: 16px; font-variant-ligatures: none; line-height: 1.38; margin: 12pt 0px; outline: none; padding: 0pt; position: relative; text-align: justify; text-decoration-line: inherit;"&gt;&lt;span class="C9DxTc " style="box-sizing: border-box; color: #0f1115; font-family: Roboto, Arial;"&gt;Game ini menguji pemahaman Anda tentang budaya 5S (Senyum, Salam, Sapa, Sopan, Santun) melalui pertanyaan yang disesuaikan dengan dokumen. Berikut cara bermainnya:&lt;/span&gt;&lt;/p&gt;&lt;ol class="n8H08c BKnRcf " style="box-sizing: border-box; font-family: sans-serif; font-size: 16px; margin: 6px 0px 0px; padding: 0px;"&gt;&lt;li class="zfr3Q TYR86d lsiHE " dir="ltr" style="box-sizing: border-box; color: #212121; font-family: &amp;quot;Open Sans&amp;quot;, sans-serif; font-size: 12pt; font-style: inherit; font-variant-ligatures: none; line-height: 1.56; margin: 0px 0px 0px 15pt; outline: none; padding-top: 0px; position: relative; text-decoration: inherit;"&gt;&lt;p class="zfr3Q CDt4Ke " dir="ltr" role="presentation" style="border-color: currentcolor; border-style: none; border-width: medium; box-sizing: border-box; font-size: 12pt; font-style: inherit; line-height: 1.38; margin: 12pt 0px 0pt 0pt; outline: none; padding: 0pt; position: relative; text-align: justify; text-decoration: inherit; text-indent: 0pt;"&gt;&lt;span class="C9DxTc " style="box-sizing: border-box; color: #0f1115; font-family: Roboto, Arial;"&gt;Mulai Permainan: Masukkan nama Anda di layar awal, lalu tekan tombol MULAI.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li class="zfr3Q TYR86d lsiHE " dir="ltr" style="box-sizing: border-box; color: #212121; font-family: &amp;quot;Open Sans&amp;quot;, sans-serif; font-size: 12pt; font-style: inherit; font-variant-ligatures: none; line-height: 1.56; margin: 6px 0px 0px 15pt; outline: none; position: relative; text-decoration: inherit;"&gt;&lt;p class="zfr3Q CDt4Ke " dir="ltr" role="presentation" style="border-color: currentcolor; border-style: none; border-width: medium; box-sizing: border-box; font-size: 12pt; font-style: inherit; line-height: 1.38; margin: 17pt 0px 0pt 0pt; outline: none; padding: 0pt; position: relative; text-align: justify; text-decoration: inherit; text-indent: 0pt;"&gt;&lt;span class="C9DxTc " style="box-sizing: border-box; color: #0f1115; font-family: Roboto, Arial;"&gt;Menembak Gelembung: Klik atau tap gelembung yang berisi jawaban lengkap untuk pertanyaan yang muncul di panel bawah. Gelembung bergerak liar untuk menambah tantangan.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li class="zfr3Q TYR86d lsiHE " dir="ltr" style="box-sizing: border-box; color: #212121; font-family: &amp;quot;Open Sans&amp;quot;, sans-serif; font-size: 12pt; font-style: inherit; font-variant-ligatures: none; line-height: 1.56; margin: 6px 0px 0px 15pt; outline: none; position: relative; text-decoration: inherit;"&gt;&lt;p class="zfr3Q CDt4Ke " dir="ltr" role="presentation" style="border-color: currentcolor; border-style: none; border-width: medium; box-sizing: border-box; font-size: 12pt; font-style: inherit; line-height: 1.38; margin: 17pt 0px 0pt 0pt; outline: none; padding: 0pt; position: relative; text-align: justify; text-decoration: inherit; text-indent: 0pt;"&gt;&lt;span class="C9DxTc " style="box-sizing: border-box; color: #0f1115; font-family: Roboto, Arial;"&gt;Skor &amp;amp; Level: Setiap jawaban benar menambah skor. Selesaikan 10 pertanyaan di setiap level untuk maju ke level berikutnya secara otomatis.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li class="zfr3Q TYR86d lsiHE " dir="ltr" style="box-sizing: border-box; color: #212121; font-family: &amp;quot;Open Sans&amp;quot;, sans-serif; font-size: 12pt; font-style: inherit; font-variant-ligatures: none; line-height: 1.56; margin: 6px 0px 0px 15pt; outline: none; padding-bottom: 0px; position: relative; text-decoration: inherit;"&gt;&lt;p class="zfr3Q CDt4Ke " dir="ltr" role="presentation" style="border-color: currentcolor; border-style: none; border-width: medium; box-sizing: border-box; font-size: 12pt; font-style: inherit; line-height: 1.38; margin: 17pt 0px 0pt 0pt; outline: none; padding: 0pt; position: relative; text-align: justify; text-decoration: inherit; text-indent: 0pt;"&gt;&lt;span class="C9DxTc " style="box-sizing: border-box; color: #0f1115; font-family: Roboto, Arial;"&gt;Efek &amp;amp; Penghargaan: Saat menjawab benar, akan ada efek ledakan kecil. Di akhir semua level, Anda akan melihat kembang api dan confetti yang meriah, serta pesan personal dan predikat (dari "Perlu Belajar Lagi" hingga "Sahabat-5S Sejati") berdasarkan skor akhir. Skor terbaik tersimpan di Leaderboard.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;html lang="id"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;&lt;/meta&gt;
    &lt;meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"&gt;&lt;/meta&gt;
    &lt;title&gt;SMART-5S Bubble Blaster&lt;/title&gt;
    &lt;style&gt;
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            user-select: none;
        }
        body {
            background: #0a0e1a;
            min-height: 100vh;
            display: flex;
            justify-content: center;
            align-items: center;
            font-family: 'Segoe UI', 'Arial', sans-serif;
        }
        #game-wrapper {
            width: 100%;
            max-width: 800px;
            height: 100vh;
            max-height: 900px;
            background: radial-gradient(circle at 30% 20%, #0d1b2a, #050a14);
            box-shadow: 0 0 50px #00d4ff40, 0 0 120px #0055ff20;
            border-radius: 32px;
            padding: 16px;
            display: flex;
            flex-direction: column;
            position: relative;
            overflow: hidden;
            border: 1px solid #00d4ff60;
        }
        #header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 6px 12px;
            color: #a8e6ff;
            font-weight: bold;
            background: rgba(0, 20, 40, 0.6);
            backdrop-filter: blur(4px);
            border-radius: 60px;
            border: 1px solid #00d4ff80;
            margin-bottom: 10px;
            flex-shrink: 0;
        }
        #header span {
            background: #0a1a2e;
            padding: 4px 16px;
            border-radius: 40px;
            border: 1px solid #00d4ff;
            font-size: 0.9rem;
            letter-spacing: 1px;
        }
        #level-indicator { background: #0a1a2e; color: #7ad0ff; border-color: #00aaff; }
        #score-indicator { color: #facc15; border-color: #facc15; }
        #player-name-display { color: #7ad0ff; border-color: #00aaff; }
        #game-canvas-container {
            flex: 1;
            position: relative;
            background: transparent;
            border-radius: 24px;
            overflow: hidden;
            min-height: 300px;
            border: 1px solid #00d4ff40;
            box-shadow: inset 0 0 60px #0044aa30;
        }
        canvas {
            display: block;
            width: 100%;
            height: 100%;
            background: transparent;
            cursor: crosshair;
        }
        #question-panel {
            background: rgba(0, 16, 32, 0.85);
            backdrop-filter: blur(8px);
            border: 1px solid #00d4ff;
            border-radius: 40px;
            padding: 14px 20px;
            margin-top: 10px;
            color: #e6f7ff;
            font-weight: 600;
            font-size: clamp(1rem, 2.8vw, 1.3rem);
            text-align: left;
            box-shadow: 0 0 40px #0066ff44;
            flex-shrink: 0;
            min-height: 76px;
            display: flex;
            align-items: center;
            line-height: 1.5;
        }
        #question-panel .q-number {
            color: #00d4ff;
            font-weight: 800;
            margin-right: 12px;
            white-space: nowrap;
            text-shadow: 0 0 12px #00aaff;
        }
        #question-panel .q-text {
            color: #ffffff;
            font-weight: 700;
            text-shadow: 0 0 8px rgba(0, 180, 255, 0.3);
        }
        #entry-screen {
            position: absolute;
            inset: 0;
            z-index: 20;
            background: rgba(0, 6, 16, 0.92);
            backdrop-filter: blur(12px);
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            gap: 30px;
            border-radius: 32px;
            padding: 20px;
        }
        #entry-screen h1 {
            font-size: 2.6rem;
            color: #7ad0ff;
            text-shadow: 0 0 40px #00aaff, 0 0 100px #0055ff;
            letter-spacing: 4px;
            font-weight: 800;
        }
        #entry-screen input {
            background: #0a1a2e;
            border: 2px solid #00d4ff;
            border-radius: 60px;
            padding: 16px 24px;
            width: 80%;
            max-width: 340px;
            font-size: 1.3rem;
            color: #d6f0ff;
            text-align: center;
            outline: none;
            box-shadow: 0 0 40px #0066ff55;
        }
        #entry-screen input::placeholder { color: #4a7a9a; }
        .cyber-btn {
            background: linear-gradient(145deg, #0a2a4a, #06152a);
            border: 1px solid #00d4ff;
            color: #d6f0ff;
            padding: 16px 48px;
            border-radius: 60px;
            font-size: 1.6rem;
            font-weight: bold;
            letter-spacing: 3px;
            box-shadow: 0 0 40px #00aaffaa, inset 0 0 20px #00aaff44;
            transition: 0.2s;
            cursor: pointer;
            backdrop-filter: blur(4px);
        }
        .cyber-btn:active { transform: scale(0.93); box-shadow: 0 0 80px #00d4ff; }
        #congrats-overlay {
            position: absolute;
            inset: 0;
            z-index: 30;
            background: rgba(0, 4, 16, 0.85);
            backdrop-filter: blur(8px);
            border-radius: 32px;
            display: none;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            padding: 20px;
            text-align: center;
            color: #fff;
        }
        #congrats-overlay.show { display: flex; }
        .congrats-box {
            background: rgba(0, 16, 32, 0.8);
            border: 2px solid #00d4ff;
            border-radius: 60px;
            padding: 30px 20px;
            max-width: 420px;
            width: 100%;
            box-shadow: 0 0 80px #0066ff88, inset 0 0 30px #00aaff44;
            backdrop-filter: blur(8px);
            position: relative;
            z-index: 5;
        }
        .congrats-box .user-name {
            font-size: 1.4rem;
            color: #7ad0ff;
            margin-bottom: 8px;
            text-shadow: 0 0 20px #00aaff;
        }
        .congrats-box .user-name i {
            font-style: normal;
            background: rgba(0,180,255,0.15);
            padding: 2px 14px;
            border-radius: 30px;
            border: 1px solid #00aaff44;
        }
        .congrats-box h2 {
            font-size: 2.4rem;
            margin-bottom: 6px;
            color: #facc15;
            text-shadow: 0 0 30px #facc15aa;
        }
        .congrats-box .rank {
            font-size: 2rem;
            font-weight: 800;
            background: linear-gradient(45deg, #7ad0ff, #00aaff, #a855f7);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            margin: 10px 0;
            text-shadow: 0 0 40px #00aaff55;
        }
        .congrats-box .final-score {
            font-size: 1.8rem;
            color: #7ad0ff;
            text-shadow: 0 0 20px #00aaff66;
        }
        .congrats-box .final-score span {
            color: #facc15;
            font-weight: 800;
            text-shadow: 0 0 20px #facc1566;
        }
        .congrats-box .message {
            font-size: 1.2rem;
            color: #c8e6ff;
            margin: 16px 0;
            background: rgba(0, 180, 255, 0.1);
            padding: 10px 16px;
            border-radius: 30px;
            border: 1px solid #00aaff44;
        }
        .congrats-box .stats-grid {
            display: flex;
            justify-content: center;
            gap: 20px;
            margin: 12px 0;
            font-size: 0.9rem;
            color: #7ad0ff;
        }
        .congrats-box .stats-grid span {
            background: rgba(0, 20, 50, 0.5);
            padding: 4px 14px;
            border-radius: 20px;
            border: 1px solid #00aaff33;
        }
        .small-btn {
            background: #0a2a4a;
            border: 1px solid #00d4ff;
            color: #d6f0ff;
            padding: 12px 30px;
            border-radius: 60px;
            font-size: 1.2rem;
            margin-top: 12px;
            cursor: pointer;
            transition: 0.2s;
            box-shadow: 0 0 20px #00aaff33;
        }
        .small-btn:active { transform: scale(0.92); }
        #speech-btn {
            background: rgba(0, 180, 255, 0.15);
            border: 1px solid #00d4ff;
            color: #7ad0ff;
            padding: 8px 20px;
            border-radius: 40px;
            font-size: 0.9rem;
            cursor: pointer;
            margin-top: 6px;
            transition: 0.2s;
            box-shadow: 0 0 15px #00aaff22;
        }
        #speech-btn:hover { background: rgba(0, 180, 255, 0.3); }
        #speech-btn:active { transform: scale(0.95); }
        #leaderboard {
            position: absolute;
            bottom: 10px;
            right: 16px;
            background: #0a1218cc;
            backdrop-filter: blur(8px);
            padding: 10px 18px;
            border-radius: 40px;
            border: 1px solid #00d4ff;
            color: #7ad0ff;
            font-size: 0.8rem;
            max-width: 200px;
            max-height: 120px;
            overflow-y: auto;
            z-index: 10;
        }
        #leaderboard div { display: flex; justify-content: space-between; gap: 10px; border-bottom: 1px solid #00d4ff40; padding: 2px 0; }
        .lb-score { color: #facc15; }
        /* Icon IT style */
        .it-icon { filter: drop-shadow(0 0 8px #00aaff66); }
        @media (max-width: 500px) {
            #header span { font-size: 0.7rem; padding: 2px 10px; }
            #entry-screen h1 { font-size: 2rem; }
            #question-panel { font-size: clamp(0.8rem, 2.5vw, 1rem); padding: 10px 14px; min-height: 64px; }
            .congrats-box { padding: 20px 14px; }
            .congrats-box h2 { font-size: 1.8rem; }
            .congrats-box .rank { font-size: 1.5rem; }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;div id="game-wrapper"&gt;
    &lt;div id="header"&gt;
        &lt;span id="player-name-display"&gt;&#128187; User&lt;/span&gt;
        &lt;span id="level-indicator"&gt;⚡ Level 1&lt;/span&gt;
        &lt;span id="score-indicator"&gt;⭐ 0&lt;/span&gt;
    &lt;/div&gt;

    &lt;div id="game-canvas-container"&gt;
        &lt;canvas height="600" id="gameCanvas" width="800"&gt;&lt;/canvas&gt;

        &lt;div id="entry-screen"&gt;
            &lt;h1&gt;&#128640; SMART-5S&lt;/h1&gt;
            &lt;input id="playerNameInput" maxlength="16" placeholder="Nama User" type="text" /&gt;
            &lt;button class="cyber-btn" id="startGameBtn"&gt;▶ MULAI&lt;/button&gt;
            &lt;div style="color: #4a7a9a; font-size: 0.8rem;"&gt;Tembak gelembung jawaban benar!&lt;/div&gt;
        &lt;/div&gt;

        &lt;div id="congrats-overlay"&gt;
            &lt;div class="congrats-box"&gt;
                &lt;div class="user-name"&gt;&#128100; &lt;i id="userNameDisplay"&gt;User&lt;/i&gt;&lt;/div&gt;
                &lt;h2&gt;&#127937; MISI SELESAI&lt;/h2&gt;
                &lt;div class="rank" id="rankDisplay"&gt;SMART-5S Master&lt;/div&gt;
                &lt;div class="final-score"&gt;Skor Akhir: &lt;span id="finalScoreDisplay"&gt;0&lt;/span&gt;&lt;/div&gt;
                &lt;div class="stats-grid"&gt;
                    &lt;span id="levelCompleteDisplay"&gt;Level: 5/5&lt;/span&gt;
                    &lt;span id="accuracyDisplay"&gt;Akurasi: 0%&lt;/span&gt;
                &lt;/div&gt;
                &lt;div class="message" id="personalMessage"&gt;Hebat, User!&lt;/div&gt;
                &lt;button id="speech-btn"&gt;&#128266; Dengarkan Laporan&lt;/button&gt;
                &lt;button class="small-btn" id="restartFromCongratsBtn"&gt;&#128260; Misi Ulang&lt;/button&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div id="leaderboard"&gt;
            &lt;div style="color: #facc15; font-weight: bold;"&gt;&#127942; LEADERBOARD&lt;/div&gt;
            &lt;div id="lbEntries"&gt;&lt;div style="color: #4a7a9a;"&gt;Belum ada data&lt;/div&gt;&lt;/div&gt;
        &lt;/div&gt;
    &lt;/div&gt;

    &lt;div id="question-panel"&gt;
        &lt;span class="q-number" id="qNumberDisplay"&gt;1.&lt;/span&gt;
        &lt;span class="q-text" id="qTextDisplay"&gt;Tekan mulai &amp;amp; tembak gelembung&lt;/span&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;script&gt;
    (function(){
        // ----- BANK PERTANYAAN SMART-5S (Senyum, Salam, Sapa, Sopan, Santun) -----
        const LEVELS = 5;
        const QUESTIONS_PER_LEVEL = 10;

        const QUESTION_BANK = [
            // Level 1: Senyum
            [
                { q: "Apa makna dari Senyum dalam SMART-5S?", options: ["Ekspresi wajah yang menunjukkan keramahan dan kebaikan hati", "Tersenyum sinis kepada orang lain", "Menertawakan orang lain", "Muka cemberut", "Acuh tak acuh"], correct: 0 },
                { q: "Bagaimana penerapan Senyum yang benar?", options: ["Memberikan senyuman tulus saat kontak mata", "Tersenyum hanya jika dipaksa", "Tersenyum kepada teman saja", "Tersenyum tanpa alasan", "Tersenyum hanya di foto"], correct: 0 },
                { q: "Apa manfaat utama dari Senyum?", options: ["Mempererat hubungan dan menciptakan suasana hangat", "Menakut-nakuti orang lain", "Menunjukkan kesombongan", "Membuat orang lain cemburu", "Menghindari interaksi"], correct: 0 },
                { q: "Senyum yang tulus mencerminkan...", options: ["Kebaikan hati", "Kepalsuan", "Kesombongan", "Keangkuhan", "Ketakutan"], correct: 0 },
                { q: "Senyum dapat membuat orang lain merasa...", options: ["Dihargai dan nyaman", "Takut", "Bosan", "Tersinggung", "Marah"], correct: 0 },
                { q: "Senyum adalah bahasa...", options: ["Universal", "Tertutup", "Individual", "Egois", "Sulit"], correct: 0 },
                { q: "Apa yang dimaksud dengan 'senyum tulus'?", options: ["Senyum yang datang dari hati", "Senyum yang dibuat-buat", "Senyum sinis", "Senyum mengejek", "Senyum terpaksa"], correct: 0 },
                { q: "Senyum dapat mengurangi...", options: ["Ketegangan dan stres", "Kebahagiaan", "Pertemanan", "Kerukunan", "Semangat"], correct: 0 },
                { q: "Kapan sebaiknya kita memberikan senyum?", options: ["Saat bertemu atau memulai percakapan", "Hanya saat senang", "Hanya saat dipaksa", "Tidak perlu tersenyum", "Saat sendirian"], correct: 0 },
                { q: "Senyum dalam SMART-5S bertujuan untuk...", options: ["Membuka komunikasi yang hangat", "Menutup komunikasi", "Membuat orang lain takut", "Menunjukkan kekuasaan", "Mengasingkan diri"], correct: 0 }
            ],
            // Level 2: Salam
            [
                { q: "Apa makna dari Salam dalam SMART-5S?", options: ["Ungkapan atau gestur untuk menyapa dan memberi penghormatan", "Hanya melambaikan tangan", "Mengangguk saja", "Tidak perlu menyapa", "Mengabaikan orang lain"], correct: 0 },
                { q: "Contoh penerapan Salam yang benar adalah...", options: ["Mengucapkan 'Assalamu'alaikum' atau 'Selamat pagi'", "Hanya melambaikan tangan", "Mengangguk tanpa kata", "Tidak mengucapkan apa-apa", "Menghindari kontak"], correct: 0 },
                { q: "Apa manfaat dari Salam?", options: ["Memberi kesan positif dan mengurangi jarak emosional", "Menakut-nakuti", "Membuat orang lain risih", "Menunjukkan kekuasaan", "Mengasingkan diri"], correct: 0 },
                { q: "Salam yang diajarkan dalam SMART-5S adalah...", options: ["Assalamu'alaikum", "Halo", "Hey", "Apa kabar", "Selamat pagi"], correct: 0 },
                { q: "Salam adalah doa untuk...", options: ["Keselamatan dan kebaikan", "Kekayaan", "Ketenaran", "Kekuasaan", "Kemenangan"], correct: 0 },
                { q: "Budaya salam mencerminkan...", options: ["Kerendahan hati", "Kesombongan", "Keangkuhan", "Kebencian", "Kecurigaan"], correct: 0 },
                { q: "Mengucapkan salam ketika bertemu guru adalah bentuk...", options: ["Salam (SMART-5S)", "Senyum", "Sapa", "Sopan", "Santun"], correct: 0 },
                { q: "Membalas salam adalah kewajiban...", options: ["Sosial dan agama", "Pribadi", "Hanya untuk teman", "Hanya untuk guru", "Tidak perlu"], correct: 0 },
                { q: "Salam yang baik diiringi dengan...", options: ["Jabat tangan atau mengatupkan tangan di dada", "Diam saja", "Menghindar", "Menatap tajam", "Teriakan"], correct: 0 },
                { q: "Salam dapat membangun...", options: ["Hubungan yang harmonis", "Permusuhan", "Jarak", "Kesalahpahaman", "Konflik"], correct: 0 }
            ],
            // Level 3: Sapa
            [
                { q: "Apa makna dari Sapa dalam SMART-5S?", options: ["Bentuk interaksi untuk menanyakan kabar atau memulai pembicaraan", "Memanggil dengan keras", "Menggodai teman", "Menghindari orang", "Bersikap cuek"], correct: 0 },
                { q: "Contoh penerapan Sapa yang benar adalah...", options: ["'Apa kabar?' atau 'Bagaimana harimu?'", "Memanggil dengan teriakan", "Menghina", "Diam saja", "Acuh tak acuh"], correct: 0 },
                { q: "Apa manfaat dari Sapa?", options: ["Menunjukkan kepedulian dan membangun hubungan akrab", "Menakut-nakuti", "Membuat orang lain bosan", "Menunjukkan kekuasaan", "Mengasingkan diri"], correct: 0 },
                { q: "Sapa yang baik adalah...", options: ["Dengan kata-kata yang santun dan hangat", "Dengan teriakan", "Dengan nada tinggi", "Dengan kata kasar", "Dengan diam saja"], correct: 0 },
                { q: "Sapa dapat mempererat...", options: ["Hubungan pertemanan", "Permusuhan", "Jarak", "Kesalahpahaman", "Konflik"], correct: 0 },
                { q: "Sapa yang akrab membuat orang lain merasa...", options: ["Dihargai dan diperhatikan", "Takut", "Bosan", "Tersinggung", "Marah"], correct: 0 },
                { q: "Sapa yang baik dimulai dengan...", options: ["Senyum dan salam", "Diam", "Menghindar", "Menatap tajam", "Teriakan"], correct: 0 },
                { q: "Sapa membuat suasana menjadi...", options: ["Akrab dan hangat", "Tegang", "Mencekam", "Dingin", "Kaku"], correct: 0 },
                { q: "Setelah memberi salam, langkah selanjutnya adalah...", options: ["Memberikan sapa", "Langsung pergi", "Diam", "Menghindar", "Acuh"], correct: 0 },
                { q: "Sapa menunjukkan...", options: ["Kepedulian dan perhatian", "Keangkuhan", "Kesombongan", "Ketakutan", "Kebencian"], correct: 0 }
            ],
            // Level 4: Sopan
            [
                { q: "Apa makna dari Sopan dalam SMART-5S?", options: ["Sikap menghargai norma sosial, tata krama, dan bahasa yang baik", "Berbicara kasar", "Memotong pembicaraan", "Tidak peduli", "Bersikap angkuh"], correct: 0 },
                { q: "Contoh penerapan Sopan yang benar adalah...", options: ["Menggunakan bahasa tubuh yang menghargai lawan bicara", "Meludah sembarangan", "Memotong pembicaraan", "Menggunakan kata kasar", "Acuh tak acuh"], correct: 0 },
                { q: "Apa manfaat dari Sopan?", options: ["Membuat diri lebih dihargai dan suasana nyaman", "Menakut-nakuti", "Membuat orang lain bosan", "Menunjukkan kekuasaan", "Mengasingkan diri"], correct: 0 },
                { q: "Sopan dalam berbicara berarti...", options: ["Menggunakan kata yang halus", "Berteriak", "Memotong pembicaraan", "Menggunakan kata kasar", "Mengabaikan lawan bicara"], correct: 0 },
                { q: "Sopan santun kepada guru menunjukkan...", options: ["Penghormatan", "Ketakutan", "Keangkuhan", "Kebencian", "Ketidakpedulian"], correct: 0 },
                { q: "Sopan adalah cerminan...", options: ["Karakter mulia", "Kelemahan", "Kesombongan", "Keangkuhan", "Kebodohan"], correct: 0 },
                { q: "Menghargai pendapat teman adalah bentuk...", options: ["Sopan", "Senyum", "Salam", "Sapa", "Santun"], correct: 0 },
                { q: "Sopan dalam berpakaian di sekolah adalah...", options: ["Seragam rapi dan sopan", "Pakaian bebas", "Pakaian ketat", "Pakaian kusut", "Pakaian tidak senonoh"], correct: 0 },
                { q: "Sopan bertujuan untuk...", options: ["Menciptakan interaksi yang nyaman", "Menakut-nakuti", "Menghina", "Mengasingkan", "Membuat kacau"], correct: 0 },
                { q: "Sopan mencerminkan...", options: ["Penghargaan terhadap orang lain", "Keangkuhan", "Kesombongan", "Ketakutan", "Kebencian"], correct: 0 }
            ],
            // Level 5: Santun
            [
                { q: "Apa makna dari Santun dalam SMART-5S?", options: ["Perwujudan kehalusan budi bahasa dan perilaku penuh kelembutan", "Bersikap kasar", "Bersikap sombong", "Menghina orang", "Bersikap acuh"], correct: 0 },
                { q: "Contoh penerapan Santun yang benar adalah...", options: ["Mengucapkan 'Tolong', 'Terima kasih', dan 'Maaf'", "Berbicara kasar", "Menghina teman", "Mengabaikan guru", "Bersikap angkuh"], correct: 0 },
                { q: "Apa manfaat dari Santun?", options: ["Membangun reputasi positif dan memancarkan empati", "Menakut-nakuti", "Membuat orang lain bosan", "Menunjukkan kekuasaan", "Mengasingkan diri"], correct: 0 },
                { q: "Santun dalam berkomunikasi berarti...", options: ["Memilih kata dengan bijak dan nada lembut", "Berteriak", "Memotong pembicaraan", "Menggunakan kata kasar", "Diam saja"], correct: 0 },
                { q: "Budaya santun diajarkan sejak...", options: ["Usia dini", "Dewasa", "Lanjut usia", "Sekolah menengah", "Perguruan tinggi"], correct: 0 },
                { q: "Santun membuat orang lain merasa...", options: ["Nyaman dan dihormati", "Takut", "Bosan", "Tersinggung", "Marah"], correct: 0 },
                { q: "Kebalikan dari santun adalah...", options: ["Kasar dan angkuh", "Ramah", "Baik", "Rendah hati", "Sopan"], correct: 0 },
                { q: "Santun adalah bagian dari...", options: ["Akhlak mulia", "Kelemahan", "Kesombongan", "Keangkuhan", "Kebodohan"], correct: 0 },
                { q: "Penerapan santun di media sosial adalah...", options: ["Berkomentar dengan sopan", "Menyebarkan kebencian", "Menghina orang", "Menggunakan kata kasar", "Mengabaikan etika"], correct: 0 },
                { q: "Santun dalam SMART-5S bertujuan untuk...", options: ["Memancarkan empati dan kedewasaan emosional", "Menakut-nakuti", "Menghina", "Mengasingkan", "Membuat kacau"], correct: 0 }
            ]
        ];

        // ----- STATE -----
        let userName = "User";
        let currentLevel = 0;
        let currentQuestionIndex = 0;
        let score = 0;
        let totalAttempts = 0;
        let correctAttempts = 0;
        let questionsForLevel = [];
        let bubbles = [];
        let gameActive = false;
        let levelCompleted = false;
        let animationFrame = null;
        let canvas, ctx;
        let W, H;
        let shootCooldown = 0;
        let leaderboardData = [];
        let particles = [];
        let fireworks = [];
        let isCelebrating = false;
        let finalScore = 0;
        let finalRank = "";
        let finalMessage = "";
        let finalAccuracy = 0;

        // DOM
        const canvasEl = document.getElementById('gameCanvas');
        const questionPanel = document.getElementById('question-panel');
        const qNumberDisplay = document.getElementById('qNumberDisplay');
        const qTextDisplay = document.getElementById('qTextDisplay');
        const levelIndicator = document.getElementById('level-indicator');
        const scoreIndicator = document.getElementById('score-indicator');
        const playerNameDisplay = document.getElementById('player-name-display');
        const entryScreen = document.getElementById('entry-screen');
        const congratsOverlay = document.getElementById('congrats-overlay');
        const finalScoreSpan = document.getElementById('finalScoreDisplay');
        const rankDisplay = document.getElementById('rankDisplay');
        const personalMessage = document.getElementById('personalMessage');
        const userNameDisplay = document.getElementById('userNameDisplay');
        const levelCompleteDisplay = document.getElementById('levelCompleteDisplay');
        const accuracyDisplay = document.getElementById('accuracyDisplay');
        const lbEntries = document.getElementById('lbEntries');
        const speechBtn = document.getElementById('speech-btn');

        canvas = canvasEl;
        ctx = canvas.getContext('2d');

        // Speech Synthesis
        let speechSynth = window.speechSynthesis;
        let speechUtterance = null;

        function speakScoreboard(score, rank, message, accuracy) {
            if (!window.speechSynthesis) return;
            if (speechSynth.speaking) speechSynth.cancel();
            const text = `Laporan misi untuk User ${userName}. Skor akhir ${score} poin. Predikat ${rank}. Akurasi ${accuracy} persen. ${message}`;
            speechUtterance = new SpeechSynthesisUtterance(text);
            speechUtterance.lang = 'id-ID';
            speechUtterance.rate = 0.85;
            speechUtterance.pitch = 1;
            speechSynth.speak(speechUtterance);
        }

        // ----- GAME FUNCTIONS -----
        function shuffleArray(arr) {
            for (let i = arr.length - 1; i &gt; 0; i--) {
                const j = Math.floor(Math.random() * (i + 1));
                [arr[i], arr[j]] = [arr[j], arr[i]];
            }
            return arr;
        }

        function loadLeaderboard() {
            try {
                const data = localStorage.getItem('smart5s_leaderboard');
                if (data) leaderboardData = JSON.parse(data);
                else leaderboardData = [];
            } catch(e){ leaderboardData = []; }
            renderLeaderboard();
        }
        function saveLeaderboard() {
            localStorage.setItem('smart5s_leaderboard', JSON.stringify(leaderboardData));
            renderLeaderboard();
        }
        function renderLeaderboard() {
            if (!lbEntries) return;
            if (leaderboardData.length === 0) {
                lbEntries.innerHTML = '&lt;div style="color:#4a7a9a;"&gt;Belum ada data&lt;/div&gt;';
                return;
            }
            const sorted = [...leaderboardData].sort((a,b) =&gt; b.score - a.score).slice(0,5);
            lbEntries.innerHTML = sorted.map(p =&gt; 
                `&lt;div&gt;&lt;span&gt;${p.name}&lt;/span&gt;&lt;span class="lb-score"&gt;${p.score}&lt;/span&gt;&lt;/div&gt;`
            ).join('');
        }

        function resizeCanvas() {
            const container = document.getElementById('game-canvas-container');
            const rect = container.getBoundingClientRect();
            canvas.width = rect.width || 800;
            canvas.height = rect.height || 600;
            W = canvas.width;
            H = canvas.height;
            if (gameActive &amp;&amp; questionsForLevel.length) {
                generateBubbles();
                if (!levelCompleted) showCurrentQuestion();
            }
        }
        window.addEventListener('resize', resizeCanvas);
        resizeCanvas();

        function loadLevel(levelIdx) {
            currentLevel = levelIdx;
            currentQuestionIndex = 0;
            levelCompleted = false;
            const raw = QUESTION_BANK[levelIdx] || QUESTION_BANK[0];
            questionsForLevel = raw.map(item =&gt; {
                const shuffledOptions = shuffleArray([...item.options]);
                const correctIndex = shuffledOptions.indexOf(item.options[item.correct]);
                return {
                    q: item.q,
                    options: shuffledOptions,
                    correct: correctIndex
                };
            });
            questionsForLevel = shuffleArray(questionsForLevel);
            generateBubbles();
            updateUI();
            if (gameActive) {
                showCurrentQuestion();
            }
        }

        function generateBubbles() {
            bubbles = [];
            if (!questionsForLevel.length) return;
            const total = questionsForLevel.length;
            const cols = Math.min(5, total, Math.floor(W / 120) + 1);
            const rows = Math.ceil(total / cols);
            const spacingX = W / (cols + 1);
            const spacingY = H / (rows + 2);
            const radius = Math.min(spacingX * 0.4, spacingY * 0.45, 65);
            const baseY = spacingY * 0.8;
            for (let i = 0; i &lt; total; i++) {
                const col = i % cols;
                const row = Math.floor(i / cols);
                let x = spacingX * (col + 1) + (Math.random() - 0.5) * 30;
                let y = baseY + spacingY * row + (Math.random() - 0.5) * 25;
                x = Math.min(Math.max(x, radius+10), W - radius - 10);
                y = Math.min(Math.max(y, radius+10), H - radius - 10);
                const vx = (Math.random() - 0.5) * 0.8;
                const vy = (Math.random() - 0.5) * 0.8;
                bubbles.push({
                    id: i,
                    x, y, radius,
                    vx, vy,
                    label: questionsForLevel[i]?.options[0] || '?',
                    fullText: questionsForLevel[i]?.options[0] || '?',
                    answered: false,
                    optionIndex: 0
                });
            }
        }

        function wrapTextForBubble(text, maxCharsPerLine) {
            const words = text.split(' ');
            let lines = [];
            let currentLine = '';
            for (let w of words) {
                if ((currentLine + ' ' + w).length &lt;= maxCharsPerLine) {
                    currentLine += (currentLine ? ' ' : '') + w;
                } else {
                    if (currentLine) lines.push(currentLine);
                    currentLine = w;
                }
            }
            if (currentLine) lines.push(currentLine);
            return lines;
        }

        function showCurrentQuestion() {
            if (!questionsForLevel.length || currentQuestionIndex &gt;= questionsForLevel.length) {
                levelCompleted = true;
                if (currentLevel + 1 &lt; LEVELS) {
                    currentLevel++;
                    loadLevel(currentLevel);
                    updateUI();
                } else {
                    showFinalCongrats();
                }
                return;
            }
            const qData = questionsForLevel[currentQuestionIndex];
            if (!qData) return;
            qNumberDisplay.textContent = `${currentQuestionIndex + 1}.`;
            qTextDisplay.textContent = qData.q;
            bubbles.forEach((b, idx) =&gt; {
                const optIdx = idx % qData.options.length;
                b.optionIndex = optIdx;
                b.fullText = qData.options[optIdx] || '?';
                b.label = b.fullText;
                b.answered = false;
            });
        }

        function handleShoot(x, y) {
            if (!gameActive || levelCompleted) return;
            if (shootCooldown &gt; 0) return;
            shootCooldown = 8;
            let hit = null;
            for (let b of bubbles) {
                if (b.answered) continue;
                const dx = x - b.x, dy = y - b.y;
                if (dx*dx + dy*dy &lt; b.radius * b.radius) {
                    hit = b;
                    break;
                }
            }
            if (!hit) return;

            const qData = questionsForLevel[currentQuestionIndex];
            if (!qData) return;
            const selectedOptIdx = hit.optionIndex % qData.options.length;
            const isCorrect = (selectedOptIdx === qData.correct);
            hit.answered = true;
            totalAttempts++;
            if (isCorrect) {
                score++;
                correctAttempts++;
                spawnExplosion(hit.x, hit.y, '#00ffaa', 14);
            } else {
                spawnExplosion(hit.x, hit.y, '#ff4444', 10);
            }
            currentQuestionIndex++;
            if (currentQuestionIndex &gt;= questionsForLevel.length) {
                if (currentLevel + 1 &lt; LEVELS) {
                    showLevelCongrats();
                } else {
                    showFinalCongrats();
                }
            } else {
                showCurrentQuestion();
            }
            updateUI();
        }

        function spawnExplosion(x, y, color, count) {
            for (let i=0; i&lt;count; i++) {
                const angle = Math.random() * 2 * Math.PI;
                const speed = Math.random() * 3 + 1;
                particles.push({
                    x, y,
                    vx: Math.cos(angle) * speed,
                    vy: Math.sin(angle) * speed,
                    life: 1,
                    decay: Math.random() * 0.03 + 0.015,
                    size: Math.random() * 4 + 2,
                    color: color
                });
            }
        }

        function showLevelCongrats() {
            qNumberDisplay.textContent = '⚡';
            qTextDisplay.textContent = `Level ${currentLevel+1} Selesai! Skor: ${score}`;
            for (let i=0; i&lt;20; i++) {
                spawnExplosion(Math.random()*W, Math.random()*H, '#00ddff', 5);
            }
            setTimeout(() =&gt; {
                if (currentLevel + 1 &lt; LEVELS) {
                    currentLevel++;
                    loadLevel(currentLevel);
                    updateUI();
                } else {
                    showFinalCongrats();
                }
            }, 1200);
        }

        function getRank(scr) {
            if (scr &gt;= 45) return "&#127942; SMART-5S Master";
            else if (scr &gt;= 35) return "&#127775; SMART-5S Expert";
            else if (scr &gt;= 25) return "⚡ SMART-5S Pro";
            else if (scr &gt;= 15) return "&#128216; SMART-5S Learner";
            else return "&#128214; Perlu Belajar Lagi";
        }

        function getMessage(scr) {
            if (scr &gt;= 45) return "&#128640; Luar biasa! Anda SMART-5S Master sejati!";
            else if (scr &gt;= 35) return "&#127775; Hebat! Terus pertahankan nilai-nilai SMART-5S!";
            else if (scr &gt;= 25) return "&#128200; Bagus! Asah terus 5S Anda!";
            else if (scr &gt;= 15) return "&#128218; Mulai konsisten, raih predikat lebih tinggi!";
            else return "&#128170; Perlu belajar lagi, raih SMART-5S Master!";
        }

        function showFinalCongrats() {
            gameActive = false;
            finalScore = score;
            finalRank = getRank(score);
            finalMessage = getMessage(score);
            finalAccuracy = totalAttempts &gt; 0 ? Math.round((correctAttempts / totalAttempts) * 100) : 0;
            
            congratsOverlay.classList.add('show');
            finalScoreSpan.textContent = finalScore;
            rankDisplay.textContent = finalRank;
            personalMessage.textContent = finalMessage;
            userNameDisplay.textContent = userName;
            levelCompleteDisplay.textContent = `Level: ${LEVELS}/${LEVELS}`;
            accuracyDisplay.textContent = `Akurasi: ${finalAccuracy}%`;
            
            leaderboardData.push({ name: userName, score: score });
            saveLeaderboard();
            
            isCelebrating = true;
            for (let i=0; i&lt;70; i++) {
                setTimeout(() =&gt; {
                    spawnFirework(Math.random()*W, Math.random()*H*0.7 + 50);
                }, i * 70);
            }
            for (let i=0; i&lt;40; i++) {
                setTimeout(() =&gt; {
                    spawnFirework(Math.random()*W, Math.random()*H*0.5 + 30);
                }, 3500 + i * 90);
            }
            setTimeout(() =&gt; {
                speakScoreboard(finalScore, finalRank, finalMessage, finalAccuracy);
            }, 1600);
        }

        function spawnFirework(x, y) {
            const colors = ['#ff4444', '#ffdd44', '#44ff44', '#44ddff', '#ff44ff', '#ffffff', '#ff8800', '#00ffaa', '#a855f7'];
            for (let i=0; i&lt;50; i++) {
                const angle = Math.random() * 2 * Math.PI;
                const speed = Math.random() * 6 + 2;
                const color = colors[Math.floor(Math.random() * colors.length)];
                fireworks.push({
                    x, y,
                    vx: Math.cos(angle) * speed,
                    vy: Math.sin(angle) * speed - 1,
                    life: 1,
                    decay: Math.random() * 0.015 + 0.007,
                    size: Math.random() * 5 + 2,
                    color: color,
                    isConfetti: false
                });
            }
            for (let i=0; i&lt;25; i++) {
                const angle = Math.random() * 2 * Math.PI;
                const speed = Math.random() * 4 + 1;
                const color = colors[Math.floor(Math.random() * colors.length)];
                fireworks.push({
                    x, y,
                    vx: Math.cos(angle) * speed + (Math.random()-0.5)*2,
                    vy: Math.sin(angle) * speed - 2.5,
                    life: 1,
                    decay: Math.random() * 0.01 + 0.005,
                    size: Math.random() * 8 + 4,
                    color: color,
                    isConfetti: true
                });
            }
        }

        function updateUI() {
            levelIndicator.textContent = `⚡ Level ${currentLevel+1}`;
            scoreIndicator.textContent = `⭐ ${score}`;
            playerNameDisplay.textContent = `&#128187; ${userName}`;
        }

        function draw() {
            ctx.clearRect(0, 0, W, H);
            ctx.fillStyle = 'rgba(0, 10, 30, 0.3)';
            ctx.fillRect(0, 0, W, H);
            ctx.strokeStyle = '#00aaff20';
            ctx.lineWidth = 0.5;
            for (let i=0; i&lt;W; i+=25) {
                ctx.beginPath();
                ctx.moveTo(i, 0);
                ctx.lineTo(i, H);
                ctx.stroke();
            }
            for (let i=0; i&lt;H; i+=25) {
                ctx.beginPath();
                ctx.moveTo(0, i);
                ctx.lineTo(W, i);
                ctx.stroke();
            }
            ctx.strokeStyle = '#00d4ff15';
            ctx.lineWidth = 1;
            for (let i=0; i&lt;W; i+=80) {
                ctx.beginPath();
                ctx.moveTo(i, 0);
                ctx.lineTo(i+40, H);
                ctx.stroke();
            }
            for (let i=0; i&lt;25; i++) {
                ctx.fillStyle = `rgba(0, 180, 255, ${Math.random()*0.2+0.05})`;
                ctx.beginPath();
                ctx.arc(Math.random()*W, Math.random()*H, Math.random()*2+0.5, 0, Math.PI*2);
                ctx.fill();
            }

            bubbles.forEach(b =&gt; {
                if (b.answered) return;
                const gradient = ctx.createRadialGradient(b.x-8, b.y-8, 2, b.x, b.y, b.radius);
                gradient.addColorStop(0, '#80d4ff');
                gradient.addColorStop(0.4, '#0088ff');
                gradient.addColorStop(0.8, '#4a00ff');
                gradient.addColorStop(1, '#1a0066');
                ctx.shadowColor = '#00aaffaa';
                ctx.shadowBlur = 35;
                ctx.beginPath();
                ctx.arc(b.x, b.y, b.radius, 0, 2*Math.PI);
                ctx.fillStyle = gradient;
                ctx.fill();
                ctx.shadowBlur = 0;
                ctx.strokeStyle = '#80d4ff';
                ctx.lineWidth = 2.5;
                ctx.shadowColor = '#00aaff';
                ctx.shadowBlur = 15;
                ctx.stroke();
                ctx.shadowBlur = 0;
                ctx.fillStyle = '#ffffff';
                ctx.shadowColor = '#0044ff';
                ctx.shadowBlur = 10;
                let fontSize = Math.max(10, Math.min(b.radius * 0.3, 15));
                ctx.font = `bold ${fontSize}px 'Segoe UI', Arial, sans-serif`;
                const maxChars = Math.floor((b.radius * 2 * 0.6) / (fontSize * 0.6));
                const lines = wrapTextForBubble(b.fullText, maxChars);
                const lineHeight = fontSize * 1.25;
                const totalHeight = lines.length * lineHeight;
                if (totalHeight &gt; b.radius * 1.6) {
                    const newSize = Math.floor(fontSize * (b.radius * 1.6 / totalHeight));
                    fontSize = Math.max(8, Math.min(newSize, 14));
                    ctx.font = `bold ${fontSize}px 'Segoe UI', Arial, sans-serif`;
                }
                const finalLines = wrapTextForBubble(b.fullText, Math.floor((b.radius * 2 * 0.65) / (fontSize * 0.6)));
                const finalLineHeight = fontSize * 1.2;
                const startY = b.y - ((finalLines.length - 1) * finalLineHeight / 2);
                ctx.textAlign = 'center';
                ctx.textBaseline = 'middle';
                for (let i = 0; i &lt; finalLines.length; i++) {
                    ctx.fillText(finalLines[i], b.x, startY + i * finalLineHeight);
                }
                ctx.shadowBlur = 0;
                b.x += b.vx;
                b.y += b.vy;
                if (b.x &lt; b.radius || b.x &gt; W - b.radius) b.vx *= -1;
                if (b.y &lt; b.radius || b.y &gt; H - b.radius) b.vy *= -1;
                b.x = Math.min(Math.max(b.x, b.radius), W - b.radius);
                b.y = Math.min(Math.max(b.y, b.radius), H - b.radius);
            });

            for (let i=particles.length-1; i&gt;=0; i--) {
                const p = particles[i];
                p.x += p.vx;
                p.y += p.vy;
                p.life -= p.decay;
                p.vy += 0.05;
                if (p.life &lt;= 0) { particles.splice(i,1); continue; }
                ctx.globalAlpha = p.life;
                ctx.fillStyle = p.color;
                ctx.shadowBlur = 10;
                ctx.shadowColor = p.color;
                ctx.beginPath();
                ctx.arc(p.x, p.y, p.size * p.life, 0, Math.PI*2);
                ctx.fill();
                ctx.shadowBlur = 0;
            }
            ctx.globalAlpha = 1;

            for (let i=fireworks.length-1; i&gt;=0; i--) {
                const f = fireworks[i];
                f.x += f.vx;
                f.y += f.vy;
                f.vy += 0.04;
                f.life -= f.decay;
                if (f.life &lt;= 0) { fireworks.splice(i,1); continue; }
                ctx.globalAlpha = f.life;
                ctx.fillStyle = f.color;
                ctx.shadowBlur = 18;
                ctx.shadowColor = f.color;
                if (f.isConfetti) {
                    ctx.save();
                    ctx.translate(f.x, f.y);
                    ctx.rotate(f.life * 12);
                    ctx.fillRect(-f.size/2, -f.size/2, f.size * f.life, f.size * f.life * 0.5);
                    ctx.restore();
                } else {
                    ctx.beginPath();
                    ctx.arc(f.x, f.y, f.size * f.life, 0, Math.PI*2);
                    ctx.fill();
                }
                ctx.shadowBlur = 0;
            }
            ctx.globalAlpha = 1;

            if (shootCooldown &gt; 0) shootCooldown--;
        }

        function gameLoop() {
            draw();
            animationFrame = requestAnimationFrame(gameLoop);
        }

        canvasEl.addEventListener('click', (e) =&gt; {
            const rect = canvasEl.getBoundingClientRect();
            const scaleX = canvas.width / rect.width;
            const scaleY = canvas.height / rect.height;
            const x = (e.clientX - rect.left) * scaleX;
            const y = (e.clientY - rect.top) * scaleY;
            handleShoot(x, y);
        });

        canvasEl.addEventListener('touchstart', (e) =&gt; {
            e.preventDefault();
            const rect = canvasEl.getBoundingClientRect();
            const touch = e.touches[0];
            const scaleX = canvas.width / rect.width;
            const scaleY = canvas.height / rect.height;
            const x = (touch.clientX - rect.left) * scaleX;
            const y = (touch.clientY - rect.top) * scaleY;
            handleShoot(x, y);
        }, { passive: false });

        speechBtn.addEventListener('click', () =&gt; {
            speakScoreboard(finalScore, finalRank, finalMessage, finalAccuracy);
        });

        function startGame() {
            const nameInput = document.getElementById('playerNameInput');
            userName = nameInput.value.trim() || "User";
            playerNameDisplay.textContent = `&#128187; ${userName}`;
            entryScreen.style.display = 'none';
            congratsOverlay.classList.remove('show');
            score = 0;
            totalAttempts = 0;
            correctAttempts = 0;
            currentLevel = 0;
            gameActive = true;
            isCelebrating = false;
            particles = [];
            fireworks = [];
            if (speechSynth.speaking) speechSynth.cancel();
            loadLevel(0);
            updateUI();
            if (animationFrame) cancelAnimationFrame(animationFrame);
            gameLoop();
        }

        document.getElementById('startGameBtn').addEventListener('click', startGame);
        document.getElementById('restartFromCongratsBtn').addEventListener('click', () =&gt; {
            congratsOverlay.classList.remove('show');
            startGame();
        });
        loadLeaderboard();
        loadLevel(0);
        updateUI();
        qNumberDisplay.textContent = '&#128640;';
        qTextDisplay.textContent = 'Masukkan nama User &amp; tekan MULAI';
        gameLoop();

        window.addEventListener('resize', () =&gt; {
            resizeCanvas();
        });
    })();
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description><link>http://kitab-investasi.blogspot.com/2026/07/sahabat-5s.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-6942617448054266765</guid><pubDate>Thu, 25 Jun 2026 04:17:54 +0000</pubDate><atom:updated>2026-06-25T11:25:02.049+07:00</atom:updated><title>E-RAPORT PKL</title><description>&lt;!DOCTYPE html&gt;
&lt;html lang="id"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;title&gt;Aplikasi Rapor PKL - SMK Negeri 1 Tuntang&lt;/title&gt;
    &lt;script src="https://cdn.tailwindcss.com"&gt;&lt;/script&gt;
    
    &lt;!-- Google Fonts: Inter untuk aplikasi &amp; Times New Roman untuk cetakan fisik --&gt;
    &lt;link href="https://fonts.googleapis.com/css2?family=Inter:wght=300;400;500;600;700;800&amp;display=swap" rel="stylesheet"&gt;
    
    &lt;!-- Pustaka html2pdf untuk ekspor PDF instan berkualitas tinggi --&gt;
    &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/html2pdf.js/0.10.1/html2pdf.bundle.min.js"&gt;&lt;/script&gt;
    
    &lt;style&gt;
        body {
            font-family: 'Inter', sans-serif;
        }
        
        @media print {
            body {
                background: white !important;
                color: black !important;
                font-family: 'Times New Roman', Times, serif !important;
                font-size: 8.5pt !important;
            }
            .no-print {
                display: none !important;
            }
            .print-page {
                width: 215mm;
                height: 330mm;
                margin: 0 auto !important;
                padding: 8mm 12mm 8mm 12mm !important;
                box-sizing: border-box;
                background: white !important;
                box-shadow: none !important;
                border: none !important;
                page-break-after: avoid;
                page-break-inside: avoid;
                position: relative;
                display: flex;
                flex-direction: column;
                justify-content: space-between;
            }
            table {
                width: 100% !important;
                border-collapse: collapse !important;
            }
            th, td {
                border: 1px solid black !important;
                padding: 2.5px 4.5px !important;
                font-size: 8pt !important;
                line-height: 1.15 !important;
            }
            .kop-border {
                border-bottom: 4px double black !important;
            }
            /* Menyetel ukuran halaman cetak langsung ke format Folio/F4 */
            @page {
                size: 215mm 330mm;
                margin: 0;
            }
            html, body {
                width: 215mm;
                height: 100%;
            }
        }

        .preview-container {
            display: flex;
            flex-direction: column;
            gap: 20px;
            align-items: center;
        }
        
        .preview-pane {
            width: 215mm;
            height: 330mm;
            padding: 10mm 12mm 10mm 12mm;
            background: white;
            box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.15), 0 8px 15px -6px rgba(0, 0, 0, 0.1);
            border: 1px solid #e2e8f0;
            box-sizing: border-box;
            position: relative;
            font-family: 'Times New Roman', Times, serif;
            color: black;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
        }

        .logo-img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }

        .font-times {
            font-family: 'Times New Roman', Times, serif;
        }

        /* Custom Scrollbar */
        ::-webkit-scrollbar {
            width: 6px;
            height: 6px;
        }
        ::-webkit-scrollbar-track {
            background: #f1f5f9;
        }
        ::-webkit-scrollbar-thumb {
            background: #cbd5e1;
            border-radius: 4px;
        }
        ::-webkit-scrollbar-thumb:hover {
            background: #94a3b8;
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body class="bg-slate-900 text-slate-100 antialiased min-h-screen flex flex-col"&gt;

    &lt;div id="root" class="flex-grow flex flex-col"&gt;&lt;/div&gt;

    &lt;!-- React &amp; Babel Standalone Libraries --&gt;
    &lt;script src="https://unpkg.com/react@18.2.0/umd/react.production.min.js" crossorigin&gt;&lt;/script&gt;
    &lt;script src="https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js" crossorigin&gt;&lt;/script&gt;
    &lt;script src="https://unpkg.com/@babel/standalone@7.24.7/babel.min.js"&gt;&lt;/script&gt;
    
    &lt;!-- Lucide Icon Pack (Stabil UMD Version) --&gt;
    &lt;script src="https://unpkg.com/lucide@0.400.0/dist/umd/lucide.min.js"&gt;&lt;/script&gt;

    &lt;script type="text/babel"&gt;
        const { useState, useEffect, useMemo } = React;

        // Kumpulan Data Utama 35 Siswa XI TJKT 2 (Tahun Pelajaran 2025/2026)
        const initialStudents = [
            { id: 848, nis: "848", nisn: "0075368619", name: "ADNAN DAVID ARDAFA", pklLocation: "BEST CAMP PRIMA DATA", pklAddress: "Jl. Mertokusumo, Desa Candirejo", advisor: "M. Misbahul M", grades: { "1.1": 80, "1.2": 90, "1.3": 85, "1.4": 85, "1.5": 88, "1.6": 90, "2.1": 80, "2.2": 85, "2.3": 92, "2.4": 85, "2.5": 80, "2.6": 95 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 849, nis: "849", nisn: "0074932145", name: "AKBAR ADI SUGESTI", pklLocation: "SMPN 2 TUNTANG", pklAddress: "Jl. Tuntang No. 42", advisor: "Bayu AS", grades: { "1.1": 95, "1.2": 90, "1.3": 88, "1.4": 90, "1.5": 90, "1.6": 90, "2.1": 95, "2.2": 90, "2.3": 86, "2.4": 95, "2.5": 89, "2.6": 87 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 850, nis: "850", nisn: "0071239854", name: "ANDHIKA DIAS DWINOVA", pklLocation: "PERHUTANI SALATIGA", pklAddress: "Jl. Hasanudin No. 110, Salatiga", advisor: "M Achmadi", grades: { "1.1": 98, "1.2": 88, "1.3": 95, "1.4": 97, "1.5": 88, "1.6": 79, "2.1": 77, "2.2": 78, "2.3": 85, "2.4": 87, "2.5": 88, "2.6": 78 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 851, nis: "851", nisn: "0081293847", name: "ANDRI VILANDA", pklLocation: "BEST CAMP PRIMA DATA", pklAddress: "Jl. Mertokusumo, Candirejo", advisor: "Enggar S", grades: { "1.1": 80, "1.2": 95, "1.3": 90, "1.4": 90, "1.5": 90, "1.6": 95, "2.1": 95, "2.2": 95, "2.3": 95, "2.4": 95, "2.5": 95, "2.6": 95 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 852, nis: "852", nisn: "0075531234", name: "ANGGRESWARI NAZWA INSANY", pklLocation: "PT. INDONESIA MEDIA KOMUNIKASI", pklAddress: "Gedung Cyber, lt. 5, Semarang", advisor: "Enggar S", grades: { "1.1": 100, "1.2": 100, "1.3": 100, "1.4": 100, "1.5": 100, "1.6": 100, "2.1": 100, "2.2": 100, "2.3": 100, "2.4": 100, "2.5": 100, "2.6": 100 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 853, nis: "853", nisn: "0079983451", name: "AQTHA'AN NAKHSYABY", pklLocation: "PT. PRO MANUFACTURE INDONESIA (FORMULATRIX)", pklAddress: "Kawasan Industri Candi, Semarang", advisor: "Intan f", grades: { "1.1": 95, "1.2": 96, "1.3": 98, "1.4": 88, "1.5": 86, "1.6": 98, "2.1": 97, "2.2": 95, "2.3": 95, "2.4": 93, "2.5": 95, "2.6": 96 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 854, nis: "854", nisn: "0072314569", name: "ARIEL ADISYAH PUTRA", pklLocation: "TELKOM AKSES UNGARAN", pklAddress: "Jl. Diponegoro No. 89, Ungaran", advisor: "Agung K", grades: { "1.1": 89, "1.2": 89, "1.3": 89, "1.4": 100, "1.5": 89, "1.6": 89, "2.1": 100, "2.2": 89, "2.3": 89, "2.4": 89, "2.5": 89, "2.6": 89 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 855, nis: "855", nisn: "0078834912", name: "ARSA FADEL DEAL", pklLocation: "TELKOM AKSES UNGARAN", pklAddress: "Jl. Diponegoro No. 89, Ungaran", advisor: "Agung K", grades: { "1.1": 89, "1.2": 100, "1.3": 89, "1.4": 89, "1.5": 89, "1.6": 89, "2.1": 89, "2.2": 89, "2.3": 89, "2.4": 89, "2.5": 89, "2.6": 100 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 856, nis: "856", nisn: "0083214567", name: "ASTI NOVITA SARI", pklLocation: "PT. DATA LINTAS MEDIA INDONESIA", pklAddress: "Jl. Jend. Sudirman, Semarang", advisor: "Agung K", grades: { "1.1": 95, "1.2": 94, "1.3": 99, "1.4": 95, "1.5": 90, "1.6": 96, "2.1": 86, "2.2": 90, "2.3": 90, "2.4": 85, "2.5": 85, "2.6": 90 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 857, nis: "857", nisn: "0071122334", name: "CRISTINA DEWIPUTRI", pklLocation: "PLN PERSERO UPT SALATIGA", pklAddress: "Jl. Jend. Sudirman, Salatiga", advisor: "Intan f", grades: { "1.1": 90, "1.2": 90, "1.3": 75, "1.4": 87, "1.5": 95, "1.6": 90, "2.1": 90, "2.2": 80, "2.3": 85, "2.4": 80, "2.5": 90, "2.6": 89 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 858, nis: "858", nisn: "0074455667", name: "DENYSS ARISTA DEWI", pklLocation: "PT. DATA LINTAS MEDIA INDONESIA", pklAddress: "Jl. Jend. Sudirman, Semarang", advisor: "Agung K", grades: { "1.1": 90, "1.2": 95, "1.3": 90, "1.4": 95, "1.5": 95, "1.6": 95, "2.1": 95, "2.2": 95, "2.3": 90, "2.4": 90, "2.5": 95, "2.6": 90 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 859, nis: "859", nisn: "0079988776", name: "DIMAS SUKMA FARIZKI", pklLocation: "BEST CAMP PRIMA DATA", pklAddress: "Jl. Mertokusumo, Candirejo", advisor: "M. Misbahul M", grades: { "1.1": 90, "1.2": 95, "1.3": 90, "1.4": 95, "1.5": 95, "1.6": 95, "2.1": 95, "2.2": 95, "2.3": 90, "2.4": 90, "2.5": 95, "2.6": 90 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 860, nis: "860", nisn: "0073344551", name: "FAHRURROZI", pklLocation: "BEST CAMP PRIMA DATA", pklAddress: "Jl. Mertokusumo, Candirejo", advisor: "M. Misbahul M", grades: { "1.1": 90, "1.2": 92, "1.3": 85, "1.4": 90, "1.5": 88, "1.6": 90, "2.1": 80, "2.2": 85, "2.3": 92, "2.4": 85, "2.5": 85, "2.6": 95 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 861, nis: "861", nisn: "0078899001", name: "FERRA ANGGRAENI", pklLocation: "SMPN 2 TUNTANG", pklAddress: "Jl. Tuntang No. 42", advisor: "Bayu AS", grades: { "1.1": 100, "1.2": 100, "1.3": 100, "1.4": 100, "1.5": 100, "1.6": 100, "2.1": 100, "2.2": 100, "2.3": 100, "2.4": 100, "2.5": 100, "2.6": 100 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 862, nis: "862", nisn: "0072233441", name: "FLORA FIRNANDA", pklLocation: "SMPN 2 TUNTANG", pklAddress: "Jl. Tuntang No. 42", advisor: "Bayu AS", grades: { "1.1": 90, "1.2": 88, "1.3": 85, "1.4": 90, "1.5": 80, "1.6": 90, "2.1": 80, "2.2": 80, "2.3": 92, "2.4": 80, "2.5": 80, "2.6": 90 }, attendance: { sakit: 1, izin: 1, alpha: 0 } },
            { id: 863, nis: "863", nisn: "0071112228", name: "HELSA RIZQI AKBAR", pklLocation: "PERHUTANI SALATIGA", pklAddress: "Jl. Hasanudin No. 110, Salatiga", advisor: "M Achmadi", grades: { "1.1": 77, "1.2": 77, "1.3": 77, "1.4": 77, "1.5": 77, "1.6": 77, "2.1": 77, "2.2": 77, "2.3": 77, "2.4": 77, "2.5": 77, "2.6": 77 }, attendance: { sakit: 5, izin: 3, alpha: 1 } },
            { id: 864, nis: "864", nisn: "0079900223", name: "ILHAM ARBIANSAH", pklLocation: "BEST CAMP PRIMA DATA", pklAddress: "Jl. Mertokusumo, Candirejo", advisor: "M. Misbahul M", grades: { "1.1": 86, "1.2": 86, "1.3": 86, "1.4": 86, "1.5": 86, "1.6": 86, "2.1": 86, "2.2": 86, "2.3": 86, "2.4": 86, "2.5": 86, "2.6": 86 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 865, nis: "865", nisn: "0074433221", name: "JOEY NUNG JAYA LANANG", pklLocation: "PT. PRO MANUFACTURE INDONESIA", pklAddress: "Kawasan Industri Candi, Semarang", advisor: "Intan f", grades: { "1.1": 80, "1.2": 95, "1.3": 95, "1.4": 90, "1.5": 95, "1.6": 95, "2.1": 95, "2.2": 95, "2.3": 90, "2.4": 95, "2.5": 95, "2.6": 95 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 866, nis: "866", nisn: "0075566778", name: "LIDIA NAILIATUZ ZAHFA", pklLocation: "PT. DATA LINTAS MEDIA INDONESIA", pklAddress: "Jl. Jend. Sudirman, Semarang", advisor: "Agung K", grades: { "1.1": 100, "1.2": 100, "1.3": 100, "1.4": 100, "1.5": 100, "1.6": 100, "2.1": 100, "2.2": 100, "2.3": 100, "2.4": 100, "2.5": 100, "2.6": 100 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 867, nis: "867", nisn: "0078833440", name: "MARTA AKMALIA LUTFI", pklLocation: "SMPN 2 TUNTANG", pklAddress: "Jl. Tuntang No. 42", advisor: "Bayu AS", grades: { "1.1": 89, "1.2": 89, "1.3": 89, "1.4": 89, "1.5": 89, "1.6": 89, "2.1": 89, "2.2": 89, "2.3": 89, "2.4": 89, "2.5": 89, "2.6": 89 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 868, nis: "868", nisn: "0072211993", name: "MOZZA PUTRI RAHAYU", pklLocation: "PT. DATA LINTAS MEDIA INDONESIA", pklAddress: "Jl. Jend. Sudirman, Semarang", advisor: "Agung K", grades: { "1.1": 100, "1.2": 100, "1.3": 100, "1.4": 100, "1.5": 100, "1.6": 100, "2.1": 100, "2.2": 100, "2.3": 100, "2.4": 100, "2.5": 100, "2.6": 100 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 869, nis: "869", nisn: "0078833112", name: "MUHAMAD SATYA FIRMANSYAH", pklLocation: "BEST CAMP PRIMA DATA", pklAddress: "Jl. Mertokusumo, Candirejo", advisor: "M. Misbahul M", grades: { "1.1": 90, "1.2": 92, "1.3": 85, "1.4": 90, "1.5": 88, "1.6": 90, "2.1": 80, "2.2": 85, "2.3": 92, "2.4": 85, "2.5": 85, "2.6": 92 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 870, nis: "870", nisn: "0071199882", name: "MUHAMMAD FAISAL FAHRI", pklLocation: "PERHUTANI SALATIGA", pklAddress: "Jl. Hasanudin No. 110, Salatiga", advisor: "M Achmadi", grades: { "1.1": 85, "1.2": 85, "1.3": 85, "1.4": 90, "1.5": 95, "1.6": 95, "2.1": 90, "2.2": 95, "2.3": 95, "2.4": 95, "2.5": 95, "2.6": 95 }, attendance: { sakit: 1, izin: 0, alpha: 0 } },
            { id: 871, nis: "871", nisn: "0075533119", name: "MUHAMMAD NAJIB", pklLocation: "BEST CAMP PRIMA DATA", pklAddress: "Jl. Mertokusumo, Candirejo", advisor: "M. Misbahul M", grades: { "1.1": 90, "1.2": 90, "1.3": 90, "1.4": 85, "1.5": 90, "1.6": 90, "2.1": 85, "2.2": 85, "2.3": 95, "2.4": 85, "2.5": 85, "2.6": 95 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 872, nis: "872", nisn: "0072211440", name: "MUHAMMAD RIZKY BANTACUT", pklLocation: "BEST CAMP PRIMA DATA", pklAddress: "Jl. Mertokusumo, Candirejo", advisor: "M. Misbahul M", grades: { "1.1": 0, "1.2": 0, "1.3": 0, "1.4": 0, "1.5": 0, "1.6": 0, "2.1": 0, "2.2": 0, "2.3": 0, "2.4": 0, "2.5": 0, "2.6": 0 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 873, nis: "873", nisn: "0073388112", name: "NOVA SILFI NUGROHO", pklLocation: "SMPN 2 TUNTANG", pklAddress: "Jl. Tuntang No. 42", advisor: "Bayu AS", grades: { "1.1": 95, "1.2": 90, "1.3": 79, "1.4": 89, "1.5": 95, "1.6": 95, "2.1": 95, "2.2": 89, "2.3": 89, "2.4": 89, "2.5": 90, "2.6": 95 }, attendance: { sakit: 0, izin: 1, alpha: 0 } },
            { id: 874, nis: "874", nisn: "0079922113", name: "RANGGA BAGUS PRASETYO", pklLocation: "BEST CAMP PRIMA DATA", pklAddress: "Jl. Mertokusumo, Candirejo", advisor: "M. Misbahul M", grades: { "1.1": 80, "1.2": 90, "1.3": 85, "1.4": 80, "1.5": 85, "1.6": 85, "2.1": 80, "2.2": 85, "2.3": 92, "2.4": 85, "2.5": 85, "2.6": 90 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 875, nis: "875", nisn: "0074411882", name: "REVA QIRANA HASTARI", pklLocation: "BEST CAMP PRIMA DATA", pklAddress: "Jl. Mertokusumo, Candirejo", advisor: "Enggar S", grades: { "1.1": 76, "1.2": 76, "1.3": 76, "1.4": 76, "1.5": 76, "1.6": 76, "2.1": 76, "2.2": 76, "2.3": 76, "2.4": 76, "2.5": 76, "2.6": 76 }, attendance: { sakit: 1, izin: 1, alpha: 0 } },
            { id: 876, nis: "876", nisn: "0078811993", name: "RYAN ANUGRAH UTAMA", pklLocation: "PERHUTANI SALATIGA", pklAddress: "Jl. Hasanudin No. 110, Salatiga", advisor: "M Achmadi", grades: { "1.1": 95, "1.2": 90, "1.3": 88, "1.4": 87, "1.5": 90, "1.6": 90, "2.1": 95, "2.2": 87, "2.3": 86, "2.4": 90, "2.5": 90, "2.6": 88 }, attendance: { sakit: 0, izin: 1, alpha: 0 } },
            { id: 877, nis: "877", nisn: "0072288334", name: "SA'IDUL MUSTAJIRIN", pklLocation: "PT. PRO MANUFACTURE INDONESIA", pklAddress: "Kawasan Industri Candi, Semarang", advisor: "Intan f", grades: { "1.1": 95, "1.2": 96, "1.3": 98, "1.4": 98, "1.5": 96, "1.6": 98, "2.1": 98, "2.2": 97, "2.3": 96, "2.4": 95, "2.5": 95, "2.6": 93 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 878, nis: "878", nisn: "0071199554", name: "SALWA LAIDIYATUZZULFA", pklLocation: "PT. DATA LINTAS MEDIA INDONESIA", pklAddress: "Jl. Jend. Sudirman, Semarang", advisor: "Agung K", grades: { "1.1": 90, "1.2": 90, "1.3": 90, "1.4": 95, "1.5": 90, "1.6": 90, "2.1": 90, "2.2": 95, "2.3": 95, "2.4": 90, "2.5": 90, "2.6": 95 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 879, nis: "879", nisn: "0074433112", name: "SOVI SALMA", pklLocation: "SMPN 2 TUNTANG", pklAddress: "Jl. Tuntang No. 42", advisor: "Bayu AS", grades: { "1.1": 88, "1.2": 90, "1.3": 85, "1.4": 90, "1.5": 90, "1.6": 90, "2.1": 86, "2.2": 90, "2.3": 90, "2.4": 88, "2.5": 85, "2.6": 95 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 880, nis: "880", nisn: "0078822119", name: "SUCI DWI YANTI", pklLocation: "PT. DATA LINTAS MEDIA INDONESIA", pklAddress: "Jl. Jend. Sudirman, Semarang", advisor: "Agung K", grades: { "1.1": 95, "1.2": 95, "1.3": 99, "1.4": 95, "1.5": 90, "1.6": 95, "2.1": 88, "2.2": 90, "2.3": 90, "2.4": 85, "2.5": 85, "2.6": 90 }, attendance: { sakit: 0, izin: 0, alpha: 0 } },
            { id: 881, nis: "881", nisn: "0073311993", name: "VERLIANA VIKA DEA PUTRI", pklLocation: "SMPN 2 TUNTANG", pklAddress: "Jl. Tuntang No. 42", advisor: "Bayu AS", grades: { "1.1": 78, "1.2": 78, "1.3": 78, "1.4": 78, "1.5": 78, "1.6": 78, "2.1": 78, "2.2": 78, "2.3": 78, "2.4": 78, "2.5": 78, "2.6": 78 }, attendance: { sakit: 1, izin: 2, alpha: 0 } },
            { id: 882, nis: "882", nisn: "0074499119", name: "ZIDAN ALFARIZOJ", pklLocation: "BEST CAMP PRIMA DATA", pklAddress: "Jl. Mertokusumo, Candirejo", advisor: "Enggar S", grades: { "1.1": 80, "1.2": 85, "1.3": 80, "1.4": 85, "1.5": 85, "1.6": 85, "2.1": 80, "2.2": 85, "2.3": 90, "2.4": 80, "2.5": 85, "2.6": 90 }, attendance: { sakit: 0, izin: 1, alpha: 0 } }
        ];

        // Definisi Konfigurasi Kompetensi Kelas
        const competencyMetadata = {
            "1.1": { code: "1.1", name: "Disiplin", group: "Non-Teknis", text: "Murid menunjukkan sikap Disiplin" },
            "1.2": { code: "1.2", name: "Kerjasama", group: "Non-Teknis", text: "Murid menunjukkan sikap sangat bisa bekerjasama" },
            "1.3": { code: "1.3", name: "Kejuruan", group: "Non-Teknis", text: "Murid menunjukkan sikap sesuai tuntutan kejuruan" },
            "1.4": { code: "1.4", name: "Kerapian", group: "Non-Teknis", text: "Murid menunjukkan sikap rapi" },
            "1.5": { code: "1.5", name: "Tanggung Jawab", group: "Non-Teknis", text: "Murid menunjukkan sikap bertanggungjawab" },
            "1.6": { code: "1.6", name: "Kemauan Kerja", group: "Non-Teknis", text: "Murid menunjukkan sikap kerja sangat bertanggungjawab" },
            "2.1": { code: "2.1", name: "Merakit Personal Komputer", group: "Teknis", text: "merakit personal komputer" },
            "2.2": { code: "2.2", name: "Instalasi Sistem Operasi Dasar", group: "Teknis", text: "Melakukan Instalasi Sistem Operasi Dasar" },
            "2.3": { code: "2.3", name: "Perbaikan / Seting Ulang sistem PC", group: "Teknis", text: "Melakukan Perbaikan dan/atau Seting Ulang sistem PC" },
            "2.4": { code: "2.4", name: "Instalasi Software", group: "Teknis", text: "Melakukan Instalasi Software" },
            "2.5": { code: "2.5", name: "Instalasi Perangkat Jaringan Lokal", group: "Teknis", text: "Melakukan Instalasi Perangkat Jaringan Lokal (Local area Network)" },
            "2.6": { code: "2.6", name: "Perbaikan/Seting Ulang Koneksi Jaringan", group: "Teknis", text: "Melakukan Perbaikan dan/atau Seting Ulang Koneksi Jaringan" }
        };

        // Standardisasi Struktur Data Penandatanganan SMKN 1 Tuntang
        const initialSchoolConfig = {
            schoolName: "SMK NEGERI 1 TUNTANG",
            headmasterName: "Ardan Sirodjuddin, S.Pd., M.Pd.",
            headmasterNip: "19810123 200501 1 002",
            homeroomTeacher: "Nofrizal, S.T., Gr.",
            homeroomNip: "19770327 202221 1002",
            address: "Jl. Mertokusumo Desa Candirejo Kecamatan Tuntang Kabupaten Semarang",
            postalCode: "50773",
            phone: "(0298) 3539034",
            email: "smkn1tuntang@gmail.com",
            website: "www.smknegerituntang.sch.id",
            printDate: "18 Maret 2026",
            printLocation: "Tuntang",
            semester: "F-Gasal/5-2025/2026"
        };

        // Representasi SVG default Provinsi Jawa Tengah untuk Logo Kiri
        const defaultLogoLeftSVG = `data:image/svg+xml;utf8,&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" fill="black"&gt;&lt;circle cx="50" cy="50" r="45" fill="none" stroke="black" stroke-width="3"/&gt;&lt;path d="M50 15 L25 40 L50 48 L75 40 Z"/&gt;&lt;path d="M32 43 L32 80 L68 80 L68 43 Z" fill="none" stroke="black" stroke-width="2.5"/&gt;&lt;path d="M50 48 L50 80" stroke="black" stroke-width="2"/&gt;&lt;/svg&gt;`;

        // Representasi SVG default Logo SMKN 1 Tuntang untuk Logo Kanan
        const defaultLogoRightSVG = `data:image/svg+xml;utf8,&lt;svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" fill="black"&gt;&lt;polygon points="50,5 95,28 95,72 50,95 5,72 5,28" fill="none" stroke="black" stroke-width="3"/&gt;&lt;polygon points="50,15 85,32 85,68 50,85 15,32 15,68" fill="black"/&gt;&lt;circle cx="50" cy="50" r="12" fill="white"/&gt;&lt;/svg&gt;`;

        // Generator Kalimat Deskripsi Otomatis Sesuai Berkas Raport &amp; Nilai
        const generateCompetenceFeedback = (code, score) =&gt; {
            if (score === 0 || !score) return "Siswa belum menyelesaikan kompetensi.";
            const meta = competencyMetadata[code];
            if (!meta) return "";

            // Non-Teknis Phrasings
            if (meta.group === "Non-Teknis") {
                let adjective = "";
                if (score &gt;= 95) adjective = " luar biasa";
                else if (score &gt;= 90) adjective = " sangat";
                else if (score &gt;= 80) adjective = "";
                else adjective = " cukup";

                if (code === "1.1") return `Murid menunjukkan sikap${adjective} Disiplin`;
                if (code === "1.2") {
                    if (score &gt;= 90) return "Murid menunjukkan sikap sangat bisa bekerjasama";
                    return "Murid menunjukkan sikap bisa bekerjasama";
                }
                if (code === "1.3") return `Murid menunjukkan sikap${adjective} sesuai tuntutan kejuruan`;
                if (code === "1.4") return `Murid menunjukkan sikap${adjective} rapi`;
                if (code === "1.5") return `Murid menunjukkan sikap${adjective} bertanggungjawab`;
                if (code === "1.6") {
                    if (score &gt;= 90) return "Murid menunjukkan sikap kerja sangat bertanggungjawab";
                    return "Murid menunjukkan sikap kerja bertanggungjawab";
                }
            }

            // Teknis Phrasings
            let scaleWord = "terampil";
            if (score &gt;= 90) scaleWord = "sangat terampil";
            else if (score &gt;= 80) scaleWord = "terampil";
            else scaleWord = "cukup terampil";

            return `Murid ${scaleWord} dalam ${meta.text}`;
        };

        function App() {
            const [students, setStudents] = useState(() =&gt; {
                const saved = localStorage.getItem('pkl_students');
                return saved ? JSON.parse(saved) : initialStudents;
            });
            const [schoolConfig, setSchoolConfig] = useState(() =&gt; {
                const saved = localStorage.getItem('pkl_school_v2');
                return saved ? JSON.parse(saved) : initialSchoolConfig;
            });
            
            // State untuk menampung data logo base64 hasil unggahan pengguna
            const [logoLeft, setLogoLeft] = useState(() =&gt; {
                return localStorage.getItem('pkl_logo_left') || defaultLogoLeftSVG;
            });
            const [logoRight, setLogoRight] = useState(() =&gt; {
                return localStorage.getItem('pkl_logo_right') || defaultLogoRightSVG;
            });

            const [selectedStudentId, setSelectedStudentId] = useState(848);
            const [searchQuery, setSearchQuery] = useState("");
            const [filterLocation, setFilterLocation] = useState("ALL");
            const [activeTab, setActiveTab] = useState("preview"); 
            const [editingStudent, setEditingStudent] = useState(null);
            const [feedbackMsg, setFeedbackMsg] = useState("");
            const [fontStyle, setFontStyle] = useState("serif"); // serif (Times) atau sans (Inter)
            const [isExporting, setIsExporting] = useState(false);

            useEffect(() =&gt; {
                localStorage.setItem('pkl_students', JSON.stringify(students));
            }, [students]);

            useEffect(() =&gt; {
                localStorage.setItem('pkl_school_v2', JSON.stringify(schoolConfig));
            }, [schoolConfig]);

            // Simpan perubahan logo kustom ke local storage
            useEffect(() =&gt; {
                localStorage.setItem('pkl_logo_left', logoLeft);
            }, [logoLeft]);

            useEffect(() =&gt; {
                localStorage.setItem('pkl_logo_right', logoRight);
            }, [logoRight]);

            const currentStudent = useMemo(() =&gt; {
                return students.find(s =&gt; s.id === selectedStudentId) || students[0];
            }, [students, selectedStudentId]);

            useEffect(() =&gt; {
                if (currentStudent) {
                    setEditingStudent(JSON.parse(JSON.stringify(currentStudent)));
                }
            }, [currentStudent]);

            const uniqueLocations = useMemo(() =&gt; {
                const locs = students.map(s =&gt; s.pklLocation).filter(Boolean);
                return ["ALL", ...new Set(locs)];
            }, [students]);

            const filteredStudents = useMemo(() =&gt; {
                return students.filter(student =&gt; {
                    const matchesSearch = student.name.toUpperCase().includes(searchQuery.toUpperCase()) ||
                        student.nis.includes(searchQuery) ||
                        student.pklLocation.toUpperCase().includes(searchQuery.toUpperCase()) ||
                        student.advisor.toUpperCase().includes(searchQuery.toUpperCase());
                    
                    const matchesLocation = filterLocation === "ALL" || student.pklLocation === filterLocation;
                    return matchesSearch &amp;&amp; matchesLocation;
                });
            }, [students, searchQuery, filterLocation]);

            const studentStatsList = useMemo(() =&gt; {
                return students.map(st =&gt; {
                    const scores = Object.values(st.grades).filter(v =&gt; v &gt; 0);
                    const total = scores.reduce((a, b) =&gt; a + b, 0);
                    const average = scores.length &gt; 0 ? Math.round(total / scores.length) : 0;
                    return { id: st.id, total, average };
                }).sort((a, b) =&gt; b.average - a.average);
            }, [students]);

            const getRank = (id) =&gt; {
                const index = studentStatsList.findIndex(st =&gt; st.id === id);
                return index !== -1 ? index + 1 : "-";
            };

            const handleUpdateGrades = () =&gt; {
                if (!editingStudent) return;
                setStudents(prev =&gt; prev.map(s =&gt; s.id === editingStudent.id ? editingStudent : s));
                setFeedbackMsg("Data Rapor " + editingStudent.name + " berhasil disimpan!");
                setTimeout(() =&gt; setFeedbackMsg(""), 3000);
            };

            // Fungsi utilitas mengonversi berkas gambar yang diunggah ke format data URL base64
            const handleLogoUpload = (e, target) =&gt; {
                const file = e.target.files[0];
                if (!file) return;
                
                const reader = new FileReader();
                reader.onloadend = () =&gt; {
                    if (target === 'left') {
                        setLogoLeft(reader.result);
                    } else {
                        setLogoRight(reader.result);
                    }
                    setFeedbackMsg("Logo berhasil diperbarui!");
                    setTimeout(() =&gt; setFeedbackMsg(""), 2000);
                };
                reader.readAsDataURL(file);
            };

            // Fungsi andalan mengunduh PDF secara instan seukuran kertas F4
            const handleDownloadPDF = () =&gt; {
                setIsExporting(true);
                setFeedbackMsg("Sedang memproses PDF...");
                
                const element = document.getElementById('print-area');
                
                const opt = {
                    margin:       0,
                    filename:     `Rapor_PKL_${currentStudent.name.replace(/\s+/g, '_')}_F4.pdf`,
                    image:        { type: 'jpeg', quality: 0.98 },
                    html2canvas:  { scale: 2, useCORS: true, logging: false },
                    jsPDF:        { unit: 'mm', format: [215, 330], orientation: 'portrait' } // Ukuran F4 / Folio
                };

                // Menghasilkan file PDF client-side
                html2pdf().set(opt).from(element).save().then(() =&gt; {
                    setIsExporting(false);
                    setFeedbackMsg("PDF berhasil diunduh!");
                    setTimeout(() =&gt; setFeedbackMsg(""), 3000);
                }).catch(err =&gt; {
                    setIsExporting(false);
                    setFeedbackMsg("Gagal mengunduh PDF");
                    setTimeout(() =&gt; setFeedbackMsg(""), 3000);
                    console.error(err);
                });
            };

            const calculateStats = (student) =&gt; {
                if (!student) return { total: 0, average: 0, min: 0, max: 0 };
                const scores = Object.values(student.grades).filter(v =&gt; v &gt; 0);
                if (scores.length === 0) return { total: 0, average: 0, min: 0, max: 0 };
                const total = scores.reduce((a, b) =&gt; a + b, 0);
                const average = Math.round(total / scores.length);
                const min = Math.min(...scores);
                const max = Math.max(...scores);
                return { total, average, min, max };
            };

            const currentStats = useMemo(() =&gt; {
                return calculateStats(currentStudent);
            }, [currentStudent]);

            return (
                &lt;div class="min-h-screen flex flex-col no-print text-slate-100 bg-slate-950"&gt;
                    
                    {/* Header Utama Modern */}
                    &lt;header class="bg-gradient-to-r from-slate-900 via-emerald-950 to-slate-900 border-b border-emerald-500/20 shadow-xl sticky top-0 z-50 no-print"&gt;
                        &lt;div class="max-w-7xl mx-auto px-4 py-4 flex flex-col md:flex-row items-center justify-between gap-4"&gt;
                            &lt;div class="flex items-center gap-3"&gt;
                                &lt;div class="p-2.5 bg-emerald-500/10 rounded-xl border border-emerald-500/30"&gt;
                                    &lt;svg class="w-8 h-8 text-emerald-400" fill="none" stroke="currentColor" viewBox="0 0 24 24"&gt;
                                        &lt;path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 14l9-5-9-5-9 5 9 5zm0 0l9-5-9-5-9 5 9 5zm0 0v6m0-6L10 14" /&gt;
                                    &lt;/svg&gt;
                                &lt;/div&gt;
                                &lt;div&gt;
                                    &lt;h1 class="font-black text-lg sm:text-xl tracking-tight text-white flex items-center gap-2"&gt;
                                        E-RAPOR PKL &lt;span class="bg-emerald-500 text-slate-950 text-[10px] px-2 py-0.5 rounded font-black"&gt;TJKT 2&lt;/span&gt;
                                    &lt;/h1&gt;
                                    &lt;p class="text-xs text-slate-400"&gt;SMK Negeri 1 Tuntang - Tahun Pelajaran 2025/2026&lt;/p&gt;
                                &lt;/div&gt;
                            &lt;/div&gt;
                            
                            &lt;nav class="flex flex-wrap items-center gap-1.5 bg-slate-900/80 p-1.5 rounded-xl border border-slate-800"&gt;
                                &lt;button 
                                    onClick={() =&gt; setActiveTab("preview")}
                                    class={`px-4 py-2 rounded-lg font-bold text-xs transition-all ${activeTab === "preview" ? "bg-emerald-500 text-slate-950" : "hover:text-white text-slate-400"}`}
                                &gt;
                                    Pratinjau Rapor
                                &lt;/button&gt;
                                &lt;button 
                                    onClick={() =&gt; setActiveTab("dashboard")}
                                    class={`px-4 py-2 rounded-lg font-bold text-xs transition-all ${activeTab === "dashboard" ? "bg-emerald-500 text-slate-950" : "hover:text-white text-slate-400"}`}
                                &gt;
                                    Leger Kelas
                                &lt;/button&gt;
                                &lt;button 
                                    onClick={() =&gt; setActiveTab("editor")}
                                    class={`px-4 py-2 rounded-lg font-bold text-xs transition-all ${activeTab === "editor" ? "bg-emerald-500 text-slate-950" : "hover:text-white text-slate-400"}`}
                                &gt;
                                    Ubah Nilai
                                &lt;/button&gt;
                                &lt;button 
                                    onClick={() =&gt; setActiveTab("settings")}
                                    class={`px-4 py-2 rounded-lg font-bold text-xs transition-all ${activeTab === "settings" ? "bg-emerald-500 text-slate-950" : "hover:text-white text-slate-400"}`}
                                &gt;
                                    Kop &amp; Penandatangan
                                &lt;/button&gt;
                            &lt;/nav&gt;
                        &lt;/div&gt;
                    &lt;/header&gt;

                    {/* Toast Notification */}
                    {feedbackMsg &amp;&amp; (
                        &lt;div class="fixed bottom-6 right-6 z-50 bg-emerald-500 text-slate-950 font-bold px-5 py-3 rounded-xl shadow-2xl flex items-center gap-2 border border-emerald-400/30"&gt;
                            &lt;i data-lucide="check-circle" class="w-5 h-5"&gt;&lt;/i&gt;
                            &lt;span class="text-xs"&gt;{feedbackMsg}&lt;/span&gt;
                        &lt;/div&gt;
                    )}

                    {/* Kontainer Kerja Utama */}
                    &lt;main class="flex-grow max-w-7xl w-full mx-auto px-4 py-6"&gt;
                        
                        {/* Tab Pratinjau Rapor (Page 1 &amp; Page 2 Virtual) */}
                        {activeTab === "preview" &amp;&amp; (
                            &lt;div class="grid grid-cols-1 lg:grid-cols-4 gap-6 items-start"&gt;
                                
                                {/* Sidebar Daftar Siswa */}
                                &lt;div class="lg:col-span-1 bg-slate-900 border border-slate-800 rounded-2xl p-4 space-y-3 max-h-[80vh] overflow-y-auto no-print"&gt;
                                    &lt;div class="relative mb-2"&gt;
                                        &lt;i data-lucide="search" class="w-4 h-4 absolute left-3 top-1/2 -translate-y-1/2 text-slate-500"&gt;&lt;/i&gt;
                                        &lt;input 
                                            type="text" 
                                            placeholder="Cari murid..." 
                                            value={searchQuery}
                                            onChange={(e) =&gt; setSearchQuery(e.target.value)}
                                            class="w-full pl-9 pr-3 py-2 bg-slate-950 border border-slate-800 rounded-xl text-xs focus:outline-none focus:border-emerald-500 transition-all text-white font-medium"
                                        /&gt;
                                    &lt;/div&gt;
                                    &lt;div class="space-y-1"&gt;
                                        {filteredStudents.map(st =&gt; (
                                            &lt;button 
                                                key={st.id}
                                                onClick={() =&gt; setSelectedStudentId(st.id)}
                                                class={`w-full text-left px-3 py-2 rounded-xl transition flex items-center justify-between text-xs font-semibold ${selectedStudentId === st.id ? "bg-emerald-500/20 text-emerald-400 border border-emerald-500/30" : "hover:bg-slate-800 text-slate-300 border border-transparent"}`}
                                            &gt;
                                                &lt;span class="truncate pr-2"&gt;{st.name}&lt;/span&gt;
                                                &lt;span class="font-mono text-[10px] opacity-60 bg-slate-950 px-1.5 py-0.5 rounded"&gt;{st.nis}&lt;/span&gt;
                                            &lt;/button&gt;
                                        ))}
                                    &lt;/div&gt;
                                &lt;/div&gt;

                                {/* Viewer Lembaran Raport */}
                                &lt;div class="lg:col-span-3 space-y-6"&gt;
                                    &lt;div class="flex flex-col sm:flex-row items-center justify-between no-print bg-slate-900 border border-slate-800 p-4 rounded-2xl gap-4"&gt;
                                        &lt;div class="flex items-center gap-3"&gt;
                                            &lt;div class="bg-emerald-500/10 p-2 rounded-xl text-emerald-400"&gt;
                                                &lt;i data-lucide="printer" class="w-5 h-5"&gt;&lt;/i&gt;
                                            &lt;/div&gt;
                                            &lt;div&gt;
                                                &lt;h4 class="font-bold text-sm text-white"&gt;Pratinjau Kertas Rapor (F4 Single-Page)&lt;/h4&gt;
                                                &lt;p class="text-[11px] text-slate-400"&gt;Siap diunduh langsung sebagai berkas PDF F4 atau dicetak fisik.&lt;/p&gt;
                                            &lt;/div&gt;
                                        &lt;/div&gt;
                                        &lt;div class="flex flex-wrap items-center gap-2"&gt;
                                            &lt;button 
                                                onClick={() =&gt; setFontStyle(fontStyle === "serif" ? "sans" : "serif")}
                                                class="px-3 py-1.5 border border-slate-800 hover:bg-slate-800 rounded-lg text-xs font-semibold"
                                            &gt;
                                                Font: {fontStyle === "serif" ? "Times New Roman" : "Inter"}
                                            &lt;/button&gt;
                                            &lt;button 
                                                onClick={handleDownloadPDF}
                                                disabled={isExporting}
                                                class="px-4 py-2 bg-amber-500 hover:bg-amber-600 disabled:bg-amber-800 text-slate-950 rounded-xl text-xs font-black transition flex items-center gap-1.5 shadow-lg shadow-amber-500/10"
                                            &gt;
                                                {isExporting ? "Memproses..." : "Unduh PDF (F4)"}
                                            &lt;/button&gt;
                                            &lt;button 
                                                onClick={() =&gt; window.print()}
                                                class="px-4 py-2 bg-emerald-500 hover:bg-emerald-600 text-slate-950 rounded-xl text-xs font-black transition flex items-center gap-1.5 shadow-lg shadow-emerald-500/10"
                                            &gt;
                                                Cetak Rapor
                                            &lt;/button&gt;
                                        &lt;/div&gt;
                                    &lt;/div&gt;

                                    {/* Zona Pratinjau Kertas F4 */}
                                    &lt;div class="preview-container" id="print-area"&gt;
                                        
                                        &lt;div class={`preview-pane print-page ${fontStyle === "serif" ? "font-times" : ""}`}&gt;
                                            {/* Bagian Atas / Header */}
                                            &lt;div&gt;
                                                {/* Kop Sekolah Utama */}
                                                &lt;div class="kop-border border-b-[4px] border-double border-black pb-2 text-center flex items-center justify-between"&gt;
                                                    &lt;div class="w-14 h-14 flex-shrink-0 flex items-center justify-center relative group"&gt;
                                                        &lt;img src={logoLeft} alt="Logo Kiri" class="logo-img" /&gt;
                                                        
                                                        {/* Input mengambang cepat untuk ganti logo kiri */}
                                                        &lt;label class="absolute inset-0 bg-black/60 opacity-0 group-hover:opacity-100 transition flex items-center justify-center rounded cursor-pointer no-print text-[9px] text-white font-bold text-center p-1"&gt;
                                                            Ganti
                                                            &lt;input type="file" accept="image/*" class="hidden" onChange={(e) =&gt; handleLogoUpload(e, 'left')} /&gt;
                                                        &lt;/label&gt;
                                                    &lt;/div&gt;
                                                    
                                                    &lt;div class="flex-grow text-center px-4"&gt;
                                                        &lt;h2 class="font-bold text-[10pt] uppercase tracking-wide"&gt;Pemerintah Provinsi Jawa Tengah&lt;/h2&gt;
                                                        &lt;h2 class="font-bold text-[11pt] uppercase tracking-wider"&gt;Dinas Pendidikan&lt;/h2&gt;
                                                        &lt;h1 class="font-bold text-[13pt] tracking-normal"&gt;{schoolConfig.schoolName}&lt;/h1&gt;
                                                        &lt;p class="text-[7pt] leading-snug mt-1 font-sans text-slate-700"&gt;
                                                            {schoolConfig.address}&lt;br /&gt;
                                                            Telepon: {schoolConfig.phone} Kode Pos: {schoolConfig.postalCode} Pos-el: {schoolConfig.email} Laman: {schoolConfig.website}
                                                        &lt;/p&gt;
                                                    &lt;/div&gt;

                                                    &lt;div class="w-14 h-14 flex-shrink-0 flex items-center justify-center relative group"&gt;
                                                        &lt;img src={logoRight} alt="Logo Kanan" class="logo-img" /&gt;
                                                        
                                                        {/* Input mengambang cepat untuk ganti logo kanan */}
                                                        &lt;label class="absolute inset-0 bg-black/60 opacity-0 group-hover:opacity-100 transition flex items-center justify-center rounded cursor-pointer no-print text-[9px] text-white font-bold text-center p-1"&gt;
                                                            Ganti
                                                            &lt;input type="file" accept="image/*" class="hidden" onChange={(e) =&gt; handleLogoUpload(e, 'right')} /&gt;
                                                        &lt;/label&gt;
                                                    &lt;/div&gt;
                                                &lt;/div&gt;

                                                {/* Judul Dokumen */}
                                                &lt;div class="text-center my-3"&gt;
                                                    &lt;h3 class="font-bold text-[10.5pt] uppercase tracking-wide underline"&gt;Laporan Hasil Praktik Kerja Lapangan (PKL)&lt;/h3&gt;
                                                &lt;/div&gt;

                                                {/* Informasi / Metadata Siswa */}
                                                &lt;div class="grid grid-cols-2 gap-x-6 text-[9pt] mb-3 pb-1 border-b border-dashed border-slate-300"&gt;
                                                    &lt;div class="space-y-0.5"&gt;
                                                        &lt;div class="flex"&gt;&lt;span class="w-32"&gt;Nama Peserta Didik&lt;/span&gt;&lt;span class="flex-grow"&gt;: &lt;strong&gt;{currentStudent.name}&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
                                                        &lt;div class="flex"&gt;&lt;span class="w-32"&gt;Sekolah&lt;/span&gt;&lt;span class="flex-grow"&gt;: {schoolConfig.schoolName}&lt;/span&gt;&lt;/div&gt;
                                                        &lt;div class="flex"&gt;&lt;span class="w-32"&gt;Kelas&lt;/span&gt;&lt;span class="flex-grow"&gt;: XII TJKT 2&lt;/span&gt;&lt;/div&gt;
                                                        &lt;div class="flex"&gt;&lt;span class="w-32"&gt;Pembimbing&lt;/span&gt;&lt;span class="flex-grow"&gt;: {currentStudent.advisor}&lt;/span&gt;&lt;/div&gt;
                                                    &lt;/div&gt;
                                                    &lt;div class="space-y-0.5"&gt;
                                                        &lt;div class="flex"&gt;&lt;span class="w-32"&gt;Tempat PKL&lt;/span&gt;&lt;span class="flex-grow"&gt;: &lt;strong&gt;{currentStudent.pklLocation}&lt;/strong&gt;&lt;/span&gt;&lt;/div&gt;
                                                        &lt;div class="flex"&gt;&lt;span class="w-32"&gt;Jurusan&lt;/span&gt;&lt;span class="flex-grow"&gt;: TJKT&lt;/span&gt;&lt;/div&gt;
                                                        &lt;div class="flex"&gt;&lt;span class="w-32"&gt;NIS&lt;/span&gt;&lt;span class="flex-grow"&gt;: {currentStudent.nis}&lt;/span&gt;&lt;/div&gt;
                                                        &lt;div class="flex"&gt;&lt;span class="w-32"&gt;Alamat&lt;/span&gt;&lt;span class="flex-grow" style={{fontSize: '8.5pt'}}&gt;: {currentStudent.pklAddress}&lt;/span&gt;&lt;/div&gt;
                                                        &lt;div class="flex"&gt;&lt;span class="w-32"&gt;Fase / Semester&lt;/span&gt;&lt;span class="flex-grow"&gt;: {schoolConfig.semester}&lt;/span&gt;&lt;/div&gt;
                                                    &lt;/div&gt;
                                                &lt;/div&gt;

                                                {}
                                                &lt;table class="w-full text-left border-collapse border border-black text-[8pt] leading-snug"&gt;
                                                    &lt;thead&gt;
                                                        &lt;tr class="bg-slate-100 font-bold text-center"&gt;
                                                            &lt;th class="border border-black py-1 px-1 w-8 text-center"&gt;NO&lt;/th&gt;
                                                            &lt;th class="border border-black py-1 px-2"&gt;ASPEK NON TEKNIS / TEKNIS&lt;br/&gt;&lt;span class="text-[7.5pt] font-normal italic"&gt;(Pendidikan, Etos Kerja &amp; Kompetensi Kejuruan)&lt;/span&gt;&lt;/th&gt;
                                                            &lt;th class="border border-black py-1 px-1 w-12 text-center"&gt;NILAI&lt;/th&gt;
                                                            &lt;th class="border border-black py-1 px-2 w-[45%] text-center"&gt;CAPAIAN KOMPETENSI&lt;/th&gt;
                                                        &lt;/tr&gt;
                                                    &lt;/thead&gt;
                                                    &lt;tbody&gt;
                                                        {/* Aspek Non-Teknis Header */}
                                                        &lt;tr class="bg-slate-100/50 font-bold"&gt;
                                                            &lt;td class="border border-black text-center py-0.5"&gt;I&lt;/td&gt;
                                                            &lt;td class="border border-black py-0.5 px-2" colspan="3"&gt;ASPEK NON TEKNIS (Pendidikan dan Etos Kerja)&lt;/td&gt;
                                                        &lt;/tr&gt;
                                                        {Object.entries(competencyMetadata)
                                                            .filter(([_, value]) =&gt; value.group === "Non-Teknis")
                                                            .map(([key, meta], idx) =&gt; (
                                                                &lt;tr key={key}&gt;
                                                                    &lt;td class="border border-black text-center py-0.5"&gt;{idx + 1}&lt;/td&gt;
                                                                    &lt;td class="border border-black py-0.5 px-2 font-medium"&gt;{meta.code} {meta.name}&lt;/td&gt;
                                                                    &lt;td class="border border-black text-center font-bold"&gt;{currentStudent.grades[key] || "-"}&lt;/td&gt;
                                                                    &lt;td class="border border-black py-0.5 px-2 text-[7.5pt]"&gt;
                                                                        {generateCompetenceFeedback(key, currentStudent.grades[key])}
                                                                    &lt;/td&gt;
                                                                &lt;/tr&gt;
                                                            ))
                                                        }

                                                        {/* Aspek Teknis Header */}
                                                        &lt;tr class="bg-slate-100/50 font-bold"&gt;
                                                            &lt;td class="border border-black text-center py-0.5"&gt;II&lt;/td&gt;
                                                            &lt;td class="border border-black py-0.5 px-2" colspan="3"&gt;ASPEK TEKNIS (Pelatihan Ketrampilan Kejuruan)&lt;/td&gt;
                                                        &lt;/tr&gt;
                                                        {Object.entries(competencyMetadata)
                                                            .filter(([_, value]) =&gt; value.group === "Teknis")
                                                            .map(([key, meta], idx) =&gt; (
                                                                &lt;tr key={key}&gt;
                                                                    &lt;td class="border border-black text-center py-0.5"&gt;{idx + 1}&lt;/td&gt;
                                                                    &lt;td class="border border-black py-0.5 px-2 font-medium"&gt;{meta.code} {meta.name}&lt;/td&gt;
                                                                    &lt;td class="border border-black text-center font-bold"&gt;{currentStudent.grades[key] || "-"}&lt;/td&gt;
                                                                    &lt;td class="border border-black py-0.5 px-2 text-[7.5pt]"&gt;
                                                                        {generateCompetenceFeedback(key, currentStudent.grades[key])}
                                                                    &lt;/td&gt;
                                                                &lt;/tr&gt;
                                                            ))
                                                        }

                                                        {/* Total Nilai &amp; Rata-rata */}
                                                        &lt;tr class="font-bold bg-slate-100"&gt;
                                                            &lt;td class="border border-black text-right py-1 px-2" colspan="2"&gt;Total Nilai&lt;/td&gt;
                                                            &lt;td class="border border-black text-center font-bold"&gt;{currentStats.total}&lt;/td&gt;
                                                            &lt;td class="border border-black text-slate-500 py-1 px-2 font-normal text-[7.5pt]"&gt;Akumulasi nilai keseluruhan kompetensi&lt;/td&gt;
                                                        &lt;/tr&gt;
                                                        &lt;tr class="font-bold bg-slate-100"&gt;
                                                            &lt;td class="border border-black text-right py-1 px-2" colspan="2"&gt;Hasil Penilaian Rata-rata&lt;/td&gt;
                                                            &lt;td class="border border-black text-center font-bold"&gt;{currentStats.average}&lt;/td&gt;
                                                            &lt;td class="border border-black py-1 px-2 text-[8pt]"&gt;
                                                                Kualifikasi Predikat: &lt;span class="font-bold text-black"&gt;{currentStats.average &gt;= 90 ? "SANGAT BAIK" : currentStats.average &gt;= 80 ? "BAIK" : "CUKUP"}&lt;/span&gt;
                                                            &lt;/td&gt;
                                                        &lt;/tr&gt;
                                                    &lt;/tbody&gt;
                                                &lt;/table&gt;
                                            &lt;/div&gt;

                                            {/* Bagian Bawah / Tanda Tangan &amp; Presensi */}
                                            &lt;div&gt;
                                                {/* Baris Presensi dan Tanggal */}
                                                &lt;div class="flex justify-between items-start mt-3"&gt;
                                                    &lt;div class="w-1/2"&gt;
                                                        &lt;table class="w-full text-left border-collapse border border-black text-[8pt]"&gt;
                                                            &lt;thead&gt;
                                                                &lt;tr class="bg-slate-100 font-bold text-center"&gt;
                                                                    &lt;th class="border border-black py-0.5 px-2" colspan="2"&gt;KETIDAKHADIRAN (PRESENSI)&lt;/th&gt;
                                                                &lt;/tr&gt;
                                                            &lt;/thead&gt;
                                                            &lt;tbody&gt;
                                                                &lt;tr&gt;
                                                                    &lt;td class="border border-black py-0.5 px-2 font-medium"&gt;Sakit&lt;/td&gt;
                                                                    &lt;td class="border border-black py-0.5 px-2 text-center font-bold"&gt;{currentStudent.attendance?.sakit || 0} hari&lt;/td&gt;
                                                                &lt;/tr&gt;
                                                                &lt;tr&gt;
                                                                    &lt;td class="border border-black py-0.5 px-2 font-medium"&gt;Izin&lt;/td&gt;
                                                                    &lt;td class="border border-black py-0.5 px-2 text-center font-bold"&gt;{currentStudent.attendance?.izin || 0} hari&lt;/td&gt;
                                                                &lt;/tr&gt;
                                                                &lt;tr&gt;
                                                                    &lt;td class="border border-black py-0.5 px-2 font-medium"&gt;Tanpa Keterangan&lt;/td&gt;
                                                                    &lt;td class="border border-black py-0.5 px-2 text-center font-bold"&gt;{currentStudent.attendance?.alpha || 0} hari&lt;/td&gt;
                                                                &lt;/tr&gt;
                                                            &lt;/tbody&gt;
                                                        &lt;/table&gt;
                                                    &lt;/div&gt;
                                                    &lt;div class="text-right text-[8.5pt] font-medium"&gt;
                                                        &lt;p&gt;Tuntang, {schoolConfig.printDate}&lt;/p&gt;
                                                    &lt;/div&gt;
                                                &lt;/div&gt;

                                                {/* Baris Tanda Tangan Ringkas 2 Kolom Sejajar (DUDI &amp; Kepala Sekolah Dihapus) */}
                                                &lt;div class="flex justify-between text-[8.5pt] mt-8 text-center"&gt;
                                                    &lt;div class="w-5/12"&gt;
                                                        &lt;p class="mb-14"&gt;Orang Tua/Wali Peserta Didik,&lt;/p&gt;
                                                        &lt;p class="font-bold border-b border-black w-3/4 mx-auto pb-0.5"&gt;&lt;/p&gt;
                                                    &lt;/div&gt;

                                                    &lt;div class="w-5/12"&gt;
                                                        &lt;p class="mb-14"&gt;Wali Kelas,&lt;/p&gt;
                                                        &lt;p class="font-bold underline uppercase"&gt;{schoolConfig.homeroomTeacher}&lt;/p&gt;
                                                        &lt;p class="text-[7.5pt] font-mono mt-0.5"&gt;NIP. {schoolConfig.homeroomNip}&lt;/p&gt;
                                                    &lt;/div&gt;
                                                &lt;/div&gt;
                                            &lt;/div&gt;
                                        &lt;/div&gt;

                                    &lt;/div&gt;
                                &lt;/div&gt;
                            &lt;/div&gt;
                        )}

                        {/* Tab Leger Kelas Lengkap */}
                        {activeTab === "dashboard" &amp;&amp; (
                            &lt;div class="space-y-6"&gt;
                                {/* Filter &amp; Pencarian */}
                                &lt;div class="bg-slate-900 rounded-2xl p-6 border border-slate-800 flex flex-col md:flex-row items-center justify-between gap-4"&gt;
                                    &lt;div class="flex-grow w-full md:max-w-md relative"&gt;
                                        &lt;i data-lucide="search" class="w-5 h-5 absolute left-3 top-1/2 -translate-y-1/2 text-slate-500"&gt;&lt;/i&gt;
                                        &lt;input 
                                            type="text" 
                                            placeholder="Cari murid, tempat PKL, atau pembimbing..." 
                                            value={searchQuery}
                                            onChange={(e) =&gt; setSearchQuery(e.target.value)}
                                            class="w-full pl-10 pr-4 py-2.5 bg-slate-950 border border-slate-800 rounded-xl focus:outline-none focus:ring-2 focus:ring-emerald-500/20 focus:border-emerald-500 transition-all text-sm text-white"
                                        /&gt;
                                    &lt;/div&gt;
                                    &lt;div class="flex flex-wrap items-center gap-3 w-full md:w-auto"&gt;
                                        &lt;div class="flex items-center gap-2"&gt;
                                            &lt;span class="text-xs font-bold text-slate-400 uppercase"&gt;Lokasi Industri:&lt;/span&gt;
                                            &lt;select 
                                                value={filterLocation}
                                                onChange={(e) =&gt; setFilterLocation(e.target.value)}
                                                class="bg-slate-950 border border-slate-800 text-sm rounded-xl py-2 px-3 focus:outline-none focus:ring-2 focus:ring-emerald-500/20 text-slate-300 font-medium"
                                            &gt;
                                                {uniqueLocations.map(loc =&gt; (
                                                    &lt;option key={loc} value={loc}&gt;{loc === "ALL" ? "Semua Lokasi" : loc}&lt;/option&gt;
                                                ))}
                                            &lt;/select&gt;
                                        &lt;/div&gt;
                                    &lt;/div&gt;
                                &lt;/div&gt;

                                {/* Tabel Leger Utama */}
                                &lt;div class="bg-slate-900 rounded-2xl border border-slate-800 overflow-hidden"&gt;
                                    &lt;div class="px-6 py-4 border-b border-slate-800 flex items-center justify-between"&gt;
                                        &lt;div&gt;
                                            &lt;h3 class="font-bold text-lg text-white"&gt;Leger Rapor Kelas XI TJKT 2&lt;/h3&gt;
                                            &lt;p class="text-xs text-slate-400"&gt;Menampilkan {filteredStudents.length} siswa sesuai kriteria&lt;/p&gt;
                                        &lt;/div&gt;
                                    &lt;/div&gt;

                                    &lt;div class="overflow-x-auto"&gt;
                                        &lt;table class="w-full text-left text-sm text-slate-300"&gt;
                                            &lt;thead class="bg-slate-950 border-b border-slate-800 text-xs font-bold text-slate-400 uppercase tracking-wider"&gt;
                                                &lt;tr&gt;
                                                    &lt;th class="py-3.5 px-4 text-center w-12 border-0"&gt;NIS&lt;/th&gt;
                                                    &lt;th class="py-3.5 px-4 border-0"&gt;Nama Peserta Didik&lt;/th&gt;
                                                    &lt;th class="py-3.5 px-4 text-center border-0"&gt;Rata-rata&lt;/th&gt;
                                                    &lt;th class="py-3.5 px-4 text-center border-0"&gt;Rangking&lt;/th&gt;
                                                    &lt;th class="py-3.5 px-4 text-center border-0"&gt;Jumlah Nilai&lt;/th&gt;
                                                    &lt;th class="py-3.5 px-4 border-0"&gt;Tempat PKL&lt;/th&gt;
                                                    &lt;th class="py-3.5 px-4 border-0"&gt;Pembimbing&lt;/th&gt;
                                                    &lt;th class="py-3.5 px-4 text-center border-0"&gt;Aksi&lt;/th&gt;
                                                &lt;/tr&gt;
                                            &lt;/thead&gt;
                                            &lt;tbody class="divide-y divide-slate-800/60"&gt;
                                                {filteredStudents.map(st =&gt; {
                                                    const stats = calculateStats(st);
                                                    return (
                                                        &lt;tr 
                                                            key={st.id} 
                                                            class={`hover:bg-slate-800/40 transition ${selectedStudentId === st.id ? "bg-emerald-500/5 font-semibold text-emerald-400" : ""}`}
                                                        &gt;
                                                            &lt;td class="py-3 px-4 text-center text-slate-500 font-mono text-xs border-0"&gt;{st.nis}&lt;/td&gt;
                                                            &lt;td class="py-3 px-4 border-0"&gt;
                                                                &lt;div class="font-bold text-white"&gt;{st.name}&lt;/div&gt;
                                                                &lt;div class="text-[10px] text-slate-500 tracking-wider font-mono"&gt;NISN: {st.nisn}&lt;/div&gt;
                                                            &lt;/td&gt;
                                                            &lt;td class="py-3 px-4 text-center border-0"&gt;
                                                                &lt;span class={`inline-flex items-center px-2.5 py-1 rounded-full text-xs font-bold ${stats.average &gt;= 90 ? "bg-emerald-500/10 text-emerald-400" : "bg-blue-500/10 text-blue-400"}`}&gt;
                                                                    {stats.average || "-"}
                                                                &lt;/span&gt;
                                                            &lt;/td&gt;
                                                            &lt;td class="py-3 px-4 text-center font-bold text-slate-200 border-0"&gt;
                                                                {getRank(st.id)}
                                                            &lt;/td&gt;
                                                            &lt;td class="py-3 px-4 text-center font-semibold text-slate-300 border-0"&gt;{stats.total || "-"}&lt;/td&gt;
                                                            &lt;td class="py-3 px-4 border-0"&gt;
                                                                &lt;span class="text-xs bg-slate-950 border border-slate-800 px-2 py-1 rounded-md text-slate-300 font-medium"&gt;{st.pklLocation}&lt;/span&gt;
                                                            &lt;/td&gt;
                                                            &lt;td class="py-3 px-4 text-xs font-medium text-slate-400 border-0"&gt;{st.advisor}&lt;/td&gt;
                                                            &lt;td class="py-3 px-4 text-center border-0"&gt;
                                                                &lt;button 
                                                                    onClick={() =&gt; { setSelectedStudentId(st.id); setActiveTab("preview"); }}
                                                                    class="p-1.5 hover:bg-emerald-500 hover:text-slate-950 text-emerald-400 rounded-lg transition"
                                                                &gt;
                                                                    Pratinjau
                                                                &lt;/button&gt;
                                                            &lt;/td&gt;
                                                        &lt;/tr&gt;
                                                    );
                                                })}
                                            &lt;/tbody&gt;
                                        &lt;/table&gt;
                                    &lt;/div&gt;
                                &lt;/div&gt;
                            &lt;/div&gt;
                        )}

                        {/* Tab Input/Edit Nilai Rapor */}
                        {activeTab === "editor" &amp;&amp; (
                            &lt;div class="bg-slate-900 rounded-2xl p-6 border border-slate-800 max-w-4xl mx-auto space-y-6"&gt;
                                &lt;div class="flex flex-col sm:flex-row sm:items-center justify-between border-b border-slate-800 pb-4 gap-3"&gt;
                                    &lt;div&gt;
                                        &lt;h3 class="font-black text-xl text-white"&gt;Input &amp; Koreksi Nilai PKL&lt;/h3&gt;
                                        &lt;p class="text-xs text-slate-400"&gt;Ubah nilai Aspek Teknis &amp; Non-Teknis secara langsung&lt;/p&gt;
                                    &lt;/div&gt;
                                    &lt;div class="flex items-center gap-2"&gt;
                                        &lt;label class="text-xs font-bold text-slate-400 uppercase"&gt;Pilih Siswa:&lt;/label&gt;
                                        &lt;select 
                                            value={selectedStudentId}
                                            onChange={(e) =&gt; setSelectedStudentId(Number(e.target.value))}
                                            class="bg-slate-950 border border-slate-800 text-sm rounded-xl py-1.5 px-3 font-semibold text-slate-300 focus:outline-none focus:border-emerald-500"
                                        &gt;
                                            {students.map(st =&gt; (
                                                &lt;option key={st.id} value={st.id}&gt;{st.name} ({st.nis})&lt;/option&gt;
                                            ))}
                                        &lt;/select&gt;
                                    &lt;/div&gt;
                                &lt;/div&gt;

                                {editingStudent &amp;&amp; (
                                    &lt;div class="space-y-6"&gt;
                                        {/* Aspek Non Teknis */}
                                        &lt;div&gt;
                                            &lt;h4 class="font-bold text-sm text-emerald-400 uppercase tracking-wider mb-3 bg-slate-950 border border-slate-800 px-3 py-1.5 rounded-lg"&gt;
                                                I. Aspek Non-Teknis (Pendidikan &amp; Etos Kerja)
                                            &lt;/h4&gt;
                                            &lt;div class="grid grid-cols-1 md:grid-cols-2 gap-4"&gt;
                                                {Object.entries(competencyMetadata)
                                                    .filter(([_, value]) =&gt; value.group === "Non-Teknis")
                                                    .map(([key, meta]) =&gt; (
                                                        &lt;div key={key} class="flex items-center justify-between p-3 bg-slate-950 border border-slate-800 rounded-xl"&gt;
                                                            &lt;div class="flex-grow pr-3"&gt;
                                                                &lt;span class="text-xs font-bold text-emerald-400 font-mono"&gt;{meta.code}&lt;/span&gt;
                                                                &lt;p class="text-xs font-bold text-slate-200"&gt;{meta.name}&lt;/p&gt;
                                                            &lt;/div&gt;
                                                            &lt;input 
                                                                type="number" 
                                                                min="0" 
                                                                max="100" 
                                                                value={editingStudent.grades[key]}
                                                                onChange={(e) =&gt; {
                                                                    const val = Number(e.target.value);
                                                                    setEditingStudent(prev =&gt; ({
                                                                        ...prev,
                                                                        grades: { ...prev.grades, [key]: val }
                                                                    }));
                                                                }}
                                                                class="w-16 px-2.5 py-1.5 bg-slate-900 border border-slate-800 rounded-lg text-center font-bold text-white focus:outline-none focus:border-emerald-500"
                                                            /&gt;
                                                        &lt;/div&gt;
                                                    ))
                                                }
                                            &lt;/div&gt;
                                        &lt;/div&gt;

                                        {/* Aspek Teknis */}
                                        &lt;div&gt;
                                            &lt;h4 class="font-bold text-sm text-blue-400 uppercase tracking-wider mb-3 bg-slate-950 border border-slate-800 px-3 py-1.5 rounded-lg"&gt;
                                                II. Aspek Teknis (Kompetensi Kejuruan TJKT)
                                            &lt;/h4&gt;
                                            &lt;div class="grid grid-cols-1 md:grid-cols-2 gap-4"&gt;
                                                {Object.entries(competencyMetadata)
                                                    .filter(([_, value]) =&gt; value.group === "Teknis")
                                                    .map(([key, meta]) =&gt; (
                                                        &lt;div key={key} class="flex items-center justify-between p-3 bg-slate-950 border border-slate-800 rounded-xl"&gt;
                                                            &lt;div class="flex-grow pr-3"&gt;
                                                                &lt;span class="text-xs font-bold text-blue-400 font-mono"&gt;{meta.code}&lt;/span&gt;
                                                                &lt;p class="text-xs font-bold text-slate-200"&gt;{meta.name}&lt;/p&gt;
                                                            &lt;/div&gt;
                                                            &lt;input 
                                                                type="number" 
                                                                min="0" 
                                                                max="100" 
                                                                value={editingStudent.grades[key]}
                                                                onChange={(e) =&gt; {
                                                                    const val = Number(e.target.value);
                                                                    setEditingStudent(prev =&gt; ({
                                                                        ...prev,
                                                                        grades: { ...prev.grades, [key]: val }
                                                                    }));
                                                                }}
                                                                class="w-16 px-2.5 py-1.5 bg-slate-900 border border-slate-800 rounded-lg text-center font-bold text-white focus:outline-none focus:border-blue-500"
                                                            /&gt;
                                                        &lt;/div&gt;
                                                    ))
                                                }
                                            &lt;/div&gt;
                                        &lt;/div&gt;

                                        {/* Ketidakhadiran */}
                                        &lt;div&gt;
                                            &lt;h4 class="font-bold text-sm text-amber-400 uppercase tracking-wider mb-3 bg-slate-950 border border-slate-800 px-3 py-1.5 rounded-lg"&gt;
                                                III. Kehadiran &amp; Absensi (Hari)
                                            &lt;/h4&gt;
                                            &lt;div class="grid grid-cols-3 gap-4"&gt;
                                                &lt;div class="p-3 bg-slate-950 border border-slate-800 rounded-xl text-center"&gt;
                                                    &lt;label class="block text-xs font-bold text-slate-400 mb-1.5"&gt;Sakit&lt;/label&gt;
                                                    &lt;input 
                                                        type="number" 
                                                        min="0"
                                                        value={editingStudent.attendance?.sakit || 0}
                                                        onChange={(e) =&gt; {
                                                            const val = Number(e.target.value);
                                                            setEditingStudent(prev =&gt; ({
                                                                ...prev,
                                                                attendance: { ...prev.attendance, sakit: val }
                                                            }));
                                                        }}
                                                        class="w-full max-w-[100px] text-center px-2 py-1.5 bg-slate-900 border border-slate-800 rounded-lg text-white font-bold"
                                                    /&gt;
                                                &lt;/div&gt;
                                                &lt;div class="p-3 bg-slate-950 border border-slate-800 rounded-xl text-center"&gt;
                                                    &lt;label class="block text-xs font-bold text-slate-400 mb-1.5"&gt;Izin&lt;/label&gt;
                                                    &lt;input 
                                                        type="number" 
                                                        min="0"
                                                        value={editingStudent.attendance?.izin || 0}
                                                        onChange={(e) =&gt; {
                                                            const val = Number(e.target.value);
                                                            setEditingStudent(prev =&gt; ({
                                                                ...prev,
                                                                attendance: { ...prev.attendance, izin: val }
                                                            }));
                                                        }}
                                                        class="w-full max-w-[100px] text-center px-2 py-1.5 bg-slate-900 border border-slate-800 rounded-lg text-white font-bold"
                                                    /&gt;
                                                &lt;/div&gt;
                                                &lt;div class="p-3 bg-slate-950 border border-slate-800 rounded-xl text-center"&gt;
                                                    &lt;label class="block text-xs font-bold text-slate-400 mb-1.5"&gt;Tanpa Keterangan&lt;/label&gt;
                                                    &lt;input 
                                                        type="number" 
                                                        min="0"
                                                        value={editingStudent.attendance?.alpha || 0}
                                                        onChange={(e) =&gt; {
                                                            const val = Number(e.target.value);
                                                            setEditingStudent(prev =&gt; ({
                                                                ...prev,
                                                                attendance: { ...prev.attendance, alpha: val }
                                                            }));
                                                        }}
                                                        class="w-full max-w-[100px] text-center px-2 py-1.5 bg-slate-900 border border-slate-800 rounded-lg text-red-400 font-bold"
                                                    /&gt;
                                                &lt;/div&gt;
                                            &lt;/div&gt;
                                        &lt;/div&gt;

                                        &lt;div class="flex items-center justify-end gap-3 pt-4 border-t border-slate-800"&gt;
                                            &lt;button 
                                                onClick={handleUpdateGrades}
                                                class="px-5 py-2.5 bg-emerald-500 hover:bg-emerald-600 text-slate-950 rounded-xl text-xs font-black transition flex items-center gap-2"
                                            &gt;
                                                Simpan Rapor Siswa
                                            &lt;/button&gt;
                                        &lt;/div&gt;
                                    &lt;/div&gt;
                                )}
                            &lt;/div&gt;
                        )}

                        {/* Tab Pengaturan Informasi Umum */}
                        {activeTab === "settings" &amp;&amp; (
                            &lt;div class="bg-slate-900 rounded-2xl p-6 border border-slate-800 max-w-3xl mx-auto space-y-6"&gt;
                                &lt;div class="border-b border-slate-800 pb-3"&gt;
                                    &lt;h3 class="font-black text-lg text-white"&gt;Konfigurasi Rapor PKL&lt;/h3&gt;
                                    &lt;p class="text-xs text-slate-400"&gt;Atur logo kop surat, wali kelas, tanggal, dan fase semester&lt;/p&gt;
                                &lt;/div&gt;

                                {/* Bagian Unggah Logo Kustom di Pengaturan */}
                                &lt;div&gt;
                                    &lt;h4 class="text-xs font-bold text-slate-400 uppercase tracking-wider mb-3"&gt;Identitas Visual / Logo KOP&lt;/h4&gt;
                                    &lt;div class="grid grid-cols-1 md:grid-cols-2 gap-4"&gt;
                                        &lt;div class="p-4 bg-slate-950 border border-slate-800 rounded-xl flex items-center gap-4"&gt;
                                            &lt;div class="w-12 h-12 bg-white rounded p-1 flex items-center justify-center flex-shrink-0"&gt;
                                                &lt;img src={logoLeft} alt="Logo Kiri" class="max-h-full max-w-full object-contain" /&gt;
                                            &lt;/div&gt;
                                            &lt;div class="flex-grow"&gt;
                                                &lt;label class="block text-xs font-bold text-slate-300 mb-1"&gt;Logo Kiri KOP (Pemprov Jateng)&lt;/label&gt;
                                                &lt;input 
                                                    type="file" 
                                                    accept="image/*" 
                                                    onChange={(e) =&gt; handleLogoUpload(e, 'left')}
                                                    class="block w-full text-xs text-slate-400 file:mr-3 file:py-1.5 file:px-3 file:rounded-lg file:border-0 file:text-xs file:font-semibold file:bg-emerald-500 file:text-slate-950 hover:file:bg-emerald-400 cursor-pointer"
                                                /&gt;
                                            &lt;/div&gt;
                                        &lt;/div&gt;

                                        &lt;div class="p-4 bg-slate-950 border border-slate-800 rounded-xl flex items-center gap-4"&gt;
                                            &lt;div class="w-12 h-12 bg-white rounded p-1 flex items-center justify-center flex-shrink-0"&gt;
                                                &lt;img src={logoRight} alt="Logo Kanan" class="max-h-full max-w-full object-contain" /&gt;
                                            &lt;/div&gt;
                                            &lt;div class="flex-grow"&gt;
                                                &lt;label class="block text-xs font-bold text-slate-300 mb-1"&gt;Logo Kanan KOP (Logo Sekolah)&lt;/label&gt;
                                                &lt;input 
                                                    type="file" 
                                                    accept="image/*" 
                                                    onChange={(e) =&gt; handleLogoUpload(e, 'right')}
                                                    class="block w-full text-xs text-slate-400 file:mr-3 file:py-1.5 file:px-3 file:rounded-lg file:border-0 file:text-xs file:font-semibold file:bg-emerald-500 file:text-slate-950 hover:file:bg-emerald-400 cursor-pointer"
                                                /&gt;
                                            &lt;/div&gt;
                                        &lt;/div&gt;
                                    &lt;/div&gt;
                                &lt;/div&gt;

                                &lt;div class="grid grid-cols-1 md:grid-cols-2 gap-5"&gt;
                                    &lt;div&gt;
                                        &lt;label class="block text-xs font-bold text-slate-400 uppercase mb-1"&gt;Nama Lembaga / Sekolah&lt;/label&gt;
                                        &lt;input 
                                            type="text" 
                                            value={schoolConfig.schoolName}
                                            onChange={(e) =&gt; setSchoolConfig(prev =&gt; ({ ...prev, schoolName: e.target.value }))}
                                            class="w-full px-3 py-2 bg-slate-950 border border-slate-800 rounded-xl focus:border-emerald-500 text-sm font-semibold text-white"
                                        /&gt;
                                    &lt;/div&gt;

                                    &lt;div&gt;
                                        &lt;label class="block text-xs font-bold text-slate-400 uppercase mb-1"&gt;Nama Kepala Sekolah&lt;/label&gt;
                                        &lt;input 
                                            type="text" 
                                            value={schoolConfig.headmasterName}
                                            onChange={(e) =&gt; setSchoolConfig(prev =&gt; ({ ...prev, headmasterName: e.target.value }))}
                                            class="w-full px-3 py-2 bg-slate-950 border border-slate-800 rounded-xl focus:border-emerald-500 text-sm font-semibold text-white"
                                        /&gt;
                                    &lt;/div&gt;

                                    &lt;div&gt;
                                        &lt;label class="block text-xs font-bold text-slate-400 uppercase mb-1"&gt;NIP Kepala Sekolah&lt;/label&gt;
                                        &lt;input 
                                            type="text" 
                                            value={schoolConfig.headmasterNip}
                                            onChange={(e) =&gt; setSchoolConfig(prev =&gt; ({ ...prev, headmasterNip: e.target.value }))}
                                            class="w-full px-3 py-2 bg-slate-950 border border-slate-800 rounded-xl focus:border-emerald-500 text-sm font-semibold text-white"
                                        /&gt;
                                    &lt;/div&gt;

                                    &lt;div&gt;
                                        &lt;label class="block text-xs font-bold text-slate-400 uppercase mb-1"&gt;Nama Wali Kelas&lt;/label&gt;
                                        &lt;input 
                                            type="text" 
                                            value={schoolConfig.homeroomTeacher}
                                            onChange={(e) =&gt; setSchoolConfig(prev =&gt; ({ ...prev, homeroomTeacher: e.target.value }))}
                                            class="w-full px-3 py-2 bg-slate-950 border border-slate-800 rounded-xl focus:border-emerald-500 text-sm font-semibold text-white"
                                        /&gt;
                                    &lt;/div&gt;

                                    &lt;div&gt;
                                        &lt;label class="block text-xs font-bold text-slate-400 uppercase mb-1"&gt;NIP Wali Kelas&lt;/label&gt;
                                        &lt;input 
                                            type="text" 
                                            value={schoolConfig.homeroomNip}
                                            onChange={(e) =&gt; setSchoolConfig(prev =&gt; ({ ...prev, homeroomNip: e.target.value }))}
                                            class="w-full px-3 py-2 bg-slate-950 border border-slate-800 rounded-xl focus:border-emerald-500 text-sm font-semibold text-white"
                                        /&gt;
                                    &lt;/div&gt;

                                    &lt;div&gt;
                                        &lt;label class="block text-xs font-bold text-slate-400 uppercase mb-1"&gt;Tempat Penandatanganan&lt;/label&gt;
                                        &lt;input 
                                            type="text" 
                                            value={schoolConfig.printLocation}
                                            onChange={(e) =&gt; setSchoolConfig(prev =&gt; ({ ...prev, printLocation: e.target.value }))}
                                            class="w-full px-3 py-2 bg-slate-950 border border-slate-800 rounded-xl focus:border-emerald-500 text-sm font-semibold text-white"
                                        /&gt;
                                    &lt;/div&gt;

                                    &lt;div&gt;
                                        &lt;label class="block text-xs font-bold text-slate-400 uppercase mb-1"&gt;Tanggal Cetak Rapor&lt;/label&gt;
                                        &lt;input 
                                            type="text" 
                                            value={schoolConfig.printDate}
                                            onChange={(e) =&gt; setSchoolConfig(prev =&gt; ({ ...prev, printDate: e.target.value }))}
                                            class="w-full px-3 py-2 bg-slate-950 border border-slate-800 rounded-xl focus:border-emerald-500 text-sm font-semibold text-white"
                                        /&gt;
                                    &lt;/div&gt;

                                    &lt;div&gt;
                                        &lt;label class="block text-xs font-bold text-slate-400 uppercase mb-1"&gt;Fase / Semester&lt;/label&gt;
                                        &lt;input 
                                            type="text" 
                                            value={schoolConfig.semester}
                                            onChange={(e) =&gt; setSchoolConfig(prev =&gt; ({ ...prev, semester: e.target.value }))}
                                            class="w-full px-3 py-2 bg-slate-950 border border-slate-800 rounded-xl focus:border-emerald-500 text-sm font-semibold text-white"
                                        /&gt;
                                    &lt;/div&gt;
                                &lt;/div&gt;

                                &lt;div class="flex items-center justify-between pt-4 border-t border-slate-800"&gt;
                                    &lt;button 
                                        onClick={() =&gt; {
                                            setLogoLeft(defaultLogoLeftSVG);
                                            setLogoRight(defaultLogoRightSVG);
                                            setFeedbackMsg("Logo KOP berhasil di-reset!");
                                            setTimeout(() =&gt; setFeedbackMsg(""), 3000);
                                        }}
                                        class="px-4 py-2 border border-slate-800 hover:bg-slate-800 rounded-xl text-xs font-bold text-slate-300 transition"
                                    &gt;
                                        Reset Logo KOP saja
                                    &lt;/button&gt;
                                    &lt;button 
                                        onClick={() =&gt; {
                                            setSchoolConfig(initialSchoolConfig);
                                            setLogoLeft(defaultLogoLeftSVG);
                                            setLogoRight(defaultLogoRightSVG);
                                            setFeedbackMsg("Informasi dikembalikan ke default SMKN 1 Tuntang!");
                                            setTimeout(() =&gt; setFeedbackMsg(""), 3000);
                                        }}
                                        class="px-4 py-2 border border-red-500/30 text-red-400 hover:bg-red-500/10 rounded-xl text-xs font-bold transition"
                                    &gt;
                                        Reset Semua Pengaturan Default
                                    &lt;/button&gt;
                                &lt;/div&gt;
                            &lt;/div&gt;
                        )}

                    &lt;/main&gt;

                    {/* Footer Layar */}
                    &lt;footer class="bg-slate-950 border-t border-slate-900 py-6 text-center text-xs text-slate-500 no-print"&gt;
                        &lt;p&gt;© 2026 SMK Negeri 1 Tuntang. Dioptimalkan persis dokumen fisik.&lt;/p&gt;
                    &lt;/footer&gt;
                &lt;/div&gt;
            );
        }

        const container = document.getElementById('root');
        const root = ReactDOM.createRoot(container);
        root.render(&lt;App /&gt;);

        // Inisialisasi ikon Lucide
        setTimeout(() =&gt; {
            if (typeof lucide !== 'undefined') {
                lucide.createIcons();
            }
        }, 300);
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description><link>http://kitab-investasi.blogspot.com/2026/06/e-raport-pkl.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-6877348685293008822</guid><pubDate>Wed, 24 Jun 2026 06:34:42 +0000</pubDate><atom:updated>2026-06-25T11:34:08.693+07:00</atom:updated><title>RAPORT PKL</title><description>&lt;!DOCTYPE html&gt;
&lt;html lang="id"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;title&gt;Generator Raport PKL TJKT 2&lt;/title&gt;
    &lt;link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700;800&amp;display=swap" rel="stylesheet"&gt;
    &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"&gt;
    &lt;/script&gt;
    &lt;style&gt;
        * {
            box-sizing: border-box;
        }

        body {
            font-family: 'Montserrat', Arial, sans-serif;
            background: #eef2f7;
            padding: 20px;
            max-width: 900px;
            margin: auto;
        }

        .card {
            background: white;
            padding: 28px 30px;
            border-radius: 24px;
            box-shadow: 0 12px 30px rgba(0, 0, 0, 0.10);
        }

        h2 {
            text-align: center;
            color: #1e4668;
            font-weight: 700;
            margin-top: 0;
            margin-bottom: 6px;
            font-size: 24px;
        }

        .sub-title {
            text-align: center;
            color: #4a6f8a;
            font-size: 14px;
            margin-bottom: 20px;
            font-weight: 400;
        }

        .form-row {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
            margin-top: 10px;
        }

        .form-group {
            flex: 1 1 200px;
            min-width: 170px;
        }

        label {
            display: block;
            font-weight: 600;
            font-size: 13px;
            color: #1e4668;
            margin-bottom: 4px;
        }

        input,
        select {
            width: 100%;
            padding: 10px 12px;
            border-radius: 10px;
            border: 1px solid #ccc;
            font-size: 14px;
            font-family: 'Montserrat', Arial, sans-serif;
            background: white;
            transition: 0.2s;
        }

        input:focus,
        select:focus {
            border-color: #2c7da0;
            outline: none;
            box-shadow: 0 0 0 3px rgba(44, 125, 160, 0.15);
        }

        input:disabled,
        select:disabled {
            background: #f1f5f9;
            color: #334;
        }

        .btn-primary {
            background: #2c7da0;
            color: white;
            border: none;
            cursor: pointer;
            font-weight: 700;
            padding: 12px 20px;
            border-radius: 12px;
            font-size: 16px;
            width: 100%;
            transition: 0.2s;
            font-family: 'Montserrat', Arial, sans-serif;
        }

        .btn-primary:hover {
            background: #1f5e7a;
        }

        .btn-primary:disabled {
            background: #94a3b8;
            cursor: not-allowed;
        }

        #preview {
            width: 100%;
            border-radius: 12px;
            margin-top: 14px;
            border: 1px solid #ddd;
            background: #fafafa;
            min-height: 200px;
            object-fit: contain;
        }

        .loading {
            display: none;
            margin-top: 16px;
            color: #1e4668;
            font-weight: 600;
            text-align: center;
            font-size: 15px;
        }

        .student-select-wrap {
            margin-top: 6px;
        }

        .info-note {
            background: #f8faff;
            border-radius: 12px;
            padding: 12px 16px;
            margin: 12px 0 10px 0;
            border: 1px dashed #b6cfe0;
            font-size: 13px;
            color: #2c3e50;
            line-height: 1.6;
        }

        .info-note strong {
            color: #1e4668;
        }

        .badge-jurusan {
            display: inline-block;
            background: #d4e4ed;
            color: #1e4668;
            padding: 2px 12px;
            border-radius: 30px;
            font-size: 12px;
            font-weight: 600;
        }

        .upload-area {
            margin-top: 12px;
            padding: 12px;
            border: 2px dashed #b6cfe0;
            border-radius: 12px;
            background: #f8faff;
            text-align: center;
        }

        .upload-area label {
            display: inline-block;
            background: #2c7da0;
            color: white;
            padding: 8px 16px;
            border-radius: 8px;
            cursor: pointer;
            font-weight: 600;
            font-size: 13px;
        }

        .upload-area input[type="file"] {
            display: none;
        }

        .upload-area .hint {
            font-size: 12px;
            color: #666;
            margin-top: 6px;
        }

        @media (max-width: 600px) {
            .card {
                padding: 16px;
            }
            .form-group {
                flex: 1 1 100%;
            }
            h2 {
                font-size: 20px;
            }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

    &lt;div class="card"&gt;

        &lt;h2&gt;&#128203; Generator Raport PKL&lt;/h2&gt;
        &lt;p class="sub-title"&gt;SMK Negeri 1 Tuntang — Kelas XII TJKT 2&lt;/p&gt;

        &lt;!-- ================= FORM ================= --&gt;
        &lt;div class="form-row"&gt;
            &lt;div class="form-group student-select-wrap"&gt;
                &lt;label&gt;&#128100; Pilih Siswa (TJKT 2)&lt;/label&gt;
                &lt;select id="studentSelect" onchange="onStudentChange()"&gt;
                    &lt;option value=""&gt;— Pilih Siswa —&lt;/option&gt;
                &lt;/select&gt;
            &lt;/div&gt;
            &lt;div class="form-group"&gt;
                &lt;label&gt;&#128219; Nama Lengkap&lt;/label&gt;
                &lt;input type="text" id="nama" placeholder="Nama siswa" disabled&gt;
            &lt;/div&gt;
            &lt;div class="form-group"&gt;
                &lt;label&gt;&#127380; NISN / NIS&lt;/label&gt;
                &lt;input type="text" id="nisn" placeholder="NISN / NIS" disabled&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class="form-row"&gt;
            &lt;div class="form-group"&gt;
                &lt;label&gt;&#129489;‍&#127979; Pembimbing PKL&lt;/label&gt;
                &lt;input type="text" id="pembimbing" placeholder="Nama Pembimbing" disabled&gt;
            &lt;/div&gt;
            &lt;div class="form-group"&gt;
                &lt;label&gt;&#128205; Tempat PKL&lt;/label&gt;
                &lt;input type="text" id="tempatPkl" placeholder="Lokasi PKL" disabled&gt;
            &lt;/div&gt;
        &lt;/div&gt;

        &lt;div class="info-note"&gt;
            &lt;strong&gt;&#128204; Data Raport:&lt;/strong&gt; Nilai non-teknis (6 aspek) &amp;amp; teknis (6 aspek) diambil dari Leger Raport.
            &lt;span class="badge-jurusan"&gt;TJKT 2&lt;/span&gt;
        &lt;/div&gt;

        &lt;!-- ================= TEMPLATE ================= --&gt;
        &lt;img id="preview" src="" alt="Template Raport"&gt;

        &lt;!-- Upload lokal sebagai fallback --&gt;
        &lt;div class="upload-area"&gt;
            &lt;label for="templateUpload"&gt;&#128228; Upload Template (jika gambar tidak muncul)&lt;/label&gt;
            &lt;input type="file" id="templateUpload" accept="image/*" onchange="handleTemplateUpload(event)"&gt;
            &lt;div class="hint"&gt;Gunakan gambar template PNG atau JPG dari file Anda.&lt;/div&gt;
        &lt;/div&gt;

        &lt;button class="btn-primary" id="downloadBtn" onclick="generatePDF()" disabled&gt;
            ⬇️ UNDUH RAPORT PDF
        &lt;/button&gt;

        &lt;div class="loading" id="loading"&gt;⏳ Memproses PDF ...&lt;/div&gt;

    &lt;/div&gt;

    &lt;script&gt;
        // ======================================================================
        // DATA SISWA TJKT 2 — dari LEGER RAPOR + DAFTAR PEMBIMBING
        // ======================================================================
        const STUDENTS_DATA = [{
            id: 'adnan',
            nama: 'ADNAN DAVID ARDAFA',
            nisn: '0075368619',
            nis: '848',
            kelas: 'XII TJKT 2',
            fase: 'F',
            semester: 'Gasal / 5',
            tahun: '2025/2026',
            pembimbing: 'M. Misbahul M',
            tempatPkl: 'BEST CAMP PRIMA DATA',
            nonTeknis: [
                { kode: '1.1', aspek: 'Disiplin', nilai: 80, capaian: 'Murid Menunjukkan sikap Disiplin dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.2', aspek: 'Kerjasama', nilai: 90, capaian: 'Murid Menunjukkan sikap sangat bisa bekerjasama dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.3', aspek: 'Kejuruan', nilai: 85, capaian: 'Murid Menunjukkan sikap sesuai dengan tuntutan kejuruan dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.4', aspek: 'Kerapian', nilai: 85, capaian: 'Murid Menunjukkan sikap rapi dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.5', aspek: 'Tanggung Jawab', nilai: 88, capaian: 'Murid Menunjukkan sikap bertanggungjawab dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.6', aspek: 'Kemauan Kerja', nilai: 90, capaian: 'Murid Menunjukkan sikap kerja sangat bertanggungjawab dalam pelaksanaan tugas yang diberikan' }
            ],
            teknis: [
                { kode: '2.1', aspek: 'Merakit Personal Komputer', nilai: 80, capaian: 'Murid terampil dalam merakit personal komputer' },
                { kode: '2.2', aspek: 'Instalasi Sistem Operasi Dasar', nilai: 85, capaian: 'Murid terampil dalam Melakukan Instalasi Sistem Operasi Dasar' },
                { kode: '2.3', aspek: 'Perbaikan dan/atau Seting Ulang sistem PC', nilai: 92, capaian: 'Murid sangat terampil dalam Melakukan Perbaikan dan/atau Seting Ulang sistem PC' },
                { kode: '2.4', aspek: 'Instalasi Software', nilai: 85, capaian: 'Murid terampil dalam Melakukan Instalasi Software' },
                { kode: '2.5', aspek: 'Instalasi Perangkat Jaringan Lokal', nilai: 80, capaian: 'Murid terampil dalam Melakukan Instalasi Perangkat Jaringan Lokal (Local area Network)' },
                { kode: '2.6', aspek: 'Perbaikan dan/atau Seting Ulang Koneksi Jaringan', nilai: 95, capaian: 'Murid sangat terampil dalam Melakukan Perbaikan dan/atau Seting Ulang Koneksi Jaringan' }
            ],
            sakit: 0,
            izin: 0,
            tanpaKeterangan: 0,
        }, {
            id: 'fahrur',
            nama: 'FAHRUR ROZI',
            nisn: '0075368620',
            nis: '849',
            kelas: 'XII TJKT 2',
            fase: 'F',
            semester: 'Gasal / 5',
            tahun: '2025/2026',
            pembimbing: 'M. Misbahul M',
            tempatPkl: 'BEST CAMP PRIMA DATA',
            nonTeknis: [
                { kode: '1.1', aspek: 'Disiplin', nilai: 82, capaian: 'Murid Menunjukkan sikap Disiplin dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.2', aspek: 'Kerjasama', nilai: 88, capaian: 'Murid Menunjukkan sikap sangat bisa bekerjasama dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.3', aspek: 'Kejuruan', nilai: 80, capaian: 'Murid Menunjukkan sikap sesuai dengan tuntutan kejuruan dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.4', aspek: 'Kerapian', nilai: 83, capaian: 'Murid Menunjukkan sikap rapi dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.5', aspek: 'Tanggung Jawab', nilai: 85, capaian: 'Murid Menunjukkan sikap bertanggungjawab dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.6', aspek: 'Kemauan Kerja', nilai: 87, capaian: 'Murid Menunjukkan sikap kerja sangat bertanggungjawab dalam pelaksanaan tugas yang diberikan' }
            ],
            teknis: [
                { kode: '2.1', aspek: 'Merakit Personal Komputer', nilai: 78, capaian: 'Murid terampil dalam merakit personal komputer' },
                { kode: '2.2', aspek: 'Instalasi Sistem Operasi Dasar', nilai: 82, capaian: 'Murid terampil dalam Melakukan Instalasi Sistem Operasi Dasar' },
                { kode: '2.3', aspek: 'Perbaikan dan/atau Seting Ulang sistem PC', nilai: 88, capaian: 'Murid sangat terampil dalam Melakukan Perbaikan dan/atau Seting Ulang sistem PC' },
                { kode: '2.4', aspek: 'Instalasi Software', nilai: 80, capaian: 'Murid terampil dalam Melakukan Instalasi Software' },
                { kode: '2.5', aspek: 'Instalasi Perangkat Jaringan Lokal', nilai: 76, capaian: 'Murid terampil dalam Melakukan Instalasi Perangkat Jaringan Lokal (Local area Network)' },
                { kode: '2.6', aspek: 'Perbaikan dan/atau Seting Ulang Koneksi Jaringan', nilai: 90, capaian: 'Murid sangat terampil dalam Melakukan Perbaikan dan/atau Seting Ulang Koneksi Jaringan' }
            ],
            sakit: 0,
            izin: 0,
            tanpaKeterangan: 0,
        }, {
            id: 'flora',
            nama: 'FLORA FIRNANDA',
            nisn: '0075368621',
            nis: '850',
            kelas: 'XII TJKT 2',
            fase: 'F',
            semester: 'Gasal / 5',
            tahun: '2025/2026',
            pembimbing: 'M. Misbahul M',
            tempatPkl: 'BEST CAMP PRIMA DATA',
            nonTeknis: [
                { kode: '1.1', aspek: 'Disiplin', nilai: 90, capaian: 'Murid Menunjukkan sikap Disiplin dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.2', aspek: 'Kerjasama', nilai: 92, capaian: 'Murid Menunjukkan sikap sangat bisa bekerjasama dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.3', aspek: 'Kejuruan', nilai: 88, capaian: 'Murid Menunjukkan sikap sesuai dengan tuntutan kejuruan dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.4', aspek: 'Kerapian', nilai: 90, capaian: 'Murid Menunjukkan sikap rapi dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.5', aspek: 'Tanggung Jawab', nilai: 91, capaian: 'Murid Menunjukkan sikap bertanggungjawab dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.6', aspek: 'Kemauan Kerja', nilai: 93, capaian: 'Murid Menunjukkan sikap kerja sangat bertanggungjawab dalam pelaksanaan tugas yang diberikan' }
            ],
            teknis: [
                { kode: '2.1', aspek: 'Merakit Personal Komputer', nilai: 85, capaian: 'Murid terampil dalam merakit personal komputer' },
                { kode: '2.2', aspek: 'Instalasi Sistem Operasi Dasar', nilai: 88, capaian: 'Murid terampil dalam Melakukan Instalasi Sistem Operasi Dasar' },
                { kode: '2.3', aspek: 'Perbaikan dan/atau Seting Ulang sistem PC', nilai: 92, capaian: 'Murid sangat terampil dalam Melakukan Perbaikan dan/atau Seting Ulang sistem PC' },
                { kode: '2.4', aspek: 'Instalasi Software', nilai: 87, capaian: 'Murid terampil dalam Melakukan Instalasi Software' },
                { kode: '2.5', aspek: 'Instalasi Perangkat Jaringan Lokal', nilai: 84, capaian: 'Murid terampil dalam Melakukan Instalasi Perangkat Jaringan Lokal (Local area Network)' },
                { kode: '2.6', aspek: 'Perbaikan dan/atau Seting Ulang Koneksi Jaringan', nilai: 94, capaian: 'Murid sangat terampil dalam Melakukan Perbaikan dan/atau Seting Ulang Koneksi Jaringan' }
            ],
            sakit: 0,
            izin: 0,
            tanpaKeterangan: 0,
        }, {
            id: 'raysa',
            nama: 'RAYSA ADI SAPUTRA',
            nisn: '0075368622',
            nis: '851',
            kelas: 'XII TJKT 2',
            fase: 'F',
            semester: 'Gasal / 5',
            tahun: '2025/2026',
            pembimbing: 'Agung K',
            tempatPkl: 'PT MITRA KENCANA TECHNOLOGY',
            nonTeknis: [
                { kode: '1.1', aspek: 'Disiplin', nilai: 78, capaian: 'Murid Menunjukkan sikap Disiplin dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.2', aspek: 'Kerjasama', nilai: 82, capaian: 'Murid Menunjukkan sikap sangat bisa bekerjasama dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.3', aspek: 'Kejuruan', nilai: 80, capaian: 'Murid Menunjukkan sikap sesuai dengan tuntutan kejuruan dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.4', aspek: 'Kerapian', nilai: 76, capaian: 'Murid Menunjukkan sikap rapi dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.5', aspek: 'Tanggung Jawab', nilai: 79, capaian: 'Murid Menunjukkan sikap bertanggungjawab dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.6', aspek: 'Kemauan Kerja', nilai: 84, capaian: 'Murid Menunjukkan sikap kerja sangat bertanggungjawab dalam pelaksanaan tugas yang diberikan' }
            ],
            teknis: [
                { kode: '2.1', aspek: 'Merakit Personal Komputer', nilai: 75, capaian: 'Murid terampil dalam merakit personal komputer' },
                { kode: '2.2', aspek: 'Instalasi Sistem Operasi Dasar', nilai: 78, capaian: 'Murid terampil dalam Melakukan Instalasi Sistem Operasi Dasar' },
                { kode: '2.3', aspek: 'Perbaikan dan/atau Seting Ulang sistem PC', nilai: 82, capaian: 'Murid sangat terampil dalam Melakukan Perbaikan dan/atau Seting Ulang sistem PC' },
                { kode: '2.4', aspek: 'Instalasi Software', nilai: 76, capaian: 'Murid terampil dalam Melakukan Instalasi Software' },
                { kode: '2.5', aspek: 'Instalasi Perangkat Jaringan Lokal', nilai: 72, capaian: 'Murid terampil dalam Melakukan Instalasi Perangkat Jaringan Lokal (Local area Network)' },
                { kode: '2.6', aspek: 'Perbaikan dan/atau Seting Ulang Koneksi Jaringan', nilai: 86, capaian: 'Murid sangat terampil dalam Melakukan Perbaikan dan/atau Seting Ulang Koneksi Jaringan' }
            ],
            sakit: 0,
            izin: 0,
            tanpaKeterangan: 0,
        }, {
            id: 'guntur',
            nama: 'GUNTUR ADITYA SAPUTRA',
            nisn: '0075368623',
            nis: '852',
            kelas: 'XII TJKT 2',
            fase: 'F',
            semester: 'Gasal / 5',
            tahun: '2025/2026',
            pembimbing: 'Umi F',
            tempatPkl: 'HORIZON RESORT TLOGO',
            nonTeknis: [
                { kode: '1.1', aspek: 'Disiplin', nilai: 83, capaian: 'Murid Menunjukkan sikap Disiplin dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.2', aspek: 'Kerjasama', nilai: 86, capaian: 'Murid Menunjukkan sikap sangat bisa bekerjasama dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.3', aspek: 'Kejuruan', nilai: 81, capaian: 'Murid Menunjukkan sikap sesuai dengan tuntutan kejuruan dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.4', aspek: 'Kerapian', nilai: 84, capaian: 'Murid Menunjukkan sikap rapi dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.5', aspek: 'Tanggung Jawab', nilai: 87, capaian: 'Murid Menunjukkan sikap bertanggungjawab dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.6', aspek: 'Kemauan Kerja', nilai: 89, capaian: 'Murid Menunjukkan sikap kerja sangat bertanggungjawab dalam pelaksanaan tugas yang diberikan' }
            ],
            teknis: [
                { kode: '2.1', aspek: 'Merakit Personal Komputer', nilai: 79, capaian: 'Murid terampil dalam merakit personal komputer' },
                { kode: '2.2', aspek: 'Instalasi Sistem Operasi Dasar', nilai: 83, capaian: 'Murid terampil dalam Melakukan Instalasi Sistem Operasi Dasar' },
                { kode: '2.3', aspek: 'Perbaikan dan/atau Seting Ulang sistem PC', nilai: 88, capaian: 'Murid sangat terampil dalam Melakukan Perbaikan dan/atau Seting Ulang sistem PC' },
                { kode: '2.4', aspek: 'Instalasi Software', nilai: 82, capaian: 'Murid terampil dalam Melakukan Instalasi Software' },
                { kode: '2.5', aspek: 'Instalasi Perangkat Jaringan Lokal', nilai: 77, capaian: 'Murid terampil dalam Melakukan Instalasi Perangkat Jaringan Lokal (Local area Network)' },
                { kode: '2.6', aspek: 'Perbaikan dan/atau Seting Ulang Koneksi Jaringan', nilai: 91, capaian: 'Murid sangat terampil dalam Melakukan Perbaikan dan/atau Seting Ulang Koneksi Jaringan' }
            ],
            sakit: 0,
            izin: 0,
            tanpaKeterangan: 0,
        }, {
            id: 'helsa',
            nama: 'HELSA RIZQI AKBAR',
            nisn: '0075368624',
            nis: '853',
            kelas: 'XII TJKT 2',
            fase: 'F',
            semester: 'Gasal / 5',
            tahun: '2025/2026',
            pembimbing: 'Bramantyo',
            tempatPkl: 'BEST CAMP PRIMA DATA',
            nonTeknis: [
                { kode: '1.1', aspek: 'Disiplin', nilai: 87, capaian: 'Murid Menunjukkan sikap Disiplin dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.2', aspek: 'Kerjasama', nilai: 90, capaian: 'Murid Menunjukkan sikap sangat bisa bekerjasama dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.3', aspek: 'Kejuruan', nilai: 85, capaian: 'Murid Menunjukkan sikap sesuai dengan tuntutan kejuruan dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.4', aspek: 'Kerapian', nilai: 88, capaian: 'Murid Menunjukkan sikap rapi dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.5', aspek: 'Tanggung Jawab', nilai: 90, capaian: 'Murid Menunjukkan sikap bertanggungjawab dalam pelaksanaan tugas yang diberikan' },
                { kode: '1.6', aspek: 'Kemauan Kerja', nilai: 92, capaian: 'Murid Menunjukkan sikap kerja sangat bertanggungjawab dalam pelaksanaan tugas yang diberikan' }
            ],
            teknis: [
                { kode: '2.1', aspek: 'Merakit Personal Komputer', nilai: 83, capaian: 'Murid terampil dalam merakit personal komputer' },
                { kode: '2.2', aspek: 'Instalasi Sistem Operasi Dasar', nilai: 87, capaian: 'Murid terampil dalam Melakukan Instalasi Sistem Operasi Dasar' },
                { kode: '2.3', aspek: 'Perbaikan dan/atau Seting Ulang sistem PC', nilai: 91, capaian: 'Murid sangat terampil dalam Melakukan Perbaikan dan/atau Seting Ulang sistem PC' },
                { kode: '2.4', aspek: 'Instalasi Software', nilai: 86, capaian: 'Murid terampil dalam Melakukan Instalasi Software' },
                { kode: '2.5', aspek: 'Instalasi Perangkat Jaringan Lokal', nilai: 82, capaian: 'Murid terampil dalam Melakukan Instalasi Perangkat Jaringan Lokal (Local area Network)' },
                { kode: '2.6', aspek: 'Perbaikan dan/atau Seting Ulang Koneksi Jaringan', nilai: 93, capaian: 'Murid sangat terampil dalam Melakukan Perbaikan dan/atau Seting Ulang Koneksi Jaringan' }
            ],
            sakit: 0,
            izin: 0,
            tanpaKeterangan: 0,
        }];

        // ======================================================================
        // STATE
        // ======================================================================
        let selectedStudent = null;
        let templateImageData = null; // akan diisi dengan data URL gambar

        // DOM refs
        const studentSelect = document.getElementById('studentSelect');
        const namaInput = document.getElementById('nama');
        const nisnInput = document.getElementById('nisn');
        const pembimbingInput = document.getElementById('pembimbing');
        const tempatPklInput = document.getElementById('tempatPkl');
        const downloadBtn = document.getElementById('downloadBtn');
        const loadingEl = document.getElementById('loading');
        const previewImg = document.getElementById('preview');
        const templateUpload = document.getElementById('templateUpload');

        // URL template dari Google Drive (fallback)
        const TEMPLATE_URL_DRIVE = 'https://drive.google.com/uc?export=view&amp;id=1fttQv-oJtw6meR3sScnXo6MjRT8Ul4m1';

        // ======================================================================
        // INIT
        // ======================================================================
        function init() {
            // Isi dropdown
            studentSelect.innerHTML = '&lt;option value=""&gt;— Pilih Siswa —&lt;/option&gt;';
            STUDENTS_DATA.forEach(s =&gt; {
                const opt = document.createElement('option');
                opt.value = s.id;
                opt.textContent = s.nama + ' (' + s.nis + ')';
                studentSelect.appendChild(opt);
            });

            // Coba muat template dari drive
            loadTemplateFromDrive();
        }

        // ======================================================================
        // LOAD TEMPLATE
        // ======================================================================
        function loadTemplateFromDrive() {
            previewImg.src = TEMPLATE_URL_DRIVE;
            previewImg.onload = function() {
                // Berhasil, simpan data gambar
                templateImageData = previewImg.src;
                console.log('Template berhasil dimuat dari Google Drive');
                previewImg.onerror = null; // hapus handler error
            };
            previewImg.onerror = function() {
                console.warn('Gagal memuat template dari Drive. Silakan upload manual.');
                previewImg.alt = 'Gagal memuat template. Upload gambar secara manual.';
                // Tampilkan pesan di area preview
                previewImg.style.display = 'block';
                // Kita tidak set templateImageData, sehingga nanti akan dicegah generate PDF
                // tapi kita beri info ke user
                alert('Gagal memuat template dari Google Drive. Silakan upload gambar template menggunakan tombol di bawah.');
            };
        }

        // ======================================================================
        // HANDLE UPLOAD TEMPLATE LOKAL
        // ======================================================================
        function handleTemplateUpload(event) {
            const file = event.target.files[0];
            if (!file) return;
            const reader = new FileReader();
            reader.onload = function(e) {
                const dataUrl = e.target.result;
                templateImageData = dataUrl;
                previewImg.src = dataUrl;
                previewImg.onerror = null;
                previewImg.alt = 'Template lokal';
                console.log('Template lokal berhasil dimuat');
                alert('Template berhasil diunggah!');
            };
            reader.onerror = function() {
                alert('Gagal membaca file. Coba lagi.');
            };
            reader.readAsDataURL(file);
        }

        // ======================================================================
        // STUDENT SELECT
        // ======================================================================
        function onStudentChange() {
            const id = studentSelect.value;
            if (!id) {
                clearFields();
                downloadBtn.disabled = true;
                return;
            }
            const s = STUDENTS_DATA.find(d =&gt; d.id === id);
            if (!s) return;
            selectedStudent = s;
            namaInput.value = s.nama;
            nisnInput.value = s.nisn + ' / ' + s.nis;
            pembimbingInput.value = s.pembimbing;
            tempatPklInput.value = s.tempatPkl;
            // Cek apakah template sudah dimuat
            if (templateImageData) {
                downloadBtn.disabled = false;
            } else {
                downloadBtn.disabled = true;
                alert('Template belum dimuat. Upload gambar template terlebih dahulu.');
            }
        }

        function clearFields() {
            namaInput.value = '';
            nisnInput.value = '';
            pembimbingInput.value = '';
            tempatPklInput.value = '';
            selectedStudent = null;
            downloadBtn.disabled = true;
        }

        // ======================================================================
        // LOAD IMAGE FROM DATA URL
        // ======================================================================
        function loadImageFromDataUrl(dataUrl) {
            return new Promise((resolve, reject) =&gt; {
                const img = new Image();
                img.onload = () =&gt; resolve(img);
                img.onerror = () =&gt; reject(new Error('Gagal memuat gambar template.'));
                img.src = dataUrl;
            });
        }

        // ======================================================================
        // GENERATE PDF
        // ======================================================================
        async function generatePDF() {
            if (!selectedStudent) {
                alert('Pilih siswa terlebih dahulu.');
                return;
            }
            if (!templateImageData) {
                alert('Template belum dimuat. Upload gambar template terlebih dahulu.');
                return;
            }

            const s = selectedStudent;

            // Hitung total &amp; rata-rata
            const allNilai = [...s.nonTeknis, ...s.teknis];
            const total = allNilai.reduce((sum, item) =&gt; sum + item.nilai, 0);
            const avg = Math.round(total / allNilai.length);

            loadingEl.style.display = 'block';
            downloadBtn.disabled = true;

            try {
                await document.fonts.ready;
                const img = await loadImageFromDataUrl(templateImageData);

                const canvas = document.createElement('canvas');
                canvas.width = img.width;
                canvas.height = img.height;
                const ctx = canvas.getContext('2d');

                // Gambar template
                ctx.drawImage(img, 0, 0, canvas.width, canvas.height);

                // ====================== POSISI TEKS ======================
                const W = canvas.width;
                const H = canvas.height;

                ctx.textAlign = 'left';
                ctx.textBaseline = 'middle';
                ctx.fillStyle = '#000000';

                // ----- 1. Nama Peserta Didik -----
                const namaY = H * 0.188;
                let fontSize = W * 0.020;
                ctx.font = `700 ${fontSize}px Montserrat`;
                let tw = ctx.measureText(s.nama).width;
                const maxW = W * 0.55;
                while (tw &gt; maxW &amp;&amp; fontSize &gt; 12) {
                    fontSize -= 1;
                    ctx.font = `700 ${fontSize}px Montserrat`;
                    tw = ctx.measureText(s.nama).width;
                }
                ctx.fillText(s.nama, W * 0.175, namaY);

                // ----- 2. NISN/NIS -----
                const nisnText = s.nisn + ' / ' + s.nis;
                ctx.font = `400 ${W * 0.017}px Montserrat`;
                ctx.fillText(nisnText, W * 0.175, H * 0.225);

                // ----- 3. Sekolah -----
                const sekolah = 'SMK NEGERI 1 TUNTANG';
                ctx.font = `400 ${W * 0.017}px Montserrat`;
                ctx.fillText(sekolah, W * 0.175, H * 0.260);

                // ----- 4. Alamat -----
                const alamat = 'Jl. Mertokusumo, Desa Candirejo';
                ctx.font = `400 ${W * 0.017}px Montserrat`;
                ctx.fillText(alamat, W * 0.175, H * 0.295);

                // ----- 5. Kelas -----
                ctx.font = `400 ${W * 0.017}px Montserrat`;
                ctx.fillText(s.kelas, W * 0.175, H * 0.330);

                // ----- 6. Fase -----
                ctx.fillText(s.fase, W * 0.175, H * 0.365);

                // ----- 7. Semester -----
                ctx.fillText(s.semester, W * 0.175, H * 0.400);

                // ----- 8. Tahun Pelajaran -----
                ctx.fillText(s.tahun, W * 0.175, H * 0.435);

                // ----- 9. Pembimbing (ditambahkan) -----
                const pembText = 'Pembimbing : ' + s.pembimbing;
                ctx.font = `500 ${W * 0.016}px Montserrat`;
                ctx.fillText(pembText, W * 0.175, H * 0.470);

                // ----- 10. Tempat PKL (ditambahkan) -----
                const tempatText = 'Tempat PKL : ' + s.tempatPkl;
                ctx.font = `500 ${W * 0.016}px Montserrat`;
                ctx.fillText(tempatText, W * 0.175, H * 0.502);

                // ====================== TABEL NILAI ======================
                // Non-Teknis (1.1 - 1.6)
                const startX = W * 0.070;
                const col1W = W * 0.165;
                const col2W = W * 0.380;
                const col3W = W * 0.075;
                const col4W = W * 0.300;
                const rowH = H * 0.038;
                let yRow = H * 0.560;

                ctx.font = `400 ${W * 0.014}px Montserrat`;
                ctx.textAlign = 'left';
                ctx.textBaseline = 'middle';

                s.nonTeknis.forEach((item, idx) =&gt; {
                    const x1 = startX;
                    const x2 = startX + col1W;
                    const x3 = startX + col1W + col2W;
                    const x4 = startX + col1W + col2W + col3W;
                    const y = yRow + idx * rowH;

                    ctx.fillText(item.kode, x1 + 4, y);
                    ctx.fillText(item.aspek, x2 + 4, y);
                    ctx.fillText(item.nilai.toString(), x3 + 4, y);
                    let cap = item.capaian;
                    if (cap.length &gt; 38) cap = cap.substring(0, 36) + '...';
                    ctx.fillText(cap, x4 + 4, y);
                });

                // Teknis (2.1 - 2.6)
                const teknisStartY = H * 0.560 + (s.nonTeknis.length * rowH) + H * 0.025;
                s.teknis.forEach((item, idx) =&gt; {
                    const x1 = startX;
                    const x2 = startX + col1W;
                    const x3 = startX + col1W + col2W;
                    const x4 = startX + col1W + col2W + col3W;
                    const y = teknisStartY + idx * rowH;

                    ctx.fillText(item.kode, x1 + 4, y);
                    ctx.fillText(item.aspek, x2 + 4, y);
                    ctx.fillText(item.nilai.toString(), x3 + 4, y);
                    let cap = item.capaian;
                    if (cap.length &gt; 38) cap = cap.substring(0, 36) + '...';
                    ctx.fillText(cap, x4 + 4, y);
                });

                // ----- Total Nilai &amp; Rata-rata -----
                const totalY = teknisStartY + (s.teknis.length * rowH) + H * 0.020;
                ctx.font = `600 ${W * 0.017}px Montserrat`;
                ctx.textAlign = 'left';
                ctx.fillText('Total Nilai', startX + 4, totalY);
                ctx.fillText(total.toString(), startX + col1W + col2W + 4, totalY);

                const avgY = totalY + rowH * 0.9;
                ctx.fillText('Rata-rata', startX + 4, avgY);
                ctx.fillText(avg.toString(), startX + col1W + col2W + 4, avgY);

                // ----- Ketidakhadiran -----
                const absenY = avgY + rowH * 1.2;
                ctx.font = `400 ${W * 0.016}px Montserrat`;
                ctx.textAlign = 'left';
                ctx.fillText('Sakit', startX + 4, absenY);
                ctx.fillText(s.sakit + ' hari', startX + col1W + 4, absenY);
                ctx.fillText('Izin', startX + col1W + col2W + 4, absenY);
                ctx.fillText(s.izin + ' hari', startX + col1W + col2W + col3W + 4, absenY);
                ctx.fillText('Tanpa Keterangan', startX + col1W + col2W + col3W + col4W + 4, absenY);
                ctx.fillText(s.tanpaKeterangan + ' hari', startX + col1W + col2W + col3W + col4W + col3W + 4, absenY);

                // ----- Tanggal &amp; Tanda Tangan -----
                const ttdY = H * 0.930;
                ctx.font = `400 ${W * 0.015}px Montserrat`;
                ctx.textAlign = 'center';
                ctx.fillText('Tuntang, 18 Maret 2026', W * 0.5, ttdY);

                const tandaY = H * 0.960;
                ctx.font = `400 ${W * 0.014}px Montserrat`;
                ctx.fillText('Kepala Sekolah', W * 0.20, tandaY);
                ctx.fillText('Orang Tua/Wali', W * 0.50, tandaY);
                ctx.fillText('Wali Kelas', W * 0.80, tandaY);

                // Nama Kepsek
                ctx.font = `600 ${W * 0.014}px Montserrat`;
                ctx.fillText('Nanang Nurdiyanto, S.Pd, M.Eng', W * 0.20, tandaY + H * 0.025);
                ctx.fillText('NIP.19770402 200501 1 010', W * 0.20, tandaY + H * 0.045);

                // Nama Wali Kelas
                ctx.fillText('Nofrizal, S.T., Gr.', W * 0.80, tandaY + H * 0.025);
                ctx.fillText('NIP.19770327 202221 1 002', W * 0.80, tandaY + H * 0.045);

                // ====================== EXPORT PDF ======================
                const imageData = canvas.toDataURL('image/jpeg', 0.98);
                const { jsPDF } = window.jspdf;
                const pdf = new jsPDF({
                    orientation: canvas.width &gt; canvas.height ? 'landscape' : 'portrait',
                    unit: 'px',
                    format: [canvas.width, canvas.height]
                });

                pdf.addImage(imageData, 'JPEG', 0, 0, canvas.width, canvas.height);
                const safeName = s.nama.replace(/[^a-z0-9]/gi, '_');
                pdf.save('Raport_PKL_' + safeName + '.pdf');

            } catch (error) {
                console.error(error);
                alert('❌ Gagal membuat PDF\n\n' + error.message);
            } finally {
                loadingEl.style.display = 'none';
                downloadBtn.disabled = false;
            }
        }

        // ======================================================================
        // START
        // ======================================================================
        init();
        console.log('✅ Aplikasi Raport PKL TJKT 2 siap. Silakan upload template jika diperlukan.');
    &lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjTwjlyzkMzJywQ96opnkRlOsC8pRIsVpEID1FccNG43tmWGOwKuKC1DLg14SfhQUp7daIc0N_I64Z4yTtbvuOKQUF8xexbNYPkPSxyaKXALhR9gpNYE9pbTz4qWcKGlDZiD-t82C3lj_QQQTGxfe__h91uMG_sDsH2_LiM5MO51CY7QIhcIIImal71gA/s2599/tempalte%20RAPOR%20PKL%202025-2026-TJKT2-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" data-original-height="2599" data-original-width="1654" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjTwjlyzkMzJywQ96opnkRlOsC8pRIsVpEID1FccNG43tmWGOwKuKC1DLg14SfhQUp7daIc0N_I64Z4yTtbvuOKQUF8xexbNYPkPSxyaKXALhR9gpNYE9pbTz4qWcKGlDZiD-t82C3lj_QQQTGxfe__h91uMG_sDsH2_LiM5MO51CY7QIhcIIImal71gA/w408-h640/tempalte%20RAPOR%20PKL%202025-2026-TJKT2-1.png" width="408" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;</description><link>http://kitab-investasi.blogspot.com/2026/06/raport-pkl.html</link><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjTwjlyzkMzJywQ96opnkRlOsC8pRIsVpEID1FccNG43tmWGOwKuKC1DLg14SfhQUp7daIc0N_I64Z4yTtbvuOKQUF8xexbNYPkPSxyaKXALhR9gpNYE9pbTz4qWcKGlDZiD-t82C3lj_QQQTGxfe__h91uMG_sDsH2_LiM5MO51CY7QIhcIIImal71gA/s72-w408-h640-c/tempalte%20RAPOR%20PKL%202025-2026-TJKT2-1.png" width="72"/><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-4286446652379436361</guid><pubDate>Thu, 18 Jun 2026 07:53:16 +0000</pubDate><atom:updated>2026-07-02T14:46:30.663+07:00</atom:updated><title>Game Edukasi Karakter 5S Terintegrasi INFORMATIKA</title><description>&lt;!DOCTYPE html&gt;
&lt;html lang="id"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;title&gt;Cyber 5S: Ultimate Quest&lt;/title&gt;
    &lt;style&gt;
        @import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700&amp;display=swap');
        body { margin: 0; background: #050616; color: #00f3ff; font-family: 'Orbitron', sans-serif; overflow: hidden; touch-action: none; }
        #ui { position: fixed; top: 10px; width: 100%; text-align: center; z-index: 10; pointer-events: none; }
        .panel { background: rgba(0, 243, 255, 0.1); border: 2px solid #00f3ff; padding: 10px 20px; border-radius: 20px; display: inline-block; pointer-events: auto; text-shadow: 0 0 5px #00f3ff; }
        canvas { display: block; }
        #overlay { position: fixed; top:0; left:0; width:100%; height:100%; background: radial-gradient(circle, #0f172a, #050616); display: flex; flex-direction: column; justify-content: center; align-items: center; z-index: 20; text-align: center; }
        .btn { padding: 15px 40px; background: transparent; border: 2px solid #00ff88; color: #00ff88; cursor: pointer; border-radius: 30px; font-weight: bold; transition: 0.3s; margin-top: 20px; font-family: inherit; font-size: 1.2rem; }
        .btn:hover { background: #00ff88; color: #050616; box-shadow: 0 0 20px #00ff88; }
        input { padding: 15px; border-radius:10px; border:2px solid #00f3ff; background:transparent; color:#fff; text-align:center; width: 300px; font-family: inherit; font-size: 1.2rem; }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div id="ui"&gt;
    &lt;div class="panel"&gt;PILOT: &lt;span id="user-display"&gt;---&lt;/span&gt; | SCORE: &lt;span id="score-display"&gt;0&lt;/span&gt; | LVL: &lt;span id="lvl-display"&gt;1/5&lt;/span&gt;&lt;/div&gt;
    &lt;div id="q-text" class="panel" style="margin-top:10px; font-size: 1.1rem; max-width: 80%; border-color: #00ff88; color: #00ff88;"&gt;Siapkan sensor Anda, Pilot!&lt;/div&gt;
&lt;/div&gt;

&lt;div id="overlay"&gt;
    &lt;h1 style="font-size: 3rem; color: #00f3ff; text-shadow: 0 0 20px #00f3ff;"&gt;CYBER 5S MISSION&lt;/h1&gt;
    &lt;p style="margin: 20px; color: #fff;"&gt;Tembak gelembung jawaban yang PALING TEPAT untuk menginternalisasi nilai 5S.&lt;/p&gt;
    &lt;input type="text" id="username" placeholder="Nama Pilot" maxlength="15"&gt;
    &lt;button class="btn" onclick="initGame()"&gt;MULAI MISI&lt;/button&gt;
&lt;/div&gt;

&lt;canvas id="gameCanvas"&gt;&lt;/canvas&gt;

&lt;script&gt;
    const canvas = document.getElementById('gameCanvas');
    const ctx = canvas.getContext('2d');
    let gameActive = false, score = 0, level = 1, currentQ = 0, bubbles = [], bullets = [], playerX = 0, username = "";

    const qData = [
        { t: "SENYUM", d: [
            {q: "Apa esensi dari Senyum dalam 5S?", a: ["Menebar energi positif", "Pamer gigi", "Hanya formalitas", "Tanda lelah", "Menutupi sedih"], corr: 0},
            {q: "Kapan waktu terbaik memberikan senyum?", a: ["Saat bertemu orang", "Saat marah", "Saat bosan", "Saat sendiri", "Saat ditegur"], corr: 0},
            {q: "Senyum dapat menurunkan tingkat?", a: ["Stres", "Kecerdasan", "Gaji", "Wibawa", "Kecepatan"], corr: 0},
            {q: "Apa dampak senyum bagi lingkungan kerja?", a: ["Suasana jadi hangat", "Jadi berisik", "Kurang fokus", "Sangat formal", "Menjadi kaku"], corr: 0},
            {q: "Tersenyum adalah bentuk?", a: ["Sedekah termudah", "Tugas berat", "Pilihan sulit", "Tanda kelemahan", "Sikap pasif"], corr: 0},
            {q: "Bagaimana kriteria senyum 5S?", a: ["Tulus dari hati", "Dibuat-buat", "Sinis", "Terpaksa", "Menghina"], corr: 0},
            {q: "Senyum meningkatkan apa?", a: ["Rasa percaya diri", "Kecurigaan", "Jarak sosial", "Ketegangan", "Keraguan"], corr: 0},
            {q: "Apa respon orang saat kita tersenyum?", a: ["Merasa dihargai", "Merasa takut", "Bingung", "Abaikan", "Curiga"], corr: 0},
            {q: "Senyum adalah kunci awal?", a: ["Hubungan positif", "Konflik", "Debat", "Perkelahian", "Ketidakadilan"], corr: 0},
            {q: "Bagaimana jika kita lelah?", a: ["Tetap berusaha tersenyum", "Cemberut terus", "Marah-marah", "Cuek", "Menghindari orang"], corr: 0}
        ]},
        { t: "SALAM", d: Array.from({length:10}, (_,i) =&gt; ({q: `Salam #${i+1}: Mengapa salam itu penting?`, a: ["Penghormatan sesama", "Formalitas saja", "Buang waktu", "Tanda takut", "Kewajiban berat"], corr: 0})) },
        { t: "SAPA", d: Array.from({length:10}, (_,i) =&gt; ({q: `Sapa #${i+1}: Cara menyapa yang baik?`, a: ["Ramah dan santun", "Teriak-teriak", "Ejek nama", "Mengabaikan", "Lari saja"], corr: 0})) },
        { t: "SOPAN", d: Array.from({length:10}, (_,i) =&gt; ({q: `Sopan #${i+1}: Cerminan pribadi yang?`, a: ["Beradab", "Sombong", "Cuek", "Kasar", "Acuh"], corr: 0})) },
        { t: "SANTUN", d: Array.from({length:10}, (_,i) =&gt; ({q: `Santun #${i+1}: Inti komunikasi santun?`, a: ["Menghindari konflik", "Menang debat", "Bicara keras", "Memotong kata", "Menyindir"], corr: 0})) }
    ];

    function resize() { canvas.width = window.innerWidth; canvas.height = window.innerHeight; }
    window.onresize = resize; resize();

    function initGame() {
        username = document.getElementById('username').value || "Cadet";
        document.getElementById('user-display').innerText = username;
        document.getElementById('overlay').style.display = 'none';
        gameActive = true;
        loadQuest();
        animate();
    }

    function loadQuest() {
        bubbles = [];
        let q = qData[level-1].d[currentQ];
        document.getElementById('q-text').innerText = `${qData[level-1].t}: ${q.q}`;
        q.a.forEach((txt, i) =&gt; {
            bubbles.push({ x: Math.random()*(canvas.width-200)+100, y: Math.random()*200+50, vx: (Math.random()-0.5)*4, vy: (Math.random()-0.5)*4, text: txt, isCorr: i === q.corr });
        });
    }

    window.addEventListener('mousemove', e =&gt; playerX = e.clientX);
    window.addEventListener('click', () =&gt; { if(gameActive) bullets.push({x: playerX, y: canvas.height - 80}); });

    function animate() {
        if(!gameActive) return;
        ctx.fillStyle = "rgba(5, 6, 22, 0.4)"; ctx.fillRect(0, 0, canvas.width, canvas.height);
        
        // Ship
        ctx.fillStyle = "#00f3ff";
        ctx.beginPath(); ctx.moveTo(playerX, canvas.height - 80); ctx.lineTo(playerX-25, canvas.height-20); ctx.lineTo(playerX+25, canvas.height-20); ctx.fill();
        
        bullets.forEach((b, i) =&gt; {
            b.y -= 10; ctx.fillStyle = "#00ff88"; ctx.fillRect(b.x - 2, b.y, 4, 15);
            bubbles.forEach((bubble, j) =&gt; {
                if(Math.hypot(b.x - bubble.x, b.y - bubble.y) &lt; 45) {
                    bullets.splice(i, 1);
                    if(bubble.isCorr) { score += 20; }
                    currentQ++;
                    if(currentQ &gt;= 10) { currentQ = 0; level++; if(level &gt; 5) showCongrats(); else loadQuest(); } 
                    else loadQuest();
                    document.getElementById('score-display').innerText = score;
                    document.getElementById('lvl-display').innerText = `${level}/5`;
                }
            });
            if(b.y &lt; 0) bullets.splice(i, 1);
        });

        bubbles.forEach(b =&gt; {
            b.x += b.vx; b.y += b.vy;
            if(b.x &lt; 40 || b.x &gt; canvas.width-40) b.vx *= -1;
            if(b.y &lt; 40 || b.y &gt; 300) b.vy *= -1;
            ctx.strokeStyle = "#00f3ff"; ctx.lineWidth = 2; ctx.beginPath(); ctx.arc(b.x, b.y, 40, 0, Math.PI*2); ctx.stroke();
            ctx.fillStyle = "#fff"; ctx.font = "10px Orbitron"; ctx.fillText(b.text, b.x - 25, b.y + 5);
        });
        requestAnimationFrame(animate);
    }

    function showCongrats() {
        gameActive = false;
        let rank = score &gt;= 900 ? "Cyber-5S Master" : score &gt;= 600 ? "Pro 5S Navigator" : score &gt;= 300 ? "Guardian 5S" : "Perlu Belajar Lagi";
        document.getElementById('overlay').style.display = 'flex';
        document.getElementById('overlay').innerHTML = `
            &lt;h1 style="color:#00ff88"&gt;MISSION COMPLETE&lt;/h1&gt;
            &lt;p style="font-size: 1.5rem"&gt;PILOT ${username}&lt;/p&gt;
            &lt;p style="font-size: 2rem; color: #ff0;"&gt;RANK: ${rank}&lt;/p&gt;
            &lt;p style="margin: 20px;"&gt;SKOR AKHIR: ${score} / 1000&lt;/p&gt;
            &lt;button class="btn" onclick="location.reload()"&gt;RE-DEPLOY&lt;/button&gt;
        `;
    }
&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description><link>http://kitab-investasi.blogspot.com/2026/06/5s-game.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-3111842205694353476</guid><pubDate>Tue, 09 Jun 2026 14:11:48 +0000</pubDate><atom:updated>2026-06-09T21:11:48.136+07:00</atom:updated><title>KKA</title><description>&lt;!DOCTYPE html&gt;
&lt;html lang="id"&gt;
&lt;head&gt;
    &lt;meta charset="UTF-8"&gt;
    &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
    &lt;title&gt;KKA - CyberJungle Learning App&lt;/title&gt;
    &lt;style&gt;
        /* BASE STYLE &amp; FUTURISTIC JUNGLE BACKGROUND */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        }

        body {
            background: linear-gradient(135deg, rgba(6, 24, 14, 0.95), rgba(12, 44, 28, 0.9)), 
                        url('https://images.unsplash.com/photo-1516026672322-bc52d61a55d5?q=80&amp;w=1920') no-repeat center center fixed;
            background-size: cover;
            color: #e0f2fe;
            min-height: 100vh;
            overflow-x: hidden;
        }

        /* NEON GLOW EFFECT FOR GEN-Z STYLING */
        .neon-text {
            text-shadow: 0 0 10px #10b981, 0 0 20px #059669;
        }

        /* APP CONTAINER */
        .app-container {
            display: flex;
            max-width: 1400px;
            margin: 20px auto;
            background: rgba(10, 35, 22, 0.75);
            backdrop-filter: blur(15px);
            border: 1px solid rgba(16, 185, 129, 0.25);
            border-radius: 24px;
            overflow: hidden;
            box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5);
        }

        /* SIDEBAR (NAVIGASI SEMESTER) */
        .sidebar {
            width: 320px;
            background: rgba(4, 20, 12, 0.9);
            border-right: 1px solid rgba(16, 185, 129, 0.2);
            padding: 30px 20px;
        }

        .brand {
            font-size: 24px;
            font-weight: 800;
            color: #10b981;
            margin-bottom: 40px;
            display: flex;
            align-items: center;
            gap: 10px;
            letter-spacing: 1px;
        }

        .semester-btn {
            width: 100%;
            background: rgba(16, 185, 129, 0.1);
            border: 1px solid rgba(16, 185, 129, 0.3);
            padding: 15px;
            border-radius: 12px;
            color: #fff;
            font-size: 16px;
            font-weight: 600;
            text-align: left;
            cursor: pointer;
            transition: all 0.3s ease;
            margin-bottom: 15px;
        }

        .semester-btn:hover, .semester-btn.active {
            background: #10b981;
            color: #04140c;
            box-shadow: 0 0 15px rgba(16, 185, 129, 0.5);
            transform: translateX(5px);
        }

        /* MAIN CONTENT AREA */
        .main-content {
            flex: 1;
            padding: 40px;
            overflow-y: auto;
            max-height: 85vh;
        }

        .header-area {
            margin-bottom: 30px;
            border-bottom: 2px solid rgba(16, 185, 129, 0.2);
            padding-bottom: 20px;
        }

        .header-area h1 {
            font-size: 32px;
            font-weight: 800;
            color: #fff;
            margin-bottom: 10px;
        }

        /* TIMELINE / PERTEMUAN CARDS */
        .timeline {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 20px;
        }

        .card {
            background: rgba(16, 185, 129, 0.05);
            border: 1px solid rgba(16, 185, 129, 0.15);
            border-radius: 16px;
            padding: 24px;
            transition: all 0.3s ease;
            position: relative;
            overflow: hidden;
        }

        .card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 4px;
            height: 100%;
            background: #10b981;
            opacity: 0.5;
        }

        .card:hover {
            transform: translateY(-5px);
            background: rgba(16, 185, 129, 0.1);
            border-color: #10b981;
            box-shadow: 0 10px 20px rgba(16, 185, 129, 0.1);
        }

        .badge-pertemuan {
            background: rgba(16, 185, 129, 0.2);
            color: #34d399;
            padding: 4px 12px;
            border-radius: 20px;
            font-size: 12px;
            font-weight: 700;
            display: inline-block;
            margin-bottom: 12px;
            border: 1px solid rgba(16, 185, 129, 0.3);
        }

        .badge-evaluasi {
            background: rgba(239, 68, 68, 0.2);
            color: #f87171;
            border: 1px solid rgba(239, 68, 68, 0.3);
        }

        .card h3 {
            font-size: 18px;
            color: #fff;
            margin-bottom: 10px;
            font-weight: 700;
        }

        .card p {
            font-size: 14px;
            color: #a7f3d0;
            line-height: 1.6;
        }

        /* CUSTOM SCROLLBAR */
        ::-webkit-scrollbar {
            width: 8px;
        }
        ::-webkit-scrollbar-track {
            background: rgba(4, 20, 12, 0.5);
        }
        ::-webkit-scrollbar-thumb {
            background: #10b981;
            border-radius: 4px;
        }

        /* RESPONSIVE MQS */
        @media (max-width: 900px) {
            .app-container {
                flex-direction: column;
                margin: 10px;
            }
            .sidebar {
                width: 100%;
                border-right: none;
                border-bottom: 1px solid rgba(16, 185, 129, 0.2);
            }
            .main-content {
                max-height: none;
            }
        }
    &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

    &lt;div style="text-align: center; padding: 30px 10px 10px 10px;"&gt;
        &lt;h2 class="neon-text" style="font-size: 28px; font-weight: 800; color: #fff;"&gt;INFORMATIKA FASE E: DEEP LEARNING PORTAL&lt;/h2&gt;
        &lt;p style="color: #6ee7b7; font-size: 14px; margin-top: 5px;"&gt;Platform Pembelajaran Interaktif Berbasis Studi Kasus &amp; AI Generatif&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class="app-container"&gt;
        &lt;div class="sidebar"&gt;
            &lt;div class="brand"&gt;
                &lt;span&gt;&#127807;&lt;/span&gt; CYBER JUNGLE v1.0
            &lt;/div&gt;
            &lt;button class="semester-btn active" onclick="switchSemester(1, this)"&gt;
                &#128193; Semester 1: Fondasi &amp; Koding
            &lt;/button&gt;
            &lt;button class="semester-btn" onclick="switchSemester(2, this)"&gt;
                &#128193; Semester 2: Basis Data &amp; AI
            &lt;/button&gt;
        &lt;/div&gt;

        &lt;div class="main-content"&gt;
            
            &lt;div id="semester1" class="semester-section"&gt;
                &lt;div class="header-area"&gt;
                    &lt;h1&gt;Semester 1: Fondasi Berpikir, Literasi Digital, &amp; Pemrograman&lt;/h1&gt;
                    &lt;p&gt;Fokus pada pembentukan pola pikir sistematis, pemanfaatan media digital secara bijak, dan arsitektur logika pemrograman.&lt;/p&gt;
                &lt;/div&gt;
                &lt;div class="timeline"&gt;
                    &lt;div class="card"&gt;
                        &lt;span class="badge-pertemuan"&gt;Pertemuan 1 - 2&lt;/span&gt;
                        &lt;h3&gt;Berpikir Komputasional (Dasar)&lt;/h3&gt;
                        &lt;p&gt;Pengenalan 4 pilar inti: Dekomposisi, Abstraksi, Pengenalan Pola, dan Perancangan Algoritma untuk memecahkan masalah kompleks.&lt;/p&gt;
                    &lt;/div&gt;
                    &lt;div class="card"&gt;
                        &lt;span class="badge-pertemuan"&gt;Pertemuan 3 - 4&lt;/span&gt;
                        &lt;h3&gt;Penerapan Kasus Riil&lt;/h3&gt;
                        &lt;p&gt;Mengintegrasikan logika berpikir komputasional dengan analisis data pemecahan kasus nyata yang relevan dengan bidang keahlian.&lt;/p&gt;
                    &lt;/div&gt;
                    &lt;div class="card"&gt;
                        &lt;span class="badge-pertemuan"&gt;Pertemuan 5 - 6&lt;/span&gt;
                        &lt;h3&gt;Etika &amp; Keamanan Digital&lt;/h3&gt;
                        &lt;p&gt;Membahas regulasi digital, perlindungan keamanan data pribadi, serta etika dalam memproduksi informasi di ruang siber.&lt;/p&gt;
                    &lt;/div&gt;
                    &lt;div class="card"&gt;
                        &lt;span class="badge-pertemuan"&gt;Pertemuan 7 - 8&lt;/span&gt;
                        &lt;h3&gt;Produksi Konten Multimedia&lt;/h3&gt;
                        &lt;p&gt;Eksperimen langsung memproduksi serta mendistribusikan konten digital multimedia yang kreatif, aman, dan beretika.&lt;/p&gt;
                    &lt;/div&gt;
                    &lt;div class="card" style="border-color: rgba(239, 68, 68, 0.4);"&gt;
                        &lt;span class="badge-pertemuan badge-evaluasi"&gt;Pertemuan 9&lt;/span&gt;
                        &lt;h3&gt;Asesmen Sumatif Tengah Semester (STS)&lt;/h3&gt;
                        &lt;p&gt;Uji evaluasi berbasis proyek dan teori komprehensif untuk Elemen Berpikir Komputasional dan Literasi Digital.&lt;/p&gt;
                    &lt;/div&gt;
                    &lt;div class="card"&gt;
                        &lt;span class="badge-pertemuan"&gt;Pertemuan 10 - 12&lt;/span&gt;
                        &lt;h3&gt;Instruksi Logis Algoritma&lt;/h3&gt;
                        &lt;p&gt;Belajar membaca bermakna serta menyusun bagan instruksi pemrograman yang logis, linier, sistematis, dan bertahap.&lt;/p&gt;
                    &lt;/div&gt;
                    &lt;div class="card"&gt;
                        &lt;span class="badge-pertemuan"&gt;Pertemuan 13 - 15&lt;/span&gt;
                        &lt;h3&gt;Praktik Menulis Kode (Koding)&lt;/h3&gt;
                        &lt;p&gt;Koding mandiri dan kolaboratif menggunakan paradigma pemrograman modern untuk melatih keterampilan motorik digital.&lt;/p&gt;
                    &lt;/div&gt;
                    &lt;div class="card"&gt;
                        &lt;span class="badge-pertemuan"&gt;Pertemuan 16 - 17&lt;/span&gt;
                        &lt;h3&gt;Studi Komparasi Algoritma&lt;/h3&gt;
                        &lt;p&gt;Membandingkan berbagai efisiensi kode dan struktur logika algoritma guna menghasilkan performa aplikasi yang optimal.&lt;/p&gt;
                    &lt;/div&gt;
                    &lt;div class="card" style="border-color: rgba(239, 68, 68, 0.4);"&gt;
                        &lt;span class="badge-pertemuan badge-evaluasi"&gt;Pertemuan 18&lt;/span&gt;
                        &lt;h3&gt;Asesmen Sumatif Akhir Semester (SAS 1)&lt;/h3&gt;
                        &lt;p&gt;Uji kompetensi pemrograman akhir semester melalui pameran proyek mini aplikasi sederhana buatan siswa.&lt;/p&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;

            &lt;div id="semester2" class="semester-section" style="display: none;"&gt;
                &lt;div class="header-area"&gt;
                    &lt;h1&gt;Semester 2: Pengelolaan Data, Literasi KA, &amp; Proyek AI Generatif&lt;/h1&gt;
                    &lt;p&gt;Eksplorasi tingkat lanjut manajemen big data, arsitektur Kecerdasan Artifisial, dan rekayasa prompt (Prompt Engineering).&lt;/p&gt;
                &lt;/div&gt;
                &lt;div class="timeline"&gt;
                    &lt;div class="card"&gt;
                        &lt;span class="badge-pertemuan"&gt;Pertemuan 19 - 20&lt;/span&gt;
                        &lt;h3&gt;Konsep Dasar Basis Data&lt;/h3&gt;
                        &lt;p&gt;Pengenalan struktur pengolahan data, model relasional database, dan cara mengorganisir data siber secara rapi.&lt;/p&gt;
                    &lt;/div&gt;
                    &lt;div class="card"&gt;
                        &lt;span class="badge-pertemuan"&gt;Pertemuan 21 - 23&lt;/span&gt;
                        &lt;h3&gt;Analisis Data Bermakna&lt;/h3&gt;
                        &lt;p&gt;Praktik langsung menginput, menyaring, memproses, dan menyajikan visualisasi data agar menjadi informasi strategis.&lt;/p&gt;
                    &lt;/div&gt;
                    &lt;div class="card"&gt;
                        &lt;span class="badge-pertemuan"&gt;Pertemuan 24 - 25&lt;/span&gt;
                        &lt;h3&gt;Prediksi Berbasis Data (Data-Driven)&lt;/h3&gt;
                        &lt;p&gt;Metodologi pengambilan keputusan cerdas dan membuat prediksi tren masa depan berdasarkan pola data yang tersedia.&lt;/p&gt;
                    &lt;/div&gt;
                    &lt;div class="card"&gt;
                        &lt;span class="badge-pertemuan"&gt;Pertemuan 26 - 27&lt;/span&gt;
                        &lt;h3&gt;Konsep &amp; Cara Kerja KA&lt;/h3&gt;
                        &lt;p&gt;Membongkar dapur teknologi Kecerdasan Artifisial, cara model belajar (Deep Learning), serta manfaat dan dampaknya.&lt;/p&gt;
                    &lt;/div&gt;
                    &lt;div class="card" style="border-color: rgba(239, 68, 68, 0.4);"&gt;
                        &lt;span class="badge-pertemuan badge-evaluasi"&gt;Pertemuan 28&lt;/span&gt;
                        &lt;h3&gt;Asesmen Sumatif Tengah Semester (STS)&lt;/h3&gt;
                        &lt;p&gt;Evaluasi pemahaman konsep teknik analisis basis data serta arsitektur fundamental teknologi kecerdasan buatan.&lt;/p&gt;
                    &lt;/div&gt;
                    &lt;div class="card"&gt;
                        &lt;span class="badge-pertemuan"&gt;Pertemuan 29 - 31&lt;/span&gt;
                        &lt;h3&gt;Etika, Keamanan &amp; Keadaban KA&lt;/h3&gt;
                        &lt;p&gt;Diskusi interaktif kritis mengenai bias algoritma, keamanan data siber, dan aspek hukum/sosial dalam pemanfaatan KA.&lt;/p&gt;
                    &lt;/div&gt;
                    &lt;div class="card"&gt;
                        &lt;span class="badge-pertemuan"&gt;Pertemuan 32 - 34&lt;/span&gt;
                        &lt;h3&gt;Prompt Engineering Pro&lt;/h3&gt;
                        &lt;p&gt;Seni merancang instruksi perintah yang efektif, presisi, dan optimal pada platform AI Generatif untuk produktivitas kerja.&lt;/p&gt;
                    &lt;/div&gt;
                    &lt;div class="card"&gt;
                        &lt;span class="badge-pertemuan"&gt;Pertemuan 35 - 37&lt;/span&gt;
                        &lt;h3&gt;Proyek Kolaboratif Produk KA&lt;/h3&gt;
                        &lt;p&gt;Menggunakan AI generatif untuk merancang, mendesain cetak biru, dan mengevaluasi rencana bisnis/proyek barang-jasa kreatif.&lt;/p&gt;
                    &lt;/div&gt;
                    &lt;div class="card" style="border-color: rgba(239, 68, 68, 0.4);"&gt;
                        &lt;span class="badge-pertemuan badge-evaluasi"&gt;Pertemuan 38&lt;/span&gt;
                        &lt;h3&gt;Asesmen Sumatif Akhir Semester (SAS 2)&lt;/h3&gt;
                        &lt;p&gt;Sidang presentasi akhir produk inovasi berbasis AI Generatif hasil kolaborasi kelompok di depan kelas.&lt;/p&gt;
                    &lt;/div&gt;
                &lt;/div&gt;
            &lt;/div&gt;

        &lt;/div&gt;
    &lt;/div&gt;

    &lt;script&gt;
        function switchSemester(sem, btn) {
            // Sembunyikan semua section
            document.getElementById('semester1').style.display = 'none';
            document.getElementById('semester2').style.display = 'none';
            
            // Tampilkan section terpilih
            document.getElementById('semester' + sem).style.display = 'block';
            
            // Reset &amp; atur class aktif tombol
            const buttons = document.querySelectorAll('.semester-btn');
            buttons.forEach(b =&gt; b.classList.remove('active'));
            btn.classList.add('active');
        }
    &lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;</description><link>http://kitab-investasi.blogspot.com/2026/06/kka.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-5934869907301933553</guid><pubDate>Tue, 19 May 2026 04:15:22 +0000</pubDate><atom:updated>2026-05-19T12:31:12.083+07:00</atom:updated><title>sertifikat kombel</title><description>&lt;!DOCTYPE html&gt;
&lt;html lang="id"&gt;
&lt;head&gt;
&lt;meta charset="UTF-8"&gt;
&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
&lt;title&gt;Generator Sertifikat&lt;/title&gt;

&lt;link href="https://fonts.googleapis.com/css2?family=Montserrat:wght@700&amp;display=swap" rel="stylesheet"&gt;

&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.5.1/jspdf.umd.min.js"&gt;&lt;/script&gt;

&lt;style&gt;

body{
    font-family:Arial,sans-serif;
    background:#eef2f7;
    padding:20px;
    max-width:700px;
    margin:auto;
}

.card{
    background:white;
    padding:24px;
    border-radius:20px;
    box-shadow:0 10px 20px rgba(0,0,0,.1);
}

h2{
    text-align:center;
    color:#1e4668;
}

.confirm-box{
    background:#f0f6ff;
    border-left:5px solid #2c7da0;
    padding:16px;
    border-radius:16px;
    margin-bottom:20px;
    text-align:center;
}

.confirm-box p{
    margin-top:0;
    font-weight:bold;
    color:#1e4668;
}

.confirm-buttons{
    display:flex;
    gap:10px;
    margin-top:10px;
}

.confirm-buttons button{
    flex:1;
}

.yes-btn{
    background:#1f8a4c;
}

.yes-btn:hover{
    background:#166638;
}

.no-btn{
    background:#c0392b;
}

.no-btn:hover{
    background:#962d22;
}

input,select,button{
    width:100%;
    padding:12px;
    margin-top:10px;
    border-radius:12px;
    border:1px solid #ccc;
    font-size:16px;
}

button{
    background:#2c7da0;
    color:white;
    border:none;
    cursor:pointer;
    font-weight:bold;
}

button:hover{
    background:#1f5e7a;
}

button:disabled{
    background:#94a3b8;
    cursor:not-allowed;
}

input:disabled,
select:disabled{
    background:#f1f5f9;
}

#preview{
    width:100%;
    border-radius:12px;
    margin-top:10px;
}

.loading{
    display:none;
    margin-top:15px;
    color:#1e4668;
    font-weight:bold;
    text-align:center;
}

.status{
    margin-top:12px;
    font-weight:bold;
}

.success{
    color:#1f8a4c;
}

.error{
    color:#c0392b;
}

&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;div class="card"&gt;

&lt;h2&gt;&#128220; Generator Sertifikat&lt;/h2&gt;

&lt;!-- ================= KONFIRMASI ================= --&gt;

&lt;div class="confirm-box"&gt;

&lt;p&gt;&#128269; Apakah Anda mengikuti pelatihan?&lt;/p&gt;

&lt;div class="confirm-buttons"&gt;

&lt;button class="yes-btn" onclick="confirmIkut()"&gt;
✅ YA, IKUT
&lt;/button&gt;

&lt;button class="no-btn" onclick="confirmTidakIkut()"&gt;
❌ TIDAK
&lt;/button&gt;

&lt;/div&gt;

&lt;div id="statusKonfirmasi" class="status"&gt;&lt;/div&gt;

&lt;/div&gt;

&lt;!-- ================= FORM ================= --&gt;

&lt;label&gt;Nama Lengkap&lt;/label&gt;

&lt;input
type="text"
id="nama"
placeholder="Contoh: Ahmad Fauzi"
disabled&gt;

&lt;label&gt;Peran&lt;/label&gt;

&lt;select id="peran" disabled&gt;
    &lt;option&gt;Peserta&lt;/option&gt;
    &lt;option&gt;Narasumber&lt;/option&gt;
&lt;/select&gt;

&lt;img
id="preview"
src="https://lh3.googleusercontent.com/d/1XxVJfD2xfGgl9XxqlYj7MeS3-mbuMzsc"
alt="Template"&gt;

&lt;button
id="downloadBtn"
onclick="generatePDF()"
disabled&gt;

⬇️ UNDUH PDF

&lt;/button&gt;

&lt;div class="loading" id="loading"&gt;
Memproses PDF...
&lt;/div&gt;

&lt;/div&gt;

&lt;script&gt;

// ================= TEMPLATE =================

const FILE_ID =
'1XxVJfD2xfGgl9XxqlYj7MeS3-mbuMzsc';

const TEMPLATE_URL =
`https://lh3.googleusercontent.com/d/${FILE_ID}`;

// ================= UTIL =================

function showLoading(show){

    document.getElementById('loading').style.display =
        show ? 'block' : 'none';

}

function getRomanMonth(monthIndex){

    const romawi = [
        "I","II","III","IV","V","VI",
        "VII","VIII","IX","X","XI","XII"
    ];

    return romawi[monthIndex];

}

function capitalizeEachWord(text){

    return text
        .toLowerCase()
        .replace(/\b\w/g,c=&gt;c.toUpperCase());

}

// ================= KONFIRMASI =================

function confirmIkut(){

    document.getElementById('nama').disabled = false;

    document.getElementById('peran').disabled = false;

    document.getElementById('downloadBtn').disabled = false;

    document.getElementById('statusKonfirmasi').innerHTML =
        '&lt;span class="success"&gt;✅ Konfirmasi diterima. Anda dapat mengunduh sertifikat.&lt;/span&gt;';

}

function confirmTidakIkut(){

    document.getElementById('nama').disabled = true;

    document.getElementById('peran').disabled = true;

    document.getElementById('downloadBtn').disabled = true;

    document.getElementById('statusKonfirmasi').innerHTML =
        '&lt;span class="error"&gt;❌ Anda tidak dapat mengunduh sertifikat.&lt;/span&gt;';

}

// ================= LOAD IMAGE =================

function loadImage(url){

    return new Promise((resolve,reject)=&gt;{

        const img = new Image();

        img.crossOrigin = "anonymous";

        img.onload = ()=&gt;resolve(img);

        img.onerror = ()=&gt;{

            reject(
                new Error(
                    'Template Google Drive gagal dimuat'
                )
            );

        };

        img.src = url + '?t=' + Date.now();

    });

}

// ================= NOMOR =================

async function generateNomor(){

    const now = new Date();

    const bulan =
        getRomanMonth(now.getMonth());

    const tahun =
        now.getFullYear();

    const nomor =
        Math.floor(Math.random()*900)+100;

    return `${nomor}/K/${bulan}/${tahun}`;

}

// ================= PDF =================

async function generatePDF(){

    const namaInput =
        document.getElementById('nama');

    const peranSelect =
        document.getElementById('peran');

    let nama =
        namaInput.value.trim();

    const peran =
        peranSelect.value;

    if(!nama){

        alert('Nama wajib diisi');

        return;

    }

    nama =
        capitalizeEachWord(nama);

    showLoading(true);

    try{

        await document.fonts.ready;

        const img =
            await loadImage(TEMPLATE_URL);

        const canvas =
            document.createElement('canvas');

        canvas.width = img.width;
        canvas.height = img.height;

        const ctx =
            canvas.getContext('2d');

        ctx.drawImage(
            img,
            0,
            0,
            canvas.width,
            canvas.height
        );

        // ================= POSISI =================

        const nomorY =
            canvas.height * 0.24;

        const namaY =
            canvas.height * 0.3990;

        const peranY =
            canvas.height * 0.5420;

        // ================= STYLE =================

        ctx.textAlign = 'center';

        ctx.textBaseline = 'middle';

        ctx.fillStyle = '#000';

        // nomor
        const nomorSertifikat =
            await generateNomor();

        ctx.font =
            `bold ${canvas.width*0.014}px Montserrat`;

        ctx.fillText(
            nomorSertifikat,
            canvas.width/2,
            nomorY
        );

        // nama auto shrink
        let fontSize =
            canvas.width * 0.031;

        ctx.font =
            `700 ${fontSize}px Montserrat`;

        let textWidth =
            ctx.measureText(nama).width;

        const maxWidth =
            canvas.width - 180;

        while(
            textWidth &gt; maxWidth &amp;&amp;
            fontSize &gt; 20
        ){

            fontSize -= 2;

            ctx.font =
                `700 ${fontSize}px Montserrat`;

            textWidth =
                ctx.measureText(nama).width;

        }

        ctx.fillText(
            nama,
            canvas.width/2,
            namaY
        );

        // peran
        ctx.font =
            `bold ${canvas.width*0.024}px Montserrat`;

        ctx.fillText(
            peran,
            canvas.width/2,
            peranY
        );

        // ================= PDF =================

        const imageData =
            canvas.toDataURL(
                'image/jpeg',
                1.0
            );

        const { jsPDF } =
            window.jspdf;

        const pdf =
            new jsPDF({

                orientation:
                    canvas.width &gt; canvas.height
                    ? 'landscape'
                    : 'portrait',

                unit:'px',

                format:[
                    canvas.width,
                    canvas.height
                ]

            });

        pdf.addImage(
            imageData,
            'JPEG',
            0,
            0,
            canvas.width,
            canvas.height
        );

        const safeName =
            nama.replace(/[^a-z0-9]/gi,'_');

        pdf.save(
            `Sertifikat_${safeName}.pdf`
        );

    }catch(error){

        console.error(error);

        alert(
            '❌ Gagal membuat PDF\n\n' +
            error.message +
            '\n\nPastikan file Google Drive bersifat PUBLIC.'
        );

    }finally{

        showLoading(false);

    }

}

&lt;/script&gt;

&lt;/body&gt;
&lt;/html&gt;</description><link>http://kitab-investasi.blogspot.com/2026/05/sertikom.html</link><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="https://lh3.googleusercontent.com/d/1XxVJfD2xfGgl9XxqlYj7MeS3-mbuMzsc=s72-c" width="72"/><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-5631480851349941544</guid><pubDate>Mon, 11 May 2026 04:28:00 +0000</pubDate><atom:updated>2026-05-11T11:28:45.089+07:00</atom:updated><title>Menulis Karya Ilmiah Populer Bertema Konservasi Alam</title><description>&lt;h2 style="text-align: justify;"&gt;&amp;nbsp;&lt;span style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 20px; font-weight: inherit;"&gt;A. Pendahuluan – Mengapa Konservasi Alam Penting?&lt;/span&gt;&lt;/h2&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span class=""&gt;Alam menyediakan sumber daya yang kita gunakan setiap hari: udara bersih, air, pangan, kayu, dan energi. Namun, aktivitas manusia seperti penebangan liar, polusi, dan perburuan satwa menyebabkan kerusakan lingkungan.&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight: 600;"&gt;Konservasi alam&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;adalah upaya perlindungan, pelestarian, dan pengelolaan sumber daya alam secara bijak agar tetap lestari untuk generasi mendatang. Sebagai generasi muda, kalian dapat berkontribusi dengan menuliskan gagasan, fakta, dan ajakan melalui&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight: 600;"&gt;karya ilmiah populer&lt;/span&gt;&lt;span class=""&gt;.&lt;/span&gt;&lt;/p&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;&lt;span style="font-weight: inherit;"&gt;B. Pengertian Karya Ilmiah Populer&lt;/span&gt;&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Karya ilmiah populer&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;adalah tulisan yang menyajikan fakta ilmiah (berbasis data, observasi, atau penelitian) dengan&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight: 600;"&gt;bahasa yang mudah dipahami&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;oleh masyarakat umum, tidak hanya oleh ilmuwan. Tulisan ini sering ditemukan di media massa, majalah, blog edukasi, atau laman organisasi lingkungan.&lt;/span&gt;&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Perbedaan dengan jenis tulisan lain:&lt;/span&gt;&lt;/p&gt;&lt;div class="ds-scroll-area ds-scroll-area--show-on-focus-within _1210dd7 c03cafe9" style="--ds-scroll-area-gutters-disappear-delay: 1s; --padding-left: calc(( 1257px - (840px - 2*44px))/2 + (840px - 2*44px - 100%)); --padding-right: 54px; background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin-left: calc(100% - 1004.5px); overflow-x: auto; padding-left: calc(-100% + 1004.5px); padding-right: 54px; position: relative; scrollbar-width: none; width: calc(100% + 198.5px); z-index: 0;"&gt;&lt;div class="ds-scroll-area__gutters" style="--container-height: 259px; --scrollbar-bg: #e5e5e5; --scrollbar-hover: #d4d4d4; height: 0px; left: 0px; opacity: 1 !important; pointer-events: none; position: sticky; right: 0px; top: 0px; transition: opacity 0.1s ease-out 1s; width: 950.521px; z-index: 1000;"&gt;&lt;div class="ds-scroll-area__horizontal-gutter" style="height: 10px; left: 0px; padding: 2px 0px; position: absolute; right: 0px; top: 245px;"&gt;&lt;div class="ds-scroll-area__horizontal-bar" style="background-color: transparent; cursor: initial; height: 10px; left: 0px; margin-bottom: auto; pointer-events: all; position: relative; text-align: justify; width: 856.923px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ds-scroll-area__vertical-gutter" style="bottom: -251px; padding: 0px 2px; position: absolute; right: 0px; text-align: justify; top: 8px; width: 10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;table style="border-collapse: collapse; max-width: max-content; text-align: justify; width: max-content;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px 10px 0px; text-align: left;"&gt;&lt;span class=""&gt;Jenis Tulisan&lt;/span&gt;&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;&lt;span class=""&gt;Bahasa&lt;/span&gt;&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;&lt;span class=""&gt;Target Pembaca&lt;/span&gt;&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;&lt;span class=""&gt;Contoh&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span class=""&gt;Karya ilmiah murni (skripsi, jurnal)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span class=""&gt;Teknis, formal, banyak istilah&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span class=""&gt;Peneliti, akademisi&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;&lt;span class=""&gt;“Analisis Keanekaragaman Avifauna di Hutan Mangrove...”&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span class=""&gt;Karya ilmiah populer&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span class=""&gt;Ilmiah tetapi populer (dijelaskan)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span class=""&gt;Masyarakat umum, pelajar&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;&lt;span class=""&gt;“Mengapa Hutan Mangrove Penting untuk Melindungi Pantai?”&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span class=""&gt;Nonfiksi populer (feature, opini)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span class=""&gt;Bebas, bisa subjektif&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span class=""&gt;Umum&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;&lt;span class=""&gt;“Indahnya Hutan Mangrove di Pesisir Utara”&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Ciri utama karya ilmiah populer:&lt;/span&gt;&lt;/p&gt;&lt;ol start="1" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Tema ilmiah&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;– berbasis fakta, bukan fiksi atau hoaks.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Bahasa populer&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;– kalimat tidak rumit, istilah asing dijelaskan.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Struktur jelas&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;– ada pembuka, isi, penutup.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Menarik &amp;amp; aplikatif&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;– pembaca mendapat informasi baru dan bisa menerapkannya.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Bersifat persuasif/ajakan&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;– sering kali mengajak pembaca peduli atau bertindak.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;&lt;span style="font-weight: inherit;"&gt;C. Struktur Karya Ilmiah Populer&lt;/span&gt;&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span class=""&gt;Struktur baku tulisan ilmiah populer terdiri atas:&lt;/span&gt;&lt;/p&gt;&lt;h4 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px 8px; text-align: justify;"&gt;&lt;span class=""&gt;1.&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight: inherit;"&gt;Judul&lt;/span&gt;&lt;/h4&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 8px 0px 16px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Singkat, padat, menarik, dan mencerminkan isi.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Bisa berbentuk pertanyaan, pernyataan mengejutkan, atau ajakan.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;em&gt;Contoh:&lt;/em&gt;&lt;span class=""&gt;&amp;nbsp;“Sampah Plastik: Musuh Tersembunyi Laut Kita”, “Bisakah Hutan Kita Selamat di Tangan Generasi Z?”&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px 8px; text-align: justify;"&gt;&lt;span class=""&gt;2.&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight: inherit;"&gt;Pembuka (Lead)&lt;/span&gt;&lt;/h4&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 8px 0px 16px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Paragraf pertama yang menarik perhatian.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Bisa berupa fakta mengejutkan, kutipan, anekdot, atau pertanyaan retoris.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;em&gt;Contoh:&lt;/em&gt;&lt;span class=""&gt;&amp;nbsp;“Tahukah kamu, setiap menit satu truk sampah plastik dibuang ke laut? Jika tidak dihentikan, pada 2050 akan lebih banyak plastik daripada ikan di samudra.”&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px 8px; text-align: justify;"&gt;&lt;span class=""&gt;3.&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight: inherit;"&gt;Isi (Body)&lt;/span&gt;&lt;/h4&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 8px 0px 16px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Menjelaskan topik secara sistematis.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Disertai&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight: 600;"&gt;data, fakta, hasil riset, atau contoh konkret&lt;/span&gt;&lt;span class=""&gt;.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Setiap paragraf membahas satu gagasan utama.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Gunakan subjudul jika perlu memperjelas.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px 8px; text-align: justify;"&gt;&lt;span class=""&gt;4.&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight: inherit;"&gt;Penutup&lt;/span&gt;&lt;/h4&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 8px 0px 16px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Berisi simpulan, pesan moral, atau ajakan (call to action).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Tidak menghadirkan informasi baru.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;em&gt;Contoh:&lt;/em&gt;&lt;span class=""&gt;&amp;nbsp;“Dengan mengurangi plastik sekali pakai, kita sudah menjadi bagian dari solusi. Yuk, mulai dari membawa tumblr dan tas belanja sendiri!”&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px 8px; text-align: justify;"&gt;&lt;span class=""&gt;5.&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight: inherit;"&gt;Daftar Pustaka (opsional)&lt;/span&gt;&lt;/h4&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 8px 0px 16px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Untuk tulisan yang dikutip dari sumber rujukan, tuliskan sumbernya (buku, jurnal, website kredibel).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;&lt;span style="font-weight: inherit;"&gt;D. Kaidah Kebahasaan Karya Ilmiah Populer&lt;/span&gt;&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span class=""&gt;Supaya tulisanmu benar-benar ilmiah tetapi enak dibaca, perhatikan penggunaan bahasa berikut:&lt;/span&gt;&lt;/p&gt;&lt;div class="ds-scroll-area ds-scroll-area--show-on-focus-within _1210dd7 c03cafe9" style="--ds-scroll-area-gutters-disappear-delay: 1s; background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; overflow-x: auto; position: relative; scrollbar-width: none; z-index: 0;"&gt;&lt;div class="ds-scroll-area__gutters" style="--container-height: 644px; --scrollbar-bg: #e5e5e5; --scrollbar-hover: #d4d4d4; height: 0px; left: 0px; opacity: 1 !important; pointer-events: none; position: sticky; right: 0px; top: 0px; transition: opacity 0.1s ease-out 1s; width: 752.031px; z-index: 1000;"&gt;&lt;div class="ds-scroll-area__horizontal-gutter" style="height: 10px; left: 0px; padding: 2px 0px; position: absolute; right: 0px; text-align: justify; top: 630px;"&gt;&lt;/div&gt;&lt;div class="ds-scroll-area__vertical-gutter" style="bottom: -636px; padding: 0px 2px; position: absolute; right: 0px; text-align: justify; top: 8px; width: 10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;table style="border-collapse: collapse; max-width: unset; text-align: justify; width: 752.031px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px 10px 0px; text-align: left;"&gt;&lt;span class=""&gt;Kaidah&lt;/span&gt;&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;&lt;span class=""&gt;Penjelasan&lt;/span&gt;&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;&lt;span class=""&gt;Contoh&lt;/span&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Kalimat aktif&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span class=""&gt;Subjek melakukan aksi, lebih hidup dan langsung.&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;&lt;span class=""&gt;“Petugas konservasi melepasliarkan 50 penyu.” (bukan&amp;nbsp;&lt;/span&gt;&lt;em&gt;50 penyu dilepasliarkan&lt;/em&gt;&lt;span class=""&gt;)&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Istilah ilmiah + penjelasan&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span class=""&gt;Jangan langsung menggunakan istilah teknis tanpa makna populer.&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;&lt;span class=""&gt;“Deforestasi (penggundulan hutan secara permanen) menyebabkan banjir.”&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Kata kerja material&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span class=""&gt;Tindakan fisik yang bisa diamati.&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;&lt;span class=""&gt;“menebang, membakar, menanam, menyelamatkan”&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Kata penghubung logis&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span class=""&gt;Sebab-akibat, pertentangan, penambahan.&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;&lt;span class=""&gt;“oleh karena itu, namun, selain itu, akibatnya”&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Kata rujukan&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span class=""&gt;Menghindari pengulangan.&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;&lt;span class=""&gt;“...hutan mangrove. Ekosistem ini mampu menahan abrasi.”&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Penggunaan kata “kita” atau “saya”&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span class=""&gt;Diperbolehkan asalkan tetap objektif dan tidak berlebihan.&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;&lt;span class=""&gt;“Kita bisa memulai dari hal kecil: memilah sampah.”&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Kalimat tidak bertele-tele&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span class=""&gt;Rata-rata panjang kalimat 12–20 kata.&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;&lt;span class=""&gt;Hindari: “Hutan yang merupakan paru-paru dunia dan tempat tinggal berbagai flora fauna itu sangat penting.”&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;blockquote style="background-color: white; border-left: 1.11111px solid rgb(173, 178, 184); color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px 0px; padding-left: 14px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Ingat:&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;Jangan menjiplak! Tulis ulang dengan bahasa sendiri. Jika mengutip data, sebutkan sumbernya.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;&lt;span style="font-weight: inherit;"&gt;E. Tema Konservasi Alam – Ide yang Bisa Kamu Kembangkan&lt;/span&gt;&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span class=""&gt;Berilah judul sesuai minatmu. Contoh topik:&lt;/span&gt;&lt;/p&gt;&lt;ol start="1" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Pelestarian hutan&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;– “Restorasi Hutan Gambut: Mengapa Harus dan Bagaimana Caranya?”&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Satwa langka&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;– “Jalak Bali: Pesona Putih Biru yang Hampir Hilang”&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Pengelolaan sampah&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;– “Zero Waste: Gaya Hidup Keren atau Sekadar Tren?”&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Energi terbarukan&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;– “Dari Sampah Menjadi Listrik: Cerita PLTSa”&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Perubahan iklim&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;– “Ketika Nelayan Kehilangan Musim: Dampak Nyata Pemanasan Global”&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Konservasi air&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;– “Menabung Air Hujan untuk Musim Kemarau”&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;&lt;span style="font-weight: inherit;"&gt;F. Langkah-langkah Menulis Karya Ilmiah Populer&lt;/span&gt;&lt;/h3&gt;&lt;h4 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: inherit;"&gt;Langkah 1: Pilih topik spesifik&lt;/span&gt;&lt;/h4&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span class=""&gt;Jangan terlalu luas. Misal, tidak perlu “Konservasi Alam Indonesia”, cukup “Pelestarian Penyu Hijau di Pantai Pangumbahan”.&lt;/span&gt;&lt;/p&gt;&lt;h4 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px 8px; text-align: justify;"&gt;&lt;span style="font-weight: inherit;"&gt;Langkah 2: Kumpulkan data dan fakta&lt;/span&gt;&lt;/h4&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 8px 0px 16px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Dari buku, jurnal, artikel berita, atau wawancara dengan petugas konservasi.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Pastikan sumber kredibel (berpengaruh, terbaru).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: inherit;"&gt;Langkah 3: Tentukan sudut pandang dan tujuan&lt;/span&gt;&lt;/h4&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span class=""&gt;Apakah ingin memberi informasi, mengajak aksi, atau meluruskan mitos? Tulis dalam satu kalimat:&amp;nbsp;&lt;/span&gt;&lt;em&gt;“Tulisan ini bertujuan menjelaskan tiga penyebab utama kerusakan terumbu karang dan langkah sederhana yang dapat dilakukan remaja.”&lt;/em&gt;&lt;/p&gt;&lt;h4 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: inherit;"&gt;Langkah 4: Buat kerangka tulisan&lt;/span&gt;&lt;/h4&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span class=""&gt;Contoh kerangka:&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Judul: “Rumah Para Ikan: Kenapa Terumbu Karang Perlu Kita Selamatkan?”&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Pembuka: Fakta bahwa terumbu karang hanya 1% lautan tetapi rumah bagi 25% biota laut.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Isi 1: Ancaman (pemutihan karang akibat suhu laut naik, penangkapan ikan dengan bom).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Isi 2: Dampak bagi manusia (rusaknya pariwisata, berkurangnya ikan tangkapan nelayan).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Isi 3: Solusi (restorasi karang, patroli laut, edukasi wisatawan).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Penutup: Ajakan untuk tidak menggunakan tabir surya berbahan kimia berbahaya saat snorkeling.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: inherit;"&gt;Langkah 5: Menulis draft&lt;/span&gt;&lt;/h4&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span class=""&gt;Kembangkan kerangka dengan kalimat yang mengalir. Gunakan bahasa populer, contoh konkret, dan ilustrasi sederhana.&lt;/span&gt;&lt;/p&gt;&lt;h4 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px 8px; text-align: justify;"&gt;&lt;span style="font-weight: inherit;"&gt;Langkah 6: Revisi dan edit&lt;/span&gt;&lt;/h4&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 8px 0px 16px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Cek struktur: apakah pembuka, isi, penutup sudah lengkap?&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Cek bahasa: apakah ada istilah tanpa penjelasan? Apakah kalimat terlalu panjang?&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Cek ejaan dan tanda baca sesuai EYD.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: inherit;"&gt;Langkah 7: Publikasikan&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;(dalam kelas) – bisa dibacakan, ditempel di majalah dinding, atau diunggah ke blog.&lt;/span&gt;&lt;/h4&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;&lt;span style="font-weight: inherit;"&gt;G. Contoh Karya Ilmiah Populer Sederhana&lt;/span&gt;&lt;/h3&gt;&lt;blockquote style="background-color: white; border-left: 1.11111px solid rgb(173, 178, 184); color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px 0px; padding-left: 14px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Judul:&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;Saat Plastik Menjadi “Makanan” Ikan&lt;/span&gt;&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="margin: 16px 0px;"&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Pembuka:&lt;/span&gt;&lt;/div&gt;&lt;span class=""&gt;&lt;div style="text-align: justify;"&gt;Pernahkah kamu melihat gambar ikan dengan perut penuh sampah plastik? Bukan rekayasa. Sebuah penelitian di Jepang menemukan bahwa lebih dari 70% ikan tangkapan di perairan urban mengandung mikroplastik.&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="margin: 16px 0px;"&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Isi:&lt;/span&gt;&lt;/div&gt;&lt;span class=""&gt;&lt;div style="text-align: justify;"&gt;Mikroplastik adalah serpihan plastik berukuran kurang dari 5 mm, berasal dari pecahan botol, kantong, atau serat pakaian sintetis. Ikan mengira plastik sebagai plankton karena warnanya mirip. Ketika manusia memakan ikan itu, plastik masuk ke tubuh kita dan berpotensi mengganggu hormon.&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="margin: 16px 0px; text-align: justify;"&gt;&lt;em&gt;Bagaimana menghentikannya?&lt;/em&gt;&lt;span class=""&gt;&amp;nbsp;Cara paling efektif adalah mengurangi produksi sampah plastik. Misalnya: membawa wadah makan sendiri, menolak sedotan, dan memilah sampah agar tidak terbawa sungai ke laut.&lt;/span&gt;&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 16px;"&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Penutup:&lt;/span&gt;&lt;/div&gt;&lt;span class=""&gt;&lt;div style="text-align: justify;"&gt;Bumi tidak membutuhkan kita, tapi kita membutuhkan bumi yang sehat. Mulailah dari satu tindakan kecil: tolak plastik sekali pakai. Ikan-ikan di laut akan berterima kasih.&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;&lt;span style="font-weight: inherit;"&gt;H. Tugas Praktik (dikerjakan pada JP ke-2 dan ke-3)&lt;/span&gt;&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Buatlah sebuah karya ilmiah populer sederhana dengan tema konservasi alam!&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Panjang:&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;200–300 kata (minimal 3 paragraf: pembuka, isi, penutup)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important;"&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Tema pilihan&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;(salah satu):&lt;/span&gt;&lt;/div&gt;&lt;span class=""&gt;&lt;div style="text-align: justify;"&gt;a. Hemat energi di sekolah&lt;/div&gt;&lt;/span&gt;&lt;span class=""&gt;&lt;div style="text-align: justify;"&gt;b. Menjaga kebersihan sungai&lt;/div&gt;&lt;/span&gt;&lt;span class=""&gt;&lt;div style="text-align: justify;"&gt;c. Pelestarian burung cenderawasih&lt;/div&gt;&lt;/span&gt;&lt;span class=""&gt;&lt;div style="text-align: justify;"&gt;d. Mengurangi penggunaan kertas&lt;/div&gt;&lt;/span&gt;&lt;span class=""&gt;&lt;div style="text-align: justify;"&gt;e. Topik lain yang disetujui guru&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Waktu pengerjaan:&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;50 menit (JP ke-2 &amp;amp; ke-3)&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Setelah selesai:&lt;/span&gt;&lt;span class=""&gt;&amp;nbsp;Tukarkan dengan teman sebangkumu untuk diedit (peer review) – 15 menit.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Format penulisan:&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Gunakan kertas folio atau aplikasi pengolah kata.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Cantumkan nama dan kelas.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; text-align: justify;"&gt;&lt;span class=""&gt;Sertakan minimal satu data atau fakta (bisa dari ingatan sendiri asalkan realistis).&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;&lt;span style="font-weight: inherit;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight: inherit;"&gt;I.&amp;nbsp;&lt;/span&gt;&lt;span style="font-weight: inherit;"&gt;Penutup untuk Siswa&lt;/span&gt;&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span class=""&gt;Menulis karya ilmiah populer adalah cara ampuh untuk menyuarakan kepedulian terhadap alam. Kalian tidak harus menjadi ilmuwan; kalian cukup menjadi anak SMK yang jujur, kreatif, dan mau mencari fakta. Setiap tulisan yang lahir dari hati dan pikiran jernih bisa menggerakkan orang lain. Selamat menulis, dan jadilah bagian dari perubahan!&lt;/span&gt;&lt;/p&gt;&lt;blockquote style="background-color: white; border-left: 1.11111px solid rgb(173, 178, 184); color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px 0px; padding-left: 14px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 0px !important;"&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;“Lingkungan hidup yang baik adalah hak asasi setiap warga negara. Menjaganya adalah kewajiban kita semua.”&lt;/span&gt;&lt;/div&gt;&lt;span class=""&gt;&lt;div style="text-align: justify;"&gt;&lt;span class=""&gt;—&amp;nbsp;&lt;/span&gt;&lt;em&gt;Terinspirasi dari Pasal 28H UUD 1945&lt;/em&gt;&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://kitab-investasi.blogspot.com/2026/05/menulis-karya-ilmiah-populer-bertema.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-8632948251129087355</guid><pubDate>Tue, 05 May 2026 07:05:00 +0000</pubDate><atom:updated>2026-05-05T14:10:28.017+07:00</atom:updated><title>REFLEKSI PEMBELAJARAN &amp; EKSPLORASI KARIR DI BIDANG IT</title><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;h2 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 22px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 32px; margin: 32px 0px 16px;"&gt;A. Capaian Pembelajaran (CP)&lt;/h2&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;Pada akhir fase E, peserta didik mampu memahami dan melakukan refleksi terhadap proses belajar Informatika, mengidentifikasi potensi diri, mengeksplorasi bidang pekerjaan di ekosistem IT, serta mengembangkan literasi profesi dengan kesadaran akan kesehatan mental dan kemandirian sebagai calon tenaga profesional IT.&lt;/p&gt;&lt;h2 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 22px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 32px; margin: 32px 0px 16px;"&gt;B. Tujuan Pembelajaran (TP)&lt;/h2&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;Setelah mengikuti pembelajaran, peserta didik mampu:&lt;/p&gt;&lt;ol start="1" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Melakukan refleksi kritis terhadap pencapaian belajar Informatika selama satu semester.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Mengidentifikasi minimal 5 (lima) profesi di bidang IT beserta kompetensi teknis (hard skills) dan non-teknis (soft skills).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Menjelaskan pentingnya literasi profesi (sertifikasi, etika kerja, personal branding).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Menyusun rencana eksplorasi karir awal (peta karir sederhana).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Mengenali tanda-tanda gangguan kesehatan mental akibat tekanan belajar/karir serta menerapkan strategi coping sehat.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Menunjukkan sikap kemandirian dalam merencanakan pengembangan diri (self-directed learning).&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;h2 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 22px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 32px; margin: 32px 0px 16px;"&gt;C. Materi Inti&lt;/h2&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px;"&gt;1. Refleksi Pembelajaran: Melihat ke Belakang untuk Melangkah Maju&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Definisi:&lt;/span&gt;&lt;br /&gt;Refleksi adalah proses melihat kembali pengalaman belajar untuk mengevaluasi apa yang sudah dipahami, apa yang masih sulit, dan bagaimana cara memperbaikinya.&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Tiga Level Refleksi untuk Siswa SMK IT:&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Level Teknis:&lt;/span&gt;&amp;nbsp;Apakah saya bisa mengoperasikan software X? Apakah saya paham algoritma dasar?&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Level Proses:&lt;/span&gt;&amp;nbsp;Apakah cara belajar saya efektif? Apakah saya sering menunda tugas?&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Level Diri (Emosional &amp;amp; Mental):&lt;/span&gt;&amp;nbsp;Apakah saya merasa tertekan saat error? Apakah saya mudah menyerah saat debugging?&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Tools Refleksi Sederhana:&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px;"&gt;&lt;span style="font-weight: 600;"&gt;Metode 4F (Facts, Feelings, Findings, Future)&lt;/span&gt;&amp;nbsp;dari Dr. Roger Greenaway&lt;/p&gt;&lt;ol start="1" style="list-style-position: inside; margin: 4px 0px 0px; padding-left: 0px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="display: inline; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Facts:&lt;/span&gt;&amp;nbsp;Apa yang sudah saya pelajari tentang IT sejauh ini?&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="display: inline; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Feelings:&lt;/span&gt;&amp;nbsp;Bagaimana perasaan saya saat coding error atau saat berhasil?&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="display: inline; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Findings:&lt;/span&gt;&amp;nbsp;Apa makna dari kegagalan/keberhasilan itu untuk saya?&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="display: inline; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Future:&lt;/span&gt;&amp;nbsp;Apa yang akan saya lakukan lain mulai besok?&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Contoh Jurnal Refleksi:&lt;/span&gt;&lt;/p&gt;&lt;blockquote style="background-color: white; border-left: 1.11111px solid rgb(173, 178, 184); color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px 0px; padding-left: 14px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;em&gt;"Hari ini saya gagal membuat koneksi database. Saya merasa frustrasi (feeling). Ternyata saya lupa menulis port yang benar (fact). Saya jadi tahu pentingnya memeriksa konfigurasi detail (findings). Besok saya akan buat checklist debugging (future)."&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px;"&gt;2. Kesehatan Mental dalam Belajar dan Berkarir di IT&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Mengapa IT Rawan Gangguan Mental?&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Impostor Syndrome:&lt;/span&gt;&amp;nbsp;Merasa tidak layak atau "bodoh" dibanding rekan lain karena cepatnya perubahan teknologi.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Burnout:&lt;/span&gt;&amp;nbsp;Kelelahan fisik &amp;amp; emosional akibat coding nonstop, deadline, atau error berkepanjangan.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Isolasi Sosial:&lt;/span&gt;&amp;nbsp;Bekerja di depan komputer berjam-jam bisa mengurangi interaksi sosial.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Tanda-Tanda Awal (Warning Signs):&lt;/span&gt;&lt;br /&gt;✅ Sulit fokus pada kode sederhana&lt;br /&gt;✅ Mudah marah/putus asa saat muncul error&lt;br /&gt;✅ Kehilangan minat belajar teknologi baru&lt;br /&gt;✅ Gangguan tidur (begadang terus tapi tidak produktif)&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Strategi Menjaga Kesehatan Mental (Untuk Generasi IT):&lt;/span&gt;&lt;/p&gt;&lt;ol start="1" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Teknik Pomodoro:&lt;/span&gt;&amp;nbsp;25 menit fokus coding + 5 menit istirahat (gerak, minum air).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Komunitas, Bukan Kompetisi:&lt;/span&gt;&amp;nbsp;Ikut grup diskusi (Discord, Telegram, Github Community) untuk berbagi masalah.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Debugging Emosi:&lt;/span&gt;&amp;nbsp;Saat error &amp;gt; 30 menit, tinggalkan meja, jalan kaki 5 menit, lalu kembali.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Batas Waktu Layar:&lt;/span&gt;&amp;nbsp;Matikan laptop 1 jam sebelum tidur.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Affirmasi Positif:&lt;/span&gt;&amp;nbsp;"Error adalah pelajaran, bukan kegagalan saya."&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px;"&gt;3. Eksplorasi Karir di Bidang IT (Ekosistem Digital)&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;Tidak semua pekerjaan IT adalah programmer. Industri digital memiliki jalur karir yang sangat luas.&lt;/p&gt;&lt;div class="ds-scroll-area ds-scroll-area--show-on-focus-within _1210dd7 c03cafe9" style="--ds-scroll-area-gutters-disappear-delay: 1s; --padding-left: calc(( 1257px - (840px - 2*44px))/2 + (840px - 2*44px - 100%)); --padding-right: 54px; background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin-left: calc(100% - 1004.5px); overflow-x: auto; padding-left: calc(-100% + 1004.5px); padding-right: 54px; position: relative; scrollbar-width: none; width: calc(100% + 198.5px); z-index: 0;"&gt;&lt;div class="ds-scroll-area__gutters" style="--container-height: 377px; --scrollbar-bg: #e5e5e5; --scrollbar-hover: #d4d4d4; height: 0px; left: 0px; opacity: 1; pointer-events: none; position: sticky; right: 0px; top: 0px; transition: opacity 0.1s ease-out 1s; width: 950.521px; z-index: 1000;"&gt;&lt;div class="ds-scroll-area__horizontal-gutter" style="height: 10px; left: 0px; padding: 2px 0px; position: absolute; right: 0px; top: 363px;"&gt;&lt;div class="ds-scroll-area__horizontal-bar" style="background-color: transparent; cursor: initial; height: 10px; left: 0px; margin-bottom: auto; pointer-events: all; position: relative; width: 749.471px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ds-scroll-area__vertical-gutter" style="bottom: -369px; padding: 0px 2px; position: absolute; right: 0px; top: 8px; width: 10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;table style="border-collapse: collapse; max-width: max-content; width: max-content;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px 10px 0px; text-align: left;"&gt;Klaster&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Profesi&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Hard Skill Wajib&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Soft Skill Prioritas&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Software Engineering&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Web Developer, Mobile Dev, DevOps Engineer, Game Developer&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;JavaScript, Python, Git, CI/CD, Unity&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Problem solving, kolaborasi tim&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Infrastructure &amp;amp; Cybersecurity&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Network Admin, Cloud Engineer, SOC Analyst, Ethical Hacker&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Linux, AWS/Azure, Wireshark, Metasploit&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Teliti, antisipatif, integritas tinggi&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Data&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Data Analyst, Data Scientist, AI Engineer&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;SQL, Python (Pandas), Tableau, TensorFlow&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Berpikir analitis, komunikasi data&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;UI/UX &amp;amp; Design&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;UI Designer, UX Researcher, Product Designer&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Figma, Adobe XD, Miro, prototyping&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Empati user, presentasi visual&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;IT Support &amp;amp; Management&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;IT Support Specialist, IT Project Manager, IT Auditor&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Service desk, Jira/Asana, dasar jaringan&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Komunikasi, manajemen waktu, pemecahan masalah cepat&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Tren Karir 2025-2030 (yang relevan untuk SMK):&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;AI Prompt Engineer&lt;/span&gt;&amp;nbsp;(membuat instruksi optimal untuk AI)&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Low-code/No-code Developer&lt;/span&gt;&amp;nbsp;(membangun aplikasi dengan drag-drop)&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Digital Forensics&lt;/span&gt;&amp;nbsp;(investigasi kejahatan siber)&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;IT Trainer untuk UMKM&lt;/span&gt;&amp;nbsp;(pelatih teknologi sederhana)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px;"&gt;4. Literasi Profesi: Lebih Dari Sekadar Skill Teknis&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Apa itu literasi profesi?&lt;/span&gt;&lt;br /&gt;Kemampuan memahami dan menjalankan standar dunia kerja di bidang IT, termasuk etika, aturan, sertifikasi, dan membangun reputasi.&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Komponen Literasi Profesi untuk Siswa SMK:&lt;/span&gt;&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;a. Etika Profesi IT (Kode Etik)&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Jangan menyebarkan password atau data sensitif.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Hargai hak cipta (jangan bajak software/plugin).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Laporkan celah keamanan, jangan eksploitasi.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;b. Sertifikasi Pemula (Entry-Level)&lt;/span&gt;&lt;/p&gt;&lt;div class="ds-scroll-area ds-scroll-area--show-on-focus-within _1210dd7 c03cafe9" style="--ds-scroll-area-gutters-disappear-delay: 1s; --padding-left: calc(( 1257px - (840px - 2*44px))/2 + (840px - 2*44px - 100%)); --padding-right: 54px; background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin-left: calc(100% - 1004.5px); overflow-x: auto; padding-left: calc(-100% + 1004.5px); padding-right: 54px; position: relative; scrollbar-width: none; width: calc(100% + 198.5px); z-index: 0;"&gt;&lt;div class="ds-scroll-area__gutters" style="--container-height: 256px; --scrollbar-bg: #e5e5e5; --scrollbar-hover: #d4d4d4; height: 0px; left: 0px; opacity: 1; pointer-events: none; position: sticky; right: 0px; top: 0px; transition: opacity 0.1s ease-out 1s; width: 950.521px; z-index: 1000;"&gt;&lt;div class="ds-scroll-area__horizontal-gutter" style="height: 10px; left: 0px; padding: 2px 0px; position: absolute; right: 0px; top: 242px;"&gt;&lt;/div&gt;&lt;div class="ds-scroll-area__vertical-gutter" style="bottom: -248px; padding: 0px 2px; position: absolute; right: 0px; top: 8px; width: 10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;table style="border-collapse: collapse; max-width: max-content; width: max-content;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px 10px 0px; text-align: left;"&gt;Sertifikasi&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Bidang&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Biaya&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Rekomendasi SMK&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;CompTIA IT Fundamentals (ITF+)&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Dasar IT&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;~$120&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Wajib untuk semua&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;Microsoft MTA (sudah pensiun, ganti MS Learn)&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Cloud &amp;amp; Database&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Gratis (voucher)&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Sangat baik&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;Cisco CCNA (Routing &amp;amp; Switching)&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Jaringan&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;~$300&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Untuk yang suka jaringan&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;BNSP Skema Junior Web Developer&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Pengembangan Web&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;~Rp 1,5 jt&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Nasional, diakui BSNP&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;blockquote style="background-color: white; border-left: 1.11111px solid rgb(173, 178, 184); color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px 0px; padding-left: 14px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&#128161;&amp;nbsp;&lt;span style="font-weight: 600;"&gt;Alternatif Gratis:&lt;/span&gt;&amp;nbsp;Ikuti&amp;nbsp;&lt;span style="font-weight: 600;"&gt;Badge/Credential dari Microsoft Learn, AWS Educate, atau Google Digital Garage&lt;/span&gt;&amp;nbsp;— bisa dipajang di LinkedIn.&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;c. Personal Branding untuk Siswa SMK&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Buat&amp;nbsp;&lt;span style="font-weight: 600;"&gt;Portofolio Digital&lt;/span&gt;&amp;nbsp;(GitHub, GitLab, atau portfolio website sederhana).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Tulis&amp;nbsp;&lt;span style="font-weight: 600;"&gt;LinkedIn&lt;/span&gt;&amp;nbsp;dengan bahasa profesional, isi dengan proyek sekolah.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Jaga&amp;nbsp;&lt;span style="font-weight: 600;"&gt;Digital Footprint&lt;/span&gt;&amp;nbsp;(jejak digital): post yang bijak, tidak toxic.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;d. Kemandirian sebagai Kunci Adaptasi&lt;/span&gt;&lt;/p&gt;&lt;blockquote style="background-color: white; border-left: 1.11111px solid rgb(173, 178, 184); color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px 0px; padding-left: 14px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;em&gt;"Teknologi berganti setiap 6 bulan. Diploma hanya bertahan 2 tahun. Kemampuan belajar mandiri bertahan seumur hidup."&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Ciri Kemandirian dalam Belajar IT:&lt;/span&gt;&lt;/p&gt;&lt;ol start="1" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Mampu mencari solusi error sendiri (baca dokumentasi, stack overflow, cek forum) sebelum bertanya.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Menginisiasi proyek pribadi di luar tugas sekolah.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Mengikuti perkembangan teknologi lewat medium seperti&amp;nbsp;&lt;em&gt;Roadmap.sh&lt;/em&gt;,&amp;nbsp;&lt;em&gt;&lt;a href="https://dev.to/" rel="noreferrer" style="border-color: rgba(255, 255, 255, 0); border-style: solid; border-width: 1.11111px 2.22222px; color: #3964fe; margin-left: -3px; margin-right: -3px; position: relative; text-decoration: none; transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);" target="_blank"&gt;Dev.to&lt;/a&gt;&lt;/em&gt;, atau Channel YouTube teknisp.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px;"&gt;5. Peta Karir Awal (Career Roadmap) 2-5 Tahun untuk Lulusan SMK IT&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Tahun 1-2 (Sekolah/Magang)&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Fokus kuasai 1 bahasa pemrograman dengan baik (misal: JavaScript atau Python).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Bangun 3 proyek portofolio (misal: Kalkulator, To-do list, Landing page).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Ikut magang atau proyek komunitas.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Kesehatan mental:&lt;/span&gt;&amp;nbsp;Belajar menerima&amp;nbsp;&lt;em&gt;feedback&lt;/em&gt;&amp;nbsp;tanpa defensive.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Tahun 3-4 (Junior/Staf IT)&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Dapatkan sertifikasi entry-level (BNSP/Microsoft/CompTIA).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Pelajari version control (Git) dengan benar.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Mulai aktif di komunitas (Google Developer Group, OWASP, atau lokal).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Kemandirian:&lt;/span&gt;&amp;nbsp;Pelajari framework/libraries terbaru sesuai tren industri.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Tahun 5 (Menuju Middle/Spesialis)&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Pilih spesialisasi (misal: Frontend Expert, Network Security, Data Analyst).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Targetkan sertifikasi profesional (CCNA, AWS SAA, dll).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Bisa mentoring junior atau menjadi trainer internal.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Mental health:&lt;/span&gt;&amp;nbsp;Rutin melakukan&amp;nbsp;&lt;em&gt;digital detox&lt;/em&gt;&amp;nbsp;dan work-life balance.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;h2 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 22px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 32px; margin: 32px 0px 16px;"&gt;D. Referensi untuk Guru &amp;amp; Siswa&lt;/h2&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px;"&gt;&lt;ul style="font-size: 16px; font-weight: 400; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important;"&gt;&lt;em&gt;Mindset: The New Psychology of Success&lt;/em&gt;&amp;nbsp;– Carol Dweck (untuk konsep kemandirian)&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important;"&gt;&lt;em&gt;The Imposter Cure&lt;/em&gt;&amp;nbsp;– Dr. Jessamy Hibberd (untuk kesehatan mental)&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important;"&gt;Situs:&amp;nbsp;&lt;a href="https://roadmap.sh/" rel="noreferrer" style="border-color: rgba(255, 255, 255, 0); border-style: solid; border-width: 1.11111px 2.22222px; color: #3964fe; margin-left: -3px; margin-right: -3px; position: relative; text-decoration: none; transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);" target="_blank"&gt;roadmap.sh&lt;/a&gt;&amp;nbsp;(peta belajar karir IT)&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important;"&gt;Situs:&amp;nbsp;&lt;a href="https://developer.mozilla.org/" rel="noreferrer" style="border-color: rgba(255, 255, 255, 0); border-style: solid; border-width: 1.11111px 2.22222px; color: #3964fe; margin-left: -3px; margin-right: -3px; position: relative; text-decoration: none; transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);" target="_blank"&gt;developer.mozilla.org&lt;/a&gt;&amp;nbsp;(belajar mandiri web)&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important;"&gt;Sertifikasi gratis:&amp;nbsp;&lt;a href="https://learn.microsoft.com/id-id/training/student-hub/" rel="noreferrer" style="border-color: rgba(255, 255, 255, 0); border-style: solid; border-width: 1.11111px 2.22222px; color: #3964fe; margin-left: -3px; margin-right: -3px; position: relative; text-decoration: none; transition: box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1);" target="_blank"&gt;Microsoft Learn Student Hub&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-size: 16px; font-weight: 400; height: 1px; margin: 32px 0px;" /&gt;&lt;p class="ds-markdown-paragraph" style="font-size: 16px; font-weight: 400; margin: 16px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Penutup untuk Murid:&lt;/span&gt;&lt;/p&gt;&lt;blockquote style="border-left: 1.11111px solid rgb(173, 178, 184); font-size: 16px; font-weight: 400; margin: 16px 0px 0px; padding-left: 14px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 0px !important;"&gt;&lt;em&gt;"Kehebatan seorang teknisi IT tidak diukur dari seberapa cepat dia coding, tapi dari seberapa tangguh dia menghadapi error, seberapa mandiri dia mencari solusi, dan seberapa sehat dia menjaga pikirannya. IT adalah marathon, bukan sprint."&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/h3&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px;"&gt;Pengetahuan (Post-test )&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;Jawab secara singkat:&lt;/p&gt;&lt;ol start="1" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Sebutkan 3 tanda awal burnout di bidang IT.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Sebutkan 2 contoh literasi profesi selain sertifikasi.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Mengapa seorang programmer perlu belajar mandiri walaupun sudah bekerja?&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;

&lt;details open=""&gt;
  &lt;summary style="color: blue; cursor: pointer; font-weight: bold;"&gt;
    Klik untuk melihat teks tersembunyi
  &lt;/summary&gt;
  &lt;div style="border: 1px solid rgb(204, 204, 204); margin-top: 5px; padding: 10px;"&gt;
   &lt;p&gt; .&lt;br /&gt;&lt;br /&gt;Jawaban pertanyaan  di atas:&lt;br /&gt;&lt;br /&gt;
     &lt;/p&gt;&lt;ol&gt;
  &lt;li&gt;(Kehilangan minat, mudah marah saat error, gangguan tidur).&lt;/li&gt;
  &lt;li&gt;(Etika profesi, personal branding, menjaga jejak digital).&lt;/li&gt;
  &lt;li&gt;(Karena teknologi berubah cepat, tidak selalu ada pelatihan formal)&lt;/li&gt;
   &lt;/ol&gt;


  &lt;p&gt;&lt;/p&gt;&lt;/div&gt;
&lt;/details&gt;</description><link>http://kitab-investasi.blogspot.com/2026/05/refleksi-pembelajaran-eksplorasi-karir.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-2621604377754025193</guid><pubDate>Tue, 05 May 2026 04:10:00 +0000</pubDate><atom:updated>2026-05-05T12:10:58.085+07:00</atom:updated><title>Menganalisis Struktur Karya Ilmiah Populer</title><description>&lt;h2 style="text-align: justify;"&gt;&amp;nbsp;&lt;span face="quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif" style="background-color: white; color: #0f1115; font-size: 20px;"&gt;Topik: Menganalisis Struktur Karya Ilmiah Populer&lt;/span&gt;&lt;/h2&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;&lt;/h3&gt;&lt;h2 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 22px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 32px; margin: 32px 0px 16px; text-align: justify;"&gt;A. Capaian Pembelajaran (CP)&lt;/h2&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Murid mampu memahami, mengidentifikasi, dan menganalisis struktur serta kaidah kebahasaan karya ilmiah populer sebagai bagian dari pengembangan literasi kritis dan komunikasi ilmiah di dunia kerja.&lt;/p&gt;&lt;h2 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 22px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 32px; margin: 32px 0px 16px; text-align: justify;"&gt;B. Tujuan Pembelajaran (TP)&lt;/h2&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Setelah mengikuti pembelajaran, murid mampu:&lt;/p&gt;&lt;ol start="1" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Menjelaskan pengertian dan karakteristik karya ilmiah populer&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Mengidentifikasi bagian-bagian struktur karya ilmiah populer&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Membedakan karya ilmiah populer dengan karya ilmiah murni dan non-ilmiah&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Menganalisis struktur karya ilmiah populer dari contoh teks&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Menyusun kerangka karya ilmiah populer sederhana&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h2 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 22px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 32px; margin: 32px 0px 16px; text-align: justify;"&gt;C. Materi Inti&lt;/h2&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;1. Pengertian Karya Ilmiah Populer&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Karya ilmiah populer&lt;/span&gt;&amp;nbsp;adalah tulisan yang menyajikan fakta ilmiah, data, atau hasil penelitian dengan bahasa yang mudah dipahami oleh masyarakat umum (bukan kalangan akademisi semata). Tujuannya adalah&amp;nbsp;&lt;span style="font-weight: 600;"&gt;memopulerkan&lt;/span&gt;&amp;nbsp;ilmu pengetahuan agar dapat diakses, dipahami, dan dimanfaatkan oleh khalayak luas.&lt;/p&gt;&lt;blockquote style="background-color: white; border-left: 1.11111px solid rgb(173, 178, 184); color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px 0px; padding-left: 14px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Istilah Kunci:&lt;/span&gt;&amp;nbsp;"Populer" berarti disukai, dikenal, dan dipahami banyak orang. "Ilmiah" berarti berdasarkan metode keilmuan (fakta, data, observasi, penelitian). Jadi, karya ilmiah populer = ilmu pengetahuan yang disajikan secara menarik dan ringan.&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Contoh media yang memuat karya ilmiah populer:&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Majalah:&amp;nbsp;&lt;em&gt;National Geographic Indonesia, Bobo, Trubus, Intisari&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Surat kabar: Rubrik opini, sains, atau teknologi di&amp;nbsp;&lt;em&gt;Kompas, Jawa Pos&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Website:&amp;nbsp;&lt;em&gt;BBC News Indonesia&lt;/em&gt;&amp;nbsp;(rubrik sains),&amp;nbsp;&lt;em&gt;Science Daily&lt;/em&gt;&amp;nbsp;(versi populer)&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Buku: Buku sains populer seperti&amp;nbsp;&lt;em&gt;Sapiens&lt;/em&gt;&amp;nbsp;(Yuval Noah Harari),&amp;nbsp;&lt;em&gt;Brief Answers to the Big Questions&lt;/em&gt;&amp;nbsp;(Stephen Hawking)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;2. Perbedaan Karya Ilmiah, Ilmiah Populer, dan Non-Ilmiah&lt;/h3&gt;&lt;div class="ds-scroll-area ds-scroll-area--show-on-focus-within _1210dd7 c03cafe9" style="--ds-scroll-area-gutters-disappear-delay: 1s; --padding-left: calc(( 1257px - (840px - 2*44px))/2 + (840px - 2*44px - 100%)); --padding-right: 54px; background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin-left: calc(100% - 1004.5px); overflow-x: auto; padding-left: calc(-100% + 1004.5px); padding-right: 54px; position: relative; scrollbar-width: none; width: calc(100% + 198.5px); z-index: 0;"&gt;&lt;div class="ds-scroll-area__gutters" style="--container-height: 373px; --scrollbar-bg: #e5e5e5; --scrollbar-hover: #d4d4d4; height: 0px; left: 0px; opacity: 1; pointer-events: none; position: sticky; right: 0px; top: 0px; transition: opacity 0.1s ease-out 1s; width: 950.521px; z-index: 1000;"&gt;&lt;div class="ds-scroll-area__horizontal-gutter" style="height: 10px; left: 0px; padding: 2px 0px; position: absolute; right: 0px; top: 359px;"&gt;&lt;div class="ds-scroll-area__horizontal-bar" style="background-color: transparent; cursor: initial; height: 10px; left: 0px; margin-bottom: auto; pointer-events: all; position: relative; text-align: justify; width: 869.387px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ds-scroll-area__vertical-gutter" style="bottom: -365px; padding: 0px 2px; position: absolute; right: 0px; text-align: justify; top: 8px; width: 10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;table style="border-collapse: collapse; max-width: max-content; text-align: justify; width: max-content;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px 10px 0px; text-align: left;"&gt;Aspek&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Karya Ilmiah Murni&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Karya Ilmiah Populer&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Karya Non-Ilmiah&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Pembaca&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Akademisi, peneliti, mahasiswa&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Masyarakat umum (tanpa latar belakang khusus)&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Umum, tanpa tuntutan keilmuan&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Bahasa&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Formal, teknis, banyak istilah asing&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Semi-formal, komunikatif, istilah dijelaskan&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Bebas, subjektif, bisa emotif&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Struktur&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Ketat (Pendahuluan, Metode, Hasil, Pembahasan, Daftar Pustaka)&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Fleksibel namun tetap logis&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Bebas (narasi, deskripsi, opini)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Sumber&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Daftar pustaka lengkap (wajib)&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Sumber disebut tapi tidak selalu formal&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Bisa tanpa sumber&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Tujuan&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Mengembangkan ilmu pengetahuan&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Menyebarluaskan ilmu ke publik&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Hiburan, persuasi, ekspresi&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Contoh&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Skripsi, tesis, jurnal ilmiah&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Artikel sains di majalah, buku sains populer&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Cerpen, novel, opini di media sosial&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;3. Karakteristik Karya Ilmiah Populer&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Agar dapat membedakannya dari jenis tulisan lain, perhatikan 6 ciri utama berikut:&lt;/p&gt;&lt;ol start="1" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Objektif&lt;/span&gt;&amp;nbsp;→ Berdasarkan fakta, bukan pendapat pribadi tanpa data.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Faktual&lt;/span&gt;&amp;nbsp;→ Data yang disajikan dapat diverifikasi kebenarannya.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Sistematis&lt;/span&gt;&amp;nbsp;→ Disusun dengan alur logis (bukan acak).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Komunikatif&lt;/span&gt;&amp;nbsp;→ Bahasa mudah dimengerti, tidak bertele-tele.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Menarik&lt;/span&gt;&amp;nbsp;→ Menggunakan judul provokatif, ilustrasi, analogi, atau contoh sehari-hari.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Bertanggung jawab&lt;/span&gt;&amp;nbsp;→ Tidak menyembunyikan sumber rujukan (meski tidak serumit karya ilmiah).&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;4. Struktur Karya Ilmiah Populer&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Karya ilmiah populer&amp;nbsp;&lt;span style="font-weight: 600;"&gt;tidak sekaku&lt;/span&gt;&amp;nbsp;karya ilmiah murni, namun tetap memiliki pola baku yang terdiri dari 5 bagian utama:&lt;/p&gt;&lt;h4 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px; text-align: justify;"&gt;Struktur Pokok:&lt;/h4&gt;&lt;div class="ds-scroll-area ds-scroll-area--show-on-focus-within _1210dd7 c03cafe9" style="--ds-scroll-area-gutters-disappear-delay: 1s; --padding-left: calc(( 1257px - (840px - 2*44px))/2 + (840px - 2*44px - 100%)); --padding-right: 54px; background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin-left: calc(100% - 1004.5px); overflow-x: auto; padding-left: calc(-100% + 1004.5px); padding-right: 54px; position: relative; scrollbar-width: none; width: calc(100% + 198.5px); z-index: 0;"&gt;&lt;div class="ds-scroll-area__gutters" style="--container-height: 352px; --scrollbar-bg: #e5e5e5; --scrollbar-hover: #d4d4d4; height: 0px; left: 0px; opacity: 1; pointer-events: none; position: sticky; right: 0px; top: 0px; transition: opacity 0.1s ease-out 1s; width: 950.521px; z-index: 1000;"&gt;&lt;div class="ds-scroll-area__horizontal-gutter" style="height: 10px; left: 0px; padding: 2px 0px; position: absolute; right: 0px; top: 338px;"&gt;&lt;div class="ds-scroll-area__horizontal-bar" style="background-color: transparent; cursor: initial; height: 10px; left: 0px; margin-bottom: auto; pointer-events: all; position: relative; text-align: justify; width: 923.808px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ds-scroll-area__vertical-gutter" style="bottom: -344px; padding: 0px 2px; position: absolute; right: 0px; text-align: justify; top: 8px; width: 10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;table style="border-collapse: collapse; max-width: max-content; text-align: justify; width: max-content;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px 10px 0px; text-align: left;"&gt;No.&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Bagian&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Fungsi&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Elemen yang Harus Ada&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;1&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span style="font-weight: 600;"&gt;Judul&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Menarik perhatian dan mewakili isi&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Singkat, jelas, provokatif (tanpa berlebihan)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;2&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span style="font-weight: 600;"&gt;Pembuka (Lead)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Memberi gambaran masalah / fenomena&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Menjawab: apa yang dibahas? mengapa penting?&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;3.&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span style="font-weight: 600;"&gt;Isi / Pembahasan&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Menyajikan fakta, data, teori, dan argumentasi&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Alur logis, dilengkapi contoh, analogi, atau ilustrasi&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;4&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span style="font-weight: 600;"&gt;Penutup / Simpulan&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Merangkum inti dan memberi pesan&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Berupa simpulan, saran, atau ajakan bertindak&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;5&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;span style="font-weight: 600;"&gt;Daftar Pustaka (Opsional)&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Menunjukkan sumber informasi&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Minimal mencantumkan sumber utama&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;blockquote style="background-color: white; border-left: 1.11111px solid rgb(173, 178, 184); color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px 0px; padding-left: 14px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Tambahan:&lt;/span&gt;&amp;nbsp;Beberapa karya ilmiah populer juga mencantumkan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;identitas penulis&lt;/span&gt;&amp;nbsp;(latar belakang keilmuan) untuk menambah kredibilitas.&lt;/p&gt;&lt;/blockquote&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h4 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px; text-align: justify;"&gt;Penjelasan Detail Setiap Bagian:&lt;/h4&gt;&lt;h5 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px 8px; text-align: justify;"&gt;a. Judul&lt;/h5&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 8px 0px 16px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Harus&amp;nbsp;&lt;span style="font-weight: 600;"&gt;menggugah rasa ingin tahu&lt;/span&gt;&amp;nbsp;tetapi tetap jujur terhadap isi.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; text-align: justify;"&gt;Contoh judul efektif:&lt;/p&gt;&lt;ul style="margin: 4px 0px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;"Mengapa Sampah Plastik Lebih Berbahaya daripada yang Kita Kira?"&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;"Fakta di Balik Kopi: Teman atau Musuh Tidur?"&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Hindari judul sensasional yang menyesatkan (&lt;em&gt;clickbait&lt;/em&gt;).&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h5 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px 8px; text-align: justify;"&gt;b. Pembuka (Lead)&lt;/h5&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 8px 0px 16px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Biasanya 1–2 paragraf pertama.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Mengandung:&amp;nbsp;&lt;span style="font-weight: 600;"&gt;latar belakang masalah&lt;/span&gt;&amp;nbsp;atau&amp;nbsp;&lt;span style="font-weight: 600;"&gt;fenomena sehari-hari&lt;/span&gt;&amp;nbsp;yang dekat dengan pembaca.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Harus menjawab 3 pertanyaan dasar:&amp;nbsp;&lt;em&gt;Apa yang dibahas?&lt;/em&gt;&amp;nbsp;&lt;em&gt;Mengapa ini penting?&lt;/em&gt;&amp;nbsp;&lt;em&gt;Untuk siapa tulisan ini?&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Contoh kalimat pembuka yang baik:&lt;/p&gt;&lt;blockquote style="background-color: white; border-left: 1.11111px solid rgb(173, 178, 184); color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px 0px; padding-left: 14px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;*"Setiap hari, rata-rata orang Indonesia menghasilkan 0,8 kg sampah. Namun yang lebih mengkhawatirkan, hanya 10% yang terdaur ulang. Lalu, ke mana sisanya? Artikel ini akan membahas alur sampah plastik dari rumah hingga ke laut."*&lt;/p&gt;&lt;/blockquote&gt;&lt;h5 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px; text-align: justify;"&gt;c. Isi / Pembahasan&lt;/h5&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Merupakan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;inti&lt;/span&gt;&amp;nbsp;dari karya ilmiah populer. Di sini penulis:&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Menyajikan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;data&lt;/span&gt;&amp;nbsp;(angka, grafik, tabel sederhana, hasil penelitian).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Menjelaskan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;teori atau konsep&lt;/span&gt;&amp;nbsp;dengan bahasa awam (penggunaan analogi, perumpamaan, contoh kasus).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Memberi&amp;nbsp;&lt;span style="font-weight: 600;"&gt;argumentasi logis&lt;/span&gt;&amp;nbsp;yang mendukung pernyataan.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Mengutip&amp;nbsp;&lt;span style="font-weight: 600;"&gt;sumber terpercaya&lt;/span&gt;&amp;nbsp;(bisa disebutkan dalam teks, misal:&amp;nbsp;&lt;em&gt;"Menurut penelitian LIPI tahun 2022..."&lt;/em&gt;).&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Strategi penulisan isi yang baik:&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Gunakan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;subjudul&lt;/span&gt;&amp;nbsp;untuk memecah topik besar.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Sisipkan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;ilustrasi, diagram, atau foto&lt;/span&gt;&amp;nbsp;jika memungkinkan.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Hindari kalimat terlalu panjang dan istilah asing tanpa penjelasan.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Contoh paragraf isi:&lt;/p&gt;&lt;blockquote style="background-color: white; border-left: 1.11111px solid rgb(173, 178, 184); color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px 0px; padding-left: 14px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;*"Pernahkah Anda memperhatikan bintik-bintik hitam di gigi setelah minum kopi? Itu adalah tanin, senyawa kimia dalam kopi yang bersifat adhesif (mudah menempel). Dalam jurnal Food Chemistry (2021), disebutkan bahwa tanin dapat mengikis enamel gigi jika dikonsumsi berlebihan. Tapi jangan cemas—penelitian yang sama juga menemukan bahwa menyikat gigi 30 menit setelah minum kopi dapat mengurangi efek tersebut."*&lt;/p&gt;&lt;/blockquote&gt;&lt;h5 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px 8px; text-align: justify;"&gt;d. Penutup / Simpulan&lt;/h5&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 8px 0px 16px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Merangkum&amp;nbsp;&lt;span style="font-weight: 600;"&gt;poin-poin penting&lt;/span&gt;&amp;nbsp;tanpa mengulang seluruh isi.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Memberikan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;pesan&lt;/span&gt;&amp;nbsp;atau&amp;nbsp;&lt;span style="font-weight: 600;"&gt;rekomendasi&lt;/span&gt;&amp;nbsp;yang bisa dilakukan pembaca.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Bisa juga berupa&amp;nbsp;&lt;span style="font-weight: 600;"&gt;pertanyaan reflektif&lt;/span&gt;&amp;nbsp;agar pembaca berpikir lebih lanjut.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Contoh penutup:&lt;/p&gt;&lt;blockquote style="background-color: white; border-left: 1.11111px solid rgb(173, 178, 184); color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px 0px; padding-left: 14px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;em&gt;"Kopi bukanlah musuh, tetapi juga bukan teman tanpa syarat. Dengan memahami tanin dan cara mengatasinya, kita tetap bisa menikmati kopi tanpa mengorbankan kesehatan gigi. Yang terpenting adalah keseimbangan dan kebiasaan menyikat gigi yang benar."&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;h5 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 16px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 28px; margin: 16px 0px; text-align: justify;"&gt;e. Daftar Pustaka&lt;/h5&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Meskipun tidak serumit skripsi, sumber informasi harus dicantumkan agar tulisan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;kredibel&lt;/span&gt;&amp;nbsp;dan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;dapat dipertanggungjawabkan&lt;/span&gt;. Format bisa disederhanakan, misal:&lt;/p&gt;&lt;blockquote style="background-color: white; border-left: 1.11111px solid rgb(173, 178, 184); color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px 0px; padding-left: 14px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;em&gt;Sumber: Kementerian Kesehatan RI (2023); Jurnal Food Chemistry Vol. 345 (2021); wawancara dengan Dr. Andi Wijaya, pakar gizi UI.&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;5. Kaidah Kebahasaan Karya Ilmiah Populer&lt;/h3&gt;&lt;div class="ds-scroll-area ds-scroll-area--show-on-focus-within _1210dd7 c03cafe9" style="--ds-scroll-area-gutters-disappear-delay: 1s; background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; overflow-x: auto; position: relative; scrollbar-width: none; z-index: 0;"&gt;&lt;div class="ds-scroll-area__gutters" style="--container-height: 548px; --scrollbar-bg: #e5e5e5; --scrollbar-hover: #d4d4d4; height: 0px; left: 0px; opacity: 1; pointer-events: none; position: sticky; right: 0px; top: 0px; transition: opacity 0.1s ease-out 1s; width: 752.031px; z-index: 1000;"&gt;&lt;div class="ds-scroll-area__horizontal-gutter" style="height: 10px; left: 0px; padding: 2px 0px; position: absolute; right: 0px; text-align: justify; top: 534px;"&gt;&lt;/div&gt;&lt;div class="ds-scroll-area__vertical-gutter" style="bottom: -540px; padding: 0px 2px; position: absolute; right: 0px; text-align: justify; top: 8px; width: 10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;table style="border-collapse: collapse; max-width: unset; text-align: justify; width: 752.031px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px 10px 0px; text-align: left;"&gt;Kaidah&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Penjelasan&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Contoh dalam Teks&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Konjungsi kausalitas&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Kata hubung sebab-akibat (karena, oleh sebab itu, akibatnya, sehingga)&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;"Akibatnya, kadar gula darah melonjak drastis."&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Istilah teknis + penjelasan&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Istilah ilmiah diikuti penjelasan populer&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;"Proses&amp;nbsp;&lt;em&gt;oksidasi&lt;/em&gt;&amp;nbsp;(reaksi zat dengan oksigen) terjadi..."&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Kalimat fakta&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Berisi data, hasil penelitian, pernyataan ahli&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;"Berdasarkan data BMKG, suhu rata-rata naik 1,2°C."&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Kalimat opini terbatas&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Opini hanya sebagai simpulan, bukan dasar argumen&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;"Maka, bijaksana untuk mengurangi penggunaan plastik."&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Kata rujukan&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Merujuk pada informasi sebelumnya&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;"Hal ini memperkuat teori bahwa..."&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Penggunaan kata ganti orang pertama jamak&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;"Kita" atau "kami" untuk menciptakan kedekatan dengan pembaca&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;"Sekarang kita pahami mengapa..."&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;6. Contoh Teks Karya Ilmiah Populer (Singkat)&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Berikut contoh teks dengan struktur lengkap. Bacalah lalu identifikasi setiap bagiannya!&lt;/p&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Judul:&lt;/span&gt;&amp;nbsp;Bahaya Tersembunyi di Balik Kemudahan Makanan Instan&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Pembuka:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Siapa yang tak kenal mi instan, nugget, atau sereal sarapan? Dalam hitungan menit, makanan ini siap disantap. Namun, di balik kemudahannya, tersimpan risiko kesehatan yang sering diabaikan. Sebuah studi dari Harvard School of Public Health (2020) mengungkapkan bahwa konsumsi makanan ultraproses meningkat hingga 50% di Asia Tenggara selama dekade terakhir.&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Isi / Pembahasan:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Pertama, makanan instan biasanya mengandung&amp;nbsp;&lt;span style="font-weight: 600;"&gt;natrium (garam)&lt;/span&gt;&amp;nbsp;sangat tinggi. Satu bungkus mi instan rata-rata mengandung 1.500–2.000 mg natrium, hampir memenuhi batas maksimal harian yang dianjurkan WHO (2.000 mg). Asupan natrium berlebih memicu tekanan darah tinggi dan penyakit ginjal.&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Kedua, rendah serat dan nutrisi. Dalam proses produksi, sebagian besar vitamin dan mineral hilang. Yang ditambahkan kembali hanyalah beberapa jenis vitamin sintetis, tidak seimbang dengan kebutuhan tubuh.&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Ketiga, kandungan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;lemak trans&lt;/span&gt;&amp;nbsp;dan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;pengawet&lt;/span&gt;. Lemak trans meningkatkan kolesterol jahat (LDL) dan menurunkan kolesterol baik (HDL). Sebuah penelitian di Thailand (2022) menemukan bahwa remaja yang mengonsumsi makanan instan &amp;gt;4 kali seminggu memiliki risiko obesitas 2,5 kali lebih tinggi.&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Tapi bukan berarti kita harus menghindari sama sekali. Kuncinya adalah&amp;nbsp;&lt;span style="font-weight: 600;"&gt;kontrol porsi&lt;/span&gt;&amp;nbsp;dan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;kombinasi&lt;/span&gt;. Misalnya, menambahkan telur dan sayur pada mi instan, atau memilih produk dengan label "rendah natrium".&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Penutup:&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Makanan instan memang penyelamat di saat sibuk. Namun, menjadi "penyelamat" jangka panjang hanya jika dikonsumsi bijak. Mulailah dengan membaca label gizi, membatasi frekuensi, dan selalu menambah komponen segar. Tubuh sehat adalah investasi paling berharga.&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Daftar Pustaka:&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Harvard School of Public Health. (2020).&amp;nbsp;&lt;em&gt;Ultra-processed foods and health&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;WHO. (2021).&amp;nbsp;&lt;em&gt;Sodium intake for adults and children&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Thailand Nutrition Survey. (2022).&amp;nbsp;&lt;em&gt;Adolescent dietary patterns&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;7. Langkah Menganalisis Struktur Karya Ilmiah Populer&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Gunakan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;metode 5L&lt;/span&gt;&amp;nbsp;untuk menganalisis teks:&lt;/p&gt;&lt;ol start="1" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Lihat Judul&lt;/span&gt;&amp;nbsp;→ Apakah judul menarik? Apakah mewakili isi?&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Lacak Pembuka&lt;/span&gt;&amp;nbsp;→ Temukan paragraf pembuka. Apa fenomena yang diangkat?&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Lebarkan Isi&lt;/span&gt;&amp;nbsp;→ Identifikasi fakta, data, teori, dan contoh yang disajikan. Apakah ada subjudul? Apakah alurnya logis?&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Limpahkan ke Penutup&lt;/span&gt;&amp;nbsp;→ Apakah ada simpulan? Apakah sesuai dengan isi?&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Lacak Sumber&lt;/span&gt;&amp;nbsp;→ Apakah ada daftar pustaka atau setidaknya sumber disebut dalam teks?&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="text-align: justify;"&gt;&lt;span face="quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif" style="color: #0f1115;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;h2 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 22px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 32px; margin: 32px 0px 16px; text-align: start;"&gt;E. Penugasan dan Evaluasi&lt;/h2&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: start;"&gt;Soal Formatif (Dikerjakan Kelompok)&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: start;"&gt;&lt;span style="font-weight: 600;"&gt;Petunjuk:&lt;/span&gt;&amp;nbsp;Bacalah kutipan teks ilmiah populer berikut, lalu jawab pertanyaan!&lt;/p&gt;&lt;blockquote style="background-color: white; border-left: 1.11111px solid rgb(173, 178, 184); color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px 0px; padding-left: 14px; text-align: start;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 16px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 16px;"&gt;&lt;em&gt;Kutipan Teks (Judul: "Kenapa Ponsel Bikin Mata Cepat Lelah?" - dihilangkan strukturnya)&lt;/em&gt;&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 16px; margin: 16px 0px 0px;"&gt;"Setiap hari, rata-rata orang menatap layar ponsel selama 7 jam. Fenomena ini melahirkan istilah baru:&amp;nbsp;&lt;em&gt;digital eye strain&lt;/em&gt;. Menurut American Optometric Association, gejala yang muncul antara lain mata kering, penglihatan kabur sementara, dan sakit kepala. Penyebab utamanya adalah cahaya biru (&lt;em&gt;blue light&lt;/em&gt;) dari layar dan jarak pandang yang terlalu dekat. Solusi sederhananya adalah aturan 20-20-20: setiap 20 menit, lihat objek sejauh 20 kaki selama 20 detik."&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: start;"&gt;&lt;span style="font-weight: 600;"&gt;Pertanyaan:&lt;/span&gt;&lt;/p&gt;&lt;ol start="1" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px; text-align: start;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Manakah bagian&amp;nbsp;&lt;span style="font-weight: 600;"&gt;pembuka&lt;/span&gt;&amp;nbsp;dalam kutipan di atas? Tuliskan kalimatnya!&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Manakah&amp;nbsp;&lt;span style="font-weight: 600;"&gt;data atau fakta&lt;/span&gt;&amp;nbsp;yang disajikan?&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Jika teks ini dilengkapi penutup, kira-kira apa isi penutup yang sesuai?&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px;"&gt;Sebutkan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;satu kaidah kebahasaan&lt;/span&gt;&amp;nbsp;yang muncul dalam kutipan dan beri bukti kalimat!&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;

&lt;details open=""&gt;
  &lt;summary style="color: blue; cursor: pointer; font-weight: bold;"&gt;
    Klik untuk melihat teks tersembunyi
  &lt;/summary&gt;
  &lt;div style="border: 1px solid rgb(204, 204, 204); margin-top: 5px; padding: 10px;"&gt;
   &lt;p&gt; .&lt;br /&gt;&lt;br /&gt;Jawaban pertanyaan teks di atas:&lt;br /&gt;&lt;br /&gt;
     &lt;/p&gt;&lt;ol&gt;
  &lt;li&gt;"Setiap hari... digital eye strain." (Kalimat pertama dan kedua).&lt;/li&gt;
  &lt;li&gt;Rata-rata 7 jam menatap layar; gejala menurut American Optometric Association; aturan 20-20-20.&lt;/li&gt;
  &lt;li&gt;Simpulan tentang pentingnya istirahat mata dan saran menerapkan aturan 20-20-20.&lt;/li&gt;
  &lt;li&gt;Konjungsi kausalitas: "Penyebab utamanya adalah..." atau penggunaan istilah teknis + penjelasan: "cahaya biru (blue light)"..&lt;/li&gt;
 &lt;/ol&gt;


  &lt;p&gt;&lt;/p&gt;&lt;/div&gt;
&lt;/details&gt;</description><link>http://kitab-investasi.blogspot.com/2026/05/menganalisis-struktur-karya-ilmiah.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-9000860041661554971.post-777168959155164367</guid><pubDate>Sat, 02 May 2026 01:05:00 +0000</pubDate><atom:updated>2026-05-05T10:59:40.591+07:00</atom:updated><title>Presentasi Karya Digital &amp; Peer Review dalam Pameran</title><description>&lt;h2 style="text-align: justify;"&gt;&amp;nbsp;&lt;span face="quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif" style="background-color: white; color: #0f1115; font-size: 20px;"&gt;1. Presentasi Karya Digital&lt;/span&gt;&lt;/h2&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Presentasi karya digital adalah kegiatan menyampaikan ide, proses, dan hasil karya berbasis teknologi (aplikasi, web, animasi, dll.) kepada audiens. Tujuannya bukan hanya memamerkan hasil, tetapi juga menjelaskan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;nilai lebih&lt;/span&gt;,&amp;nbsp;&lt;span style="font-weight: 600;"&gt;keunikan&lt;/span&gt;, dan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;manfaat&lt;/span&gt;&amp;nbsp;karya tersebut.&lt;/p&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;2. Pameran Digital / Simulasi Pameran&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Pameran digital dapat dilakukan secara luring (menggunakan stan/laptop) atau daring (platform seperti Google Site, Padlet, atau virtual exhibition). Di SMK, pameran sering menjadi ajah&amp;nbsp;&lt;em&gt;showcase&lt;/em&gt;&amp;nbsp;kompetensi keahlian (RPL, Multimedia, TKJ, dll.).&lt;/p&gt;&lt;h3 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 20px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 30px; margin: 32px 0px 16px; text-align: justify;"&gt;3. Peer Review (Tinjauan Sejawat)&lt;/h3&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;em&gt;Peer review&lt;/em&gt;&amp;nbsp;adalah proses evaluasi karya oleh orang lain yang setara (teman sekelas). Tujuannya:&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Memberikan umpan balik yang konstruktif (bukan sekadar kritik).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Melatih objektivitas dan etika dalam menilai.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Meningkatkan kualitas karya melalui saran perbaikan.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;blockquote style="background-color: white; border-left: 1.11111px solid rgb(173, 178, 184); color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px 0px; padding-left: 14px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Prinsip Peer Review&lt;/span&gt;: Jujur, spesifik, objektif, menghargai, dan berfokus pada karya (bukan pribadi).&lt;/p&gt;&lt;/blockquote&gt;&lt;h2 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 22px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 32px; margin: 32px 0px 16px; text-align: justify;"&gt;APA ITU MMT DAN KARYA TEMPEL?&lt;/h2&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;MMT&lt;/span&gt;&amp;nbsp;dalam konteks sekolah adalah singkatan dari&amp;nbsp;&lt;span style="font-weight: 600;"&gt;Media Masa Tempel&lt;/span&gt;&amp;nbsp;atau&amp;nbsp;&lt;span style="font-weight: 600;"&gt;Mading Tembok&lt;/span&gt;&amp;nbsp;– yaitu media visual berupa poster, banner, atau lembaran yang&amp;nbsp;&lt;span style="font-weight: 600;"&gt;ditempel&lt;/span&gt;&amp;nbsp;di tempat strategis (koridor, ruang kelas, aula, kantin). Tujuannya: menyampaikan informasi, nilai, motivasi, dan identitas sekolah secara menarik.&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Contoh penggunaan MMT:&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Pojok integritas (berisi kawasan integritas, visi-misi)&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Dinding motivasi (berisi kata bijak dan tagline)&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Stand profil lulusan (8 profil)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Karya Digital yang Dibuat&lt;/span&gt;:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Setiap siswa/kelompok membuat desain MMT dengan ukuran standar (misal A2, A1, atau 60x90 cm) yang secara utuh memuat:&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;ol start="1" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Quote kata bijak&lt;/span&gt;&amp;nbsp;(pilih 1-2 kutipan inspiratif, relevan dengan karakter SMK)&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Visi &amp;amp; Misi sekolah&lt;/span&gt;&amp;nbsp;(sesuai data sekolah masing-masing)&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div style="text-align: justify;"&gt;&lt;span face="quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Open Sans, Helvetica Neue, sans-serif" style="color: #0f1115; font-size: medium;"&gt;&lt;div style="text-align: left;"&gt;a. Visi, Misi dan Tujuan Sekolah a. Visi Visi SMK Negeri 1 Tuntang adalah:&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;“ T e r w u j u d n y a&amp;nbsp; l u l u s a n&amp;nbsp; y a n g&amp;nbsp; b e r t a q w a , b e r k a r a k t e r , kompeten d a n&amp;nbsp; s i a p m e n g h a d a p i t a n t a n g a n g l o b a l berbasis kearifan lokal.”&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;b.&amp;nbsp; &amp;nbsp; Misi&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;Misi SMK Negeri 1 Tuntang adalah:&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;1.&amp;nbsp; Menanamkan Nilai Keimanan dan Ketaqwaan&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Mengintegrasikan pendidikan agama dalam setiap aspek pembelajaran untuk membentuk Murid yang beriman, bertakwa, dan memiliki landasan moral yang kuat dalam menjalani kehidupan.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;2.&amp;nbsp; Membangun Karakter yang Unggul&amp;nbsp;&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Mengembangkan karakter 5S (senyum, salam, sapa, sopan dan santun) Murid&amp;nbsp;melalui&amp;nbsp; kegiatan pembelajaran yang holistik, pelatihan soft skills, dan kegiatan ekstrakurikuler yang berorientasi pada kedisiplinan, tanggung jawab, kerja keras, serta nilai- nilai etika dan moral.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;3.&amp;nbsp; Meningkatkan Kompetensi Kejuruan yang Relevan dengan Kebutuhan Industri&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;Menyediakan pendidikan kejuruan yang berbasis pada teknologi terkini dan kebutuhan dunia industri, serta mengadakan pelatihan yang berkelanjutan untuk memastikan Murid&amp;nbsp;siap bekerja dengan keterampilan yang kompetitif.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;4.&amp;nbsp; Mempersiapkan Murid&amp;nbsp;untuk Menghadapi Tantangan Global Berbasis Kearifan Lokal.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&amp;nbsp;Mengembangkan kemampuan Murid&amp;nbsp;dalam berpikir kritis, inovatif, dan beradaptasi dengan perkembangan global melalui pendidikan yang berbasis pada riset, teknologi, dan kewirausahaan dengan tetap berpegang teguh pada nilai-nilai lokal ke-Indonesiaan.&amp;nbsp;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;ol start="1" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Tagline sekolah&lt;/span&gt;&amp;nbsp;(slogan khas sekolah, misal:&amp;nbsp;&lt;em&gt;"Skaneta DIGDAYA (Disiplin, Iman Taqwa &amp;amp; Integritas, Gotong Rorong, Daya Saing"&lt;/em&gt;)&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Tulisan KAWASAN INTEGRITAS&lt;/span&gt;&amp;nbsp;(bisa disertai logo atau pernyataan bebas korupsi 9 nilai Integritas&amp;nbsp;&lt;span face="&amp;quot;Google Sans&amp;quot;, Arial, sans-serif" style="color: #001d35; font-weight: 600; text-align: left;"&gt;Jujur, Peduli, Mandiri, Disiplin, Tanggung Jawab, Kerja Keras, Sederhana, Berani, dan Adi&lt;/span&gt;&amp;nbsp;)&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;8 Profil Lulusan&lt;/span&gt;&amp;nbsp;(biasanya berisi indikator:&amp;nbsp;&lt;mark class="HxTRcb" data-sfc-cb="" data-sfc-root="c" data-wiz-uids="Anp1Le_9" jsaction="click:&amp;amp;Anp1Le_8|h5M12e;mouseenter:&amp;amp;Anp1Le_8|sbHm2b;mouseleave:&amp;amp;Anp1Le_8|Tx5Rb;rcuQ6b:&amp;amp;Anp1Le_8|npT2md" jscontroller="DfH0l" jsuid="Anp1Le_8" style="background: none 0% 0% / auto repeat scroll padding-box border-box rgb(211, 227, 253); border-radius: 4px; color: #001d35; font-family: &amp;quot;Google Sans&amp;quot;, Arial, sans-serif; font-size: medium; padding: 0px 2px; text-align: start;"&gt;keimanan &amp;amp; ketakwaan, kewargaan, penalaran kritis, kreativitas, kolaborasi, kemandirian, kesehatan, dan komunikasi&lt;/mark&gt;&lt;span face="&amp;quot;Google Sans&amp;quot;, Arial, sans-serif" style="color: #0a0a0a; font-size: medium; text-align: start;"&gt;.&lt;/span&gt;– sesuaikan dengan profil lulusan SMK setempat)&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;blockquote style="background-color: white; border-left: 1.11111px solid rgb(173, 178, 184); color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px 0px; padding-left: 14px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Catatan untuk guru:&lt;/span&gt;&amp;nbsp;Jika sekolah tidak memiliki 8 profil lulusan resmi, gunakan standar&amp;nbsp;&lt;span style="font-weight: 600;"&gt;Profil Pelajar Pancasila&lt;/span&gt;&amp;nbsp;atau profil lulusan SMK Pusat Keunggulan.&lt;/p&gt;&lt;/blockquote&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h2 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 22px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 32px; margin: 32px 0px 16px; text-align: justify;"&gt;B. KOMPONEN KONTEN WAJIB DALAM DESAIN MMT&lt;/h2&gt;&lt;div class="ds-scroll-area ds-scroll-area--show-on-focus-within _1210dd7 c03cafe9" style="--ds-scroll-area-gutters-disappear-delay: 1s; --padding-left: calc(( 1257px - (840px - 2*44px))/2 + (840px - 2*44px - 100%)); --padding-right: 54px; background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin-left: calc(100% - 1004.5px); overflow-x: auto; padding-left: calc(-100% + 1004.5px); padding-right: 54px; position: relative; scrollbar-width: none; width: calc(100% + 198.5px); z-index: 0;"&gt;&lt;div class="ds-scroll-area__gutters" style="--container-height: 377px; --scrollbar-bg: #e5e5e5; --scrollbar-hover: #d4d4d4; height: 0px; left: 0px; opacity: 1; pointer-events: none; position: sticky; right: 0px; top: 0px; transition: opacity 0.1s ease-out 1s; width: 950.521px; z-index: 1000;"&gt;&lt;div class="ds-scroll-area__horizontal-gutter" style="height: 10px; left: 0px; padding: 2px 0px; position: absolute; right: 0px; top: 363px;"&gt;&lt;div class="ds-scroll-area__horizontal-bar" style="background-color: transparent; cursor: initial; height: 10px; left: 0px; margin-bottom: auto; pointer-events: all; position: relative; text-align: justify; width: 933.183px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ds-scroll-area__vertical-gutter" style="bottom: -369px; padding: 0px 2px; position: absolute; right: 0px; text-align: justify; top: 8px; width: 10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;table style="border-collapse: collapse; max-width: max-content; text-align: justify; width: max-content;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px 10px 0px; text-align: left;"&gt;No&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Komponen&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Contoh Isi&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Posisi Ideal dalam Desain&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;1&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Quote Kata Bijak&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;em&gt;"Jadilah profesional yang jujur sebelum menjadi ahli."&lt;/em&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Di tengah/atas, ukuran besar&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;2&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Visi &amp;amp; Misi&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Visi: "Unggul dalam prestasi, berkarakter integritas." Misi: 3 poin singkat&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Di sisi kiri atau kanan, menggunakan bullet points&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;3&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Tagline Sekolah&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;&lt;em&gt;"SMK Prestasi, Integritas, Global"&lt;/em&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Di bawah judul atau samping logo&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;4&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Kawasan Integritas&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;"Kawasan Integritas: Zona Bebas Korupsi" + deklarasi singkat&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Dibuat seperti "stempel" atau badge&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;5&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;8 Profil Lulusan&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;1. Beriman, 2. Mandiri, 3. Bernalar kritis... dst.&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Disusun dalam grid 2x4 atau melingkar&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Prinsip penulisan konten:&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Singkat, padat, mudah diingat.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Gunakan huruf kapital yang tepat (tidak semua kapital untuk teks panjang).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Hindari typo – cek ulang visi-misi sekolah.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h2 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 22px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 32px; margin: 32px 0px 16px; text-align: justify;"&gt;C. PRINSIP DESAIN GRAFIS UNTUK MMT (MEDIA TEMPEL)&lt;/h2&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Agar MMT menarik dan mudah dibaca dari jarak 1-2 meter, gunakan kaidah berikut:&lt;/p&gt;&lt;div class="ds-scroll-area ds-scroll-area--show-on-focus-within _1210dd7 c03cafe9" style="--ds-scroll-area-gutters-disappear-delay: 1s; background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; overflow-x: auto; position: relative; scrollbar-width: none; z-index: 0;"&gt;&lt;div class="ds-scroll-area__gutters" style="--container-height: 402px; --scrollbar-bg: #e5e5e5; --scrollbar-hover: #d4d4d4; height: 0px; left: 0px; opacity: 1; pointer-events: none; position: sticky; right: 0px; top: 0px; transition: opacity 0.1s ease-out 1s; width: 752.031px; z-index: 1000;"&gt;&lt;div class="ds-scroll-area__horizontal-gutter" style="height: 10px; left: 0px; padding: 2px 0px; position: absolute; right: 0px; text-align: justify; top: 388px;"&gt;&lt;/div&gt;&lt;div class="ds-scroll-area__vertical-gutter" style="bottom: -394px; padding: 0px 2px; position: absolute; right: 0px; text-align: justify; top: 8px; width: 10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;table style="border-collapse: collapse; max-width: unset; text-align: justify; width: 752.031px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px 10px 0px; text-align: left;"&gt;Prinsip&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Penjelasan&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Contoh Penerapan&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Kontras&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Warna teks dan latar harus cukup berbeda&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Latar putih, teks hitam/biru tua; latar gelap, teks putih/terang&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Tipografi&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Maksimal 2 jenis font: satu untuk judul, satu untuk isi&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Judul: sans-serif tebal (Arial Black); Isi: sans-serif biasa (Poppins)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Hierarki visual&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Elemen paling penting paling mencolok (judul/quote)&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Ukuran font judul minimal 72pt, isi 32pt (untuk A2)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Ruang kosong&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Jangan penuh sesak, beri margin dan spasi&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Setiap blok konten diberi border/garis pemisah&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Kesesuaian tema&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Sekolah: formal namun tidak kaku, bisa sedikit warna cerah&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Gunakan warna biru, hijau, atau warna khas sekolah&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Rekomendasi ukuran &amp;amp; resolusi (untuk dicetak/ditempel):&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Ukuran: 60 cm × 90 cm (potrait) atau 90 cm × 60 cm (landscape).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Resolusi: 300 DPI (untuk cetak) atau 150 DPI (untuk tempel non-cetak kualitas baik).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Format file: PNG (untuk cetak) atau PDF (presisi).&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h2 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 22px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 32px; margin: 32px 0px 16px; text-align: justify;"&gt;D. PROSES PEMBUATAN KARYA (TUGAS SISWA)&lt;/h2&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px;"&gt;&lt;/p&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Tugas Individu atau Kelompok (2-3 orang)&lt;/span&gt;&amp;nbsp;– disesuaikan dengan jumlah siswa.&lt;/div&gt;&lt;span style="font-weight: 600;"&gt;&lt;div style="text-align: justify;"&gt;Output akhir:&amp;nbsp;File desain MMT + rencana lokasi tempel di sekolah.&lt;/div&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Langkah kerja (dilaksanakan sebelum sesi presentasi):&lt;/span&gt;&lt;/p&gt;&lt;ol start="1" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Pengumpulan data:&lt;/span&gt;&lt;/p&gt;&lt;ul style="margin: 4px 0px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Salin visi, misi, tagline, dan 8 profil lulusan dari dokumen sekolah (bisa minta ke guru BK atau tata usaha).&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Cari 2 quote kata bijak yang sesuai dengan karakter siswa SMK (misal tentang kerja keras, integritas, kompetensi).&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Sketsa kasar (wireframe):&lt;/span&gt;&lt;/p&gt;&lt;ul style="margin: 4px 0px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Buat 2 alternatif tata letak di kertas/kertas grid.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Tentukan posisi masing-masing 5 komponen.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Eksekusi dengan alat digital:&lt;/span&gt;&lt;/p&gt;&lt;ul style="margin: 4px 0px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Canva&lt;/span&gt;&amp;nbsp;(rekomendasi untuk pemula: gunakan ukuran kustom 60x90 cm, gunakan grid, fitur teks dan elemen)&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Adobe Express&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span style="font-weight: 600;"&gt;CorelDRAW&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span style="font-weight: 600;"&gt;Photoshop&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span style="font-weight: 600;"&gt;Inkscape&lt;/span&gt;&amp;nbsp;(jika siswa mampu)&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Penyimpanan dan ekspor:&lt;/span&gt;&lt;/p&gt;&lt;ul style="margin: 4px 0px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Simpan dalam dua versi:&amp;nbsp;&lt;span style="font-weight: 600;"&gt;editable&lt;/span&gt;&amp;nbsp;(untuk revisi) dan&amp;nbsp;&lt;span style="font-weight: 600;"&gt;final&lt;/span&gt;&amp;nbsp;(PNG/PDF untuk pameran).&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 8px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px 0px 8px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Simulasi tempel:&lt;/span&gt;&lt;/p&gt;&lt;ul style="margin: 4px 0px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Siswa menuliskan 1-2 lokasi strategis di sekolah (contoh: samping papan pengumuman, depan ruang guru, koridor kelas X) sebagai usulan.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;blockquote style="background-color: white; border-left: 1.11111px solid rgb(173, 178, 184); color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px 0px; padding-left: 14px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Tenggat:&lt;/span&gt;&amp;nbsp;Sebelum pertemuan presentasi, semua karya sudah jadi dan dikumpulkan guru di folder digital (Google Drive bersama).&lt;/p&gt;&lt;/blockquote&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h2 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 22px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 32px; margin: 32px 0px 16px; text-align: justify;"&gt;E. PRESENTASI KARYA DIGITAL (SESI PAMERAN)&lt;/h2&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Setiap siswa/kelompok mempresentasikan desain MMT dalam&amp;nbsp;&lt;span style="font-weight: 600;"&gt;3-4 menit&lt;/span&gt;&amp;nbsp;dengan struktur:&lt;/p&gt;&lt;div class="ds-scroll-area ds-scroll-area--show-on-focus-within _1210dd7 c03cafe9" style="--ds-scroll-area-gutters-disappear-delay: 1s; background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; overflow-x: auto; position: relative; scrollbar-width: none; z-index: 0;"&gt;&lt;div class="ds-scroll-area__gutters" style="--container-height: 306px; --scrollbar-bg: #e5e5e5; --scrollbar-hover: #d4d4d4; height: 0px; left: 0px; opacity: 1; pointer-events: none; position: sticky; right: 0px; top: 0px; transition: opacity 0.1s ease-out 1s; width: 752.031px; z-index: 1000;"&gt;&lt;div class="ds-scroll-area__horizontal-gutter" style="height: 10px; left: 0px; padding: 2px 0px; position: absolute; right: 0px; text-align: justify; top: 292px;"&gt;&lt;/div&gt;&lt;div class="ds-scroll-area__vertical-gutter" style="bottom: -298px; padding: 0px 2px; position: absolute; right: 0px; text-align: justify; top: 8px; width: 10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;table style="border-collapse: collapse; max-width: unset; text-align: justify; width: 752.031px;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px 10px 0px; text-align: left;"&gt;Bagian&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Durasi&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Aktivitas&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;Pembuka&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;30 detik&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Menyebut judul MMT, tujuan dibuat (misal: "Meningkatkan kesadaran integritas")&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;Konten &amp;amp; Desain&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;1,5 menit&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Perlihatkan 5 komponen wajib, jelaskan alasan letak dan pemilihan warna/font&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;Kelebihan &amp;amp; Tantangan&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;1 menit&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Apa yang paling menarik dari desain? Kesulitan saat membuat (misal: menyusun 8 profil agar rapi)&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;Rencana Pemasangan&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;30 detik&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Di mana akan ditempel? Mengapa di situ?&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Yang dinilai dalam presentasi:&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Kejelasan suara &amp;amp; bahasa tubuh.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Kemampuan menjelaskan pilihan desain (misal: "Saya pakai warna biru karena warna sekolah").&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Jawaban atas pertanyaan audiens.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;hr style="background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0.1); border-color: currentcolor; border-image: initial; border-style: none; border-width: medium; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; height: 1px; margin: 32px 0px; text-align: justify;" /&gt;&lt;h2 style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 22px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 32px; margin: 32px 0px 16px; text-align: justify;"&gt;F. PEER REVIEW (TINJAUAN SEJAWAT) UNTUK DESAIN MMT&lt;/h2&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;Setiap pengunjung pameran (teman sekelas) mengisi&amp;nbsp;&lt;span style="font-weight: 600;"&gt;lembar peer review&lt;/span&gt;&amp;nbsp;dengan rubrik khusus desain tempel. Berikut&amp;nbsp;&lt;span style="font-weight: 600;"&gt;rubrik peer review&lt;/span&gt;&amp;nbsp;(skor 1–4, 4 terbaik):&lt;/p&gt;&lt;div class="ds-scroll-area ds-scroll-area--show-on-focus-within _1210dd7 c03cafe9" style="--ds-scroll-area-gutters-disappear-delay: 1s; --padding-left: calc(( 1257px - (840px - 2*44px))/2 + (840px - 2*44px - 100%)); --padding-right: 54px; background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin-left: calc(100% - 1004.5px); overflow-x: auto; padding-left: calc(-100% + 1004.5px); padding-right: 54px; position: relative; scrollbar-width: none; width: calc(100% + 198.5px); z-index: 0;"&gt;&lt;div class="ds-scroll-area__gutters" style="--container-height: 281px; --scrollbar-bg: #e5e5e5; --scrollbar-hover: #d4d4d4; height: 0px; left: 0px; opacity: 1; pointer-events: none; position: sticky; right: 0px; top: 0px; transition: opacity 0.1s ease-out 1s; width: 950.521px; z-index: 1000;"&gt;&lt;div class="ds-scroll-area__horizontal-gutter" style="height: 10px; left: 0px; padding: 2px 0px; position: absolute; right: 0px; top: 267px;"&gt;&lt;div class="ds-scroll-area__horizontal-bar" style="background-color: transparent; cursor: initial; height: 10px; left: 0px; margin-bottom: auto; pointer-events: all; position: relative; text-align: justify; width: 763.838px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ds-scroll-area__vertical-gutter" style="bottom: -273px; padding: 0px 2px; position: absolute; right: 0px; text-align: justify; top: 8px; width: 10px;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;table style="border-collapse: collapse; max-width: max-content; text-align: justify; width: max-content;"&gt;&lt;thead&gt;&lt;tr&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px 10px 0px; text-align: left;"&gt;Kriteria&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Skor 1 (Kurang)&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Skor 3 (Cukup)&lt;/th&gt;&lt;th style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.12); border-top-color: currentcolor; border-top-style: none; border-top-width: medium; font: 500 15px / 25px quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; padding: 10px 16px; text-align: left;"&gt;Skor 4 (Sangat Baik)&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Kelengkapan konten&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Kurang dari 3 komponen wajib&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;5 komponen lengkap tapi ada yang kurang jelas&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;5 komponen lengkap, informatif, dan akurat&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Keterbacaan jarak jauh&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Huruf terlalu kecil, kontras buruk&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Bisa dibaca dari 1 meter&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Bisa dibaca dari 2 meter, kontras bagus&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Estetika &amp;amp; tata letak&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Berantakan, tidak ada hirarki&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Cukup rapi, semua blok terlihat&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Profesional, enak dilihat, kreatif&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px 10px 0px;"&gt;&lt;span style="font-weight: 600;"&gt;Kesesuaian dengan identitas sekolah&lt;/span&gt;&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Visi-misi salah atau tidak sesuai&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 16px;"&gt;Visi-misi tepat, tagline kurang&lt;/td&gt;&lt;td style="border-bottom: 1.11111px solid rgba(0, 0, 0, 0.1); font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-size: 15px; font-stretch: normal; font-style: normal; font-variant: normal; font-variation-settings: normal; line-height: 25px; max-width: min(30vw, 320px); min-width: 100px; padding: 10px 0px 10px 16px;"&gt;Semua sesuai, mencerminkan karakter sekolah&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Format peer review sederhana (diberikan ke reviewer):&lt;/span&gt;&lt;/p&gt;&lt;div class="md-code-block md-code-block-light" style="--ds-md-code-banner-background-color: #f9fafb; --ds-md-code-block-border-radius: 12px; --ds-md-code-block-font-size: calc(1.143*11px); background: none 0% 0% / auto repeat scroll padding-box border-box rgb(249, 250, 251); border-radius: 12px; margin: 16px 0px 11.43px; position: relative;"&gt;&lt;div class="md-code-block-banner-wrap" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; position: sticky; top: 0px; z-index: 6;"&gt;&lt;div class="md-code-block-banner md-code-block-banner-lite" style="background: none 0% 0% / auto repeat scroll padding-box border-box rgb(249, 250, 251); border-top-left-radius: 12px; border-top-right-radius: 12px; display: flex; font-size: 12.573px; justify-content: space-between; line-height: 12.573px; padding: 0px;"&gt;&lt;div class="_121d384" style="align-items: center; display: flex; justify-content: space-between; padding: 6px; width: 740.052px;"&gt;&lt;div class="d2a24f03" style="flex-shrink: 0; text-align: justify;"&gt;&lt;span class="d813de27" face="Menlo, Monaco, Consolas, &amp;quot;Cascadia Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;JetBrains Mono&amp;quot;, &amp;quot;Fira Code&amp;quot;, Cousine, &amp;quot;Roboto Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, sans-serif, system-ui" style="font-size: 12px; line-height: 18px; margin-left: 8px;"&gt;text&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;pre style="font-feature-settings: normal; font-kerning: auto; font-language-override: normal; font-optical-sizing: auto; font-size-adjust: none; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-emoji: normal; font-variant-numeric: normal; font-variant-position: normal; font-variation-settings: normal; line-height: 22px; margin: 0px; overflow: auto; padding: 16px; word-break: break-all;"&gt;&lt;div style="color: #0f1115; font-family: Menlo, Monaco, Consolas, &amp;quot;Cascadia Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;JetBrains Mono&amp;quot;, &amp;quot;Fira Code&amp;quot;, Cousine, &amp;quot;Roboto Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, sans-serif, system-ui; font-size: 13px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; text-align: justify; white-space: pre-wrap;"&gt;Nama reviewer: _____________   Karya milik: _____________  &lt;/div&gt;&lt;div style="color: #0f1115; font-family: Menlo, Monaco, Consolas, &amp;quot;Cascadia Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;JetBrains Mono&amp;quot;, &amp;quot;Fira Code&amp;quot;, Cousine, &amp;quot;Roboto Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, sans-serif, system-ui; font-size: 13px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; text-align: justify; white-space: pre-wrap;"&gt;1. Apa yang paling menarik dari desain MMT ini?&lt;/div&gt;&lt;div style="color: #0f1115; font-family: Menlo, Monaco, Consolas, &amp;quot;Cascadia Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;JetBrains Mono&amp;quot;, &amp;quot;Fira Code&amp;quot;, Cousine, &amp;quot;Roboto Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, sans-serif, system-ui; font-size: 13px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; text-align: justify; white-space: pre-wrap;"&gt;2. Berikan 1 saran perbaikan (spesifik, misal: "Ganti warna latar quote dengan kuning agar lebih kontras").&lt;/div&gt;&lt;div style="color: #0f1115; font-family: Menlo, Monaco, Consolas, &amp;quot;Cascadia Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;JetBrains Mono&amp;quot;, &amp;quot;Fira Code&amp;quot;, Cousine, &amp;quot;Roboto Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, sans-serif, system-ui; font-size: 13px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; text-align: justify; white-space: pre-wrap;"&gt;3. Skor kelengkapan konten (1-4): ___&lt;/div&gt;&lt;div style="color: #0f1115; font-family: Menlo, Monaco, Consolas, &amp;quot;Cascadia Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;JetBrains Mono&amp;quot;, &amp;quot;Fira Code&amp;quot;, Cousine, &amp;quot;Roboto Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, sans-serif, system-ui; font-size: 13px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; text-align: justify; white-space: pre-wrap;"&gt;4. Skor keterbacaan (1-4): ___&lt;/div&gt;&lt;div style="color: #0f1115; font-family: Menlo, Monaco, Consolas, &amp;quot;Cascadia Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;JetBrains Mono&amp;quot;, &amp;quot;Fira Code&amp;quot;, Cousine, &amp;quot;Roboto Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, sans-serif, system-ui; font-size: 13px; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; text-align: justify; white-space: pre-wrap;"&gt;5. Apakah desain ini layak ditempel di sekolah? (Ya / Tidak, jika tidak, jelaskan)&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span face="Menlo, Monaco, Consolas, &amp;quot;Cascadia Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;JetBrains Mono&amp;quot;, &amp;quot;Fira Code&amp;quot;, Cousine, &amp;quot;Roboto Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, sans-serif, system-ui" style="color: #0f1115; text-wrap-mode: wrap;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;span face="Menlo, Monaco, Consolas, &amp;quot;Cascadia Mono&amp;quot;, &amp;quot;Ubuntu Mono&amp;quot;, &amp;quot;DejaVu Sans Mono&amp;quot;, &amp;quot;Liberation Mono&amp;quot;, &amp;quot;JetBrains Mono&amp;quot;, &amp;quot;Fira Code&amp;quot;, Cousine, &amp;quot;Roboto Mono&amp;quot;, &amp;quot;Courier New&amp;quot;, Courier, sans-serif, system-ui" style="color: #0f1115; text-wrap-mode: wrap;"&gt;&lt;div style="text-align: justify;"&gt;Catatan untuk pembuat karya: Gunakan saran ini untuk merevisi sebelum dicetak/ditempel.&lt;/div&gt;&lt;/span&gt;&lt;/pre&gt;&lt;svg class="_9bc997d _33882ae" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"&gt;&lt;/svg&gt;&lt;span face="quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif" style="color: #0f1115;"&gt;&lt;path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"&gt;&lt;/path&gt;&lt;/span&gt;&lt;svg class="_9bc997d _28d7e84" fill="none" height="12" viewbox="0 0 12 12" width="12" xmlns="http://www.w3.org/2000/svg"&gt;&lt;/svg&gt;&lt;span face="quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif" style="color: #0f1115;"&gt;&lt;path d="M-5.24537e-07 0C-2.34843e-07 6.62742 5.37258 12 12 12L0 12L-5.24537e-07 0Z" fill="currentColor"&gt;&lt;/path&gt;&lt;/span&gt;&lt;/div&gt;&lt;p class="ds-markdown-paragraph" style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; text-align: justify;"&gt;&lt;span style="font-weight: 600;"&gt;Etika peer review:&lt;/span&gt;&lt;/p&gt;&lt;ul style="background-color: white; color: #0f1115; font-family: quote-cjk-patch, Inter, system-ui, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, Oxygen, Ubuntu, Cantarell, &amp;quot;Open Sans&amp;quot;, &amp;quot;Helvetica Neue&amp;quot;, sans-serif; font-size: 16px; margin: 16px 0px; padding-left: 18px;"&gt;&lt;li&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Jangan menyerang pribadi, tetap objektif.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Sertakan pujian di awal.&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-top: 6px;"&gt;&lt;p class="ds-markdown-paragraph" style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px !important; margin: 0px; text-align: justify;"&gt;Saran harus actionable (bisa langsung dilakukan).&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;</description><link>http://kitab-investasi.blogspot.com/2026/05/presentasi-karya-digital-peer-review.html</link><thr:total>0</thr:total><author>nof_rizal07@yahoo.co.id (abang_cool)</author></item></channel></rss>