Files
OBE-Mapping/METODOLOGI_ASESMEN_KOMPONEN.md
T
Power BI Dev d5edbe2134 Tambah ringkasan nilai per komponen, rincian tugas ala RTM, auto-save RPS
- Halaman Nilai: tabel "Nilai per Komponen" (rata-rata skor mentah tiap
  sesi, bisa diedit langsung) berdampingan dengan grid Sub-CPMK yang tetap
  presisi; kolom persentase ternilai di Hasil Ketercapaian.
- Komponen Tugas: sesi bisa menyasar subset Sub-CPMK (RPS tetap batasannya),
  lengkap dengan field ala RTM (bentuk tugas, deskripsi, metode, luaran,
  indikator/bobot, jadwal) dan tombol isi-otomatis per bentuk tugas.
- RPS: auto-save berkala sebagai draft, tombol ke atas, validasi total
  bobot komponen 100% saat ditandai selesai, komponen berbobot kosong
  disembunyikan dari halaman Nilai.
- Admin: tampilkan kelas yang tersedia dari data mahasiswa saat mengatur
  penugasan dosen per kelas.
- Perbaikan step="any" pada input nilai (mencegah validasi HTML5 menolak
  nilai desimal hasil roll-up).
- Tambah METODOLOGI_ASESMEN_KOMPONEN.md: dokumentasi metodologi Sub-CPMK
  vs komponen, termasuk skenario tugas menyasar sebagian Sub-CPMK.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 23:28:46 +07:00

12 KiB
Raw Blame History

Metodologi Asesmen: Sub-CPMK vs Komponen

Dokumen ini menjelaskan dua sudut pandang nilai di halaman Input Nilai (/nilai/<kode>) — bagaimana keduanya dihitung, bagaimana keduanya berbeda, dan bagaimana pembagian bobot bekerja ketika satu komponen (mis. Tugas) diisi lewat beberapa sesi yang masing-masing menyasar sebagian Sub-CPMK saja.

Pelengkap RANCANGAN.md §7 (roll-up CPMK/CPL tingkat prodi) dan halaman /metodologi (dokumentasi resmi untuk asesor) — dokumen ini fokus ke lapisan di dalam satu MK: dari nilai mentah yang diketik dosen, sampai ke skor Sub-CPMK yang jadi bahan roll-up CPMK/CPL.

1. Dua tampilan, satu sumber data

Nilai per Mahasiswa (berdasarkan Sub-CPMK) Nilai per Komponen (berdasarkan komponen)
Kolom tabel Tiap Sub-CPMK (Sub-051-1, Sub-051-2, ...) Tiap komponen (Kuis, Tugas, UTS, ...)
Isi sel Skor Sub-CPMK — presisi, boleh beda-beda dalam satu komponen Rata-rata skor mentah tiap sesi/instrumen komponen itu yang diikuti mahasiswa
Dipakai untuk roll-up CPMK/CPL? Ya — ini sumber kebenaran satu-satunya Tidak — murni ringkasan & alat edit cepat
Efek saat diedit Menulis persis ke Sub-CPMK yang diketik Menulis nilai yang sama ke semua Sub-CPMK komponen itu (menimpa presisi bila sebelumnya beda-beda)

Intinya: Sub-CPMK adalah satuan ukur OBE yang sesungguhnya. "Komponen" (Kuis, Tugas, UTS, dst.) hanyalah label pengelompokan instrumen penilaian — satu komponen bisa mengukur beberapa Sub-CPMK sekaligus, dan satu Sub-CPMK bisa diukur oleh lebih dari satu komponen. "Nilai per Komponen" cuma jendela lain untuk melihat/mengedit data yang sama, dari sudut instrumen bukan dari sudut capaian.

2. Alur data lengkap

