2026-05-10 09:39:17 +07:00
# Uji Coba Kuis Komprehensif
Pelajaran ini berisi berbagai tipe kuis untuk menguji fitur Pilihan Ganda, Flashcard, dan sistem penguncian pembatalan.
---QUIZ_FLASHCARD---
### Bahasa C adalah bahasa pemrograman tingkat rendah.
2026-05-11 07:27:15 +07:00
image: https://upload.wikimedia.org/wikipedia/commons/1/18/C_Programming_Language.svg
2026-05-10 09:39:17 +07:00
- [] Benar
- [x] Salah
> Penjelasan: Bahasa C sebenarnya dikategorikan sebagai bahasa tingkat menengah (*middle-level language*) karena memiliki fitur bahasa tingkat rendah (seperti manipulasi memori) sekaligus fitur bahasa tingkat tinggi (seperti struktur kontrol yang manusiawi).
### Apa output dari `printf("%d", 5 + 5);`?
- [] 55
- [x] 10
- [] 5 + 5
- [] Error
> Penjelasan: Operasi `5 + 5` dihitung terlebih dahulu menjadi `10`, lalu dicetak sebagai integer menggunakan format specifier `%d`.
refactor(quiz): restructure quiz session, question view, and tab safety
Restructure quiz flow into QuizSession primitive + atomic quiz state in
LessonManager, and extract QuizQuestionView for split-view display.
Tab-safety fix: add lesson-tabs.ts with pickDefaultTab(), getAvailableTabs()
mirroring the exact {#if} conditions in +page.svelte, and ensureActiveTab()
safety-net that falls back to pickDefaultTab() when the desired tab is not
rendered. A reactive $effect in lesson/[slug]/+page.svelte validates
activeTab against lesson data on every change, preventing the "tab quiz
kosong" (empty workspace) regression for quiz-only lessons and phantom-tab
state after data changes.
Files:
- lib/services/lesson-tabs.ts (+test): pure helpers, 18 tests pass
- lesson/[slug]/+page.svelte: ensureActiveTab reactive guard + QuizQuestionView
- lesson/[slug]/lesson.svelte.ts: atomic startQuiz, getExitStatus, idempotent
submit on navigate/exit
- lib/services/quiz-session.ts (+test), lib/types/quiz.ts, QuizTab.svelte
(mgr-driven), QuizQuestionView.svelte, lesson.css
- services/lesson_service.py, services/tests/test_lesson_service_quiz.py
(test_lesson_service_quiz.py), requirements.txt (+pytest)
- docs/07-quiz-authoring.md
- version.ts APP_VERSION 21 -> 22 (forces SW update for the fix)
- examples/content/dasar/quiz_test.md synced to live content root
2026-08-01 00:14:29 +07:00
### Perhatikan program berikut:
```c
int x = 2;
printf("%d", x * 3);
```
Berapakah keluaran program di atas?
- [] 5
- [] 8
- [x] 6
- [] Error
> Pembahasan: `x * 3` menghasilkan `6` karena nilai `x` adalah `2`.
### Berdasarkan tabel berikut, tipe data mana yang tepat untuk menyimpan `3.14`?
| Tipe | Ukuran | Rentang |
|--------|--------|--------------------|
| int | 4 byte | -2^31 s/d 2^31-1 |
| float | 4 byte | ~1e-38 s/d ~1e38 |
| double | 8 byte | ~1e-308 s/d ~1e308 |
- [x] double
- [] int
- [] char
> Pembahasan: `double` punya presisi lebih tinggi dan rentang lebih luas untuk bilangan pecahan.
### Berapakah nilai dari $\int_0^1 2x \, dx$?
- [x] 1
- [] 2
- [] 0.5
- [] Tidak terdefinisi
> Pembahasan: Hasil integralnya adalah $[x^2]_0^1 = 1$.
### Pilih gambar yang melambangkan bahasa C:

- [x] Logo C
- [] Logo Python
- [] Logo Java
2026-05-10 09:39:17 +07:00
### Bagaimana cara menulis komentar satu baris di bahasa C?
Cukup gunakan dua garis miring di awal baris, contoh: `// ini komentar` .
> Penjelasan: Komentar berguna untuk mendokumentasikan kode agar mudah dibaca oleh manusia, dan akan diabaikan oleh compiler.
### Apa fungsi dari `return 0;` di dalam fungsi `main()`?
Menandakan bahwa program telah selesai berjalan dengan sukses tanpa ada error.
2026-05-11 07:27:15 +07:00
2026-07-21 20:50:01 +07:00
### Apa warna langit pada siang hari?
image: demo_quiz.png
- [x] Biru
- [] Hijau
- [] Merah
- [] Kuning
> Penjelasan: Langit terlihat biru karena hamburan Rayleigh — cahaya matahari dihamburkan oleh atmosfer bumi.
2026-05-10 09:39:17 +07:00
---END_QUIZ_FLASHCARD---