Format Moodle XML dijelaskan, dengan contoh yang bisa diunduh
Moodle XML adalah format berkas yang dipakai Moodle untuk mengekspor soal dari bank soal dan mengimpornya ke kursus atau situs lain. Format ini memuat semua jenis soal bawaan, dengan gambar dan rumus di dalam berkasnya, karena itulah alat yang mengubah paket soal menjadi soal Moodle menulis format ini. Anda jarang perlu menulisnya sendiri, tetapi memahami isinya membantu ketika impor gagal atau soal berperilaku lain dari yang Anda harapkan.
Halaman ini membahas satu berkas asli, bagian demi bagian. Kedua berkas contohnya bisa diunduh: paket soal Word yang singkat, dan berkas Moodle XML yang dibuat darinya oleh konverter soal ExamQR yang gratis.
Unduh contohnya
- Paket soal Word (moodle-xml-example-id.docx): sembilan soal dalam empat bagian, dengan satu gambar dan satu persamaan.
- Berkas Moodle XML (moodle-xml-example-id.xml): siap diimpor ke kursus uji coba.
Kerangka sebuah berkas
Berkas Moodle XML adalah satu elemen <quiz> yang berisi daftar elemen <question>. Atribut type menyatakan jenis masing-masing. Contoh ini memuat jenis-jenis berikut:
| Jenis | Artinya | Dalam contoh |
|---|---|---|
category | Bukan soal: kategori bank soal tempat soal-soal sesudahnya disimpan | Satu untuk setiap bagian paket soal |
multichoice | Pilihan ganda, dengan satu atau beberapa jawaban benar | Soal 1 sampai 5 |
truefalse | Satu pernyataan benar atau salah | Soal 6, satu per pernyataan |
numerical | Jawaban berupa angka, dengan toleransi opsional | Soal 7 |
shortanswer | Kata atau frasa yang diketik dan dibandingkan dengan jawaban yang diterima | Soal 8 |
essay | Jawaban tertulis yang dinilai guru | Soal 9 |
Moodle juga mengenal matching, description (teks tanpa jawaban, misalnya bacaan), gapselect, ddwtos, dan lainnya. Soal dengan jenis yang ditambahkan oleh plugin hanya bisa diimpor ke situs yang memasang plugin tersebut.
Kategori
<question type="category">
<category>
<text>$course$/top/moodle-xml-example/Bagian 1. Pilihan ganda</text>
</category>
</question>
Setiap soal sesudah entri ini masuk ke kategori Bagian 1. Pilihan ganda, di dalam kategori yang dinamai sesuai berkasnya, di tingkat teratas bank soal kursus ($course$). Di halaman impor Moodle, opsi Ambil kategori dari berkas (Get category from file) menentukan apakah entri-entri ini dipakai. Hapus centangnya agar semua soal masuk ke kategori yang Anda pilih sendiri.
Yang dimiliki setiap soal
<question type="multichoice">
<name><text><![CDATA[Q1: Perangkat mana yang tetap menyimpan data saat komputer di...]]></text></name>
<questiontext format="html">
<text><![CDATA[<p>Perangkat mana yang tetap menyimpan data saat komputer dimatikan?</p>]]></text>
</questiontext>
<generalfeedback format="html"><text></text></generalfeedback>
<defaultgrade>1.0000000</defaultgrade>
<penalty>0.0000000</penalty>
<hidden>0</hidden>
…
- name adalah yang Anda lihat di daftar bank soal, bukan yang dilihat siswa. Konverter mengawalinya dengan nomor soal, sehingga bank soal tetap mengikuti urutan Anda.
- questiontext adalah soal dalam bentuk HTML.
CDATAmemungkinkan HTML berada di dalam XML tanpa harus meng-escape setiap<. - generalfeedback ditampilkan kepada siswa setelah mereka menjawab, jika opsi peninjauan kuis mengizinkannya. Pembahasan yang ditulis di berkas Word di bawah "Pembahasan:" masuk ke sini.
- defaultgrade adalah nilai soal; penalty adalah pengurangan untuk setiap percobaan yang salah pada kuis yang mengizinkan beberapa kali mencoba.
Pilihan ganda
<single>true</single>
<shuffleanswers>true</shuffleanswers>
<answernumbering>ABCD</answernumbering>
<answer fraction="0"><text><![CDATA[RAM]]></text></answer>
<answer fraction="100"><text><![CDATA[Hard disk]]></text></answer>
<answer fraction="0"><text><![CDATA[Cache CPU]]></text></answer>
<answer fraction="0"><text><![CDATA[Kartu grafis]]></text></answer>
- fraction adalah bagian nilai yang diperoleh sebuah jawaban, dalam persen: 100 untuk jawaban benar, 0 untuk yang lain.
- single bernilai
trueuntuk satu jawaban benar (tombol radio) danfalsejika ada beberapa jawaban benar (kotak centang). Pada soal 5 dalam contoh, Python dan Java masing-masing memilikifraction="50"dan dua pilihan yang salahfraction="-100", sehingga satu centang yang salah menghapus nilainya; Moodle tidak pernah memberi nilai di bawah nol untuk satu soal. - shuffleanswers mengizinkan Moodle mengacak urutan pilihan untuk setiap siswa, jika pengaturan kuis juga mengizinkannya. Soal 2 diakhiri dengan "Semua jawaban benar", yang harus tetap di urutan terakhir, sedangkan Moodle tidak bisa mengunci posisi satu pilihan, jadi konverter menulis
falseuntuk soal itu dan memberi tahu Anda.
Benar atau salah
Soal truefalse di Moodle berisi satu pernyataan. Karena itu, soal Word dengan empat pernyataan a) sampai d) menjadi empat soal Moodle, masing-masing bernilai seperempat dari nilai soal (defaultgrade 0.25), dengan petunjuk bersama diulang di atas setiap pernyataan:
<question type="truefalse">
<questiontext format="html"><text><![CDATA[<p>Tentukan apakah setiap pernyataan tentang jaringan berikut benar atau salah.</p>
<p><b>b)</b> Internet adalah satu jaringan tunggal yang dimiliki oleh satu perusahaan.</p>]]></text></questiontext>
<defaultgrade>0.2500000</defaultgrade>
<answer fraction="0"><text>true</text></answer>
<answer fraction="100"><text>false</text></answer>
Jawaban singkat dan angka
<question type="numerical">
…
<answer fraction="100"><text>11</text><tolerance>0</tolerance></answer>
<question type="shortanswer">
…
<usecase>0</usecase>
<answer fraction="100"><text>Ctrl+C</text></answer>
- Jawaban berupa angka menjadi
numerical, sehingga "11", "11.0", dan " 11" semuanya diterima. tolerance memberi batas kelonggaran, misalnya 0.5 untuk nilai hasil pengukuran. - Jawaban lain menjadi
shortanswer. usecase 0 mengabaikan huruf kapital. Beberapa jawaban yang diterima ditulis sebagai beberapa elemen<answer>, masing-masing dengan fraction 100.
Esai
<question type="essay">
…
<responseformat>editor</responseformat>
<responserequired>1</responserequired>
<responsefieldlines>15</responsefieldlines>
<attachments>0</attachments>
<graderinfo format="html"><text></text></graderinfo>
Esai dinilai oleh guru, jadi tidak ada jawaban yang benar. responseformat editor memberi siswa editor teks setinggi 15 baris. graderinfo hanya ditampilkan kepada penilai; jika paket soal Anda memiliki contoh jawaban untuk soal itu, contoh jawaban tersebut ditaruh di sini.
Gambar
<questiontext format="html">
<text><![CDATA[<p>… Berapa panjang sisi terpanjangnya?</p>
<p><img src="@@PLUGINFILE@@/1794550025_0e7a5e6646d1a734_001.png" alt="" /></p>]]></text>
<file name="1794550025_0e7a5e6646d1a734_001.png" path="/" encoding="base64">iVBORw0KGgo…</file>
</questiontext>
Gambar ikut terbawa di dalam berkas. Elemen <file> berisi gambar yang dikodekan sebagai teks base64, dan HTML merujuknya dengan @@PLUGINFILE@@, yang diganti Moodle dengan alamat berkas yang tersimpan setelah impor. Tautan ke gambar di situs web lain juga bisa dipakai, tetapi akan rusak jika situs itu berubah.
Rumus
<p>Berapakah akar-akar persamaan \(x^2-5x+6=0\)?</p>
Persamaan Word ditulis sebagai TeX di antara \( dan \). Moodle menampilkannya sebagai rumus melalui filter MathJax, yang aktif secara bawaan. Jika siswa justru melihat kodenya, minta administrator situs mengaktifkan filter MathJax untuk kursus tersebut.
Mengimpor contoh
- Buka kursus yang bisa Anda pakai untuk uji coba dan masuk ke bank soalnya (di menu Lainnya (More) pada kursus: Bank soal (Question bank), atau Question banks di versi terbaru).
- Pilih Impor (Import), pilih Format Moodle XML (Moodle XML format), seret berkas .xml ke kotak berkas, lalu klik Impor.
- Moodle menampilkan daftar soal yang terbaca. Klik Lanjutkan (Continue); soal-soal itu ada di kategori moodle-xml-example dan empat bagiannya.
- Pratinjau soal 3 (gambar) dan soal 4 (rumus) untuk memastikan keduanya tampil.
Mengedit berkas secara manual
- Gunakan editor teks biasa yang menyimpan dalam UTF-8, bukan pengolah kata.
- Simpan HTML di dalam
CDATA. Di luar itu, tulis<untuk<dan&untuk&. - Satu tag yang tidak ditutup membuat Moodle menolak seluruh berkas. Buka dulu di peramban: berkas yang rusak menunjukkan baris tempat kesalahannya.
- Impor ke kursus uji coba sebelum ke kursus yang sebenarnya, dan pratinjau beberapa soal.
Buat dari paket soal Word Anda sendiri
Tulis paket soal di Word seperti biasa, dengan aturan di ringkasan format soal Word, lalu buka konverter soal yang gratis, unggah berkasnya, dan klik Moodle XML (.xml). Tidak perlu akun. Sebelum Anda mengunduh, konverter mencantumkan apa saja yang ditangani Moodle secara berbeda, misalnya soal pilihan ganda kompleks yang dinilai Moodle dengan nilai sebagian. Panduan lengkapnya ada di cara mengimpor soal Word ke Moodle.
Pertanyaan umum
Apakah Moodle XML sama dengan GIFT atau Aiken? Tidak. GIFT dan Aiken adalah format teks biasa yang diketik manual; keduanya tidak bisa membawa gambar di dalam berkas, dan Aiken hanya mengenal pilihan ganda dengan satu jawaban. Moodle XML lebih panjang, tetapi memuat semuanya.
Bisakah sistem lain membaca Moodle XML? Sebagian bisa, tetapi ini format milik Moodle sendiri. Untuk sistem yang mengimpor paket QTI 2.1, konverter juga membuatkannya. Canvas Classic Quizzes memakai QTI 1.2, sehingga tidak membaca paket itu.
Mengapa Moodle menghitung lebih banyak soal daripada jumlah soal di paket saya? Karena sebagian soal menjadi beberapa soal Moodle: setiap pernyataan benar/salah menjadi soal tersendiri, dan bacaan menjadi butir deskripsi sebelum soal-soalnya. Konverter memberi tahu berapa soal Moodle yang ditulisnya.
Apakah contoh ini bisa dipakai dalam bahasa lain? Ya. Contoh ini tersedia dalam setiap bahasa situs ini; ganti bahasa di bagian atas halaman untuk mengunduhnya.