flowchart TD
    ISI["Isi Nilai per komponen\n(sesi bernama; Tugas boleh pilih\nsubset Sub-CPMK per sesi)"] --> SESI
    GRID["Nilai per Mahasiswa\n(ketik langsung per Sub-CPMK)"] --> SK
    SESI["sesi[komponen]\n= daftar sesi mentah tiap komponen\n(nim → skor, subset Sub-CPMK opsional)"]
    SESI <--> KOMP["Nilai per Komponen\n(tampil = rata-rata sesi;\nketik = sesi baru 'Input Cepat')"]

    SESI --> H["skor_dari_sesi()\nbagi kontribusi per Sub-CPMK,\ntertimbang bobot_komponen ÷ n_subs_komponen"]
    H --> SK["Skor Sub-CPMK per mahasiswa\n(mahasiswa[].skor — SUMBER KEBENARAN)"]

    SK --> CPMK["rollup_mk(): Skor CPMK\n= rata-rata Sub-CPMK pendukung"]
    CPMK --> CPL["Skor CPL (dalam MK)\n= rata-rata CPMK pendukung"]
    CPMK --> PRODI["rollup_prodi(): CPMK/CPL tingkat prodi\n(lintas semua MK pemikul)"]
    SK --> AKHIR["Nilai Akhir mahasiswa\n= Σ(bobot_sub × skor_sub) / Σ bobot_sub\n(bobot dari RPS, bagi rata per komponen)"]

Dua hal penting dari diagram ini:

  1. "Nilai per Komponen" bukan jalur data terpisah — ia baca/tulis ke sesi yang sama yang dipakai skor_dari_sesi(). Angka yang ditampilkan di situ (rata-rata sesi) tidak dipakai langsung oleh rumus manapun — ia sekadar ringkasan. Tapi begitu diedit (diketik ulang), perubahan itu tercatat sebagai sesi baru "Input Cepat" dan ikut dihitung lewat jalur yang sama seperti sesi bernama lain — jadi tetap satu sumber kebenaran, bukan data ganda yang bisa tidak sinkron.
  2. "Nilai Akhir" (nilai huruf/angka mahasiswa) dan "Ketercapaian CPMK/CPL" (OBE) adalah dua rumus berbeda yang sama-sama diturunkan dari skor Sub-CPMK, tapi dengan cara menimbang yang berbeda (lihat §6).

3. Komponen berulang vs sekali-jalan

Tipe Contoh Bisa berapa sesi? Sub-CPMK per sesi
Berulang Kuis, Presentasi, Tes Lisan Banyak — tiap sesi dirata-rata sederhana Selalu semua Sub-CPMK komponen itu
Berulang + subset Tugas (Observasi/Praktik) Banyak, tiap sesi = satu tugas bernama Bisa dipilih sebagian — lihat §4
Sekali-jalan UTS, UAS Satu — mengisi lagi menimpa sesi yang sama Selalu semua Sub-CPMK komponen itu

Komponen Tugas adalah satu-satunya yang mendukung penyasaran Sub-CPMK per sesi (checklist di form "Isi Nilai"), karena secara alami satu MK sering punya beberapa tugas berbeda yang masing-masing menguji kemampuan (Sub-CPMK) yang berbeda pula — beda dari Kuis/Presentasi yang biasanya satu instrumen menguji semua Sub-CPMK yang sama tiap kali.

4. Sub-CPMK per sesi — bagaimana pembagiannya

Saat RPS menetapkan komponen Tugas mengukur, misalnya, 4 Sub-CPMK dengan bobot 20%, checklist di form "Isi Nilai" selalu dibatasi ke 4 Sub-CPMK itu saja (tak bisa menambah Sub-CPMK di luar yang RPS tetapkan) — bawaannya semua tercentang, dosen tinggal mengurangi centang sesuai Sub-CPMK mana yang benar-benar diuji tugas tsb.

Aturan penggabungan kontribusi (fungsi skor_dari_sesi):

  • Untuk tiap Sub-CPMK di dalam komponen itu, sistem mencari semua sesi yang menyasarnya (baik yang eksplisit memilihnya, atau sesi lama yang tak punya pilihan subset sama sekali → dianggap menyasar semua Sub-CPMK komponen).
  • Sesi-sesi yang relevan itu dirata-rata sederhana dulu per Sub-CPMK (bukan rata dulu antar-tugas lalu disebar rata — tiap Sub-CPMK punya rata- ratanya sendiri dari tugas yang benar-benar mengukurnya).
  • Bobot komponen (20%) dibagi rata ke SEMUA 4 Sub-CPMK milik komponen itu (5% tiap Sub-CPMK) — pembagian ini memakai jumlah Sub-CPMK komponen, bukan jumlah Sub-CPMK sesi tertentu. Bobot per-Sub-CPMK inilah yang dipakai untuk menimbang kalau Sub-CPMK yang sama juga diukur komponen lain (mis. Presentasi turut menilai Sub-052).
