Lompat ke konten
dokumentasi.id
Commit 120a248
v1
Star0

Kamu membaca versi lama. Halaman ini hanya bisa dibaca.

3

Kurikulum Pemula

Halaman /pemula menyusun 39 praktik menjadi 4 bagian, mulai dari pengenalan huruf tunggal sampai ujian membaca mushaf. Jumlah total disimpan pada satu konstanta PRACTICE_TOTAL, sedangkan pembagiannya disimpan sebagai array parts berisi count 7, 11, 11, dan 10. src/lib/practice-curriculum.ts:1-2 src/lib/practice-curriculum.ts:4 src/lib/practice-curriculum.ts:6-27

graph TD
  parts["parts: count 7 / 11 / 11 / 10"] --> reduce["reduce → from dan to"]
  reduce --> g1["Bagian 1: latihan 1–7"]
  reduce --> g2["Bagian 2: latihan 8–18"]
  reduce --> g3["Bagian 3: latihan 19–29"]
  reduce --> g4["Bagian 4: latihan 30–39"]
  g1 --> t1["Pengenalan huruf"]
  g2 --> t2["Huruf sambung, kata, dan mad"]
  g3 --> t3["Sukun, tasydid, dan lam ta'rif"]
  g4 --> t4["Menuju mushaf"]
  t4 --> goal["Membaca surah pendek dari mushaf"]
  style parts fill:#f59e0b,color:#000
  style reduce fill:#f59e0b,color:#000
  style g1 fill:#8b5cf6,color:#fff
  style g2 fill:#8b5cf6,color:#fff
  style g3 fill:#8b5cf6,color:#fff
  style g4 fill:#8b5cf6,color:#fff
  style goal fill:#2d7d46,color:#fff
%% fig: Empat bagian kurikulum pemula dan targetnya
%% desc: Jumlah praktik per bagian diubah menjadi rentang nomor, lalu setiap rentang membawa target bacaan sampai target terakhir membaca surah pendek dari mushaf.
Fig. 1: Empat bagian kurikulum pemula dan targetnyaJumlah praktik per bagian diubah menjadi rentang nomor, lalu setiap rentang membawa target bacaan sampai target terakhir membaca surah pendek dari mushaf.
BagianNomor latihanJumlahBerkas dataPraktik penutup
1 · Pengenalan huruf1–77src/data/praktik-dasar.tsHarakat, Tanwin, dan Huruf Mirip
2 · Huruf sambung, kata, dan mad8–1811src/data/praktik-bagian-2.tsPendek atau Panjang
3 · Sukun, tasydid, dan lam ta'rif19–2911src/data/praktik-bagian-3.tsUlangan Bagian 3
4 · Menuju mushaf30–3910src/data/praktik-bagian-4.tsUjian Membaca Mushaf

Nomor bagian dihitung dari count

practiceParts tidak menyimpan nomor awal dan akhir. Array parts hanya memuat title, target, dan count; fungsi map menjumlahkan count bagian sebelumnya untuk mendapat from, lalu menetapkan to = from + count - 1. src/lib/practice-curriculum.ts:31-34

practicePart(number) mengembalikan bagian pertama yang nilai to-nya masih menampung nomor itu. Nomor di luar rencana tetap jatuh ke bagian terakhir karena ada fallback practiceParts[practiceParts.length - 1]. src/lib/practice-curriculum.ts:36-39

groupByPart(practices) memotong daftar praktik dengan slice(part.from - 1, part.to), kecuali bagian terakhir yang dibiarkan terbuka sampai ujung array. Setiap item yang dihasilkan tetap membawa nomor praktiknya sendiri. src/lib/practice-curriculum.ts:42-49

Urutan praktik berasal dari listLessons("praktik"). Array dari keempat berkas data digabung lalu diurutkan dengan byPosition, sehingga position menentukan nomor latihan. Praktik pertama memakai position: 10 dan praktik terakhir memakai position: 390. src/lib/lessons.ts:20-25 src/data/praktik-dasar.ts:46-51 src/data/praktik-bagian-4.ts:251-259

Bagian 1 · Pengenalan huruf (1–7)

Bagian 1 berisi 7 praktik pendek sekitar 10–15 menit, masing-masing dengan latihan A, B, C, dan latihan terakhir disetor ke guru. Baris latihannya disalin dari buku latihan bagian 1. src/data/praktik-dasar.ts:1-3