flowchart LR
    subgraph RPS["RPS: Observasi (Praktik/Tugas) — bobot 20%, 4 Sub-CPMK"]
        direction TB
        RSub1["Sub-051-1"]
        RSub2["Sub-051-2"]
        RSub3["Sub-052-1"]
        RSub4["Sub-052-2"]
    end
    T1["Tugas 1: Analisis Kasus\n(centang: Sub-051-1, Sub-051-2)"] --> RSub1
    T1 --> RSub2
    T2["Tugas 2: Proyek Mini\n(centang: Sub-052-1, Sub-052-2)"] --> RSub3
    T2 --> RSub4
    T3["Tugas 3: Presentasi Studi Kasus\n(centang: semua 4)"] --> RSub1
    T3 --> RSub2
    T3 --> RSub3
    T3 --> RSub4

5. Skenario nyata: tugas menyasar sebagian Sub-CPMK

Studi kasus dari MK Logika Komputasional — komponen Observasi (Praktik/ Tugas), bobot RPS 20%, mencakup 4 Sub-CPMK: Sub-051-1, Sub-051-2, Sub-052-1, Sub-052-2.

Penyederhanaan untuk ilustrasi: contoh di bawah mengasumsikan keempat Sub-CPMK itu hanya diukur komponen Tugas, supaya mekanisme pembagiannya kelihatan jelas. Di data MK ini yang sebenarnya, Sub-051-1/2 juga ikut diukur komponen Tes Tulis (UTS) — lihat §5.1 untuk contoh gabungan lintas-komponen dengan angka riil.

Tiga tugas dibuat sepanjang semester:

Sesi Sub-CPMK disasar Nilai per mahasiswa
Tugas 1: Analisis Kasus Sub-051-1, Sub-051-2 Andi 85 · Budi 92
Tugas 2: Proyek Mini Sub-052-1, Sub-052-2 Citra 78 · Dedi 88
Tugas 3: Presentasi Studi Kasus Semua 4 Sub-CPMK Andi 88 · Budi 90 · Citra 82 · Dedi 86 · Eka 79

Hasil skor per Sub-CPMK (rata-rata sederhana dari sesi yang relevan tiap Sub-CPMK):

Mahasiswa Sub-051-1 / -2 Sub-052-1 / -2 Keterangan
Andi (85 + 88) / 2 = 86,5 88 (dari Tugas 3 saja) Ikut Tugas 1 & 3
Budi (92 + 90) / 2 = 91 90 (dari Tugas 3 saja) Ikut Tugas 1 & 3
Citra 82 (dari Tugas 3 saja) (78 + 82) / 2 = 80 Ikut Tugas 2 & 3
Dedi 86 (dari Tugas 3 saja) (88 + 86) / 2 = 87 Ikut Tugas 2 & 3
Eka 79 (dari Tugas 3 saja) 79 (dari Tugas 3 saja) Cuma ikut Tugas 3

Perhatikan: Sub-051 dan Sub-052 milik satu mahasiswa boleh berbeda — itu tepat sesuai fakta bahwa Tugas 1 dan Tugas 2 mengukur kemampuan yang berbeda. Ini yang dipakai untuk ketercapaian CPMK051 dan CPMK052 — masing- masing presisi sesuai tugas yang benar-benar mengukurnya, bukan dicampur rata.

Tampilan "Nilai per Komponen" (rata-rata mentah tiap tugas yang diikuti, independen dari Sub-CPMK):

Mahasiswa Tugas 1 Tugas 2 Tugas 3 Rata-rata tampil
Andi 85 88 (85+88)/2 = 86,5
Budi 92 90 (92+90)/2 = 91
Citra 78 82 (78+82)/2 = 80
Dedi 88 86 (88+86)/2 = 87
Eka 79 79