Seluruh isi praktik dibentuk oleh helper practice(). Paragraf guide menjadi petunjuk, lalu setiap exercises menghasilkan satu label dan blok latihan; latihan tanpa rows hanya ditampilkan sebagai label. src/data/praktik-dasar.ts:25-44

Bagian 2 · Huruf sambung, kata, dan mad (8–18)

Bagian 2 melanjutkan ke bentuk huruf sambung, kata dua sampai empat huruf, dan tiga jenis mad. Berkasnya sengaja belum memakai sukun dan tasydid; sebagian baris awal berupa suku kata tanpa arti karena tujuannya latihan membaca, bukan kosakata. src/data/praktik-bagian-2.ts:1-4

⚠️ Jangan menambahkan contoh bersukun atau bertasydid ke Bagian 2. Kedua tanda itu baru masuk di Bagian 3.

Bagian ini ditutup oleh praktik "Pendek atau Panjang" yang membandingkan pasangan bacaan pendek dan panjang sebelum murid naik ke bagian berikutnya. src/data/praktik-bagian-2.ts:248-252

Bagian 3 · Sukun, tasydid, dan lam ta'rif (19–29)

Bagian 3 memperkenalkan sukun, qalqalah, huruf lin, tasydid, lam ta'rif, lafzhul jalalah, hamzah washal, dan huruf yang ditulis tetapi tidak dibaca. Contohnya dipilih agar nun sukun, tanwin, dan mim sukun tidak bertemu huruf pemicu idgham, iqlab, atau ikhfa, karena hukum itu baru diajarkan di Bagian 4. src/data/praktik-bagian-3.ts:1-4

Praktik penutupnya, "Ulangan Bagian 3", menggabungkan semua kaidah bagian ini. Latihan B-nya adalah ayat Al-Qur'an pertama yang dibaca langsung, dan penghentian di akhir ayat dibaca sukun. src/data/praktik-bagian-3.ts:252-259

Bagian 4 · Menuju mushaf (30–39)

Bagian 4 memuat hukum nun sukun dan tanwin, mim sukun, mad far'i, hukum ra, dan waqaf. Contoh latihannya diambil dari lafaz Al-Qur'an, sebagian dipotong dari ayat agar fokus pada satu hukum, dan ditutup dengan ujian membaca mushaf. src/data/praktik-bagian-4.ts:1-4

Praktik terakhir, "Ujian Membaca Mushaf", membaca Al-Fatihah dan lima surah pendek langsung dari mushaf. Dua latihan terakhirnya tidak punya baris latihan, jadi hanya labelnya yang tampil. src/data/praktik-bagian-4.ts:276-283 src/data/praktik-bagian-4.ts:251-259

Bagian ditampilkan di halaman Pemula

Halaman /pemula mengiterasi groupByPart(practices) dan mencetak kepala bagian dalam bentuk "Bagian {number} · Latihan {from}–{to}", diikuti judul dan target bagian. src/app/pemula/page.tsx:41-51

Teks pengantarnya menyebut angka yang sama dengan konstanta: {PRACTICE_TOTAL} latihan dalam {practiceParts.length} bagian. src/app/pemula/page.tsx:35-36

Jika sebuah bagian belum punya praktik terbit, halaman menampilkan kartu "Latihan bagian ini sedang disiapkan. Silakan kembali lagi nanti." dan bukan daftar kosong. src/app/pemula/page.tsx:82-85

Saat satu latihan dibuka, kepala lembar latihan mencetak nomor dan bagiannya, misalnya "Latihan 12 / 39 · Bagian 2: Huruf sambung, kata, dan mad". Nomor bagian di situ juga berasal dari practicePart(number). src/components/practice/practice-sheet.tsx:118-120

Rangkaian berkas data, helper practice(), dan cara halaman membaca content dibahas di Alur Konten Pelajaran. Kelas lanjutan setelah 39 praktik ini dibahas di Kurikulum Lanjutan, sedangkan centang latihan yang tersimpan di perangkat dibahas di Progres Belajar di Perangkat.

Test kurikulum mengunci pembagian ini: rentangnya [[1, 7], [8, 18], [19, 29], [30, 39]], nomor 45 tetap masuk bagian 4, dan jumlah item per bagian adalah [7, 11, 11, 10]. tests/practice-curriculum.test.ts:9-21 tests/practice-curriculum.test.ts:82