Perhatikan Andi: "Nilai per Komponen"-nya 86,5 kebetulan sama dengan skor Sub-051 (86,5), tapi berbeda dari skor Sub-052-nya (88) — karena kolom "Nilai per Komponen" cuma satu angka gabungan dari seluruh tugas yang diikuti (Tugas 1 + Tugas 3), tanpa mempedulikan Sub-CPMK mana yang disasar tiap tugas. Pola yang sama berlaku untuk Budi, Citra, dan Dedi. Kalau kolom ini diketik ulang (dijadikan override manual), nilai baru itu akan ditulis rata ke keempat Sub-CPMK sekaligus — jadi presisi Sub-051 vs Sub-052 akan hilang untuk mahasiswa itu kalau memang sengaja ditimpa.

5.1 Saat Sub-CPMK yang sama diukur >1 komponen (angka riil)

Di RPS MK ini, Sub-051-1/Sub-051-2 sebenarnya diukur dua komponen: Observasi (Praktik/Tugas) — bobot 20%, 4 Sub-CPMK — dan Tes Tulis (UTS) — bobot 25%, 6 Sub-CPMK. Andi punya nilai UTS = 80 (sesi tunggal, berlaku ke keenam Sub-CPMK UTS) selain nilai Tugas-nya di atas.

Bobot kontribusi tiap komponen ke Sub-051 = bobot komponen ÷ jumlah Sub-CPMK komponen itu (bukan jumlah Sub-CPMK yang disasar sesi tertentu):

w(Tugas) = 20% ÷ 4 Sub-CPMK = 5,0%
w(UTS)   = 25% ÷ 6 Sub-CPMK = 4,1667%

Skor Sub-051 Andi = rata-rata tertimbang kedua kontribusi itu:

rata Tugas (Tugas 1 & 3) = (85 + 88) / 2 = 86,5
rata UTS                 = 80

skor Sub-051 = (5,0% × 86,5) + (4,1667% × 80)
               ────────────────────────────────
                      5,0% + 4,1667%

             = (4,325 + 3,3333) / 0,091667 = 83,55

Ini persis angka yang muncul di grid Sub-CPMK aplikasi (83,5455 — beda tipis karena pembulatan). Jadi kalau sebuah Sub-CPMK diukur lebih dari satu komponen, komponen dengan bobot lebih besar relatif terhadap jumlah Sub-CPMK yang ditanggungnya akan lebih dominan menentukan skor akhir Sub-CPMK itu — bukan sekadar rata-rata polos antar komponen.

6. Nilai Akhir (huruf mutu) vs Ketercapaian CPL/CPMK (OBE)

Dua angka yang kelihatannya mirip tapi rumusnya beda tujuan:

Nilai Akhir mahasiswa Ketercapaian CPMK/CPL
Untuk apa Nilai/huruf mutu mahasiswa (transkrip) Evaluasi kurikulum (OBE)
Rumus Σ(bobot Sub-CPMK × skor mahasiswa) / Σ bobot — bobot dari RPS, dibagi rata per Sub-CPMK dalam tiap komponen Rata-rata sederhana Sub-CPMK → CPMK → CPL (bagi rata, tanpa bobot RPS)
Level Per mahasiswa, per MK Per angkatan/kelas, lintas MK (tingkat prodi)
Halaman Kolom "Nilai Akhir" di form Nilai Halaman Rekap CPL/CPMK, Dasbor Monitoring

Keduanya bersumber dari skor Sub-CPMK yang sama — bedanya cuma di cara menimbang saat digulung ke atas.

7. Ringkasan rumus

skor Sub-CPMK      = rata-rata sesi yang menyasarnya (lintas komponen,
                      tertimbang bobot_komponen ÷ n_subs_komponen)
Nilai Akhir         = Σ(bobot_sub × skor_sub) / Σ bobot_sub
Skor CPMK (dlm MK)  = rata-rata skor Sub-CPMK pendukung
Skor CPL (dlm MK)   = rata-rata skor CPMK pendukung
Skor CPMK (prodi)   = rata-rata skor CPMK itu lintas semua MK pemikul
Skor CPL (prodi)    = rata-rata skor CPMK pendukung, lintas prodi
Nilai per Komponen  = rata-rata skor MENTAH sesi komponen itu yang diikuti
                      mahasiswa (tampilan/edit cepat — tidak dipakai di
                      rumus manapun di atas secara langsung; edit di sini
                      menulis balik ke skor Sub-CPMK secara rata)